软件设计开发・・ ・・・ 本栏目责任编辑:谢媛媛 UML在ATM自动取款机系统建模中的应用 吴丽 (无锡科技职业学院,江苏无锡214028) 摘要:以ATM自动取款机系统为例,探讨了UML在该系统建模中的应用问题。在对系统进行需求分析的基础上,采用Rational Rose对系统进行了用例模型、静态模型、动态模型及实现模型的建模。 关键词:UML;面向对象方法;ATM自动取款机系统;建模 中图法分类号:TP311 文献标识码:A 文章编号:1009-3044(2008)13-20654-04 The Application of UML in the ATM System Modeling WU Li (Wuxi Professional CoUege of Science and Technology,Wuxi 214028,China) Abstract:The application of UML in the modeling of Automaitc teller machines(ATMj system was discussed.Based on the requirements Analysis of the ATM system,the Use Case model,the static model,the dynamic model and the implementation model of the ATM system was modeled in Rational Rose. Key words:UML;object——oriented methods;ATM;Modeling 1引言 UML(Unified Modeling Language,统一建模语言)是由3位世界著名的面向对象技术专家Grady Booth、Jim Rumbaugh、Ivar Ja— cobson发起,在Booch方法、OOSE方法和OMT方法的基础上,广泛征求意见,集众家之长,反复修改后提出的通用的图形化标准建 模语言。 UML经过不断使用、发展和完善,已经成为一种定义良好、易于表达、功能强大,且普遍适用的建模语言,它为用户建模提供了 完整的符号表示和不同层次的元模型,如用例图、包图、类图、状态图、对象图、活动图、顺序图、协作图、组件图、配置图等,其作用域 不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程,用户可以根据自己所开发系统的特点和不同的开 发阶段,灵活选用UML所提供的各种图和模型.以实现系统的柔性开发。 ATM(Automatic Teller Machine)自动取款机是计算机控制的自动出纳系统。它主要服务于活期储蓄,是实现客户自我服务的先 进电子化设备。整个ATM取款机的业务大致可以分为以下几个部分组成:查询余额、取款、存款、转帐和更改密码等。 2系统需求分析 需求分析是成功实施一个管理系统的基础,只有弄清楚客户的需求,才能真正开发出满足客户需要的系统,也才能够真正让整 个系统发挥其相应的作用。ATM自动取款机系统是一个复杂的软件控制硬件的系统,它的系统功能需求如图l所示。 图1 ATM系统功能需求 (1)读卡机模块 在这个功能模块中,允许客户使用银行卡插人读卡机,读卡机识别卡的类型并记录卡号和所属银行等信息,同时在ATM屏幕 上提示客户输人密码。 (2)键盘输人模块 键盘输人模块中,客户通过ATM键盘与机器交互,可以输人密码,待验证密码正确后,可选择要进行的事务。通常在这个键盘 上只设置数字键和选择键,目的是方便客户使用。在整个ATM系统功能模块中,只有在这个功能模块中,需要客户与ATM的交互。 (3)IC认证模块 IC认证模块主要是通过IC验证来鉴别银行卡的真伪。当客户将银行卡插人读卡机时,ATM立即连接IC认证服务器来验证卡 收稿日期:2008-01—10 作者简介:昊丽(1982一),-k-,湖南省浏阳市人,助教,江南大学在读硕士。 654 电脑知识与技术 维普资讯 http://www.cqvip.com 本栏目责任编辑:谢媛媛 ・・・・・・软件设计开发・ 号等信息,验证正确则提示输入密码,否则将卡退出。这种基于IC卡的安全授权系统,可以从技术上严格保证卡的唯一性与防伪 性,使基于数字形式的电子商务安全运转。 (4)显示模块 显示模块用于显示一切与客户有关的信息,包括一切交互时所需要的提示、确认等信息。 (5)吐钱机模块 在这个模块中,ATM根据客户输入的金额,选择合适的面值的钞票给客户,但是客户在输入金额时有上限金额的限制。这是比 较关键的一个模块。 (6)打印报表模块 打印报表模块主要提供给客户一张取款凭据,取款凭据上主要包括的信息是卡号和金额。客户可以选择打印或不打印。 (7)监视器模块 在这个功能那个模块中,为防止意外事件发生而设置摄像头,监视客户在取款机前的操作,以保障银行及客户的利益。 3系统建模 3.1用例模型 UML中的用例视图是从用户的角度看到系统应有的外部功能的模型图,它用用例图来描述。用例图的基本组成部件是用例和 角色。其中用例是系统中的一个功能单元,可以描述为角色与系统之间的一次交互。角色是指系统外部的一个实体(可以是任何事 物或人),它以某种方式参与了用例的执行过程。用例模型的用途是列出系统中的用例和角色,并显示出哪个角色参与了哪个用例 的执行。 根据该系统的需求分析可以确定系统的角色可以分为3个:客户、银行工作人员和信用系统。同时可以确定系统的用例有:存 钱、转帐、取钱、查询余额、信用系统付款、客户修改密码、银行工作人员修改密码、银行工作人员添加现金、银行工作人员维护ATM 硬件设备。在确定好角色和用例的基础上,整个系统的用例图如图2所示。 大—— 0/—、 ) 银行工作人员 客户 , 、 \ 维护ATN硬件设备 \ 查询余额 付款吴 f 系 图2 ATM自动取款机系统用例图 在设计用例图时,需要清楚地区分用例与用例图。用例只是简单地描述了用户要求系统所具备的动态,而用例图把用户、用例 以及这两者包含在一个系统中,或者一个或多个子系统中。尽管角色在用例图中是用类似人的图形来表示.但角色并不一定是人. 也可以是一个外部系统,它可能需要从当前系统中获取信息,或者是外部信息的提供者。总之,它与当前系统有交互,如本用例图中 的信用系统。 3.2静态模型 建立系统静态模型包括类图、对象图、包图、组件图、配置图的建立。其中最重要的工作是确立系统的类图。类图用来描述系统 中类的静态结构,它不仅定义类之间的联系,如关联、聚合、组成、依赖、泛化等,还包括类的内部结构,如类的属性和操作等。创建类 图首先要做的是通过分析用例图以及问题域确定类及其关联,再确定其属性和操作,这是两个需要反复执行的过程。图3是整个 ATM系统的类图,它隐藏了相关类的属性和操作 l国 数据库I 图3 ATM自动取款机系统类图 3.3动态模型 为了描述系统随时间变化的行为特征,可以建立系统的动态模型。动态模型主要建立系统的交互图和行为图。交互图包括顺序 图和协作图;行为图包括状态图和活动图。 顺序图和协作图在Rational Rose中是可以相互生成的.其中顺序图用来显示对象之间的动态合作关系.它用来建立以时间顺 655 维普资讯 http://www.cqvip.com .软件设计开发・・・・・・ 本栏目责任编辑:谢媛媛 序安排的对象的交互,并且把用例行为分配给类,贯穿于Uniifed Process描述的软件开发生命周期的始终,其侧重点是时间顺序。协 作图是描述对象或角色之间是如何彼此通信的,其侧重点是事件。这意味着协作图更侧重于对象之间的交互而不太顾及时间因素, 更侧重于说明哪些对象之间有交互。限于篇幅,这里只对客户取钱作协作图描述,如图4所示。该图涉及到的对象有客户、读卡机、 ATM屏幕、账户及吐钱机。客户将银行卡插入读卡机,读卡机读卡号,然后打开客户的账户。ATM屏幕提示输入密码,客户输入密 码.经过验证后,屏幕向客户提供可进行的事务选项。客户选择取钱,然后屏幕提示输入金额,客户输入相应的金额后,从账户中扣 除相应的钱数.将钱从吐钱机中吐出,并提供是否打印凭据的选择,最后让读卡机将银行卡退出。 11:输入金颤 图4客户取钱的协作图 一般来讲,活动图描述的是满足用例要求所要进行的活动及活动之间的约束关系,在实质上是一种流程图,只不过表现的是从 一个活动到另一个活动的控制流.活动图描述活动的序列,并且支持对带条件的行为和并发行为的表达。状态图描述了一个特定对 象的所有可能状态以及由于各种事件的发生而引起状态之间的转移。例如银行的账目可能有几种不同的状态,可以打开、关闭或者 透支。因为账目在不同的状态下功能是不同的。如图5所示,显示了银行账目的状态图,有3个状态:开启、透支和关闭。 图5账目类的状态图 3.4实现模型 ATM自动取款机系统的部署是整个项目实施过程中的最后阶段,就是 把该系统中涉及到的软硬件整合在一起.让整个系统一起运行。在部署中 有两个视图,组件图和配置图。组件图是描述软件以及组件之间的关系。组 件通常为源代码、二进制代码和可执行部件等,是对建模元素物理实现的 描述。组件图则是用依赖关系链接起来的组件的集合,可以描述与特定语 言相关的编译时刻的依赖关系。由于组件可以带有接口,因此组件图也可 以描述组件之问的接口关系和调用关系。在UML中,一个组件图不能描述 系统实现的所有方面.当系统中的组件组合起来.就能表示系统完整的实 现模型.而其中的一个组件图只表示实现模型的一部分。 配置图描述系统硬件的物理拓扑结构以及在这些结构上执行的组件, 可以显示计算机节点的拓扑结构和通讯路径、节点上运行的软件组件、软 件组件包含的逻辑单元(对象)等。利用UML的配置图,可以从更抽象的系 统设计角度上,考察每一个软件模块、每一个软件的可执行体在物理节点 之间的通信方式.或者用带箭头符号表示出不同节点上模块之间的通信方 式。图6所示是ATM自动取款机系统的配置框图。在配置图中只画出了两 个ATM Client.一个地区的ATM服务器,银行数据库服务器,以及一个打 图6 ATM系统的配置图 656 电脑知识与技术 维普资讯 http://www.cqvip.com 本栏目责任编辑:谢媛媛 印机,大致上可以描述整个ATM系统的物理部署情况 ・・・・・・软件设计开发・ 4总结 UML是一种描述系统整体设计的建模语言,也可以说UML是利用“图形”来开发设计整个系统模型。在对ATM自动取款机系 统的建模过程中,利用UML从不同的视角,以不同的详略程度对系统进行了描述,利用面向对象的方法实现了系统从需求分析、建 模开发到配置完成的全过程。应用表明,使用UML统一建模语言可以将系统的分析、设计和实现过程有机的集成起来,便于对系统 在更高抽象层次上进行维护。提高系统的可扩展性。 参考文献: 【1】吴建,郑潮,汪杰.UML基础与Rose建模案例【M】.人民邮电出版社,2005.9. 【2】肖岗,张广泉.UML在研究生成绩管理系统建模中的应用『J1.重庆师范大学学报,2007,(1):34—36. 【3】张广泉,刘艳.基于UML的图书管理系统体系结构模型及实现[J].重庆师范大学学报,2005,22(2):1—5. [4】王道乾,文俊浩.基于UML的仓库信息系统的分析与设计[J].电脑知识与技术,2007,(2):42-43,48. 【5】吴忠,汪明艳.UML在社会保险基金风险预警系统中的建模应用[J].上海工程技术大学学报,2006,20(4):343—347. (上接第648页) <forms name=”AuthCookie”loginUrl=”log'dogin.aspx”,> <,authentication> 。 <au【horization> <deny users=”?”/> </authorization> 该设置拒绝匿名用户访问根目录。学生访问时,首先定向到log文件夹下面的login.aspx页面进行登录.通过认证后产生一个名 为AuthCookie的认证Cookie。该Cookie作为用户访问系统的凭据。例如,匿名用户在首页直接点击“在线考试”,会被定向到login. aspx登录,登录成功后再重定向到“在线考试”页面,至此,该用户拥有访问系统的有效凭据,可以在线考试。系统根目录下有一个 admin文件夹,里面放置“系统维护”子系统,该文件夹被配置成只有教师用户才能访问。 另外.系统使用HttpForbiddenHandler类禁止通过Web下载mdb文件类型。该类由ASP.NET在内部使用以禁止下载某些系统 级别文件(例如,包括web.config在内的配置文件)。默认情况下,所有aspx文件都被禁止通过web下载,其他文件,包括mdb.htm和 图形文件等,则可以下载。而mdb文件是系统的数据库文件,保存用户信息和试题库,对系统安全至关重要。首先在IIS中为mdb文 件类型创建应用程序映射,以便将其映射到Aspnet—isapi.dll;其次在Web.config文件中,为mdb类 ̄d ̄,JJIl<HttpHandler>映射: <httpHandlers> <add verb=” ”path=’ .mdb” type=”System.Web.HttpForbiddenHandler”/> </httpHandlers> 7结束语 随着网络的普及,教学手段越来越网络化,网上答疑、在线考试等越来越受到师生的青睐。ASP.NET提供了独特的安全认证手 段.设计系统时。可以免去很多验证代码,提高了开发效率。本文以ASP.NET为平台,基于B/S结构的在线考试与题库管理系统解决 方案是切实可行的。大大地提高了效率,节省了纸张等资源。本系统具有界面简洁、简单易用、移植方便等优点,可以应用于任何一 门课程的在线考试,系统中采用的安全策略对其他系统/应用程序都具有一定的参考价值。 参考文献: 『11 Andrew Duthie G..ASP.NET程序设计【M】.北京:清华大学出版社,20o2. 『21尚俊杰一ASP.NET程序设计【M】.北京:清华大学出版社,北京交通大学出版社,2004. 『31苏红超一ASP.NET深入解析【M】.北京:科学出版社,20o3. 『41尚俊杰。秦卫中一ASP.NET程序设计案例教程【M】.北京:清华大学出版社,北京交通大学出版社,2005. 『51石志国。刘冬梅,陈上.ASP.NET应用教程【M】.北京:清华大学出版社,北京交通大学出版社,2005.
因篇幅问题不能全部显示,请点此查看更多更全内容