对于大型软件项目,在设计阶段一般要完成概要设计说明书、详细设计说明书和数据库设计说明书。对于中小型项目,上述3中说明书可以合并为软件设计说明书。
在实际完成设计阶段的相关文档时,可以不必拘泥与模板的内容和格式,而是应该根据项目特点和实际情况对模板有所剪裁。
引言
本章节对该文档的目的、功能范围、术语、相关文档、参考资料和版本更新进行说明。
编写目的
本文档的目的旨在推动软件工程的规范化,使设计人员遵循同意的设计书写规范,节省制作文档的事件,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护和版本升级等。
命名规范
变量对象命名规则:申明全局变量和局部变量对象的命名规则。
数据库对象命名规则:申明数据库表名、字段名、索引名和视图名等对象的命名规则。
术语定义
列出本文档中用到的专门术语的定义和外文首字母缩写词。
参考资料
列出有关的参考文件,如下所示:
- 本项目的经核准的计划任务书或合同,以及上级机关的批文。
- 属于本项目的其它已发表的文件。
- 本文档中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
相关文档
版本更新记录
版本号 | 创建者 | 创建日期 | 维护者 | 维护日期 | 维护纪要 |
---|---|---|---|---|---|
总体设计
总体结构设计
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序和公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
硬件运行环境设计
- 服务器的最低配置要求
- 工作站的最低配置要求
- 外设的要求
软件运行环境设计
- 服务器操作系统
- 数据库管理系统
- 中间件
- 客户机的操作系统
- 客户机的平台软件
子系统清单
子系统编号 | 子系统名称 | 子系统功能简述 | 子系统之间的关系 |
---|---|---|---|
功能模块清单
模块编号 | 模块名称 | 模块功能简述 | 模块的接口简述 |
---|---|---|---|
模块功能分配
具有功能独立、能被调用的信息单元模块。模块是结构化设计中的概念,部件是面向对象设计中的概念。
模块功能分配的目的,就是为了将具有相同功能的模块合并,从中提取公用模块,形成公用部件,按照构件或中间件的方式加以实现,作为本系统的公用资源,甚至作为公司级组织的公用资源,从而充实公司及的构件库或中间件库,优化系统设计,加快开发速度,提高开发质量。
公用模块功能分配
公用模块编号 | 模块名称 | 模块详细功能分配 | 模块的接口标准 |
---|---|---|---|
专用模块功能分配
专用模块编号 | 模块名称 | 模块详细功能分配 | 模块的接口标准 |
---|---|---|---|
数据库设计
数据库表名列表
序号 | 中文表名 | 英文表名 | 表功能说明 |
---|---|---|---|
数据库表之间的关系说明
可以用E-R图表示,也可以用文字说明。
数据库表的详细清单
每个表的详细清单内容包括表名,中文字段名,英文字段名,数据类型,宽度,精度,主键/外键,是否允许为空,取值约束(默认值、最大值、最小值),以及索引否。同时要指出该表的索引:索引文件名、索引字段名和索引特性(主键索引、唯一索引、聚集索引)。用户可以根据实际情况进行裁减。
序号 | 英文字段名 | 中文字段名 | 数据类型/宽度/精度 | 取值约束 | 是否允许空值 | 主键/外键 | 索引 |
---|---|---|---|---|---|---|---|
视图设计
视图设计中要给出视图的中文名、英文名,视图中的中文列名、英文列名、类型、宽度、精度,每一列的具体算法,以及对应的基本表名。
其它设计
本章描述前面没有说明的设计,如接口设计、每个功能模块的详细设计、存储过程设计和角色授权设计等。
系统出错处理设计
出错信息
说明每种可能的错误或故障情况出现时,系统输出信息的形式、含义及处理方法。
故障预防与补救
说明故障出现前的预防措施及出现后可能采取的变通措施。
系统维护设计
说明为了系统维护的方便而在程序内部设计中做出的安排,包括在程序中专门安排用于系统的检查与维护的监测点和专用模块。
测试计划
说明对本程序进行单元测试、集成测试及系统测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。