资源描述
xxxxx系统
具体设计说明书
文件状态:
[√] 初稿
[ ] 正式公布
[ ] 正在修改
文件标识:
目前版本:
1.0
作 者:
完成日期:
版 本 历 史
版本/状态
作者
参与者
起止日期
备注
1.0
开始编写
修 改 记 录
日期
修订版本
修改章节
修改描述
作者
目录
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(User Interface)用户界面表示层 7
5.1.2 BLL(Business Logic Layer)业务逻辑层 8
5.1.3 DAL(Data Access Layer)数据访问层 8
5.1.4 Common类库 8
5.1.5 Entity Class实体类 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
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 运行环境概述
对本系统所依靠于运行硬件,包含操作系统、数据库系统、中间件、接口软件、可能性能监控和分析等软件环境描述,及配置要求。
2.1.3 条件和限制
具体描述系统所受内部和外部条件约束和限制说明。包含业务和技术方面条件和限制和进度、管理等方面限制。
2.1.4 具体设计方法和工具
简明说明具体设计所采取方法和使用工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据步骤图、业务步骤图、选择CASE工具等,尽可能采取标准规范和辅助工具。
3 系统具体需求分析
关键对系统级需求进行分析。首先应对需求分析提出企业需求深入确定,并对因为情况改变而带来需求改变进行较为具体分析。
3.1 具体需求分析
包含:
· 具体功效需求分析
· 具体性能需求分析
· 具体资源需求分析
· 具体系统运行环境及限制条件分析
3.2 具体系统运行环境及限制条件分析接口需求分析
包含:
· 系统接口需求分析
· 现有硬、软件资源接口需求分析
· 引进硬、软件资源接口需求分析
4 总体方案确定
着重处理系统总体结构确定及界面划分问题。
4.1 系统总体结构确定
对系统组成、逻辑结构及层次进行确定,对应用系统、支撑系统及各自实现功效进行确定,细化集成设计及系统工作步骤,尤其要注意因软件引进造成系统本身结构和企业其它系统结构改变。包含:
系统组成、逻辑结构及层次确定
应用系统结构确定
支撑系统结构确定
系统集成确定
系统工作步骤确定
4.2 系统具体界面划分
4.2.1 应用系统和支撑系统具体界面划分
应用系统和支撑系统之间界面包含系统主服务器和其它服务器服务范围及访问方法,网络及数据库对应用系统支撑方法,全局数据管理和存取方法等。
4.2.2 系统内部具体界面划分
系统各功效之间界面包含覆盖范围,模块间功效调用包含到系统模块及方法,全局数据格式,系统性能要求等。
5 系统具体设计
5.1 系统程序代码架构设计
系统采取三层架构模型,将应用系统划分为用户界面表示层、业务逻辑层、数据访问层,和Entity Class实体类、Common类库组成,各层关系以下图所表示:
5.1.1 UI(User Interface)用户界面表示层
负责和用户进行交互,显示、接收数据,和此同时,做部分简单逻辑处理,如:输入数据有效性判定、显示多种异常、处理Dataset统计集数据。它只和BLL(Business Logic Layer)业务逻辑层、Entity Class实体类两个项目发生关联,可能和Common类库发生关联。
5.1.2 BLL(Business Logic Layer)业务逻辑层
是整个系统关键,它负担了全部逻辑判定,实现了程序功效,它是灵活。BLL层既是调用者,又是被调用者,所以,要合适进行设计达成解耦效果。BLL层只关联DAL层和实体类,可能关联Common类库。即使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类库
用于存放公用类。最常见就是数据库访问类,比如:链接字符串,数据库引擎类。它直接和数据库进行机械式交换,无任何逻辑。
5.1.5 Entity Class实体类
相当于加强数据结构,实现了对数据封装。数据库中每个表全部对应一个实体类,表字段就是实体类属性,类型一一对应。UI、BLL、DAL这三层交互关键就是经过实体类作为参数,并Return回信息。
5.2 系统结构设计及子系统划分
依据业务和功效,将系统逻辑结构划分为XX子系统、XX子系等6个子系统,以下图所表示:
XXXXXXXX系统
XX管理
子系统
XX管理
子系统
XX
子系统
XX
子系统
XX
子系统
XX
子系统
各个子系统根据功效角度分解,划分出若干不一样功效模块,以下面各图所表示:
5.3 系统功效模块具体设计
按结构化设计方法,在系统功效逐层分解基础上,对系统各功效模块或子系统进行设计。此为具体设计关键部分之一。
用层次图描述系统总体结构、功效分解及各个模块之间相互调用关系和信息交互,用IPO图或其它方法描述各模块完成功效。 以上提议采取HIPO图进行功效分解和模块描述,更高要求提议采取IDEF0方法进行功效模型设计。
具体设计应用系统各个组成模块完成功效及其相互之间关系,用IPO或结构图描述各模块组成结构、算法、模块间接口关系,和需求、功效和模块三者之间交叉参考关系。
每个模块描述说明可参考以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分关键采取伪码或具体程序语言完成。
对具体设计更高要求提议用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、 输入项
分页索引 页面传参数 页面加载时为1
3、 输出项
1) 列表具体统计;
2) 目前页码;
3) 分页总数;
4) 统计总数。
4、 算法描述
系统管理用户数据量不大,而且该功效使用频率不高,能够不用优化分页,直接获取用户表全部统计,提议UI层使用gridview控件,调用ExamSys.BLL.System_admin_info GetAllList()绑定控件,利用gridview自带分页功效,显示分页按钮、目前页、分页总数、统计总数、
5.3.6.1.2 添加用户
1、 步骤图
输入用户资料
选择角色
加密密码
填写合规
用户信息保留至表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判定必填项输入和二次密码是否相同,角色能够不选;
2) BLL须验证必填项,用户名是唯一不能反复;
3) 加密密码使用MD5.Encrypt(string String, string 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.3 修改用户
1、 步骤图
输入用户资料
选择角色
填写合规
用户信息保留至表System_admin_info
验证必填项
加密密码
是否成功
分拆角色ID字符串
循环字符串数组
信息保留至表Dict_admin_vs_roles
返回成功信息
是
是
返回失败信息
否
否
依据用户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判定必填项输入和二次密码是否相同,角色能够不选;
2) 加密密码使用Chukeh.Security.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、 步骤图
列表中
点击删除按钮
是否成功
返回成功信息
是
返回失败信息
否
依据用户ID删除表Dict_admin_vs_roles统计
是否成功
是
否
依据用户ID删除表System_admin_info统计
操作统计日志
2、 输入项
用户ID string 页面传参数
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_roles 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 用户界面设计
要求人机界面内容、界面风格、调用方法等,包含所谓表单设计、报表设计和用户需要打印输出等设计。此部分内容可能比较多。
6 数据库系统设计
此数据库设计可单独成册,尤其对大型数据库应用系统,即有一个单独《数据库设计说明书》。
6.1 设计要求
6.2 信息模型设计
确定系统信息类型(实体或视图),确定系统信息实体属性、关键字及实体之间联络, 具体描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。
6.3 数据库设计
6.3.1 设计依据
说明数据被访问频度和流量,最大数据存放量,数据增加量,存放时间等数据库设计依据。
6.3.2 数据库种类及特点
说明系统内应用数据库种类、各自特点、数量及怎样实现互联,数据怎样传输。
6.3.3 数据库逻辑结构
说明数据库概念模式向逻辑模式转换所采取方法论及工具,完成数据库概念模式向逻辑模式转换。 具体列出所使用数据结构中每个数据项、统计和文件标识、定义、长度及它们之间相互关系。此节内容为数据库设计关键部分。
6.3.4 物理结构设计
列出所使用数据结构中每个数据项存放要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包含:
数据在内存中安排,包含对索引区、缓冲区设计;
所使用外存设备及外存空间组织,包含索引区、数据块组织和划分;
访问数据方法方法。
6.3.5 数据库安全
说明数据共享方法,怎样确保数据安全性及保密性。
6.3.6 数据字典
编写具体数据字典。 对数据库设计中包含到多种项目,如数据项、统计、系、文卷模式、子模式等通常要建立起数据字典,以说明它们标识符、同义名及相关信息。
7 信息编码设计
7.1 代码结构设计
确定信息分类编码总体方案,进行分类代码结构设计。
7.2 代码编制
按代码结构编制信息代码
展开阅读全文