一、版型
在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. android中方法调用super(..)的相关知识
  2. 阿里全球数学竞赛第二届
  3. oracle 9i net基本配置
  4. Gradle初探(一):创建一个Gradle项目
  5. java 级联下拉列表_java 下拉框级联(年月日级联)
  6. 安装虚拟机后,启动出错的解决办法
  7. [LeetCode]Integer to Roman
  8. c语言将一个实型变量f=55.5678,《C语言程序设计》第2章2 常量和变量
  9. python3 爬虫
  10. php 表单提交渲染问题,如何解决php表单提交的数据丢失的问题
  11. 19 个接私活平台汇总,今天我们只聊用技术挣钱
  12. ssci源刊里有开源期刊吗_SSCI和SCI期刊投稿指南-以经济学和管理学为例
  13. 视频直播系统源码,比较图片
  14. 科幻计算机类小说,短篇科幻小说推荐 | 黄金时代的五部科幻杰作
  15. java -jar 命令隐藏黑窗口
  16. 【分立元件】电感器(inductor)——简介
  17. 2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(上)...
  18. unity NullReferenceException: Object reference UnityEditor.Graphs.Edge.WakeUp () (at D:/unity/
  19. Macbook pro苹果笔记本电脑安装双系统图文教程
  20. 学习聚宽4:函数 下单函数 自定义函数(笔记简单,但是需要重点看)

热门文章

  1. 计算两个时间之间的进度百分比
  2. hive对字段去除空格trim()函数
  3. 台式计算机识别不了u盘启动,台式机不认U盘启动解决方法
  4. 面试技巧:带走面试官的节奏
  5. Spyder设置字体
  6. 【Qt】Qt 开发环境安装 ( Qt 版本 5.14.2 | Qt 下载 | Qt 安装 )
  7. windows 端口被System进程占用怎么解决?
  8. MiniUtilityFramework 九 CText和TEXT
  9. abandon_mysql_使用Druid报错abandon connection, open stackTrace
  10. Proteus8.9 VSM Studio PIC编译器仿真PIC16F887A_系列a02_PIC_GPS数据接受反馈HTC仿真