银行储蓄系统
需求分析
银行储蓄系统存取款流程如下:
1. 业务员事先录入利率信息。
2. 如果是存款,储户填写存款单,业务员将存款单键
入系统,系统更新储户存款信息(存款人姓名、存款人账号、电话号码、身份证号码、存款金额、存款类型、利息、密码等),接下来打印存单给储户;
3. 如果是取款,储户填写取款单,业务员将取款单键
入系统,系统根据储户提供的密码及取款单来核对储户密码,若密码正确,则系统更新储户存款信息,根据银行的利率信息计算利息,最后打印利息清单给储户。
⒈ 描述问题的信息域,建立数据模型——E - R图
(1)用户信息E-R图
(2)储蓄信息E-R图
(3)系统E-R图
图中,关系“存款”和关系“取款”各自的属性,分别组成了存款单和取款单的结构。
⒉ 描述软件应完成的功能,建立功能模型——数据流图
(1)存款数据流图
⑵取款数据流图
⒊ 描述外部事件结果的软件行为,建立行为模型——状态转换图
(1)存款状态转换图
(2)取款状态转换图
二、总体设计
采用面向数据流的设计方法。
⒈ 复查并精化数据流图
⑴对原来的数据流图进行复查和精化分析
考虑到现实世界的实际情况,
①银行的存/取款业务为同一个窗口。
②银行存/取款业务系统只有一个用户身份验证环节,且位于系统其它处
理环节之前。分析原数据流图,存款数据流图和取款数据流图都具有单
独的用户身份验证处理,但是,处理过程完全相同。
⑵根据复查分析结果对原来的数据流图进行修改
①将存款数据流图与取款数据流图整合为一个存/取款系统数据流图。
②整合后的存/取款系统数据流图共用一个户身份验证处理,并将该处理
环节调整至系统入口处,位于其它处理环节之前。
这样的做法实现了公共模块的合并,有利于降低耦合和提高内聚。
③在用户身份验证处理环节之后增加一个存款与取款的判断处理环节,
即,系统主菜单。以便于正确识别并分流存/取款不同事务。
整合后的系统数据流图如下,
⒉ 确定数据流图的性质
从系统数据流图可以看出,数据沿着两条输入通路进入系统,然后沿
着两条通路离开,具有明确的传入、变换和传出界面的。因此,可以认为
数据流具有变换流特征。
⒊ 确定数据流图的输入流和输出流的边界,孤立出变换中心
⒋ 完成“第一级分解”
上图中,位于软件结构最顶层的主模块C控制下属各模块:
m
·输入信息处理控制模块Ci。协调所有输入数据和控制信息的接收。。
·变换中心控制模块C。控制存/取款业务数据的操作处理。
t
·输出信息处理控制模块Co。控制存/取款单信息的生成和打印输出。
对于本系统,各模块的具体控制功能描述如下图,
⒌ 完成“第二级分解”
以下图中箭头线表示数据流。其中,蓝色实线表示数据;红色虚线表示控
制信息。箭头方向表示数据流动方向。
⑴输入控制
⑵变换控制(注意:红色圆圈所圈定数据流的表示方法。为什么?)
⑶输出控制
系统总体软件结构图(CS)如下图所示。
(注意:红色圆圈所圈定数据流的表示方法。)