《软件系统详细设计说明书参考软件系统说明书模板.docx》由会员分享,可在线阅读,更多相关《软件系统详细设计说明书参考软件系统说明书模板.docx(16页珍藏版)》请在第一文库网上搜索。
1、软件详细设计说明书详细设计说明书文件状态:草稿正式发布正在修改文件标识:当前版本:1.0作者:完成日期:版本历史版本/状态作者参与者起止日期备注1.0开始编写修改记录日期修订版本修改章节修改描述作者目录1 引言51.1 编写目的51.2 背景51.3 参考资料51.4 术语定义及说明52 设计概述52.1 任务和目标52.1.1 需求概述52.1.2 运行环境概述52.1.3 条件与限制62.1.4 详细设计方法和工具63 系统详细需求分析63.1 详细需求分析63.2 详细系统运行环境及限制条件分析接口需求分析64 总体方案确认64.1 系统总体结构确认64.2 系统详细界面划分74.2.1
2、 应用系统与支撑系统的详细界面划分74.2.2 系统内部详细界面划分75 系统详细设计75.1 系统程序代码架构设计75.1.1 UI(UserInterfaCe)用户界面表示层75.1.2 B11(Business1ogic1ayer)业务逻辑层85.1.3 DA1(DataAccess1ayer)数据访问层85.1.4 COmmon类库85.1.5 EntityC1aSS实体类85.2 系统结构设计及子系统划分85.3 系统功能模块详细设计95.3.1XX子系统9.1XX模块9列表和分页9创建XX9.2XX模块9XX列表9XX修改95.3.2XX子系统91.1 6.1用户管理模块91.2
3、6.2角色管理模块141.3 系统设置模块141.4 系统登录注销模块145.4系统界面详细设计145.4.1 外部界面设计145.4.2 内部界面设计145.4.3 用户界面设计146 数据库系统设计146.1 设计要求146.2 信息模型设计146.3 数据库设计146.3.1 设计依据146.3.2 数据库种类及特点156.3.3 数据库逻辑结构156.3.4 物理结构设计156.3.5 数据库安全156.3.6 数据字典157 信息编码设计157.1 代码结构设计157.2 代码编制151 引言1.1 编写目的说明编写详细设计方案的主要目的。说明书编制的目的是说明一个软件系统各个层次中
4、的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。方案重点是模块的执行流程和数据库系统详细设计的描述。1.2 背景应包含以TJ1个方面的内容:A.待开发软件系统名称;B.该系统基本概念,如该系统的类型、从属地位等;C.开发项目组名称。1.3 参考资料列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。1.4 术语定义及说明列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。2 设计概述2.1 任务和目标说明详
5、细设计的任务及详细设计所要达到的目标。2.1.1 需求概述对所开发软件的概要描述,包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。2.1.2 运行环境概述对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。2.1.3 条件与限制详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。2.1.4 详细设计方法和工具简要说明详细设计所采用的方法和使用的工具。如H1Po图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE
6、工具等,尽量采用标准规范和辅助工具。3 系统详细需求分析主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。3.1 详细需求分析包括: 详细功能需求分析 详细性能需求分析 详细资源需求分析 详细系统运行环境及限制条件分析3.2 详细系统运行环境及限制条件分析接口需求分析包括: 系统接口需求分析 现有硬、软件资源接口需求分析 引进硬、软件资源接口需求分析4 总体方案确认着重解决系统总体结构确认及界面划分问题。4.1 系统总体结构确认对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系
7、统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括: 系统组成、逻辑结构及层次确认 应用系统结构确认 支撑系统结构确认 系统集成确认系统工作流程确认4.2 系统详细界面划分4.2.1 应用系统与支撑系统的详细界面划分应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。4.2.2 系统内部详细界面划分系统各功能之间的界面包括覆靛范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。5 系统详细设计5.1 系统程序代码架构设计系统采用三层架构模型,将应用系统划
8、分为用户界面表示层、业务逻辑层、数据访问层,以及EntityC1aSS实体类、COmnIOn类库组成,各层的关系如下图所示:5.1.15.1.2 UI(UserInterfaCe)用户界面表示层负责与用户进行交互,显示、接受数据,与此同时,做一些简单逻辑处理,如:输入数据有效性判断、显示各种异常、处理DataSet记录集数据。它只与B11(BUSineSSIQgiC1ayer)业务逻辑层、Enti1yCIaSS实体类两个项目发生关联,可能与Common类库发生关联。5.1.3 B11(Business1ogic1ayer)业务逻辑层是整个系统的核心,它承担了所有的逻辑判断,实现了程序的功能,它
9、是灵活的。B11层既是调用者,又是被调用者,因此,要适当的进行设计达到解耦的效果。B11层只关联DA1层和实体类,可能关联COmn1on类库。虽然B11层被U层调用,但是B11层无需关心U1层的情况。数据库中每个表都对应一个B11类,为了达到解耦效果,B11类不能直接调用其他表的DA1类,可以B11类之间相互调用。5.1.4 DA1(DataAccess1ayer)数据访问层提供数据访问的接口,没有任何逻辑。在接口中对数据库操作语句进行组合装配。DA1层一般关联COnInKm类库中的最底层,最基础的数据库类(比如:链接数据库),必须关联EntiIyC1aSS实体类项目。DA1层只是数据库的管理
10、者,但不是访问者,不宜接与数据库发生关联。数据库中每个表都对应一个DA1层的接口(访问控制)类。5.1.5 Co1Dmon类库用于存放公用的类。最常用的就是数据库访问类,比如:链接字符串,数据库引擎类。它直接与数据库进行机械式的交换,无任何逻辑。5.1.6 EntityC1aSS实体类相当于加强的数据结构,实现了对数据的封装。数据库中每个表都对应一个实体类,表的字段就是实体类的属性,类型一一对应。UKB11.DA1这三层的交互主要就是通过实体类作为参数,并RetUrn回信息。5.2 系统结构设计及子系统划分根据业务和功能,将系统的逻辑结构划分为XX子系统、XX子系等6个子系统,如下图所示:各个
11、子系统按照功能角度分解,划分出若干不同的功能模块,如下面各图所示:5.3 系统功能模块详细设计按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPo图或其他方法描述各模块完成的功能。以上建议采用HIPo图进行功能分解与模块描述,更高的要求建议采用IDEFo方法进行功能模型设计。详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPo或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。每个模块的描述说明
12、可参照以下格式:模块编号:模块名称:输入:处理:算法描述:输出:其中处理和算法描述部分主要采用伪码或具体的程序语言完成。对详细设计更高的要求建议用IDEFo图进行各功能模块的设计。如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。注意:算法描述主要是说明B11层的代码逻辑,U1层只做简单的输入验证和界面显示功能。5.3.1 XX子系统5.3.2 XX模块列表和分页创建XX5.3.3 XX模块XX列表XX修改5.3.4 XX子系统5.3.6.1 用户管理模块模块描述:管理系统用户,包括添加用户并赋予角色、修改用户资料和角色、删除用户。主要功能
13、:添加用户、修改用户、删除用户、列表和分页。5.3.6.1.1 列表和分页1、流程图省略2、输入项分页索引页面传参数页面加载时为13、输出项1)列表详细记录;2)当前页码;3)分页总数;4)记录总数。4、算法描述系统管理用户数据量不大,而且该功能使用频率不高,可以不用优化分页,直接获取用户表全部记录,建议U1层使用gridview控件,调用EXan1SyS.B11SystemadmininfoGetAII1iSt()绑定控件,利用gridview自带分页功能,显示分页按钮、当前页、分页总数、记录总数、53.6.1.2添加用户1、流程图2、输入项用户IDstring必填姓名string必填用户密
14、码string必填确认密码string必填联系电话stringE-mai1string状态char用户角色IDstring3、输出项D成功,UI提示添加用户完成;2)失败,U1提示具体信息。4、算法描述D前端js判断必填项的输入和二次密码是否相同,角色可以不选;2) B11须验证必填项,用户名是唯一的不能重复;3) 加密密码使用MD5.EncrypMstringString,stringKey),Key=*XXXXXXXX*;4)用户信息保存至表System_admin_info,ExamSys.DA1.Systcm_admininfoAdd(ExamSys.Mode1.Systemadmininfomode1);5)分拆角色ID字符串并循环字符串数组,信息保存至表DiCt_admin_vs_rO1eS,ExamSys.B11.DietadminVSro1esAdd(ExamSys.Mode1.DietUdmin_vs_r。】(、smode1)o5.3.6.1.3修改用户1、流程图根据用户ID删除表Diet