第三章 太多的知识点了 一个一个整理

什么是参与者?

在项目里 谁是参与者?

参与者

是建模过程中处于核心位置(actor) UML官方定义:actor是在系统之外与系统交互的某人或某物

系统与参与者之间有一个明确的边界 参与者 只可能存在于边界之外 边界之内的所有人和事物都不是参与者

举栗子

小王到银行开户 向大厅经理询问了办理手续 填写表单 交给柜台职员,拿到了银行存折 这个场景谁是参与者?

在我们回答这个问题之前 我们用俩个问题来寻找参与者

1 谁对系统有着明确的目标和要求并且主动发出动作?

2 系统是谁服务的?

在这个小王的例子里

1)小王有着明确的目标 去开户 主动发出了开户的请求

2)所有的服务人员和系统都是为小王服务 给他开户

所以小王是参与者 而大厅经理和柜台职员 如果小王不做开户的动作 他们是不会有响应的  所以 在这个例子里 小王是参与者 别的人 和物 都可以括在 系统里 那大厅经理和柜台职员是什么角色那? 他们页参与了项目里 但是属于 business worker 业务工人

参与者 在汉语里 可能会混淆意义 我们可以叫主角

参与者不一定是一个人

举个栗子

一个网站要记录 网页的访问量 生成统计表 发至管理员邮箱 那这个里面谁是参与者(主角)

物理的牛顿第一定律 任何物体在没有外力的情况下都是保持静止和匀速运动 计算机里 没有外力情况下不会自己运行 必须有个东西来发送指令 触发计算机才能有反应 所以 这里 计时器Tmer控件是一个参与者

功能性用例其中一个特征就是 不存在没有参与者的用例 用例不应该自己启动 也不应该主动去启动另一个用例

就是说 如果没有一个启动者 就说明这不是一个功能性的需求

栗子 如果客户说 想把一个界面弄的更好看一些 这个就不是一个功能性的需求 只能算一个具体要求  界面好看不好看 没有一个启动者

发现参与者

参与者一个重要来源就是涉众(stakeholder)

从涉众中找出那么直接对系统发出动作 或者直接从系统中接受反馈的涉众

如:客户的岗位设置(就是客户的部门)

客户代表(客户中出来对应项目的代表人)

并假定为参与者 列出他在系统里需要做的事情 在与其他客户代表进行访谈 通过收集需求 找出共同性 并与客户敲定

在查找参与过程中 可以抱着这些问题寻找参与者

1)谁负责提供 使用 或删除信息

2)谁使用此功能

3)谁对某个特定功能感兴趣

4)在组织中什么地方使用系统

5)谁负责支持和维护系统

6)系统有哪些外部资源

7)其他还有哪些系统将与该系统交互

参与者一定是直接并主动的向系统发出动作并获得反馈

举栗子

火车票都买过 分别是自己上网订票 ,打电话给客服 或者通过语音提示订票

情况1)机票购买者通过登录网站订票

情况2)机票购买者通过呼叫中心 由人工来进行网站订票

情况3)机票通过呼叫中心的语音自动提示体统来进行网站订票

那么这三种情况 都谁是网站的参与者?

情况1 参与者是机票购买者

情况2 参与者是呼叫中心的人工

情况3 参与者是呼叫中心的语音自动提示系统(非人案例)

(情况2 和情况3 人分别人工和语音自动提示的参与者 )

如果把系统的边界调大 把人工系统和自动语音 归于系统中 叫子系统的话 那么  所有情况的参与者都是机票购买者  人工就属于业务工人 business worker

业务主角

业务主角针对业务 而非计算机系统 在软件项目里业务范围和系统范围是不同的

业务范围指这个项目所涉及的所有客户业务 这些业务是没有系统就客观存在的

系统范围是指软件要实现那些对应业务功能的系统功能 从功能性需求来说系统范围是业务范围的一个子集

业务主角 在需求阶段 业务主角是与业务系统有着交互的人和物 他们用来定义业务范围 业务主角必须拥有参与者的所有定义 在引用计算机系统之前他们的业务也一直跑的很流畅 这是因为在初始需求阶段 我们需要获得是客户的业务模型 根据业务模型才能建立计算机系统模型 要记住 要建设一个符合客户需要的计算机系统 首要条件就是完全彻底的搞清楚客户的业务 而不是预先假设已经有了一个计算机系统 再让客户假想需要什么计算机系统帮助他们做什么

建立业务模型时 不要第一时间去想用功能怎么做 不要加入自己的主观判断 要真正的从业务角色角度出发 了解实际业务 前期 客户可能对计算机从业者忙目的信任 你说啥就是啥 往往做完后 客户会认为这不是我要的东西 而开发人员也会很委屈 因为他们也是按照需求做的

如何确定业务主角

1)业务主角的名称是否是客户的业务术语

2)业务主角的职责是否是客户的岗位手册里有对应的定义

3)业务主角的业务用例是否都是客户的业务术语?

4)客户是否对业务主角能顺利理解

业务工人

经常遇到一些问题 有些人参与了业务 但是身份很尴尬 他是被动参与业务的

怎么区分业务工人 最直接的办法是判断在边界内还是在边界外 如果边界不清楚 可以通过以下三个问题澄清

1)他是主动向系统发出动作的么

2)他有完整的业务目标么

3)系统是为他服务的么

如果三个问题都是否定 那一定是业务工人

阶段性结束

UML Thinking in UML大象 参与者相关推荐

  1. UML图解和UML代码范例

    2019独角兽企业重金招聘Python工程师标准>>> 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2 ...

  2. UML笔记一:UML概述三(UML构成、UML中的事物)

    1.UML中的构成: UML的基本结构块: ---UML中的事物 ---UML中的关系 ---UML中的图 UML的规则 UML中的公共机制 --规格说明 --修饰 --通用划分 --扩展机制 2.U ...

  3. UML概述及UML图详解

    ​ UML概述 一.UML简介 (一)UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于 描述以用例为驱动,以体系结构为中心的 ...

  4. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  5. UML图系列——UML模型图的构成

    在前面两篇文章UML图系列--UML概要和UML图系列--建模和面向对象中介绍了一些关于UML的概念,为了方便学习,将零散的知识做了简单的整理.以思维导图的形式跟大家分享,可以做思维导图的软件很多,这 ...

  6. UML测试题(UML基础)

    UML基础 相关文章: UML测试题(UML基础)_星星以外的博客-CSDN博客 UML测试题(用例图基础a)_星星以外的博客-CSDN博客 UML测试题(用例图基础b)_星星以外的博客-CSDN博客 ...

  7. UML图及UML工具使用技巧

    转自:UML图及UML工具使用技巧 Rational Rose 2003 之"Rational License key error"问题的解决方案 大家对UML这个可视化的建模语言 ...

  8. 《火球——UML大战需求分析》(第1章 大话UML)——1.1 UML基础知识扫盲

    说明: <火球--UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  9. 【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 一. 用例视图概述 用例视图表述哪些 ...

最新文章

  1. Add margining capability to a dc/dc converter
  2. 关于“ModuleNotFoundError: No module named ‘flask._compat‘”的解决
  3. 2019年 第10届 蓝桥杯 Java B组 决赛真题详解及小结
  4. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
  5. HBuilder:最快的Web开发IDE
  6. 使用Spring跟踪异常–第2部分–委托模式
  7. java 多线程下载文件
  8. 【Node】新手入门 基于Express,Sequelize、IIS的MVC项目
  9. 【学习总结】数学-基本计数方法
  10. pytho tkinter 应用第一个窗口
  11. 纯CSS实现页签切换效果
  12. JAVA常见算法题(四)
  13. jarsigner 命令对 apk 加密
  14. 关于不同长度PEG的丙炔:Pyrene-PEG2/PEG3/PEG4/PEG5-propargyl,1817735-33-3
  15. web漏洞类型概述(owasp top10笔记)
  16. CentOS 7.5版本成功安装后修改基本配置以及可视化远程桌面解决办法
  17. 把自己录制的mp3音乐分享到朋友圈
  18. [人脸活体检测] 论文: Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision
  19. Track'em Down
  20. CRM客户关系管理系统让企业在竞争中脱颖而出

热门文章

  1. 在同一个页面切换导航栏保持正确选中状态(单页面)
  2. 早知道早幸福——从压测工具谈并发、压力、吞吐量
  3. c++做的搞人代码(病毒)
  4. 计算机专业英语听课记录,小学英语听课记录及评析,小学英语听课记录45。
  5. java毕业设计企业产品在线展示销售平台源码+lw文档+mybatis+系统+mysql数据库+调试
  6. 发电企业管理信息系统从MIS向ERP的发展
  7. Reveal:分析iOS UI的利器
  8. Codevs 1391 伊吹萃香/虫洞
  9. Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)
  10. CentOS 7 压缩包安装MySQL(教程+一键完成脚本)