<三>面向对象分析之UML核心元素之参与者
一:版型
--->在UML里有一个概念叫版型.有些书里也称类型,构造型。
--->这个概念是对一个UML元素基础定义的扩展。在同一个元素基础定义的基础上赋予特别的含义,使得这个元素适用于特定的场合。
--->例如(1)用例:的版型有:“业务用例”,“业务用例实现”
(2)类:的版型有:“接口”,“边界类”,“实体类”,“控制类”
--->除了UML已经定义的版型外,为了在某种场合下让元素表达某种特定的含义,版型也是可以自己定义的。也就是说在项目里,可以有自己项目的版型定义。例如:包元素有“子系统”,“组织结构”,“模块”等默认的版型。
--->版型只是UML的一种扩展手段,本身并不涉及太多的思想和方法,而是在建模的不同阶段,为了区分视图之间的不同观点,会采用不同的图示来表示。
二:参与者
【1】以人为本是当代流行的词汇。UML建模也是以人为本的。建模是从寻找抽象角度开始的。那么定义人,准确地说是定义参与者,就是我们寻找抽象角度的开始。
【2】基本概念
---->参与者在建模过程中是处于核心地位的。
---->UML官方文档对参与者的定义为:actor是在系统之外与系统交互的某人或某事务。
---->图3.1中的系统被一个边界包裹着。系统之外的定义说明参与者和系统之间有一个明确的边界,参与者只可能存在于边界之外,边界之内的所有人和事物都不是参与者。边界在UML图中有时会显示地绘制出来,有时则不绘制出来。但是无论是显示的还是隐式的,一谈到参与者,读者必须想到系统边界的存在,否则参与者就是可疑的。
---->如何找出参与者,第一步是弄明白系统边界。
---->如何搞明白系统边界,弄明白两个问题(1)谁对系统有着明确的目标和要求并且主动发出动作?(2)系统为谁服务的?
---->参与者也叫主角,只有主动启动了某个业务的,才是参与者。
例子:小王到银行开户,想大厅经理询问了办理手续,填写表单,交给柜台职员,拿到了银行存折。这个场景中,谁是参与者?
(1)小王是参与者
(2)大厅经理,柜台职员。虽然参与了该开户行为,但不属于主动发起者,称之为“业务工人”,而不是参与者。
【3】参与者可以非人
--->建模着也常常会面临另一个问题,有些需求并没有人参与,参与者如何确定?例如这样一个需求:每天自动统计网页访问量,生成统计报表,并发送至管理员邮箱。这个需求参与者是谁?
(1)物理学有一个熟知的概念,在没有外力的情况下,物体保持静止或匀速直线运动状态。这个概念也适用计算机系统。在没有“外力”的情况下,计算机保持等待或循环任务状态。因此必须有“东西”发出指令或动作,计算机才会做出相应的反应。
--->参与者一定是直接并且主动地向系统发出动作并获得反馈的。否则就不是参与者。
---->参与者和系统边界是共存的,相对的。随着系统边界的扩大或缩小,与之对应的参与者也在变动。
--->(1)业务主角:一个功能性需求的主动发起者。
--->(2)业务工人(不属于参与者):有些人员参与了业务,但属于被动参与业务。
--->(3)如何区分参与者和业务工人?可以通过三个问题来澄清他们的身份1他是主动向系统发出动作的吗?2他有完整的业务目标吗?3系统是为它服务的吗?
【4】参与者与与之相关方面的关系
---->参与者与涉众的关系.
(1)涉众(stakeholder),也称之为干系人。涉众是与要建设的这个系统有利益相关的一切人和事。
---->参与者与用户的关系。
(1)用户(user),是指系统的使用者,通俗点说是系统操作员。
---->参与者与角色的关系
(1)角色(role),是参与者的职责。是一类参与者的抽象。
<三>面向对象分析之UML核心元素之参与者的更多相关文章
- <十>面向对象分析之UML核心元素之关系
关系 --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构. 一,关联关系(association)
- <八>面向对象分析之UML核心元素之分析类
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素. ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...
- <五>面向对象分析之UML核心元素之边界
一:基本概念
- <四>面向对象分析之UML核心元素之用例
一:基本概念 --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值. --->所谓用例,就是一件事情,要完成这 ...
- <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性
设计类
- <十二>面向对象分析之UML核心元素之节点和设备
节点,设备
- <七>面向对象分析之UML核心元素之包
一:基本概念
- <六>面向对象分析之UML核心元素之业务实体
一:基本概念
- <十一>面向对象分析之UML核心元素之组件
组件
随机推荐
- ios开发之网络数据的下载与上传
要实现网络数据的下载与上传,主要有三种方式 > NSURLConnection 针对少量数据,使用“GET”或“POST”方法从服务器获取数据,使用“POST”方法向服务器传输数据; > ...
- uva 11076
计算出每一位上数字i会出现的次数 累加 #include <cstdio> #include <cstdlib> #include <cmath> #includ ...
- 使用 Storyboard Segue 实作 UIViewController 的切换
http://blog.csdn.net/mazhen1986/article/details/7791430 Storyboard 是在 iOS 5 SDK 中才出现的新名词,它其实就是原本的 Xi ...
- 查杀linux线程指令
工作中重启环境时常常出现内存溢出等等问题,往往需要查杀进程来帮助重启成功,下面就查杀线程的详细指令做下总结: 1.查找需要kill掉的线程: ps -elf|grep [线程关键信息] 比如: ...
- 安装SQL Server 2012遇到“需要更新的以前的Visual Studio 2010实例.”
Microsoft Visual Studio 2010 Service Pack 1(exe) 下载链接:http://www.microsoft.com/zh-cn/download/confir ...
- longene QQ 安装目录
longene QQ 在Ubuntu 12.04上的安装目录如下: wy@wy-Inspiron-7420:~/.longene/qq/drive_c/Program Files/Tencent/QQ ...
- P1024 外星人的密码数字
P1024 外星人的密码数字 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 XXXX年突然有外星人造访,但大家语言不通,不过科学家们经过研究发现外星 ...
- lintcode :Longest Palindromic Substring 最长回文子串
题目 最长回文子串 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 样例 给出字符串 "abcdzdcab",它的最长回文 ...
- 89. Gray Code
题目: The gray code is a binary numeral system where two successive values differ in only one bit. Giv ...
- Sqlmap基础(一)
(1)选项:-r REQUESTFILE Load HTTP request from a file (2)选项:--current-db Retrieve DBMS curr ...