2. 列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。
1.3定义列出本文件中用到的专门术语的定义和缩写词的原词组。

列出要用到的参考资料,如:
1. 本项目的经核准的计划任务书或合同、上级机关的批文;
2. 属于本项目的其他已发表的文件;
3. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
注意所有新章换页。
图名居中,位于图下方,两级标号:章节号-序列号。每章序号升序排列。
表的要求如下:
表1-1 ××××××××
表名居中,位于表上方,两级标号:章节号-序列号。每章序号升序排列。非异性表格的一律使用三线表。如表格换页请拆分表格后加续表表头。
全文关于图表的要求同上。
2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求
2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定
2.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
2.4结构设计2.4.1结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
2.4.2功能需求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
程序1
程序2
……
程序n
功能需求1
√
功能需求2
√
……
功能需求n
√
√
2.4.3人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.4.4尚未问决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
2.5接口设计2.5.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
2.5.2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
2.5.3内部接口说明本系统之内的各个系统元素之间的接口的安排。
2.6 其它专门要求3数据库设计3.1概念结构设计[说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。]
3.2逻辑结构设计[说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构。]
3.3物理结构设计[建立系统程序员视图。]
3.3数据字典设计[对数据库设计中涉及到的各种项目一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。]
3.4安全保密设计[说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。]
4系统出错处理设计4.1出错信息用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
4.2补救措施说明故障出现后可能采取的变通措施,包括:
1. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
2. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
[备份和数据恢复技术]
4.3. 系统维护设计说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式;
5程序模块1设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
5.1程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?有无覆盖要求?是顺序处理还是并发处理等)。
5.2功能说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
5.3算法详细说明本程序所选用的算法,具体的计算公式和计算步骤。
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
5.4注释设计说明准备在本程序中安排的注释,如:
1. 加在模块首部的注释;
2. 加在各分枝点处的注释;
3. 对各变量的功能、范围、缺省条件等所加的注释;
对使用的逻辑所加的注释等等。
5.5测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
6程序模块2设计说明用类似第5章的方式,说明第2个程序模块乃至第N个程序模块的设计考虑。自己根据需要增加章节。
设计自查单
设计自查单
设计自查单
项目名称
项目经理
活动名称
自查人
检查日期
活动对象
统计结果
合格
不合格
未检查
不适用
共计
结论
备注
0
0
0
0
0
序号
检查内容
检查结果
补充信息
概要设计
1
设计方案是否满足产品需求与用户需求的功能、性能及安全性等所有要求?
2
设计方案的架构设计是否简单而清晰?
3
是否尽可能避免了模块(或子系统)间的相关性?
4
是否对处理流程、总体结构与模块、功能与模块的关系进行了清楚的描述?
5
是否对外部用户、软、硬件接口进行了清晰描述?对内部模块间接口进行了清楚描述?
6
如果有移植的需求,那么设计中是否对移植性作了充分的考虑?
7
如果采用数据库技术,数据库设计是否与其了他设计内容一致?
8
设计方案是否考虑了软件的扩展性与维护性?
9
是否进行了出错信息与出错处理的设计?
详细设计
1
设计方案是否满足产品需求与用户需求的功能、性能及安全性等所有要求?
2
是否详细考虑了编码时的代码复用问题?
3
是否规定了设计与编码时的命名规则?
4
设计是否符合设计规范?
5
如果采用面向对象的设计方法,是否对对象模型进行了清楚表述?
6
如果采用面向结构化的设计方法,是否对模块结构关系进行了清楚表述?
7
每个对象(或模块)的数据结构、处理逻辑都进行了必要的描述?
8
是否清楚地描述了模块的输入、输出?
9
如果使用原型开发是否符合原型?