在需求分析完成后就要做概要设计了,详细设计大多数公司都不做,概要设计就是唯一的设计文档了。 概要设计是一个将用户目标与需求转换成具体设计方案的重要阶段,在这里我们需要由前一阶段的需求分析得到软件(包括移动应用和网站等)的设计和数据结构。
不同公司,不同部门,不同系统的概要设计都会有所差别,所以需要根据系统指定概要设计模板。
1. 概要设计的目标
概要设计不是将需求里面的每一个需求一一列出, 然后给出设计方案。最重要的是根据需求将系统抽象为各个模块,并且列出每个模块涵盖了哪些需求。
1.1 制定规范
代码体系、接口规约、命名规则。这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法。 除了从0开始的公司,基本的规范一般都是有的。但是每个团队成员并不一定深入理解,所以需要在开始之前进行培训和交流,让这些规范达成共识。从而减少不必要的返工,并且提高文档的一致性。 这部分内容是不写概要设计文档中的,但是非常重要。只有有了共同的工作语言、共同的工作平台,整个软件开发工作才能有条不紊的进行。
1.2 总体结构设计
- 确定软件的总体方案和总体布局,与外部系统的关系, 依赖哪些外部系统,需要与哪些外部模块进行交互
- 功能加工为模块,理清每个功能用那些模块实现,保证每个功能都有相应的模块来实现
- 模块之间的层次和调用关系, 从某个角度的画出软件的框架视图,同时标出模块间调用关系,并用文字总体描述模块间的接口
- 确定模块间的接口,传递的信息及其结构
- 逻辑设计:满足功能和性能的算法
1.3 数据结构设计
数据结构部分则是要根据数据的特征来确定数据的结构并设计出相应的数据库。
- 详细的数据结构:表、索引、文件;
- 算法相关逻辑数据结构及其操作;
- 上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)
- 接口控制表的数据结构和使用规则