资源描述
ATM自动取款机系统
1、系统总体功能需求:
ATM系统是一个复杂的软件控制硬件的系统,了解外部设备如何协调工作是整个建模的基础。这是以具体的业务为出发点对它进行建模,一个功能完全的ATM系统必须包括以下的几个模块。
(1)读卡机模块
在这个功能模块中,允许客户使用银行卡插入读卡机。读卡机来识别卡的种类并在显示器上提示输入密码。
(2)键盘输入模块
在这个功能模块中,客户可以输入密码和取款金额,并选择要进行的事务。通常在这个键盘上只设置数字键和选择键,目的是方便客户使用。只有在这个功能模块中,需要客户的交互。
(3)IC认证模块
这个功能模块主要用于鉴别卡的真伪。基于IC卡的安全授权系统,完全可以从技术上严格保证卡的唯一性与防伪性,使基于数字形式的电子政务和电子商务安全运转,其目的就是网络安全。
(4)显示模块
在这个功能模块中,显示一切与客户有关的信息,包括一切交互时所需的提示,确认等信息。
(5)吐钱机模块
在这个功能模块中,吐钱机按照客户的需求,选择合适面值的钞票给客户,是比较关键的一步。
(6)打印报表模块
在这个功能模块中,是提供给客户一张取款凭据。客户可以选择打印与不打印。主要信息是卡号和金额等。
(7)监视器模块
在这个功能模块中,为防止意外事件产生而设置摄像头,以保证客户交易的安全性。银行有权调查取款记录。
读卡机模块
键盘输入模块
系统功能需求如图:
IC认证模块
ATM自动取款机系统
显示模块
吐钱机模块
打印报表模块
监视器模块
①读卡机模块需求
(1)规格说明:读取客户插入的银行卡,如下图:
Input:银行卡
Process:查询数据库,识别卡号和所属银行
Output:卡号和所属银行等信息
(2)引言:为了识别银行卡的类型。
(3)输入:插入银行卡。
(4)处理:读取卡号等信息,查找数据库中找到相关的信息,识别卡的类型并记录卡号和所属银行等信息。
(5)输出:输出卡号及所属银行等信息。
②键盘输入模块需求
(1)规格说明:接受来自客户的输入,如下图:
Input:密码,取款金额,查询余额,查询密码等
Process:连接远程服务器来验证密码,传回余额等相关信息
Output:显示相关信息或进行相关操作等
(2)引言:客户通过键盘与机器交互。
(3)输入:输入密码、输入取款金额、查询余额、查询密码、打印报表和取卡等。
(4)处理:连接远程服务器来验证密码,传回余额等相关信息。
(5)输出:验证密码正确则显示正确提示信息,查询余额操作并显示余额,如有取款命令则提示吐卡机工作,如需打印报表则提示打印机工作等。
③IC认证模块需求
(1)规格说明:验证银行卡的真伪,如下图:
Input:卡号
Process:连接IC认证服务器来验证卡号等信息
Output:验证正确则提示输入密码,否则吐卡
(2)引言:通过IC验证来正确识别有效的银行卡。
(3)输入:输入卡号。
(4)处理:连接IC认证服务器来验证卡号等信息。
(5)输出:验证正确则提示输入密码,否则吐卡。
④显示模块需求
(1)规格说明:显示信息给客户,如下图:
Input:各种客户输入
Process:后台处理
Output:所有处理情况,在屏幕上显示
(2)引言:显示信息,提示进行有效操作。
(3)输入:各种客户输入。
(4)处理:后台处理。
(5)输出:所有处理情况在屏幕上显示。
⑤吐钱机模块需求
(1)规格说明:提供现金给客户,如下图:
Input:客户输入的金额
Process:后台处理
Output:现金
(2)引言:根据客户输入的金额,以现金的形式给出,有限额。
(3)输入:客户输入金额。
(4)处理:后台处理。
(5)输出:输出现金。
⑥打印报表模块需求
(1)规格说明:提供报表给客户,如下图:
Input:客户的选择,要打还是不打
Process:后台处理
Output:报表
(2)引言:根据客户的选择来决定是否要打印报表。
(3)输入:客户选择是否打印。
(4)处理:后台处理。
(5)输出:输出报表。
⑦监视模块需求
(1)规格说明:监视客户在取款机前的操作,如下图:
Input:客户在自动取款机前的操作
Process:录像
Output:录像带等视频资料
(2)引言:保障银行及客户的利益。
(3)输入:客户在自动取款机前的操作。
(4)处理:录像。
(5)输出:录像带等视频资料。
⑧数据库模块需求
(1)规格说明:查询客户银行卡记录,如下图:
Input:客户在自动取款机前的操作
Process:在数据库内查询
Output:返回客户银行卡的余额等详细信息
(2)引言:ATM客户端连接远程数据库读取数据。
(3)输入:客户在自动取款机前的操作。
(4)处理:在数据库内查询。
(5)输出:返回客户银行卡的余额等详细信息。
2、系统用例模型:
⑴角色的确定
首先考察ATM系统需要哪些人服务。可以归纳如下:
①客户使用ATM系统进行现金交易;
②银行官员更改ATM的设置,放置现金,维护机器等;
③信用系统作为外部的角色参与整个交易过程。
ATM作为一个独立的系统,与客户、银行官员和信用系统这3个角色产生了交互。这里的信用系统作为外部内容也是个角色。
所以可以创建角色:客户、银行官员、信用系统。
使用Rational Rose的Use Case View中建立角色的视图,如下图:
⑵创建用例
用例是角色启动的,所以ATM系统根据业务流程大致可以分为以下的几个用例:
①客户取钱;②客户存钱;③客户查询余额;④客户转账;⑤客户更改密码;
⑥客户通过信用系统存款;⑦银行官员改变密码;⑧银行官员为ATM添加现金;
⑨银行官员维护ATM硬件;⑩信用启动来自客户的存款。
使用Rational Rose的Use Case View中建立的用例如下图:
⑶创建角色—用例关系图
①客户的用例关系图如下图:
②银行官员的用例关系图如下图:
③信用系统的用例关系图如下图:
3、系统动态模型:
⑴创建活动图
如下图所示,客户服务代表,信用部经理还有客户三者发生了相互的关系。首先客户服务代表收集信息,并建立客户帐号,也就是Account【Initializating】。然后由信用部经理检查信用历史,分两种情况,符合和不符合。符合就批准帐号申请,不符合就拒绝帐号申请,分别对应为Account【Denied】和Account【Approved】。帐号被批准后,传给客户,最后客户领到银行卡,也就是Account【Open】。
(2)时序图
例如取100元人民币的正常情形如下图所示,取钱使用案例从用户将卡插入读卡机开始,读卡机读卡号,打开张三的账目对象,并初始化屏幕。屏幕提示输入PIN,张三输入PIN(1234),然后屏幕验证PIN与账户对象,并发出相符的信息。屏幕向张三提供选项,张三选择取钱。然后屏幕提示张三输入金额,他选择100RMB。然后从帐号中取钱,启动一系列账目对象要完成的过程。首先,验证张三的账目中至少有100RMB,然后从中扣掉100RMB,再让吐钱机提供100RMB现金。另外,还需要让吐钱机提供收据,最后让读卡机退卡。
(3)协作图
时序图对应的协作图如下图
4、系统类模型
⑴类图
ATM的系统类图如下图所示:
⑵状态图
状态图实现对象的功能,例如银行的账目可能有几种不同的状态,可以打开、关闭或者透支。因为账目在不同的状态下功能是不同的。如下图所示,显示了银行账目的状态图,有3个状态:开启、透支和关闭。其中有很多消息通过箭头流动,上面的文字描述了消息的流动条件。
5、系统部署
⑴组件图
①ATM系统的组件图如下图所示:
②如下图所示是ATM系统Server的组件图,图中Account类跟Server服务器有紧密的联系。箭头表示联系的方向。深灰色表示是账目类的一个实例。
③如下图所示是ATM系统Client的组件图,图中深灰色的部分表示了实例,最终客户端被打包成一个exe应用程序,包括3个组件:Card Reader、ATM Screen和Card Dispenser。
⑵配置图
配置图关注系统的实际部署,但与系统的逻辑结构有所不同。配置图包含了处理器、设备、进程和处理器与设备之间的连接。
如下图所示的是ATM系统的配置图:
如下图所示的是ATM系统的配置图,在配置图中只画出了两个ATM Client,一个地区的ATM服务器,银行数据库服务器,以及一个打印机,大致上描述了整个系统的物理部署情况。
展开阅读全文