UML中用例图之间的关系

定义
include / using (包含) :基用例与包含用例之间的关系。说明如何将包含用例中定义的行为插入基用例定义的行为中。基用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。

extend(扩展):指扩展用例与基用例之间的关系,说明如何将扩展用例定义的行为插入基用例定义的行为序列。扩展用例以模块化的方法递增地修改基用例。  
   
  generalization(泛化):一个较广泛元素和一个较特殊元素之间的类元关系。较特殊元素完整地包含了较广泛元素,并含有更多信息。较特殊元素的实例可以用于任何使用较广泛元素的地方。   
    

说明
其中include/using比较好理解,就是指把多个用例(UseCase A'加撇号表示是在提取公共部分之前的原UseCase , UseCase C')都使用到的相同的部分提取出来单独作为一个用例(UseCase B),然后再在分离之后的用例A, C调用B,画上连线。



extend和generization容易搞混,至于原因可能在于Java语言中的继承(也就是UML中的泛化)使用了extends这个词的缘故。网上有不少文章把generization直接当作了extend,对学习者造成了误导;也有文章说extend和generization是特殊和一般的关系,下面我举个具体的例子来说明。

举例
从这幅图中,我们可以看到:
“包含”比较好理解,二者之间可以认为是一个"HAS A"的关系。
“泛化”是一般的“抽象和具体”之间的关系,子用例(较特殊用例)完整包含了父用例(较一般用例),是一个"IS A"关系。“用邮件报告错误”和“用短信报告错误”都是一种具体的“报告错误”。
“扩展”的扩展用例和基用例之间既不是"HAS A"关系也不是"IS A"关系,而是“以模块化的方法递增地修改基用例”,以提供一些附加的功能。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值