ATM自动取款机系统详细设计说明书教学内容.docx
《ATM自动取款机系统详细设计说明书教学内容.docx》由会员分享,可在线阅读,更多相关《ATM自动取款机系统详细设计说明书教学内容.docx(36页珍藏版)》请在冰豆网上搜索。
![ATM自动取款机系统详细设计说明书教学内容.docx](https://file1.bdocx.com/fileroot1/2023-1/26/f0d1ae22-417d-45fb-a6ff-e38c8cf949fd/f0d1ae22-417d-45fb-a6ff-e38c8cf949fd1.gif)
ATM自动取款机系统详细设计说明书教学内容
ATM系统需求分析设计与改进
1.引言
1.1编写目的
ATM自动取款机系统是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着承上启下的作用,其重要性不言而喻。
但是,目前许多银行在具体的一些业务流程处理过程中仍然使用手工操作的方式来实施,不仅费时、费力,效率低下,而且无法达到理想的效果。
为此,我们在明确该软件需求的基础上,安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析,概要设计,程序编码,软件应用等过程,开发了这个系统。
1.2定义
专业术语与缩略词
帐号:
在银行中,事物应用的单个帐号。
每个顾客可以拥有多个帐号。
用户:
拥有银行的一个或多个帐号的人。
可以是一个人或多个人,或者是公司。
相同的人,拥有不同的银行帐号被认为是不同的落户。
ATM:
ATM是AutomaticTellerMachine的缩写,意为自动取款机。
是一种高度精密的机电一体化设备,利用磁卡或智能IC卡储存用户信息并通过加密键盘输入密码然后通过银行内部网络验证并进行各种交易的金融自助设备。
2.总体设计
2.1需求概述
随着科技的发展,人们生活水平的不断提高,高性能高效率的产品越来越受到人们的欢迎。
ATM自动取款机是一种非常智能的机器,人们可以直接与它交互,代替以前的手工操作,大大提高了银行的工作效率。
针对银行业务种类繁多、客户需求量大等现象,为了减少银行人员的工作任务,方便客户,使用户自己就可以在ATM机上存款、取款、查询余额、转账、修改密码、打印凭条、退卡等基础功能。
在这样的需求下我们模拟开发了ATM自动取款机系统。
2.2软件结构
系统的层次结构图如图2.1
图2.1系统的层次结构
3.基于UML的ATM自动取款机系统分析设计
3.1CIM-1定义业务流程
ATM自动取款机系统业务用例图.
该系统主要有两个执行者:
银行管理员和客户。
银行管理员会启动或参与的业务主要有添加现金、维护ATM硬件设备和协助客户改密码。
客户启动或参与的业务主要有修改密码、取钱、转账和查询余额。
图3-1
客户ATM自动取款机业务用例
业务用例名称
简述
(1)修改密码
客户于ATM自动取款机上可以进行修改密码业务操作
(2)取钱
客户于ATM自动取款机上可以进行取钱操作
(3)查询余额
客户于ATM自动取款机上可以进行查询余额操作
(4)转账
客户于ATM自动取款机上可以进行转账操作
银行管理员ATM自动取款机业务用例
业务用例名称
简述
(1)修改密码
银行管理员协助客户修改密码并做记录
(2)添加现金
银行管理员适时添加现金,方便客户取款
(3)维护ATM硬件设备
维护ATM硬件设备,保证ATM机正常工作
3.2CIM-2分析业务流程
3.2.1客户取钱业务流程活动图.
客户首先将磁卡插入ATM机中,初始化ATM屏幕;根据屏幕提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据提示选择取款服务,然后输入取款数额,系统判断输入的取款数额的合法性,若不合法(这里不考虑透支)退出服务;若合法,吐款机吐款.
图3-2
3.2.2客户转账业务流程活动图.
客户首先将磁卡插入ATM机中,初始化ATM屏幕;根据屏幕及语音提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据屏幕提示选择转账服务,进入转账/汇款的操作界面,选择要转入卡的账户类型(银行卡或存折),然后输入所要转入卡的卡号,输入转账金额。
退出
图3-3
3.2.3客户修改密码业务用例活动图
客户首先将磁卡插入ATM机中,初始化ATM屏幕;根据屏幕及语音提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据屏幕提示选择修改密码服务,进入修改密码服务界面。
根据语音及界面提示两次输入客户欲设置的新密码。
系统验证新密码的合法性,看是否是六位数,两次输入是否一致等。
如通过验证,系统通过AYM屏幕提示客户密码修改成功。
最后退出服务。
图3-4
3.2.4客户查询余额业务用例活动图
客户首先将磁卡插入ATM机中,初始化ATM屏幕;根据屏幕及语音提示输入密码,系统验证密码正确性,若不正确,重新输入密码,若连续输入密码三次不正确,退出服务.若输入密码正确,客户根据屏幕提示选择修改密码服务,进入查询余额服务界面。
按下确认按钮.系统连接综存系统,计算客户账户余额,并通过ATM机显示屏幕显示给客户.
图3-5
3.3CIM-3定义系统范围.
3.3.1客户包下可启动的系统用例
图3-6
系统用例名称
简述
(1)转账
客户到ATM机使用系统执行转账业务
(2)取款
客户到ATM机使用系统执行取款业务
(3)修改密码
客户到ATM机使用系统执行修改密码操作
(4)查询余额
客户到ATM机使用系统执行查询余额操作
3.3.2银行管理员包下的系统用例图
图3-7
系统用例名称
简述
(1)添加现金
银行管理员用ATM系统添加现金
(2)维护硬件设备
银行管理员维护硬件系统
3.2.3定时启动者包下的系统用例
图3-8
系统用例名称
简述
(1)计算利息
系统于约定时间自动计算利息
(2)扣除利息和手续费
系统于交易发生后扣除手续费,系统于约定时间扣除利息税
(3)业务短信
系统于交易发生后自动发送短信给客户
3.4PIM-1分析业务流程
3.4.1SUC001-取款系统用例业务
用例名称
取款
用例编号
SUC001
用例简述
客户在ATM机上取款
用例图
主要流程
(1)客户插入磁卡,初始化ATM系统屏幕
(2)系统提示输入密码。
(3)客户输入密码并通过系统验证
(4)系统列出服务项目
(5)客户选择取款,输入取款金额,按下确定键。
(6)系统验证取款数额的合法性。
并计算出手续费
(7)系统连接到综存系统,查询账户余额,确认余额是否足够。
(8)吐款机吐款,交易成立
(9)系统提供打印功能,供客户选择是否打印
替代流程
(3)a[密码错误]系统出现密码错误警告。
并返回主要流程
(2),供客户重新输入密码
(6)a[金额不符]系统出现取款金额必须为50元整数的信息,回到主要流程(5),供客户重新输入取款金额
(6)b[金额过低]系统出现最低取款的信息,回到主要流程(5),供客户重新输入取款金额
(6)c[金额过高]系统出现最高取款的信息,回到主要流程(5),供客户重新输入取款金额
(7)a[余额不足]系统出现余额不足的信息,回到主要流程(5),供客户重新输入取款金额
业务规则
(1)交易款项=取款金额+手续费
(2)手续费=取款金额*银行管理费*银行折扣
(3)取款金额最低为50元,取款金额最高为5000
(4)取款金额为非作50元的整数倍
(5)系统按照银行原有编码方式生成交易编号
其他
打印了取款凭条
3.4.2SUC002-转账业务系统用例
用例名称
转账
用例编号
SUC002
用例简述
客户ATM机上转账
用例图
主要流程
(1)客户插入磁卡,初始化ATM系统屏幕
(2)系统提示输入密码。
(3)客户输入密码并通过系统验证
(4)系统列出服务项目
(5)客户选择取款,输入转账金额,按下确定键。
(6)系统验证转账数额的合法性。
并计算出手续费
(7)系统连接到综存系统,查询账户余额,确认余额是否足够。
(8)交易成立,系统提供打印功能,供客户选择是否打印
替代流程
3)a[密码错误]系统出现密码错误警告。
并返回主要流程
(2),供客户重新输入密码
(6)a[金额不符]系统出现转账金额必须为50元整数的信息,回到主要流程(5),供客户重新输入取款金额
(6)b[金额过低]系统出现最低取款的信息,回到主要流程(5),供客户重新输入取款金额
(6c[金额过高]系统出现最高取款的信息,回到主要流程(5),供客户重新输入取款金额
(7)a[余额不足]系统出现余额不足的信息,回到主要流程(5),供客户重新输入取款金额
业务规则
(1)交易款项=转账金额+手续费
(2)手续费=转账金额*银行管理费*银行折扣
(3)转账最低金额为50元,最高为5000元
(4)系统按照银行原有编码方式生成交易编号
3.4.3SUC003-修改密码业务系统用例
用例名称
修改密码
用例编号
SUC003
用例简述
客户在ATM机上修改客户密码
用例图
主要流程
(1)客户插入磁卡,初始化ATM系统屏幕
(2)系统提示输入密码。
(3)客户输入密码并通过系统验证
(4)系统列出服务项目
(5)客户选择修改密码,按下确定键。
(6)客户连续三次输入新密码,按下确定键。
替代流程
3)a[密码错误]系统出现密码错误警告。
并返回主要流程
(2),供客户重新输入密码
6)a[密码不符]系统出现密码格式必须为6位数字的信息,回到主要流程(5),供客户重新输入新密码。
6)b[密码不同]系统出现三次输入密码不一致的信息,回到主要流程(5),供客户重新输入新密码。
3.4.4SUC004-查询余额业务系统用例
用例名称
查询余额
用例编号
SUC004
用例简述
客户在ATM机上查询余额
用例图
主要流程
(1)客户插入磁卡,初始化ATM系统屏幕
(2)系统提示输入密码。
(3)客户输入密码并通过系统验证
(4)系统列出服务项目
(5)客户选择查询余额,按下确定键。
(6)系统连接到综存系统,查询账户余额,并根据银行的规定计算出账户余额。
(7)ATM系统屏幕显示客户账户余额与可用余额
替代流程
3)a[密码错误]系统出现密码错误警告。
并返回主要流程
(2),供客户重新输入密码
3.5PIM-2分析业务规则状态图(取款)
客户取款业务的状态分析:
从客户插入磁卡的起始状态到结状态,中间还有输入密码,选择服务,取款,吐款状态.
(1)客户插入磁卡初始化ATM系统屏幕,进入屏幕提示输入密码界面,客户此时可有输入密码动作(DoAction)。
(2)若密码输入不正确,返回输入密码,若三次输入不正确,退卡。
若密码通过系统验证,进入选择服务类型界面。
此时客户的动作可以为选择取款,选择修改密码,选择转账,选择查询爷额。
(3)若客户选择取款服务后进入取款界面,此时客户可以动作为输入取款数额。
(40若输入取款数额不合法,退卡。
系统验证取款熟额合法后,进入吐款机吐款状态。
4.程序描述
ATM自动取款机系统包括六个子系统和七个相应的模块。
六个子系统分别是:
取款系统、存款系统、修改密码系统、查询余额系统,打印凭条系统。
七个模块分别是:
读卡机模块如图3.1、键盘输入模块如图3.2、IC卡认证模块如图3.3、显示模块如图3.4、吐钱机模块如图3.5、打印凭条模块如图3.6,数据存储模块如图3.7。
图3.1读卡机模块的数据流程图
图3.2键盘输入模块的数据流程图
图3.3IC卡认证模块的数据流程图
图3.4显示模块数据流程图
图3.5吐钱机模块的数据流程图
图3.6打印凭条模块的数据流程图
图3.7数据存储模块的数据流程图
4.1取款子系统
4.1.1功能
用户可以在ATM自动取款机上完成取款的操作。
4.1.2性能
在取款的时候,ATM自动取款机的反应时间不能超过2秒,在45秒内完成所有的取款动作,否则自动退卡。
4.1.3输入项目
表3-1取款的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
取款金额
int(100的整数倍,不能超过2500)
4.1.4输出项目
表3-2取款的输出项目
名称
类型
纸币
凭条
文本
4.1.5算法
图3.8取款的活动图
4.1.6程序逻辑
图3.9取款的时序图
4.1.7接口
系统程序内部在功能模块下设置的程序接口见表3-3,图3.10
表3-3取款的软件接口
函数
输入
输出
Open()
卡号密码
提示信息
WithdrawFunds()
金额
纸币
DeductFunds()
无
无
VerifyFunds()
无
无
图3.10取款的类图
3.1.8存储分配
账户表储蓄卡表ATM表清单表
3.1.9限制条件
ATM自动取款机中纸币没有了。
3.1.10测试要点
因为好的产品才能得到用户的认可和肯定,所以要对系统的反应速度、准确性(输入的金额数和吐钱机吐出的钱数要一致)和安全性,以及系统的稳定应有非常高的要求。
4.2存款子系统
4.2.1功能
用户可以通过和ATM自动取款机交互,完成存款的操作。
4.2.2性能
系统的反应时间是不能超过2秒,完成取款操作的时间不能超过30秒。
4.2.3输入项目
表3-4存款子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
金额
int(100的整数倍)
账号
19位整数
4.2.4输出项目
表3-5存款子系统的输出项目
名称
类型
凭条
文本
4.2.5算法
图3.11存款的活动图
4.2.6程序逻辑
图3.12存款的时序图
4.2.7接口
系统程序内部在功能模块下设置的程序接口见表3-6,图3.13
表3-6存款子系统的软件接口
函数
输入
输出
Open()
卡号密码
提示信息
DepositFunds()
金额
无
AddFunds()
无
无
VerifyFunds()
无
无
图3.13存款的类图
4.2.8存储分配
账户表储蓄卡表ATM表清单表
4.2.9限制条件
ATM自动取款机中的纸币以满,不能再放入纸币。
4.2.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度、准确性(能准确读取放入的纸币数目)和安全性,以及系统的稳定应有非常高的要求。
4.3转账子系统
4.3.1功能
用户可以通过和ATM自动取款机交互,完成转账的操作。
4.3.2性能
系统的反应时间是不能超过2秒,完成转账操作的时间不能超过30秒。
4.3.3输入项目
表3-7转账子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6位整数)
账号
19位整数
金额
int(100的整数倍)
4.3.4输出项目
表3-8转账子系统的输出项目
名称
类型
凭条
文本
4.3.5算法
图3.14转账的活动图
4.3.6程序逻辑
图3.15转账的时序图
4.3.7接口
系统程序内部在功能模块下设置的程序接口见表3-9,图3.16
表3-9转账子系统的软件接口
函数
输入
输出
Open()
卡号密码
提示信息
TransferFunds()
金额
无
DeductFunds()
无
无
VerifyFunds()
无
无
图3.16转账的类图
4.3.8存储分配
账户表储蓄卡表ATM表清单表
4.3.9限制条件
银行卡里的余额不足或不是同一类型的卡。
4.3.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度、准确性(转走的金额和转入到某一账户的金额数一致,数据库里的信息要准确的更新)和安全性,以及系统的稳定应有非常高的要求。
4.4查询余额子系统
4.4.1功能
用户可以通过和ATM自动取款机交互,完成查询余额的操作。
4.4.2性能
系统的反应时间是不能超过2秒,完成查询余额操作的时间不能超过30秒。
4.4.3输入项目
表3-10余额查询子系统的输入项目
名称
类型
银行卡
磁卡
密码
int(6为整数)
4.4.4输出项目
表3-11余额查询子系统的输出项目
名称
类型
凭条
文本
4.4.5算法
图3.17余额查询的活动图
4.4.6程序逻辑
图3.18余额查询的时序图
4.4.7接口
系统程序内部在功能模块下设置的程序接口见表3-12,图3.19
表3-12查询余额子系统的软件接口
函数
输入
输出
Open()
卡号密码
无
Query()
无
无
图3.19余额查询的类图
4.4.8存储分配
账户表储蓄卡表清单表
4.4.9限制条件
硬件故障
4.4.10测试要点
好的产品才能得到用户的认可和肯定,只有得到用户的肯定才会有市场,为此要对系统的反应速度有非常高的要求,这也是最基本的要求。
4.5修改密码子系统
4.5.1功能
用户可以通过和ATM自动取款机交互,完成修改密码的操作。
4.5.2性能
系统的反应时间是不能超过2秒,完成修改密码操作的时间不能超过30秒。
4.5.3输入项目
表3-13修改密码子系统的输入项目
名称
类型
银行卡
磁卡
旧密码
int(6为整数)
新密码
int(6为整数)
4.5.4输出项目
表3-14修改密码子系统的输出项目
名称
类型
凭条
文本
4.5.5算法
图3.20修改密码的活动图
4.5.6程序逻辑
图3.21修改密码的时序图
4.5.7接口
系统程序内部在功能模块下设置的程序接口见表3-15,图3.22
表3-15修改密码子系统的软件接口
函数
输入
输出
Open()
卡号密码
无
AlterPassword()
旧密码新密码
无
图3.22修改密码的类图
4.5.8存储分配
账户表储蓄卡表清单表
4.5.9限制条件
忘记了旧密码
4.5.10测试要点
好的产品才能得到用户的认可和肯定,为此要对系统的反应速度、安全性,以及系统的稳定有非常高的要求。
4.6打印凭条子系统
4.6.1功能
用户可以通过和ATM自动取款机交互,完成一些基本的操作。
如取款、存款、查询余额、修改密码,转账等。
为了确保用户安全性和系统的稳定性,打印凭条子系统可以记录这些相关的操作,相当于文本形式的日志。
如果出现错误可以凭借凭条到银行进行核实。
4.6.2性能
系统的反应时间是不能超过2秒,完成相应操作后打印凭条的时间不能超过30秒。
4.6.3输入项目
表3-16打印凭条子系统的输入项目
名称
类型
银行
磁卡
密码
int(6为整数)
取款、转账等相关动作
4.6.4输出项目
表3-17打印凭条子系统的输出项目
名称
类型
凭条
文本
4.6.5算法
图3.23打印凭条的活动图
4.6.6程序逻辑
图3.24打印凭条的时序图
4.6.7接口
系统程序内部在功能模块下设置的程序接口见表3-18,图3.25
表3-18打印凭条子系统的软件接口
函数
输入
输出
Open()
卡号密码
无
PrintSlip()
无
凭条(清单)
图3.25打印凭条的类图
4.6.8存储分配
账户表储蓄卡表清单表ATM表
4.6.9限制条件
ATM自动取款机里的凭条纸用完了、纸币没有了或是硬件出项了故障。
4.6.10测试要点
对系统的反应速度,稳定性有非常高的要求,以达到用户的满意度。