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

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

如何架构系统呢?

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

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

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

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

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

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

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

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

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

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

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

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