XXX有限公司
生命周期模型描述
目录
1简介 (I)
目的 (I)
适用范围 (I)
术语表 (I)
2过程概述 (II)
3生命周期模型描述 (II)
3.1V字模型 (II)
3.1.1概述 (II)
3.1.2阶段定义 (III)
3.1.3适用情况 (III)
3.1.4优点 (IV)
3.1.5缺点 (IV)
3.1.6本企业适合项目类型 (IV)
3.2中等简化V字模型.......................................................................................................................................... I V
3.2.1概述 (IV)
3.2.2阶段定义 (V)
3.2.3适用情况 (V)
3.2.4优点 (V)
3.2.5缺点 (V)
3.2.6本企业适合项目类型 (V)
3.3最简化V字模型 (V)
3.3.1概述 (V)
3.3.2阶段定义 (VI)
3.3.3适用情况 (VI)
3.3.4优点 (VI)
3.3.5缺点 (VII)
3.3.6本企业适合项目类型 (VII)
3.4瀑布模型 ......................................................................................................................................................... V II
本文描述组织级定义的软件生命周期模型,供项目策划时根据项目的具体情况选择或裁剪使用,由此确定软件项目开发过程的各种不同的阶段以及各阶段的执行顺序。
但是“所有的模型都是错误,有些模型是有用的”。
模型是对它们所代表的真实世界的简化,这种简化更多的是为了规范管理的需要,它只能够照顾大多数。
如果它不适合你的项目或者有更能真实表达现实世界的模型出现,因为涉及到组织管理方式的变化,任何模型的修改或新模型的加入都需要通过组织的审批。
1简介
软件生命周期由制定计划、需求开发、设计、编码、测试、维护等各项活动组成,而如何将这些活动合理、有效地衔接组织起来,就需要在软件项目策划阶段选择合适的软件生命周期模型。
正如每个项目的目的是唯一的,每个项目的软件生命周期模型也将是唯一的,定义软件生命周期是项目计划的一个重要步骤,它将直接影响到WBS及软件开发计划的制定。
目的
本文的目的是为了指导软件项目策划人员如何选用软件生命周期模型。
适用范围
本文档适用于公司中的所有软件项目。
术语表
●软件生命周期(Software life cycle):从软件产品的设想开始到软件不再使用而结束的时
间周期。
软件生命周期一般包括需求阶段、设计阶段、实现阶段、测试阶段、运行和维
护阶段,有时还包括退役阶段。
●软件过程:有关开发和维护软件及其相关产品(例如:项目计划、设计文档、代码、测
试用例、用户手册等)的活动、方法、实践和变更的集合。
●CASE工具:计算机辅助软件工程工具,为与软件过程相关的每个活动中的软件工程管
理者和实践者提供帮助,它们自动化项目管理活动,管理所有在过程中产生的工作产品
并且辅助工程师完成他们的分析、设计、编码和测试工作。
2过程概述
为了使项目在定义软件过程时能够依据其特性选择适用的软件生命周期,使得项目开发过程流程化、易于管理、提高开发速度和产品质量,以达到更好的满足客户的要求,组织规定了以下几种适于本组织使用的生命周期模型:
●V字模型
●中等简化V字模型
●最简化V字模型
注:
在组织中有些需求不清晰的项目中也会使用快速原型法,但这主要起到需求获取的作用,通常不作为生命周期模型描述,开发过程使用的生命周期模型以上述几种为主。
3生命周期模型描述
3.1 V字模型
3.1.1概述
V字模型其实就是瀑布模型,它是一种线型顺序模型,是项目自始至终按照一定顺序的步骤从需求分析进展到系统测试直到提交用户使用,它提供了一种结构化的、自顶向下的软件开发方法,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,以判定是否可以开始下一阶段工作,各阶段相互独立、不重叠。
V字模型是所有软件生命周期模型的基础。
V字模型的开发流程如下图:
图1 V字模型示意图
3.1.2阶段定义
No 阶段入口标准任务出口标准
1 需求开
发
项目启动报告已经由高层
经理签字,项目开始启动。
需求访谈及分析
系统测试设计
软件需求规格说明
书及系统测试设计
完成并形成基线
2 概要设
计
软件需求规格说明书已经
完成并形成基线。
进行数据库设计
各模块的概要设计
集成测试设计
概要设计说明书及
集成测试设计完成
并形成基线。
3 详细设
计
概要设计已完成并形成基
线
进行详细设计及单元测
试用例编写。
详细设计及单元测
试用例编写完成并
形成基线。
4 实现详细设计完成并形成基线进行编码及单元测试编码及单元测试完
成并形成基线。
5 测试系统测试设计完成
集成测试设计完成
编码及单元测试完成
用户文档完成(安装、操
作、维护)
进行集成、系统测试
集成、系统测试完成
并形成基线
6 运行维
护
测试已经完成系统安装、运行、维护
组织不再对产品进
行维护
3.1.3适用情况
充分理解用户需求,且需求是确定不变的
●用户有一定的能力,对需求的表述是确切的
●充分理解该解决方案的技术和体系
●需要一个可维护性和可支持性较高的解决方案
●所有过程工作产品的控制基线,需要有可见度和可靠性
●适用于新的有较多用户的产品、平台/中间件开发项目,或者是用户对开发过程有严格
要求的工程定制项目
●项目经理有一定的项目管理经验
●要求开发周期时间较充分
3.1.4优点
●强调开发的阶段性
●强调早期的计划及需求调查与分析
●强调产品测试的完备性
●过程文档齐全,便于追溯和重用
●过程的可见性强,便于过程质量控制
●只要需求是稳定的,则进度也是稳定的
3.1.5缺点
●无法解决软件需求不明确或不准确的问题
●灵活性差,依赖于早期进行的需求调查,不能适应需求的变化
●由于是单一流程,开发中的经验教训不能及时反馈并应用于本产品的过程改进
3.1.6本企业适合项目类型
自主研发的产品,以及组织所熟悉领域的应用系统开发。
3.2中等简化V字模型
3.2.1概述
针对组织中项目的实际情况,对V字(瀑布)模型进行演化是必要的。
中等简化V字模型就是在标准瀑布模型基础上根据组织中一些小项目等的实际需要演化来的。
流程图如下所示:
图2 中等简化V字模型示意图
3.2.2阶段定义
参见V字模型。
3.2.3适用情况
●项目的复杂度、团队的规模、工作量和周转时间都是中等程度的
●需求和技术都已被充分理解
●项目经理有较高的项目管理和控制的经验
3.2.4优点
●可以适应中等和较小项目的较灵活的管理需要
●提供中度的进度控制,相对标准V字模型,可以减少部分项目管理工作量和开支
●在产品交付方面进行合理的控制
3.2.5缺点
●因项目开发流程相对简化,项目的风险增大,质量隐患增大
3.2.6本企业适合项目类型
根据客户的不同需求进行客户定制化的项目,客户能够提出比较成熟的需求,则项目过程可以采用中等简化V字模型。
3.3最简化V字模型
3.3.1概述
针对组织中项目的实际情况,对V字(瀑布)模型进行演化是必要的。
最简化V字模型就是
在标准瀑布模型基础上根据组织中的小项目和维护项目等的实际需要演化出来的。
一般情况下,不建议使用此种模型。
流程图如下所示:
图3 最简化V字模型示意图
3.3.2阶段定义
参见V字模型。
3.3.3适用情况
●项目的规模和工作量都比较小
●项目具有较小的开发团队
●需求和技术都是被充分确定和理解的
●系统具有低复杂度,不需要独立的设计阶段
●产品的体系结构是稳定的
●项目经理经验丰富,对项目有较好的管理控制能力
●项目开发周期较短
3.3.4优点
●可以适应小项目的灵活性
●减少过程复杂带来的产品提交时间延长
●过程相对简单,项目管理控制的工作量相对较少
●提供中度的进度控制
●减少开支
3.3.5缺点
●对阶段性的控制较弱,问题不能及时发现
●项目前期控制较弱,使得项目产品质量留有隐患
3.3.6本企业适合项目类型
单项功能的修改或增加的项目,开发时间小于10天的项目可以选用最简化V字模型;例如:小型宣传网站项目。
3.4瀑布模型。