【发布时间】: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”存在?
【问题讨论】: