软件过程管理 (4)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
承上启下

合同管理:

“校务通”项目合同签署
chapter__3
0
RoadMap
合同管理 生存期 需求管理 任务分解 规模估算 项目进度
质量计划
配置计划
风险计划
团队管理
项目度量
集成项目
跟踪控制 项目结束
chapter__3 1
软件开发项目管理
第三章 软件项目生存期模型
chapter__3 2
本章要点

chapter__3 10
本章要点
一、生存期模型定义 二、常用生存期模型




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段

三、案例分析
chapter__3 11
WaterFall model
需求分析
设计
实施
测试
维护
chapter__3 12
瀑布模型
chapter__3

n
n
详细设计 — 对每个模块要完成的工作进行具体的 描述,为源程序编写打下基础 编写设计说明书,提交评审。
chapter__3
18
程序编写
n
n
把软件设计转换成计算机可以接受的程序代码,即 写成以某一种特定程序设计语言表示的“源程序清 单”。 写出的程序应当是结构良好、清晰易读的,且与设 计相一致的。

三、案例分析
chapter__3 27
V模型
项目规划
需求分析 总体设计 详细设计
接收测试
系统测试 集成测试 单元测试
编码和调试
chapter__3 28
V模型模型适合的项目
项目的需求在项目开始前很明确 解决方案在项目开始前也很明确 对系统的性能安全很严格的项目 类似的项目如:

Байду номын сангаас
航天飞机等 公司的财务系统
项目的需求在项目开始前不明确 需要减少项目需求的不确定性 类似的项目如:

确定显示界面 第一次开发的产品,验证可行性

chapter__3
40
本章要点
一、生存期模型定义 二、常用生存期模型




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段

三、案例分析
n
chapter__3
34
原型模型的基本思想
有一个原型,描述了系统的主要功能。 n 通过人机交互,让双方了解目标系统的操作。 n 有一个可运行的子集,用户可以评价需求和设 计。 n 利用线性系统,不断演化形成最终系统。 n 降低了成本,及早发现错误、修改量小、开发 周期短。
n
chapter__3 35
n
n
n
chapter__3
44
增量模型特点
chapter__3
45
增量模型适合的项目
项目开始,明确了需求的大部分,但是需求可 能会发生变化 对于市场和用户把握不是很准,需要逐步了解 对于有庞大和复杂功能的系统进行功能改进, 就需要一步一步实施的。

增量模型实例
chapter__3
46
本章要点
13
瀑布模型
n n
n
n
n
所有过程模型的鼻祖。---- Royce,1970 基本思想是把软件开发过程划分成若干阶段,各个阶段相当于瀑 布中的一个台阶,把软件过程比喻成瀑布中的流水,暖流,在这 些台阶中由上向下奔流。 瀑布模型每个阶段的任务相对独立,便于不同人员分工协作,从 而降低了整个软件开发工程的困难程度。 在软件的生存期的每个阶段都采用科学的管理技术和良好的方法 与技术,而且每个阶段结束之前,都从技术和管理两个角度进行 严格的审查,经确认之后才开始下一阶段工作。 瀑布模型适合于结构化开发方法。

原型模型的缺点
虽然有问题存在,但是原型仍是软件开发 的一个有效范型。 n 关键是定义开始的游戏规则,即用户与开 发者两方面必须达成一致:原型被建造仅 是为了定义需求,之后被抛弃(或至少部 分被抛弃),实际的软件在充分考虑了质 量和可维护行之后才被开发。
n
chapter__3 39
Prototype 模型适合的项目

chapter__3
8
本章要点
一、生存期模型定义 二、常用生存期模型 三、案例分析

chapter__3
9
常用生存期模型
瀑布Waterfall V模型V-shaped 原型Prototyping 增量Incremental 螺旋式Spiral 快速应用开发RAD 渐近式阶段
chapter__3 22
n
n
选择瀑布模型的条件
开发时间内需求没有或很少变化。 分析设计人员对应用很熟悉。 低风险项目,对目标和环境很熟悉。 用户使用环境很稳定。
n n n n
chapter__3
23
瀑布模型的适用场合
n
当有一个稳定的产品定义和很容易被理解的技术解决方案时, 可以采用纯瀑布模型。
当你对一个定义得很好的版本进行维护或将一个产品移植到一 个新的平台上,可以采用瀑布模型。 在质量需求高于成本需求和进度需求的时候,可以采用瀑布模 型。
n
n
chapter__3
24
瀑布模型的缺陷
n
n n
n
n
在项目开始的时候,用户常常难以清楚地给出所有需求;用户与 开发人员对需求理解存在差异。 很少软件项目按照顺序模型进行,不能很好地支持迭代。 缺乏灵活性,因为瀑布模型确定了需求分析的绝对重要性,但是 在实践中要想获得完善的需求说明是非常困难的,导致“阻塞状 态”。反馈信息慢,开发周期长。 只有到了整个项目的后半段时间,客户才能看到软件的模样。一 个没有及时发现的错误,可能导致灾难。 虽然存在不少缺陷,瀑布模型经常被嘲笑为“旧式的”,但是在 需求被很好地理解的情况下,仍然是一种合理的方法。
n n
n
chapter__3
21
瀑布模型的特点
里程碑或基线驱动,或者说是文档驱动。每个阶段 必须完成规定的文档;每个阶段结束前完成文档审 查,及早改正错误。 是一种严格线性的、按阶段顺序的、逐步细化的过 程模型(开发模式),阶段间具有顺序性和依赖性。 过程逆转性很差或者说不可逆转,因为上流的错误 会在下流进行发散性传播,逆转会延误工期,增加 成本。
chapter__3
19
软件测试
n
单元测试:查找各模块在功能和结构上存在的问题并 加以纠正。
组装测试:将已测试过的模块按一定顺序组装起来。
n
n
按规定的各项需求,逐项进行有效性测试,决定已开 发的软件是否合格,能否交付用户使用。
chapter__3
20
运行维护
改正性维护:运行中发现了软件中的错误需要修正。 适应性维护:为了适应变化了的软件工作环境,需 做适当变更。 完善性维护:为了增强软件的功能需做变更。

chapter__3 49
Spiral Model适合的项目
风险是主要的制约因素 不确定因素和风险限制了项目进度 用户对自己的需求也不是很明确 需要对一些基本的概念进行验证 可能发生一些重大的变更 项目规模很大 项目中采用了新技术

chapter__3 50
本章要点
一、生存期模型定义 二、常用生存期模型
chapter__3 41
Incremental Model
第一增量 第二增量 第三增量
……
核心功能
核心功能
核心功能
1
1
2
1
2
3
chapter__3
42
增量模型
把瀑布模型的顺序性和快速原型法的迭代性相结合,每 次开发完成一些功能,经过多次迭代,最终实现系统 的全部功能。
规格说明
规格说明 设计 设计 实现集成 实现集成 交付客户 交付客户
一、生存期模型定义 二、常用生存期模型 三、案例分析

chapter__3
3
建筑工程类项目典型生存期模型
chapter__3
4
制药项目典型生存期模型
chapter__3
5
生存期模型选择
Customer Customer
Satisfaction
Product Input
Requirements

实例
chapter__3 29
本章要点
一、生存期模型定义 二、常用生存期模型




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段

三、案例分析
chapter__3 30
Prototype
chapter__3
31
原型模型Prototype Model
听取用户 意见 建造/修改 原型
规格说明
设计
实现集成
交付客户
规格说明
设计
chapter__3
实现集成
交付客户
43
增量模型
第一个增量模型往往是核心部分的产品,它实现了软件 的基本要求。 核心产品交由用户使用或进行详细复审,结果是制定下 一个增量开发计划(包括对核心产品的修改及增加新的 功能)此过程在每一个增量发布后迭代地进行,直到产 生最终产品。 每一个增量是一个可操作的产品,不妨称之为“产品扩 充迭代”。
chapter__3
14
结构化分析过程
chapter__3
15
问题定义和可行性研究
n n
n
n
确定要开发软件系统的总目标。 给出功能、性能、接口等方面的要求,完成该软件任务 的可行性研究。 估计可利用的资源(计算机硬件,软件,人力等)、成本、 效益、开发进度。 制定出完成开发任务的实施计划,连同可行性研究报告, 提交项目管理部门审查。
原型模型的特点
原型驱动。 n 优点: 从实践中学习 改善沟通和用户参与 使部分已知需求清晰化 展示描述的一致性和完整性 提高系统的实用性、可维护性
n
chapter__3 36
选择原型模型的条件
适用于用户驱动的系统,即需求模糊或随时 间变化的系统。 n 已有产品或产品的原型,只需客户化的工程 项目 n 简单而熟悉的行业或领域 n 有快速原型开发工具 n 进行产品移植或升级
realization
Output Product
chapter__3
6
软件生存期模型
软件开发的一种框架。 说明了软件的活动和进行软件开发的过程。 这个模型可以是以活动为中心,可以以产 品为中心的。

chapter__3
7
软件生存期模型特征
描述了开发的主要阶段 定义了每一个阶段要完成的主要过程和活动 规范了每一个阶段的输入和输出 提供了一个框架,可以将必要的活动映射到该 框架中。
n
chapter__3 37
原型模型的缺点
用户有时误解了原型的角色,例如他们可能 误解原型应该和真实系统一样可靠。 缺少项目标准,进化原型方法有点像编码修 正。 缺少控制,由于用户可能不断提出新要求, 因而原型迭代的周期很难控制。 额外的花费:研究结果表明构造一个原型可 能需要10%额外花费。 原型法要求开发者与用户密切接触,有时这 chapter__3 38 是不可能的。例如外包软件。
chapter__3
16
需求分析
n
n
n
对待开发软件提出的需求进行分析并给出详细的定 义。 编写软件需求说明书或系统功能说明书及初步的系 统用户手册。 提交管理机构评审。
chapter__3
17
软件设计
n
总体设计 —— “如何解决问题”
可以列出多种解决方案进行比较 把各项需求转换成软件的体系结构。结构中 每一组成部分都是意义明确的模块,每个模 块都和某些需求相对应
用户测试 运行原型
chapter__3
32
原型开发过程
建立原 型目标
定义原 型功能
开发 原型
评估 原型
原型规划
框架定义
可执行原型
评估报告
chapter__3
33
原型模型分类
原型是项目系统中的一个方面或者多个方 面的工作模型。 l 抛弃型原型:用于试验某些概念,试 验完系统将无用处 l 进化型原型:原型系统不断被开发和 被修正,最终它变为一个真正的系统。




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段

chapter__3
25
WaterFall model适合的项目
项目的需求在项目开始前很明确 解决方案在项目开始前也很明确 类似的项目如:

公司的财务系统 库存管理系统 短期项目

chapter__3
26
本章要点
一、生存期模型定义 二、常用生存期模型




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段
一、生存期模型定义 二、常用生存期模型




瀑布 V模型 原型 增量 螺旋式 快速应用开发 渐近式阶段

三、案例分析
chapter__3 47
Spiral Model
chapter__3
48
Spiral Model
螺旋模型沿着螺线旋转,在四个象限上分别表 达了四个方面的活动,即: 制定计划──确定软件目标,需求和选定实施 方案,弄清项目开发的限制条件 风险分析──评估所选方案,考虑如何识别和 消除风险 实施工程──实施软件开发,编码,测试等 客户评估──评价开发工作,提出修正建议, 规划下期任务
相关文档
最新文档