参与者(actor)在建模过程中是处于核心地位的。UML官方文档对actor的定义为:参与者(actor)是在系统之外与系统交互的某人或某事物。“系统之外”的定义说明在参与者和系统之间有一个明显的边界,参与者(actor)只可能存在于边界之外,边界之内的所有人或者事物都不是参与者。

参与者(actor)还有另外一种叫法:主角。主角这一叫法则很明确的说明了只有主动启动了业务的,才是参与者。

发现参与者

首先了解一个概念:涉众(stakeholder),也称为干系人。涉众是与要建设的这个系统有利益相关的一切人和事,涉众的利益要求会影响系统的建设。参与者的一个重要来源是涉众,从涉众中找出那些直接对系统发出动作,或者直接从系统中接受反馈的涉众。参与者是涉众代表,参与者对系统的要求直接影响系统的建设,他们的要求就是系统需求的来源,参与者通过对系统提出要求来获得他所代表的涉众的利益。参与者的另一个来源是客户的岗位设置。

在查找参与者的过程中,尝试寻找一下问题的答案有助于你确定参与者:

1、谁负责提供、使用或者删除信息?

2、谁将使用此功能?

3、谁对某个特定功能感兴趣?

4、在组织中的什么地方使用系统?

5、谁负责支持和维护系统?

6、系统有那些外部资源?

7、其他还有那些系统将需要与该系统进行交互?

参与者一定是直接并且主动向系统发出动作并获得反馈的,否则就不是参与者。

业务主角(business actor)

业务主角是参与者的一个版型,特别用于定义业务的参与者,在需求阶段使用。业务主角是与业务系统有着交互的人和事物,他们用来确定业务范围。业务主角的特殊性在于,它针对的是业务人员而非计算机用户。要建设一个符合客户需要的计算机系统,首要条件是完全彻底地搞清楚客户的业务,而不是预想已经有了一个计算机系统,再让客户来假设需要计算机系统帮助他们完成什么。

所以在初始需求阶段,请务必使用业务主角,时时牢记业务主角是客户实际业务里的参与者,没有计算机系统,没有抽象的计算机角色。业务主角必须在实际的业务里能找到对应的岗位或人员。

业务工人(business worker)

   在建模过程中,有些人员虽然参与了业务,但是身份很尴尬,因为他们是被动参与业务的,不好确定其目的是什么,但是又确确实实在业务过程中做了事情。出现这种困扰的原因是打破了对边界的定义,这样的人员实际上应该是边界内的人员,被称为业务工人(business worker)。

如何区分参与者和业务工人呢?最直接的方法是判断他是出现在系统边界之内还是在边界之外。如果边界不清楚,可以通过以下三个问题来澄清。

1、 他是主动向系统发出动作的吗?

2、 他有完整的业务目标吗?

3、 系统是为他服务的吗?

如果以上三个问题的答案都是否定的,那么他一定是业务工人。

参与者与用户和角色的关系

用户(user)是指系统的使用者,通俗一点说就是系统的操作员。用户是参与者的代表,或者说是参与者的实例或者代理。并非所有参与者都是用户,但是一个参与者可以代理多个参与者。

角色(role)是参与者的职责。角色是一个抽象概念,从众多参与者的职责中抽象出来相同的那一部分,将其命名为角色。一个角色代表了系统中的一类职责。

参与者的核心地位

参与者是涉众的代表,它代表涉众对系统的利益要求,并向系统提出建设要求;参与者通过代理给其他用户或者将自身实例化成为用户来使用系统;参与者的职责可以用角色来归纳,用户被指定扮演哪个或哪些角色因此来获得参与者的职责。

同时,系统是以参与者的观点来决定的。参与者对系统的要求对系统的表述完全决定了系统的功能。

UML 核心元素之 参与者相关推荐

  1. 三面向对象分析之UML核心元素之参与者

    一:版型         --->在UML里有一个概念叫版型.有些书里也称类型,构造型.         --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予 ...

  2. UML::UML核心元素

    我对UML的理解:软件工程的东西.(有点模糊,不是很懂.) 建模:个人理解--对现实的一种抽象,对现实的简化,模型比现实更好理解.即是抽象. UML核心元素: 版型(stereotype):版型也称类 ...

  3. 学习 UML 核心元素

    按照描述事物的三种观点:结构(事物的客观存在).功能(事物可利用的价值).使用(对于使用者的意义)来描述<thinking in UML>中的核心元素. 1.版型: 结构:UML中的最基本 ...

  4. 《大象:thinking in uml 》(第二版) 3章 UML核心元素 3节 用例

    只供参考,喜欢请支持正版图书 3.3 用例 用例在UML建模中是最最重要的一个元素.之所以说它重要,是因为UML是面向对象的,除用例之外,所有其他元素都是"封装"的."独 ...

  5. 十面向对象分析之UML核心元素之关系

    关系         --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.          一,关联关系(association) --->关联关系是用 ...

  6. 《大象:thinking in uml 》(第二版) 3章 UML核心元素 1-2节 版型、参与者

    只供参考,喜欢请支持正版图书 3.1 版型 在UML里有一个概念叫版型(stereotype),有些书里也称为类型.构造型.这个概念是对一个UML元素基础定义的扩展,在同一个元素基础定义的基础上赋予特 ...

  7. 《大象:thinking in uml 》(第二版) 3章 UML核心元素 8-11节 设计类、关系、组件、节点

    3.8 设计类 只供参考,喜欢请支持正版图书 设计类是系统实施中一个或多个对象的抽象:设计类所对应的对象取决于实施语言.设计类用于设计模型中,它直接使用与编程语言相同的语言来描述. 凡是使用过面向对象 ...

  8. UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】...

    参考文档: [业务建模](http://www.baike.com/wiki/%E4%B8%9A%E5%8A%A1%E5%BB%BA%E6%A8%A1) [UML 核心元素之参与者](http://w ...

  9. playbook核心元素之 -- 角色role(9)

    playbook核心元素之 --> 角色role 角色: 以特定的层级目录结构进行组织的tasks.variables.handlers.templates.files等: role_name/ ...

  10. playbook核心元素之 模板template 介绍(7)

    playbook核心元素之 --> 模板template 介绍 templates:文件文件,内部嵌套有模板语言脚本(使用模板语言编写) [root@ansible ~]# ansible-do ...

最新文章

  1. Handler研究2-AsyncTask,AsyncQueryHandler分析
  2. eclipse的remote search
  3. 2017-07-02 前端日报
  4. 排错之网络映射缓存凭证记录导致备份计划任务失败
  5. 放弃广告 反思站长收益来源
  6. Re: 从零开始的【comic spider】(序幕)
  7. dubbo ,dubbo-provider、dubbo-consumer 配置参数说明
  8. zookeeper安装和使用 windows环境
  9. php自动合并,php实现合并数组并去除重复的方法
  10. Drools 6.5 :入门程序
  11. C++_程序内存模型_内存四区_栈区_堆区---C++语言工作笔记029
  12. Stanford Parser demo错误:Unsupported major.minor version 52.0 error
  13. 火狐 firefox proxy moz=proxy:// 407错误 解决办法
  14. 物联网老年人健康管理系统源码
  15. 计算机控制机器人运动的原理,工业机器人控制系统的基本原理
  16. 多智能体强化学习之值函数分解:VDN、QMIX、QTRAN系列优缺点分析(转载)
  17. MQL5:创建自己的指标
  18. java 8 list to map_Java8中list转map
  19. 电子智能化专包有哪些要求和标准
  20. kafka-Streaming错误:在IDEA连接kafka时出现错误

热门文章

  1. 宏碁台式计算机u盘启动,Acer台式机怎么U盘启动
  2. 几何分布的期望和方差公式推导_二项分布与负二项分布的均值与方差推导
  3. CTO能力知识地图正式发布
  4. word绘制表格三斜线表头
  5. html对话框取消确定,MFC取消HtmlDialog对话框的确定和取消按钮方法
  6. 信息学奥赛一本通(1097:画矩形)
  7. oracle自增序列的删除,重建,回到最开始的设置值
  8. STM32的内存扩展应用实现,小内存的单片机也能干大事(FSMC+SRAM)
  9. 摄影用光、构图基础知识
  10. Gosn解决在集合中int自动转换为duble类型