完整版使用UML对ATM系统进行建模.docx
《完整版使用UML对ATM系统进行建模.docx》由会员分享,可在线阅读,更多相关《完整版使用UML对ATM系统进行建模.docx(8页珍藏版)》请在冰豆网上搜索。
完整版使用UML对ATM系统进行建模
ATM自动取款机系统
1系统总体功能需求:
ATM系统是一个复杂的软件控制硬件的系统,了解外部设备如何协调工作是整个建模的基础。
这是以具体的业务为出发点对它进行建模,一个功能完全的ATM系统必须包括以下的
几个模块。
(1)读卡机模块
在这个功能模块中,允许客户使用银行卡插入读卡机。
读卡机来识别卡的种类并在显示器上提示输入密码。
(2)键盘输入模块
在这个功能模块中,客户可以输入密码和取款金额,并选择要进行的事务。
通常在这
个键盘上只设置数字键和选择键,目的是方便客户使用。
只有在这个功能模块中,需要客户
的交互。
(3)IC认证模块
这个功能模块主要用于鉴别卡的真伪。
基于IC卡的安全授权系统,完全可以从技术上严格保证卡的唯一性与防伪性,使基于数字形式的电子政务和电子商务安全运转,其目的就是网络安全。
1读卡机模块需求
(1)规格说明:
读取客户插入的银行卡,如下图:
(2)引言:
为了识别银行卡的类型。
(3)输入:
插入银行卡。
(4)处理:
读取卡号等信息,查找数据库中找到相关的信息,识别卡的类型并记录卡号和所属银行等信息。
(5)输出:
输出卡号及所属银行等信息。
2键盘输入模块需求
(1)规格说明:
接受来自客户的输入,如下图:
(2)引言:
客户通过键盘与机器交互。
(3)输入:
输入密码、输入取款金额、查询余额、查询密码、打印报表和取卡等。
(4)处理:
连接远程服务器来验证密码,传回余额等相关信息。
(5)输出:
验证密码正确则显示正确提示信息,查询余额操作并显示余额,如有取款命令则提示吐卡机工作,如需打印报表则提示打印机工作等。
3IC认证模块需求
(1)规格说明:
验证银行卡的真伪,如下图:
(2)引言:
通过IC验证来正确识别有效的银行卡。
(3)输入:
输入卡号。
(4)处理:
连接IC认证服务器来验证卡号等信息。
(5)输出:
验证正确则提示输入密码,否则吐卡。
4显示模块需求
(1)规格说明:
显示信息给客户,如下图:
(2)引言:
显示信息,提示进行有效操作。
(3)输入:
各种客户输入。
(4)处理:
后台处理。
(5)输出:
所有处理情况在屏幕上显示。
5吐钱机模块需求
(1)规格说明:
提供现金给客户,如下图:
Input:
客户输入的金.
额
Process:
后台处理
F
F
Output:
现金
(2)引言:
根据客户输入的金额,以现金的形式给出,有限额。
(3)输入:
客户输入金额。
(4)处理:
后台处理。
(5)输出:
输出现金。
6打印报表模块需求
(1)规格说明:
提供报表给客户,如下图:
(2)引言:
根据客户的选择来决定是否要打印报表。
(3)输入:
客户选择是否打印。
(4)处理:
后台处理。
(5)输出:
输出报表。
7监视模块需求
(1)规格说明:
监视客户在取款机前的操作,如下图:
(2)引言:
保障银行及客户的利益。
(3)输入:
客户在自动取款机前的操作。
(4)处理:
录像。
(5)输出:
录像带等视频资料。
8数据库模块需求
(1)规格说明:
查询客户银行卡记录,如下图:
(2)引言:
ATM客户端连接远程数据库读取数据。
(3)输入:
客户在自动取款机前的操作。
(4)处理:
在数据库内查询。
(5)输出:
返回客户银行卡的余额等详细信息。
2、系统用例模型:
⑴角色的确定
首先考察ATM系统需要哪些人服务。
可以归纳如下:
1客户使用ATM系统进行现金交易;
2银行官员更改ATM的设置,放置现金,维护机器等;
3信用系统作为外部的角色参与整个交易过程。
ATM作为一个独立的系统,与客户、银行官员和信用系统这3个角色产生了交互。
这里
的信用系统作为外部内容也是个角色。
所以可以创建角色:
客户、银行官员、信用系统。
使用RationalRose的UseCaseView中建立角色的视图,如下图:
⑵创建用例用例是角色启动的,所以ATM系统根据业务流程大致可以分为以下的几个用例:
①客户取钱;②客户存钱;③客户查询余额;④客户转账;⑤客户更改密码;
⑥客户通过信用系统存款;⑦银行官员改变密码;⑧银行官员为ATM添加现金;
⑨银行官员维护ATM硬件;⑩信用启动来自客户的存款。
使用RationalRose的UseCaseView中建立的用例如下图:
⑶创建角色—用例关系图
①客户的用例关系图如下图:
②银行官员的用例关系图如下图:
③信用系统的用例关系图如下图:
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个组件:
CardReader、ATMScreen和CardDispenser。
⑵配置图配置图关注系统的实际部署,但与系统的逻辑结构有所不同。
配置图包含了处理器、设备、进程和处理器与设备之间的连接。
如下图所示的是ATM系统的配置图:
如下图所示的是ATM系统的配置图,在配置图中只画出了两个ATMClient,一个地区的ATM服务器,银行数据库服务器,以及一个打印机,大致上描述了整个系统的物理部署情况。