定义:参与者是在系统之外与系统交互的某人或某事物。参与者在建模过程中处于核心地位。

1、系统之外:系统之外的定义说明在参与者和系统之间存在明确的边界,参与者只能存在于边界之外,边界之内的所有人和事务都不是参与者。

2、参与者可以非人:不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。没有人参与的需求一定有别的事务在发出启动操作,这个事务就是参与者,可能是另一个计算机系统、一个计时器、一个传感器等。

3、特点:参与者对系统有着明确的目标和要求并且主动发出动作;

系统是为参与者服务的。

4、边界不同,参与者会随之变化:

(1)机票购买者通过登录网站购买机票:机票购买者;

(2)机票购买者通过呼叫中心,由人工坐席操作订票系统购买机票:人工坐席是订票系统的参与者,机票购买者是呼叫中心的参与者;

(3)机票购买者通过呼叫中心的自动语音提示预定机票:呼叫中心是订票系统的参与者(参与者非人);

(4)扩大系统边界,呼叫中心只是订票系统的子系统,那么上述三种情况下,机票购买者都是参与者,人工坐席变成了业务工人。

5、业务主角:业务主角是参与者的一个版型,它针对的是业务人员而非计算机用户,用来确定业务范围,在需求阶段使用,没有计算机系统这些业务人员也客观存在。

版型:版型是对UML元素基础定义的扩展,在同一元素基础定义的基础上赋予特别的含义,是这个元素适用于特定的场合。

例如,类有“接口”、“边界类”、“实体类”和“控制类”。

业务范围与系统范围:业务范围不同于系统范围,业务范围指这个项目所涉及的所有客户业务,这些业务有没有计算机系统参与都客观存在。

系统范围是指软件将要实现的那些对应于业务功能的系统功能,从功能性需求来说系统范围是业务范围的子集。但是一些系统功能会超出业务范围,例如,操作日志。

站在业务主角的立场上看到的边界是业务范围的边界而非系统范围边界。

6、业务工人:业务工人不是参与者!

首先,业务工人处于边界内参与业务的执行;

其次,业务工人只是系统给的相应器,不会主动发起动作,以订票为例,购票人不拨打电话人工坐席是不会订票的。

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

  1. 【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 ...

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

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

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

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

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

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

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

    一:基本概念

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

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

  7. UML核心元素--边界

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

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

    节点,设备

  9. <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

    设计类

随机推荐

  1. tf.InteractiveSession()与tf.Session()

    tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的.这对于工作在交互式环境中的人们来说非常便利,比如使用IPy ...

  2. java使用poi读写Excel

    package com.demo.excel; import com.demo.pojo.Student; import org.apache.poi.hssf.usermodel.HSSFCell; ...

  3. awk substr()函数

    awk 里的substr函数用法举例: 要截取要截取的内容1: F115!16201!1174113017250745 10.86.96.41 211.140.16.1 200703180718F12 ...

  4. 关于Unicode转为str的方法

    unicode_a=u'\u810f\u4e71' str_a=unicode_a.encode('unicode-escape').decode('string_escape')

  5. Swap file "/etc/.hosts.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it,

    非正常关闭vi编辑器时会生成一个.swp文件 非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生 ...

  6. Kattis - names Palindrome Names 【字符串】

    题目链接 https://open.kattis.com/problems/names 题意 给出一个字符串 有两种操作 0.在字符串的最末尾加一个字符 1.更改字符串中的一个字符 求最少的操作步数使 ...

  7. spring mvc实现Restful返回xml格式数据

    最近,想在自己的小项目中搭建一个Restful风格的服务接口api,项目用的spring mvc 3,听说spring mvc本身就能十分方便的支持restful的实现,于是查询了下资料,果然非常强大 ...

  8. Oracle数据库体系结构(3)数据库进程

    一.Oracle进程概述 在oracle中进程分为用户进程(User Process).服务器进程(server process)和后天进程3种. 1.用户进程:当用户连接到数据库执行一个应用程序是, ...

  9. Data Structure Binary Tree: Morris traversal for Preorder

    http://www.geeksforgeeks.org/morris-traversal-for-preorder/ #include <iostream> #include <v ...

  10. 【leetcode刷题笔记】Divide Two Integers

    Divide two integers without using multiplication, division and mod operator. 题解:要求不用乘除和取模运算实现两个数的除法. ...