UML:如何减少用户帐户系统的用例以避免冗余和不必要的用例?

UML:如何减少用户帐户系统的用例以避免冗余和不必要的用例?,uml,software-design,use-case,requirements,use-case-diagram,Uml,Software Design,Use Case,Requirements,Use Case Diagram,我需要帮助来减少我的子系统上的用例 此子系统用于管理具有以下要求的用户、管理员和超级用户的多个帐户: 系统应管理用户帐户,其中包括: 用户:可以创建、读取、更新、删除和阻止自己的帐户,也可以登录 创建需要电子邮件身份验证。登录应要求两步身份验证(可选) 管理员:可以以用户身份管理所有用户帐户(CRUD、阻止和登录)。也可以只读并登录自己的帐户 登录需要两步身份验证 超级用户:可以管理用户和管理员帐户(CRUD、阻止、登录)以及他们自己的超级用户帐户 创建管理员需要电子邮件和电话验证。 登录

我需要帮助来减少我的子系统上的用例

此子系统用于管理具有以下要求的用户、管理员和超级用户的多个帐户:

系统应管理用户帐户,其中包括:

  • 用户:可以创建、读取、更新、删除和阻止自己的帐户,也可以登录

    创建需要电子邮件身份验证。登录应要求两步身份验证(可选)

  • 管理员:可以以用户身份管理所有用户帐户(CRUD、阻止和登录)。也可以只读并登录自己的帐户

    登录需要两步身份验证

  • 超级用户:可以管理用户和管理员帐户(CRUD、阻止、登录)以及他们自己的超级用户帐户

    创建管理员需要电子邮件和电话验证。
    登录与管理员相同,需要两步身份验证。
    可以将超级用户访问权限委托给其他管理员

系统的流程只需要使用用例图和用例描述就可以了(没有其他类型的图)

设计这些用例的正确方法是什么,以避免用例描述上的冗余,并在图表上生成不必要的用例?

例如,在这个系统上,用户、管理员和超级用户各有一个登录用例。用户登录要求两步身份验证(可选),而在管理和超级用户上,必须始终要求两步身份验证

超级用户从从用户继承的管理员继承


我寻找的最终目标是(例如)将这3个登录用例制作成一个连接到用户参与者的用例,这样管理员和超级用户就可以继承该用例,但由于每个参与者的行为都不同,我想放一个登录用例描述,它根据触发登录的参与者类型改变行为。因此,我没有3个登录用例(每个参与者一个),而只有1个用例和1个描述适用于所有人。

您似乎在寻找参数化用例,这是Alistair Cockburn为文本用例提出的概念

典型的例子是CRUD,当相同的用例描述被反复使用时,每个操作都有轻微的变化。这种方法是有一个参数化用例,其中参数是操作(创建、读取、更新、删除)

据我所知,UML符号中不存在相同的概念。因此,您通常需要一个用例
管理XYZ
并在叙述中描述细节,或者四个用例
创建XYZ
更新XYZ
删除XYZ
读取XYZ
。就我个人而言,我更喜欢第一个,这样用例就可以传达全局

不必为不同的参与者乘以相同的用例,您还可以使用较少的用例,并用纯文本解释适用于不同用例的不同类别参与者的特殊规则


最后,我想补充一点,用例并不意味着对流程和事件序列进行建模。用例旨在确定将转化为不同类型交互的不同目标。在这方面,我想知道区分
管理自己的帐户
管理其他用户帐户
是否有意义,因为这对应于非常不同的目标。

您似乎要寻找的是参数化用例,这是Alistair Cockburn为文本用例提出的概念

典型的例子是CRUD,当相同的用例描述被反复使用时,每个操作都有轻微的变化。这种方法是有一个参数化用例,其中参数是操作(创建、读取、更新、删除)

据我所知,UML符号中不存在相同的概念。因此,您通常需要一个用例
管理XYZ
并在叙述中描述细节,或者四个用例
创建XYZ
更新XYZ
删除XYZ
读取XYZ
。就我个人而言,我更喜欢第一个,这样用例就可以传达全局

不必为不同的参与者乘以相同的用例,您还可以使用较少的用例,并用纯文本解释适用于不同用例的不同类别参与者的特殊规则


最后,我想补充一点,用例并不意味着对流程和事件序列进行建模。用例旨在确定将转化为不同类型交互的不同目标。在这方面,我想知道区分
管理自己的帐户
管理其他用户帐户
是否有意义,因为这与非常不同的目标相对应。

在不编辑的情况下删除并重新发布一个已结束的问题没有帮助。投票再次关闭。我已经编辑了它,我删除了所有其他问题,只留下一个,还做了一个要求摘要,以便更清楚。好吧,你更改了一些单词。但基本上和以前一样。为什么要“减少用例”?这是不合逻辑的。要么你的系统有UCs,要么你没有。哦,问题是其他用户告诉我,我的旧问题令人困惑(第一个版本),因为它有多个问题(语法、规则、reduce、含义等),然后我更改了它,但被关闭了。所以我重构并专注于减少这次我做了研究并发现了CRUD模式,所以我可以有一个用例在它的描述中描述这4种行为,但我找不到一种方法来明确描述继承了一个用例的多个参与者,因此,也许我遗漏了一些东西。如果不编辑一个封闭的问题,删除并重新发布它是无济于事的。投票再次结束。我已经编辑了它,我删除了所有其他问题,只留下一个问题,还对要求做了一个总结,以便更清楚