1

在此处输入图像描述

这是我的用例。在这个系统中,组织者比支持者拥有更多的“权利”,因此他/她可以使用预算管理功能。那么在这种情况下,如何通过从“查看主仪表板”用例扩展来显示,只有组织者可以访问预算管理?

4

1 回答 1

3

您的用例图尝试对用户界面进行建模,并使用View main dashboard导致不同的软件功能,例如Party control等等。这不是用例的方式。反而:

  • 每个用例都应该对应于某些参与者的一些更高级别的目标。目标应该独立于解决方案的外观。无论是基于文本的 UI 还是 GUI,无论是单个窗口还是多个窗口,其目标都是相同的。
  • 用例图不应代表任何序列。您的图表显示了某种顺序,首先是仪表板,然后是派对控制。用例图不应该依赖于任何排序。
  • 虚线箭头(例如«include»«extend»)是依赖关系,而不是顺序流。顺便说一句,扩展应该是相反的:箭头的目标是要扩展的用例。

为了回答您的问题,让我们忽略这些问题;假设您只有有效的用例和依赖项。Actor继承也存在一个缺陷:

  • 组织者是支持者吗?嗯,可能是一些具有组织者角色的人也充当支持者。在这种情况下,您应该考虑让两个演员完全独立:这不是关于人,而是关于他们的角色。
  • 您的图表讲述了另一个故事: ifOrganizer是 a Supporter(继承,即箭头应该是一个大的空心三角形)这意味着 everyOrganizer总是 a Supporter
  • 如果有 aSupporter有但没有a 的目标Organizer,那么你不应该使用继承。或者,如果您这样做,请创建一个具有共同目标的伪演员,并让每个角色成为共同点的专业化并添加相关目标。
  • 如果有几件事Organizer可以做但不能做Supporter,那么您可以保持原样,但添加指向Organizer更专业目标的链接。
于 2021-05-26T23:44:34.193 回答