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.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...
随机推荐
-
Partition1:新建分区表
未分区的表,只能存储在一个FileGroup中:对Table进行分区后,每一个分区都存储在一个FileGroup,或分布式存储在不同的FileGroup中.对表进行分区的过程,是将逻辑上完整的一个表, ...
-
MVC 移除复数表名的契约
在数据库上下文中添加: using System.Data.Entity.ModelConfiguration.Conventions; protected override void OnModel ...
-
ProjectManager Alpha8 - 项目管理器,管理起开发中的项目很方便
话不多说= = 放几张图了: 文件下载: 32位下载:Package_ProjectManager-1.13.12.exe 64位下载:Package_ProjectManager_x64-1.13. ...
-
SqlServer日期(convert函数,getdate函数)
SqlServer日期(convert函数,getdate函数) 函数GETDATE()的返回值在显示时只显示到秒.实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒 ...
-
boost计算随机数和计算crc32简单示例
boost计算随机数和计算crc32简单示例 - jwybobo2007的专栏 - 博客频道 - CSDN.NET boost计算随机数和计算crc32简单示例 2013-02-18 17:14 10 ...
-
Base64编码 图片与base64编码互转
package com.education.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import jav ...
-
2017最新PHP初级经典面试题目汇总(下篇)
17.isset.empty.is_null的区别 isset 判断变量是否定义或者是否为空 变量存在返回ture,否则返回false 变量定义不赋值返回false unset一个变量,返回false ...
-
Python里面的write()方法写入文件时候的乱码解决方法
为了为今后的大数据以及人工智能的大潮流的到来做准备,最近在学Python,在这个过程中,会遇到许多汉字之间的转换,今天在写write方法的时候,发现写入的汉字会出现乱码,百思不得其解,上网查众资料,, ...
-
http note
http 多媒体传输协议 HyperText Transfer Protocol 超文本传输协议 https Hyper Text Transfer Protocol over Secure Sock ...
-
股票——成交量加权平均价VWAP
成交量加权平均价是将多笔交易的价格按各自的成交量加权而算出的平均价,若是计算某一证券在某交易日的VWAP,将当日成交总值除以总成交量即可.VWAP可作为交易定价的一种方法,亦可作为衡量机构投资者或交易 ...