软件工程课程设计-银行储蓄管理系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.6.1 确定输入流和输出流的边界,从而孤立出变换中心。如图:1.1
图 1.1
1.6.2 完成“第一级分解”
基于书上第三章第三题实现在银行储蓄管理系统在一级分解中,可将系统分解成三个子 功能模块:用户操作,业务员操作,系统输出。
如下图所示:
银行存储管理系统
用户操作
业务员操作
系统输出
1.6.3 完成“第二级分解”
1.3 系统 ER 图 系统主要关系模式:
1. 储户(储户姓名,住址,身份证号码) 2. 管理员(员工号,姓名) 3. 存款(储户姓名,员工号,金额,存款类型,到期日期,存款日期) 4. 查询(储户姓名,员工号) 5. 取款(储户姓名,员工号,金额,取款日期)
姓名
住址
身份证号码
1
储户
1
金额 存款类型 到期日期
(芙蓉学院) (芙蓉学院)
软件工程 实验报告
课 题: 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:
银行储蓄管理系统 谭斌
芙蓉计科 0701 周学清
2011/3/20
评阅意见:
评定成绩:
指导老师签名: 年月日
银行储蓄管理系统
1. 需求分析
1.1 系统的功能性需求 1.2 系统需求分析规格说明书 1.3 系统实体联系(ER)图 1.4 系统数据流(DFD)图 1.5 系统数据字典 1.6 面向数据流的设计方法
n
n
n
存
查
取
款
询
款
金额 取款日期
存款日期
打
n
n
n
印
存
员wenku.baidu.com号
单
管理员
姓名
清单信息
打
印
金额
n
n
n
清
单
存款类型
存
查
取
到期日期
款
询
款
存款日期
取款日期 金额
1
1
1
1
1
系统
1. 5 系统顶层数据流(DFD)图
打印存单
用户
开户 取款 存款 查询
存款
业务员
取款
系统
打印清单
1.6 系统 0 层数据流(DFD)图
储户
业务员操作
开
存
户
款
取
查
款
询
密码验证
提交用 户申请
表
提交存 款单
提交用 户申请
表
提交用 户查询
表
<3> 系统输出分解
系统输出可分解为:计算利息-打印清单,保存新用户信息,更新用户信息,打印存单 分解图如下:
系统输出
计
保存
更新
打
算
新用
用户
印
利
户信
信
存
息
息
息
单
打 印 清 单
1.6.4 使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。
数据名字:存单 数据来源:存款信息表 数据目的:储户 数据组成:姓名+到期时间+存入类型+存入时间+利率+ 存入金额
数据名字:取款单 数据来源:储户 数据目的:储户信息表 数据组成:姓名+到期时间+存入类型+存入时间+利率+ 取款金额+身份证号
数据名字:存款单 数据目的: 存款信息表 数据组成:姓名+到期时间+存入类型+存入时间+利率+ 存入金额+身份证号
存款
核对 正确
打印
2.4 打印存单
2.3 信息输入系统
1.8 第 3 层数据流图
储户信息文件
核对错误
读取信息
3.2 信息核对
更新储户信息
填写取款信息
3.1 提交取款单
核对信息
核对正确
打印
3.4 打印清单
3.3 信息输入系统
取款
1.9 第 5 层数据流图
储户信息文件
新用户信息
5.1 注册
存储信息
取款信息 存款信息
查询信息
5.2 身份验证
验证错误
取款通知 存款通知
显示信息
1.10 数据字典
数数据据名名字字::注储册申户信请表息表 数数据据来来源源::储储户户 数数据据目目的的::储身户份信验息证 数数据据组组成成::姓姓名+名密+密码码 +住+址住址+身+身份份证证号号码码+现有金额
数据名字:利息清单 数据来源:系统 数据目的:储户 数据组成:利息+姓名+取款时间+取款金额
1.1 系统的功能性需求
系统为管理者提供主功能界面 系统在启动时要求管理者输入登录帐号与密码 系统要通过管理员执行一系操作(如:添加用户,修改,查询,删除等) 管理员代用户实现存款,取款,查询等操作 储户的一切信息,存储在数据库表中
1.2 系统需求分析规格说明书
实现储户开户登记 办理定期存款帐 办理定期存款手续 办理活期取款帐 办理活期取款手续 实现利息计算 输出明细表 数据备份和数据恢复功能 查看帐户信息
息
打 印 清 单
#include<iostream.h> #include<string.h> class Bank { private:
Account * account[50]; int maxID; int accNum; public: Bank(); void Append(); void Delete(); void Query(); }; class Account { private: int ID; char * Name; //int Year; double Balance; public: Account(); Account(int,const char * ,double); void Saving(); int Withdraw(); void ShowMe(); int getID(){return ID;}
密码错误
1.开户 2.存款 3.取款 4.查询
8.打印存单
打印存单
储户信息文件
存取款信息变动 读取储户信息
5.验证
密码正确
业务员
保存新用户信息
2.存款 3.取款
系统
6.计算利息
7.打印清单
利息清单
1.7 第 2 层 DFD 图
储户信息文件
核对错误
填写存款信息
核对信息
2.1 提交存款单
读取信息
2.2 信息核对
目录
1. 需求分析
系统中要求每个人银行管理者都有一个系统帐号,并每个帐号都有密码,系统的一切操 作(如:增加存储用户,提高利率等)都由管理者执行,而不是由存诸用户执行,也主 是说存储用户并不直接与系统交互,而是通过管理员与系统交互。该系统主要有两部份 业务功能,存款与取款。 储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名,住 址(或电话号码),身份证号码,存款类型,存款日期,到期日期,利率及密码(可选) 等信息,并打印存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密 码,若密码正确或存款时未留密码,则系统计算得利息并打印出利息清单给储户。
<1> 用户操作的分解
可将用户操作分解为:开户民,存款,取款,查询。 如下图所示:
用户操作
开
存
户
款
取
查
款
询
提交用 户申请
表
提交存 款单
提交用 户申请
表
提交用 户查询
表
<2>业务员操作的分解
业务员的操作是将用户的操作传送给系统,代替用户与系统交互,所以,业务员的操作与系 统的操作基本类似,也可以近似地将业务员看作用户。 所以操作员操作可分解为:开户,存款,取款,查询 并且如用户在开户时设有密码,则进行密码验证。 所以分解图如下:
由于业务员的操作与用户的操作基本相似,可以简单化地认为系统只与业务员交互,基 于这个思想,将有利与简化以后系统程序的设计与开发。
精化图如下:
银行存储管理系统
用户操作
业务员操作
系统输出
开
存
取
查
户
款
款
询
密码验证
提
提
交
交
用
存
户
款
申
单
请
表
提
提
交
交
取
用
款
户
单
查
询
表
计
保存 更
打
算
新用 新
印
利
户信 用
存
息
息
户
单
信