首页betway必威体育app官网 › [转]统一建立模型语言UML轻松入门之综合实例

[转]统一建立模型语言UML轻松入门之综合实例

小编: 宋宝华 出处: 天极开发

"例,比也"(《说文》),本次连载将送交三个选用UML实行建立模型的完整实例,综合采用前面学到的知识,达到"举此以例别的"(元刘壎《隐居通议·欧阳公》)的指标。

在本国10年前ATM(自动取款机)依旧1个相当特殊的事物,今后在城市的寻常巷陌随地可知。大家在日常生活中也时时和ATM打交道。本章大家将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及同盟图知识应用到此例中。

5.1用例图

到场者"银行储户"和ATM机。简化后的ATM机仅有取款、存款及任何成效。其他作用不做详细表明。

 


图5.1 自动取款机(ATM)系统用例图

银行储户在ATM机上形成取款、存款及任何业务。

5.2类图

图5.二所示的银行系统类图和图3.五是看似的,只是将工作职员换到了ATM。整个银行连串包含了帐户库、银行储户库及ATM系统。

多多单个的帐户组成了帐户库。帐户具有帐户类型、帐户号、余额三个天性,均为private,其项目分别为char,int,double。五个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其他均为public。

setType设置帐户类型,再次来到类型为void,参数类型为char,输入帐户类型。

getType获取帐户类型,再次来到类型为char,无参数。

setAccountNumbe设置帐户号,重回类型为void,参数类型为int,输入帐户号。

getAccountNumbe获取帐户号,再次来到类型为int,无参数。

caculateBalance总计余额,再次来到类型为void,参数为double,第三个参数为输入存取款数额,第1个参数为存款余额,既为输入也为出口。

getBalance获取帐户余额,重返类型为double,无参数。

数见不鲜银行储户组成了储户库。ATM系统包蕴了很多ATM机。银行储户及ATM机八个类富含哪些属性,哪些操作,它们的可知性及操作的归来类型、参数个数、参数类型从类图上都一目通晓。更加多的性质及操作都足以一BlackBerry上,使这一个类图更详细更完整,从而使参加项目标种种成员都能无歧义的明了全套规划的类的构造。同样对于八个着实的银行系统,这么些类图过于不难。比如帐户类型大家得以先定义一个abstract
class,它包蕴1个帐户最基本的性情及操作。而有点操作先定义为abstract,如余额的持筹握算。然后再持续那几个abstract
class,大家能够有saving account 和checking
account等等。差异的帐户有例外的余额总计方法,我们能够增进具体的算法。对于分化的帐户也许还有一部分它特有的操作,大家也足以添加,比如saving
account在存款达到多少时能够分享机票减价的优化。通过类图不仅能够使设计者鲜明的抒发自个儿的安排性意图,也能帮组本身收10思路,充实及优化自身的安插。


图5.2 银行系统类图

5.3顺序图

图5.三叙述了消费者在ATM机上取款时新闻的流动情状。以时日为种种。因为仅是出现说法,所以总体进程是不曾出现其余故障时的流程,并且只画到了取款甘休。通过这么些图,大家可以见到新闻是怎么着在系统中不相同目的时期开始展览交互。

经过流程图大家得以很明亮地来看系统是怎样工作的,系统各部分之间的消息及控制是哪些发送的,整个流程是不是站得住。流程图对大家的布署性起到了很好的扶助意义。注意在本图未有叁个生命线终端有3个"X",那是因为那几个流程中还未赶上有指标生命停止。当有对象生命截止时需在对应的生命线终端画"X",表明那一个指标在那儿被灭绝。

首先银行储户将ATM卡插入读卡机,读卡机将新闻传给客户管理,客户管理提议询问密码,突显部分将输入密码请求呈现出来…..因为这么些顺序图较长,且很清晰,即正是初专家也很简单读懂,在此就不对本图做过多的解释。


图5.3 ATM取款顺序图

5.4状态图

图5.四叙述了消费者在ATM机上进展操作会经历的二种情状,及各个情状之间转移的标准。因为是简化了的事例,所以除了等候顾客插入磁卡的起初状态和得了劳动的停止景况,顾客会处于输入密码、选取服务类型、存款及取款八种情状。


图5.4 ATM状态图

安排磁卡后跻身输密码状态,当密码输入正确时进入选取服务类型状态,当输入密码不正确时,停留在原状态,但借使一回不得法,服务截至。进入选用服务类型后基于接纳的比不上,顾客可进入存款和取款状态。存、取款结束后,顾客既能够选取截止劳动到最后状态,也足以挑选继续服务回到选取服务类型状态。

经过状态图大家得以无歧义的垂询各种活动剧中人物是什么在分化场景下转移的,转换的准绳是怎么样,是还是不是会现出死锁现象,是或不是有规则没考虑周密,是或不是有景况无法达到规定的标准。状态图能够援救大家发现难点,并随即校对。

5.5活动图

图5.伍参考了Randy Miller的《A Hands-On Introduction for
Developers》一文,伍.叁图中的客户保管和东西管理对应于伍.5图中的Bank,图5.三中的读卡机、呈现、输入设备及点钞机对应于五.5图中的ATM
Machina,银行储户就是Customer。初看活动图和顺序图表明的意思很接近。但大家能够小心到各类图根本时间的一一,而活动图侧重于各部分之间的竞相制约,对于某些并行的移位能够行得通的意味出来。例如伍.伍图中fork和join处,大家得以很领会的观看有个别相互活动的存在。

那么些运动图以顾客插入卡为起先,以消费者取卡截止。我们得以看出活动图的重点尽管不在时间顺序,但我们一样能够博得时间的新闻。


图5.5 ATM银行系统活动图

5.6协作图

在第伍章中大家清楚合作图和顺序图是足以无消息损失的相互转换,只是它们的主体是不1样的。顺序图重视于对象间新闻传递的时日各种,同盟图注重于表明对象时期的静态连接关系。图5.陆将五.3图转换为合营图。

  1. 插入ATM卡

  2. 接受ATM卡

  3. 询问密码

  4. 显示输入密码请求

  5. 输入密码

  6. 密码传送

  7. 恳请确认密码合法性

  8. 肯定密码合法性

  9. 打听服务门类

  10. 呈现输入服务服务档次请求

  11. 输入取款请求

  12. 取款请求

  13. 领悟取款数额

  14. 展现输入数额请求

  15. 输入取款数额

  16. 传送取款数额

  17. 摸底取款数额确认

  18. 来得确认数额请求

  19. 输入确认

  20. 传送确认新闻

  21. 数据合法性确认请求

  22. 确认数额和法性

  23. 出钞请求

  24. 算算帐户余额

  25. 出钞

  26. 取钞

  27. 传送余额并询问是否还要求其余服务

  28. 体现帐户余额并提醒选用上边包车型大巴劳动  


图5.6 ATM系统协作图

从图上大家可以见到合营图的剧中人物和顺序图的指标是各类对应的,而协作图上的各目的上的合作关系和顺序图上的音讯传递是逐一对应的。

转载本站文章请注明出处:bway883.com https://www.piworx.com/?p=7251

上一篇:

下一篇:

相关文章

网站地图xml地图