2

我们的应用支持团队建议实施审计跟踪、广泛的错误记录和一个新的批处理作业以在内部处理一些数据。在实现这个之前,我想在我的用例图中进行更改。我认为审计跟踪必须是一个用例,但不确定错误日志记录。是否应将其视为用例。此链接http://www.umlchannel.com/en/uml/item/24-use-case-actor-system-timer是说用例有时可能没有参与者。我们可以将错误记录视为没有参与者的用例吗?我可以将批处理作业视为批处理调度程序作为参与者的用例吗?

我需要的另一个澄清是:我知道演员可以是一个人或另一个系统。我们可以将事件(通过用例与解决方案交互)视为参与者吗?

4

1 回答 1

1

一个用例必须有一个参与者,因为基本上它只是描述了它的参与者的附加值。引用文章的作者在这里是完全错误的。

UML 2.5 规范的第 637 页:

每个 UseCase 指定主体可以与一个或多个 Actor 协作执行的一些行为。

...

UseCase 的主题可以是系统或任何其他可能具有行为的元素,例如组件或类。每个 UseCase 指定主题提供给其用户的有用功能单元

注意:虽然 UML 是“真正的来源”,但它不是一个关于用例的好读物。相反,我强烈推荐 Bittner/Spence。

有几种方法可以处理Log error“用例”。一种是<extend>使用Log error. 但实际上,这样做有几个缺点。Log error从长远来看可能会带来额外的价值(系统改进和错误更正),但这不是先验的附加价值。此外,您只会弄乱您的用例图。

第二种方法是改变视角,将“系统”本身包括为参与者。但这是一种反模式。所以也不推荐。

最后,您可以简单地向您的系统添加一个非功能性需求,并跟踪相关的用例。这是我建议做的。

您的其他问题:

  • 批处理作业不是用例,但是可以将用例实现为批处理作业,并且调度程序可以是参与者。
  • 不,事件是事件而不是演员。一个事件可以触发作为用例一部分的一系列动作。
于 2017-01-31T12:26:29.017 回答