参与者(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. About Adultism and why things ar the way they are

    About - Adultism About Adultism and why things ar the way they are In this page we will try to clari ...

  2. 学习phpcms模板方法:

    1.改官方模板,读里面的代码,改改它,看看有什么变化,如果不明白,去官方论 坛.查手册.专业人士还可以看数据库.2.复制实例代码,整理笔记,到实战的时候,就直接复制,改改参数即可.

  3. python linecache标准库基础学习

    #python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件 ...

  4. Html5 Canvas 实现滚动的图片

    今天一直在找html5 canvas的使用实例.想画一张地图,再画个小车在上面跑.运气好找到了一个大神写的js代码.该代码实现了图片的左右来回滚动,现在粘贴在博客里记录一下: <html> ...

  5. 对easyui datagrid进行扩展,当滚动条拉直最下面就异步加载数据。

    以下方法是通用的,只要把datagrid定义为全局的即可,其他部分的代码不用进行修改! 可以把以下代码放入到一个单独的js文件,然后再需要的页面引入即可! $(function(){ try{ $(& ...

  6. Nginx的启动脚本

    vi /etc/init.d/nginx #!/bin/sh # nginx        Startup script for nginx # chkconfig: - 85 15 # proces ...

  7. 在Fedora20上安装Oracle 12c

    本文将引导大家在Fedora20的环境下成功安装Oracle12c. 安装前的准备 编辑/etc/hosts文件,添加本机名称 编辑/etc/selinux/config文件 编辑/etc/redha ...

  8. android default_workspace.xml

    //default_workspace.xml中,支持的标签有: favorite:应用程序快捷方式. shortcut:链接,如网址,本地磁盘路径等. search:搜索框. clock:桌面上的钟 ...

  9. EMCA常用命令 【weber整理必出精品】

    EMCA常用命令 创建一个EM资料库 emca -repos create 重建一个EM资料库 emca -repos recreate 删除一个EM资料库 emca -repos drop 配置数据 ...

  10. 点击推送消息跳转处理(iOS)

    当用户点击收到的推送消息时候,我希望打开APP,并且跳转到对应的界面,这就需要在AppDelegate里面对代理方法进行处理. 当用户点击推送消息打开APP的时候会调用 - (BOOL)applica ...