银行存取款数据流图
总体设计
主控模块1.0
存款控制2.0
取款控制2.1
ห้องสมุดไป่ตู้
接 收 存 款 校验 提 示出 错2.1
生成流 水号 处理存 款2.2
打印存 款单2.3
接 收 取款 校验 提 示 出 错 3.1
计 算 利 息 3.2
生成取 款记录 销户3.3
打 印 存 款 单3.4
总体设计
3、模块描述 • 总控模块1.0 main:本模块是一个运行 菜单,含有存款处理、取款处理、退出三 项。 • 单击“存款处理”,运行“存款控制”模 块2.0 • 单击“取款处理”,运行“取款控制”模 块2.1 • 单击“退出” ,返回到操作系统。
计算 利息
更新存 款记录 更新底 账
打印 取款 单
D3 利息对照表
D2 底帐
需求分析
4、系统的顶层IPO图 • 存款处理的IPO图:
当天存款 记录
存款事务
1、生成流水 号 2、校验事务 记录 3、更新存款 记录
有效事务记 录
更新后的存 款记录
需求分析
• 取款处理的IPO图:
取款事务 存款信息 底帐 1、校验事务记录 2、计算利息 有效取款事务
储户(终点)
处理
处理事务(存款、取款)
打印利息单,打印存款单
数据流
存款单: 姓名、住址、存款类型、存款金额、存款日 期、利率、流水号 底账: 姓名、住址、存款类型、存款金额、存款 日期、利率、流水号、存款日期、利息
数据存储
存款信息表 底账
可行性研究
2、数据流图 0层数据流图
存款单
业务员
事务
储 蓄 系 统
可行性研究
3、数据字典
名字:存款单 别名:存款信息 描述:客户在银行中存款的唯一凭证 定义:存款单=姓名+住址+存款类型+存款日期+存款金 额+利率+流水号 位置:存款数据表,打印机 名字:姓名 别名: 描述:唯一识别存单持有人的合法性 定义:姓名=4{字符}8 位置:存款单、取款单
可行性研究
名字:住址 别名: 描述:存单持有人的家庭住址 定义:住址=1{字符}30 位置:存款单、取款单 名字:存款类型 别名: 描述:以何种方式存入银行 定义:存款类型=2{数字}2 位置:存款单、取款单
可行性研究
4、E-R图(自己加上属性)
储户
m
存取款
n
储蓄所
需求分析
• 1、确定系统的综合要求 • A、功能要求: • 打印存款单和取款单 • 计算不同情况利息 • 自动保存存款和取款信息以备将来统计、查询之用。 • B、性能要求: • 接受处理一个事务不能超过10秒。 • 一条存款记录为68个字节。 • 一条取款记录为84个字节。 • 可根据全年业务总量估算外存储器的容量。
L/O/G/O
Try Your Best!
问题的定义
• 取时,将上述信息输入到计算机中,计算 机根据主关键字进行查找,如找到,计算 利息并打印利息清单给用户;如没找到, 则给出相应的出错信息。为简化问题,可 以认为储户一次性将本金和利息全部取完, 进行销户处理,应将其取款情况记录在 “底帐”中。
可行性研究
1、提取信息 源点/终点
业务员(源点)
需求分析
• • C、运行环境要求: 根据目前流行机型本系统应在奔腾 以上计算机上运行。 • WindowsXP操作系统,数据库任选。 • D、将来可能提出的要求 • 统计、查询、分类汇总、数据库的 整理等。。
需求分析
2、系统的数据要求: • 为计算利息并判断输入事务的合法性,在 外存中存放一张存款类型、利率对照表, 结构如下:
可行性研究
名字:取款单 别名:底账 描述:客户在银行存款期间内应得到的利息 定义:取款单=存款单+取款日期+利息 位置:底账,打印机
可行性研究
名字:取款日期 别名: 描述:何时将款取出银行 定义:取款日期=8{数字}8 位置:取款单 名字:利息 别名: 描述:存取款期间内应得利息总计 定义:利息=1{数字}8 位置:取款单
更新后的底帐
3、更新底帐 4、更新存款记录 更新后的存款记 录
总体设计
1、影射方案
主控模块
存款控制 取款控制
接收存款
生成流水号
打印存款单
计算利息
生成取款记录
销户
打印存款 单
校验、显示错 误
处理存款
校验、显示错误
总体设计
2、优化 • 为减少耦合,也为了使2.1.1和3.1.1作用 域小于控制域,“校验”和“接收存款”、 “校验”和“接收取款”应合为一个模块。 • “销户”太小,应和“生成取款记录”合 为一个模块。 • “生成流水号”、“处理存款”都是对D1 操作,可合为一个模块。
L/O/G/O
软件工程
主讲教师:周宏生
第17课 习题讲解
问题的定义 可行性分析
需求分析 总体设计
问题的定义
• 计算机储蓄系统应具备两方面的功能: 自动记录存款和取款 • 存款时,由业务员键入存款人的姓名、 住址、存款类型、存款日期、存款金 额、利率、并自动生成流水号,保存 在“存款数据表”中。流水号和存款 日期可作为将来查询、统计、取款时 的主关键字,类型等可作为辅关键字。 打印存单给用户。
可行性研究
名字:存款日期 别名: 描述:款项存入银行日期 定义:存款日期=8{数字}8 位置:存款单、取款单 名字:存款金额 别名: 描述:开户时存款的多少 定义:存款金额=1{数字}10 位置:存款单、取款单
可行性研究
名字:利率 别名: 描述:单位时间内应得的利息 定义:利率=1{数字}6 位置:存款单、取款单 名字:流水号 别名: 描述:某日内存款的序号 定义:流水号=1{数字}4 位置:存款单、取款单
总体设计
• 存款控制模块 2.0 • 在此界面上有输入存款单各项的控件和 “确定”,“打印”,“返回”三个命令 按钮。 • 其中:单击“确定”完成流水号的生成、 将输入的数据存盘(处理存款)的工作。 即模块2.2。单击“打印”完成打印存款单。 • 输入数据的校验可以使用相应事件动态完 成。
总体设计
需求分析
存款类型 类型编码 利率
活期存款 定期三个月 定期半年 定期一年 定期二年 定期三年 定期五年 定期八年 定活两便
01 11 12 13 14 15 16 17 21
需求分析
3、系统逻辑模型(数据流图)
接收 存款 事务
业务员
记录 存款 信息
打印 存单 储户
区 分 事 务
接收 取款 事务
D1 存款信息
利息清单
储户
程序流程图实例
一层图
存款单
处理存款
存款单
事务
业务员
区分事务
储户
取款单
处理取款
利息清单
可行性研究
二层数据流图(自己写上数据流名)
接收 存款 事务
业务员
记录 存款 信息
打印 存单 储户
区 分 事 务
接收 取款 事务
D1 存款信息
计算 利息
更新存 款记录 更新底 账
打印 取款 单
D2 底帐
• 取款控制模块 2.1 • 在此界面上有输入存款单各项、取款时间的控件 和“确定”,“打印”,“返回”三个命令按钮。 • 其中:单击“确定”后、以存款日期和流水号 为主关键字在存款数据库中查找,如找到则比较 其他各项确定输入的合法性,合法后则依次执行 模块3.2,3.3;如查不到或不合法则给出错误提 示,并将焦点回到姓名处重新输入。 • 单击“打印”完成取款单的打印工作。即模块 3.4 • 单击“返回”释放返回主菜单。