继承但排除一个用例
Inherited but exclude one use case
这是我的用例。在此系统中,组织者 'Right' 比支持者多,因此 he/she 可以使用预算管理功能。那么在这种情况下,如何通过扩展 'View Main Dashboard' 用例来显示只有组织者可以访问预算管理?
您的用例图试图对用户界面进行建模,其中 View main dashboard
导致不同的软件功能,例如 Party control
等。这不是用例的方法。相反:
- 每个用例都应该对应于一些参与者的更高层次的目标。目标应该独立于解决方案的外观。无论是基于文本的 UI 还是 GUI,无论是一个 windows 还是多个
,目标都是一样的
- 用例图不应表示任何序列。您的图表显示了某种顺序,首先是仪表板,然后是派对控制。用例图不应该依赖于任何顺序。
«include»
和 «extend»
等虚线箭头是依赖关系,而不是顺序流。顺便说一句,扩展应该是相反的:箭头的目标是要扩展的用例。
为了回答您的问题,让我们忽略这些问题;假设您只有有效的用例和依赖项。 actor继承也有缺陷:
- 组织者是支持者吗?嗯,可能有些人既是组织者又是支持者。在这种情况下,您应该考虑让两个演员完全独立:这与人无关,而是与他们的角色有关。
- 你的图表讲述了另一个故事:如果
Organizer
是一个Supporter
(继承,即箭头应该是一个大的空心三角形)这意味着每个Organizer
总是一个Supporter
.
- 如果
Supporter
有目标而 Organizer
没有,那么您不应该使用继承。或者,如果你这样做,创建一个具有共同目标的伪演员,让每个角色成为共同点的专业化并添加相关目标。
- 如果有几件事
Organizer
可以做而 Supporter
做不到,那么你可以保持原样,但从 [ 添加 link =14=] 到更专业的目标。
这是我的用例。在此系统中,组织者 'Right' 比支持者多,因此 he/she 可以使用预算管理功能。那么在这种情况下,如何通过扩展 'View Main Dashboard' 用例来显示只有组织者可以访问预算管理?
您的用例图试图对用户界面进行建模,其中 View main dashboard
导致不同的软件功能,例如 Party control
等。这不是用例的方法。相反:
- 每个用例都应该对应于一些参与者的更高层次的目标。目标应该独立于解决方案的外观。无论是基于文本的 UI 还是 GUI,无论是一个 windows 还是多个 ,目标都是一样的
- 用例图不应表示任何序列。您的图表显示了某种顺序,首先是仪表板,然后是派对控制。用例图不应该依赖于任何顺序。
«include»
和«extend»
等虚线箭头是依赖关系,而不是顺序流。顺便说一句,扩展应该是相反的:箭头的目标是要扩展的用例。
为了回答您的问题,让我们忽略这些问题;假设您只有有效的用例和依赖项。 actor继承也有缺陷:
- 组织者是支持者吗?嗯,可能有些人既是组织者又是支持者。在这种情况下,您应该考虑让两个演员完全独立:这与人无关,而是与他们的角色有关。
- 你的图表讲述了另一个故事:如果
Organizer
是一个Supporter
(继承,即箭头应该是一个大的空心三角形)这意味着每个Organizer
总是一个Supporter
. - 如果
Supporter
有目标而Organizer
没有,那么您不应该使用继承。或者,如果你这样做,创建一个具有共同目标的伪演员,让每个角色成为共同点的专业化并添加相关目标。 - 如果有几件事
Organizer
可以做而Supporter
做不到,那么你可以保持原样,但从 [ 添加 link =14=] 到更专业的目标。