【问题标题】:What is the best way to structure these use cases?构建这些用例的最佳方式是什么?
【发布时间】:2015-08-27 07:51:39
【问题描述】:

目前,我已经定义了 3 个不同的用例,它们实际上只是业务流程中的 3 个步骤......

假设我有一份人员名单,所有这些人都对获得一项或多项有限资源感兴趣(例如,他们是音乐会的座位)。

最终,我想自动、公平地将这些人分配到可用的座位上。我有几种不同的算法用于执行此操作。

我正在记录一个已经存在的系统(回顾性地),所以即使过程有点复杂,我也无法更改它。我必须使用的过程如下:

1) 定义一组标准。标准可以是人的属性,也可以是事件的属性。

例如,其中任何一个都可能是“集合” - 罗德斯图尔特音乐会的女性 - 麦当娜音乐会的所有人 - 所有摇滚音乐会的“金人”和“银人”

2) 通过执行以下操作来定义“分配作业”:为其命名,选择一种算法,然后选择一个“集合”(从所有先前定义的集合中)。

3) 启动您在步骤 2 中定义的分配作业。它在后台运行,您可以稍后查看结果。

现在,步骤 1、2 和 3 中的任何一个都可以在计算机上的单个会话中完成。或者,您可以执行 #1,保存它,然后离开,然后稍后再回来执行 #2 并保存它。然后第二天你可以做第3个。显然1、2和3之间存在依赖关系,但它们不必一个接一个地立即完成。 #1 和 #2 本身并没有任何商业价值,它们只是坐在那里,直到有人出现并执行 #3。

从用例的角度来看,我最初将 1 和 2 作为“包含”用例,但现在我认为这是错误的,因为我认为每次运行用例时都应该包含“包含”。一个用例应该总是被限制在一个会话中。

现在我在想:

1 和 2 是否“扩展”了 3?

或者,因为 1 和 2 在您执行 #3 之前并没有真正实现任何目标......我是否将它们全部编写为一个用例,使所有 3 个步骤都是可选的?

或者,它们只是 3 个不同的用例吗?并且 #2 的前提条件是“Set”存在,而 #3 的前提条件是“job”存在?

【问题讨论】:

    标签: uml use-case


    【解决方案1】:

    将它们写成单独的用例。只有明确增加价值的用例对其参与者有用。我想说所有命名的 UC 都增加了这样的价值并且是独立的。但是,在不知道您的域的情况下,我无法确定。也许他们形成了一个单一的UC。这需要一个详细的视图。

    扩展/包含在 UML 中是糟糕的设计(意味着 OMG 在这里做得不好)。尝试使用 E/I 几乎总是尝试使用功能分解的标志。但用例完全相反:功能的综合。

    如有必要,使用前置条件和后置条件来控制一个用例是否只能在另一个用例之后执行。

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 1970-01-01
      • 2022-01-19
      • 2010-12-24
      • 1970-01-01
      • 2015-04-17
      • 2011-09-03
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多