一、参与者
参与者:在建模过程中处于核心地位。UML官方文档对参与者的定义为:actor是在系统之外与系统交互的某人或某事物【大象——Thinking in UML,P39】。
1.参与者特征
参与者位于边界之外; 参与者可以非人。用例的一个特征是“不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。【大象——Thinking in UML,P40】” 这说明没有人参与的需求一定有别的事物在发出启动的动作,应当找到这个事物,这个事物就是一个参与者,它可能是另一个计算机系统、一个定时器或一个传感器【大象——Thinking in UML,P40】。
在查找参与者的过程中,可以询问一下问题以帮助确定参与者【大象——Thinking in UML,P41】:
谁负责提供、使用或删除信息? 谁将使用该功能? 谁对某个特定功能感兴趣? 在组织中的什么地方使用系统? 谁负责支持和维护系统? 系统有哪些外部资源? 其它还有那些系统将需要与该系统进行交互?
【大象——Thinking in UML,P52】
主角是位于系统边界外的; 主角对系统有着明确的期望和明确的回报要求; 主角的期望和回报要求在系统边界之内。
涉众(stakeholder)也称为干系人。涉众是要建设的这个系统有利益相关的一切人和事,涉众的利益要求会影响系统的建设【大象——Thinking in UML,P45】。 涉众虽然与这个系统有利益相关,但并不是所有的涉众都是系统的参与者【大象——Thinking in UML,P45】。 参与者是涉众的代表。参与者对系统的要求直接影响系统的建设,他们的要求就是系统要求的来源【大象——Thinking in UML,P45】。
用户(user)是指系统的使用者,通俗一点说就是系统的操作员。用户是参与者的代表,或者说是参与者的实例或代理。并非所有参与者都是用户,但是一个用户可以代理多个参与者【大象——Thinking in UML,P45】。