`
newleague
  • 浏览: 1499644 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

系统架构之前需要考虑的若干问题

 
阅读更多

在开始进行业务系统架构之前,需要仔细分析系统,包括深入理解系统需求、项目时间、成本约束和项目质量要求等等。下面是一些关键问题:

  • 系统需要解决的业务需求和问题是什么?
  • 功能和非功能需求?
  • 项目质量要求?
  • 客户愿意为该系统花多少钱?
  • 项目时间进度要求 – 开始时间和结束时间?
  • 项目涵盖范围(也就是说项目有多大)?
  • 系统需要多大灵活性?
  • 系统需要多大可扩展性?
  • 系统需要多大可定制性?

如何架构系统呢?

1. 了解客户需求 – 提问并进一步详细制定系统需求;

2. 通过可视化的图形,描述实际业务流程,并基于流程图和客户沟通,确认是否掌握了客户的需求;

3. 根据需要选择合适的软件开发模式;

在客户需求完全了解的情况下,可选择“瀑布式”开发模式;在没有完全了解客户需求的情况下,可考虑选择“螺旋式”开发模式,并且在每一个模块中,需要保留足够的扩展空间,以便日后扩展所需。

4. 决定需要使用的架构,如 ASP.NET MVC 和三层架构;

5. 分析系统,并确定其模块或子系统;

6. 选择其中一个子系统,并进一步分析其所有细粒度的需求;

7. 确定数据实体,并定义实体之间的关系(ER 图),一般这些业务实体对应着系统中的类;

8. 组织业务视图和类,规范化数据库,并确定OOP概念和设计模式;

9. 保持系统设计的一致性;系统中所有模块和层采用相同的设计标准,且遵守相同的规范和约定,让设计易于理解;

10. 调优系统设计是最后一个环节;和项目成员在会上沟通,演示初步的系统设计方案,让项目成员提问、或建议,认真评估或调整系统设计方案;

在了解上述问题之后,就可以开始设计系统了。在满足上述要求下,对系统进行合理的架构设计,保证项目质量、进度和成本限制。

分享到:
评论

相关推荐

    基于Power Builder与MS SQL Server集成开发环境的若干问题.pdf

    在PowerBuilder与MS SQL Server集成环境下,如何充分利用PowerBuilder与客户/服务器体系统结构的优势,开发出性能优异的应用系统,存在诸多必须考虑的问题。 本文将针对基于PowerBuilder与MS SQL Server集成开发...

    2021年《计算机体系结构》考前辅导大纲

    设计 I/O 系统时,需要考虑三个标准:性能、价格和容量。性能是指 I/O 系统的速度和效率;价格是指 I/O 系统的成本;容量是指 I/O 系统可以处理的数据量。 中断处理 中断处理是计算机体系结构中的一个重要概念。...

    在多Transputer系统上产生金字塔图象数据结构的并行算法及其实现.pdf

    在讨论并行算法及其实现在多Transputer系统上产生金字塔图象数据结构的知识点之前,我们先要了解Transputer系统和金字塔图象数据结构的相关概念。 Transputer是一种并行处理微处理器,主要用于早期的并行计算环境。...

    C语言单片机系统软件架构的教学研究.pdf

    在教学改革的背景下,学生不仅仅是学习单片机的原理和应用,还需要在学习和实践过程中熟悉典型的单片机体系结构,掌握一套主流的开发工具,熟练使用一种开发语言,并具备单片机系统软硬件开发设计的基本能力。...

    一个简单的停车场管理系统

    总的来说,这个简单的停车场管理系统展示了数据结构在实际问题中的应用,以及如何使用基础编程工具解决复杂问题的能力。通过学习和理解这个系统,我们可以更好地掌握数据结构、算法和软件工程的基本原理,为今后的...

    数据结构与算法常见问题解答

    - **系统函数qsort调用的比较函数问题**:`qsort`函数需要一个比较函数作为参数,用于定义排序规则。比较函数的设计直接影响排序结果。 - **教材第231页优化的两路归并排序**:两路归并排序通过将数组分为两部分,...

    关系数据库存储树形结构数据的理想实践

    树形结构数据是一种数据结构,它以树状图的形式存储数据元素之间的关系,比如文件系统的目录结构、组织架构、家族谱系等。每棵树由若干节点构成,其中一个节点作为根节点,其它节点分成若干不相交的子树,每个子树又...

    自动售货机系统(文件操作)源代码

    2. **数据结构与序列化**:为了有效地存储和检索数据,系统可能采用了特定的数据结构,如数组、链表、字典(哈希表)等。同时,数据通常需要被序列化成文本或二进制格式,以便写入文件。JSON、XML和pickle是常见的...

    网上购物系统 概要设计说明书

    在这个阶段,我们需要确定系统的主要架构,定义模块划分,以及各模块的功能和交互方式。以下是该网上购物系统概要设计中可能涉及的重要知识点: 1. **系统架构设计**:包括前端用户界面、后台管理系统、数据库以及...

    基于ssm+mysql野生动物公益保护系统源码数据库论文.docx

    在设计和实现系统之前,首先需要对系统进行可行性分析和需求分析,以确定系统的功能需求和性能要求。然后,根据系统的功能需求,设计了系统的总体架构和数据库结构。接着,根据设计的框架实现了系统的各个功能模块,...

    软件工程实验系统设计过程

    - **体系结构设计**:根据实验二的成果,规划出一套符合需求的系统体系结构。 - **模块划分**:将系统划分为若干个可管理的模块,便于分工协作。 - **设计说明书编写**:撰写详尽的设计说明书,涵盖各个方面的设计...

    软件概要设计说明书

    系统架构设计是软件概要设计的核心,它定义了系统的总体结构,包括层次结构、分布式组件、服务定位、通信机制等。常见的架构模式有单体架构、微服务架构、客户端-服务器架构等,选择哪种架构取决于项目规模、技术栈...

    一种基于压电陶瓷的MEMS微结构三轴式动态加载装置的制作方法.docx

    然而,现有技术中存在若干问题。例如,叠堆压电陶瓷承受压力能力强,但对拉力敏感,需要预紧力以延长使用寿命,但某些设计未充分考虑这一点。有的设计虽然考虑了预紧力,但未解决剪切力对压电陶瓷的损伤,且无法准确...

    机房收费系统__详细设计

    详细设计阶段是软件开发过程中的关键环节,它在需求分析之后,编码之前进行,目的是为系统的实现提供清晰、具体的技术实施方案。在这个阶段,开发团队需要将需求转化为可操作的步骤,确保系统功能的实现与优化。 ...

    浅析系统论在JAVA教学中的运用.pdf

    学习 JAVA 课程之前是否已经开设过 C 语言课程,学习 JSP 课程之前是否已经开设过 JAVA 课程等,这些都是需要考虑的问题。 在进行 JAVA 教学的时候,不能光为了这一门课的教学而教学。一定要考虑在整个计算机编程课...

    对数据结构空间局部性的存储保真度的研究(II).pdf

    7. 结构优化编译器设计:文章最后讨论了结构优化编译器设计的若干问题。编译器在编译时需要考虑如何通过程序变换来优化数据结构的存储方式,这涉及到算法和数据结构的调整、程序的控制流程的优化等。 总结来说,...

    概要设计1

    概要设计是软件开发过程中的一个重要阶段,它在需求分析之后,详细设计之前进行,是对整个系统或子系统的一种高层次的规划。在这个阶段,开发者会将需求转化为一系列的模块或组件,定义它们的功能、接口以及相互之间...

Global site tag (gtag.js) - Google Analytics