----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
软件工程
银行业务管理和现金结算系统
--- 需求分析文档
1. 项目分工
2. 项目背景
当今计算机及网络技术飞速发展,计算机应用在全球范围内日益普及,而社会也正快速向信息化社会前进,信息系统的作用也越来越大。因此,纸质作为存储数据的介质已经不能适应时代大道发展。加上现如今,纯人工操作银行存取款业务已经不太现实,一是因为业务量大,人工操作会显得效率极低;二是因为银行存取款业务繁琐,精确度要求极高,人工操作易出错,甚至会造成不可挽回的损失。所以精确度高、出错率低的银行业务管理软件显得尤为重要。银行储蓄系统对于现代银行而言,是能否发挥其银行管理作用至关重要的技术平台。对于银行储户和银行管理人员来说,是能否方便快捷的获取信息的关键。因此银行储蓄系统应该能够为用户提供充足的信息和快捷方便的操作手段
3. 项目的功能需求
(1) 需求分析
系统中要求每个人银行操作员、管理员都拥有一个系统账号和密码,系统操作都由银行操作员、管理员执行,而不是由储户执行,即储户并不直接与系统交互,储户通过填写单据的方式由操作员代为操作。
该系统主要有如下业务功能,开户销户、挂失、活期定期存取款、转账汇款、利率更改、打印报账、还原备份、信息管理等业务。
(2) 系统设计方法
1. 系统为银行操作员(管理员)提供主功能界面,不为储户提供操作界面。
2. 管理员、操作员、储户、账户信息等均存储在数据库表中。
3. 进入系统时要求操作员或管理员输入账号与密码方可登陆。
4. 由管理员代替储户执行系列操作(如开户销户、挂失、存取款、转账汇款、利率更改、打印报账、还原备份、信息管理等)。
(3) 功能性分析
1. 实现账户开户
2. 实现账户销户
3. 实现储户信息登记
4. 打印储户信息明细单
5. 创建管理员
6. 办理定期存、取款
7. 打印定期存、取款明细单
8. 办理活期存、取款
9. 打印活期存、取款明细单
10. 实现账户间转账
11. 打印转账明细单
12. 办理挂失与取消挂失
13. 打印挂失明细单
14. 实现利息计算
15. 查看账户信息
16. 查看储户信息
17. 查看管理员信息
18. 实现手续费计算
19. 数据备份和数据恢复功能
20. 实现利率修改
21. 判定账户状态(是否存在、可用、余额足够等)
22. 判定管理员级别
23. 实现一定的搜索功能
4. 开发环境、硬件及软件的需求
开发工具:Eclipse 5.0 MARS
SQL Server 2014
Office Visio 2013
编程语言:SQL
Java
开发模式:C/S模式
操作系统:Windows7/8/10
硬件需求:CPU1.6GHz及以上、内存2GB及以上、硬盘空间10GB以上
软件需求:SQLServer 2008及以上
JDK 1.8
5. 系统的结构化功能建模、分层数据流图
(1) 顶层数据流图
(2) 1层数据流图
(3) 2层数据流图
i. 账户管理子系统分解图:
ii. 管理员管理子系统分解图:
iii. 利率管理子系统分解图:
iv. 存款子系统分解图:
v. 取款子系统分解图:
vi. 转账子系统分解图(其中“转账处理”加工块继续分解):
6. 数据字典描述
(1) 顶层数据字典
实体名称 |
数据流 |
简述 |
账户 |
密码、身份信息 |
账户可要求管理员进行相关操作,前提是需要通过密码、身份信息验证 |
管理员 |
事务 |
管理员可以代替账户发出查询、存取款、转账、挂失、销户等事务,前提是通过管理员验证 |
(2) 1层数据字典
子系统名称 |
编号 |
数据流 |
简述 |
账户管理子系统 |
1.1 |
密码、事务 |
账户可要求管理员可进行销户、挂失、取消挂失、查询信息、更改密码等操作,前提是需要通过密码、身份信息验证;管理员可为储户发出开户事务 |
管理员管理子系统 |
1.2 |
密码、事务 |
管理员管理储户和账户信息;高等级的管理员可管理低等级管理员,前提是通过密码验证级别符合 |
利率管理子系统 |
1.3 |
密码、事务 |
一定级别的管理员可以发出修改利率事务,前提是通过密码验证级别符合 |
存款子系统 |
1.4 |
密码、事务、存款凭证 |
账户可要求管理员进行存款操作并获得存款凭证,前提是通过密码和身份验证 |
取款子系统 |
1.5 |
密码、事务、取款凭证 |
账户可要求管理员进行取款操作并获得取款凭证,前提是通过密码和身份验证 |
转账子系统 |
1.6 |
密码、事务、转账凭证、收款凭证 |
账户可要求管理员进行转账操作并获得转账凭证,前提是通过密码和身份验证,同时为转入账户发出收款凭证 |
(3) 2层数据字典
i. 账户管理子系统分解图数据字典
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
账户密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
身份验证 |
密码验证通过、身份信息 |
身份验证通过 |
密码验证通过的基础上还需要验证身份通过,通过管理员核实身份证与本人是同一个人 |
新用户判断 |
账户信息 |
不存在当前账户 |
储户请求开户,抽象其所属账户信息为空,可在用户判断中通过 |
创建账户(开户) |
不存在当前账户、开户事务 |
账户信息 |
管理员发出开户事务,为储户创建账户,并将账户信息写入账户表 |
销户 |
身份验证通过、有效挂失、销户事务 |
销户信息 |
处理1:账户有销户请求,此时账户密码通过且身份验证符合,由管理员发出销户事务,经销户处理后将销户信息记录在销户表中; 处理2: 数据库中存在自动触发销户,即若挂失表中存在到达14个工作日的挂失记录,期间没有取消挂失的更改,会自动销户并将销户记录写入销户表 |
查询信息 |
身份验证通过、查询事务、账户信息 |
账户信息 |
账户有查询请求,此时账户密码通过且身份验证符合,由管理员发出查询事务,从账户表中读取相关信息返回给管理员 |
更改密码 |
身份验证通过、更改事务、密码输入 |
更改信息 |
账户有改密请求,账户原密码通过且身份验证符合,由管理员发出更改密码事务,由账户输入新密码后,将信息写入账户表,前提是这个账户不处于挂失状态 |
挂失管理 |
身份验证通过、挂失事务 |
挂失信息 |
账户发出挂失或取消挂失请求,密码和身份验证通过,由管理员发出挂失事务,若是挂失请求则将挂失信息写入挂失表;若是取消挂饰请求,则删除挂失表中对应挂失记录的挂失状态 |
ii. 管理员管理子系统分解图数据字典
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
账户密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
事务分析 |
事务输入、密码验证通过 |
查询事务、创建事务、删除事务、改密事务 |
由管理员发起事务,在此加工判断管理员发起的是何种事务 |
查询处理 |
查询事务、账户信息、管理员信息 |
查询信息 |
接收查询事务,从管理员表或账户表或储户表得到信息返回管理员 |
权限分析 |
创建事务 |
创建信息 |
分析该管理员级别,判断其级别是否符合其当前发出的事务所要求的级别,不符合的拒绝该发起事务的操作 |
创建处理 |
拥有权限 |
添加信息 |
创建一个管理员,并将信息写入管理员表中 |
删除处理 |
拥有权限 |
删除信息 |
删除一个管理员,并将信息移出管理员表 |
修改处理 |
拥有权限 |
修改信息 |
修改一个管理员信息,将新的信息更新到当前管理员表中 |
iii. 利率修改子系统分解图数据字典
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
管理员密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
权限分析 |
密码验证通过、更改事务 |
拥有权限 |
分析该管理员级别,判断其级别是否符合可以发起修改利率事务所要求的级别,不符合的拒绝修改利率事务的操作 |
利率更改 |
拥有权限 |
更改信息 |
将新的利率写入利率表中 |
*备注:手续费修改子系统和利率修改子系统同理,故略。
iv. 存款子系统分解图数据字典
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
账户密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
身份验证 |
密码验证通过、账户身份信息 |
身份验证通过 |
密码验证通过的基础上还需要验证身份通过,通过管理员核实身份证与本人是同一个人 |
存款处理 |
身份验证通过、存款事务输入 |
添加存款信息到存款单、更改信息到账户表 |
管理员发起存款事务,若账户验证通过,则将存款信息写入存款单,并为账户发放存款凭证,同时将账户变动信息(如余额等属性)更新到账户表中 |
v. 取款子系统分解图数据字典
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
账户密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
身份验证 |
密码验证通过、账户身份信息 |
身份验证通过 |
密码验证通过的基础上还需要验证身份通过,通过管理员核实身份证与本人是同一个人 |
挂失判断 |
挂失信息 |
该账户未挂失 |
该加工判断当前操作账户不处于挂失状态 |
余额判断 |
余额判断 |
该账户余额充足 |
该加工判断当前操作账户的余额充足,可以转账 |
利息计算 |
存款类型、利率信息 |
利润信息 |
该加工利用存款凭证(存款表信息)判断当前取款类型,从利率表取出该类型所对应当前利率,并通过取款金额和利率计算利息,将信息给予取款处理加工块 |
取款处理 |
身份验证通过、该账户未挂失、该账户越充足、利润信息、取款事务输入 |
添加取款信息到取款单、取款凭证、更改存款单信息 |
该加工获得利息和存款凭证各项信息,得到最终应得金额,同时从账户表中该账户余额扣除取款金额,将存款凭证回收(将存款信息从存款表中删除),最后将本次取款信息写入取款表并生成取款凭证给予该账户 |
vi. 转账子系统分解图数据字典(其中转账处理继续分解)
加工名 |
输入数据流 |
输出数据流 |
加工逻辑 |
密码验证 |
账户密码 |
密码验证通过 |
验证密码符合才可进行下一步 |
身份验证 |
密码验证通过、身份信息 |
身份验证通过 |
密码验证通过的基础上还需要验证身份通过,通过管理员核实身份证与本人是同一个人 |
转账处理 |
身份验证通过、转账信息、管理员密码验证通过、转账事务输入 |
转账凭证、收款凭证 |
|
转账处理-余额判断 |
转账信息、账户身份验证通过、管理员密码验证通过、账户信息 |
该账户余额充足 |
转账金额应不大于发起转出账户的余额 |
转账处理-有效判断 |
挂失判断、账户判断 |
该账户存在且未挂失 |
该加工判断转账合法性,即转入账户应存在,且转入和转出账户均不处于挂失状态 |
转账处理-转账 |
该账户余额充足、该账户存在且未挂失、转账事务输入 |
转账凭证、收款凭证、修改信息、添加信息 |
该加工接收管理员发起的转账事务,在转账判断通过的情况下(同时满足余额充足和有效判断),将转账记录写入转账表中,并修改账户表中转入和转出账户的余额信息,同时生成转账凭证和收款凭证给转入转出账户 |
*数据字典加工逻辑备注:凡是不满足条件的加工均发生事务回滚,不再继续操作。一段时间内(24小时之内)可连续对同一账户发起同一事务不超过3次,否则暂时冻结该账户。
7. 系统行为建模、状态图示例
以该系统部分行为为例,结构化行为建模,设计状态图如下所示。
(1) 存款状态图
(2) 取款状态图
(3) 转账状态图
(4) 开户状态图
(5) 销户状态图
(6) 挂失状态图
(7) 查询状态图
8. 系统数据建模、E-R模型图、关系模式表示
(1) 部分E-R图
(1) 储户
(2) 账户
(3) 管理员
(4) 存款单
(5) 取款单
(6) 转账单
(7) 挂失单
(8) 销户单
(9) 利率单
(2) 总体E-R图
(3) 关系模式表示
管理员(工号,密码,级别,姓名,身份证号,联系方式,住址,照片,备注)
主码:工号 唯一
外码:工号
储户(户号,身份证号,姓名,联系方式,照片,备注)
主码:身份证号 唯一
外码:户号
账户(户号,密码,余额,开户日期,开户地,信用记录,挂失状态,备注)
主码:户号 唯一
外码:户号
存款单(存款单号,户号,存款金额,存款日期,存款类型,操作员工号)
主码:存款单号 唯一
外码:户号 操作员工号 存款类型
取款单(取款单号,户号,取款金额,利息,应得金额,余额,取款日期,取款方式,操作员工号)
主码:取款单号 唯一
外码:户号 操作员工号
销户单(销户单号,户号,销户前余额,销户日期,操作员工号)
主码:销户单号 唯一
外码:户号 操作员工号
转账单(转账单号,转出户号,转入户号,转账金额,转账日期,操作员工号)
主码:转账单号 唯一
外码:转出户号 转入户号 操作员工号
挂失单(户号,余额,挂失日期,操作员工号)
主码:户号
外码:操作员工号
利息单(编号,类型,期限,利率)
主码:编号
数据库表:
管理员表
属性名 |
数据类型 |
约束条件 |
注释 |
工号 |
Varchar(10) |
Primary key, not null |
|
密码 |
Varchar(6) |
Not null |
|
级别 |
Int |
Not null |
不同级别管理员拥有不同权限 |
姓名 |
Nvarchar(10) |
Not null |
|
身份证号 |
Varchar(18) |
Not null |
|
联系方式 |
Varchar(20) |
|
|
住址 |
Nvarchar(80) |
|
|
照片 |
Image |
|
图片 |
备注 |
Nvarchar(50) |
|
|
储户表
属性名 |
数据类型 |
约束条件 |
注释 |
户号 |
Varchar(20) |
Not null |
|
身份证号 |
Varchar(18) |
Primary key, Not null |
|
姓名 |
Nvarchar(10) |
Not null |
|
联系方式 |
Varchar(20) |
|
|
照片 |
Image |
|
图片 |
备注 |
Nvarchar(50) |
|
|
账户表
属性名 |
数据类型 |
约束条件 |
注释 |
户号 |
Varchar(20) |
Primary key, not null |
|
密码 |
Varchar(6) |
Not null |
|
余额 |
Money |
Not null |
开户时要存入钱 |
开户日期 |
Datetime |
Not null |
|
开户地 |
Nvarchar(20) |
Not null |
|
信用记录 |
Nvarchar(4) |
Not null, default ‘良好’ |
默认信用为良好 |
挂失状态 |
Int |
Not null, default 0 |
判断账户是否可用 |
备注 |
Nvarchar(50) |
|
|
存款单表
属性名 |
数据类型 |
约束条件 |
注释 |
存款单号 |
Varchar(20) |
Primary key, not null |
|
户号 |
Varchar(20) |
Not null |
|
存款金额 |
Money |
Not null |
|
存款日期 |
Datetime |
Not null |
|
存款类型 |
Nvarchar(4) |
Not null |
活期或定期以及定期种类 |
操作员工号 |
Varchar(10) |
Not null |
|
取款单表
属性名 |
数据类型 |
约束条件 |
注释 |
取款单号 |
Varchar(20) |
Primary key, not null |
|
户号 |
Varchar(20) |
Not null |
|
取款金额 |
Money |
Not null |
|
利息 |
Money |
Not null |
按取款类型计算 |
应得金额 |
Money |
Not null |
算入利息 |
余额 |
Money |
Not null |
|
取款日期 |
Datetime |
Not null |
|
取款类型 |
Nvarchar(4) |
Not null |
活期或定期 |
操作员工号 |
Varchar(10) |
Not null |
|
销户单表
属性名 |
数据类型 |
约束条件 |
注释 |
销户单号 |
Varchar(20) |
Primary key, not null |
|
户号 |
Varchar(20) |
Not null |
|
销户前余额 |
Money |
Not null |
剩余金额自动取出 |
销户日期 |
Datetime |
Not null |
|
操作员工号 |
Varchar(10) |
Not null |
|
转账单表
属性名 |
数据类型 |
约束条件 |
注释 |
转账单号 |
Varchar(20) |
Primary key, not null |
|
转出户号 |
Varchar(20) |
Not null |
|
转入户号 |
Varchar(20) |
Not null |
|
转账金额 |
Money |
Not null |
|
转账日期 |
Datetime |
Not null |
|
手续费 |
Money |
Not null |
|
操作员工号 |
Varchar(10) |
Not null |
|
挂失单表
属性名 |
数据类型 |
约束条件 |
注释 |
户号 |
Varchar(20) |
Primary key, not null |
|
余额 |
Money |
Not null |
|
挂失日期 |
Datetime |
Not null |
|
操作员工号 |
Varchar(10) |
Not null |
|
利率单表
属性名 |
数据类型 |
约束条件 |
注释 |
编号 |
Varchar(2) |
Primary key, not null |
|
类型 |
Nvarchar(4) |
Not null |
活期或定期以及定期种类 |
利率 |
Numeric |
Not null |
|
期限 |
Int |
Not null |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
**********数据流图、状态图、E-R图未上传,如需请点击URL点击打开链接http://www.ycxsdu.icoc.in/下载文档《银行业务管理 - 需求分析文档》。********
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
END
2016/4/19