软件生命周期模型选择及WBS分解指南

软件生命周期模型选择及WBS分解指南
软件生命周期模型选择及WBS分解指南

软件生命周期模型选择及WBS分解指南

一、概述

同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为“软件生命周期”。软件生命周期模型,通俗说就是,软件开发过程中所遵循的模式,即把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。

软件生命周期模型和项目开发过程有非常紧密关系,它是经过多次实践总结出来适合于不同项目使用的经典、有效的软件开发方法,它按照软件生命周期的各个阶段划分任务,依照一定的规则和步骤,有效地进行软件开发。

选用恰当的软件生命周期模型进行软件开发,可以提高产品质量;降低项目管理难度;缩短开发进度;便于项目状态跟踪;为过程改进和度量提供基线;改善组织级的过程弱势,提高过程能力成熟度级别。

为了便于分类汇总和统计各种生命周期模型的指标和数据,结合公司软件开发过程的实际,我们选择了常用的几种基本模型进行了描述,项目开发小组在进行项目策划时,可以根据模型的适用前提、优缺点和项目的实际需要进行选择,并在《项目实施计划》中,参加评审。

二、软件生命周期模型

常用的软件生命周期模型有:瀑布模型、迭代模型、增量模型、原型模型等。

以上所提到的件生命周期模型病不存在孰优孰劣的问题,每一种模型在实际工作中都有所应用。只要选择了最适合的,并按照此模型的流程来开发软件,都会取得成功。

需要强调的是,不管采用什么模型,项目实施中有四项活动是必不可少的——需求、设计、编码和测试。不管是有意识还是无意识,这些活动都会出现在项目过程中。这也是最重要的四项活动,其他的活动其实都是为这些活动服务的,不管是配置管理、风险管理,还是评审等等。

以下对各种常用的软件生命周期模型的设计思想、WBS划分(Work Breakdown Structure,即工作分解结构)、优缺点、使用范围进行分析。

1、瀑布模型

(1)基本思想

瀑布模型(Waterfall Model)是最基本也最常用的一种生命周期模型,又称线性模型。

瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。瀑布模型可以应用于软件工程开发、企业项目开发、产品生产以及市场销售等领域。

瀑布模型的突出特征是文档驱动。从需求分析到系统维护,每一项活动的工作成果就是此项活动所产生的工作文档,以及在此基础上形成的产品。

采用瀑布模型的项目依照该模型选定的阶段顺序进行,每一个阶段的工作产品都是下一个阶段工作的输入,每一个阶段只有在上一个阶段通过检查,确认完成后才开始新的阶段工作,所以项目必须有明确的阶段里程碑,在每个阶段结束时都要进行里程碑评审,以判定是否可以开始下一阶段的工作。例如:在项目策划没有完成时,需求分析和设计工作就不能进行,同样,在需求分析和设计没有完成时就不开始编码。瀑布模型中,每个阶段完成后,可以在下一个阶段修改上一个阶段的工作产品,但是必须按照基线变更进行管理,如果发生变更,需要回溯前面所有阶段的工作产品,以便使工作产品保持一致。

图 1 瀑布模型的思想示意图

(2)WBS划分

说明:

图中标记为的阶段为选定的里程碑,该阶段完成时需进行里程碑评审活动,并对其输出进行严格

的变更控制。

(2)WBS划分

此表仅作为参考,需根据项目所选定的标准过程的活动和任务进一步细化。

(3)优缺点

该模型的优点:

①阶段分明、活动明确,为软件开发工作提供一种结构化、有序的方法;

②过程控制可见性较强:按照顺序开展每一个阶段的工作,每一阶段是在上一阶段彻底完成的情况下

才启动,可以保证每一个阶段的开发质量都有保证,减少了返工;

③开发过程中的各项文档降低了沟通的成本,有利于及早发现问题,降低项目的阶段成本;

④文档多,过程记录比较全,有利于后期维护。

该模型的缺点:

①不能回溯:项目从开始到发布可见的版本需要较长的周期,用户直到项目开发晚期才能了解产品的

真实面貌和质量,不易变更;如果必须回溯,则回溯成本很大。

②缺乏灵活性,不能跨阶段操作;

③文档多,花费较多成本。

(4)适用范围

①产品定义(或项目需求)和技术方案非常明确、用户的需求有很好的了解;

②对质量的要求高于对成本和进度的要求;

③工期相对较宽裕;

④开发队伍技术力量较弱或缺乏经验;

⑤维护项目。

2、迭代模型

(1)基本思想

迭代模型是RUP(Rational Unified Process,统一软件开发过程)推荐的周期模型。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求、分析设计、实施和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

图 2 迭代模型的思想示意图

说明:

迭代模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

①制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

②风险分析:分析评估所选方案,考虑如何识别和消除风险;

③实施工程:实施软件开发和验证;

④客户评估:评价开发工作,提出修正建议,制定下一步计划。

迭代模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

使用迭代模型进行软件开发,项目活动包含以下几个阶段:

①初始阶段

初始阶段有时也称先启阶段。初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。

②细化阶段

细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构做出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。

③构造阶段

在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。

④交付阶段

交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命周期的这一点上,用户反馈应主要集中在产品调整,设臵、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。

图 3 迭代模型的几个阶段

(2)WBS划分

实际采用迭代模型中,项目阶段仍可参考瀑布执行。迭代模型实施重要的关键点是架构设计(概要设计)、制定迭代开发计划。

(3)优缺点

与传统的瀑布模型相比较,迭代模型具有以下优点:

①降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭

代的花费;

②降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不

至于在开发后期匆匆忙忙;

③加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率;

④由于用户的需求并不能在一开始就做出完全的界定,它们通常是在后续阶段中不断细化的。因此,

迭代过程这种模式使适应需求的变化会更容易些。

迭代模型的缺点:

①风险管理成本较高:迭代模型本身强调风险,但风险管理本身也存在成本问题;如果风险管理成本

过大,将会严重影响项目的利润;

②对项目组成员的要求非常高:在风险分析、进度管理等方面,需要有较高层次的人员配臵及丰富的

项目管理和项目实施的经验。这对于开发队伍技术力量较弱或缺乏经验的团队很难实施。

(4)适用范围

①在项目开发早期需求可能有所变化;

②分析设计人员对应用领域很熟悉;

③高风险项目;

④用户可不同程度地参与整个项目的开发过程;

⑤使用面向对象的语言或统一建模语言(Unified Modeling Language,UML);

⑥使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具,如Rose(Rose 是非常受欢迎的物件软体开发工具);

⑦具有高素质的项目管理者和软件研发团队。

3、增量模型

(1)基本思想

增量模型是通过对用户需求的判断,在定义了用户要求和系统需求,进行总体构架设计后,采用序列化地创建产品的方法进行开发的过程。每一个线性序列产生软件的一个可发布的“增量”,第一个建立的增量完成预计功能/性能的一部分(往往包含了核心功能,即实现了基本的需求),下一个增量实现另外的部分,增加更多的功能/性能,然后与前面实现的增加进行集成,如此循环,直到系统完全实现。

增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。其实现过程简图如下所示:

图 4 增量模型的思想示意图

说明:

在策划阶段,项目经理需要与客户协商确定增量的数目、规模、每一增量发布的时间表,在概要设计阶段需要考虑各增量集成的顺序、接口等问题,制定集成策略。

增量循环的循环体可以根据项目的实际情况进行控制。

增量模型本质上是迭代的,但其强调每一个增量均发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。

(2)WBS划分

(3)优缺点

该模型的优点:

①在达到初始需求之前可降低成本:采用增量模型可以灵活分配人员,刚开始不用投入大量人力资源。

如果核心产品很受欢迎,则可增加人力实现下一个增量;

②可快速生产出可使用的系统:它提供了一种先推出核心产品的途径,这样即可先发布部分功能给客

户,对客户起到镇静剂的作用;

③能够有计划地管理技术风险。

该模型的缺点:

①系统集成难度大:由于各个构件是逐渐并入已有的软件体系结构中的,各增量的集成难度增大,所

以在概要设计阶段需要制定详细的集成策略;

②项目管理风险加大:在开发过程中,需求的变化是不可避免的,增量模型的灵活性可以使其适应这

种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。

(4)适用范围

①用户核心需求非常清楚;

②项目人员不足;

③产品可以分割成不同的阶段分别完成。

4、原型模型

(1)基本思想

原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈做出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,使目前较流行的一种实用软件生存期模型。

原型模型是一种用户需求驱动的方法,使得用户在系统生存周期的设计阶段起到积极的作用;它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。

图 5 原型模型的思想示意图

原型模型根据其最终保留情况分为非抛弃型和抛弃型两种:

非抛弃型原型是先根据用户的最主要的要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。

原型模型从需求收集开始,软件开发组与目标用户一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。然后是“快速设计”。快速设计建立软件中对用户可见的部分,即“原型”。原型由用户评估,并据此进一步精化用户需求。逐步调整原型使其满足用户的要求,同时也使开发组对该软件有更好的理解,这个过程是迭代的,每一个迭代完成后均可生成一个可用的产品版本。

抛弃型原型模型一般用来描述和验证用户需求,可以采用与实际开发所不同的开发工具,建立模拟的数据库系统,从而达到与用户交流的最好效果。到用户需求确定之后即不再继续开发此原型。

与非抛弃型原型模型的主要区别在于:

①目的不同,抛弃型原型模型的目的是为了与用户更好的沟通;

②手段不同,抛弃型原型模型采用的技术手段与正式开发可以完全不同;

③结果不同,抛弃型原型模型的工作产品不会在软件研发中使用或大量使用,而多用于开发demo及验证用户需求的复合性。

使用原型模型进行软件开发,项目活动包含以下几个阶段:

①确定用户需求阶段

软件项目负责人员根据用户意向或市场调研等前期准备的资料、文档,对用户需求进行分析,编写用户需求文档。

②建造/修改原型阶段

项目组根据原型评价结果对设计原型进行建立、修改和完善,并记录相关过程。

③运行/评价原型阶段

项目负责人协同市场人员与用户对设计原型进行评价和讨论,明确设计原型中要保留的和需去除的原型设计部分,提出需要进一步补充和完善的需求内容。重复上述过程,直至用户需求全部明确为止。各阶段需要遵循的项目标准过程参见PD《项目标准过程裁剪指南》。

图 6 原型模型开发的几个阶段

(2)WBS划分

非抛弃型原型模型的WBS划分

抛弃型原型模型的WBS划分

(3)优缺点

该模型的优点:

①符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度;

②开发周期短,费用相对少;

③由于有用户的直接参与,系统更加贴近实际,易学易用,减少用户的培训时间;

该模型的缺点:

①开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复;

②用户过早看到系统原型,误认为系统就是这个模样,易使用户失去信心;

③开发人员易将原型取代系统分析;

④缺乏规范化的文档资料,不利于系统的后期维护。

(4)适用范围

该模型适合于:

①处理简单过程明确、涉及面窄的小型系统;

②大型系统的需求阶段,用原型去跟用户交流,需求分析会更加明确和细化。

该模型不适合于:

①大型、复杂系统,难以模拟;

②存在大量运算、逻辑性强的处理系统;

③管理基础工作不完善、处理过程不规范的系统;

④大量批处理的系统。

三、软件生命周期模型的选择

在众多的开发模型和过程方法中,企业应选择什么样的开发模型,应从以下几方面进行慎重考虑:

1、实施推广的难度

虽然各种开发模型的内容极其丰富,定义项目各个阶段的活动,并提供了一大堆的文档模板,但是各个开发模型的实施最终还是依靠人。项目管理团队的管理能力和系统开发团队的技术能力决定了所选择开发模型的实施难度。选择一个适合项目团队特点的开发模型尤为重要。

2、项目管理的侧重点

以上各个开发模型的过程特点也各不相同,如瀑布模型是文档驱动型的,迭代模型是风险驱动型的,

增量模型是任务驱动型的,原型模型是需求驱动型的。

项目不同,其侧重点也不同,如侧重于进度、质量、成本控制、风险管理等等。根据项目的侧重点,可以选择不同的开发模型。

总之,选择一个合适的生命周期模型,并应用正确的方法,对于任何软件项目的成功是至关重要。企业在选择开发模型应从项目时间要求、需求明确程度、风险状况等选择合适的生命周期模型。

生命周期模型描述-模板1

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

软件生命周期模型选择及WBS分解指南

软件生命周期模型选择及WBS分解指南 一、概述 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为“软件生命周期”。软件生命周期模型,通俗说就是,软件开发过程中所遵循的模式,即把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。 软件生命周期模型和项目开发过程有非常紧密关系,它是经过多次实践总结出来适合于不同项目使用的经典、有效的软件开发方法,它按照软件生命周期的各个阶段划分任务,依照一定的规则和步骤,有效地进行软件开发。 选用恰当的软件生命周期模型进行软件开发,可以提高产品质量;降低项目管理难度;缩短开发进度;便于项目状态跟踪;为过程改进和度量提供基线;改善组织级的过程弱势,提高过程能力成熟度级别。 为了便于分类汇总和统计各种生命周期模型的指标和数据,结合公司软件开发过程的实际,我们选择了常用的几种基本模型进行了描述,项目开发小组在进行项目策划时,可以根据模型的适用前提、优缺点和项目的实际需要进行选择,并在《项目实施计划》中,参加评审。 二、软件生命周期模型 常用的软件生命周期模型有:瀑布模型、迭代模型、增量模型、原型模型等。 以上所提到的件生命周期模型病不存在孰优孰劣的问题,每一种模型在实际工作中都有所应用。只要选择了最适合的,并按照此模型的流程来开发软件,都会取得成功。 需要强调的是,不管采用什么模型,项目实施中有四项活动是必不可少的——需求、设计、编码和测试。不管是有意识还是无意识,这些活动都会出现在项目过程中。这也是最重要的四项活动,其他的活动其实都是为这些活动服务的,不管是配置管理、风险管理,还是评审等等。 以下对各种常用的软件生命周期模型的设计思想、WBS划分(Work Breakdown Structure,即工作分解结构)、优缺点、使用范围进行分析。

软件生命周期模型

瀑布模型/改进的瀑布模型 虽然瀑布模型仍然存在很多的问题有待解决,但瀑布模型仍然是最展本的和最效的?种可供选择的软件开发生命周期模型.瀑布模型要求软件开发严格按照需求-〉分析-〉设计?〉编码-> 测试的阶段进行,每-个阶段都可以定义明确的产出物和验证准则.瀑布模型在每?个阶段完成后都可以组织相关的评审和验证,只有在评审通过后才能够进入到下-个阶段. 由于需要对每?个阶段进行验证,瀑布模型要求每?个阶段都有明确的文档产出,对于严格的瀑布模型每?个阶段都不应该重叠,而应该是在评审通过,相关的产出物都己经基线后才能够进入到下?个阶段. 瀑布模型的优点仍然是可以保证整个软件产品较高的质量,保证缺陷能够捉前的被发现和解决. 采用瀑布模型可以保证系统在整体上的充分把握,使系统具备良好的扩展性和可维护性?但对于前期需求不明确,而又很难短时间明确淸楚的项目则很难很好的利用瀑布模型.另外对于中小型的项目,需求设计和开发人员往往在项目开始后就会全部投入到项目中,而不是分阶段投入,因此采用瀑布模型会导致项目人力资源过多的闲置的情况,这也是必须要考虑的问题. 很多人往往会以进度约束而不选择瀑布模型,这往往是?个错误的观点.导致这种情况的?个关键因素往往是概念需求阶段人力不足.冈此在概念需求阶段人力能够得到充分保证的情况下,瀑布模型和迭代模型在开发周期上并不会存在太人的差别.反而是很多项目对于迭代或嫩捷模型用不好,为了赶进度在前期需求不明确,没有经过?个总体的架构设计情况下就开始编码,后期出现大量的返工而严重影响进度. 架构设计是软件开发中?个重要的关注点.因此在RUP中也捉及到软件开发要以架构为核心.因此在架构设计完成后系统会彼分为相关的f?系统和功能模块.每个功能模块间的接口都可以定义淸楚.在这种情况下,当模块B的详细设计做完成后往往就没有必妥等到其它模块的详细设计都妥完全作完才开始编码,冈此在架构设计完成后可以将系统分为多个模块并行开发,每个模块仍然遵循先设计和编码测试的瀑布模型思路.这是瀑布模型的?种最重要的改进思路,也可以说这是?种增量开发的模型.

CMMI生命周期模型选用指南解读

编码:SHZIM-O-OPD-P02 xxxx技术股份有限公司 生命周期模型选用指南

更改控制页

目录 1目的 (1) 2范围 (1) 3模型介绍 (1) 3.1瀑布模型 (1) 3.1.1模型说明 (1) 3.1.2模型分析 (1) 3.2迭代模型 (2) 3.2.1模型说明 (2) 3.2.2模型分析 (3) 3.3快速原型模型 (3) 3.3.1模型说明 (3) 3.3.2模型分析 (4) 3.4精简模型 (4) 3.4.1模型说明 (4) 3.4.2模型分析 (5) 3.5V模型 (6) 3.5.1模型说明 (6) 3.5.2模型分析 (6) 4模型选择 (8) 4.1模型选择原则 (8) 4.2项目分类 (8) 4.3模型选择指南 (9)

1目的 描述适合公司现状、可供项目选择的组织级生命周期模型。 2范围 公司所有软件项目。 3模型介绍 3.1瀑布模型 3.1.1模型说明 图1 瀑布模型 对于需求比较明确的项目,可以使用瀑布模型进行项目开发,每个阶段的输入都是依靠上一个阶段的输出,每个阶段内都需要完成与最终产品相关的所有工作。 3.1.2模型分析 优点:

1.可以明确划分项目的各个阶段,便于管理; 2.项目成员只需要在被安排的阶段开展项目工作,不需要全程参与; 3.阶段工作内容清晰,降低了开发难度。 缺点: 1.对项目的启动条件要求较高; 2.若出现需求不明确或设计开发技术瓶颈,将会影响后续阶段的工作启动; 3.最终产品提交给用户确认的时间比较晚,存在一定的风险。 3.1.3模型参照 参见《瀑布模型》。 3.2迭代模型 3.2.1模型说明 图2 迭代模型 通常有许多项目不能在需求开发阶段提供准确的需求,对于这样的项目,可以选择迭代开发模型,将能够确定的需求分析确定下来。之后便可以对这部分确定的需求进行系统设计、编码和测试。整个项目可以进行多次迭代的过程,一般情况下迭代的起点从需求开发开始,然后进行设计、编码和测试,但是有时候也可能出现从设计或编码阶段安排新的迭代过程。

软件生命周期模型

软件生命周期模型 .软件生命周期对于一个软件的研制,从问题的提出,经过开发、使用、维护、修订,直到最后终止使用而被另一软件所取代,就像是一个生命体从孕育、出生、成长到最后消亡,软件的这个状态变化的过程称为生命周期(life cycle)。软件生命周期的演化具有阶段性,依据一定的原则,可以把软件生命 周期划分为若干不同阶段,相邻的阶段既相互区别又相互联系,每个阶段都以 其前一阶段的工作成果作为本阶段工作的基础。软件生命周期的划分有助于软 件开发和管理人员根据不同阶段的特点进行软件开发及其管理。软件开发的经 验表明,软件开发越到后期,改正前期开发工作的失误越困难,因此在软件开 发工作中应该对软件开发工作的阶段性给予充分认识,在前期工作不无分的前 提下不应过早地进入软件开发的下一阶段。依据不同的原则对软件生命周期的 划分也不同,《软件工程国家标准--计算机软件开发规范》(GB8566-88)中将软件生命周期划分为8个阶段:可行性研究与计划、需求分析、概要设计、详细 设计、实现(包括单元测试)、组装测试(集成测试)、确认测试、使用和维护。 本书按照人们所习惯的粗分方法把上面8个阶段划分为计划、开发和维护3个 阶段,在概述其他两个阶段的基础上重点介绍软件的开发过程。2.软件开发方 法在规定的投资规模和时间限制内,实现符合用户需求的高质量软件是软件开 发的目标,为实现这一目标,人们根据软件开发的特点,提出了多种软件开发 策略。通过不同的软件开发模型阐明从问题提出到最终软件实现,软件开发工 作过程的阶段性任务分解,并规定了每一个阶段的目标、任务以及工作结果的 表达形式。常见的软件设计模型有:瀑布模型(waterfall model)、渐进模型(increamental model)、演化模型(evolutionary model)、螺旋模型(spiral model)、喷泉模型(fountain model)、智能模型(intelligent model)等。这里介绍其中的3种。(1)瀑市模型瀑市模型1970年由W.Royce提出,其开发过程 依照固定顺序进行,各阶段的任务与工作结果如图1所示。该模型严格规定各 阶段的任务,上一阶段任务输出作为下一阶段工作输入。此模型适合于用户需 求明确、开发技术比较成熟、工程管理严格的场合使用,其缺点是:由于任务 顺序固定,软件研制周期长,前一阶段工作中造成的差错越到后期越大,而且 纠正前期错误的代价高。图1瀑布型开发过程(2)渐进模型从一组简单的基本用户需求出发,首先建立一个满足基本要求的原型系统。通过测试和运行原型系

生命周期模型的选择

在CMMI的各种构件中,只有目标是必需的,实践是期望的,子实践是解释说明的。所以首先要满足模型里每个目标的要求,目标的达成是根据实践的执行情况来判断的,模型里给出的实践是可以替换的。只要能达成目标,采用什么实践都是可以的。 静态测试是相对于动态测试而言的,静态测试是不动态执行程序代码而寻找程序中可能存在的错误或评估程序的过程。相对于动态测试而言,静态测试成本更低,效率更高。因为静态测试可以在软件开发生命周期的早期就发现缺陷和问题,从而减少返工的成本。 对过程改进的一大疑虑是担心丧失灵活性。反对过程改进的人,总是拿“活学活用”当作挡箭牌,其实这几个字应该有次序的,即先学、后用、再活。 过程改进的目标是寻求制度和灵活的恰当平衡,其中制度乃是灵活之本。 丹明(Deming):“质量由满足需求的能力组成。” 左兰(Juran):“质量就是适于使用。” 克罗斯比(Ceosby):“质量意味着符合基于用户需要而制定出来的要求。” 关于选择生命周期模型的最后的总结 1.在前期需求明确的情况下尽量采用瀑布模型或改进型的瀑布模型. 2.在用户无信息系统使用经验,需求分析人员技能不足情况下一定要借助原型. 3.在不确定性因素很多,很多东西前面无法计划情况下尽量采用增量迭代和螺旋模型 4.在需求不稳定情况下尽量采用增量迭代模型 5.在资金和成本无法一次到位情况下可以采用增量模型,软件产品分多个版本进行发布 6.对于完全多个独立功能开发可以在需求阶段就分功能并行,但每个功能内都应该遵循瀑布模型 7.对于全新系统的开发必须在总体设计完成后再开始增量或并行. 8.对于编码人员经验较少情况下建议不要采用敏捷或迭代等生命周期模型. 9.增量,迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付和出口准则.

生命周期模型及选择指南

生命周期模型及选择指南 Version 1.1 文档名称:ZD-MMI-Guidelines-生命周期及模型选择指南-V1.1

修订历史记录

目录 1 目的和范围 (1) 2 生命周期可选模型简介 (1) 2.1 瀑布模型 (1) 2.1.1 标准瀑布模型 (1) 2.1.2 V模型 (3) 2.1.3 中等简化V字模型(V4模型) (5) 2.1.4 最简化V字模型(V3模型) (6) 2.2 原型模型 (8) 2.2.1 原型模型的形式 (8) 2.2.2 特点 (8) 2.2.3 缺点 (9) 2.2.4 适用项目 (9) 2.2.5 阶段划分 (9) 2.3 螺旋模型 (10) 2.3.1 特点 (10) 2.3.2 适用项目 (11) 2.3.3 阶段划分 (11) 2.4 增量模型 (11) 2.4.1 特点 (12) 2.4.2 适用项目 (12) 2.4.3 阶段划分 (12) 2.5 迭代模型 (13) 2.5.1 特点 (14) 2.5.2 适用情况 (15) 2.5.3 迭代分类 (15)

3 生命周期模型选择指南 (16) 3.1 生命周期模型选择特性指标 (16) 3.1.1 需求清晰性、完整性、稳定性 (16) 3.1.2 项目规模 (16) 3.1.3 项目类型 (17) 3.1.4 技术复杂度 (17) 3.1.5 可重用性 (18) 3.1.6 重用已有产品 (18) 3.2 生命周期模型选择决策参考 (18) 3.3 生命周期模型与特性指标对应关系 (19) 3.4 生命周期选择 (20) 附录:标准项目生命周期图 (21)

5种项目生命周期模型

5种项目生命周期模型 1.项目生命周期定义 2.一个完整的项目生命周期一般分为:计划、需求分析、设计、编码、测试、发布、实施以及运行维护阶段。 参见下图标准过程: 3.软件过程模型是从项目需求定义直至经使用后废弃为止,跨越整个生存期的系统开发、运营维护所经历的全部过程、活动和任务的结构框架。 4.软件过程模型一般分为:瀑布模型、原型模型、螺旋模型、增量模型。 5. 5种项目生命周期模型 a.瀑布模型: 1) 特点 l 阶段间具有顺序性和依赖性:必须等前一阶段的工作完成之后,才能开始后一阶段的输入。对本阶段工作进行评审,若得到确认,则继续下阶段工作,否则返回前一阶段,甚至更前阶段。只有前一阶段输出正确,后一阶段才能正确。 l 推迟实现的观点:在编码之前,设置了需求分析与设计的各个阶段,分析与设计阶段的根本任务规定在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。 l 质量保证的观点: 每个阶段都坚持两个做法: 规定文档,没有文档就没有完成该段任务。 每个阶段结束前都要对完成的文档进行评审,以便尽早发现问题,改正错误。 2) 缺点 l 依赖于早期进行的唯一的一次需求调查,不能适应需求的变化; l 由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程; l 风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会。 3) 适用项目

l 需求清晰明了且时间要求宽松的软件开发项目; l 规模小,需求简单,功能单一的项目 4) 阶段划分 计划阶段 需求阶段 设计阶段 编码阶段 测试阶段 发布阶段 实施阶段 运行维护阶段 b.原型模型: 原型模型快速建立起来的可以在计算机上运行的程序,他所能完成的功能往往是最终产品能完成的功能的一个子集。一般来说,根据客户的需要在很短的时间内解决用户最迫切需要,完成一个可以演示的产品,这个产品只实现部分功能。原型最重要的是为了确定用户的真正需求。 原型模型在克服瀑布模型缺点、减少由于软件需求不明确给开发工作带来风险方面,确有显著效果。软件系统的原型常用有以下形式: 抛弃型:开发原型为了获取需求,在原型开发之后,已获取了更为清晰的需求信息,原型无需保留而废弃; 渐进型:原型作为软件最终产品的一部分,可满足用户的部分需求,进一步在此基础上开发,则可增加需求,实现后再交付使用; 1) 特点 l 用户需求不完全或不确定;

02生命周期选择的指南

目录 1。项目的 (2) 2。范围 (2) 3。义务 (2) 4。工作程序 (2) 4。1个公司定义的软件生命周期模型 (2) 4。2软件学生救期间模型的选择标准 (2) 4.2.1瀑布模型选择标准 (2) 4.2.2增量模型选择标准 (2) 4.2.3快速原型选择标准 (3) 4.3软件生命周期模型 (3) 4.3.1瀑布模型 (3) 4.3.2增量模型 (4) 4.3.3快速原型制作模型 (4) 4.4各个阶段的任务,活动,工作产品和质量控制 (6) 4.4.1标准 (6) 4.5软件生命周期定制指南 (8) 4.5.1裁缝指南 (8) 5,参考 (9)

1。目的 指导项目团队在制定项目开发计划的阶段选择适合项目特征的生命周期,并能够按照软件生命周期定义的工作流程进行工作。 2.面积 此过程适用于新开发的软件项目。 3.责任 软件项目经理负责根据项目的特征选择适当的生命周期。 4.工作程序 4.1公司定义的软件生命周期模型 软件生命周期的定义可能会有所不同,具体取决于软件项目特征的标识和所选的软件开发模型。公司计划推荐的软件生命周期模型如下: 1.瀑布模型 2.增量模型 3.快速原型模型 4.2软件学生救期间模型的选择标准 定义适用的软件生命周期是软件项目计划的基本点,也是标准化项目管理的重要手段。因此,在定义项目的软件生命周期时,应首先根据每个项目的特征和选择标准从此规范中选择合适的软件生命周期模型,然后定制适用于该项目的软件生命周期定义。。 4.2.1瀑布模型选择标准 1.用户一开始就给出了明确的需求,并且需求在开发过程中没有改变或很少改变; 2.分析设计人员熟悉应用领域; 3.低风险项目(熟悉目标和发展环境); 4.用户应用环境稳定; 5.用户除要求外很少参与开发工作; 6.用户接受该程序的运行版本只能在项目的后期开发阶段获得。 4.2.2增量模型选择标准 1、在整个项目开发过程中,用户需求可能会发生变化; 2、客户分阶段接受交货; 3.分析设计人员对应用领域不熟悉或难以完全掌握; 4.中或高风险项目(太紧的项目,可以分阶段提交,或者不熟悉系统目标和开发环境的项 目); 5.用户需要参与整个软件开发过程; 6.使用面向对象的语言或第四代语言。

瀑布型生命周期模型(1)

软件生命周期 软件生命周期规定了一个项目软件开发的过程框架,包括:1、项目的阶段划分;2、各个过程域的活动在阶段内的配置(即阶段内所需完成的活动);3、阶段产出物及其状态。 软件生命周期模型是组织定义的标准软件生命周期,各项目在实施的过程中可以选择最适合本项目情况的模型并在此基础上依据项目特点进行裁剪,定义项目的生命周期过程。 目前已定义的生命周期模型包括: ?瀑布模型 ?迭代模型 瀑布型生命周期模型 1.简介 瀑布型生命周期模型是一种严格按照需求->设计->实施->交付四个阶段进行软件开发的模型,并且在各个阶段结束时要经过严格的评审,只有当能够确认一个阶段的开发成果是正确的时才能够进行下一阶段的开发。 在瀑布模型的四个阶段中,除了分别完成其本阶段所定义的活动之外,都必须进行项目管理、质量保证、配置管理和测试活动,这四个活动的过程贯穿整个瀑布型软件生命周期。 2.结构

3.阶段 3.1需求阶段 3.1.1目标 需求阶段的目标是为了确保与客户在系统的工作内容和范围(即系统“要做什么”和“不做

什么”)方面达成一致,并建立需求的基线,为项目开发计划的进一步细化提供基础。 3.1.2主要活动 需求阶段的主要活动包括: ?需求获取:搜集客户的需要、期望、约束和接口,分析业务特性,形成用户需 求 ?需求分析:对所有候选的需求进行分析,形成软件的功能需求,并排列优先级 ?需求评审:客户(或客户的代表)、高级经理和项目组共同评审需求文档,并 达成一致意见 ?建立需求基线 ?定义系统的用户界面 ?完成系统测试计划 ?调整和细化对项目规模、工作量、成本的估计 ?根据收集的需求重新分析和评估项目的风险,并制定相应的规避和缓减策略 ?完成WBS(Work Breakdown Structrue,工作分解结构),写入SDS,并 细化设计阶段的SDS ?完成设计阶段的SQAP 3.1.3产出物 需求阶段的产出物包括(灰色部分为演进的产出物,白色部分为新增产出物):

项目周期模型选择

刘小备如何做项目-关于生命周期模型 2009-04-18 03:38:57| 分类:程序文摘| 标签:|字号大中小订阅 关键字: 软件工程生命周期模型 摘自:这里 文章不错,至少是从理论的角度,用通俗的语言讲述了软件工程木常见的“原型法、编码-修改法、传统瀑布、改进瀑布、增量、螺旋、RUP、XP”等软件过程。值得学习! 进行完软件估计后,刘小备开始启动下一阶段的工作选择软件生命周期,可供软件生命周期模型这么多,有原型法、编码-修改法、传统瀑布、改进瀑布、增量、螺旋、RUP、XP,还有什么“V”模型、“W” 模型,到底选择哪一种呢?刘小备想起来头大,索性就不想了,直接去找昔日故交孔小明,如今的孔小明已经是“孔氏项目管理咨询有限公司”的总经理,毕竟有前些年大大小小几十个项目的丰富经历,再加上孔小名扎实的软件开发理论功底,经过孔小明咨询的项目都取得了成功,虽然公司只有十几个人,“孔氏项目管理咨询有限公司”在业界也小有名气了,孔小明早就把他的羽毛扇送到博物馆去了,不离手的是有蓝牙/WLAN/GSM/GPRS/WCDMA的多模智能手机,代步的两轮车也换成了“奔驰2008”。刘小备到“孔氏项目管理咨询有限公司”时,正赶上孔小明给一家叫什么“新盛”的系统集成公司新接的一个千万级的项目做咨询结束,对方的公司老总握着孔小明的手不放,技术总监和项目经理也一脸崇拜的看着孔小明,孔小明很客气的把他们送走,然后转身把刘小备请进办公室。还没坐下刘小备就直奔主题(以下是两个人的对话,刘小备用刘代替,孔小明用孔代替) 刘:孔总,虽然我也做过几个项目,但对于生命周期模型一直也没有搞清楚孰优孰劣,所以在选择时往往是跟着感觉走,今天来就是想把这个问题彻底弄清楚,一劳永逸。 孔:在讲各种生命周期模型前,我想强调一下,任何项目,不管采用什么模型有四项活动都是必不可少的。不管是有意识还是无意识,这些活动都会出现在项目过程中。 刘:哪四项活动? 孔:就是需求、设计、编码和测试。这也是最重要的四项活动,其他的活动其实都是为这些活动服务的,不管是配置管理、还是风险管理、还是评审等等。 刘:哦!这个问题没有考虑过,不过你说出来再一想确实是这么回事。 孔:生命周期的定义咱们就不讨论了,我直接就常用的模型的优缺点和使用条件进行说明。 刘:太好了! 孔:我先说第一种:编码-修改模型。也称Code And Fix方法,是历史最悠久一种模型,从人类开始写程序的第一天这种模型就出现了,我们每个人开始学写程序时也不自觉的采用了这种模型。 刘:这个我知道了。这种模型没有规划、没有控制、开发过程混乱,软件质量完全依靠程序员个人的能力,后期基本不能维护,尤其是有人员变动,这应该是造成上世纪70年代软件危机的主要根源。 孔:即便在现在,这种模型也很有市场的,很多的中小型公司采用的仍然是这种开发模型。 刘:那是不是说,这个模型应该彻底的抛弃? 孔:那到不尽然。毕竟个人在开始学习编程时,这种方法是一个很好的选择,即使对于企业也不是完全不可取,比如有些项目对质量要求不高,但需要把东西攒起来,否则就丢单,这时如果在四平八稳的好好的规划和设计,那么到时候“黄瓜菜都凉了”。

软件生命周期指南

文档编号:日期: 软件生命周期指南

1前言 软件生命周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程。在计算机技术发展的初期,人们把软件开发简单地理解为编写程序。随着软件复杂性的增长,人们认识到软件开发活动应划分为需求分析、设计、实现、测试等若干个活动,并将这些活动以适当的方式分配到不同的阶段中去完成。 软件生命周期模型是描述软件开发全部过程、活动和任务的结构框架。比较常见的软件生命周期模型是瀑布模型、增量模型、原型模型和螺旋模型等。 1.1目的和适用范围 本文档规定了<组织>适用的软件生命周期模型,作为项目经理在制定项目计划时根据项目需求、复杂程度、进度要求等项目特点确定采用何种开发过程的依据。如果确定的生命周期模型不在本文档中规定的范围内,必须经过SEPG和高层经理的审批才能使用。 本文档适用于<组织>的所有软件项目。 1.2缩略语 SPP 软件项目计划 SPTO 软件项目跟踪和监控 SQA 软件质量保证 SCM 软件配置管理 SOW 工作说明书 WBS 工作分解结构 SRS 软件需求规格说明书 1.3参考文献 《CMM 1.1》。 2瀑布模型 瀑布模型是最常用的软件开发模型,它的各个阶段是按线性序列组织的。开发过程中的阶段划分为项目策划、需求分析、概要设计、详细设计、编码和单元测试、软件集成和集成测试、系统测试、验收和安装等(图1)。尽管开发过程中定义了各个阶段的顺序,但这些阶段有时是相互交迭进行的,阶段间的依赖性由入口准则来确定。

图1 瀑布模型 瀑布模型的每个阶段均具有以下特征: ●从上一阶段接受本阶段工作的对象,作为输入; ●对上述输入实施本阶段的活动; ●给出本阶段的工作成果,作为输出传入下一阶段; ●对本阶段工作进行评审,如果本阶段工作得到确认,那么继续下阶段工作,否则返 回前一阶段,甚至更前阶段。 瀑布模型为软件开发与维护提供了一种有效的管理模式,根据这一管理模式制订开发计划、进行成本预算、组织开发人员,以阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品的质量。 ●优点:近30年来之所以广为流行,是因为它在支持开发结构化软件、控制软件的 开发复杂度、促进软件开发工程化方面起着显著作用。 ●缺点:缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求。这些问题可 能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发过程完成后才 有所察觉。 2.1项目策划 项目策划是每个项目的初始阶段,目的是为开发过程和过程管理做好必要的准备。项目策划的主要工作是进行可行性分析和研究,进行估计和制定管理项目的计划。

软件产品WBS分解指南(完整资料).doc

【最新整理,下载后即可编辑】 软件产品WBS分解指南 一、概述 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为“软件生命周期”。软件生命周期模型,通俗说就是,软件开发过程中所遵循的模式,即把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。 软件生命周期模型和项目开发过程有非常紧密关系,它是经过多次实践总结出来适合于不同项目使用的经典、有效的软件开发方法,它按照软件生命周期的各个阶段划分任务,依照一定的规则和步骤,有效地进行软件开发。 选用恰当的软件生命周期模型进行软件开发,可以提高产品质量;降低项目管理难度;缩短开发进度;便于项目状态跟踪;为过程改进和度量提供基线;改善组织级的过程弱势,提高过程能力成熟度级别。 为了便于分类汇总和统计各种生命周期模型的指标和数据,结合公司软件开发过程的实际,我们选择了常用的几种基本模型进行了描述,项目开发小组在进行项目策划时,可以根据模型的适用前提、优缺点和项目的实际需要进行选择,并在《项目实施计划》中,参加评审。 二、软件生命周期模型 常用的软件生命周期模型有:瀑布模型、迭代模型、增量模型、原型模

型等。 以上所提到的件生命周期模型病不存在孰优孰劣的问题,每一种模型在实际工作中都有所应用。只要选择了最适合的,并按照此模型的流程来开发软件,都会取得成功。 需要强调的是,不管采用什么模型,项目实施中有四项活动是必不可少的——需求、设计、编码和测试。不管是有意识还是无意识,这些活动都会出现在项目过程中。这也是最重要的四项活动,其他的活动其实都是为这些活动服务的,不管是配置管理、风险管理,还是评审等等。 以下对各种常用的软件生命周期模型的设计思想、WBS划分(Work Breakdown Structure,即工作分解结构)、优缺点、使用范围进行分析。 1、瀑布模型 (1)基本思想 瀑布模型(Waterfall Model)是最基本也最常用的一种生命周期模型,又称线性模型。 瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。瀑布模型可以应用于软件工程开发、企业项目开发、产品生产以及市场销售等领域。 瀑布模型的突出特征是文档驱动。从需求分析到系统维护,每一项活动

中兴通讯-《产品生命周期模型》

内部公开▲ 某公司股份有限公司企业标准 (管理标准) 产品生命周期模型 2005-08-09 发布 2005-08-09实施某公司股份有限公司手机事业部发布

错误!未找到引用源。 目次 目次..................................................................... I 前言.................................................................... II 1 范围 (1) 2 术语和定义 (1) 2.1 产品生命周期 (1) 2.2 项目生命周期 (1) 2.3 产品 (1) 2.4 项目 (1) 3 手机产品开发模式定义 (1) 3.1 自研开发模式 (1) 3.1.1 产品平台开发 (1) 3.1.2 改型1 (1) 3.1.3 改型2 (1) 3.1.4 公用技术开发 (1) 3.1.5 软课题 (1) 3.2 合作引进开发模式 (1) 3.2.1 OEM (2) 3.2.2 合作开发 (2) 4 手机生命周期模型 (2) 4.1 手机产品生命周期 (2) 4.2 手机项目生命周期 (3) 4.2.1 手机自研项目生命周期 (3) 4.2.2 手机合作引进项目生命周期 (4) 4.3 技术评审与产品决策 (4) 4.3.1 技术评审 (4) 4.3.2 产品决策 (5) 4.4 手机生命周期模型选择 (5) 4.5 手机生命周期裁剪原则 (6) 4.5.1 自研开发模式 (6) 4.5.2 合作引进开发模式 (6) 5 附件 (7)

【实用文档】产品生命周期模型

第二章战略分析 【知识点3】产品生命周期模型 (三)成熟期(Maturity) 1.★★★标志:竞争者之间出现挑衅性的价格竞争。 2.产业销售额达到★★★最高且稳定,市场基本饱和,主要依靠老客户重复购买,竞争者想要扩大份额将遭抵抗,并引发价格战。 3.★★产品逐步标准化,技术和质量鲜有改进;生产稳定,局部过剩。 4.★★价格下降,毛利率和净利率都下降,利润空间适中。 典型特征 ①竞争者之间出现挑衅性的价格竞争。 ②产业销售额达到最高且稳定,市场基本饱和。 辅助特征 ①产品逐步标准化,技术和质量鲜有改进。 ②价格、毛利率、净利率“三降”。 企业战略目标巩固市场份额,提高投资回报率。 主要战略路径提高效率,降低成本。 经营风险经营风险进一步降低,达到中等水平(Moderate)。(稳定销售额、市场份额、盈利水平,现金流容易预测)经营风险主要为稳定的销售额可以持续多久及总盈利水平高低。 (四)衰退期(Decline) 1.产品间差异小,价格趋同。 2.客户精明挑剔,对性价比要求高。 3.故,为追求低成本引发质量问题。 4.产能严重过剩,价格、毛利很低,拥有销售渠道企业具有优势;部分企业淘汰,部分企业出局后,价格有望回升。 企业战略目标防御并获取最后的现金流。 主要战略路径控制成本,以求能维持正的现金流量;若缺乏成本控制优势,则应采用退却战略,尽早退出。 经营风险经营风险进一步降低(Low),主要在于何时完全退出市场。 三、产品生命周期模型局限性 1.各阶段的持续时间随着产业的不同而迥异,到底处在哪个阶段在实际中很难进行精准判断。这使该模型的效用大打折扣。 2.产业增长并不总是呈现S形。经常跨阶段发展或往复发展。 3.公司可以通过产品创新和产品的重新定位,来影响增长曲线的形状。如果公司认定所给的生命周期一成不变,那么它就成为一种没有意义的自我臆想的预言。 4.与生命周期每一阶段相联系的竞争属性随产业的不同而不同。 【经典题解?单选题】根据产品生命周期理论,当企业的战略目标是争取最大市场份额时,企业所在产业处于()。(2014年) A.导入期 B.衰退期 C.成熟期 D.成长期 【解析】成长期,企业的战略目标是争取最大市场份额,并坚持到成熟期的到来。选项D正确。

软件产品WBS分解的指南.doc

软件产品 WBS 分解指南 一、概述 同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称 为“软件生命周期”。软件生命周期模型,通俗说就是,软件开发过程中所遵循的模式,即把整个软件生 存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容 易控制和管理。 软件生命周期模型和项目开发过程有非常紧密关系,它是经过多次实践总结出来适合于不同项目使用的经 典、有效的软件开发方法,它按照软件生命周期的各个阶段划分任务,依照一定的规则和步骤,有效地进行软件 开发。 选用恰当的软件生命周期模型进行软件开发,可以提高产品质量;降低项目管理难度;缩短开发进度;便于项目状态跟踪;为过程改进和度量提供基线;改善组织级的过程弱势,提高过程能力成熟度级别。 为了便于分类汇总和统计各种生命周期模型的指标和数据,结合公司软件开发过程的实际,我们选择 了常用的几种基本模型进行了描述,项目开发小组在进行项目策划时,可以根据模型的适用前提、优缺点 和项目的实际需要进行选择,并在《项目实施计划》中,参加评审。 二、软件生命周期模型 常用的软件生命周期模型有:瀑布模型、迭代模型、增量模型、原型模型等。 以上所提到的件生命周期模型病不存在孰优孰劣的问题,每一种模型在实际工作中都有所应用。只要选择了最适合的,并按照此模型的流程来开发软件,都会取得成功。 需要强调的是,不管采用什么模型,项目实施中有四项活动是必不可少的——需求、设计、编码和测 试。不管是有意识还是无意识,这些活动都会出现在项目过程中。这也是最重要的四项活动,其他的活动 其实都是为这些活动服务的,不管是配置管理、风险管理,还是评审等等。 以下对各种常用的软件生命周期模型的设计思想、WBS 划分( Work Breakdown Structure,即工作分解结构)、优缺点、使用范围进行分析。

相关文档
最新文档