用例Use Case

Use Case(用例)是一个系统分析与设计中非常重要的概念,在使用整个软件开发过程中,Use Case处于一个中心地位。用例是对一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。这些结果要么反馈给参与者,要么作为其他用例的参数。

用例≠用例图

用例是用户利用某个系统实现特定目标的一系列成功或失败的场景的文本描述。
用例图则给出了系统上下文的图像展示,如系统的边界、系统内部及外部所涉及的部分。

简单例子

  • 用例
     System under Design(SuD): 电话系统
     Goal:与被叫方通话
     Actor: 主叫方(primary),被叫方 计费系统(supporting) 运营商
     Primary scenario: 拨号,系统建立连接,回呼叫音 系统连接完成,取消呼叫音 与被叫方通话 挂机,系统拆线
     Alternate scenario: 占线 拨号,系统建立连接,回忙音 挂机,系统拆线
     Alternate scenario: 号码不存在
  • 用例图

用例说明具体组成要素

用例说明分成三种等级:
1. Brief 概要级
一段精简的概括,主要包含主成功场景。
2. Casual 简便级
多段的描述,覆盖若干场景。
3. Fully 完整级
从细节详细地描述每一个场景的每一个步骤及可能。

一个完整的用例说明可以包含以下的方面:
* Use Case Name 用例名
* Scope 作用范围
* Level 用例级别
* Primary Actor 主要参与者
* Stakeholders and Interests 关注者及关注点
* Preconditions 前置条件
* Success Guarantee 成功的必要条件
* Main Success Scenario 主要成功场景
* Extensions 可选场景或失败场景
* Special Requirement 特殊需求
* Technology and Data Variations List 输入输出相关的数据及格式
* Frequency of Occurrence 时间频率
* Miscellaneous 开放话题

用例图基本组成部分

  • 参与者 Actor

  • 用例 Use Case

  • 子系统 Subsystem
  • 关系

    关联的箭头指向信息的接受方。
    泛化简单来说就是继承关系,子用例指向父用例。
    包含指一个复杂用例可以分解成若干小用例。
    拓展指用例功能的延伸,相当于附加功能。

系统分析与设计学习笔记(二)用例模型相关推荐

  1. 系统分析与设计--学习笔记1

    一.简答题 1. 定义"软件工程":(1)将系统化.规范化.可度量的方法应用于软件的开发.运行与维护的过程中,即将工程化应用于软件中--采用工程的技术原理来开发和维护软件,把各种证 ...

  2. 系统分析与设计学习笔记(六)包图

    包图的简介 包图是UML中的一种重要的模型图,它利用包的形式,对UML中的类.对象.用例等进行封装,并以一定的规则进行排列, 形成一种层次结构.从直观意义上看,包图可以看做是一个项目中的文件夹的排列结 ...

  3. 学习笔记二:IBIS模型编辑报错纠正

    新建IBIS文件后,写好了相应的IBIS模型文件. 写好文件后,最好要检查下是否符合ibis语法. 注意: 第一点:IBIS头文件的[File name],此处名称需要和文件名称相同,同时名称字符数需 ...

  4. esper java_Esper学习笔记二:进程模型

    1.UpdateListener UpdaterListener是Esper提供的一个接口,用于监听某个EPL在引擎中的运行情况,即事件进入并产生结果后会通知UpdateListener. 接口如下: ...

  5. 模电设计学习笔记(二)——反相放大电路

    模电设计学习笔记(二) 反向放大电路设计 反向放大电路:输出信号与输入信号的相位相反并且电压或电流值成一定比例. 如下图就是一个简单的反向放大电路. 设计反向放大电路,同样的需要先清除需求,然后定量的 ...

  6. 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析

    系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...

  7. 二维码学习笔记(二) | 数据分析与数据编码

    唠唠闲话 二维码笔记系列(原文地址): 『二维码学习笔记(一) | 二维码概述』 『二维码学习笔记(二) | 数据分析与数据编码』 『二维码学习笔记(三) | 纠错编码』 『二维码学习笔记(四) | ...

  8. Netty学习笔记二网络编程

    Netty学习笔记二 二. 网络编程 1. 阻塞模式 阻塞主要表现为: 连接时阻塞 读取数据时阻塞 缺点: 阻塞单线程在没有连接时会阻塞等待连接的到达,连接到了以后,要进行读取数据,如果没有数据,还要 ...

  9. ES6学习笔记二arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

最新文章

  1. 面试题:2018最全Redis面试题整理
  2. 多核时代 .NET Framework 4 中的并行编程6---并行LINQ
  3. 产品网络推广浅析网站在优化时文章标题撰写要注意哪些事项?
  4. python下载文件到指定目录-Python获取指定文件夹下的文件名的方法
  5. 探秘Hadoop生态12:分布式日志收集系统Flume
  6. python利用pandas和xlrd读取excel,特征筛选列
  7. NYOJ 214 单调递增子序列(二)
  8. FFMPEG进阶系列01-ffplay命令详解
  9. authenticate总是返回None
  10. Java—关于单例模式的实现方式
  11. spring cloud gateway 深入了解 - Predicate
  12. OpenLayers相关资料
  13. ASP.NET Core 3.1 Web API和EF Core 5.0 中具有泛型存储库和UoW模式的域驱动设计实现方法
  14. python进阶(一)关联sql的算法操作
  15. android 开源项目介绍
  16. 运筹学从何学起?如何快速入门精确式算法?
  17. 关闭Ubuntu错误报告
  18. 问路全球化,富途、老虎需要突围两个关键词
  19. LiteOS | 基于LiteOS的智慧农业案例实验分享
  20. Deep Knowledge Tracking based on Attention Mechanism for Student Performance Prediction

热门文章

  1. ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接
  2. java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法
  3. ubuntu 设置输入法
  4. ERP初阶(九):ERP的主要功能模块简介
  5. 清华大学出版社618大促《IT系列丛书》
  6. android 应用标识,App应用唯一标示码
  7. Windows 10 与 kali 双系统安装
  8. 【SSL 2119 2011分区联赛模拟试题】电子眼【树形DP】
  9. 火控系统测试平台研究
  10. Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具