软件系统详细设计说明书模板.docx
《软件系统详细设计说明书模板.docx》由会员分享,可在线阅读,更多相关《软件系统详细设计说明书模板.docx(38页珍藏版)》请在冰豆网上搜索。
软件系统详细设计说明书模板
远程多考区在线考试系统
xxxxx系统
详细设计说明书
文件状态:
文件标识:
[√]
草稿
当前版本:
1.0
[]
正式发布
作
者:
[]
正在修改
完成日期:
第1页共15页
远程多考区在线考试系统
版本历史
版本/状态作者参与者起止日期备注
1.0开始编写
第2页共15页
远程多考区在线考试系统
修改记录
日期修订版本修改章节修改描述作者
第3页共15页
远程多考区在线考试系统
1
引言...........................................................................
5
1.1
编写目的...............................................................
5
1.2
背景...................................................................
5
1.3
参考资料...............................................................
5
1.4
术语定义及说明.........................................................
5
2
设计概述
.......................................................................
5
2.1
任务和目标.............................................................
5
2.1.1
需求概述...........................................................
5
2.1.2
运行环境概述.......................................................
5
2.1.3
条件与限制.........................................................
6
2.1.4
详细设计方法和工具.................................................
6
3
系统详细需求分析
...............................................................
6
3.1
详细需求分析...........................................................
6
3.2
详细系统运行环境及限制条件分析接口需求分析
.............................6
4
总体方案确认
...................................................................
6
4.1
系统总体结构确认.......................................................
6
4.2
系统详细界面划分.......................................................
7
4.2.1
应用系统与支撑系统的详细界面划分
...................................
7
4.2.2
系统内部详细界面划分...............................................
7
5
系统详细设计
...................................................................
7
5.1
系统程序代码架构设计...................................................
7
5.1.1
UI(UserInterface)用户界面表示层
...................................
7
5.1.2
BLL(BusinessLogicLayer)
业务逻辑层
................................8
5.1.3
DAL(DataAccessLayer)
数据访问层
...................................
8
5.1.4
Common类库.........................................................
8
5.1.5
EntityClass实体类.................................................
8
5.2
系统结构设计及子系统划分...............................................
8
5.3
系统功能模块详细设计...................................................
9
5.3.1
XX子系统...........................................................
9
.1
XX模块.................................................................
9
列表和分页.................................................................
9
创建XX.....................................................................
9
.2
XX模块.................................................................
9
XX列表.....................................................................
9
XX修改.....................................................................
9
5.3.2
XX子系统...........................................................
9
5.3.6.1
用户管理模块....................................................
9
5.3.6.2
角色管理模块...................................................
14
5.3.6.3
系统设置模块...................................................
14
5.3.6.4
系统登录注销模块...............................................
14
5.4
系统界面详细设计......................................................
14
5.4.1
外部界面设计......................................................
14
5.4.2
内部界面设计......................................................
14
5.4.3
用户界面设计......................................................
14
6
数据库系统设计................................................................
14
6.1
设计要求
..............................................................
14
6.2
信息模型设计..........................................................
14
6.3
数据库设计............................................................
14
6.3.1
设计依据..........................................................
14
第4页共15页
远程多考区在线考试系统
6.3.2
数据库种类及特点
..................................................15
6.3.3
数据库逻辑结构
....................................................15
6.3.4
物理结构设计......................................................
15
6.3.5
数据库安全........................................................
15
6.3.6
数据字典..........................................................
15
7信息编码设计..................................................................
15
7.1
代码结构设计..........................................................
15
7.2
代码编制..............................................................
15
1引言
1.1编写目的
说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库
系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复
部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2背景
应包含以下几个方面的内容:
A.待开发软件系统名称;
B.该系统基本概念,如该系统的类型、从属地位等;
C.开发项目组名称。
1.3参考资料
列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必
要时说明如何得到这些资料。
1.4术语定义及说明
列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。
2设计概述
2.1任务和目标
说明详细设计的任务及详细设计所要达到的目标。
2.1.1需求概述
对所开发软件的概要描述,包括主要的业务需求、输入、输出、主要功能、性能等,尤其需
要描述系统性能需求。
2.1.2运行环境概述
第5页共15页
远程多考区在线考试系统
对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性
能监控与分析等软件环境的描述,及配置要求。
2.1.3条件与限制
详细描述系统所受的内部和外部条件的约束和限制说明。
包括业务和技术方面的条件与限制
以及进度、管理等方面的限制。
2.1.4详细设计方法和工具
简要说明详细设计所采用的方法和使用的工具。
如HIPO图方法、IDEF(I2DEF)方法、E-R
图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。
3系统详细需求分析
主要对系统级的需求进行分析。
首先应对需求分析提出的企业需求进一步确认,并对由于情况
变化而带来的需求变化进行较为详细的分析。
3.1详细需求分析
包括:
详细功能需求分析
详细性能需求分析
详细资源需求分析
详细系统运行环境及限制条件分析
3.2详细系统运行环境及限制条件分析接口需求分析
包括:
系统接口需求分析
现有硬、软件资源接口需求分析
引进硬、软件资源接口需求分析
4总体方案确认
着重解决系统总体结构确认及界面划分问题。
4.1系统总体结构确认
对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,
细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结
构变化。
包括:
系统组成、逻辑结构及层次确认
应用系统结构确认
支撑系统结构确认
系统集成确认
第6页共15页
远程多考区在线考试系统
系统工作流程确认
4.2系统详细界面划分
4.2.1应用系统与支撑系统的详细界面划分
应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络
及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。
4.2.2系统内部详细界面划分
系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据
格式,系统性能要求等。
5系统详细设计
5.1系统程序代码架构设计
系统采用三层架构模型,将应用系统划分为用户界面表示层、业务逻辑层、数据访问层,以及
EntityClass实体类、Common类库组成,各层的关系如下图所示:
5.1.1UI(UserInterface)用户界面表示层
第7页共15页
远程多考区在线考试系统
负责与用户进行交互,显示、接受数据,与此同时,做一些简单逻辑处理,如:
输入数据有效
性判断、显示各种异常、处理Dataset记录集数据。
它只与BLL(BusinessLogicLayer)业务逻辑层、
EntityClass实体类两个项目发生关联,可能与Common类库发生关联。
5.1.2BLL(BusinessLogicLayer)业务逻辑层
是整个系统的核心,它承担了所有的逻辑判断,实现了程序的功能,它是灵活的。
BLL层既是
调用者,又是被调用者,因此,要适当的进行设计达到解耦的效果。
BLL层只关联DAL层和实体类,
可能关联Common类库。
虽然BLL层被U层调用,但是BLL层无需关心UI层的情况。
数据库中每个表都对应一个BLL类,为了达到解耦效果,BLL类不能直接调用其他表的DAL类,可以BLL类之间相互调用。
5.1.3DAL(DataAccessLayer)数据访问层
提供数据访问的接口,没有任何逻辑。
在接口中对数据库操作语句进行组合装配。
DAL层一般
关联Common类库中的最底层,最基础的数据库类(比如:
链接数据库),必须关联EntityClass实
体类项目。
DAL层只是数据库的管理者,但不是访问者,不直接与数据库发生关联。
数据库中每个
表都对应一个DAL层的接口(访问控制)类。
5.1.4Common类库
用于存放公用的类。
最常用的就是数据库访问类,比如:
链接字符串,数据库引擎类。
它直接
与数据库进行机械式的交换,无任何逻辑。
5.1.5EntityClass实体类
相当于加强的数据结构,实现了对数据的封装。
数据库中每个表都对应一个实体类,表的字段
就是实体类的属性,类型一一对应。
UI、BLL、DAL这三层的交互主要就是通过实体类作为参数,并
Return回信息。
5.2系统结构设计及子系统划分
根据业务和功能,将系统的逻辑结构划分为XX子系统、XX子系等6个子系统,如下图所示:
XXXXXXXX系统
XX管理XX管理XXXXXXXX
子系统子系统子系统子系统子系统子系统
各个子系统按照功能角度分解,划分出若干不同的功能模块,如下面各图所示:
第8页共15页
远程多考区在线考试系统
5.3系统功能模块详细设计
按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。
此为详细设计的主要部分之一。
用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。
以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。
详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。
每个模块的描述说明可参照以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分主要采用伪码或具体的程序语言完成。
对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。
如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。
注意:
算法描述主要是说明BLL层的代码逻辑,UI层只做简单的输入验证和界面显示功能。
5.3.1XX子系统
.1XX模块
列表和分页
创建XX
.2XX模块
XX列表
XX修改
5.3.2XX子系统
5.3.6.1用户管理模块
模块描述:
管理系统用户,包括添加用户并赋予角色、修改用户资料和角色、删除用户。
主要功能:
添加用户、修改用户、删除用户、列表和分页。
第9页共15页
远程多考区在线考试系统
5.3.6.1.1列表和分页
1、流程图
省略
2、输入项
分页索引页面传参数页面加载时为1
3、输出项
1)列表详细记录;
2)当前页码;
3)分页总数;
4)记录总数。
4、算法描述
系统管理用户数据量不大,而且该功能使用频率不高,可以不用优化分页,直接获取用户表全
部记录,建议UI层使用gridview控件,调用ExamSys.BLL.System_admin_infoGetAllList()绑定控件,利
用gridview自带分页功能,显示分页按钮、当前页、分页总数、记录总数、
5.3.6.1.2添加用户
1、流程图
第10页共15页
远程多考区在线考试系统
输入用户资料
选择角色
验证必填项
否
填写合规
是
验证用户名
是
是否存在
否
加密密码
用户信息保存至表System_admin_info
返回失败信息
否
是否成功
是
分拆角色ID字符串
循环字符串数组
信息保存至表Dict_admin_vs_roles
返回成功信息
操作记录日志
2、输入项
用户ID
string
必填
姓名
string
必填
用户密码
string
必填
确认密码
string
必填
联系电话
string
E-mail
string
状态
char
用户角色ID
string
3、输出项
1)成功,UI提示添加用户完成;
2)失败,UI提示具体信息。
4、算法描述
1)前端js判断必填项的输入和二次密码是否相同,角色可以不选;
第11页共15页
远程多考区在线考试系统
2)BLL须验证必填项,用户名是唯一的不能重复;
3)
加密密码使用
MD5.Encrypt(string
String,
string
;
Key),Key="XXXXXXXX"
4)
用
户
信
息
保
存
至
表System_admin_info
ExamSys.DAL.System_admin_infoAdd(ExamSys.Model.System_admin_infomodel);
5)分拆角色ID字符串并循环字符串数组,信息保存至表Dict_admin_vs_roles
ExamSys.BLL.Dict_admin_vs_rolesAdd(ExamSys.Model.Dict_admin_vs_rolesmodel)。
5.3.6.1.3修改用户
1、流程图
输入用户资料
选择角色
验证必填项
否填写合规
是
加密密码
用户信息保存至表System_admin_info
否
是否成功
是
根据用户ID删除表
Dict_admin_vs_roles记录
返回失败信息
否
是否成功
是
分拆角色ID字符串
循环字符串数组
信息保存至表Dict_admin_vs_roles
,
,
返回成功信息
操作记录日志
2、输入项
用户ID
string
页面传参数
姓名
string
必填
用户密码
string
必填
确认密码