实验报告
(①实验目的 ②实验设备和环境③实验内容与步骤 ④实验结果与分析⑤总结,问题及建议))
一. 实验目的
ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要
服务于活期储蓄,实现客户自助服务的电子化设备。统一建模语言UML Unified Modeling Language
是面向对象技术的一个重要应用,也是软件工程环境中对象分析
和设计的重要工具。通过UML对ATM自动取款机建模,实现查询余额、取款、存款、更改密码等业务,根据需求还可以进一步扩展具体功能。
二. 实验设备和环境
设备:Enterprise Architect软件
环境:windows
三. 实验内容与步骤
<一>、ATM系统UML设计需求分析
1.1 ATM取款机的总体需求
1.ATM机要可以判断磁卡的类别,如果不是有效的磁卡则退卡
2.可以在较快的时间内响应用户的请求,并针对相应的请求执行正确的操作
3.查询自己的账户时应显示余额和可用余额,并显示ATM机里所拥有的现金面值,让用户可以做出正确的选择。
4.提取现金时提示用户输入取款金额并判断输入是否正确,如果错误提醒用户并要求重新操作,正确则提醒用户收取现金,
5.转账汇款时让用户选择转账类型,要求用户输入转账号并要求用户输入两次,以确保没有输入错误,在两次输入都正确的情况下,让用户输入转账金额,并作最后确认。
6.进入修改密码界面后提醒用户输入新密码,并要求再次输入以确保密码统一无误,在确认后完成修改操作,并提醒用户新密码生效。
7.对于错误的操作或者操作延时做出有效的处理。
1.2 系统操作要求
1.要求用户每次取款数额为50的整数倍,
2.要求用户一次取款数额不得大于1000元,
3.要求用户一天取款数额不得超过5000元,
4.要求用户每次取款数额不得大于账户余额,
5.要求用户连续输入错误密码次数不得超过3次,
1.3 系统性能要求
1.要求反应时间不得大于10秒钟,
2.系统设计目标,
ATM自动取款机可以提供24小时不间断服务,操作简单,每步都有相应的语音提示,可以很方便为用户提供取款、转账/汇款、查询账户信息等服务。
<二>、ATM系统总体需求与功能模块
ATM系统是一个复杂的软件控制硬件的系统,各功能 模块协调工作。以具体业务为出发点对它进行建模, 一个功能齐全的ATM系统包含以下几个模块.
(1)读卡机模块 客户银行卡插入读卡机,读卡机识别卡在显示器提示输入密码。
(2)键盘输入模块 客户通过键盘输入密码与取款金额,选择要进行的业务。
(3)IC认证模块 基于安全性,鉴别卡的真伪。
(4)显示模块 显示一切与客户有关信息,包括交互提示、确认等信息。
(5)吐钱机模块 照客户需求选择合适面值钞票给客户。
(6)打印报表模块 客户可自由选择打印或不打印凭条 卡号、金额、日期等信息。
(7)监视器模块 设置摄像头以防意外事件,保证交易安全性,银行有权调看记录。
四、实验结果
<三>ATM自动取款机系统分析设计
3.1 参与者分析
参与者是系统的主体,表示提供或接收系统信息的人或系统。考察ATM系
统服务对象可以确定参与者
客户 使用ATM进行现金交易
银行官员 更改ATM设置,放置现金,维护机器等
信用系统 作为外部角色参与整个交易过程
3.2 用例分析
用例是参与者启动的,基于这样的考虑,ATM系统根据业务流程大致可分为以下几个用例
客户取款
客户存款
客户查询余额
客户转帐
客户更改密码
客户通过信用系统付款
3.3 参与者-用例关系图
在参与者与用例之间存在交互关系 ,客户、银行官员和信用系统这3个参与者都有各自的用例关系图。综合所有参与者的用例关系 ,可以建立如下整个ATM系统的用例关系图
客户ATM自动取款机业务用例
3.4 分析业务流程
3.4.1 客户取钱业务流程活动图
客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,
系统验证密码正确性。若不正确,重新输入密码,若连续输入密码三次不正确,
退出服务。若密码输入正确,客户根据提示选择取款服务,然后输入取款数据,
系统判断输入的取款数额的合法性。若不合法,退出服务。若合法,吐款机吐款。
3.4.2 客户转账业务流程活动图
客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,
系统验证密码正确性。若不正确,重新输入密码,若连续输入密码三次不正确,
退出服务。若密码输入正确,客户根据提示选择转账服务,进入转账/汇款的操
作界面,选择转入卡的账户类型,然后输入要转入的卡号,输入转账金额。退出。
3.4.3 客户修改密码业务用例活动图
客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,
系统验证密码正确性。若不正确,重新输入密码,若连续输入密码三次不正确,
退出服务。若密码输入正确,客户根据提示选择修改密码服务,进入修改密码服
务界面。根据语音及界面提示两次输入客户欲设置的新密码。系统验证新密码的
合法性,看是否是六位数,两次输入是否一致等。如果通过验证,系统通过ATM
屏幕提示客户密码修改成功。最后退出服务。
3.4.4 余额查询
客户首先将磁卡插入ATM机中,初始化ATM屏幕,根据屏幕提示输入密码,系统验证密码正确性。若不正确,重新输入密码,若连续输入密码三次不正确,退出服务。若密码输入正确,客户根据提示选择查询余额服务,进入查询余额服务界面。按下确认按钮,系统连接系统,计算客户账户余额,并通过ATM机显示屏幕显示给客户。
3.5 ATM系统包图
整个ATM系统包括硬件和逻辑两块,分别控制不同的应用。相应地将整个
ATM系统分割成如图3所示两个独立的包。
把ATM系统内所有与硬件相关的内容全部放在Hardware包内,好处是想增
加或删除硬件可以在一个包内进行,而与其它包无关。比如可增加一个硬件用于
把100元RMB换成两张50元RMB。Hardware包内包括四部分内容屏幕ATM
Screen、读卡器Card Reader、吐钱机Dispenser、键盘Keyboaed。
Logic包内是一些逻辑性的内容,起关键作用的是帐目类,它先从远程服
务器得到Allen的帐目信息,然后根据硬件发出的指令进行相关操作。在Logic
包内包含两部分内容帐户Account和数据库连接Database Connector。此处
不涉及到ATM硬件,是纯粹的软件模块。
3.6 ATM系统类模型
类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关
联。在类图中类用矩形框来表示,它的属性和操作分别列在分格中。关系用类框
之间的连线来表示,不同的关系用连线和连线端头处的修饰符来区别。ATM系统
类图共6个类,包括Hardware和Logic包中的类,其中Account类功跟其它4
个类都有关联。连接类的直线显示类之间的通信关系。
3.7交互图
交互图用来表达对象之间的交互关系,分为两种顺序图和协作图。顺序图
强调消息发送的时间顺序,协作图则强调接收和发送消息的对象的组织结构。两
者在语义上是等价的,可等价转换,更改其中一个框图时,另一个框图会发生同
步变化。这里对部分用例事件流程进行建模。
取款用例从用户插入读卡机开始,读卡机读卡号,打开Allen的帐目对象,
并初始化屏幕。屏幕提示输入PIN,Allen输入PIN1234,然后屏幕验证PIN
与帐户对象,发出相符的信息。屏幕向Allen提供选项,Allen选择取款。然后
屏幕提示Allen输入金额,他选择500RMB。然后从帐户中取钱,启动一系列帐
目对象要完成的过程。首先,验证Allen的帐目中至少有500RMB,然后从中扣
掉500RMB,再让吐钱器提供500RMB现金。另外,还需要让吐钱机提供收据,最
后让读卡机退卡。
3.8 部署图
这个图显示了ATM系统的主要布局。ATM系统采用三层结构,分别针对数据库、地区ATM服务器和客户机。ATM客户机的课执行文件在不同地点的多个ATM上运行。ATM客户机通过专用网与地区ATM服务器通信。ATM服务器的可执行文件在地区ATM服务器上执行。地区ATM服务器有通过局域网与运行Oracle的银行数据库服务器通信。打印机与地区ATM服务器连接。
五 总结
统一建模语言UML (Unified Modeling Language) 是目前软件工业界的一
个标准。它是一种半形式化的可视化建模语言提供了一系列有效的符号表示使人
们可以从不同的角度和不同的抽象层次对复杂的软件系统进行建模与分析。这是以后软件开发过程中我们必须掌握的基本技能,所以在以后还的好好运用它。通过这次实验来看,对建模的过程掌握的还不熟练,还须勤加练习。
因篇幅问题不能全部显示,请点此查看更多更全内容