《软件系统详细设计说明书模板.pdf》由会员分享,可在线阅读,更多相关《软件系统详细设计说明书模板.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、远程多考区在线考试系统xxxxx 系统系统详细设计说明书文件状态:草稿 正式发布 正在修改文件标识:当前版本:1。0作者:完成日期:第 1 页 共 15 页远程多考区在线考试系统版版 本本 历历 史史版本/状态1.0作者参与者起止日期备注开始编写第 2 页 共 15 页远程多考区在线考试系统修修 改改 记记 录录日期修订版本修改章节修改描述作者第 3 页 共 15 页远程多考区在线考试系统目录目录1引言.51。1编写目的.51。2背景.51。3参考资料.51.4术语定义及说明.5设计概述.52.1任务和目标.52。1。1 需求概述.52.1.2运行环境概述.62.1。3条件与限制.62。1.4
2、详细设计方法和工具.6系统详细需求分析.63。1详细需求分析.63.2详细系统运行环境及限制条件分析接口需求分析.6总体方案确认.64.1系统总体结构确认.64。2系统详细界面划分.74。2.1应用系统与支撑系统的详细界面划分.74.2。2系统内部详细界面划分.7系统详细设计.75.1系统程序代码架构设计.75.1.1UI(User Interface)用户界面表示层.75。1。2 BLL(Business Logic Layer)业务逻辑层.85.1.3DAL(Data Access Layer)数据访问层.85.1。4Common类库.85。1.5Entity Class实体类.85。2系
3、统结构设计及子系统划分.85。3系统功能模块详细设计.95。3。1 XX子系统.9。1 XX模块.9列表和分页.9创建XX.9.2XX模块.9XX列表.9XX修改.95.3.2XX子系统.95。3。6。1用户管理模块95。3。6。2角色管理模块145.3。6.3 系统设置模块.145。3.6.4 系统登录注销模块.145.4系统界面详细设计.145.4。1外部界面设计.145。4.2内部界面设计.145。4.3用户界面设计.14数据库系统设计.146.1设计要求.146.2信息模型设计.1423456第 4 页 共 15 页远程多考区在线考试系统76。3数据库设计.146。3。1 设计依据.1
4、46。3.2数据库种类及特点.156。3。3 数据库逻辑结构.156.3.4物理结构设计.156。3。5 数据库安全.156。3。6 数据字典.15信息编码设计.157.1代码结构设计.157。2代码编制.151 1引言引言1.11.1编写目的编写目的说明编写详细设计方案的主要目的。说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。方案重点是模块的执行流程和数据库系统详细设计的描述.1.21.2背景背景应包含以下几个方面的内容:A
5、。待开发软件系统名称;B。该系统基本概念,如该系统的类型、从属地位等;C。开发项目组名称。1.31.3参考资料参考资料列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料.1.41.4术语定义及说明术语定义及说明列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。2 2设计概述设计概述2.12.1任务和目标任务和目标说明详细设计的任务及详细设计所要达到的目标。2.1.12.1.1 需求概述需求概述对所开发软件的概要描述,包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。第 5 页 共 15 页远程多考区在
6、线考试系统2.1.22.1.2 运行环境概述运行环境概述对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。2.1.32.1.3 条件与限制条件与限制详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。2.1.42.1.4 详细设计方法和工具详细设计方法和工具简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、ER图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具.3 3系统详细需求分析系统详细需求分析主要对
7、系统级的需求进行分析.首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析.3.13.1详细需求分析详细需求分析包括:详细功能需求分析详细性能需求分析详细资源需求分析详细系统运行环境及限制条件分析3.23.2详细系统运行环境及限制条件分析接口需求分析详细系统运行环境及限制条件分析接口需求分析包括:系统接口需求分析现有硬、软件资源接口需求分析引进硬、软件资源接口需求分析4 4总体方案确认总体方案确认着重解决系统总体结构确认及界面划分问题.4.14.1系统总体结构确认系统总体结构确认对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行
8、确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括:系统组成、逻辑结构及层次确认应用系统结构确认支撑系统结构确认第 6 页 共 15 页远程多考区在线考试系统系统集成确认系统工作流程确认4.24.2系统详细界面划分系统详细界面划分4.2.14.2.1 应用系统与支撑系统的详细界面划分应用系统与支撑系统的详细界面划分应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。4.2.24.2.2 系统内部详细界面划分系统内部详细界面划分系统各功能之间的界面包括覆盖
9、范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。5 5系统详细设计系统详细设计5.15.1系统程序代码架构设计系统程序代码架构设计系统采用三层架构模型,将应用系统划分为用户界面表示层、业务逻辑层、数据访问层,以及Entity Class实体类、Common类库组成,各层的关系如下图所示:5.1.15.1.1 UI(User InterfaceUI(User Interface)用户界面表示层)用户界面表示层第 7 页 共 15 页远程多考区在线考试系统负责与用户进行交互,显示、接受数据,与此同时,做一些简单逻辑处理,如:输入数据有效性判断、显示各种异常、处理Datas
10、et记录集数据。它只与BLL(Business Logic Layer)业务逻辑层、Entity Class实体类两个项目发生关联,可能与Common类库发生关联.5.1.25.1.2 BLL(Business Logic Layer)BLL(Business Logic Layer)业务逻辑层业务逻辑层是整个系统的核心,它承担了所有的逻辑判断,实现了程序的功能,它是灵活的。BLL层既是调用者,又是被调用者,因此,要适当的进行设计达到解耦的效果。BLL层只关联DAL层和实体类,可能关联Common类库.虽然BLL层被U层调用,但是BLL层无需关心UI层的情况。数据库中每个表都对应一个BLL类,
11、为了达到解耦效果,BLL类不能直接调用其他表的DAL类,可以BLL类之间相互调用。5.1.35.1.3 DAL(Data Access LayerDAL(Data Access Layer)数据访问层)数据访问层提供数据访问的接口,没有任何逻辑。在接口中对数据库操作语句进行组合装配。DAL层一般关联Common类库中的最底层,最基础的数据库类(比如:链接数据库),必须关联Entity Class实体类项目。DAL层只是数据库的管理者,但不是访问者,不直接与数据库发生关联.数据库中每个表都对应一个DAL层的接口(访问控制)类.5.1.45.1.4 CommonCommon类库类库用于存放公用的类
12、.最常用的就是数据库访问类,比如:链接字符串,数据库引擎类。它直接与数据库进行机械式的交换,无任何逻辑.5.1.55.1.5 Entity ClassEntity Class实体类实体类相当于加强的数据结构,实现了对数据的封装。数据库中每个表都对应一个实体类,表的字段就是实体类的属性,类型一一对应。UI、BLL、DAL这三层的交互主要就是通过实体类作为参数,并Return回信息.5.25.2系统结构设计及子系统划分系统结构设计及子系统划分根据业务和功能,将系统的逻辑结构划分为XX子系统、XX子系等6个子系统,如下图所示:XXXXXXXX系统XX管理子系统XX管理子系统XX子系统XX子系统XX子
13、系统XX子系统各个子系统按照功能角度分解,划分出若干不同的功能模块,如下面各图所示:第 8 页 共 15 页远程多考区在线考试系统5.35.3系统功能模块详细设计系统功能模块详细设计按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计.此为详细设计的主要部分之一.用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。以上建议采用 HIPO图进行功能分解与模块描述,更高的要求建议采用 IDEF0方法进行功能模型设计。详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成
14、结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。每个模块的描述说明可参照以下格式:模块编号模块编号:模块名称:模块名称:输入:输入:处理:处理:算法描述:算法描述:输出:输出:其中处理和算法描述部分主要采用伪码或具体的程序语言完成.对详细设计更高的要求建议用 IDEF0图进行各功能模块的设计。如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。注意:注意:算法描述主要是说明BLL层的代码逻辑,UI层只做简单的输入验证和界面显示功能。5.3.15.3.1 XXXX子系统子系统.1.1XXXX模块模块列列表和分页表和分页
15、创建创建XXXX.2.2XXXX模块模块XXXX列表列表XXXX修改修改5.3.25.3.2 XXXX子系统子系统5.3.6.15.3.6.1 用户管理模块用户管理模块模块描述:模块描述:管理系统用户,包括添加用户并赋予角色、修改用户资料和角色、删除用户.主要功能:主要功能:添加用户、修改用户、删除用户、列表和分页。第 9 页 共 15 页远程多考区在线考试系统5.3.6.1.15.3.6.1.1列表和分页列表和分页1 1、流程图流程图省略2 2、输入项输入项分页索引3 3、输出项输出项1)列表详细记录;2)当前页码;3)分页总数;4)记录总数.4 4、算法描述算法描述系统管理用户数据量不大,
16、而且该功能使用频率不高,可以不用优化分页,直接获取用户表全部记录,建议UI层使用gridview控件,调用ExamSys.BLL.System_admin_info GetAllList()绑定控件,利用gridview自带分页功能,显示分页按钮、当前页、分页总数、记录总数、5.3.6.1.25.3.6.1.2添加用户添加用户1 1、流程图流程图页面传参数页面加载时为1第 10 页 共 15 页远程多考区在线考试系统输入用户资料选择角色验证必填项否填写合规是验证用户名是是否存在否加密密码用户信息保存至表System_admin_info返回失败信息否是否成功是分拆角色ID字符串循环字符串数组信
17、息保存至表Dict_admin_vs_roles操作记录日志返回成功信息2 2、输入项输入项用户ID姓名stringstringstringstringstringstringcharstring必填必填必填必填用户密码确认密码联系电话Email状态用户角色ID3 3、输出项输出项1)成功,UI提示添加用户完成;2)失败,UI提示具体信息。4 4、算法描述算法描述1)前端js判断必填项的输入和二次密码是否相同,角色可以不选;第 11 页 共 15 页远程多考区在线考试系统2)BLL须验证必填项,用户名是唯一的不能重复;3)加密密码使用MD5.Encrypt(string String,stri
18、ng Key),Key=”XXXXXXXX;4)用户信息保存至表System_admin_info,ExamSys。DAL。System_admin_info Add(ExamSys.Model。System_admin_info model);5)分 拆 角 色 ID 字 符 串 并 循 环 字 符 串 数 组,信 息 保 存 至 表 Dict_admin_vs_roles,ExamSys.BLL.Dict_admin_vs_roles Add(ExamSys。Model.Dict_admin_vs_roles model).5.3.6.1.35.3.6.1.3修改用户修改用户1 1、流程图
19、流程图输入用户资料选择角色验证必填项否填写合规是加密密码用户信息保存至表System_admin_info否是否成功是根据用户ID删除表Dict_admin_vs_roles记录返回失败信息否是否成功是分拆角色ID字符串循环字符串数组信息保存至表Dict_admin_vs_roles操作记录日志返回成功信息2 2、输入项输入项用户ID姓名stringstringstringstring页面传参数必填必填必填用户密码确认密码第 12 页 共 15 页远程多考区在线考试系统联系电话Email状态stringstringcharstring用户角色ID3 3、输出项输出项1)成功,UI提示修改用户完
20、成;2)失败,UI提示具体信息。4 4、算法描述算法描述1)前端js判断必填项的输入和二次密码是否相同,角色可以不选;2)加密密码使用Chukeh。Security.MD5。Encrypt(string String,string Key),Key=”LinLiYan;3)根 据 用 户 ID 删 除 表 Dict_admin_vs_roles 的 记 录ExamSys。BLL。Dict_admin_vs_rolesDeleteByAdminID(string admin_id);4)分拆角色ID字符串并循环字符串数组,信息保存至该表ExamSys。BLL.Dict_admin_vs_role
21、s Add(ExamSys.Model。Dict_admin_vs_roles model)。5.3.6.1.45.3.6.1.4删除用户删除用户1 1、流程图流程图列表中点击删除按钮根据用户ID删除表System_admin_info记录否是否成功是根据用户ID删除表Dict_admin_vs_roles记录返回失败信息否是否成功是操作记录日志返回成功信息2 2、输入项输入项用户IDstring页面传参数3 3、输出项输出项1、成功,UI提示删除用户完成,刷新列表;第 13 页 共 15 页远程多考区在线考试系统2、失败,UI提示具体信息。3 3、算法描述算法描述1)根据用户 ID删除表 S
22、ystem_admin_info的记录ExamSys.DAL.System_admin_info Delete(stringadmin_id);2)根 据 用 户 ID 删 除 表 Dict_admin_vs_roles 的 记 录ExamSys。BLL。Dict_admin_vs_rolesDeleteByAdminID(string admin_id)。5.3.6.25.3.6.2 角色管理模块角色管理模块5.3.6.35.3.6.3 系统设置模块系统设置模块5.3.6.45.3.6.4 系统登录注销模块系统登录注销模块5.45.4系统界面详细设计系统界面详细设计系统界面说明应用系统软件的
23、各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明.5.4.15.4.1 外部界面设计外部界面设计根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。5.4.25.4.2 内部界面设计内部界面设计设计系统内部各功能模块间的调用关系和数据接口。5.4.35.4.3 用户界面设计用户界面设计规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多.6 6书.数据库系统设计数据库系统设计此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的数据库设计说明6.16.1
24、设计要求设计要求6.26.2信息模型设计信息模型设计确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系,详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。6.36.3数据库设计数据库设计6.3.16.3.1设计依据设计依据说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据.第 14 页 共 15 页远程多考区在线考试系统6.3.26.3.2数据库种类及特点数据库种类及特点说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。6.3.36.3.3数据库逻辑结构数据库逻辑结构说明数据库概念模式
25、向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。6.3.46.3.4物理结构设计物理结构设计列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括:数据在内存中的安排,包括对索引区、缓冲区的设计;所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;访问数据的方式方法.6.3.56.3.5数据库安全数据库安全说明数据的共享方式,如何保证数据的安全性及保密性。6.3.66.3.6数据字典数据字典编写详细的数据字典。对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。7 7信息编码设计信息编码设计7.17.1代码结构设计代码结构设计确认信息分类编码总体方案,进行分类代码结构设计.7.27.2代码编制代码编制按代码结构编制信息代码第 15 页 共 15 页
限制150内