参与者(actor):在系统之外与系统交互的某人或某事物。例如,管理员,用户等等。

参与者位于边界之外,边界之内的都不叫参与者。用一个词来形容更准确,主角。也就是只有主动启动了这个业务的人,才是参与者。

第二点要注意的是,参与者可以非人。参与者可以是另一个计算机系统、一个计时器、一个传感器等。任何一个功能性需求,都有参与者启动。

我们通过机票预订系统来分析一些情况。

情况一:机票购买者通过登录网站购买机票,那么机票购买者就是参与者。

情况二:假如机票购买者通过呼叫中心,由人工座席操作订票系统购买机票,那么人工座席才是真正的参与者,而机票购买者是呼叫中心的参与者。

情况三:如果机票购买者通过呼叫中心的自动语音预定机票而不是通过人工座席,那么呼叫中心就成为机票预定系统的一个参与者。

情况四:如果扩大系统边界,让呼叫中心成为机票预定系统的一个子系统,并且假设机票购买者可以自主选择是通过人工座席、自动语音还是登录网站预定机票,那么机票购买者是参与者,而人工座席则变成业务工人。

业务主角(business actor):业务主角是参与者的一个版型。业务主角,针对的是业务人员而非计算机用户。在没有计算机系统,这些业务人员 也客观存在,在引入计算机系统之前他们的业务也一直跑得很顺畅。

在建设一个符合客户需要的计算机系统之前,首要条件是很好地搞清楚客户的业务。

在初始需求阶段,务必使用业务主角,业务主角是客户实际业务里的参与者,没有计算机系统,没有抽象的计算机角色。

业务主角,必须在实际业务里能找到对应的岗位或人员。

业务工人(business worker):有些人员参与了业务,但是身份很尴尬,他是被动参与业务的。这些在系统边界内的人员,被称为业务工人。

通过三个问题,来分析是否是业务工人。

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

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

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

如果答案都是否定的,那他一定是业务工人。

涉众(stakeholder),也称为干系人。参与者是涉众代表。例如要建立一个办公自动化系统,这儿系统将为所有办公室文员归档和查找文件带来利益。但是并不需要把所有的办公室文员都找来询问需求,一个称为“文员”的参与者可以代表这批涉众来向系统提供如何归档和如何查询的要求。

myself:突然感觉,系统的好处就是在于文档的电子化,方便查询和归档。我们目前要为聋校做的系统,也是一个电子归档化的过程。将老师平时的一些电子稿信息归档。但是前提,要有一些基础信息的管理。包括老师和学生的一些基础信息。学生的健康信息等。老师上课的信息与工资信息等等。学生的听力信息管理等等。老师考核信息管理,学生成绩管理。等多角度的文档归档与查询。说白了,就是这样。没那么神秘。

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

角色(role):是参与者的职责。是参与者职责中抽象出相同的那一部分。一个用户可以代理多个参与者,拥有多个职责,指定为多个角色。

通过这个图,来理解参与者与各概念之间的关系。

UML--核心元素之参与者Actor的更多相关文章

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

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

  2. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

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

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

  4. UML核心元素--参与者

    定义:参与者是在系统之外与系统交互的某人或某事物.参与者在建模过程中处于核心地位. 1.系统之外:系统之外的定义说明在参与者和系统之间存在明确的边界,参与者只能存在于边界之外,边界之内的所有人和事务都 ...

  5. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  6. <八>面向对象分析之UML核心元素之分析类

    一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...

  7. <五>面向对象分析之UML核心元素之边界

    一:基本概念

  8. UML核心元素--边界

    定义:边界是无形的,是可大可小的,同时参与者.用例和边界又有着相生相克的性质.与其说边界是UML元素,还不如说它是一种分析方法. 1.需求是动态的过程:系统边界是无形的,看不到的,不好理解,倒不如说需 ...

  9. <十二>面向对象分析之UML核心元素之节点和设备

    节点,设备

  10. 【笔记】UML核心元素

    1.参与者 定义:在系统之外与系统交互的某人或某物. 特点:1.可以非人:2.与系统直接交互:3.主动发出动作并获得反馈:4.涉众(stakerholder)的代表 具有两个版型: 1.业务主角(bu ...

随机推荐

  1. 深入理解linux网络技术内幕读书笔记(四)--通知链

    Table of Contents 1 概述 2 定义链 3 链注册 4 链上的通知事件 5 网络子系统的通知链 5.1 包裹函数 5.2 范例 6 测试实例 概述 [注意] 通知链只在内核子系统之间 ...

  2. phpcms:四、尾部包含

    四.尾部包含1.包含尾部文件:{template "content","footer"}2.栏目列表调用(关于我们| 联系方式| 版权声明| 招聘信息|):{p ...

  3. awk实践积累

    #cat iii |awk '{max=$2;min=$2;for (i=2;i<=NF;i++) if ($i>max) max=$i fi} {for (i=2;i<=NF;i+ ...

  4. JavaScript 数组中查找符合条件的值

    数组实例的find方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员.如果没有符合条件的成员,则返回u ...

  5. CentOS系统、Jdk、Tomcat安装实战

    CentOS系统.Jdk.Tomcat安装实战                                                     第一次接触Liunx系统,都说J2EE系统在Li ...

  6. Android + eclipse +ADT安装完全教程

    最近几天没事做,网上看来看去突然就想弄个android来学学...  首先,是要下载android SDK,在http://developer.android.com/sdk/index.html这个 ...

  7. 未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。

    这个一般出如今三层给B层与D层之间加抽象工厂-接口-映射.时候出的错.出错的地方是抽象工厂. --如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTA ...

  8. ajax(ajax开发)

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和 ...

  9. UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释

    转自:http://blog.csdn.net/meegomeego/article/details/39890385 layoutSubviews总结 ios layout机制相关方法 - (CGS ...

  10. extern C的作用详解

    extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码.加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C+ ...