首页 理论教育信息系统开发实践教程:参与者

信息系统开发实践教程:参与者

【摘要】:参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。1)参与者是真实的人(即用户),这是每个系统中最常用的参与者。在UML中,用空心的三角箭头表示参与者间的泛化关系,箭头指向扮演一般角色的参与者。图8-3 ATM系统的参与者图8-4 参与者间的泛化关系

参与者又被称为角色,是系统外部的一个实体,它以某种方式参与用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。

1.参与者的表示

参与者在UML中通常以一个稻草人图符来表示,图符下面是参与者的名字,如图8-2所示。参与者是用例图的一个重要组成部分,它代表参与系统交互的用户、设备或另一系统。

978-7-111-47279-7-Chapter08-2.jpg

图8-2 参与者图符

参与者通常有三大类:系统用户、与系统交互的其他系统和运行的进程。

1)参与者是真实的人(即用户),这是每个系统中最常用的参与者。命名这类参与者时,应当按照其在系统中具体扮演的角色而不是位置命名,因为一个人可能有很多业务。例如汽车租赁公司的客户服务代表,通常情况下是客户服务代表,但如果他(她)自己要租车的时候,就变成了客户。按照具体的角色命名可以获得更稳定的参与者。

2)参与者是其他的系统。例如汽车租赁系统需要网上支付,实现验证信用卡完成支付功能的是另一个系统。在当前项目的范围之外,与当前系统有联系的其他系统,也可以成为参与者。

3)参与者可以是一些运行的进程,如时间。当到达一定时间触发系统中的某个事件时,时间就成了参与者。例如,汽车租赁系统中,如果到了还车时间客户还没有归还,系统会提醒客户服务代表致电客户。这时,时间就成了参与者。

2.确定参与者

创建用例图的第一项任务是找出要建立的系统模型中的参与者,这项任务通常是由与潜在用户会见的系统分析员完成的。在某些情况下,该任务还包括与顾客面对面的访谈,在访谈过程中可以提出问题,了解他们的需求。访谈过程中,可以整理出一个手抄本,或者简单地做些记录以备后用。在另外一些情况下,公司中的一些人会提供项目的业务需求列表。对于这些业务需求,需要向提供者提出问题以得到所需要的答案。这些需求和得到的答案将成为创建用例图的笔记。

如何从系统中识别出角色,需要回答以下问题:

●谁使用系统的主要功能

●谁需要系统的支持以完成其日常工作任务

●谁负责维护管理并保持系统正常运行(www.chuimin.cn)

●系统需要应付或处理哪些硬设备

●系统需要和哪些外部系统交互

●谁或什么对系统运行产生的结果感兴趣

这六个问题的答案往往包括了所有与系统具有关联的用户,进一步分析这些用户与系统关联时担当的作用便可得到参与者。参与者以其职责命名可以提高模型的可理解和可维护性。

例如,ATM自动柜员机在大街上随处可见,人们也经常会与它打交道。ATM能代替出纳人员或银行出纳的业务。用户通过ATM可以在24小时内享受银行提供的服务。当用户需要提款时,必须将银行卡插入到ATM机中,输入正确的口令后才能取款。通过回答以上六个问题,可识别出ATM系统的主要参与者,如图8-3所示。

再如教学管理系统的参与者有:教师、学生、教学管理人员和系统管理人员。

3.参与者间的关系

如果系统中存在几个参与者,它们既扮演自身的角色,同时也扮演更具一般化的角色,我们可以定义参与者之间的关系。参与者本质是类,所以参与者之间具有与类之间相同的关系。类之间用继承表示父类与子类间一般与特殊的关系,参与者间用泛化来描述。在UML中,用空心的三角箭头表示参与者间的泛化关系,箭头指向扮演一般角色的参与者。

如图8-4所示,例如一个汽车租赁公司,接受客户的电话预订和网上预订。参与者“客户”描述了参与者“电话客户”和“网上客户”所扮演的一般角色。如果不考虑客户是如何与系统接触的,可以使用一般角色的参与者,即父类。如果强调接触发生的形式,则用例必须使用实际的参与者,即子类。

978-7-111-47279-7-Chapter08-3.jpg

图8-3 ATM系统的参与者

978-7-111-47279-7-Chapter08-4.jpg

图8-4 参与者间的泛化关系