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.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
随机推荐
- php动态获取常量
class A1{ const V1='100'; const V2='200'; const V3='Hello world'; } $v1 = 'V3'; $a1 = constant('A1:: ...
- android限制横竖屏切换 方法
在需要限制横竖屏切换的时候,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. android:screenOrientation=& ...
- 【Luogu4921】情侣?给我烧了!(组合计数)
[Luogu4921]情侣?给我烧了!(组合计数) 题面 洛谷 题解 很有意思的一道题目. 直接容斥?怎么样都要一个平方复杂度了. 既然是恰好\(k\)对,那么我们直接来做: 首先枚举\(k\)对人出 ...
- hadoop文件配置
伪分布式配置: core-site.xml <configuration> <property> <name>fs.defaultFS</name> & ...
- 【模板】Tarjan scc缩点
代码如下 #include <bits/stdc++.h> using namespace std; const int maxv=1e4+10; const int maxe=1e5+1 ...
- chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系
最近发现使用淘宝的jae环境,一个 abc.jsp 地址,随机跳转到淘宝图片空间里任意的一张图片. 但在chrome浏览器发现一个奇怪的问题: 用户第一次访问 abc.jsp -> 302 f ...
- MUI 拍照或选取照片上传作为头像
1.第一种方法是用H5来实现的 HTML: <label> <input style="opacity: 0;" type="file" ac ...
- pyqt5 设置窗口按钮等可用与不可用
setEnabled(True) 设置窗口或者按钮可用,Flase不可用
- python 3字符编码
python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...
- 函数和常用模块【day06】:subprocess模块(十)
本节内容 1.概述 2.前言 3.subprocess模块 4.subprocess.Popen() 一.概述 我们在实际的工作中,需要跟操作系统的命令做交互,但我们如何用python去跟操作系统之间 ...