UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言
UP开发包括四个阶段:初始阶段、细化阶段、构建阶段、移交阶段;
UP每个阶段包括 业务建模、需求、设计等科目;
其中需求科目对应的需求制品包括:设想、业务规则、用例模型、补充性规格说明、词汇表。
上章主要讨论UP初始阶段需求科目对应的制品之一---用例模型,阐述了用例模型的基本概念,使用用例的好处,用例的常用形式。
本章将用一个具体的实例进行详细分析和说明用例模型,采用用例的三种常用形式之一---详述风格来说明 处理销售 这个用例的编写。
2. 详述风格的特点
详述风格详细编写所有步骤及各种变化,同时具有补充部分。
一般在需求科目进行时用摘要形式编写了大量用例后,第一次需求讨论会上,用详述风格将编写10%的关键用例,并对这10%具有架构意义的用例或场景进行设计和编程
3. 详述风格的模板
图 Alistair Cockburn创建的详述风格的用例模型模板
上图为初始阶段为需求科目产生的用例模型制品模板,它是详述风格的,下面对这个模板的不同部分进行说明:
- 用例名称
一般用动词开始
示例:对于NextGen pos系统,用例名称为 用例UC1 处理销售
- 范围
定义了所要设计的系统,包括系统用例和业务用例
系统用例描述的对系统的使用;业务用例描述顾客和有关人员如何使用业务
示例:对于NextGen pos系统,范围为 NextGen Pos应用
- 级别
分为用户目标级别和子系统级别。
用户目标级别:是通常的级别,描述了实现主要参与者目标的场景;
子系统级别:用例描述支持用户目标所需要的子步骤,若干常规用例共享重复的子步骤,则将其分离出来,创建为子系统功能级别用例
示例:对于NextGen pos系统,级别为 用户目标
- 主要参与者
调用系统服务来完成目标的主要参与者
示例:对于NextGen pos系统,主要参与者为 收银员
- 涉众及其关注点
建议并界定了系统要完成的工作,能够让我们更加清楚的详细了解系统职责,为发现并记录所有行为需求提供彻底、系统的过程。
示例:对于NextGen pos系统, 涉众为 收银员、 售货员、顾客、公司、经理、政府税收代理、支付授权服务,它们都有各自的关注点
- 前置条件
给出用例中场景开始之前必须永远为真的前提,前置条件传达的应该是能够引起读者警惕的那些值得注意的假设,而非那些不值得注意的假设
示例:对于NextGen pos系统,收银员必须经过确认和认证
- 成功保证(或后置条件)
给出用例成功结束后必须为真的事物,包括主成功场景和替代场景。该保证满足所有涉众的需求
示例:对于NextGen pos系统,成功保证为 存储销售信息,准确计算税金,更新账务和库存信息,记录提成,生成票据,记录支付授权的批准
- 主成功场景(或基本流程)
典型流程,描述了满足涉众关注点的典型成功路径,通常不包括任何条件分支。记录三种步骤:
(1)参与者之间的交互;(2)确认过程(通常由系统完成);(3)系统完成的状态变更(例如:记录或更改某事物)
示例:对于NextGen pos系统,主成功场景为 顾客购买的整个操作流程
- 扩展(或替代流程)
是主成功场景的分支,扩展描述了其它所有场景或分支,包括成功和失败路径。通常占据了文本的大部分篇幅。
(1)扩展有两部分组成:条件和处理,尽可能使用系统或参与者能够检测到的事物作为条件;
(2)扩展处理可以针对一个步骤也可以针对多个步骤;
示例:对于NextGen pos系统,扩展为对主成功场景的特殊情况及分支的说明
- 特殊需求
与用例相关的非功能性需求、质量属性(性能、可靠性和可行性)或约束(通常对于IO设备),也有建议写入补充性规格说明书中
示例:对于NextGen pos系统,特殊需求为 使用大屏UI,90%的信用卡授权时间少于30秒等
- 技术与数据变元表
技术变元是必须如何实现系统;
数据变元,如商品编码采用哪种编码方式等。
示例:对于NextGen pos系统,技术变元表为 信用卡账户可以用读卡器或键盘输入,数据变元为 商品编码采用何种编码方式
- 发生频率
示例:对于NextGen pos系统,发生频率为 可能会不断的发生
- 未决问题
示例:对于NextGen pos系统,未决问题为 税法如何变化等
UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例的更多相关文章
- UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 需求是UP科目之一,在初始阶段需求科目的工作量占据较大的部分.但是初始阶段的 ...
- 《UML和模式应用》读书笔记(一)面向对象分析和设计简单示例
在开始进行对象分析和设计之前,先通过“扔骰子”这个软件(游戏者扔两个骰子,如果总是是7,则赢,否则输),来简单分析下这个过程. 1:用例 需求分析,可能包括人们如何应用的场景或情节,这些都可以被编写成 ...
- 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项目处理销售用例) 实现 处理销售 用例中基本 ...
随机推荐
- 【BZOJ1925】[SDOI2010]地精部落(动态规划)
[BZOJ1925][SDOI2010]地精部落(动态规划) 题面 BZOJ 洛谷 题解 一道性质\(dp\)题.(所以当然是照搬学长PPT了啊 先来罗列性质,我们称题目所求的序列为抖动序列: 一个抖 ...
- 洛谷 P4345 [SHOI2015]超能粒子炮·改 解题报告
P4345 [SHOI2015]超能粒子炮·改 题意 求\(\sum_{i=0}^k\binom{n}{i}\),\(T\)组数据 范围 \(T\le 10^5,n,j\le 10^{18}\) 设\ ...
- 使用ntlmrelayx在任何地方进行中继凭据
0x00 前言 通过Fox-IT我们可以让客户了解其企业组织中出现的常见安全风险.当攻击者可以利用NT LAN Manager身份验证协议(以下简称:NTLM身份验证)时,凭据重用就有这样的风险,即这 ...
- SDL2.0 VLC ubuntu安装和黑屏问题
开发环境安装: 1,执行:"sudo apt-get build-dep libsdl1.2",确定依赖库都装全了. sdl2.0没有正式发布到ubuntu,使用下面方法安装: h ...
- oracle 按 123456789 排序 而不是 1 10 11 2 这种
order by decode(trim(translate(cptm,'0123456789',' ')),null,to_number(cptm))
- Linux:从文件中搜索关键字并显示行数(cat,grep函数)
假如有test1.txt的格式如下图所示: 有test2.txt的内容如下: 现需将test2.txt含有的关键字的行搜索出来并显示行数 则可以用到命令: cat test1.txt | grep - ...
- 外显子分析弹错解决方案:Exception in thread "main" picard.PicardException: New reference sequence does not contain a matching contig for NC_007605
最近从公共数据库下载了一堆bam文件和reference 基因组文件,重新分析外显子流程时,跑出了“Exception in thread "main" picard.Picard ...
- 修改select下拉选的默认选中值
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- php框架:Flight 简介
Flight是一个php的极简的有着微内核的框架,能过快速的构建RESTful的应用 官网地址: http://flightphp.com/ github地址:https://github.com/m ...
- nginx下后端节点realserverweb健康检测模块ngx_http_upstream_check_module
本文章收录做资料使用,非本人原创,特此说明. 公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列 ...