我学UML建模系列之核心元素 -------- 参与者
在建模中,关于参与者准确的来说就是寻找抽象角度的开始。
参与者(actor)在建模的过程中是处于核心地位的。UML官方文档对于参与者的定义为:actor 是在系统之外与系统交互的某人或某物。如下图所示:
上图说明系统被一个边界包裹着。系统之外的定义说明在参与者与系统之间有一个明确的边界。参与者只能存在于边界之外,边界内的所有人或事物都不是参与者。
在官方文档中对参与者还有另一种叫法:“主角”,参与者可以是非人。
那么,在系统建模中,我们如何发现参与者?其实,参与者其中重要的一个来源是涉众,从涉众中找出那些直接对系统发出动作,或者直接从系统中接收反馈信息的涉众。
什么是业务主角?
业务主角是参与者的一个版型(或是说类型),特别用于定义业务的参与者,在需求阶段使用,业务主角是与业务系统交互的人或事物,它们用来确定业务范围,因为业务主角是参与者的一个版型,所以业务主角必须遵守参与者的所有定义。
业务主角的特殊性在于:它针对的是业务人员,而非计算机用户,所在查找业务主角的时候必须抛开计算机。没有计算机系统这些业务人员也客观存在,在引入计算机系统前他们的业务也一直跑得很顺畅。
业务主角是非常重要的,建立业务模型,查找业务用例都必须使用业务主角而不是普通的参与者。
什么是业务工人?
建模者经常会被一个问题困扰,有些人员参与了业务,但是身份很尴尬,它是被动参与业务的,不好说它有什么具体的目的,但是它又的确在业务中做了很多事情。那到底要不要给这种人建模呢?
参与者这个叫法不可避免的带来一些问题,会让人觉得,凡是参与了业务的或在业务流程中做了事情的,都是参与者。这是一种误解,如何换一种叫法,叫“主角”,应当就会避免这种歧义。
那么如何区分是参与者还是业务工人呢?最直接的办法是判断在边界之内还是边界之外,如何边界尚不清楚,可以通过以下三个方法判断:
1:它是主动向系统发出动作的吗?
2:它有完整的业务目标吗?
3:系统是为它服务的吗?
这三个答案是否定的,那他一定是业务工人。
转载于:https://www.cnblogs.com/youshan/archive/2012/05/15/2501285.html
我学UML建模系列之核心元素 -------- 参与者相关推荐
- 我学UML建模系列之核心元素 -------- 版型(类型)
版类概念 UML中几乎每一个元模型都有一个版型.例如:用例有 "业务用例","业务用例实现"等版型,类有"接口"."边界类&quo ...
- 设计模式——UML建模之精选核心知识用例图、构件图、部署图、对象图的小结(一)
文章大纲 引言 一.UML 的核心图概述 二.用例图 1.用例图概述 2.用例图的核心元素 2.1.参与者 2.2.用例 2.3.容器 2.4.用例图内的关系 三.组件图 四.部署图 五.对象图 引言 ...
- 一起学UML建模:面向对象基础与UML表示
统一建模语言(Unified Modeling Language, UML)是软件业的标准语言.我们常见的软件通常都是面向对象的.复杂系统建模,需要调研需求.分析问题.设计解决方案等.在开发的每个阶段 ...
- startuml动态模型工具_跟我学UML建模工具StarUML(第11部分)——应用StarUML创建顺序图的创建示例...
杨教授大学堂,版权所有,盗版必究. 1/27 页 1.1 跟我学 UML 建模工具 StarUML (第 11 部分) --应用 StarUML 创建 顺序图的创建示例 1.1.1 UML 动态建模相 ...
- UML建模系列文章总结
一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...
- UML建模系列文章总结 (转载)
一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...
- UML建模系列文章总结 [转]
一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...
- 【转】UML建模系列文章总结
一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...
- 步步为营UML建模系列总结
转载自:http://www.cnblogs.com/springyangwc/archive/2012/01/16/2323723.html 软件开发为什么需要UML (软件越来越复杂),开发人员仍 ...
最新文章
- 来看看企业如何拥抱混合云?
- 使用idea编写第一个Java程序
- linux中挂载系统光盘,在Linux系统下挂载光盘
- HDU - 2586 How far away ?(LCA)
- nginx 上传文件漏洞_文件上传及解析漏洞
- 中文版php.ini
- Windows 7 / Windows 10 安装 IPX/SPX
- linux 16.04 WIFI,手动配置 WIFI无线网络 (Ubuntu 16.04)
- Oracle11g数据库审计功能的关闭和开启
- java 两个数据合并_R:两个数据帧合并
- Linux多线程同步之相互排斥量和条件变量
- 利用数据细分目标客户群
- 苹果支付IAP V1
- 基于随机游走的personalRank算法
- oracle remap语句格式,Oracle remap_schema需要注意的问题
- 深度学习项目,使用python进行表情识别,pytorch应用
- FRM-91500: Unable to start/complete the build.
- java 空格 separater_Java随手记
- 3D模型汇总----骨骼模型
- 关于项目管理的通俗讲解