用例图学习

本秂侑毒 提交于 2019-12-16 17:44:47

作用

用例图:也被称为用户模型图,它是从客户角度来描述系统功能的,描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。

基本组件

它包含三个基本组件:参与者(使用系统的人或事物)、用例(代表系统的某项完整的功能,在图形中使用椭圆型表示)、关系(泛化关系、扩展关系、包含关系,关联关系)。

1. 参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示

 

                

 

2. 用例(Use Case)——用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示

 

             

案例:

 

四种关系:

 

  a. 关联(Association)

 

  表示参与者与用例之间的通信,任何一方都可发送或接受消息。

 

  【箭头指向】:无箭头,将参与者与用例相连接,指向消息接收方

 

  

 

  b. 泛化(Inheritance)

 

  就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。在实际应用中很少使用泛化关系,子用例中的特殊行为都可以作为父用例中的备选流存在。

 

  【箭头指向】:指向父用例

 

 

  c. 包含(Include)

 

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一段算法封装成一个子过程,然后再从主程序中调用这一子过程。

  例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那添加、修改以及删除都要在用例详述中描述,过于复杂;如果分成添加用例、修改用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

 

  【箭头指向】:指向分解出来的功能用例

 

 

  d. 扩展(Extend)

 

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。但是扩展用例对基用例不可见。

对于一个扩展用例,可以在基用例上有几个扩展点。

 

  【箭头指向】:指向基础用例

 

案例

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!