0

我正在使用 Visual Paradigm CE 在 UML 中建模一个用例,但我对我的模型有一些疑问。看看下面的图片:

在此处输入图像描述

这是我试图用该模型表示的规则:

  • 有 3 种用户类型:Superadmin、Admin 和 Executive
  • 有一个功能叫做:管理员用户
  • 管理员用户分为 4 个基本操作:创建、读取、更新和删除
  • 超级管理员拥有所有权力(可以做任何事情),而管理员只有少数权限(在本例中为创建用户)
  • 执行人员只能在系统内执行一些操作:创建用户和删除用户

以此为出发点,图正确吗?会怎么做?我必须说这是一个示例用例,只是为了获得表示图表元素之间关系的正确方法。

更新:根据@thomas-kilian的回答,我制作了这两个图表:

包括管理员用户 UC 中的 CRUD 从管理员用户 UC 扩展 CRUD

4

2 回答 2

2

你真的需要用例“管理员用户”吗?也许下图会满足您的需求:

在此处输入图像描述

如果您确实在“管理员用户”中有行为,而不包含在其他用例中,那么您可以保留它,但我会使用一致的命名约定,例如动词+名词,因此将“管理员用户”重命名为“管理员用户” '。

图1是可能的。在这种情况下,SuperAdmin 可以直接(从 Admin 继承)和通过 Admin User 访问“创建用户”功能。显然,管理员用户有多个替代流程。创建用户包含在一个替代流程中,更新用户包含在另一个流程中,等等。这很好。

图 2 也是可能的。在这种情况下,SuperAdmin 只能通过管理员用户访问“创建用户”功能。

图 3 是可能的,但很棘手。参与者“管理员”和“执行”与所谓的“扩展用例”创建用户和删除用户相关联。扩展用例通常只定义一个用例片段,该片段将插入到扩展用例(管理员用户)中的特定点。但是由于参与者 Admin 和 Executive 直接执行用例 Create User 和 Delete User,这些用例必须描述完整的事件流。如果您设法定义扩展用例的事件流,例如,它们既适合直接执行,也适合在用例管理员用户内部的扩展点插入,那么就可以了。

于 2016-01-22T22:17:07.507 回答
0

这主要取决于你问谁。所以这是我的 5 美分:

  • 避免包含/扩展,因为它们是功能分解的标志(如果有的话:在图表中扩展是错误的方法)
  • CRUD UC 总是处于临界状态。在这种情况下,我不会尝试引入,Admin User因为它似乎不是有效的 UC,而 CRUD 部分是。
  • 当您连接演员时,超级管理员可以做任何事情,但管理员只能创建。这似乎不合逻辑。如果您有一个通用参与者,这将继承通用参与者对 UC 的所有访问权限。意味着:您不需要重复与 UC 的连接(除非您添加一些约束)。
于 2016-01-22T16:32:34.160 回答