【问题标题】:How to use correctly use case <<generalization>> in use case diagrams?如何在用例图中正确使用用例<<generalization>>?
【发布时间】:2013-02-15 01:39:43
【问题描述】:

我开始学习 UML,我有点困惑。我有以下用例图:

我问这个是因为我想正确地绘制我的图表,以便任何具有正确 UML 知识的人都能理解,而不仅仅是以我理解的方式绘制图表。

现在我使用 用例泛化的原因如下;

在阅读了UML 2和统一流程一书的5.3节之后,我认为我正在尝试做的是用例泛化,特别是在查看了第100页的示例之后。此示例显示了一个名为 FindProduct 的用例,如第 101 页所述,它是一个抽象用例

我们读到了

FindBook 用例更加具体。它专门处理更抽象的父类来处理特定类型的产品,书籍。如果父用例没有事件流或事件流不完整,则它是一个抽象用例。抽象用例非常普遍,因为您可以使用它们来捕获最高抽象级别的行为。因为抽象用例缺少或不完整的事件流,它们永远无法被系统执行

这就是我试图在我的图表中表示的内容。我有一个 abstract 用例 Turn ON,这个用例永远不会按原样执行。它需要孩子,或者在这种情况下,需要孩子来专门化它,因为系统将通过 IR 或 KNOB 开启,而不是仅仅开启,这是抽象的。

所以这里的事情是我不确定多重概括,如果这样做是正确的。或者我应该更改例如 使用 IR 开启使用 KNOB 开启 用例,用于 使用 IR 开启使用 KNOW 开启 用例,使它们成为 Turn ON 的子级,并添加 Turn OFF with IRTurn OFF with KNOB 用例并制作这些Turn OFF的孩子,等等?

谢谢!!

【问题讨论】:

    标签: uml use-case activity-diagram


    【解决方案1】:

    关于您的问题:我见过的最常见的方法是每个用例都有一个活动图。

    关于您的用例图的几点说明:

    1- 我从未见过用例图中的多个专业化。您可能需要重新考虑这一点。当用例 A(子)专门化用例 B(父)时,它继承了所有前置条件、后置条件、主要流程和备选流程步骤。我可以猜到,对于您的父用例,此功能并不相同(例如调高音量并打开);因此,至少可以说,多重专业化在这里没有意义。

    2- 应避免用例泛化,除非它为您的模型增加了真正的价值。它不是很直观,会使您的图表模糊。

    3- 这个用例图似乎倾向于将用例视为类,将泛化视为继承;这是不正确的。

    4- 您可能还需要重新考虑用例的粒度级别;使用 IR/Knob 打开和使用 IR/Knob 关闭可能都集成在一个合理大小的用例中,并带有一些替代流程。但这是您作为需求工程师做出的选择,任何人都可能会做出不同的选择。

    我建议您看一下UML 2 and the Unified Process 书中关于用例概括的第 5.3 节。

    建议:

    假设您想保留单独的打开和关闭用例,并专注于一个用例(打开):

    1- 如果使用 IR 打开的步骤与使用旋钮打开的步骤完全不同,请将打开用例抽象化,不要为其编写任何规范(文本)或绘制任何活动图。然后专门介绍两个用例,称为用旋钮打开和用 IR 打开,它们是具体的,具有单独的规范和/或活动图。

    2-如果用IR打开的步骤与用旋钮打开的步骤几乎相同,除了用户选择IR或Knob的一步;您可以使用替代流程。在这种情况下,您只能拥有一个带有一个规范和/或一个活动图的用例。

    对其他三个用例执行相同操作。

    【讨论】:

    • 感谢您的帮助。我尝试做的是一个图表,它表示系统可以通过 IR 或旋钮打开。由于“打开”有点“抽象”,也就是说,系统中没有简单“打开”的功能,这必须由 IR 或 KNOB 完成,我认为我可以把“打开” " 用例,然后以两种方式对其进行专门化。
    • 那么,你建议我如何代表这个?作为说明,我想将 ON 和 OFF 分别作为不同的用例,但我如何才能准确准确地得出系统只能由 IR 或 KNOB 开启的要求?我应该为每个用例使用一个用例吗?或者我可以使用相同的图表,但将关系从 > 更改为 >?
    • 你说的有道理。请参阅我添加到答案中的建议部分。干杯。
    • 在我看来,extend 不适用于这种情况。
    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 2019-12-02
    • 2019-12-12
    • 2020-09-09
    相关资源
    最近更新 更多