我创建的UML用例图。我对include/extend的使用是否正确?

我创建的UML用例图。我对include/extend的使用是否正确?,uml,use-case,Uml,Use Case,我只想确定我是否正确使用了extend和include。如果我在这里的某个地方使用不正确,请指出在哪里,如果可能,为什么不正确 干杯。使用和的规则很简单: 定义了一个子用例,它总是包含在通用用例中:用例-包含-->子用例。通常,它用于表示用例的一个不同部分或可被其他用例重用的公共部分 定义了一个可在特定条件下执行的可选的子用例(应该在较低级别的设计中定义,而不是在用例图中定义)。这里关系的方向与关系相反:用例使用和的规则很简单: 定义了一个子用例,它总是包含在通用用例中:用例-包含-->子

我只想确定我是否正确使用了extend和include。如果我在这里的某个地方使用不正确,请指出在哪里,如果可能,为什么不正确

干杯。

使用
的规则很简单:

  • 定义了一个子用例,它总是包含在通用用例中:用例
    -包含-->
    子用例。通常,它用于表示用例的一个不同部分或可被其他用例重用的公共部分

  • 定义了一个可在特定条件下执行的可选的子用例(应该在较低级别的设计中定义,而不是在用例图中定义)。这里关系的方向与
    关系相反:用例
    使用
    的规则很简单:

    • 定义了一个子用例,它总是包含在通用用例中:用例
      -包含-->
      子用例。通常,它用于表示用例的一个不同部分或可被其他用例重用的公共部分


    • 定义了一个可在特定条件下执行的可选的子用例(应该在较低级别的设计中定义,而不是在用例图中定义)。在这里,关系的方向与
      关系相反:用例
      看起来似乎需要在链接到
      的其他活动之前执行“安全登录”。Include意味着用例每次都会运行包含的用例,在本例中,这可能不是您想要的(每个会话只有一次登录)。您总是可以创建新的原型,例如
      。一致地使用它们可以让您传达您的意思。

      看起来,在您链接到的其他活动之前,似乎需要先执行“安全登录”。Include意味着用例每次都会运行包含的用例,在本例中,这可能不是您想要的(每个会话只有一次登录)。您总是可以创建新的原型,例如
      。一致地使用它们可以让你传达你的意思。

      我以前在试图区分用例图中使用extend和intent的区别时,发现了这条建议。。我希望这对你也有帮助。最初的建议来自

      扩展和包含之间的差异

      当一个用例有条件地向另一个用例添加步骤时,使用Extend 第一类用例。例如,假设“提取现金”是一种用途 自动取款机的箱子。“评估费”将延长提取现金和 描述在以下情况下实例化的条件“扩展点” ATM用户不在ATM的拥有机构开户。注意 基本的“提取现金”用例独立存在,没有 分机

      Include用于提取在中重复的用例片段 多个用例。包含的用例不能单独存在,并且 如果没有包含的用例,原始用例是不完整的。这 仅在重复出现的情况下才应谨慎使用 意义重大,存在于设计之中(而非巧合)。对于 例如,在每个ATM开始时发生的事件流 用例(当用户放入他们的ATM卡,输入他们的PIN,然后 显示在主菜单中)将是一个很好的包含候选项


      此外,从我读过的每一本书中,都建议使用include并谨慎扩展。保持简单愚蠢。

      当我试图在用例图中区分使用extend和intent的区别时,我发现了这条建议。。我希望这对你也有帮助。最初的建议来自

      扩展和包含之间的差异

      当一个用例有条件地向另一个用例添加步骤时,使用Extend 第一类用例。例如,假设“提取现金”是一种用途 自动取款机的箱子。“评估费”将延长提取现金和 描述在以下情况下实例化的条件“扩展点” ATM用户不在ATM的拥有机构开户。注意 基本的“提取现金”用例独立存在,没有 分机

      Include用于提取在中重复的用例片段 多个用例。包含的用例不能单独存在,并且 如果没有包含的用例,原始用例是不完整的。这 仅在重复出现的情况下才应谨慎使用 意义重大,存在于设计之中(而非巧合)。对于 例如,在每个ATM开始时发生的事件流 用例(当用户放入他们的ATM卡,输入他们的PIN,然后 显示在主菜单中)将是一个很好的包含候选项


      此外,从我读过的每一本书中,都建议使用include并谨慎扩展。保持简单愚蠢。

      许多关系在这里显然是不正确的。然而,我认为这个图表的主要问题不是正确使用include和extend,而是复杂和总体上不清楚的关系。虽然在情景上是有效的,但您应该避免使用这些关系中的多个级别

      你的图表很难理解和理解

      一些重构想法和更正:

      • 单独显示“安全登录”类,仅与Actor链接,然后对“包括”它的所有用例应用以下先决条件:“用户安全登录”
      • “5分钟后注销”应该是自己的用例,也只连接到Actor,有两个先决条件:“用户安全登录”和“用户未激活5分钟”