用例图中的 UML 建模不同用户 类(参与者)

UML-Modeling Different User Classes (Actors) in Use Case Diagrams

我正在构建一个具有 CRUD/social-network-like 功能的 Web 应用程序。问题是用户在访问某些页面或服务方面不会获得相同的特权,这显然不应该出现在用例图中,因为参与者需要独立于系统进行处理。一位评论者建议使用约束来检查用户是否有权限,但问题是大多数时候应用程序甚至不会进行检查,而是加载页面的不同版本或者根本不显示命令一定的功能。这是我对这个问题的初步看法:1, 2, 3, 4.

使用泛化是解决这个问题的一种方法。您可以进一步添加约束,如我的示例 .

所示

请注意 Login 不是用例。用例是关于附加值,而不是功能。如果需要 y 登录,你可以在它适用的地方附加一个约束(可以是一个演员或一个特定的用例;如果除一个之外的所有人都需要登录,你可以添加一个一般要求并制作一个 "negative" 约束,如 { no login required }).一如既往,我建议阅读 Bittner/Spence 关于综合用例的内容。