用例是UML建模中最重要的一个元素,因为UML是面向对象的,除了用例以外,其他所有的元素都是“独立”的,“封装”的。在没有外力的驱动下,这些独立的元素就是孤独的。而用例就是施加这一外力的元素。

用例的定义

官方定义:用例定义了一组用例示例,其中每个示例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的值(官方的果然NB,太精辟了,精辟到我一点都看不懂)

简单的说法:一个用例就是与参与者交互的,并且给参与者提供可观测的意义的结果的一系列活动的集合,所谓的用例就是一件事情,要完成这件事情,需要做的一系列的活动;而做一件事情可以有很多不同的办法和步骤,也可能会遇到各种各样的意外情况,因此这件事情是由很多不同情况的集合构成的,在UML中称之为用例场景。一个用例场景就是一个用例的实例。

而启动一个用例可能需要一定的前置条件,例如烧饭这个用例的前置条件就是要有米,用例执行完了会有一个结果,这个被称为后置条件,例如烧饭的结果就是米变成了饭。

用例的特征

1.用例是相对独立的,就是说他不与其他用例交互,而是独自完成参与者的目的。

2.用例的执行结果对于参与者来说是可观测的和有意义的。例如系统中有个删除前自动备份数据的操作,这个操作结果对与参与者是透明的,参与者不是直接受益人,所以他不能称之为用例。

3.事件必须由一个参与者发起,不存在没有参与者的用例,用例不应该自动启动,或启动其他的用例。

4.用例必然是以动宾短语形式出现的、例如“喝水”是一个有效的用例,而“喝”不是。

用例的粒度

用例的粒度是根据建模的抽象层次所决定的。

1.在业务建模阶段,用例的粒度是以每个用例能够说明一件完整的事情为宜。

2.在概念建模阶段,用例的粒度是以每个用例能够描述一个完成的事件流为宜。

3.在系统建模阶段,用例的粒度是以每个用例能够描述操作者与计算机的一次完整的交互为宜。

用例和功能的误区

功能和用例是有本质的区别的。

1.功能是脱离使用者的愿望而存在的。例如我们描述一个自行车的功能就是他能骑和载物,并无谁来使用它。

2.功能是孤立的,在系统中,给一个输入就能得到一个输出。而用例是一个系统性的工作,这个系统的工作非常明确的去为某个参与者达成一个特定的目标。

3.如果非要从功能的角度去解释用例,那么用例可以解释为一系列完成一个特定目标的功能的组合。

目标和步骤的误区

步骤可能是一个用力(概念模型中)也可能是一个用例的组成部分,例如寄信这个用例,其中有买信封,买邮票,付钱,投递等步骤,这些步骤在业务模型中是不能单独成为一个用例的。

业务用例(Business Use Case)

专门用于需求阶段的业务建模。业务模型是针对客户业务的模型,是无关计算机系统建木的,它只是一个业务的模型。它的参与者就是业务主角。

业务用例实现(Business Use Case Realization)

是实现业务用例的过程,业务用例和业务用例实现就例如接口与实现类一样。例如交电话费这个用例有营业厅缴费,银行缴费等业务用例实例。

概念用例

概念模型用来获取业务用例中的核心业务逻辑,成为业务架构的重要指导。

系统用例

系统用例是用来定义系统范围,获取功能性需求的。我们一般说的用例就是指系统用例,业务用例是站在客户业务的角度,而系统用例就是咱在系统的视角来看待。

系统用例实例

类似于业务用例实现。

转载于:https://www.cnblogs.com/ccmaycry/archive/2009/07/08/1519518.html

《Thinking in UML》读书笔记 4 : 用例(Use Case)相关推荐

  1. 读书笔记:Comments On The Case for the Reduced Instruction Set Computer

    这三个月正拜读<量化研究方法>.并且读了一些相关的论文.这篇论文是个人翻译的.这篇论文代表了工业界对D.A. Patterson的<n The Case for the Reduce ...

  2. 大象Thinking in UML读书笔记☞ 第三章

    3.1 版型 ◆版型是UML中的一个概念,也叫作类型.构造型.版型是对UML中基础元素赋予一个特殊的意义,使得这个元素可以描述特定的场合. ◆例如类有接口.边界类.实体类.控制类等版型. ◆用户可以依 ...

  3. 大象---Thinking in UML读书笔记(一)

    第一部分 准备篇 1.1 面向过程还是面向对象 在很多人看来,面向过程和面向对象都是一种软件技术.例如把面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多 ...

  4. 第一篇读书笔记,关于UML和模式应用(1)--书籍简介

    新添加了一个读书笔记分类,以后多写一些读书笔记吧.因为真的觉得自己技术太差了,写不出好文章了. 关于UML和模式应用(1)--书籍简介 Applying UML and patterns(Craig ...

  5. 马丁福勒《UML精粹》读书笔记_第四章

    第四章 顺序图 顺序图是一个use case的一种实现.当考察单个use case内部若干对象的行为时,就应使用顺序图. 可参考"高焕堂<嵌入式UML设计>读书笔记_第五章&qu ...

  6. 马丁福勒《UML精粹》读书笔记_第一章

    马丁福勒<UML精粹>读书笔记_第一章 UML的使用场景 必须遵从UML规则吗? 在上述草图.蓝图的场景下,不必过多强调遵从UML规则.因为我们使用UML的目的是为了一个好的设计,所以应将 ...

  7. 读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)

    读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助. 笔记有点长,所以分为一,二两个部分: ...

  8. 《需求工程-软件建模与分析之读书笔记之三》

    <需求工程-软件建模与分析之读书笔记之三> 第14章<面向对象建模>采用了面向对象方法学的世界观,将系统看作是一系列对象的集合,每个对象具有独立的职责,完成独立的任务,对象之间 ...

  9. 软件架构设计 温昱著 - 读书笔记

    #读后感#一本实用性很强的架构入门书籍.内容有深有浅,涉及面广,帮我们树立一个架构设计的全局观.  本书已读完,把读后感放在最前面,以下是详细的读书笔记. #读书笔记# 我们将软件架构概念分为两大流派 ...

最新文章

  1. 如何解决并发的问题(SQL锁的使用)
  2. Win64 驱动内核编程-34.对抗与枚举MiniFilter
  3. 如何配置 SQL Server 2005 以允许远程连接
  4. 隐马尔可夫模型中的Viterbi算法zz
  5. Java访问修饰符public,private,protected,以及不写(默认)时的区别?
  6. 在服务器系统怎么设置地址怎么办,路由器怎么设置地址
  7. BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】
  8. python的变量如何理解_Python程序中变量作用范围应该如何理解?
  9. wamp安装和配置_手动配置Wordpress环境真香,让我毫不犹豫卸载LAMP和WAMP环境
  10. 麻省理工计算机相关网络课程,麻省理工MIT计算机课程表
  11. 《图论及其应用》学习笔记(树)
  12. 笔记本电脑开不了机怎么重装系统?小熊U盘重装win7系统教程
  13. word目录生成JAVA_aspose word for java添加页码并自动生成目录
  14. JGG | 河北大学杜会龙组综述植物泛基因组学研究
  15. 计算机存在其他连接设备错误,USB设备连接电脑失败怎么办
  16. 重庆理工计算机考研分数线,重庆理工大学研究生录取分数线
  17. 信号建模-呼吸心跳信号检测方法(三)
  18. java孤岛求生类游戏下载,我的世界荒岛余生整合包
  19. 清理autodesk产品注册表_如何完整移除Autodesk的产品?
  20. 计算机数据交换技术发展的顺序,计算机网络数据交换技术的发展探析

热门文章

  1. day01课堂笔记2
  2. 【VUE】父传子、子传父
  3. Arm Mali GPU最佳实践(Arm Mali GPU Best Practices)
  4. Cannot connect to license server system. (-15,570:150 - Operation now in progress)
  5. 总是陷入算计扯皮烂泥坑的软件外包的出路在哪里?
  6. 600多个微信小程序源码_微信小程序在线音乐播放器及源码下载
  7. 合同模板在合同管理系统中的重要作用
  8. 三星通过Galaxy Note20,Note20 Ultra在功率,尺寸和5G方面大放异彩
  9. 吐槽下银联1分钱乘公交
  10. 【JS】1224- ECMAScript 2022预览:10个进入Stage 4的提案