参与者(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. ZZY的宠物

    Description ZZY领养了一对刚刚出生的不知名小宠物..巨萌巨可爱!!...小宠物的生命为5个单位时间并且不会在中间出意外翘辫子(如: 从0出生能活到5但活不到6)..小宠物经过2个单位时间 ...

  2. JVM基础和调优(三)

    主要讲解垃圾回收的算法 上面我们已经了解到了,JVM的体系的结构,这次我们来说一下垃圾回收的算法. 1. 最开始的想法,或者说垃圾回收的最容易想到的就是:引用计数(reference count) 我 ...

  3. Splay入门题目 [HNOI2002]营业额统计

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 这道题貌似很多中做法,我先是用multiset交了一发,然后又写了一发splay. ...

  4. 编写高质量代码改善python程序91个建议学习01

    编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...

  5. C++内存泄露检測原理

    转自:http://hi.baidu.com/jasonlyy/item/9ca0cecf2c8f113a99b4981c 本文针对 linux 下的 C++ 程序的内存泄漏的检測方法及事实上现进行探 ...

  6. 正则去掉html标签

    return System.Text.RegularExpressions.Regex.Replace(HTMLStr, "<[^>]*>", "&qu ...

  7. SQL中常用的时间格式

    一些常用的时间格式 先讲一下一些基本的格式模式 格式模式      说明 d                   月中的某一天.一位数的日期没有前导零. dd                 月中的某 ...

  8. 如何修改UIButton按下后默认的蓝色效果

    其实有两个简单方法:1.修改xib属性检查器Highlight Tint的值: 2.通过代码修改:btn.tintColor=[UIColor grayColor];或者[btn setTintCol ...

  9. 0129——UINavigationController

    1.创建一个UINavigationController self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].boun ...

  10. CString 字符串转化和分割

    1.格式化字符串 CString s;s.Format(_T("The num is %d."), i);相当于sprintf() 2.转为 int 转10进制最好用_ttoi() ...