1、软件工程设计选题2ATM系统UML建模设计ATM系统1、ATM系统总体需求与功能模块 ATM系统是一个复杂的软件控制硬件的系统,各功能模块协调工作。以具体业务为出发点对它进行建模,一个功能齐全的ATM系统包含以下几个模块:(1)读卡机模块 客户银行卡插入读卡机,读卡机识别卡在显示器提示输入密码。(2)键盘输入模块 客户通过键盘输入密码与取款金额,选择要进行的业务。(3)IC认证模块 基于安全性,鉴别卡的真伪。(4)显示模块 显示一切与客户有关信息,包括交互提示、确认等信息。(5)吐钱机模块 照客户需求选择合适面值钞票给客户。(6)打印报表模块 客户可自由选择打印或不打印凭条(卡号、金额、日期等
2、信息)。(7)监视器模块 设置摄像头以防意外事件,保证交易安全性,银行有权调看记录。图1 ATM系统功能模块需求2、ATM系统需求分析与用例建模 从用户角度对系统进行评估,采集和分析系统的需求,理解系统要解决的问题。结果可以用一个业务用例(Business Use Case)框图表达,分以下几个步骤:参与者分析;用例分析;创建参与者-用例关系图。2.1 参与者分析 参与者是与系统交互作用的人或事物,代表系统的使用者或外部通信目标。考察ATM系统服务对象可以确定参与者:客户 (使用ATM进行现金交易)银行官员 (更改ATM设置,放置现金,维护机器等)信用系统 (作为外部角色参与整个交易过程)2.
3、2 用例分析 用例是参与者启动的,基于这样的考虑,ATM系统根据业务流程大致可分为以下几个用例:客户取款客户存款客户查询余额客户转帐客户更改密码客户通过信用系统付款银行官员修改密码银行官员为ATM添加现金银行官员维护ATM硬件信用系统启动来自客户的付款2.3 参与者-用例关系图 在参与者与用例之间存在交互关系,客户、银行官员和信用系统这3个参与者都有各自的用例关系图。综合所有参与者的用例关系,可以建立如下整个ATM系统的用例关系图:图2 ATM系统用例关系图 模型中的活动者代表外部与系统交互的单元,包括客户、银行官员和信用系统;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,包
4、括客户现金交易子系统、银行管理维护子系统、客户服务子系统、信用子系统。3、静态结构模型 采用面向对象技术设计系统时,首先要根据用户需求来分析系统的静态结构从而建立系统的静态结构模型。3.1 ATM系统包图 整个ATM系统包括硬件和逻辑两块,分别控制不同的应用。相应地将整个ATM系统分割成如图3所示两个独立的包。把ATM系统内所有与硬件相关的内容全部放在Hardware包内,好处是想增加或删除硬件可以在一个包内进行,而与其它包无关。比如可增加一个硬件用于把100元RMB换成两张50元RMB。Hardware包内包括四部分内容:屏幕ATM Screen、读卡器Card Reader、吐钱机Disp
5、enser、键盘Keyboaed。 Logic包内是一些逻辑性的内容,起关键作用的是帐目类,它先从远程服务器得到Allen的帐目信息,然后根据硬件发出的指令进行相关操作。在Logic包内包含两部分内容:帐户Account和数据库连接Database Connector。此处不涉及到ATM硬件,是纯粹的软件模块。 图3 系统包图 图4 Hardware包内类图5 Logic包内类3.2 ATM系统类模型 类图全面描述类中存在的属性和方法,类图中的类是针对时序图和协作图中每种对象而建立的。ATM系统类图共6个类,包括Hardware和Logic包中的类,其中Account类功跟其它4个类都有关联。
6、连接类的直线显示类之间的通信关系。图6 系统类图4、ATM系统动态建模 动态模型包括许多框图:活动图、状态图、时序图和协作图。创建这些框图目的是为了更好地了解ATM业务流程。是对用例图的补充。描述系统的行为,建立系统的动态行为模型3。4.1 状态机图 状态机是一个类的对象所有可能的生命历程的模型。状态机图通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为,也可以用来描述用例、协作和方法的动态行为,它是展示状态与状态转换的图。在Rose中状态机包括状态图和活动图两种表示方法,活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模。 如图7所示ATM系统帐目状态图实现帐目开启、关闭或
7、透支几种不同的状态,不同状态下功能不同,消息通过箭头流动,上面的文字描述里消息流动的条件。状态图适合描述一个对象穿越多个Use Case的行为。类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。图7 帐目状态图 如图8所示“开户”活动图,活动用圆角矩形表示,工作六一向的对象用方框表示。开始状态表示工作流开始,结束状态表示工作流结束,决策点用菱形表示。活动图是强调计算过程中顺序和并发步骤的状态机。它可以很方便地描述一个系统或用例的工作流程以及并发操作。对于数据采集这个用例来说,它的工作流程应该是先在系统工具中进行通讯设置,选择要采集哪些历史数据或查看当前哪些数据,然后再
8、进行数据采集。图8 “开户”活动图4.2 交互图 交互图用来表达对象之间的交互关系,分为两种:时序图和协作图。时序图强调消息发送的时间顺序,协作图则强调接收和发送消息的对象的组织结构。两者在语义上是等价的,可等价转换,更改其中一个框图时,另一个框图回发生同步变化。这里对部分用例事件流程进行建模。 如图9所示以取500RMB位例的“取款”时序图,显示“取款”用例中的功能流程。时顺图中靠箭头在各个对象间传递消息,这些箭头要么水平,要么自反。箭头的方向表示里信息的流向,可以流向其它对象,也可以流向自己本身的对象。步骤用数字来标志。 取款用例从用户插入读卡机开始,读卡机读卡号,打开Allen的帐目对象
9、,并初始化屏幕。屏幕提示输入PIN,Allen输入PIN(1234),然后屏幕验证PIN与帐户对象,发出相符的信息。屏幕向Allen提供选项,Allen选择取款。然后屏幕提示Allen输入金额,他选择500RMB。然后从帐户中取钱,启动一系列帐目对象要完成的过程。首先,验证Allen的帐目中至少有500RMB,然后从中扣掉500RMB,再让吐钱器提供500RMB现金。另外,还需要让吐钱机提供收据,最后让读卡机退卡。图9 “取款”时序图图9所示时序图对应的协作图如图10所示。图10 “取款”协作图5、ATM系统部署与物理模型 ATM系统部署是整个项目实施过程的最后阶段,把系统中涉及到的软硬件郑和
10、到一起,并且让整个系统运行起来。在系统部署中有两种视图,组件图和配置图。5.1 组件图 组件图提供当前模型的物理视图,对系统的静态实现视图进行建模,显示驻留在计算机比特世界中的各种软件构件。ATM系统组件图包括两部分:Server和Client。如图11所示是ATM系统Server组件图,图中Account类跟Server服务器有紧密的联系,箭头表示联系的方向,深灰色表示帐目类的一个实例。图11 ATM系统Server组件图 如图12所示是ATM系统Client组件图,图中深灰色的部分表示实例,最终客户端打包成一个exe程序,包括3个组件:Card Reader、ATM Screen、Card Dispenser。图12 ATM系统Client组件图5.2 配置图 配置图提供当前模型的物理视图,描述系统运行时节点、构件实例及其对象的配置。配置图定义了软硬件在系统中的配置关系4。如图所示ATM系统的配置图显示的主要内容包括两个ATM Server,一个地区ATM服务器,银行数据库服务器,一个打印机以及表示通信的连接。图13 ATM系统的配置图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1