一、版型
在UML里有一个概念叫版型(stereotype),也被称为类型、构造型。
版型是由UML里的元素扩展而来,每个元模型都有很多版型,比如用例有“业务用例”、“业务用例实现”等版型。当我们需要时候我们也可以根据UML里的元素自定义版型来辅助建模。
二、参与者
参与者(actor)是在系统之外与系统交互的某人或某事物,在建模过程中处于核心地位。
参与者和系统之间有一个明确的边界,参与者只能存在于边界之外,边界之内的所有人和事物都不是参与者。
每个用例都必须有参与者,参与者可以非人,但一定是启动业务的主角。
三、业务主角和业务工人
业务主角(business actor)是参与者的一个版型,用于定义业务的参与者。业务主角是与业务系统有着交互的人和事物,他们用来确定业务范围。
业务范围:项目所涉及的所有客户业务,有没有计算机系统参与都客观存在;
系统范围:软件将要实现对应业务的系统功能。
业务主角是针对业务范围来说的,是客观存在的,考虑业务主角时候需要抛开计算机的概念,这样才能彻底搞清楚客户的业务。
接下来这段完全就是我的亲身经历,所以贴上来以作鞭策。
业务工人(business worker)是指的系统边界内,被动参与了业务的执行过程的人。
四、参与者相关关系
涉众(stakeholder),也称为干系人,是与要建设的这个系统有利益相关的一切人和事。参与者就是涉众代表,对系统提出要求来获得他所代表的涉众的利益。
用户(user),指的是系统的使用者,是参与者的代表,一个用户可以代理多个参与者。
角色(role),指的是参与者的职责,一个角色代表了系统中的一类职责。
五、用例
用例的基本概念
用例(Use case)是一种把现实世界的需求捕获下来的方法。用例定义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的值。
在UML里,除了用例之外,所有其他元素都是封装独立的。用例推动这些UML元素关联起来,从而实现某个功能。所以说用例是UML建模中最重要的一个元素。
一个完整的用例定义由参与者、前置条件、场景、后置条件构成。如下图所示:
一个系统的功能性是有一些对系统有愿望的参与者要做的一些事情构成的,事情完成后就达成了参与者的一个愿望,当全部参与者的所有愿望都能够通过用例来达到,那么这个系统就被确定下来了。
用例的特征
用例是相对独立的。
用例的执行结果对参与者来说是可观测和有意义的。
这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。
用例必然是以动宾短语形式出现的。
一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。
用例的粒度

用例的粒度是指的一个用例所描述事件的大小。
在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜,即一个用例可以描述一项完整的业务流程。
在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。
现实情况中,根据系统的大小选择不同用例粒度,可以更好适应其需求范围。
不论粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。
用例的获得
用例的来源就是参与者对系统的期望。
一个明确的有效的目标才是一个用力的来源。
一个真实的目标应当完备地表达主角的期望。
一个有效的目标应当在系统边界内,由主角发动,并具有明确的后果。
六、用例相关的误区
用例和功能的误区
用例需要从使用者的观点出发来描述软件;功能是脱离使用者的愿望而客观存在的。
用例是系统性的,以开灯为例,需要描述谁在什么情况下通过什么方式开灯结果是什么;功能是孤立的,只要按下开关灯就亮。
用例可以解释为一系列完成一个特定目标的功能的组合,针对不同的应用场景,这些功能体现不同的组合方式。
目标和步骤的误区

一个用例是参与者对目标系统的一个愿望,一个完整的事件,为了完成这个事件需要经由很多步骤,但这些步骤不能够完整地反映参与者的目标,不能够作为用例。
用例粒度的误区

用例的粒度不是越小越好,太小了会使建模无比繁琐且没意义;
一个系统里用例粒度如果不一,会使系统边界不确定,从而系统结构混乱。
七、业务用例和业务用例实现
业务用例(business use case)是用例版型中的一种,专门用于需求阶段的业务建模。
业务模型是针对客户业务的模型,与计算机系统建模无关,只是业务领域的一个模型。
业务用例的参与者是业务主角,如果说用例是用来获取功能性需求,那么业务用例用来获取功能性业务。
业务用例实现(business use case realization)是用例版型中的一种,专门用于需求阶段的业务建模。
业务用例实现是业务用例的一种实现方式,表达了同一项业务的不同实现方式。
业务用例和业务用例实现的关系举例如图

《大象 Thinking in UML》学习笔记(三)——UML核心元素之参与者、用例相关推荐

  1. UML学习笔记---了解UML,UML相关知识,相关概念

    6.uml统一建模语言;   面向对象分析和设计(OOA/D)   up过程与瀑布模型;   a.软件职责分配; -------------------------------------- 1.um ...

  2. XHTML学习笔记 Part2:核心元素

    1. <html>元素 <html xmlns="http://www.w3.org/1999/xhtml"> 仅有两个元素是<html>的直接 ...

  3. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  4. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  5. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  6. Ethernet/IP 学习笔记三

    Ethernet/IP 学习笔记三 原文为硕士论文: 工业以太网Ethernet/IP扫描器的研发 知网网址: http://kns.cnki.net/KCMS/detail/detail.aspx? ...

  7. iView学习笔记(三):表格搜索,过滤及隐藏列操作

    iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...

  8. 吴恩达《机器学习》学习笔记三——多变量线性回归

    吴恩达<机器学习>学习笔记三--多变量线性回归 一. 多元线性回归问题介绍 1.一些定义 2.假设函数 二. 多元梯度下降法 1. 梯度下降法实用技巧:特征缩放 2. 梯度下降法的学习率 ...

  9. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

  10. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

最新文章

  1. 在线作图|如何绘制带分组的散点图
  2. 数字签名与数字证书是什么
  3. python 图标题上移_Python-Matplotlib将图形标题移动到y轴
  4. /usr/include/sys/types.h基本系统数据类型
  5. bitnami mysql_最新 Bitnami redmine安装与配置
  6. element table多选和单选
  7. python数据结构基础的重点内容_Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】...
  8. SSM(SpringBoot+SpringMVC+Mybatis):班委信息管理附有GIF动图,博主可免费答疑
  9. java网上书店模板_网上书店静态网站模板
  10. matlab求解一元函数积分,matlab实现一元函数积分
  11. 最新yar扩展安装和使用
  12. Android掌上医疗预约挂号系统app
  13. 【半导体先进工艺制程技术系列】SOI技术(上)
  14. word中如何在一段文字中部分为标题,其余为正文
  15. 探测C库malloc元数据捕获野指针
  16. 闫辉-《程序员商业意识》之挖掘需求-UMLChina讲座-音频和幻灯
  17. 卫龙招股书再“失效”:上市二次遇挫,业绩增长迅猛,新增低俗标签?
  18. js动态设置文字大小
  19. 最前沿丨第一届通算一体网络理论研讨会
  20. SAR成像系列:【1】合成孔径雷达(SAR)成像概述

热门文章

  1. 两台电脑之间使用ntp做时间同步的总结
  2. PdfSharp库剪裁Pdf页面边缘空白部分
  3. RuntimeError: Expected 4-dimensional input for 4-dimensional weight [32, 1, 5, 5]
  4. Linux服务端rpm包安装Jenkins
  5. python随机图片api_用fastapi搭建随机图api(雁陎二次元随机图api开放试用)
  6. 高中数学对计算机,对高中数学计算机学习技巧的探讨
  7. 高效能人士的七个习惯读后感与总结概括-(第五章)
  8. 数据挖掘 文本分类(二)搜集中文语料库与ICTCLAS分词
  9. css鼠标变成小手(css中鼠标悬停是为小手)
  10. 天津理工大学嵌入式实验 Fritzing电路图连线,自定义芯片原理图方法