用例图中如何区分include和extend?

需求分析的时候,复杂的需求总是让人很难搞清用例之前的关系,generalize关系比较容易搞清,最易混淆的就是include和extend了。网上好多都对此讲解的不明白,甚至出错。本文告诉你如何判断到底是用include还是extend?

看完下图就明白了。本图是用visio画的,所以《uses》其实是代表《include》(微软总是不服从标准)。


1. 《include》意为包含,也就是use,两个用例之间的关系,执行一个用例就要使用并执行另一个用例。比如想要“预约”就要“验证ID”。要“借书”就要“验证ID”。

2. 《extend》意为扩展,“还书”的时候可能会缴纳罚款(书本过期),但不一定所有“还书”必“缴纳罚款”。在满足一定的扩展条件后(过期)则要执行另一个用例。

可以看出来,《include》的用例大多情况下都是从几个用例中提取出来的公共部分。而《extend》是在执行一个用例时,满足一定extend points后会执行其他用例。

欢迎大家讨论!

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: includeextend是用的两个关键词,它们用于描述用之间的关系。 include表示一个用包含另一个用,即一个用在执行过程需要调用另一个用来完成某些功能。这种关系通常是必须的,因为一个用需要依赖另一个用的功能才能完成自己的任务。 extend表示一个用可以扩展另一个用,即一个用可以在另一个用的基础上添加一些额外的功能。这种关系通常是可选的,因为一个用可以选择是否要扩展另一个用的功能。 总之,includeextend是用非常重要的概念,它们可以帮助我们更好地理解用之间的关系,从而更好地设计和实现软件系统。 ### 回答2: 用includeextend是这样两种关系: 1. include:表示一个用包含另一个用。即,一个用的执行过程,需要执行另一个用。在用include关系用虚线箭头表示。 如,用户注册的用包括发送邮件通知的用。在注册过程,需要发送邮件通知用户注册成功,所以发送邮件通知这个用就是注册用的一个子用。 2. extend:表示一个用扩展另一个用。即,一个用的执行过程,如果满足一定条件,会调用另一个用进行扩展。在用extend关系用虚线箭头和带有<<extend>>标记的关键字表示。 如,用户购买商品的用可以扩展一个使用优惠券的用。如果用户满足使用优惠券的条件,就可以进入使用优惠券这个扩展用进行操作。 总的来说,include关系用于把用拆分为更小的子用,更好地描述用执行过程;而extend关系则用于描述可选的扩展用,用于满足特定条件时的操作。两种关系都可以使用更加清晰明了,更好地描述用的执行过程。 ### 回答3: 用includeextend是两种重要的关系关联,它们帮助人们描述用之间的依赖关系和扩展关系。 首先,include关系表示一个用包含另一个用,也就是说一个用是基于另一个用的扩展而来的。这种关系通常用于描述一些共性的功能或行为,比如:一个购物车的用可以包含添加商品、删除商品、结算等子用,这些子用是购物车必要的功能,也是购物车的共性。当有新的功能需要添加时,可以通过扩展已有用来实现,不需要从头开始设计新的用。这种关系用实心箭头表示,箭头指向被包含的用。 其次,extend关系表示一个用可以在某些触发条件下扩展另一个用,从而实现新的功能或行为。这种关系通常用于描述一些可选的功能或行为,比如:一个下单用可以在支付方式选择时扩展支付宝支付、微信支付等子用,这些子用是下单的可选功能。当用户需要使用这些可选功能时,可以触发扩展用来实现。这种关系用虚线箭头表示,箭头指向扩展的用。 需要注意的是,includeextend是两种不同的关系,不能混淆使用。通常建议先设计基础用,再通过包含和扩展来实现功能的扩展和完善。同时也需要注意,这些用关系仅仅是在用层面上进行描述,不能直接映射到软件系统的代码实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值