参与者指定由用户或与主体交互的任何其他系统所扮演的角色。它可能代表人类用户、外部硬件或其他主体所扮演的角色。参与者总是在系统之外,并通过启动一个用例直接与它交互,向它提供输入,和/或从它接收输出。虽然单个物理实例可以扮演多个不同角色的角色,但角色不一定代表特定的物理实体,即触发发送电子邮件提醒的计时器。
主要与配角
在 Alistair Cockburn 的《Writing Effective Use Cases》一书中,Actor 被进一步定义如下:
**主要参与者:**定义用户目标并由系统实现的用户
用例的主要参与者是调用系统以提供其服务之一的利益相关者。它有一个关于系统的目标——一个可以通过它的操作来满足的目标。主要参与者通常(但不总是)是触髮用例的参与者。支持者:向系统提供服务(例如,信息)的用户。
外部参与者的用例中的支持参与者(也称为辅助参与者),为设计中的系统提供服务。它可能是高速打印机、网络服务或必须进行一些研究并返回给我们的人。对演员进行分类的另一种方法
许多分析师在用例图表过程中错过了关键角色,因为他们只识别人类角色。以这种方式对用例参与者进行分类有助于分析师确保他们没有忽略用例图中的任何关键参与者。
还有另一种对演员进行分类的方法,它们可以是:
人类- 系统/软件- 硬件- 定时器/时钟注意:
以下是帮助识别参与者的提示,它们通常是产生/使用数据的系统的外部对象:
必须作为数据的来源和目的地- 必须在系统外部##用例示例——ATM
在下面的示例中,Visa 卡持有人和银行客户是主要参与者,而 Visa AS 和银行 IS 是次要参与者。
用例图示例 - 银行系统
银行向零售客户提供一般银行服务,包括:存款、取款、贷款或抵押支付以及其他账户管理服务:
##概括
用例通常被称为系统应与系统的一个或多个外部用户(参与者)协作执行的系统功能。每个用例都应该为系统的参与者或其他利益相关者提供一些可观察的和有价值的结果。
参考
什么是用例图?用例模型中的参与者类型用用例图识别用户需求什么是用例规範?敏捷软件开发的用户故事与用例敏捷开发的用例驱动方法