在用例图中如何区分include和extends?

原文地址:http://www.cnblogs.com/bookideas/archive/2010/11/11/1874968.html

我们知道,在收集一个软件系统需求的时候,一般会用到用例图。在分析两个用例之间的关系的时候,会用到《include》和《extend》这两个原型。这两个原型很容易让UML的初学者感到迷惑,包括我,呵呵。今天,在这里初步探讨它们之间的区别。

  • 《Include》: 表示一个用例包含另一个用例,即要完成包含用例就一定要执行被包含用例。
  • 《extend》:表示一个用例扩展到另一个用例,这里有一点需要注意:在执行一个被扩展用例时,不一定执行扩展用例。即扩展用例的执行是受条件限制的,是可选的。这一点,是区别两个用例之间的关系是《包含》还是《扩展》的依据。

   下面举两个比较直观的例子:

. image

  •     说明:这是一个ATM系统中的两个用例,很显然,在执行“取款”用例的过程必定要执行“银行卡验证”用例。将来在画“取款”的活动图的时候,一定要把“银行卡验证”作为一个步骤加入进去。

image

  • 说明:这是一个图书管理系统常见的两个用例。这里被扩展用例“还书”有一个“扩展点”即“过期”。当且仅当还书过期的时候,“还书”用例的活动图中才需要加入扩展用例“罚款”,即“罚款”用例是可选的,而不是必选的。

从以上两个例子,我们就可以明确得区分,两种关系的区别。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值