我正在StarUML中为一个大学项目创建一个用例图,但我不完全确定我是否正确。
例如,在我正在制作的网站上,我有 2 个角色 - 用户和管理员。管理员可以做用户可以做的所有事情,再加上一些额外的事情。
在我的用例图中,管理员参与者应该具有与用户相同的用例以及只有他可以使用的额外用例,还是应该只有管理员可用的用例。
示例 1:
User--->Upload File
Admin--->Upload File
--->Delete File
示例 2:
User--->Upload File
Admin--->Delete File
在示例中,用户和管理员是角色,--->是定向关联,上传/删除文件是 2 个用例。哪个例子是正确的?
一如既往,有一个单一而明确的答案......这要看情况。
如果您真的在进行用例分析,那么您需要确定参与者需要哪些用例以及哪些参与者正在与用例进行交互。因此,如果管理员(作为管理员时(也应被允许上传文件,那么他需要与相应的用例相关联。由于他可能作为用户对用例有一些进一步的需求。 第二种可能性是建模管理员也是用户。这是通过泛化建模的。这有一些进一步的影响,在进行此操作时需要非常小心(在更大的上下文中(。而且,对于非德弗洛人来说,看到一个特殊的演员也是一个正常的演员,有点麻烦。例如,当说经理比员工有更多的用例时,请考虑这一点(这将导致与您的经理进行冗长而毫无意义的讨论......
因此,您的示例 2 并非真的不正确,而是错过了用例分析的重点。