2022.9.17 10:10开始学习
项目生命周期指项目从启动到收尾所经历的一系列阶段。
项目生命周期的特征
项目的规模和复杂度各不相同,但不论其大小繁简,所有的项目都呈现下列通用的生命周期结构:
- 启动项目
- 组织与准备
- 执行项目工作
- 结束项目
成本与人力投入在开始时较低,在工作执行期间达到最高,并在项目快要结束时迅速回落。
三个特征
- 在项目的初始阶段,项目的不确定性最高。
- 在项目初始阶段,项目干系人影响项目的最终产品特性的能力最高,这是因为初始阶段的变化成本较小。
- 在项目的后期阶段,变更一般会增大成本,项目干系人影响项目的最终产品特征的能力逐渐变低。
风险与不确定性在项目开始是最大,并在项目的整体生命周期中随着决策的制定与可交付成果的验收而逐步降低。
项目阶段
- 项目阶段是一组具有逻辑关系的项目活动的集合,通常以一个或多个可交付成果的完成为结束。
- 阶段与阶段关系有两种基本类型:
- 顺序关系中,一个阶段只能在前一个阶段完成后开始;
- 交叠关系中,一个阶段在前一个阶段完成前就开始。
信息系统项目典型生命周期模型
1、瀑布模型
瀑布模型是一个经典的软件生命周期模式,也称完全预测生命周期。一般将软件开发分为:可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等六个阶段。
特点:
- 上一次的开发成果做为本次活动的输入
- 利用这一输入实施本活动
- 本次活动的成果输出给下次活动
- 对本次活动的成果实施评审。若成功得到确认,则继续下一项开发活动,否则返回前一项,甚至更前项活动。
适用于:项目需求明确、充分了解拟交付产品、有厚实的行业实践基础、或整批一次性交付产品有利于干系人。
2、螺旋模型
基于瀑布的线型特征和原型的迭代的特征综合起来。
- 制订计划,包括决定目标、方案和限制 。
- 风险分析,包括评价方案、识别风险、消除风险。
- 实施工程:开发、验证
- 客户评估。
适合 庞大、复杂高风险的系统。
3、迭代模型(RUP)
定义
RUP(Rational Unified Process)软件统一过程是一种过程方法,它是迭代模型的一种。分解为4个顺序的阶段,分别是:初始阶段、细化阶段、构建阶段和交付阶段。
适用场景
组织需要管理不断变化的目标和范围,需要降低项目的复杂性,或者产品部分交付有利于一个或多个干系人,且不会影响最终或整批可交付成果的交付。大型复杂项目通常采用迭代方式来实施,在迭代过程中综合考虑反馈意见和经验教训,从而降低项目风险。
4、V模型
它的价值在于它非常明确的标明了测试过程中存在不同级别,并且清楚的描述了这些测试阶段和开发阶段的对应关系。
特点:
- 开发与测试同等重要。
- 开发与测试互相对应。
- 适用需求明确或需求变更不频繁。
5、原型化模型
是为了弥补瀑布模型的不足而产生的。首先建立一个快速原型,根据用户需求逐步修改,直到开发出用户满意的产品。
特点:对用户的需求是动态是动态响应的、逐步纳入的,不断修改而同时完成。
适用:用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发。
原型分类:
- 抛弃型原型
- 进化型原型
特点: - 实际可行。
- 具有最终系统的基本特征。
- 构造方便、快速、造价低。
6、敏捷开发模型
是一种应对快速变化需求的一种软件开发能力。是一种以人为核心、迭代、循序渐进的开发方法,更强调程序员团队与业务专家之间的紧密协作、面对面沟通(认为比书面文档更有效)、频率交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写团队组织方法,也更注重软件开发中人的作用。
scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。主要角色包括同项目经理类似的scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。