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.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
随机推荐
- 树莓派上使用KickThemOut对局域网内的设备进行ARP欺骗
安装KickThemOut工具 $ git clone https://github.com/k4m4/kickthemout.git $ cd kickthemout/ $ sudo -H pip ...
- [NOI2009]二叉查找树
题目大意: 给定一棵严格的treap,父亲节点的优先级必然小于儿子节点的.权值按照二叉树的定义,左儿子小于父亲小于右儿子. 深度从1开始定义,每个点除优先级.数值之外,还有一个访问频度. 访问频度所产 ...
- C# 面向对象零碎知识点
obgect: 所有数据类型都是obgect类型: 万能类型 var :原来的变量不变,替换成var: 动态类型 dynamic :类似object,遍历需要转: is as: 类型转换运算符: ( ...
- 【SPOJ283】Naptime
题目大意:给定一个由 N 个点组成的环,点有点权,现从中选出 M 个点,对于顺时针方向来说,每一段被选取的第一个点的点权不计入答案贡献,求选出的最大权值是多少. 题解:首先考虑线性的情况,设 \(dp ...
- (转)JVM——自定义类加载器
背景:为什么要自定义,如何自定义,实现过程 转载:http://blog.csdn.net/SEU_Calvin/article/details/52315125 0. 为什么需要自定义类加载器 网上 ...
- java基础题整理(1)
1.使用length属性获取数组长度,使用length()获取字符串的长度: 2.public.private.protected.friendly区别 public表明该数据成员.成员函数是对所有用 ...
- spring MVC 如何接收前台传入的JSON对象数组
spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json 即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...
- poj 3678(SCC+2-SAT)
传送门:Problem 3678 https://www.cnblogs.com/violet-acmer/p/9769406.html 难点: 题意理解+构图 题意: 有n个点 v[0,2..... ...
- Educational Codeforces Round 42 (Rated for Div. 2) D. Merge Equals
http://codeforces.com/contest/962/problem/D D. Merge Equals time limit per test 2 seconds memory lim ...
- shell关于变量的操作
一.变量和:-连用 bin=`dirname "${BASH_SOURCE-$0}"` bin=`cd "$bin"; pwd` DEFAULT_LIBEXEC ...