第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
第3章 IT软件项目的生命周期
IT软件项目生命周期的划分
IT软件项目生命周期中各阶段任务
IT软件项目生命周期中的重要概念
IT软件项目管理里程碑
1
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
IT软件项目生命周期的划分
1.软件项目生命周期的概念
任何软件的开发都要经历一个“生命周期”
,从软件的调研开始到淘汰的全过程,从项
目批准到交付的过程。
一般将项目分为以下4个阶段:
识别需求、提出解决方案、执行项目、结束项目
2
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
1.软件项目生命周期的概念
对于典型的IT软件项目,项目的生命周期可以从不同
的角度认识。
从项目承担方看从项目承担方看:项目是从接到合同正式开始的,
到完成规定工作结束;
从客户的角度看从客户的角度看:项目是从确认有需求开始,到
使用项目的成果实现商务目标结束。
无论从哪个角度分析,软件项目的生命周期都包括识识
别、设计、实施和评估别、设计、实施和评估4个阶段。
典型软件项目开发的生命周期如图所示。
3
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
2.典型软件项目开发的生命周期
图 典型软件项目开发的生命周期
初步需求
子系统需求分析
概念设计
逻辑设计
开发概念原型
第一次开发
风险分析
开发结果评估
识别 设计 实施 评估
系统配置、
运行、产品
成型
系统需求分析 物理设计 第二次开发 开发结果评估
整体需求 最终设计 最终开发 测试
4
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
3.瀑布模型
瀑布模型是美国Winston Royce向IEEE
WESCON(Royce, Winston 1970)提交的一
篇名为《管理大规模软件系统的开发》
(Managing the Development of Large
Software Systems)的论文中首次提出的。
这种方法是从一个阶段成瀑布流入下一个阶
段,所以这个模型就称为“瀑布模型”。
5
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
软件开发瀑布模型及不同阶段之间的交互
图 软件开发瀑布模型及不同阶段之间的交互
需求分析与
定义
系统设计与
软件设计
系统实施与
单元测试
系统集成与
系统测试
系统运行与
系统维护
6
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(1)纯瀑布模型
软件概念
需求分析
初步设计
编码和调试
详细设计
系统测试
①①软件概念软件概念:用户提出对软件的开发与初步需求;
④④详细设计详细设计:
⑤⑤编码和调试编码和调试:选择合适的计算机语言,完
成详细设计中的各个模块的编码并调试;
③③初步设计初步设计:将用户需求分解
成硬件与软件需求,并建立
系统的整体结构模型;
②②需求分析需求分析:开发者与用户交流,确定
系统的目标、服务与约束;
将初步设计的整体
结构继续分解为可实施
编码的小模块,并完成
流程图;
⑥⑥系统测试系统测试:测试系统的各部分是否满足需求。
7
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(2)改进的纯瀑布模型--生鱼片模型
软件概念
需求分析
初步设计
详细设计
编码和调试
系统测试
主要缺点主要缺点:
①因为阶段重叠,里程碑非常不明确,很难精确地进行过程跟踪;
②并行地执行活动可能导致无效的沟通、错误的想法以及低下的效率。
““生鱼片模型生鱼片模型””,是将模型中的连续的各阶段
相互有较大幅度的重叠。
例如,在需求分析完成之前可以进
行初步设计和详细设计。
主要优点主要优点:
在项目比较小且定义得很好时,
可以有效地减少文档的产生。是
比较有效的模型。
8
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
((22))改进的改进的纯瀑布模型纯瀑布模型----具有子系统的瀑布模型具有子系统的瀑布模型
软件概念
需求分析
初步设计
详细设计
子系统设计
编码和调试
详细设计
子系统设计
编码和调试
详细设计
子系统设计
编码和调试
系统测试
初步设计中将系统分成几个逻辑上相对独立的子系统,每一个子系统都
采用相对独立的
方法进行设计,形
成了具有子系统的
瀑布模型。
图中,初步设计
阶段将系统分成3个
相对、独立的子系统,各子系统
分别独立进行详细设计、编码和调试
及子系统设计,最后统一进行系统测试。
9
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
Boehm给出的一些成本数据
系统类型
阶段成本(%)
需求/设计 实施 测试
控制系统
卫星系统
操作系统
科学系统
商务系统
46
34
33
44
44
20
20
17
26
28
34
46
50
30
28
从表中我们能看出什么特点?
10
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
4.原型模型
原型(原型(PrototypePrototype)法)法是在20世纪80年代初,在总结和
归纳结构化分析与设计方法开发软件项目的基础上,
改进结构化系统分析与设计的过于繁琐、开发周期长、
见效慢等缺点,借助第4代程序开发语言而产生的一种
项目开发方法。
这种方法是借助先进的软件开发工具根据用户提出的
软件需求定义,快速建立一个软件系统的“原型”,
向用户展示待开发软件的全部或部分功能,在征求用
户对原型软件的意见后,反复进行修改、完善、提高
和确认,最终实现项目的目标。
11
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(1)渐进原型模型图
用户提出
系统要求
识别归纳
用户需求
快速建立开
发原型
修改模型
重新设计或
选择模型
评价
模型
确定模型,完
成并交付模型
满意
模型不满意
模型不可行
渐进原型模型是从软件开发系统概念开始,根
据软件需求定义,快速建立一个软件系统“原
型”的生命周期模型。
12
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(2)渐进原型模型的基本过程
原型建立通常是软件从最显著的方面开始,
向用户展示待开发系统的全部或者部分功能
(通常是完成的部分);
然后根据用户对原型的反馈信息,反复进
行修改、完善、提高和确认,直到开发者和
用户都认为原型已经“足够好”;
最终实现项目目标,完成结尾工作,交付
作为最终产品的原型。
13
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(3)渐进原型模型的特点
直观、形象,更多地遵循了人们认识事物的
规律,因而更容易被人们接受。
采用模拟的手段,缩短了用户和系统分析、
设计人员之间的距离。
在整个系统开发过程中反馈是及时的,标准
是统一的,可及时地暴露问题,确保系统实
现的正确性。
充分利用了新一代的软件工具,使得系统开
发和运行的效率都大大提高。
14
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(4)原型法的应用的软件支撑环境
要有一个方便灵活的关系数据系统。
要有一套完整的程序生成软件。
要有一个与数据库对应的、灵活方便的数据
字典。
有一个可以快速抽象或者能够容易提炼的原
型。
15
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
5.螺旋模型
风险分析
风险分析
风险分析
风险分析
原型1 原型2
原型3 可操作原型
建模
模拟 评价
软件需求
需求确认
操作概念
需求计划
开发计划
软件产品设计
设计确认与验证集成与测试计划
详细设计
编码
单元测试
集成测试
验收测试实现
确定下阶段
目标、约束
条件
风险分析
过程迭代
开始
开发、验证软件产品
制定下阶段计划
评审
累计成本
构造
原型
评价
方案
螺旋模型示意图
16
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(1)螺旋模型说明
1988年Boehm提出“基于风险基于风险”的螺旋模型
螺旋模型主要由4个部分组成:
需求定义、风险分析、实现和评审需求定义、风险分析、实现和评审
螺旋模型是这4个部分组成的迭代模型,软件开
发的过程每迭代一次,螺旋线就增加一周,系
统产生一个新的版本,而软件开发的时间和成
本又有新的投入。
螺旋模型中的显著特点是在每个固定阶段对项
目的风险进行评估。
17
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(2)螺旋模型的迭代
每次迭代都包括以下六个步骤六个步骤:
(1)确定下一阶段的目标、方案的约束条件;
(2)风险分析、评估及解决;
(3)为该系统构造合适的原型;
(4)评价方案;
(5)开发、验证软件产品;
(6)制定下一阶段计划,交付给下一步骤,开
始新的迭代过程。
18
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
例1 质量螺旋模型(1)
目标目标 尽可能提高软件产品质量尽可能提高软件产品质量
约束
在三年内完成、没有大规模的投资、
公司标准不会发生大的变化
可选方案
重用已经有的注册软件、引入正式的需求和合格
证明、采用新的测试和检验工具
风险
提高质量可能会在很大程度上提高成本、
新的方法可能会导致现有员工的流失
风险解决办法
详细调查、驾驭项目、对潜在重用组件的调查、
对可得到的支持工具进行评价、
对员工培训和激励进行研究
19
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
例1 质量螺旋模型(2)
目标目标 尽可能提高软件产品质量尽可能提高软件产品质量
后果
对正规方法、经验的限制难以提高软件质量
公司可得到的工具支持是有限的
可得到能重用的组件,但几乎没有可重用的工具支持
计划
更详细的调查重用方案
开发支持工具原型
探索组件合格计划
行动 投资将来12个月开发
20
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
例2 软件产品螺旋模型(1)
目标目标 获得软件产品获得软件产品
约束
在一年内完成
必须支持现在软件产品的类型
总成本要低于¥1000 000
可选方案
购买现存的信息恢复软件
购买数据库并且采用这种数据库的查询语言开发
软件产品
开发一个特殊目的的软件产品
风险
在约束条件内可能获得不了这些软件产品
软件产品功能可能不合适
21
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
例2 软件产品螺旋模型(2)
目标目标 获得软件产品获得软件产品
风险解决
办法
用开发软件产品的原型来明确需求
委托顾问调查现存信息恢复系统的情况
放松时间限制
后果
信息恢复系统灵活性(可移植性)差
不能满足确认的需求
采用DBMS开发的原型可能会提高整个系统
特殊目的软件产品的开发成本可能会很高
计划
应用现有DBMS提高系统原型和用户接口,开发软件
产品
行动 投资将来12个月开发
22
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
6.编码修正模型
使用编码修正模型,一般是从一个大致的想法开始工
作,可能有一个正式的规范,也可能没有;然后结合
使用一些无论如何都称不上规范的设计、编码、调试
和测试方法,来完成产品开发。
编码修正模型有两点好处两点好处:
①不需要什么成本不需要什么成本。不需要在除了纯粹编码工作以外的
项目规划、文档编制、质量保证、标准实施或任何其
他活动中花费时间。
②它只需要极少的专业知识它只需要极少的专业知识。
23
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
7.为项目选择最快速的生命周期(1)
为项目选择最有效的生命周期模型,通常可以思考以
下问题:
(1)在项目开始的时候,开发者和用户对需求的理解是
否充分?在项目进行过程中,对需求的理解有可能
出现改变吗?
(2)开发者对系统的整体框架的理解是否充分?是否有
可能在项目进展过程中对系统框架进行重大改变?
(3)可靠性需求有多大?
(4)需要在项目中为未来的版本提前进行多少计划和设
计?
24
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
7.为项目选择最快速的生命周期(2)
(5)项目要承受多大的风险?
(6)是否被迫预先确定进度?
(7)需要具备在进展过程中进行变更的能力吗?
(8)需要在项目整个进展过程中提供给用户可视
的进展情况吗?
(9)需要在项目整个进展过程中提供给管理者可
视的进展情况吗?
(10)需要多少经验和技巧来成功地使用这种生
命周期模型?
25
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
IT软件项目生命周期中各阶段任务
根据前面对IT软件项目各个主要模型生命周期
的分析,可以将一般的软件项目开发过程详细
划分为以下6个主要阶段:(如图如图所示所示)
项目开发准备阶段
调查研究阶段
项目分析阶段
项目设计阶段
项目实施阶段
维护与评价阶段
26
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
图图 软件项目软件项目
的开发阶段的开发阶段
供决策参考
提出可行性分析
修改意见
项目咨询人员 项目开发准备阶段
调查研究阶段
项目分析阶段
项目设计阶段
项目实施阶段
维护与评价阶段
项目咨询人员
项目专业管理人员
项目专业管理人员
软件设计人员
软件设计人员
操作人员
操作人员
新的项目准备
27
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
1. 项目开发准备阶段
当现行软件系统不满足业务需要时,公司领导层提出
开发新软件系统的要求。
公司管理咨询人员(或者负责信息化工作的人员)首
先进行初步调查,确定是否进行立项,制定出新软件
系统的开发计划。
本阶段不属于项目的分析与设计,但确实是一个不可
或缺的重要阶段,它往往对项目开发的成败起着至关
重要的作用。
如果项目开发采取外包的方式,本阶段还包括招标的
过程。
28
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
2. 调查研究阶段
本阶段需要采取各种各样的方式进行调查研
究,搞清目前系统的界限、组织分工、业务流
程、资源状况及薄弱环节,需要绘制现行项目
的有关图表。
在掌握充分资料的基础上,与用户或公司协
商讨论,提出初步的系统目标和项目计划。
针对用户的情况和要达到的目标进行新系统
开发的可行性研究,并提交可行性研究报告。
29
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
3. 项目分析阶段
本阶段是新系统的逻辑设计阶段。
管理人员和系统分析人员使用一系列的图表工具构造
出独立于任何物理设计的系统逻辑模型,并与文字说
明、图表、流程、规范等共同组成系统的逻辑说明书。
本阶段需要对现行系统中不能适应新项目要求的部分
进行处理,必要时对企业的资产和业务流程及管理方
式进行优化和重组。
本阶段是新系统设计方案的优化过程。
本阶段是各个阶段中的关键阶段关键阶段。
30
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
4. 项目设计阶段
本阶段是新系统的物理设计阶段。
根据新系统的逻辑模型进行物理模型的设计,具体地
选择一个物理的计算机信息处理系统。
要求具体地进行计算机过程和人工过程的各种详细设
计,进行程序模块和处理过程(处理逻辑)的设计等。
选择合理的硬件、软件,进行代码、输入界面、输出
界面、文件、数据存储处理等。
系统物理设计的关键是模块化。
31
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
5. 项目实施阶段
本阶段是新系统调试运行阶段。
对操作人员进行培训,编制系统设计文档、使用手册
和有关说明书。
程序员对程序进行集成和调试。
进行各种文件和数据库的建立,需要大量人力投入到
数据收集、整理和录入工作中。
本阶段的工作是十分艰巨的。
本阶段投入的人力、物力、财力最多,花费时间最长,
工作量最大工作量最大。
32
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
6. 维护与评价阶段
本阶段是新系统调试后到投入运行之间的修改、完善、
验证的阶段。
本阶段完成的工作主要有:系统的处理逻辑、程序、
文件、数据等的修改。
评价系统的优劣,主要是指系统的工作质量和经济效
益。如:输出信息的准确性、系统的可靠性和运行质
量、系统的开发费用、使用维护费用、经济效益、工
作效率的提高和服务质量的改善等。
33
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
IT软件项目生命周期中的重要概念
检查点检查点:是指在规定的时间间隔内对项目进行的检查
与复审工作,它是通过比较实际进展与计划进度之间
的差异,并根据这个差异来进行调整的。
里程碑里程碑:完成阶段性工作的标志,不同类型的项目里
程碑不同。里程碑往往是一些重要活动的完工,或重
要文档的交付,或阶段评审的通过。
基线基线:指一个(或一组)配置项在项目生命周期的不
同时间点上通过正式评审而进入正式受控的一种状态。
基线是一些重要的里程碑,但相关交付产品要通过正
式评审并作为后续工作的基准和出发点。
34
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
IT软件项目管理里程碑
在IT软件项目的整个生命周期,通常有3种类型的检
查点:主里程碑、小里程碑、状态评估
里程碑是开发人员和其他项目管理人员必须经常达成
和满足的目标,通常是以各阶段所完成的文档来体现,
每个里程碑都是“二分性二分性”的(““完成完成””和和““没完成没完成
””两种状态)。
对于IT软件项目来说,如果不能设置好的里程碑,并
监控执行,项目就可能会失控,并使成本预算和进度
都难以管理。
35
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
1.主里程碑
主里程碑是最重要的里程碑,它通常是指项目生命周
期中的一些重要转折点,为项目提供战略目标。
主里程碑可以看作是一个连续的过程,在这个过程中
包括对不同因素的重新定义。
主里程碑的设置是为了确保对需求的理解、对项目生
命周期的计划、对产品的形式、功能和质量等因素保
持连贯性和可控制性。
在IT软件项目的整个生命周期中,一般存在4个主里
程碑,如下表所示。
36
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
IT软件项目的主里程碑
主里程碑 所处阶段 目 标 下一阶段
目标
里程碑
识别阶段
末期
向所有项目干系人提供一份如何开展项
目的建议书,包括项目计划、成本和进
度表以及期望的利润和效益等
设计
设计
里程碑
设计阶段
末期
向所有项目干系人提供一个经过论证的
可执行的设计方案
开发
开发
里程碑
开发阶段
末期
评估软件的可读性和可用性,以便软件
产品开始向客户/用户的转换
测试
产品版本
里程碑
评估阶段
末期
评价软件的完整性和软件对其所支持组
织的转换
37
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
项目干系人所关注的问题重点
对一般的IT软件项目而言,项目主要干系人项目主要干系人有:
客户客户:关心项目的可行性、对需求的理解、时间及成本
的预算、风险的评估以及产品的质量特征等。
使用者使用者:关心系统使用权的连贯性及产品的质量特征等
系统设计师系统设计师:主要关心需求的变化,系统的完整性及连
贯性,平衡并分析时间、风险、质量、成本之间的关系
开发人员开发人员:关心是否有足够详细的需求说明和使用情况
的描述,以及选择组件的结构、开发环境等。
维护人员维护人员:关心新系统与现行系统的协同工作能力,良
好的维护性能等。
38
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
2.小里程碑
小里程碑的形式和内容比较灵活,可以根据
项目或组织的情况而变,主要为实现项目的
目标提供战术方法。
小里程碑需要通过项目的内容及周期长度来
确定。
设置小里程碑的主要目的是为了合理分配工
作,细化管理的细化管理的““粒度粒度””。
39
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(1)使用小里程碑应遵循的原则
在项目早期建立小里程碑。
让开发者建立自己的小里程碑。
保持小里程碑的小型化特征。
保持里程碑的二分性。
制定一系列完整的里程碑。
在短期计划(而不是长期计划)中应用小里程
碑。
40
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
(2)小里程碑与任务列表的异同
相同:都是在一定“粒度”下跟踪工作的完成情况。
不同:主要在于各自的侧重点不同,如:
里程碑认为任务只有两种状态:完成和没完成里程碑认为任务只有两种状态:完成和没完成
任务列表没有这种限制任务列表没有这种限制
里程碑定义的任务能在规定的时间内完成里程碑定义的任务能在规定的时间内完成
任务列表可以任意长度任务列表可以任意长度
当脱离原来轨迹时,里程碑要求调整当脱离原来轨迹时,里程碑要求调整
任务列表没有这种规定任务列表没有这种规定
应用里程碑比通常应用的任务列表更严格。应用里程碑比通常应用的任务列表更严格。
41
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
3. 定期状态评估
状态评估的主要目的状态评估的主要目的是根据反映项目进展情况的动态
信息对项目进行评估,比较实际进展与计划进度之间
的差异,并根据差异情况进行相应的调整。
定期状态评估是一种有效的管理活动,按照规定的时
间间隔(如月或季)进行相应的评估,定义工作的进
度和质量指标,确保对项目进展情况关注,使所有项
目干系人之间可以在一种开放的氛围中进行交流。
评估最重要的目标是为了确保所有项目干系人对项目
目标期望值的同步和连贯。
42
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
表 定期状态评估的主要内容
主主 题题 内内 容容
职员 比较职员的计划人数和职员目前的人数(减少或增加)
支出
将支出计划与过去、现在、未来主里程碑中的支出
计划进行对比
风险
事件和危险程度解决计划
风险的量化(成本、时间、质量)
技术
主里程碑的结构基线时间表
软件管理学、当前变化趋势
测试和质量评估
主里程碑计
划和结果
下一个主里程碑的计划、时间安排、风险
所有可接受标准的成功/失败结果
产品范围 产品的大小、增长和可接受标准
43
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
本章小结
生命周期模型生命周期模型
纯瀑布模型
改进的瀑布模型
原型模型
螺旋模型
软件开发的阶段软件开发的阶段
软件开发的阶段
各阶段的任务
软件开发生命周期软件开发生命周期
中的几个基本概念中的几个基本概念
检查点
里程碑
基线
定期状态评估定期状态评估
44
第3章 IT软件项目的生命周期
辽宁工程技术大学 软件学院
软件项目管理
作业:
1 软件生命周期有哪些阶段,请画图说明。
2 比较 瀑布模型、原型模型和螺旋模型的异同点。
3 什么是里程碑,主要特征是什么?
4 定期状态评估的主要内容有哪些?
45