2013年3月12日,星期二04:19

挖掘扩展用例-第3部分

撰写者

介绍

文章 [1] 概述了确定非必要用例行为是否可以表示为扩展用例的两个注意事项。文章 [2] 引入了一种新的用例流程,用于表示无法表示为扩展用例的非必需行为。在这种情况下,本文对到目前为止尚未讨论的一个方面进行了进一步的考虑。这三个考虑因素被认为涵盖了代表用例模型中非必要行为的大多数甚至全部可能的情况。

评论

本文核心的不必要用例行为是可以在用例执行期间执行的行为,但这对于达到用例目标不是必需的;在不影响用例达到目标的能力的情况下,可以跳过它。

文章 [1] 在表示此类行为(例如给定用例的扩展用例)时设置了两个条件,然后将其称为基本用例:

  1. 该行为绝不能促进基本用例的目标。
  2. 该行为一定不需要访问基本用例的私有数据。

文章 [2] 引入了选项流程概念来表示不满足上述条件的不必要的行为。

下表总结了这些初始方面。

范加伦March12 img1

额外的细微差别

当不必要的行为以某种方式对用例的目标有所贡献时,将其表示为选项流(*)的主要原因是确保用例的后置条件说明其结果,如果该行为是表示为扩展用例(请参阅 [2] for details).

(*)将其表示为选项流的第二个原因是当它访问用例的私有数据时,扩展用例无法访问(请参阅 [2] for details).

本文通过识别两种这样的行为,加深了对非必要行为的理解,该行为在某种程度上有助于用例的目标:

  1. “陈述性贡献”类型,其中行为的贡献是用例的后置条件的一部分,后者定义了如何衡量用例的目标是否实现。
  2. “未说明的贡献”类型,即行为的贡献不作为用例的后置条件的一部分进行陈述,因此在衡量用例的目标是否实现方面没有作用。

优惠券期权流入 [2] 是“定额供款”行为的一个示例,其中使用有效的优惠券会导致订单折扣。 

  • 这必须在用例的后置条件中说明,以便成为衡量用例的目标是否实现的一部分。

“未注明的贡献”行为的示例包括“检查拼写”,“更改模板”和“查找同义词”扩展名中的用例, [3] 作为“编辑文档”基本用例的扩展用例。

  • “编辑文档”用例的用户是否纠正了拼写,以及是否纠正了拼写,是否使用了“拼写检查”行为,还是自己发现并纠正了错误,因此不太可能在“编辑文档”用例的后置条件中说明。其他示例也是如此。
  • 因此,假定编辑后的文档被视为公共数据,则可以将“拼写检查”,“更改模板”和“查找同义词”行为表示为扩展用例,因为尽管它们有助于实现“编辑文档”用例的目标,但其结果在如何使用方面没有任何作用。衡量该目标的实现。

下表显示了将这一考虑因素与前面提到的方面结合在一起的结果。
范加伦March12 img2

注意:如果您想完全避免使用扩展用例,则可以针对情况1和5使用选项流。

检查UML

即使扩展用例对基本用例的目标没有做出贡献,也仍然支持第16.3.3节中的声明。 [4] “ [基础]用例是独立于[扩展名]用例定义的,并且与[扩展]用例无关地有意义。”换句话说,根据用例的后置条件如何定义目标的实现,基本用例决不取决于扩展用例的目标。

结论

我们多久会遇到不必要的“未述贡献”行为还有待观察。这可能取决于要建模的应用程序的类型(例如,上面的示例与文字处理应用程序有关)。在面向交易的应用程序(例如网络商店应用程序)中,这种行为的流行程度可能较低, [2].

无论如何,我希望本文和所引用的文章将有助于区分基本行为和非必要行为,并以清晰,一致和符合UML的方式在用例模型中表示每个行为。

注意

术语“基本用例”仅在用例关系的上下文中适用(例如,在扩展关系的上下文中,它指扩展用例)。为了便于参考,我在这里也使用了术语“候选”的基本用例,即使经过进一步考虑,它最终并没有成为扩展用例。

参考文献

[1] 威廉·范·加伦 ,挖掘扩展用例, 2012年7月10日,(第1部分)2012年7月24日,(第2部分).

[2] 威廉·范·加伦 , 用例目标,场景和流程,2012年11月13日.

[3] Alistair Cockburn,《编写有效的用例》,第12版,2004年11月。

[4]对象管理组(OMG),OMG统一建模语言TM(OMG UML),上层结构,版本2.4.1。

不要忘记在下面留下您的评论。

 威廉·范·加伦

威廉·范·加伦(Willem Van Galen)是退休的高级系统分析师,之前曾在加拿大安大略省伦敦的一家大型金融服务公司任职。 从2008年至2016年,他的职责之一是设计,提供和加强用例建模培训,实践和标准。 在2011年,他增强了这些功能,以反映面向服务的架构和事件驱动的架构。

©BA Times.com 2020

麦格雷戈徽标白色网站