⽤例图中的extend和includerisk的用法
在学习UML的时候,没有特别注意这两个⼩东东,是说话当时只是⾛马观花的看了⼀遍,没能记下多少东西。australia
后来在做机房收费系统的时候⾃⼰虽然没有注意到,但是看到其他同学的⽤例图中出现了这两条线,于是乎查了⼀下。当时感觉很简单,没什么可看的,所以只是查了⼤概意思,没有去深究。
这次,它竟然⼜来了,看来这个东西必然是重点啊!
french leave
看软考视频的时候,在⽤例图部分⽼师重点讲解了这个Extendhe 和Include的关系表⽰的两个⽤例之间的关系。
造价工程师报考条件下⾯我就通过⼀个图来说明:
experienced这是使⽤Ratioal Ro 画的简单的⼀个⼩例⼦,图中已经包括了我们要讨论的Extend 和Include两种关系。
对于Extend 和Include,⽐较官⽅的解释是这样的:
pressures
包含关系:使⽤包含(Include )⽤例来封装⼀组跨越多个⽤例的相似动作(⾏为⽚断),以便多个基(Ba )⽤例复⽤。基⽤例控制与包含⽤例的关系,以及被包含⽤例的事件流是否会插⼊到基⽤例的事件流中。基⽤例可以依赖包含⽤例执⾏的结果,但是双⽅都不能访问对⽅的属性。
扩展关系:将基⽤例中⼀段相对独⽴并且可选的动作,⽤扩展(Extend )⽤例加以封装,再让它从基⽤例中声明的扩展点(Extension Point )上进⾏扩展,从⽽使基⽤例⾏为更简练和⽬标更集中。扩展⽤例为基⽤例添加新的⾏为。扩展⽤例可以访问基⽤例的属性,因此它能根据基⽤例中扩展点的当前状态来判断是否执⾏⾃⼰。但是扩展⽤例对基⽤例不可见。
lfsufficient我是这样理解的,Include,从表⾯英⽂意思来看,是包含的意思,也就是说是基⽤例的⼀部分,是不可缺少的。即:必须执⾏。
⽽Extend是扩展,也就是在原有基础上新增加的⼀个。即:可执⾏也可不执⾏。
以上⾯的例⼦说,就是:要想预约和借书,必须先登陆,即Include⽤例是必须要执⾏的,否则基⽤例
庐江英语
奥普拉 温弗瑞⽆法完成。⽽还书的话就不⼀定⾮得要缴纳罚款,即在⼀定条件下才去执⾏Extend的⽤例。
另外,我们要注意的是:
在 include 关系中,预约和借书知道登陆的存在,⽽登陆根本不知道有预约和借书
膨胀螺栓 英文在 extend 关系中,还书不知道缴罚款的存在,但缴罚款却是知道还书并且知道如何在还书中作扩展的