软件工程
银行业务管理和现金结算系统
--- 结构化设计文档
***原创所有,本文禁止一切形式的转载。
一、 体系结构设计
1) 软件结构化设计概述
该阶段主要在于定义银行业务管理系统的主要结构元素及其之间的关系。
详细的数据流图已在需求分析文档中给出。通过功能划分过程来完成软件结构设计,设计基本模块如下:开户、销户、挂失、冻结、存款、取款、转账、管理、缴费等。另外还有输入输出、计算利息、打印单据、显示信息等其他功能模块。
2) 结构化分析过程
i. 根据数据流图决定问题的类型:变换型和事务型。针对两种类型分别进行分析处理。
ii. 由数据流图推导出系统的初始结构图。
iii. 利用启发式原则来改进系统的初始结构图,得到符合要求的结构图。
3) 结构图
二、 接口设计
1) 软件接口设计概述
依据数据流图中的自动化系统边界设计银行业务管理系统与用户(管理员)之间的交互。
2) 软件与用户间交互的接口设计
以下用几个例子描述该银行业务管理系统的人机交互界面的设计,界面不只限于以下。
i. 登陆界面
ii. 主操作窗口
iii. 查看我的信息
iv. 开户业务
v. 存款业务
vi. 信用卡透支取款
vii. 学费代扣
viii. 查询储户信息
l 管理员权限设计
1` 管理员可查看储户、账户、存取款转账、缴费扣费明细等;
2` 高级的管理员可以查询、添加、修改、删除低级管理员信息;
3` 某特殊级别管理员可以修改利率和手续费;
3) 模块或软件构件间的接口设计
模块间接口主要以参数传递的形式体现,具体接口信息如下所示:
处理开户记录开户信息 打印开户凭证
接口1:处理开户 -- 记录开户信息(开户信息)
接口2:处理开户– 打印开户凭证(开户信息)
处理销户记录销户信息 检查账户状态 打印销户凭证 处理余额
接口1:处理销户 -- 记录销户信息(销户信息)
接口2:处理销户– 检查账户状态(销户信息)
接口3:处理销户– 打印销户凭证(销户信息)
接口4:处理销户– 处理余额(销户信息)
处理存款记录存款信息 打印存款明细
接口1:处理存款– 记录存款信息(存款信息)
接口2:处理存款– 打印存款明细(存款信息)
接口3:记录存款信息– 打印存款明细
处理取款检查密码 输入密码 验证密码 计算利息 打印取款明细
接口1:处理取款– 检查密码(取款信息)
接口2:处理取款– 计算利息(取款信息)
接口3:处理取款– 打印取款明细(取款信息)
接口4:检查密码– 输入密码(密码信息)
接口5:检查密码– 验证密码(密码信息)
处理转账检查密码 输入密码 验证密码 记录转账信息 验证存在性 验证余额 打印收款凭证 打印转账明细
接口1:处理转账– 检查密码(转账信息)
接口2:处理转账– 记录转账信息(转账信息)
接口3:处理转账– 验证存在性(转账信息)
接口4:处理转账– 验证余额(转账信息)
接口5:处理转账– 打印收款凭证(转账信息)
接口6:处理转账– 打印转账明细(转账信息)
接口7:检查密码– 输入密码(密码信息)
接口8:检查密码– 验证密码(密码信息)
处理挂失记录挂失信息 变更账户状态
接口1:处理挂失 -- 记录挂失信息(挂失信息)
接口2:处理挂失– 变更账户状态(挂失信息)
处理冻结记录冻结原因 变更账户状态 打印冻结信息
接口1:处理冻结– 记录冻结原因(冻结信息)
接口2:处理冻结– 变更账户状态(冻结信息)
接口3:处理冻结– 打印冻结信息(冻结信息)
处理缴费检查密码 输入密码 验证密码 输入缴费信息 打印缴费明细
接口1:处理缴费– 检查密码(缴费信息)
接口2:处理缴费– 输入缴费信息(缴费信息)
接口3:处理缴费– 打印缴费明细(缴费信息)
接口4:检查密码– 输入密码(密码信息)
接口5:检查密码– 验证密码(密码信息)
管理员管理检查身份 检查级别权限 管理员信息 检查密码 输入密码 验证密码 查询信息 记录查询信息 打印查询明细 修改信息 记录修改信息 打印修改明细
接口1:管理员管理– 检查身份(管理员信息)
接口2:管理员管理– 查询信息(管理员信息)
接口3:管理员信息– 修改信息(管理员信息)
接口4:检查身份– 检查级别权限(级别信息)
接口5:检查身份– 检查密码(密码信息)
接口6:查询信息– 记录查询信息(查询结果)
接口7:查询信息– 打印查询明细(查询结果)
4) 软件与其他软硬件系统之间的接口设计
银行业务管理系统运行需要java环境和SQL Server支持,需要JDK /JRE 1.6以上版本和JDBC 4.0以上版本的驱动程序。
打印业务明细单据需要业务管理系统和硬件打印机接口的支持。
三、 数据设计
1) 数据设计概述
E-R图、数据字典描述、状态图等已在需求分析文档中给出。根据分析模型中的实体关系图和数据字典进行数据设计,包括数据文件的设计和数据库设计。
2) 文件设计
i. 数据量较大的非结构化数据
数据库账户表、储户表、管理员表等设计的照片在数据库中是以文件路径的形式存在,即照片等的非结构化数据用文件存储,在工程路径/bin/image/下保存。
ii. 历史记录、操作记录、表单数据等
在银行账户管理系统中进行操作后会有记录,相应的操作记录会保存在文件中备查。
在系统中进行诸如存取款转账缴费行为时,可以打印业务明细,业务明细以excel文件的形式保存在工程文件目录下,需要时可从excel文件中直接打印信息。
时间久远的记录转移到历史文件中保存,文件形式为excel。
iii. 非关系层次化数据,如系统配置文件
系统需要java环境才能运行,银行业务管理系统初始化时需要检测本机环境,配置正确方能进入系统,配置信息从配置文件中获得。
3) 数据库设计
i. 数据对象实体的映射
横切:存款明细、取款明细、转账明细、开户销户记录、挂失冻结记录等业务信息采用横切的方式,即业务明细信息凡是超过3个月的转移到历史表或者文件中存储。
竖切:账户表中常用的属性是账户号、密码、余额、该账户对应储户的身份证号等属性,而该账户对应储户的联系方式等属性较少使用,因此将账户必要信息建立成账户表,而把其他不常用信息存储在储户表中。
ii. 关系的映射
管理员(工号,密码,级别,姓名,身份证号,联系方式,住址,照片,备注)
主码:工号
外码:工号(操作员工号)
储户(户号,身份证号,姓名,联系方式,照片,备注)
主码:身份证号
外码:户号(账户表 - 户号)
账户(户号,密码,余额,开户日期,开户地,信用记录,挂失状态,备注)
主码:户号
外码:户号(储户表 - 户号)
存款单(存款单号,户号,存款金额,存款日期,存款类型,操作员工号)
主码:存款单号
外码:户号 操作员工号 存款类型(利率表 - 存款类型)
取款单(取款单号,户号,取款金额,利息,应得金额,余额,取款日期,取款方式,操作员工号)
主码:取款单号
外码:户号 操作员工号
销户单(销户单号,户号,销户前余额,销户日期,操作员工号)
主码:销户单号
外码:户号 操作员工号
转账单(转账单号,转出户号,转入户号,转账金额,转账日期,操作员工号)
主码:转账单号
外码:转出户号 转入户号 操作员工号
挂失单(户号,余额,挂失日期,操作员工号)
主码:户号
外码:操作员工号
利率单(编号,类型,期限,利率)
主码:编号
外码:类型
代理单(编号,名称,代理业务,备注)
主码:编号
外码:名称(代理业务名称)
缴扣投保记录(记录编号,名称,时间,金额,备注)
主码:记录编号
外码:名称
四、 过程设计
1) 详细设计阶段描述
确定银行业务管理系统各个组成部分内的算法及内部数据结构,并选定某些过程的表达形式来描述各种算法。
依据分析模型中的加工规格说明、状态转换图进行过程设计。针对过程设计阶段,对该系统的内部详细设计用程序流程图的方式表达。
2) 程序流程图设计
程序流程图设计以如下功能示例:开户、销户、挂失、冻结、存款、取款、转账、管理、缴费等。