UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言
UP开发包括四个阶段:初始阶段、细化阶段、构建阶段、移交阶段;
UP每个阶段包括 业务建模、需求、设计等科目;
其中需求科目对应的需求制品包括:设想、业务规则、用例模型、补充性规格说明、词汇表。
本文主要介绍需求科目中最重要的制品---用例模型
2. 用例的基本概念
- 参与者
某些具有行为的事物,如人、计算机系统,主要包括如下三种类型:
(1)主要参与者:具有用户目标,通过使用系统的服务完成。可以发现驱动用例的用户目标
(2)协助参与者:为当前系统提供服务的系统。可以明确外部接口或协议
(3)幕后参与者:在用例行为中具有影响或利益,但不是主要或协助参与者。可以确定满足所有必要的事物
- 场景
参与者与系统之间一系列特定的活动和交互,也称为用例实例。场景是用例的一条执行路径或特定情节
- 用例
通俗的讲,用例就是场景的集合,用以说明某参与者使用系统实现某些目标
用例是文本形式的情节描述,广泛应用于需求的发现和记录工作中。
用例不是面向对象的,编写用例时也不会进行OO分析,但用例是经典OOA/D关键需求输入
用例是功能性需求
- 用例模型
用例模型是UP中需求科目产生的制品之一,它是所有书面用例的集合,同时它是系统功能性和环境的模型
3. 使用用例的好处
使用用例有助于让客户参与进来,这样可以降低项目失败的风险:
- 降低领域专家甚至是客户自己编写用例的的难度
- 强调了用户的目标和观点
- 能够根据需要对复杂程度和形式化程度进行增减调节
4. 用例的常用形式
用例的形式 | 说明 | 使用时间点 |
摘要 | 简洁的一段式概要,主要应用于主成功场景 | 早期需求分析中 |
非正式 | 非正式的段落格式,用几个段落覆盖不同场景 | 早期需求分析中 |
详述 | 详细编写所有步骤及各种变化,同时具有补充部分 | 用摘要形式编写了大量用例后,第一次需求讨论会上对少部分具有架构性和高价值用例进行详述 |
表 用例的三种常用形式
5.总结
本章主要讨论UP初始阶段需求科目对应的制品之一---用例模型,阐述了用例模型的基本概念,使用用例的好处,用例的常用形式。
下一章将用一个具体的实例进行详细分析和说明
UML和模式应用4:初始阶段(3)--需求制品之用例模型的更多相关文章
- UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 需求是UP科目之一,在初始阶段需求科目的工作量占据较大的部分.但是初始阶段的 ...
- UML和模式应用
引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...
- UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...
- UML和模式应用4:初始阶段(1)--概述
1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...
- UML学习笔记—基本概念和初始阶段
chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...
- UML和模式应用5:细化阶段(4)--如何创建领域模型
1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...
- UML和模式应用5:细化阶段(1)--第1次迭代
1.前言 从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例. 2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例) 实现 处理销售 用例中基本 ...
- 《UML和模式应用》重点之思想篇
本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
随机推荐
- 洛谷 P2341 [HAOI2006]受欢迎的牛 解题报告
P2341 [HAOI2006]受欢迎的牛 题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的"喜欢&q ...
- 让一个继承unittest.TestCase的类下的setUp和tearDown只执行一次
知道unittest单元测试框架的朋友应该都知道, 执行继承了unittest.TestCase的类下每个test开头的方法(就是用例)时,都会执行setUp和tearDown,如下面的例子所示: i ...
- 逆向---01.Nop、中文字符串搜索、保存修改后程序
基础知识:(Nop:删除跳转) gcc编译链接命令: gcc -o 生成文件名 源文件名 gcc编译成汇编代码:gcc -o 生成文件名 -S 源文件名 VS查看汇编代码:(调试模式下,Ctrl+F ...
- pip常用命令、配置pip源
1.查找软件 # pip search Package 2.安装软件 # pip install Package # pip install -r requirements.txt 3.更新软件 # ...
- Arch Linux中禁用UTC解决双系统时间问题
原因 Windows双系统时间不统一在于时间表示有两个标准:localtime 和 UTC(Coordinated Universal Time) .UTC 是与时区无关的全球时间标准.尽管概念上有差 ...
- CF294C Shaass and Lights
题目大意: 有n盏灯,(0<=n<=1000),有m盏已经点亮,每次只能点亮与已经点亮的灯相邻的灯,求总方案数,答案对1e9+7取模 第一行:两个整数n,m表示灯的总数和已点亮的灯的数目 ...
- 洛谷P2446 大陆争霸
这是一道dijkstra拓展......不知道为什么被评成了紫题. 有一个很朴素的想法就是每次松弛的时候判断一下那个点是否被保护.如果被保护就不入队. 然后发现写起来要改的地方巨多无比...... 改 ...
- html5的data-*属性,我们一起认识下
html5的data-自定义属性出来很久了,我们一起认识一下. 比如如下一个代码,我们怎么取到对应的name,对应的age? 既然data-*自定义属性是它的一个属性,这个时候就可以用getAttri ...
- 代码实战之AdaBoost
尝试用sklearn进行adaboost实战 & SAMME.R算法流程,博客地址 初试AdaBoost SAMME.R算法流程 sklearn之AdaBoostClassifier类 完整实 ...
- springboot的小知识总结
1.RestTemplate提交表单数据的三种方法 https://blog.csdn.net/yiifaa/article/details/77939282 2.spring data的分页实现:p ...