做软件到一定层次了,要考虑到设计了,设计了很久,是不系统,系统的设计需要一个记录,记录用文档,那么对项目所有包括技术上的设计都记录下来,我们可以理解为软件的概要设计了。设计规范以做参考

  在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。因此,对大部分的公司来说,概要设计文档是的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。

  一、问题的提出

  概要设计写什么?概要设计怎么做?

  如何判断设计的模块是完整的?

  为什么说设计阶段过于重视业务流程是个误区?

  以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确?

  结构化好还是面向对象好?

  以上问题的答案请在文章中找。

  二、概要设计的目的

  将软件系统需求转换为未来系统的设计;

  逐步开发强壮的系统构架;

  使设计适合于实施环境,为提高性能而进行设计;

  结构应该被分解为模块和库。

  三、概要设计的任务

  制定规范:代码体系、接口规约、命名规则。这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。

  总体结构设计:

  功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现;

  模块层次结构:某个角度的软件框架视图;

  模块间的调用关系:模块间的接口的总体描述;

  模块间的接口:传递的信息及其结构;

  处理方式设计:满足功能和性能的算法

  用户界面设计;

  数据结构设计:

  详细的数据结构:表、索引、文件;

  算法相关逻辑数据结构及其操作;

  上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)

  接口控制表的数据结构和使用规则

  其他性能设计。

  四、概要设计写什么

  结构化软件设计说明书结构

  任务:目标、环境、需求、局限;

  总体设计:处理流程、总体结构与模块、功能与模块的关系;

  接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面)

  数据结构:逻辑结构、物理结构,与程序结构的关系;

  模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置;

  运行设计:运行模块组合、控制、时间;

  出错设计:出错信息、处错处理;

  其他设计:保密、维护;

  软件设计说明书结构