关于用例图中系统及外部系统作为Actor的界定咨询
CRM系统用例图疑问解答
1. 两张用例图的正确性判断
你的判断是准确的。UML用例图中,Actor的核心定义是与系统交互的外部实体,系统本身绝对不能作为Actor——Actor是触发用例的外部角色,第一张图把CRM系统自身设为Actor完全违背了这个规则,第二张图将外部系统A和用户作为Actor才是符合规范的。
2. 纯系统执行的操作能否作为用例
“验证数据”“创建新案例”这类仅由系统执行的步骤,不适合单独作为用例。用例的本质是为Actor提供价值,纯系统内部的执行逻辑属于用例的附属流程,应该归到其他有明确价值的用例里。比如把“验证数据”作为“外部系统A上传数据并存储”的内部校验环节,“创建新案例”作为该上传流程的后续自动操作,而不是拆成独立用例。你的理解有偏差,这类纯系统操作不能单独成为用例,必须依附于为Actor创造价值的主用例,仅靠关联是不符合规则的。
3. 外部系统A作为Actor是否合理
把外部系统A作为Actor是完全合理的。UML里的Actor不局限于人类用户,外部系统作为和CRM交互的外部实体,完全符合Actor的定义。至于“价值”,这里不需要纠结外部系统A是否获得直接收益——只要它发起的交互是为了完成某个明确目标(比如向CRM同步数据),且触发了CRM的功能,就满足用例的价值逻辑。这类外部系统作为Actor的场景在系统集成需求里非常常见,不用被“收益式价值”束缚。
内容的提问来源于stack exchange,提问作者M_Ryan
相关产品推荐
相关产品推荐

