ATM系统.docx
- 文档编号:28618968
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:195.78KB
ATM系统.docx
《ATM系统.docx》由会员分享,可在线阅读,更多相关《ATM系统.docx(16页珍藏版)》请在冰豆网上搜索。
ATM系统
基于UML的ATM自动柜员机系统建模
UML-BasedModelingforATMSystem
实验一:
ATM系统
一、系统背景以及实验要求说明
ATM自动柜员机(automatictellermachine)是银行在不同地点设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料(通常就是银行卡,或称金融卡,或称提款卡),让客户可以透过机器进行提款、存款、转帐等银行柜台服务,大多数客户都把这种自助机器称为提款机。
中国大陆在1980年代末期才开始在深圳出现提款机,现在扩展至全国。
并且多数柜员机都已加入银联网络,只要是有银联标志的银行卡都可以通用,但收费与否则和发卡行的规定有关。
没有银联标志的卡只能在本行网络的柜员机上使用。
目前,国内已有大量自动柜员机,遍布于银行营业大厅、超市、商业机构、机场、车站、码头和闹市区。
因为ATM技术的高安全性和高速度,所以在我国的发展十分迅速,尤其在银行领域。
我国宽带网已初具规模,已建立成完整的电子商务安全认证体系。
几乎所有的银行都是采用ATM技术,主要用于各地区之间交换数据和ATM终端。
本实验的目的是掌握软件体系结构建模的概念及4+1视图模型、熟悉RationalRose2003、MicrosoftOfficeVisio的使用方法、掌握利用UML进行软件体系结构的相应视图设计。
实验使用RationalRose2003进行ATM系统软件体系结构的建模设计,包括静态建模和动态建模,要求完成ATM机系统的用例图、类图、顺序图、协作图、系统状态图、系统活动图、系统构件图和系统部署图的设计。
统一建模语言UML是一个通用的可视化建模语言,基于主流的软件开发方法和开发经验,明确定义了建模的语法和语义,可用来作为软件体系结构建模的辅助设计工具。
UML所提供的静态和动态建模机制可用来实现软件体系结构的4+1视图模型,即辅助设计逻辑视图、进程视图、物理视图、开发视图和场景视图。
二、ATM系统需求说明
(1)ATM系统功能性需求
功能需求1:
描述:
ATM终端无人操作时,显示待机动画
输入:
无
处理:
ATM显示待机界面
输出:
显示待机界面
功能需求2:
描述:
ATM接受卡,检验卡是否可进行交易
输入:
ATM接收储户插卡
处理:
检验卡是否可识别处理
输出:
不可识别退卡;否则继续。
功能需求3:
描述:
校验密码是否格式正确
输入:
储户输入密码
处理:
校验密码是否符合格式
输出:
不正确则提示储户重新输入
功能需求4:
描述:
校验密码是否正确
输入:
储户输入正确格式密码
处理:
校验当前密码与存储的账户密码是否一致
输出:
不一致则提示密码错误,请重新输入或者退卡
功能需求5:
描述:
卡密码连续三次输入错误,没收磁卡
输入:
储户连续第三次输入密码
处理:
校验密码
输出:
错误则吞食磁卡,提示“您的卡连续三次密码错误,已被吞没。
请联系客服955**”
功能需求6:
描述:
磁卡认证完成,进入主交易界面
输入:
储户输入正确密码
处理:
校验密码
输出:
显示主交易界面
功能需求7:
描述:
ATM现金不足,系统应对取款储户进行提示,可退出交易
输入:
无
处理:
检查ATM现金数
输出:
返回至ATM主交易界面
功能需求8:
描述:
ATM凭条打印机故障,系统应对存款和转账储户进行提示,可退出交易
输入:
无
处理:
检查ATM凭条打印机
输出:
故障则提示储户是否继续,可返回至主交易界面
功能需求9:
描述:
ATM认定的存款金额储户不认可
输入:
认证成功完成,输入需要存储的金额,将钞币放入ATM机
处理:
硬件检验钞币数量,提示储户确认,储户输入“否”
输出:
退出钞币,返回主界面
功能需求10:
描述:
ATM存款
输入:
ATM认定存款金额,储户“确认”
处理:
在账号上记录存入金额
输出:
打印存款凭条,显示“交易成功”,返回主交易界面
功能需求11:
描述:
取款金额大于账户余额
输入:
输入取款金额
处理:
判断输入金额和账户余额
输出:
取款余额大,则提示储户“余额不足”,返回主界面
功能需求12:
描述:
取款数额超过当日取款最大额度
输入:
储户输入取款金额
处理:
判断输入金额和当日该账户ATM取款额之和是否大于当日取款最大额度
输出:
如超出则提示储户“超过当日取款最大额度”,重新输入或返回
功能需求13:
描述:
取款
输入:
取款合法金额
处理:
从账户记录取走的金额
输出:
吐钱
功能需求14:
描述:
取款交易成功,打印取款凭条
输入:
储户输入“打印”或者“不打印”
处理:
若是“打印”则打印机打印凭条,否则什么也不做
输出:
无
功能需求15:
描述:
修改密码
输入:
储户输入新密码
处理:
两次新密码判断是否一致
输出:
一致则重置密码,显示“修改成功”;否则退出修改密码
功能需求16:
描述:
转账
输入:
转账账号,转账金额
处理:
判断金额是否超过本账户现有金额,是则本账号下账,他账号上账
输出:
显示“转账成功”,或者退出转账
(2)ATM系统非功能性需求
1:
在查询过程中,要求系统显示该账户卡上所有的余额。
2:
在取款过程中,该系统只支持交易金额为100的倍数。
3:
在存款过程中,该系统只支持交易金额为50的倍数。
4:
在转帐过程中,该系统支持任何储户输入的数据,但是仅仅限于本行之间的账户转帐。
5:
如果交易中响应时间超过30秒,系统提示“操作已过时”,自动退出本系统。
6:
交易结束时,系统知道更新账户上的数据,保持账户余额的一致性。
7:
交易完成后,储户可以点击“取卡”退出本系统。
8:
本系统可以进行各个银行的金额交易。
9:
系统可以并行使用的储户在100个以上。
10:
密码:
由储户设置的一个6位整数。
11:
取款数目:
只支持交易金额为100的倍数。
12:
取款金额:
不能输入5000以上的数字。
13:
存款数目:
只支持交易金额为50的倍数。
14:
转账数目:
支持储户输入的任何数据,但是仅限于内间账户转账。
15:
响应时间:
30秒以内。
16:
系统需要有确认用户(系统检验客户个人账户是否与客户的账户上记载的账户一致)功能,账户要有密码保护功能,只有输入相应的密码才可以进入该账户,登陆界面中密码框须使用‘*’保护。
三、ATM系统主要用列表
编号
功能名称
功能描叙
输入内容
输出内容
1
取款
用户执行取款操作
用户输入取款的数目
用户取款结果,成功或余额不足
2
存款
用户执行存款操作
用户输入存款的数目
用户存款结果
3
转账
用户执行转账操作,能够从当前用户转到其他用户
用户输入转账的金额和被转账用户
用户转账结果
4
查询余额
用户可以查询自己的余额
查询余额的操作
显示用户余额
5
修改密码
用户可以修改自己的秘密
修改密码的操作和旧的密码
新的用户密码
6
现金管理
银行管理员可以对ATM机进行现金管理
银行管理员现金添加的数目
新的ATM机剩余的余额
四、ATM系统4+1试图模型
(1)ATM系统场景试图
图1ATM系统用例图
(2)ATM系统逻辑视图
从前面的需求分析中,我们可以依据主要的九个类对象:
ATM自动提款机、客户、银行管理员、信用系统、数据库、银行账户、ATM屏幕、ATM键盘和ATM读卡器创建完整的类图。
客户、银行管理员与ATM自动提款机关联,一台ATM自动提款机可以供任何客户和管理员使用;每个用户都必须拥有银行账号,银行账号是依赖客户而存在的;ATM读卡器读取银行账号,ATM屏幕显示银行账号的内容,用户控制ATM键盘,ATM键盘控制ATM显示屏的显示内容;银行账号的内容在数据库中有记录,信用系统也能够访问数据库。
图2ATM系统类图
(3)ATM系统进程试图
图3ATM系统状态图
图4ATM系统取款活动协作图
图5ATM系统取款活动图
图6ATM系统存款活动顺序图
(3)ATM系统物理视图
配置图提供当前模型的物理视图,描述系统运行时节点、构件实例及其对象的配置。
配置图定义了软硬件在系统中的配置关系。
如图所示ATM系统的配置图显示的主要内容包括两个ATM客户端,一个地区ATM服务器,银行数据库服务器,一个打印机以及表示通信的连接。
图7ATM系统的配置图
(5)ATM系统开发试图
组件图提供当前模型的物理视图,对系统的静态实现视图进行建模,显示驻留在计算机比特世界中的各种软件构件。
ATM系统组件图包括两部分:
Server和Client。
如图7所示是ATM系统Server组件图,图中Account类跟Server服务器有紧密的联系,箭头表示联系的方向,深灰色表示帐目类的一个实例。
图8ATM系统Server组件图
图9ATM系统Clientr组件图
五、ATM系统实现部分代码说明与运行截图
本代码用C语言实现的,在上面建模的过程中,实现的个各类在代码中都是用简单的函数实现的。
定义的主要的一个客户类,里面包含的是客户的银行账号的基本信息,包括用户名、密码、余额还有卡号。
//每个客户的基本信息
structAccount
{
charname[256];
charpassword[6];
longcardnum;
longmoney;
}account[10002],atm;
定义的主要操作就是客户的基本操作,包括开户、登录、查询余额、存款、取款。
代码中的数据库是一个txt文档—”atm.txt”
voidnew_account();//创建新用户,新增用户添加进数据库
intlogo();//用户登录,当中有密码检验
voidsearch();//显示当前用户信息
intwithdraw();//用户取款
intadd_money();//用户存款,新的余额要修改数据库信息
系统部分操作运行截图如下:
图10ATM屏幕初始化显示信息
图11开户操作截图
图12登录操作
图13查询显示用户名、卡号和余额
图14存款操作整个过程
图15取款操作整个过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 系统