30

我正在为一个新系统制作一个用例图。我想知道什么时候应该将系统作为参与者包含在用例图中?

谢谢。

4

3 回答 3

24

如另一个答案所述,参与者是与正在开发的系统交互的系统或角色。如果系统在您正在开发的系统之外,并且如果它直接与您正在开发的系统交互,您应该在用例中包含一个系统作为参与者。

这很重要,因为您需要定义系统的边界,这意味着它的范围和接口。将系统包含为参与者将清楚地说明您正在开发的系统的要求,以便为该参与者系统提供合适的接口。

于 2010-05-15T20:30:19.370 回答
15

不同的人对如何在 UML 中正确建模有不同的理念(这并不奇怪,因为 UML 是由委员会标准化的)。

我使用参与者来捕捉可以与我正在设计的系统交互的每一个“事物”(人的类型、系统的类型),并发现它们有助于在所有利益相关者之间就如何与新系统交互达成共识。

我建议为你所知道的将与系统交互的所有内容创建一个参与者,并将该参与者跟踪到参与者可以执行的每个用例。这样,您就可以全面了解谁可以做什么。

于 2010-05-15T18:54:24.593 回答
7

系统永远不是用例模型中的参与者。您必须考虑触发正在调查的系统以执行流程的事情。系统本身是愚蠢的,无法触发自己采取行动。它只能由用户或时间触发。如果您认为系统正在触发该动作,那么可能是 Time 是演员。例如,当接收到电子消息时触发进程运行。该过程是完全自动化的,不会由用户告诉系统消息已到达而触发,那么参与者是谁?不是系统而是时间。您必须想象的是,有一个过程来寻找电子消息的到达,这是查看特定的时间间隔,例如每秒或每分钟或每月一次等。

于 2013-07-12T11:15:50.667 回答