经典 详细设计说明书 初级指导模板.docx
《经典 详细设计说明书 初级指导模板.docx》由会员分享,可在线阅读,更多相关《经典 详细设计说明书 初级指导模板.docx(20页珍藏版)》请在冰豆网上搜索。
经典详细设计说明书初级指导模板
详细设计说明书
文档编号:
文档信息:
文档名称:
文档类别:
CMMI模板
密级:
机密
版本信息:
建立日期:
2005-12-21
创建人:
高华
审核者:
EPG
批准人:
Sunny
批准日期:
保管人:
存放位置:
编辑软件:
MicrosoftOffice2003中文版
目录
第一章导言2
1.1目的2
1.2范围2
1.3术语定义2
1.4相关文档2
1.5参考资料3
第二章功能模块实现设计4
2.1公用模块实现设计4
2.2专用模块实现设计5
2.3存储过程实现设计6
2.4触发器实现设计6
第三章外部接口实现设计8
3.1外部接口1实现设计8
3.2外部接口2实现设计8
第四章其它实现设计10
4.1部门角色授权设计10
4.2其它详细设计10
第五章程序文件清单10
文档类别使用对象
文档类别
本文档是软件系统详细设计说明书的模板,是详细设计说明书的书写标准及规范,是技术文档。
使用对象
该文档使用人员包括:
●系统分析人员
●系统设计人员
●系统编码人员
●系统测试人员
●系统维护人员
第一章
导言
本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。
一.1目的
本文档的目的旨在推动软件工程的规范化,使设计人员遵循统一的详细设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
详细设计的详细程度,应达到可以编写程序的水平。
一.2范围
本文档用于软件设计阶段的详细设计,它的上游(依据的基线)是概要设计说明书,它的下游是源程序清单及单元测试计划,并为单元测试报告提供测试依据。
软件详细设计的范围是:
各子系统的公用模块实现设计、专用模块实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其它详细设计等。
按照三层结构(B/A/S)的布局,详细设计应从下面三个方面进行:
数据库服务器上的面向数据的设计:
数据字典物理设计、基本表物理设计、中间表物理设计(报表设计)、临时表物理设计、视图物理设计、存储过程物理设计、触发器物理设计;
应用服务器上的面向业务逻辑的设计:
接口数据设计、中间件设计、数据通讯传输设计、可视组件设计、非可视组件设计、角色授权设计、功能点设计(功能列表设计);
浏览器上的面向对象的设计:
录入修改界面设计、浏览查询界面设计、登录注册界面设计。
一.3术语定义
序号
术语名称
术语定义
1
详细设计
在概要设计的基础上,对其功能模块或部件进行实现设计,使编程人员据此能顺利书写出程序代码。
2
存储过程
存放在数据库服务器上的一段程序,它能被其它程序调用,以完成对数据库表的某些规定操作。
3
触发器
存放在数据库服务器上的一段程序,当触发条件满足时它就被执行,以完成对数据库表的某些规定操作。
4
算法
详细设计中实现某项功能的数据处理方法及处理流程。
一.4相关文档
1.源程序清单
2.单元测试计划及报告
3.用户使用手册
一.5参考资料
4.软件需求规格说明书
5.概要设计说明书
6.软件合同
7.命名规范
第二章功能模块实现设计
详细设计是面向模块的,或者说是面向部件(组件或构件)的,不是面向组织结构或部门单位的。
一个组织或单位,根据角色的授权,可以挂上某些功能模块。
若为C/S或B/A/S结构,则要说明该模块运行在哪一层上。
二.1公用模块实现设计
2.1.1登录系统
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
8.模块编号:
G-001
9.模块名称:
系统登录
10.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
11.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
12.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
13.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
14.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
15.模块编写者:
曾利
16.模块编写日期:
2006/8/27
17.模块修订者:
曾利
18.模块修订日期:
写2006/8/28
19.模块测试者:
曾利
20.模块测试日期:
2006/8/30
21.相关表结构设计:
2.1.2系统快捷操作
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
22.模块编号:
G-001
23.模块名称:
系统登录
24.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
25.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
26.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
27.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
28.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
29.模块编写者:
曾利
30.模块编写日期:
2006/8/27
31.模块修订者:
曾利
32.模块修订日期:
写2006/8/28
33.模块测试者:
曾利
34.模块测试日期:
2006/8/30
35.相关表结构设计:
2.1.3系统管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
36.模块编号:
G-001
37.模块名称:
系统登录
38.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
39.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
40.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
41.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
42.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
43.模块编写者:
曾利
44.模块编写日期:
2006/8/27
45.模块修订者:
曾利
46.模块修订日期:
写2006/8/28
47.模块测试者:
曾利
48.模块测试日期:
2006/8/30
49.相关表结构设计:
2.1.4用户管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
50.模块编号:
G-001
51.模块名称:
系统登录
52.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
53.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
54.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
55.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
56.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
57.模块编写者:
曾利
58.模块编写日期:
2006/8/27
59.模块修订者:
曾利
60.模块修订日期:
写2006/8/28
61.模块测试者:
曾利
62.模块测试日期:
2006/8/30
14.相关表结构设计:
2.1.3部门管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
63.模块编号:
G-001
64.模块名称:
系统登录
65.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
66.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
67.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
68.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
69.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
70.模块编写者:
曾利
71.模块编写日期:
2006/8/27
72.模块修订者:
曾利
73.模块修订日期:
写2006/8/28
74.模块测试者:
曾利
75.模块测试日期:
2006/8/30
相关表结构设计:
2.1.3职位管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
76.模块编号:
G-001
77.模块名称:
系统登录
78.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
79.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
80.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
81.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
82.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
83.模块编写者:
曾利
84.模块编写日期:
2006/8/27
85.模块修订者:
曾利
86.模块修订日期:
写2006/8/28
87.模块测试者:
曾利
88.模块测试日期:
2006/8/30
相关表结构设计:
2.1.3角色管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
89.模块编号:
G-001
90.模块名称:
系统登录
91.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
92.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
93.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
94.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
95.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
96.模块编写者:
曾利
97.模块编写日期:
2006/8/27
98.模块修订者:
曾利
99.模块修订日期:
写2006/8/28
100.模块测试者:
曾利
101.模块测试日期:
2006/8/30
相关表结构设计:
2.1.3日志管理
公用模块的提取与设计特别重要,设计它的目的是为了复用,因此它直接影响到系统的详细设计、编程、运行的质量。
公用模块设计包括如下内容:
102.模块编号:
G-001
103.模块名称:
系统登录
104.模块功能:
1)对用户身份进行验证。
2)根据用户权限进行页面控制访问。
105.模块背景描述:
1)用户使用系统时需要在页面之间导航
2)系统需要实现对用户的重要工作的提示功能
3)为了保证系统用户的安全性,提供密码修改功能
4)用户可能会在系统使用过程中需要以另外的身份登录重新进入系统
5)完成相应的任务,退出系统,保证用户帐号的安全性。
106.模块算法设计:
入口说明:
用户通过用户界面点击相应的链接。
输入参数:
session对象中记录的用户ID
出口说明:
系统完成相应的操作
107.调用参数的描述:
1)输入用户名
2)输入密码
操作对象的描述:
1)本功能要读取用户信息,用户对应角色权限信息管理。
2)将用户操作情况写到系统日志中,将职位信息写到职位信息列表中。
3)系统日志将在G-003—G-005系统日志模块中作用。
特别引用的描述:
要使用到G-001系统登录模块的功能
操作流程的描述:
注意事项:
实现该功能项需注意的问题。
108.模块调用方法:
详细列出不同的调用的方式、入口参数、出口参数、异常处理。
109.模块编写者:
曾利
110.模块编写日期:
2006/8/27
111.模块修订者:
曾利
112.模块修订日期:
写2006/8/28
113.模块测试者:
曾利
114.模块测试日期:
2006/8/30
相关表结构设计:
二、专用模块实现设计
非公用模块是为了处理一些特殊需求,它不可复用,设计包括如下内容:
115.块编号:
按照命名规则,如:
M1-XXX,将此公用模板编号写上。
116.模块名称:
写上此模块的中文名。
117.模块功能:
详细列出此模块的所有功能。
118.模块背景描述:
对背景进行简单的描述。
为什么需要此模块功能,其上下文环境。
涉及业务背景内容,与需求相结合。
119.模块算法设计:
用伪语言(例如:
if…endif;case…endcase;do…enddo;…)详细描述出此公用模块的算法,标准是使程序人员据此能顺利地书写程序。
在算法设计时,需要考虑下列问题:
输入输出的描述:
表述模块的输入和输出。
操作对象的描述:
该功能对哪些数据对象(档案)进行写操作,对哪些对象进行读操作,写操作的对象列在哪些功能里用到。
特别引用的描述:
对引用的公共资源、特殊引用的函数进行说明。
操作流程的描述:
具体的操作步骤。
描述操作步骤,简单的说明书内容。
可用做黑盒测试的依据。
可以采用图形交互。
注意事项:
实现该功能项需注意的问题。
120.模块编写者:
写上编写者姓名。
121.模块编写日期:
写上编写日期:
yyyy/mm/dd。
122.模块修订者:
写上修订者姓名。
123.模块修订日期:
写上修订日期:
yyyy/mm/dd。
124.模块测试者:
写上测试者姓名。
125.块测试日期:
写上测试日期:
yyyy/mm/dd。
126.相关表结构设计:
详细列出每个表的字段及其含义,并说明栏位的赋值及取值用途。
二.2存储过程实现设计
存储过程是一种特殊的公用模块,它在数据库服务器上执行,这里将它单独列出来,规定其详细设计模板为:
127.存储过程中文名
128.存储过程英文名(或拼音名):
129.存储过程功能:
详细描述其功能。
130.存储过程算法:
用形式语言详细描述其算法分析,使编程人员据此能顺利书写程序。
131.存储过程调用方式:
132.存储过程入口参数:
133.存储过程出口参数
134.模块编写者:
写上编写者姓名。
135.模块编写日期:
写上编写日期:
yyyy/mm/dd。
136.模块修订者:
写上修订者姓名。
137.模块修订日期:
写上修订日期:
yyyy/mm/dd。
138.模块测试者:
写上测试者姓名。
139.模块测试日期:
写上测试日期:
yyyy/mm/dd。
二.3触发器实现设计
触发器也是一种公用的模块,不过它是隐式执行,这里将它单独列出来,规定其详细设计模板为:
140.触发器中文名:
141.触发器英文名(或拼音名):
142.触发器功能:
详细描述其功能。
143.触发器算法:
用形式语言详细描述其算法分析,使编程人员据此能顺利书写程序。
144.触发器激活条件:
145.触发器编写者:
写上编写者姓名。
146.触发器编写日期:
写上编写日期:
yyyy/mm/dd。
147.触发器修订者:
写上修订者姓名。
148.触发器修订日期:
写上修订日期:
yyyy/mm/dd。
149.触发器测试者:
写上测试者姓名。
150.触发器测试日期:
写上测试日期:
yyyy/mm/dd。
注意:
过多地使用触发器反而会使系统的效率降低。
因此,凡是能用存储过程代替触发器功能的地方,一律用存储过程来实现。
第三章
外部接口实现设计
三.1外部接口1实现设计
151.接口中文名称:
152.接口英文名称:
153.接口内容与功能:
详细描述接口的内容与功能,如实现数据传输或数据交换。
154.接口硬件设施:
详细描述接口的硬件设施,如交换机、传感器或输出设备。
155.接口软件或中间件:
详细描述接口软件或中间件的名称、功能、使用方法、生产厂商。
156.接口的数据结构:
详细描述接口的数据结构,如文件结构、数据库表结构。
这是描述的重点之一。
157.接口的传输频率(兆/秒):
定量说明每秒最大流量。
158.接口带宽:
定量说明带宽,如多少兆。
159.接口协议:
说明具体协议。
160.接口程序的算法分析:
这是重点之二,要求用形式语言描述具体算法,使编码人员据此能顺利书写程序。
三.2外部接口2实现设计
161.接口中文名称:
162.接口英文名称:
163.接口内容与功能:
详细描述接口的内容与功能,如实现数据传输或数据交换。
164.接口硬件设施:
详细描述接口的硬件设施,如交换机、传感器或输出设备。
165.接口软件或中间件:
详细描述接口软件或中间件的名称、功能、使用方法、生产厂商。
166.接口的数据结构:
详细描述接口的数据结构,如文件结构、数据库表结构。
这是描述的重点之一。
167.接口的传输频率(兆/秒):
定量说明每秒最大流量。
168.接口带宽:
定量说明带宽,如多少兆。
169.接口协议:
说明具体协议。
170.接口程序的算法分析:
这是重点之二,要求用形式语言描述具体算法,使编码人员据此能顺利书写程序。
第四章其它实现设计
本章描述前面没有说明的设计。
如部门角色授权设计、界面设计、包装设计、维护设计、数据仓库设计等等。
四.1部门角色授权设计
授权表的横坐标表示角色(部件、单位或岗位),纵坐标表示功能模块,“●”表示授权。
该授权表是工作站上菜单设计的依据。
部门
模块
角色1
角色2
角色3
角色4
角色5