【问题标题】:Extending a view items usecase扩展视图项用例
【发布时间】:2023-03-16 17:15:02
【问题描述】:

假设我有一个名为“查看项目”的用例,它向用户显示项目列表。用户可以选择选择一个特定的项目来查看其详细信息,然后再次返回列表。

“查看项目详细信息”应该扩展“查看项目”还是它们是独立的用例?

【问题讨论】:

  • IMO 它应该是一个单一的用例,我通常把它作为一个独立的用例来处理这种情况,这是一个常见的场景
  • 方法多种多样,各有利弊。这可以像备用流程一样简单,也可以是两个单独的用例或扩展。

标签: uml analysis use-case


【解决方案1】:

基于扩展定义here

Extend 是一种定向关系,它指定如何以及何时 行为通常在补充(可选)扩展使用中定义 case可以插入扩展使用中定义的行为中 案例

例如(在那个参考中):

注册用例本身就是完整且有意义的。它可以 被扩展可选的获取注册帮助用例。

这意味着,在Registration 用例及其行为中,我们可能也需要执行Get Help On Registration 用例。

这似乎只是一个链接,但它不仅仅是一个链接Get Help On Registration用例(我们可能需要它来执行注册)。

再举一个例子(来自question):
假设我们有Answer the Question 用例和Research the Answer 用例。要执行 Answer the Question 用例,我们可能也需要执行 Research the Answer 用例。 (而且这不仅仅是一个链接)

再举个例子:
假设我们有Enroll in UniversityPerform Security Check 用例。 执行 Enroll in University 用例我们可能需要执行 Perform Security Check 用例。

在扩展中
如果一个行为行为的补充,但不一定是行为的一部分。

为此:在您的示例中执行View Items 用例,我们也不需要执行View Item Details 用例。换句话说,在View Items场景的步骤中,我们不需要执行(或可选)View Item Details场景。它们是独立的用例。

【讨论】:

    【解决方案2】:

    我只是问:它增加了价值吗?如果是,那么就让它成为一个独立的用例。使用<<extend>>/<<include>> 通常表示有人正在尝试进行功能分解。我认为在 UML 中引入这些关系是一个糟糕的举动,这很可能是从技术人员的头脑中冒出来的,而不是业务人员的头脑。附加值不能真正细分。要么是,要么不是。

    “要增值,这就是问题”,“UML的状态有些烂”。

    【讨论】:

      猜你喜欢
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2011-11-01
      相关资源
      最近更新 更多