如何在UML用例图中创建身份验证步骤?

如何在UML用例图中创建身份验证步骤?,uml,use-case,Uml,Use Case,我正在为在线账单支付绘制用例图,我对认证步骤感到困惑。像我在下面尝试的那样,为新用户和注册用户创建单独的用例更好吗 或者我应该创建一个登录用例,然后扩展注册,例如: 或者我应该创建一个身份验证用例并扩展登录、注销和注册吗?一个用例显示了它给参与者带来的附加值。登录没有附加值。因此,Login根本不是用例。它是应用于其他用例的约束。它可以附加到(真实的)用例,如{actor必须登录} 我可以推荐Bittner/Spence作为如何处理用例的优秀来源。一个用例显示了它为参与者带来的附加值。登录没有附

我正在为在线账单支付绘制用例图,我对认证步骤感到困惑。像我在下面尝试的那样,为新用户和注册用户创建单独的用例更好吗

或者我应该创建一个登录用例,然后扩展注册,例如:


或者我应该创建一个身份验证用例并扩展登录、注销和注册吗?

一个用例显示了它给参与者带来的附加值。
登录
没有附加值。因此,
Login
根本不是用例。它是应用于其他用例的约束。它可以附加到(真实的)用例,如
{actor必须登录}


我可以推荐Bittner/Spence作为如何处理用例的优秀来源。

一个用例显示了它为参与者带来的附加值。
登录
没有附加值。因此,
Login
根本不是用例。它是应用于其他用例的约束。它可以附加到(真实的)用例,如
{actor必须登录}


我可以推荐Bittner/Spence作为如何处理用例的优秀来源。

根据预期的系统行为和您的写作风格,有几种方法

  • 使用两个不同的参与者,授权用户和非授权用户。为非授权用户编写子功能级登录用例。让授权用户只成为用户目标用例(如检查平衡)中的参与者
  • 在所有用户目标级用例中,编写用户被授权的前提条件。编写子功能级登录用例
  • 在所有用户目标级用例中,编写用户会话有效的前提条件。编写子功能级用例,其中系统检查会话并在需要时强制实施登录用例

登录、注销和注册(以及会话过期)场景未按您要求的方式连接。例如,您可以将它们标记为AAA或放入AAA章节/文件夹中。不需要将它们混合在一个场景中。

根据预期的系统行为和您的写作风格,有几种方法

  • 使用两个不同的参与者,授权用户和非授权用户。为非授权用户编写子功能级登录用例。让授权用户只成为用户目标用例(如检查平衡)中的参与者
  • 在所有用户目标级用例中,编写用户被授权的前提条件。编写子功能级登录用例
  • 在所有用户目标级用例中,编写用户会话有效的前提条件。编写子功能级用例,其中系统检查会话并在需要时强制实施登录用例

登录、注销和注册(以及会话过期)场景未按您要求的方式连接。例如,您可以将它们标记为AAA或放入AAA章节/文件夹中。没有必要将它们混合在一个场景中。

Thomas,我真的很感兴趣你为什么说“用例显示了为参与者带来的附加值”。用例为其利益相关者带来价值,并通过保证而不是参与者来保护他们的目标。在“为食物付费”或“订购食物”场景中,客户没有收到任何价值。@Vlad Order food将食物带给客户,并将现金支付给出纳,因为他们是主要参与者。次要参与者没有被标记为这样(他们没有获得附加值)。如果你把它们联系起来,你应该用一种或另一种方式来表达它们之间的关系(例如,刻板印象的联想)。托马斯,我真的很感兴趣你为什么说“用例显示了给参与者带来的附加值”。用例为其利益相关者带来价值,并通过保证而不是参与者来保护他们的目标。在“为食物付费”或“订购食物”场景中,客户没有收到任何价值。@Vlad Order food将食物带给客户,并将现金支付给出纳,因为他们是主要参与者。次要参与者没有被标记为这样(他们没有获得附加值)。如果你把它们联系起来,你应该以一种或另一种方式显示它们之间的关系(例如,刻板印象的关联)。