【问题标题】:UML relation between usecases (extend/include)用例之间的 UML 关系(扩展/包含)
【发布时间】:2010-01-30 11:17:12
【问题描述】:

我不太了解以下主题,因为我读到的内容有点模棱两可:

  • Inlcude 就像对下一部分的引用,没有它,用例是不完整的。这部分应该被更多的地方引用,否则它的使用毫无意义。

但是我看到了一个例子,只有在某些 IF 语句中存在“包含”是真的,例如: 添加新产品--->包括--->添加新制造商。 //仅在不存在时添加。为什么没有“扩展”?是否因为其他地方可能再次使用“添加新制造商”? 谢谢

【问题讨论】:

    标签: uml use-case


    【解决方案1】:

    没错。一旦您扩展了另一个用例,您就已经到达了当前用例的末尾。但是,您可以在 if 中进行扩展。想象一下。

    1) The driver asks if his guests want Wendys or Burger King
    2) The guests choose they want Burger King [extend to eating at Burger King (use case 5)]
    3) The guests choose they want Wendys [extend to eating at Wendys (use case 9)]
    

    包含不会结束一个用例,它使用另一个用例然后返回。包含类似于函数调用。您在另一个函数中执行操作,然后返回并继续。你也可以有一个不带 if 语句的包含。

    1) The driver orders the food
    2) The driver drives to the first window
    3) The driver pays the cashier (include handling a credit card transaction (use case 3)]
    4) The driver drives to the second window
    5) The driver gets the food
    

    请注意,在上面的扩展中不起作用。这是因为司机仍然需要到第二个窗口去取食物。如果我们扩展到用例 3,那么我们将永远不会回到这个用例。

    【讨论】:

      【解决方案2】:

      下面是来自以下主题的解释:UML 用例图:参考http://msdn.microsoft.com/en-us/library/dd409427%28VS.100%29.aspx

      包含:包含用例调用或调用包含的用例。包含用于显示如何 一个用例分解成更小的步骤。包含的用例位于箭头端。

      扩展:扩展用例将目标和步骤添加到扩展用例。扩展名 仅在特定条件下运行。扩展用例在箭头末端。

      Include and Extend relationships on a use case diagram http://i.msdn.microsoft.com/Dd409427.UML_UCOvStructure(en-us,VS.100).png

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多