1、xxxxx系统具体设计说明书文件状态: 初稿 正式公布 正在修改文件标识:目前版本: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.1UI(User Interface)用户界面表示层75.1.2BLL(Business Logic Layer)业务逻辑层85.1.3DAL(Data Access Layer)数据访问层85.1.4Common类库85.1.5Entity Class实体类85.2系统结构设计及子系统划分85.3系统功效模块具体设计95.3.1XX子系统9.1XX模块9列表和分页9创建XX9.2XX模块9XX列表9XX修改95.3.2XX子系统95.3.6.1用户管理模块95.3.6.2角色管理模块145.3.
3、6.3系统设置模块145.3.6.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 背景应包含以下多个方面内容:A. 待开发软件系统名称;B. 该系统基础概念, 如该系统类型、隶属地位等;C. 开发项目组名称。1.3 参考资料列出具体设计汇报引用文件或资料,资料作者、标题、出版单位和出版日期等信息,必需时说明怎样得到这些资料。1.4 术语定义及说明列出本文档中用到可能会引发混淆专门术语、定义和缩写词原文。2 设计概述2.1 任务和目标说明具体设计任务及具体设计所要达成目标 。2.1.1 需求概述对所开发软件
5、概要描述, 包含关键业务需求、输入、 输出、关键功效、性能等,尤其需要描述系统性能需求。2.1.2 运行环境概述对本系统所依靠于运行硬件,包含操作系统、数据库系统、中间件、接口软件、可能性能监控和分析等软件环境描述,及配置要求。2.1.3 条件和限制具体描述系统所受内部和外部条件约束和限制说明。包含业务和技术方面条件和限制和进度、管理等方面限制。2.1.4 具体设计方法和工具简明说明具体设计所采取方法和使用工具。如HIPO图方法、IDEF(I2DEF)方法、ER图,数据步骤图、业务步骤图、选择CASE工具等,尽可能采取标准规范和辅助工具。3 系统具体需求分析关键对系统级需求进行分析。首先应对需
6、求分析提出企业需求深入确定,并对因为情况改变而带来需求改变进行较为具体分析。3.1 具体需求分析包含: 具体功效需求分析 具体性能需求分析 具体资源需求分析 具体系统运行环境及限制条件分析3.2 具体系统运行环境及限制条件分析接口需求分析包含: 系统接口需求分析 现有硬、软件资源接口需求分析 引进硬、软件资源接口需求分析4 总体方案确定着重处理系统总体结构确定及界面划分问题。 4.1 系统总体结构确定对系统组成、逻辑结构及层次进行确定,对应用系统、支撑系统及各自实现功效进行确定,细化集成设计及系统工作步骤,尤其要注意因软件引进造成系统本身结构和企业其它系统结构改变。包含: 系统组成、逻辑结构及
7、层次确定 应用系统结构确定 支撑系统结构确定 系统集成确定 系统工作步骤确定4.2 系统具体界面划分4.2.1 应用系统和支撑系统具体界面划分应用系统和支撑系统之间界面包含系统主服务器和其它服务器服务范围及访问方法,网络及数据库对应用系统支撑方法,全局数据管理和存取方法等。4.2.2 系统内部具体界面划分系统各功效之间界面包含覆盖范围,模块间功效调用包含到系统模块及方法,全局数据格式,系统性能要求等。5 系统具体设计5.1 系统程序代码架构设计系统采取三层架构模型,将应用系统划分为用户界面表示层、业务逻辑层、数据访问层,和Entity Class实体类、Common类库组成,各层关系以下图所表
8、示:5.1.1 UI(User Interface)用户界面表示层负责和用户进行交互,显示、接收数据,和此同时,做部分简单逻辑处理,如:输入数据有效性判定、显示多种异常、处理Dataset统计集数据。它只和BLL(Business Logic Layer)业务逻辑层、Entity Class实体类两个项目发生关联,可能和Common类库发生关联。5.1.2 BLL(Business Logic Layer)业务逻辑层是整个系统关键,它负担了全部逻辑判定,实现了程序功效,它是灵活。BLL层既是调用者,又是被调用者,所以,要合适进行设计达成解耦效果。BLL层只关联DAL层和实体类,可能关联Comm
9、on类库。即使BLL层被U层调用,不过BLL层无需关心UI层情况。数据库中每个表全部对应一个BLL类,为了达成解耦效果,BLL类不能直接调用其它表DAL类,能够BLL类之间相互调用。5.1.3 DAL(Data Access Layer)数据访问层提供数据访问接口,没有任何逻辑。在接口中对数据库操作语句进行组合装配。DAL层通常关联Common类库中最底层,最基础数据库类(比如:链接数据库),必需关联Entity Class实体类项目。DAL层只是数据库管理者,但不是访问者,不直接和数据库发生关联。数据库中每个表全部对应一个DAL层接口(访问控制)类。5.1.4 Common类库用于存放公用类
10、。最常见就是数据库访问类,比如:链接字符串,数据库引擎类。它直接和数据库进行机械式交换,无任何逻辑。5.1.5 Entity Class实体类相当于加强数据结构,实现了对数据封装。数据库中每个表全部对应一个实体类,表字段就是实体类属性,类型一一对应。UI、BLL、DAL这三层交互关键就是经过实体类作为参数,并Return回信息。5.2 系统结构设计及子系统划分依据业务和功效,将系统逻辑结构划分为XX子系统、XX子系等6个子系统,以下图所表示:XXXXXXXX系统XX管理子系统XX管理子系统XX子系统XX子系统XX子系统XX子系统各个子系统根据功效角度分解,划分出若干不一样功效模块,以下面各图所
11、表示: 5.3 系统功效模块具体设计按结构化设计方法,在系统功效逐层分解基础上,对系统各功效模块或子系统进行设计。此为具体设计关键部分之一。用层次图描述系统总体结构、功效分解及各个模块之间相互调用关系和信息交互,用IPO图或其它方法描述各模块完成功效。 以上提议采取HIPO图进行功效分解和模块描述,更高要求提议采取IDEF0方法进行功效模型设计。具体设计应用系统各个组成模块完成功效及其相互之间关系,用IPO或结构图描述各模块组成结构、算法、模块间接口关系,和需求、功效和模块三者之间交叉参考关系。每个模块描述说明可参考以下格式:模块编号:模块名称:输入:处理:算法描述:输出:其中处理和算法描述部
12、分关键采取伪码或具体程序语言完成。对具体设计更高要求提议用IDEF0图进行各功效模块设计。假如对软件需进行二次开发(包含功效扩展、功效改造、用户界面改造等),则对应设计工作应该设置子课题完成。注意:算法描述关键是说明BLL层代码逻辑,UI层只做简单输入验证和界面显示功效。5.3.1 XX子系统.1 XX模块列表和分页创建XX.2 XX模块XX列表XX修改5.3.2 XX子系统5.3.6.1 用户管理模块模块描述:管理系统用户,包含添加用户并给予角色、修改用户资料和角色、删除用户。关键功效:添加用户、修改用户、删除用户、列表和分页。5.3.6.1.1 列表和分页1、 步骤图省略2、 输入项分页索
13、引页面传参数页面加载时为13、 输出项1) 列表具体统计;2) 目前页码;3) 分页总数;4) 统计总数。4、 算法描述系统管理用户数据量不大,而且该功效使用频率不高,能够不用优化分页,直接获取用户表全部统计,提议UI层使用gridview控件,调用ExamSys.BLL.System_admin_info GetAllList()绑定控件,利用gridview自带分页功效,显示分页按钮、目前页、分页总数、统计总数、5.3.6.1.2 添加用户1、 步骤图输入用户资料选择角色加密密码填写合规用户信息保留至表System_admin_info验证必填项验证用户名是否存在是否成功分拆角色ID字符串
14、循环字符串数组信息保留至表Dict_admin_vs_roles返回成功信息是否是返回失败信息否是否操作统计日志2、 输入项用户IDstring必填姓名string必填用户密码string必填确定密码string必填联络电话stringE-mail string状态char用户角色IDstring3、 输出项1) 成功,UI提醒添加用户完成;2) 失败,UI提醒具体信息。4、 算法描述1) 前端js判定必填项输入和二次密码是否相同,角色能够不选;2) BLL须验证必填项,用户名是唯一不能反复;3) 加密密码使用MD5.Encrypt(string String, string Key),Key
15、 = 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.3 修改用户1、 步骤图输入用户资料选择角色填写合规用户信息保留至表System_admin_info验证
16、必填项加密密码是否成功分拆角色ID字符串循环字符串数组信息保留至表Dict_admin_vs_roles返回成功信息是是返回失败信息否否依据用户ID删除表Dict_admin_vs_roles统计是否成功是否操作统计日志2、 输入项用户IDstring页面传参数姓名string必填用户密码string必填确定密码string必填联络电话stringE-mail string状态char用户角色IDstring3、 输出项1) 成功,UI提醒修改用户完成;2) 失败,UI提醒具体信息。4、 算法描述1) 前端js判定必填项输入和二次密码是否相同,角色能够不选;2) 加密密码使用Chukeh.Se
17、curity.MD5. Encrypt(string String, string Key),Key = LinLiYan;3) 依据用户ID删除表Dict_admin_vs_roles统计ExamSys.BLL.Dict_admin_vs_roles DeleteByAdminID(string admin_id) ;4) 分拆角色ID字符串并循环字符串数组,信息保留至该表ExamSys.BLL.Dict_admin_vs_roles Add(ExamSys.Model.Dict_admin_vs_roles model)。5.3.6.1.4 删除用户1、 步骤图列表中点击删除按钮是否成功返
18、回成功信息是返回失败信息否依据用户ID删除表Dict_admin_vs_roles统计是否成功是否依据用户ID删除表System_admin_info统计操作统计日志2、 输入项用户IDstring页面传参数3、 输出项1、 成功,UI提醒删除用户完成,刷新列表;2、 失败,UI提醒具体信息。3、 算法描述1) 依据用户ID删除表System_admin_info统计ExamSys.DAL.System_admin_info Delete(string admin_id) ;2) 依据用户ID删除表Dict_admin_vs_roles统计ExamSys.BLL.Dict_admin_vs_r
19、oles DeleteByAdminID(string admin_id) 。5.3.6.2 角色管理模块5.3.6.3 系统设置模块5.3.6.4 系统登录注销模块5.4 系统界面具体设计系统界面说明应用系统软件多种接口。整个系统其它接口(如系统硬件接口、通讯接口等)在对应部分说明。5.4.1 外部界面设计依据系统界面划分进行系统外部界面设计,对系统全部外部接口(包含功效和数据接口)进行设计。5.4.2 内部界面设计设计系统内部各功效模块间调用关系和数据接口。5.4.3 用户界面设计要求人机界面内容、界面风格、调用方法等,包含所谓表单设计、报表设计和用户需要打印输出等设计。此部分内容可能比较
20、多。6 数据库系统设计此数据库设计可单独成册,尤其对大型数据库应用系统,即有一个单独数据库设计说明书。6.1 设计要求6.2 信息模型设计确定系统信息类型(实体或视图),确定系统信息实体属性、关键字及实体之间联络, 具体描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。 6.3 数据库设计6.3.1 设计依据说明数据被访问频度和流量,最大数据存放量,数据增加量,存放时间等数据库设计依据。6.3.2 数据库种类及特点说明系统内应用数据库种类、各自特点、数量及怎样实现互联,数据怎样传输。6.3.3 数据库逻辑结构说明数据库概念模式向逻辑模式转换所采取方法论及工具,完成数据库概
21、念模式向逻辑模式转换。 具体列出所使用数据结构中每个数据项、统计和文件标识、定义、长度及它们之间相互关系。此节内容为数据库设计关键部分。6.3.4 物理结构设计 列出所使用数据结构中每个数据项存放要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包含: 数据在内存中安排,包含对索引区、缓冲区设计; 所使用外存设备及外存空间组织,包含索引区、数据块组织和划分; 访问数据方法方法。6.3.5 数据库安全说明数据共享方法,怎样确保数据安全性及保密性。6.3.6 数据字典编写具体数据字典。 对数据库设计中包含到多种项目,如数据项、统计、系、文卷模式、子模式等通常要建立起数据字典,以说明它们标识符、同义名及相关信息。7 信息编码设计7.1 代码结构设计确定信息分类编码总体方案,进行分类代码结构设计。7.2 代码编制按代码结构编制信息代码