1

我正在为一个大学项目在 StarUML 中创建一个用例图,但我不完全确定我是否做得正确。

例如,在我制作的网站上,我有 2 个角色 - 用户和管理员。管理员可以做用户可以做的所有事情,再加上一些额外的事情。

在我的用例图中,管理员角色是否应该具有与用户相同的用例以及只有他可以使用的额外用例,或者他应该只有管理员可用的用例。

示例 1:

User--->Upload File

Admin--->Upload File
     --->Delete File

示例 2:

User--->Upload File

Admin--->Delete File

在示例中,用户和管理员是角色,---> 是定向关联,上传/删除文件是 2 个用例。哪个例子是正确的?

4

1 回答 1

4

与往常一样,答案是单一而明确的……这取决于。

如果您真的在进行用例分析,那么您想确定参与者需要哪些用例以及哪些参与者正在与用例交互。因此,如果管理员(作为管理员时)也应该被允许上传文件,那么他需要与对应的用例关联。因为他作为用户可能对用例有一些进一步的需求。第二种可能性是模拟管理员也是用户。这是通过泛化建模的。这有一些进一步的影响,你需要非常小心地做这个(在更大的背景下)。而且,对于非开发者来说,看到一个特殊的演员也是一个普通的演员有点麻烦。例如,当说经理比员工有更多用例时,请考虑这一点(这将导致与您的经理进行冗长而毫无意义的讨论......)。

因此,您的示例 2 并不是真的不正确,但错过了用例分析的重点。

于 2018-09-10T19:49:29.647 回答