UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言
UP开发包括四个阶段:初始阶段、细化阶段、构建阶段、移交阶段;
UP每个阶段包括 业务建模、需求、设计等科目;
需求是UP科目之一,在初始阶段需求科目的工作量占据较大的部分。但是初始阶段的需求科目并非定义所有需求,而是需要在后续的细化阶段逐步迭代。
同时需求科目工作的成果会形成相关的制品。
2.相关术语
术语 | 说明 |
需求 | 系统必须提供的能力和遵从的条件 |
需求管理 | 定义需求的方法 |
瀑布式需求管理 | 编程之前项目的第一个阶段就试图完全定义和固化需求 |
UP式需求管理 | 用一种系统的方法来寻找、记录、组织和跟踪系统不断变更的需求 |
表 需求相关术语说明
3. 寻找需求的方法
- 与客户一起编写用例
- 开发者和客户共同参加客户讨论会
- 请客户代理参加焦点小组
- 把每次迭代的成果给客户演示以求得到反馈
4. 需求的类型和种类
需求种类 | 说明 |
功能性(Functional) | 特性、功能、安全性 |
可用性(Usability) | 人性化因素、帮助、文档 |
可靠性(Reliability) | 故障频率、可恢复性、可预测性 |
性能(Performance) | 响应时间、吞吐量、准确性、有效性、资源利用率 |
可支持性(Supportability) | 适应性、可维护性、国际化、可配置性 |
如下为“+” | |
实现(Implementation) | 资源限制、语言和工具、硬件等 |
接口(Interface) | 强加于外部系统接口之上的约束 |
操作(Operation) | 对其操作设置的系统管理 |
包装(Packaging) | 物理的包装盒 |
授权(Legal) | 许可证或其它方式 |
表 按照FURPS+模型需求的分类
注:需求按照FURPS+模型进行分类,其中+是指一些辅助的、次要的因素
5. UP需求制品
UP需求制品 | 说明 |
设想 | 概括了高阶需求。这些需求在用例模型和补充性规格说明中细化 |
业务规则 | 又称领域规则,描述了凌驾于软件项目的需求或政策,这些规则是领域业务所要求的 |
用例模型 | 一组使用系统的典型场景 |
补充性规格说明 | 基本上是用例之前的所有内容,主要用于非功能性需求,例如性能、授权 |
词汇表 | 定义重要术语 |
表 UP初始阶段需求科目对应的需求制品
注:UP提供了如上表的需求制品,这些需求制品是可选的
6. 本书包含的UP需求制品
本书包含的需求制品包括:
- 设想
- 业务规则
- 用例模型
- 补充性规格说明
- 词汇表
UML和模式应用4:初始阶段(2)--需求科目之进化式需求的更多相关文章
- UML和模式应用4:初始阶段(1)--概述
1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...
- 《UML和模式应用(原书第3版)》目录
学习 <UML和模式应用(原书第3版)>目标: 理解OOA/D思想 如何使用UML建模 如何使用设计模式 如何设计分层架构 目录: 第1部分 绪论 第1章 面向对象分析和设计 第2章 迭代 ...
- UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...
- UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 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和模式应用5:细化阶段(5)---系统顺序图
1.前言 系统顺序图(SSD)是为阐述系统相关的输入和输出事件而快速.简单的创建的制品,它们是操作契约和对象设计的输入. SSD展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...
随机推荐
- WebSocket安卓客户端实现详解(三)–服务端主动通知
WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...
- 06 Zabbix分布式监控和主被动模式
06 Zabbix分布式监控和主被动模式 zabbix proxy设置 使用zabbix代理的好处 监控拥有不可靠的远程区域 当监控项目数以万计的时候使用代理分担zabbix-proxy压力 简化分布 ...
- Android recording 录音功能 简单使用小实例
package com.app.recordingtest; import java.io.File; import java.io.IOException; import android.app.A ...
- [luogu3178][bzoj4034][HAOI2015]树上操作
题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...
- 算法--java实现将数字转换成人民币大写(迅雷面试题)
今天去迅雷面试,是个数字转换成人民币的算法题: public class Rmb { /** * 人民币的基本信息和操作 * * @author soyoungboy * @version 1.0 * ...
- SIEVE 线性筛
今天来玩玩筛 英文:Sieve 有什么筛? 这里介绍:素数筛,欧拉筛,约数个数筛,约数和筛 为什么要用筛? 顾名思义,筛就是要漏掉没用的,留下有用的.最终筛出来1~n的数的一些信息. 为什么要用线性筛 ...
- 【洛谷P3224】永无乡 并查集+Splay启发式合并
题目大意:给定 N 个点的图,点有点权,初始有一些无向边,现在有 Q 个询问,每个询问支持动态增加一条无向边连接两个不连通的点和查询第 X 个点所在的联通块中权值第 K 大的是哪个点. 题解:学会了平 ...
- 【洛谷P5020】货币系统 完全背包
题目大意:给定 N 个数,求在这 N 个数中至少选出几个数能表示出所有数字,输出最少的个数. 题解:由于只有小的数字可以表示大的数字,因此首先需要对这 N 个数字进行从小到大排序.排序之后就变成一道不 ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析)辅助变量 双链表操作 list.c
/* A custom doubly linked list implemenation */ # include <stdio.h> # include <stdlib.h> ...
- 在eclipse中启动项目报java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
在我们启动项目的时候经常会出现内存溢出这个错误 设置一下内存就ok 错误信息 java.util.concurrent.ExecutionException: java.lang.OutOfMemo ...