UML和模式应用4:初始阶段(1)--概述
1.前言
UP开发包括四个阶段:初始阶段、细化阶段、构建阶段、移交阶段;
初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入。
注:关于初始阶段的系列文章,虽然是以初始阶段为标题,但是实际的很多制品和介绍会跨越初始阶段、细化阶段和构造阶段
2. 初始阶段的主要工作
2.1 初始阶段的主要工作
. 项目的设想和业务用例是什么?
. 是否可行?
. 购买还是开发?
. 粗略估计一下成本
. 项目应该继续还是停止?
2.2 初始阶段的其它工作
同时为了能够在细化阶段进行编程,初始阶段还将完成如下的工作:
. 对10%的用例进行分析
. 关键的非功能需求的分析
. 业务案例创建
. 开发环境准备
3. 初始阶段特性
- 初始阶段的目标不是定义所有需求
- 初始阶段持续的时间相对较短
- 初始阶段的预算和计划并不是可靠的
- 不会定义架构(架构是在细化阶段用迭代方式进行)
- 会产生业务案例和设想制品
- 会选择部分用例进行详细分析,以便获得对问题范围的真实认知
4. 初始阶段的制品
初始阶段会创建如下表中的全部或部分制品:
| 制品 | 说明 |
| 设想和业务用例 | 描述高阶目标和约束,业务案例,并提供执行摘要 |
| 用例模型 | 描述功能需求。确定大部分用例名称,并详细分析10%的用例 |
| 补充性规格说明 | 描述其它需求,主要是关键的非功能性需求 |
| 词汇表 | 关键领域术语和数据字典 |
| 风险列表和风险管理计划 | 描述风险(业务,技术,资源,进度)及应对和缓解方法 |
| 原型和概念验证 | 澄清设想,验证技术思路 |
| 迭代计划 | 描述第一个细化迭代的任务 |
| 阶段计划和软件开发计划 | 对细化阶段的持续时间和工作量进行粗略估计。工具、人员、教育和其它资源 |
| 开发案例 | 就特定项目,对UP步骤和制品进行定制的描述。 |
表 初始阶段的制品及说明
几点说明:
- 如上表中的制品都是可选的,有选择的创建对项目有价值的制品
- 如果价值未证实,则弃用
- 初始阶段不是形成完整的规格说明,而是形成初始、粗略的文档
- 文档将在细化阶段迭代精化
- 创建制品的重点是其中蕴含的思想及分析和前期准备
如上初始阶段的制品中与需求先关的制品包括:设想、业务用例、用例模型、补充性规格说明、词汇表,下一章会重点介绍这些与需求相关的制品
UML和模式应用4:初始阶段(1)--概述的更多相关文章
- UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...
- UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 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和模式应用
引言 Applying UML and Patterns,以一个商店POS系统NextGen和一个掷骰子游戏Monopoly为例,围绕OOA/D的基本原则GRASP,以迭代作为基本方法.以UML为表达 ...
- 《UML和模式应用》重点之思想篇
本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
随机推荐
- 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表 Items表记录了i ...
- 「THUSCH 2017」大魔法师 解题报告
「THUSCH 2017」大魔法师 狗体面太长,帖链接了 思路,维护一个\(1\times 4\)的答案向量表示\(A,B,C,len\),最后一个表示线段树上区间长度,然后每次的操作都有一个转移矩阵 ...
- POJ1088(记忆搜索加dp)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 106415 Accepted: 40499 Description ...
- 设计模式 (二)——观察者模式(Observer,行为型)
1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.观察者模式(Observer Pattern)属于行为型模式,在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都 ...
- Libre 6012 「网络流 24 题」分配问题 (网络流,费用流)
Libre 6012 「网络流 24 题」分配问题 (网络流,费用流) Description 有n件工作要分配给n个人做.第i个人做第j件工作产生的效益为\(c_{ij}\).试设计一个将n件工作分 ...
- DIVCNT2&&3 - Counting Divisors
DIVCNT2 - Counting Divisors (square) DIVCNT3 - Counting Divisors (cube) 杜教筛 [学习笔记]杜教筛 (其实不算是杜教筛,类似杜教 ...
- 【POJ3635】Full Tank 优先队列BFS
普通BFS:每个状态只访问一次,第一次入队时即为该状态对应的最优解. 优先队列BFS:每个状态可能被更新多次,入队多次,但是只会扩展一次,每次出队时即为改状态对应的最优解. 且对于优先队列BFS来说, ...
- 【codevs1048】石子归并(初级版)
采用动态规划的原因:合并有一定次序,即:只能相邻石子进行合并. 阶段:当前合并了的区间长度 状态:区间的左右端点 状态转移方程:\(dp[l][r]=min\{dp[l][r],dp[l][k]+dp ...
- @Value加载classpath下的文件
maven工程中,要加载classpath下的文件并以InputStream的形式返回,通常使用的方法是 InputStream inputStream = Test.class.getClassLo ...
- C++ 栈和队列的使用
要使用标准库的栈和队列,首先得添加头文件 #include <stack> #include<queue> 定义栈: stack<int> curStack; 定 ...