XX系统XX模块
开发设计文档V1.0
开发团队/部门:
组长:
组员:
备注:
版权说明: ××拥有本文档的全部版权,没有经过明确的书面说明,任何人不能复制,转载本文档的所有内容。
可以把上面的内容放在一个好看的封面页上。
文档更新记录
版本
说明
完成日期
修改人
创建文档
目录
1 概述
1.1 开发背景
对项目的背景进行介绍【比如为什么要开发这个系统】
1.2 开发目标/系统说明
对整个系统的情况进行介绍。列举参考的文档【该系统需要完成的基本功能,对系统的大体描述】
1.3 参考资料
【该系统涉及的开源项目等】
1.4 文档说明
本设计文档作为XX模块的设计文档,为编码的依据。也作为代码的说明,在代码开发过程中应该保持本文档的更新。
1.5 设计原则
【设计该系统遵守的原则,比如支持多数据库,可移植行,可拓展性等】
2 需求分析
2.1 需求陈述
【用平常语言描述该系统的全部功能和细节】
2.2 操作用例
【描述具体的操作例子,比如登录后进行何种操作】
2.3 功能分析划分
本模块在整个系统中的地位
最好使用结构图的形式并补充详细的说明。
【分析功能并划分功能块】
2.3.1 系统登录
【比如,需要实现两种登录模块,普通登录,管理员登录,并且描述可能出现的各种情况以及问题处理】
2.3.2 用户管理
【比如:实现用户显示,添加,删除,修改】
……
2.4 运行环境
2.5非功能需求
性能的要求,从异常中恢复的要求等非功能的要求.
3 概要设计/总体设计
3.1 系统建模
3.1.1 系统的组织结构/层次方框图
【从顶部开始,按照层次分类进行细化】
3.1.2 ER图(实体-联系图)
【分析各个对象之间的联系,画图ER图】
接口设计
3.1.3 类图设计
【使用UML画出各个类的属性、继承和方法】
3.2 接口设计
接口要求
对外部接口进行精确的描述。如果更上层的文档已经有了这个模块的接口要求,对文档进行引用.
【各个子系统之间的接口和用户接口】
3.2.1 内部/外部接口设计
【各个部件是通过何种方式进行连接,比如通过远程数据库,http等】
3.2.2 登录界面设计
如果存在界面设计
3.2.3 用户管理界面设计
……
3.2.4配置文件
如果这个模块有自己的配置文件
3.3 数据库结构设计
【主要是描述】
3.3.1 数据库E-R图
3.3.2 数据库逻辑设计
序号
字段名
类型
长度
默认值
允许空
主键
备注
1
3.4模块划分
使用软件结构图(结构化设计)。或使用包图,类图(面向对象设计)作为说明的主体。并且补充详细的文字说明.关键要说明每个子模块的(或类)的功能和职责。(对面向对象的设计,应该更多使用职责这样的词汇)。如果结构明显的呈现出层次,要对每个层次进行说明。
3.5 出错处理设计
【描述如果出错的处理方法】
3.6 安全保密设计
【描述采用何种方法保证安全性】
4 详细设计
4.1 程序流程图
【具体来说就是把经过总体设计得到的各个模块详细的加以描述。】
对每个模块,或者每一个类,进行详细的说明.说明内容包括(1)接口定义 (2)关键算法。可能使用到,类图,流程图,顺序图,交互图,等.如果是多线程程序,还可能堆同步模型进行说明。
4.2子模块/类1
… …
4.3子模块/类2
… …
4.4 伪代码编写
【使用中文或者英文进行伪代码编写,以后这些伪代码将会成为代码的注释】
5 实现
5.1 编码
5.1.1 代码约定
5.1.2 代码编写原则
6 测试
6.1 测试要点
6.1.1 登录测试要点
【描述该如何测试,数据的输入,类型】
6.1.2 主界面测试要点
……
6.2 测试结果
7 总结
开发完成后,自己有什么体会,对近一步的改进有什么好的想法,好好的写一下总结。对软件今后改进、扩展,对自己进步都有好处.
8 维护
8.1 维护方法
8.2 维护文档
8.3 功能拓展方法
【描述添加功能的方法和具体接口】