参与者(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. 【转】如何过滤 adb logcat 输出

    原文网址:http://www.cnblogs.com/imouto/archive/2012/12/11/filtering-adb-logcat-output.html 简介: 本文介绍如何在 s ...

  2. EBS服务器管理

    EBS 服务的重启 停止Oracle Applications 服务的顺序为:停止应用产品相关服务,再停止数据库相关服务: 启动Oracle Applications 服务的顺序为:启动数据库相关服务 ...

  3. HDU4821---字符串hash,map判重

    这是2013年长春区域赛的铜牌题...然而第一次做的时候一直觉得会超时的..最后才知道并没有想象中的那么恐怖: 这题有两个注意的地方: (1)h[i] = h[i-1] * seed + s[i] - ...

  4. 浅谈C++中指针和引用的区别者之间的区别和用法(转)

    指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性质区别: (1)指针:指针是一个变量,只不过这个变量存储的是一个 ...

  5. python高级编程:有用的设计模式2

    # -*- coding: utf-8 -*- __author__ = 'Administrator' #python高级编程:有用的设计模式 #代理 """ 代理对一 ...

  6. NetAnalyzer笔记 之 九 使用C#对HTTP数据还原

    [创建时间:2016-05-12 00:19:00] NetAnalyzer下载地址 在NetAnalyzer2016中加入了一个HTTP分析功能,很过用户对此都很感兴趣,那么今天写一下具体的实现方式 ...

  7. JSP简单练习-数组应用实例

    <%@ page contentType="text/html; charset=gb2312" %> <html> <body> <% ...

  8. 为iPhone6设计自适应布局(一)

    译者的话:本文是自适应布局的巩固篇,所以对布局约束的添加操作步骤等没有详细的说明.如果看着吃力的话请先移步Swift自适应布局(Adaptive Layout)教程. Apple从iOS6加入了Aut ...

  9. android 4.0之前版本号出现JSONException异常

    今天在调试解析server传过来的JSON数据时,在2.3.7的手机上报了以下这样一个异常. 08-07 22:00:29.597: W/System.err(7610): org.json.JSON ...

  10. iocfont 网页图标字体以及使用方法

    在网页设计中使用图标字体(icon font)是件挺有新意的事情,使用图标字体能我们带来了一定的方便,比如在移动设备.Retina屏幕效果展示.兼容IE6/7浏览器以及能任意将图标放大缩小等,这些都是 ...