目前,我已经定义了 3 个不同的用例,它们实际上只是业务流程中的 3 个步骤......
假设我有一份人员名单,所有这些人都对获得一个或多个有限资源感兴趣(例如,他们是音乐会的座位)。
最终,我希望自动且公平地将这些人分配到可用席位。我使用几种不同的算法来做到这一点。
我正在记录一个已经存在的系统(回顾性地),所以即使整个过程有点复杂,我也无法改变它。我必须使用的过程如下:
1) 定义一组标准。标准可以是人的属性,也可以是事件的属性。
例如,其中任何一个都可能是一个“集合”
- 参加罗德·斯图尔特音乐会的女性
- 所有人都来观看麦当娜演唱会
- 所有摇滚音乐会的“金”人和“银”人
2) 通过执行以下操作来定义“分配作业”:为其命名,选择一种算法,然后选择一个“集合”(从所有先前定义的集合中)。
3) 启动您在步骤 2 中定义的分配作业。它在后台运行,您可以稍后查看结果。
现在,步骤 1、2 和 3 中的任何一个都可以在计算机上的单个会话中完成。或者,您可以执行#1,保存它,离开,然后稍后再回来执行#2 并保存它。然后第二天你可以做第 3 项。显然,第 1、2 和 3 项之间存在依赖性,但它们不必立即一个接一个地完成。 #1 和#2 本身并没有任何商业价值,它们只是坐在那里,直到有人出现并执行#3。
从用例的角度来看,我最初将 1 和 2 作为“包含”用例,但现在我认为这是错误的,因为我认为每次运行用例时都应该包含“包含”。并且用例应该始终限制在单个会话中。
现在我在想:
1 和 2 是否“扩展”3?
或者,因为在执行 #3 之前,1 和 2 并没有真正实现任何目标...我是否将它们全部写为单个用例,使所有 3 个步骤都是可选的?
或者,它们只是 3 个不同的用例吗? #2 上有一个先决条件,即“集合”存在,而#3 上有一个“作业”存在?