UML用例图

什么是用例图

用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。

用例图主要用来描述角色以及角色与用例之间的连接关系 。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素 ,如系统、参与者和用例,并且显示这些元素之间的各种关系 ,如泛化 、关联 和依赖 。它展示了一个外部用户能够观察到的系统功能模型图。

【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。

用例图所包含的元素

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

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

(3)子系统(Subsystem)—— 用来展示系统的一部分功能,这部分功能联系紧密。(就是具体的系统功能)

 

用例图所包含的关系

用例图中涉及的关系有:关联、泛化、包含、扩展

如下表所示:

a.关联(Association)

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

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

 

b. 泛化(Inheritance)

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

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

 

PS:父类的功能少,子类的功能多 

 

c. 包含(Include)

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

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

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

 PS:预约功能、结束功能都包含 登陆功能,将通用功能(复用功能)提取

d. 扩展(Extend)

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

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

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

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值