单个用例可以部分实现,还是分几个阶段实现?如何跟踪组件并确定其优先级?

Can a single use case be partially implemented, or implemented over several phases? How to track & prioritize components?

我的需求经验主要是用户故事,而不是用例。我最近作为产品负责人加入了一个项目,客户已经完成了大约 80% 的用例。许多用例包括十几个用户故事,团队正在讨论如何在多个阶段实施一些用例,或者如何部分实施以满足进度。这对故事来说不是问题,但我不确定处理用例的最佳方法。

用例是否可以部分实现?或者这是否意味着应该使用 extends/includes 将其分解为更小的用例?如果可以部分实施,您如何跟踪各个功能,以免丢失高优先级项目?

例如,如果我有一个拼写检查器用例,具有以下内容:

  1. 识别可能拼写错误的单词
  2. 在用户键入时直观识别拼写错误的单词
  3. 在用户键入时自动更正经常拼错的单词
  4. 为用户提供单个单词的建议拼写列表
  5. 为用户提供批量更正拼写错误的能力
  6. 允许用户一次忽略潜在的拼写错误
  7. 允许用户向词典中添加单词

我将如何确定各个功能的优先级,然后在一个阶段跟踪功能 1 和 4 的实施情况,第二阶段跟踪功能 2、3、6,第三阶段跟踪 5,而不实施 7?在此示例中,这些用例应该是单独的用例,还是具有多个替代流程的用例?

我认为您混淆了 UML 用例的好处(显示系统的作用)与项目管理工具和问题跟踪器应该为您做什么(跟踪实施和优先级)。

是的,您可以使用 include / extend 拆分用例。当您展示它们如何分解时,这很有意义。您还可以绘制用例概括。

为了跟踪实施阶段,最好将完整的 UML 模型置于版本控制之下(一些 UML 工具支持版本控制)并拥有同一图表的不同版本。

您也可以使用例如不同的颜色来表示实施阶段。但是不要忘记创建相应的图例并保持更新。也不要随机向很多人展示未来的用例。过早地做不必要的工作的诱惑可能很高(记住 YAGNI)。