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)--需求制品之用例模型模板示例的更多相关文章

  1. UML和模式应用4:初始阶段(3)--需求制品之用例模型

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...

  2. UML和模式应用4:初始阶段(2)--需求科目之进化式需求

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 需求是UP科目之一,在初始阶段需求科目的工作量占据较大的部分.但是初始阶段的 ...

  3. 《UML和模式应用》读书笔记(一)面向对象分析和设计简单示例

    在开始进行对象分析和设计之前,先通过“扔骰子”这个软件(游戏者扔两个骰子,如果总是是7,则赢,否则输),来简单分析下这个过程. 1:用例 需求分析,可能包括人们如何应用的场景或情节,这些都可以被编写成 ...

  4. UML和模式应用

    引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...

  5. UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例

    1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...

  6. UML和模式应用4:初始阶段(1)--概述

    1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...

  7. UML学习笔记—基本概念和初始阶段

    chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...

  8. UML和模式应用5:细化阶段(4)--如何创建领域模型

    1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...

  9. UML和模式应用5:细化阶段(1)--第1次迭代

    1.前言 从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例. 2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例) 实现 处理销售 用例中基本 ...

随机推荐

  1. 洛谷 P2059 [JLOI2013]卡牌游戏 解题报告

    P2059 [JLOI2013]卡牌游戏 题意 有\(n\)个人玩约瑟夫游戏,有\(m\)张卡,每张卡上有一个正整数,每次庄家有放回的抽一张卡,干掉从庄家起顺时针的第\(k\)个人(计算庄家),干掉的 ...

  2. MySql 主辅-一主多辅

    MySql 主辅-一主多辅mysql tar源码包安装 骤及过程,以供参考 系统是centos6.x .注意:此安装是默认CentOS下已经安装了最新工具包,比如GNU make, GCC, Perl ...

  3. luogu2312 [NOIp2015]解方程 (秦九韶)

    秦九韶算法:多项式$a_0+a_1x+a_2x^2+...+a_nx^n=a_0+x(a_1+x(a_2+...+(xa_n))..)$,这样对于一个x,可以在O(n)求出结果 为了避免高精度,我们同 ...

  4. luogu3195/bzoj1010 玩具装箱(斜率优化dp)

    推出来式子然后斜率优化水过去就完事了 #include<cstdio> #include<cstring> #include<algorithm> #include ...

  5. MHN蜜罐系统建设

    0x00  MHN蜜罐介绍 MHN(Modern Honey Network):开源蜜罐,简化蜜罐的部署,同时便于收集和统计蜜罐的数据.用ThreatStream来部署,数据存储在MOngoDB中,安 ...

  6. 将文件转换为base64字符串,然后还原

    package com.um.banks.xinlian.utils; import java.io.File; import java.io.FileInputStream; import java ...

  7. 写入与读取第三方的 cookie - P3P: CP="CAO PSA OUR"

    应用的场景是这样: 在 a.com 页面显示一个 来自b.com的一张图片 a.com/test.html 的内容: <img src=b.com/a.jpg> 但需求是,当用户访问 b. ...

  8. 常用服务器构建 ftp

    ftp服务器1.安装vsftpd服务器sudo apt-get install vsftpd2.配置vsftpd.conf文件sudo vi /etc/vsftpd.conf添加下面设置anonymo ...

  9. 'RegAsm.exe' 不是内部或外部命令

    我想从cmd运行regasm.exe.它在c:\windows \Microsoft.net\framework\2.057 中可用 我喜欢这个c:\ regasm.exe 它给予 regasm无法识 ...

  10. noi.openjudge 2.6.162 Post Office

    http://noi.openjudge.cn/ch0206/162/ 总时间限制:  1000ms 内存限制:  65536kB 描述 There is a straight highway wit ...