《软件生存周期及开发模型(精品).ppt》由会员分享,可在线阅读,更多相关《软件生存周期及开发模型(精品).ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章 软件生存周期软件生存周期及开发模型及开发模型软件的生存周期与选择的开发模型有关软件的生存周期与选择的开发模型有关软件开发模型是软件工程研究的软件开发模型是软件工程研究的四大内容四大内容之一之一3 3种软件开发种软件开发模型模型:瀑布模型、增量模型瀑布模型、增量模型、原型模型原型模型2本章的要求了解:了解:1 1)生存周期生存周期的概念的概念 2 2)开发模型开发模型的概念的概念 3)3)生存周期模型裁剪指南生存周期模型裁剪指南理解:理解:1 1)软件的生存周期与选择的开发模型有关)软件的生存周期与选择的开发模型有关掌握:掌握:1 1)瀑布模型瀑布模型的本意、特点、选用条件的本意
2、、特点、选用条件 2)2)增量模型增量模型的本意、特点、选用条件的本意、特点、选用条件 3)3)原型模型原型模型的本意、特点、选用条件的本意、特点、选用条件 32.1 2.1 软件生存周期概论软件生存周期概论任何有生命的动物、植物和人,都有一个生任何有生命的动物、植物和人,都有一个生存周期存周期(Life Cycle)(Life Cycle)没有生命的事物或实体,它们也有一个生存没有生命的事物或实体,它们也有一个生存周期,这个生存周期就是使用寿命,即生产周期,这个生存周期就是使用寿命,即生产周期加上使用周期。周期加上使用周期。软件的生存周期与开发模型有关软件的生存周期与开发模型有关不同模型不同
3、模型:开发阶段划分、评审次数、基线标准:开发阶段划分、评审次数、基线标准开发项目开发项目:选模型:选模型生存周期裁剪生存周期裁剪开发计划开发计划-开发软件开发软件4软件的生存周期软件的生存周期周周 期期 序序 号号周周 期期 名名 称称周周 期期 序序 号号周周 期期 名名 称称1立立项项(或(或签签合同)、下合同)、下达任达任务书务书6软软件件测试测试2需求分析需求分析7软软件件发发布与布与实实施施3概要概要设计设计8软软件件维护维护4详细设计详细设计9版本更新或退版本更新或退役役5编码实现编码实现52.2 2.2 瀑布模型瀑布模型1 1、瀑布模型瀑布模型(Waterfall Model)(
4、Waterfall Model)(流水式过程模型流水式过程模型)生存周期生存周期由立项、需求分析、策划、概要设计、详细由立项、需求分析、策划、概要设计、详细设计、编程、测试、发布、维护组成设计、编程、测试、发布、维护组成每个阶段是瀑布中的一个台阶,软件生存过程在这些每个阶段是瀑布中的一个台阶,软件生存过程在这些台阶中由上向下地奔流。台阶中由上向下地奔流。开发人员按照阶段开发,管理人员按照阶段管理。开发人员按照阶段开发,管理人员按照阶段管理。2 2、特点特点:(1)(1)里程碑或基线里程碑或基线驱动,或者说文档驱动;驱动,或者说文档驱动;(2)(2)过程逆转性很差,或者说过程逆转性很差,或者说不
5、可逆转不可逆转63 3 3 3、选择模型的、选择模型的、选择模型的、选择模型的条件条件条件条件:(1 1 1 1)在开发时间内需求没有或)在开发时间内需求没有或)在开发时间内需求没有或)在开发时间内需求没有或很少变化很少变化很少变化很少变化。(2 2 2 2)分析设计人员对应用)分析设计人员对应用)分析设计人员对应用)分析设计人员对应用领域很熟悉领域很熟悉领域很熟悉领域很熟悉。(3 3 3 3)低风险项目低风险项目低风险项目低风险项目(对目标、环境很熟悉)。(对目标、环境很熟悉)。(对目标、环境很熟悉)。(对目标、环境很熟悉)。(4 4 4 4)用户使用环境很)用户使用环境很)用户使用环境很)
6、用户使用环境很稳定稳定稳定稳定。(5 5 5 5)用户用户用户用户除提出需求以外,除提出需求以外,除提出需求以外,除提出需求以外,很少参与开发很少参与开发很少参与开发很少参与开发。瀑布模型(续)瀑布模型(续)7瀑布模型(续)瀑布模型(续)4 4 4 4、优点模型的优点模型的优点模型的优点模型的优点优点优点优点:阶段清晰:阶段清晰:阶段清晰:阶段清晰5 5 5 5、模型的、模型的、模型的、模型的缺点缺点缺点缺点:可维护性差:可维护性差:可维护性差:可维护性差 (1)(1)(1)(1)由于逆转性很差,所以返工会造成重大损失。由于逆转性很差,所以返工会造成重大损失。由于逆转性很差,所以返工会造成重大
7、损失。由于逆转性很差,所以返工会造成重大损失。(2)(2)(2)(2)错误的传递,会采取发散扩大的方式。错误的传递,会采取发散扩大的方式。错误的传递,会采取发散扩大的方式。错误的传递,会采取发散扩大的方式。改进改进改进改进 微软:严格的里程碑管理制度微软:严格的里程碑管理制度微软:严格的里程碑管理制度微软:严格的里程碑管理制度 CMMCMMCMMCMM:阶段评审和不符合项跟踪:阶段评审和不符合项跟踪:阶段评审和不符合项跟踪:阶段评审和不符合项跟踪82.3 2.3 增量模型增量模型1 1、模型、模型本意本意软件产品看作一组增量软件产品看作一组增量构件构件,每次设计、实现、集成、,每次设计、实现、
8、集成、测试和交付一块构件,直到所有构件全部实现为止。测试和交付一块构件,直到所有构件全部实现为止。先开发其中的一个先开发其中的一个核心模块核心模块,再开发其他模块,这样,再开发其他模块,这样一个个模块地增加上去,直至整个系统开发完毕为止。一个个模块地增加上去,直至整个系统开发完毕为止。2 2、特点:、特点:(1)(1)任务或功能模块驱动任务或功能模块驱动,可以分阶段提交产品;,可以分阶段提交产品;(2)(2)有有多个任务单多个任务单,这些多个任务单的集合,构成项目,这些多个任务单的集合,构成项目的一个总的一个总任务书任务书(总总用户需求报告用户需求报告/需求规需求规格说明书格说明书)。93 3
9、、选择模型的、选择模型的条件条件:(1 1)在项目开发过程中,客户)在项目开发过程中,客户接受分阶段交付接受分阶段交付。(2 2)开发人员对应用领域不熟悉,)开发人员对应用领域不熟悉,难以一步到位难以一步到位。(3 3)工期过紧的工期过紧的中等或高风险项目。中等或高风险项目。(4 4)用户可参与用户可参与到整个软件开发过程中。到整个软件开发过程中。(5 5)使用)使用面向对象语言面向对象语言。(6 6)软件公司自己有较好的)软件公司自己有较好的类库、构件库类库、构件库。增量模型(续)增量模型(续)10增量模型(续)增量模型(续)4 4、优点优点:大系统分解为小系统,降低开发难度:大系统分解为小
10、系统,降低开发难度5 5、缺点:缺点:软件系统的软件系统的组装和拆卸性不强组装和拆卸性不强开发人员开发人员全局把握全局把握水平不高(没有数据库设计专水平不高(没有数据库设计专家进行系统集成)家进行系统集成)客户客户不同意不同意分阶段提交产品分阶段提交产品112.5 2.5 原型模型原型模型 1 1、模型本意、模型本意以某个以某个软件原型软件原型为参照模型的开发方法,叫做原型法。为参照模型的开发方法,叫做原型法。在初步需求分析之后,马上向客户展示一个软件产品在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集原型,对客户进行培训,让客户试用,在试用中收集客
11、户意见,修改原型,再让客户试用,反复循环几次,客户意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。直到客户确认为止。2 2、特点、特点原型驱动原型驱动开发者必须开发者必须先有一个原型先有一个原型,至少要有一个原型的核心。,至少要有一个原型的核心。12原型模型(续)原型模型(续)3 3、选择模型的、选择模型的条件:条件:(1 1)已有产品已有产品或产品的原型,只需客户化的项目。或产品的原型,只需客户化的项目。(2 2)简单而熟悉的行业简单而熟悉的行业或领域。或领域。(3 3)有快速原型)有快速原型开发工具开发工具。(4 4)进行产品)进行产品移植或升级移植或升级。4 4、优点优点开
12、发开发速度快速度快实时实时反馈用户意见反馈用户意见5 5、模型的、模型的缺点缺点:不利于不利于开发人员的开发人员的创新创新136 6、快速原型法、快速原型法(没有原型的原型法没有原型的原型法)基本基本思路思路:面向数据的方法面向数据的方法,用用Power DesignerPower Designer等数据库分析和设等数据库分析和设计工具,快速建立信息系统的计工具,快速建立信息系统的概念数据模型概念数据模型CDMCDM和物理数和物理数据模型据模型PDMPDM面向对象的编程工具面向对象的编程工具,在软件企业强大的类库、构件库在软件企业强大的类库、构件库的支撑下,快速地实现需求分析中确认的流程、功能
13、、的支撑下,快速地实现需求分析中确认的流程、功能、性能和接口性能和接口交付给用户交付给用户试用试用,反复循环几次,直到客户确认满意为反复循环几次,直到客户确认满意为止。止。14快速原型法快速原型法(续续)选择选择条件条件项目组中有项目组中有数据库数据库分析和设计的专家分析和设计的专家有有面向对象面向对象编程的专家编程的专家文档文档制作有成熟的模板制作有成熟的模板系统或项目又系统或项目又不是非常大不是非常大 152.6 2.6 本章小结本章小结1.除了上述四种常用的软件开发模型之外,另外除了上述四种常用的软件开发模型之外,另外还有四种软件开还有四种软件开发模型发模型:螺旋模型、演化模型、渐增模型
14、和喷泉模型,这四种:螺旋模型、演化模型、渐增模型和喷泉模型,这四种模型只具备理论上的研究价值,在模型只具备理论上的研究价值,在ITIT企业的实践中很少得到应企业的实践中很少得到应用。用。2.2.进入进入ITIT企业参与软件开发或软件管理时,首先要企业参与软件开发或软件管理时,首先要明确明确:当前的:当前的项目或产品开发到底采用什么项目或产品开发到底采用什么开发模型开发模型,由此确定软件的生存,由此确定软件的生存周期和当前的软件开发进度;合理安排项目组成员的工作。迅周期和当前的软件开发进度;合理安排项目组成员的工作。迅速适应速适应ITIT企业文化,并很快进入角色。企业文化,并很快进入角色。3.3
15、.瀑布模型、增量模型、原型模型瀑布模型、增量模型、原型模型。因为。因为3 3个模型各有所长,所个模型各有所长,所以它们有各自的生存空间。因为它们各有所短,所示才会产生以它们有各自的生存空间。因为它们各有所短,所示才会产生相互竞争,共同构成一个丰富多彩的多个模型竞争的世界。相互竞争,共同构成一个丰富多彩的多个模型竞争的世界。16本章小结本章小结4.4.一个成熟的软件组织,构成完全一个成熟的软件组织,构成完全适合本单位的适合本单位的“生存周生存周期模型裁剪指南期模型裁剪指南”。该。该“指南指南”在软件组织内部,专供在软件组织内部,专供高层经理和项目经理在软件策划中选取软件开发模型时高层经理和项目经理在软件策划中选取软件开发模型时使用。使用。5.5.在五花八门的开发模型中,从根基上看,都是在五花八门的开发模型中,从根基上看,都是瀑布模型瀑布模型和迭代模型的变种和迭代模型的变种,或者是它俩的混合,或者是它俩的混合17