最近在看《大象Thinking in UML》,书中对于actor的识别提供了2个条件:
1.谁对系统主动发出动作
2.系统为谁服务
只有满足了这个2个条件才能算是actor。
这里我有个疑问,条件1是否是必要的?在这里举个例子:
一个嵌入式平台中的电源管理系统,为客户程序提供各种电源信息。
比如:给客户程序发送信息,告知程序目前系统电量低,让程序调低
屏幕亮度。
在这个例子中,系统是为客户程序服务的,但是客户程序并没有对系统的
主动动作,但是我觉得这个客户程序应该也算是系统的actor。
------解决方案--------------------------------------------------------
可以,这就是一个相对问题。
并没有绝对
------解决方案--------------------------------------------------------
以下是书上抄的,仅供参考:
如何发现参与者?
______________________________________________________________
A、系统支持哪些用户组完成他们的工作?
B、哪一个用户组执行系统的主要功能?
C、次要功能由哪一个用户组完成,比如维护或管理?
D、与该系统进行交互的外部硬件和软件系统是哪些?
参与者的定义:
______________________________________________________________
与系统产生交互的外部实体。可以是人,也可以是外部系统。
个人感觉参与者比较好识别,但是这个工作也很重要不容忽视!!