我正在为一个新系统制作用例图。我想知道什么时候应该将系统包括在用例图中作为一个参与者?
如另一个答案所述,演员是与正在开发的系统交互的系统或角色。如果一个系统不属于正在开发的系统,并且直接与正在开发的系统进行交互,那么你应该在用例中将其作为演员包含进来。
这很重要,因为你需要定义系统的边界,也就是它的范围和接口。将一个系统作为演员包含进来可以明确说明正在开发的系统需要为该演员系统提供合适的接口。
不同的人对于如何正确地使用UML进行建模有不同的哲学观点(这并不奇怪,因为UML是由委员会标准化的)。
我使用 "角色" 来捕捉每个可以与我设计的系统交互的 "事物" (人员类型、系统类型等),并发现它们有助于在所有利益相关者之间创建共同的理解,了解新系统的交互方式。
我建议为每个你知道将与系统交互的事物创建一个角色,并将该角色跟踪到角色可以执行的每个用例。这样,您就可以完全了解谁能做什么。
在用例模型中,系统从不是一个执行者。您必须思考触发正在调查的系统执行过程的事物。系统本身是愚蠢的,不能自己触发行动。它只能由用户或时间触发。如果您认为系统正在触发操作,则可能是时间是执行者。例如,当接收到电子消息时触发运行流程,该流程完全自动化,不是由用户告诉系统消息已到达而触发的,那么谁是执行者?不是系统,而是时间。您需要想象的是,有一个处理程序来查找电子消息的到达,并以特定的时间间隔进行查找,例如每秒钟、每分钟或每月一次等。因此,在接收到电子消息时,是时间触发运行的流程。
《商业分析知识与技能框架》列出了几种可能的参与者类型,用于编写使用案例时从服务角度构建的原因(系统、事件触发器、服务)。例如,我的团队不拥有应用程序,也没有业务用户,我的测试人员将测试API服务,因此我需要从API角度描述我的用例,因此我需要说明API调用其他API时的行为。因此,一般有几种用例类型:业务用例,其中您说明应用程序中用户(人)的行为,系统/服务应用程序-其中服务调用其他服务以特定方式行事。根据业务分析师所在的团队,根据应用程序团队拥有或不拥有的情况,BA需要描述并采用适当的方法。