您好,欢迎访问三七文档
案例一ATM系统1.问题陈述ATM(autotrademachine)自动出纳业务是银行网络系统的重要组成部分,包括人工出纳和分行共享的自动出纳机;各分理处用自己的计算机处理业务(保存帐号、处理事务);各分理处与出纳站通过网络通信;出纳站录入帐户和事务数据;自动出纳机一分行计算机通信;自动出纳机与用户接口,接受现金卡,发放现金,打印收据;分行计算机与拨款分理处结账。要求系统能正确处理同一帐户的并发出现;网络费用平均摊派各分理处。如图给出银行网络系统的示意图:2.系统需求分析atm系统包括软件和硬件两部分,因此了解外部设备是如何协调工作是整个建模的基础。Atm业务大概分为4个部分:查询帐户余额、取款、存款和更改用户的密码。一个完整的atm系统包括一下几个模块:(1)读卡机模块允许储户讲银行卡插入读卡机,读卡机识别卡的种类并在显示器上提示用户输入密码。(2)输入模块储户可以输入密码和取款金额,并选择要完成的事务。通常在键盘上只设数字键和功能键,目的方便储户,该模块需要储户的交互。(3)ic认证模块主要鉴别储户卡的真伪。基于ic卡的安全授权系统,要求从技术上严格保证卡的唯一性与防伪性,从而保证网络的安全。(4)显示模块显示储户相关的信息,包括储户交互是的提示信息和确认信息。(5)吐钱机模块按照储户的要求,选择合适面值的钞票给储户。(6)打印票据模块提供给储户一张取款的凭据,储户可选择打印,也可不打印凭据,主要信息为交易的信息。(7)监视器模块主要为防止意外事件的发生,以保证交易的安全性。银行有权调查取款记录。Atm系统的功能需求如下图:Atm取款系统读卡机模块输入模块ic认证模块显示模块吐钱机模块打印票据模块打印票据模块3.建立系统用例模型1)角色的确定(1)谁使用atm系统的主要功能?(2)谁需要atm系统的支持以完成日常工作任务?(3)谁负责维护,管理并保持atm系统正常运行?(4)atm系统需要应付(或处理)哪些硬设备?(5)atm系统需要和哪些外部系统交互?(6)谁(或什么)对atm系统运行产生的结果(值)感兴趣?储户出纳员银行工作人员系统工程师信用卡信用系统如分行储户银行工作人员经过分析可知:①储户是与atm交互的主要对象②银行工作人员更改atm的设置,放置现金和维护机器,而系统工程师则是掌握atm技术以及系统配置的工程技术人员,而atm的一般维护只需银行工作人员即可,故不做为atm系统的角色处理③信用系统做外外部的角色参与整个业务的交易最终确定的角色为:储户、银行工作人员和信用系统2)用例的确定⑴与系统实现有关的主要问题是什么?⑵系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?⑶执行者需要系统提供哪些功能?⑷执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?存款、取款、查询余额、转账等存储卡、打印的收据等(相关用例)存款、取款、查询余额、转账和通过信用系统付款等修改账户密码、转账用例是由角色驱动的,atm系统根据业务流程大致分为几个用例:①与储户相关的用例:存款、取款、查询余额、修改账户密码、转账和通过信用系统付款等。②与银行工作人员相关的用例:添加现金、维护atm硬件设备、修改密码等。③与信用系统相关的用例:启动储户的付款(3)建立系统的用例模型如右图系统用例模型。存款取款转账查询余额储户添加现金维护atm硬件付款信用系统修改密码4.建立系统的动态模型动态模型包括活动图、时序图、协作图和状态图。这些图是对系统动态特性的描述。(1)活动图展示系统中的功能流,可以在业务模型中现时业务工作流;可以在收集需求时显示一个使用案例的事件流。它使用泳道表示工作流中的不同角色,通过在不同泳道中活动之间的过度了解角色之间的通信过程,使读者清楚的知道整个开户过程的业务流程,以便将来的细化工作打下基础。收集储户信息建立新的信用账户设置信用限制/检查储户信用历史拒绝帐号批准帐号接受信用条件签发(2)时序图表现系统流程以及系统元素之间的交互关系可以用时序图,他们能够清晰的表达系统流程和元素之间的交互关系。它的能够就是按时间顺序描述系统元素间的交互。如图为储户取款的时序图。:储户读卡机atm屏幕账户取款机1:插卡2:读卡号3:屏幕初始化4:打开账户5:提示输入密码6:输入密码7:验证密码8:提示进行交易类型的选择9:选择交易类型10:提示输入交易金额11:输入交易金额12:处理取款13:处理账户14:处理取款15:退卡(3)协作图如图的协作图描述储户取款的过程。参与交互的对象有atm屏幕显示器、储户的账户、取款机和读卡机等,编号给出取款的执行顺序。:储户读卡机atm屏幕账户取款机2:读卡号13:处理账户1:插卡3:屏幕初始化4:打开账户15:退卡5:提示输入密码8:提示进行交易类型的选择10:提示输入交易金额6:输入密码9:选择交易类型11:输入交易金额7:验证密码12:处理取款14:处理取款5.系统类模型1.系统包图在定义具体的类之前,先在宏观的角度上将整个系统分割成多个独立的包。此处把整个atm系统分为如下图所示的包。整个系统分为硬件和逻辑两块,分别控制不同的应用。2.类图类图是建立各类模型的基础。下图分别描述了逻辑包、硬件包中的类图。逻辑+Account+DatabaseConnector硬件+AtmScreen+CardReader+CashDispenser+KeyBorad逻辑包中的类:Account、DatabaseConnect类,Account指向DatabaseConnect,说明Account类向DatabaseConnect类请求得到消息。当用户名和密码经过验证后就可以访问数据库了。硬件包中的类:KeyBoard(键盘类)要发消息来传递储户发出的指令,如储户输入密码、选择存钱或取钱等操作。CashDispenser(吐钱机)和CardReader(读卡机)等都给逻辑包中的Account有关。CashDispenser类的属性只有surplus(金额),方法有提现金和收回现金等;CardReader主要是卡号和银行代号,方法有接受、拒绝、读卡和吞卡等。5.建立系统部署图atm系统部署是整个项目实施过程的最后阶段,其实质就是把该系统中涉及到的硬件、软件整合到一起,描述系统的运行情况。在部署图中两只视图,构件图和配置图。(1)构件图组件图,它包含了模型代码库、可执行文件、运行库和其他构件的信息,它是代码的实际模块。AccountAccount类操作代码,.cpp文件类的头文件AtmServer执行文件客户端atm.exeCardReaderAtmScreenCardDispenserCardReaderAtmScreenCardDispenser(2)配置图Atm系统的配置图如下图。在该配置图中只画一个atmclient,一个地区的atm服务器,银行数据库服务器以及一台打印机,它大致描述了整个系统的物理部署情况。Atm客户端地区Atm服务器银行数据库服务器专用网专用网打印机局域网
本文标题:银行atm
链接地址:https://www.777doc.com/doc-3251694 .html