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项目处理销售用例) 实现 处理销售 用例中基本 ...
随机推荐
- BloodHound官方使用指南
0x00 概观 1.BloodHound介绍 BloodHound是一种单页的JavaScript的Web应用程序,构建在Linkurious上,用Electron编译,NEO4J数据库是Power ...
- Mysql的命令总结
Mysql常用命令 启动 net start mysql 关闭 net stop mysql 连接mysql mysql -uroot -ppssword mysql -uroot -P3307 -p ...
- CF294C Shaass and Lights
题目大意: 有n盏灯,(0<=n<=1000),有m盏已经点亮,每次只能点亮与已经点亮的灯相邻的灯,求总方案数,答案对1e9+7取模 第一行:两个整数n,m表示灯的总数和已点亮的灯的数目 ...
- 服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数
最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加. 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右. 运行20天后,内存占用(PF使用):1.8G ...
- 解决invalid record found in VCF4 file (at least 8 tab-delimited fields expected)问题,批量修改空格改为制表格格式
出现这种问题说明一般存在两个问题: 第一,vcf文件不足8个分割制表符,比如像如下文件: 为了解决这个问题,说明在做snp filter时候,需要提取至少8个制表符的字符串,比如,像如下文件所示: 第 ...
- hdu 2059龟兔赛跑("01"背包)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 看到这个题,第一反应就是DP,因为对于每个充电站,都有两种选择,充电或不充电,和 ...
- 上传znbsite
1.将本地文件打包为zip: 2.备份服务器上的classes文件夹下面的配置文件: 3.上传zip,释放到tomcat下: 4.覆盖classes文件夹中的配置文件,启动tomcat:
- Makefile ------ $@ $^ %< 使用
一步一步理解 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(he ...
- 让maven项目使用nexus作为远程仓库
让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库:另一种是通过修改maven的配置文件settings.xml进行更改,让所 ...
- Oracle导出数据中的prompt,set feedback 等是什么意思
prompt 显示后面的提示,相当于一般的操作系统命令echo,输出后面的信息Importing table t_testset feedback off 1.set feedback 有三种方式: ...