软件生命周期-姜鑫乐和余超ppt课件_第1页
软件生命周期-姜鑫乐和余超ppt课件_第2页
软件生命周期-姜鑫乐和余超ppt课件_第3页
软件生命周期-姜鑫乐和余超ppt课件_第4页
软件生命周期-姜鑫乐和余超ppt课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、运转维护运转维护 阶段阶段软件生命周期软件生命期软件生命期Life cycle): 一个软件从定义、开发和运转维护,直到最一个软件从定义、开发和运转维护,直到最终被废弃,所阅历的生存过程称为软件生存期或终被废弃,所阅历的生存过程称为软件生存期或叫生命期。叫生命期。生命期的划分:生命期的划分:问题问题定义定义可行性研可行性研讨和需求讨和需求分析分析软件软件设计设计程序程序编写编写软件软件测试测试运转运转/维护维护定义阶段定义阶段开发阶段开发阶段软件生命周期n1.定义时期定义时期n 主要义务是调查和分析。主要义务是调查和分析。n调查用户需求,分析新系统的主要目的,分析开调查用户需求,分析新系统的主

2、要目的,分析开发该系统的可行性。并写出发该系统的可行性。并写出“可行性分析报告。可行性分析报告。n 需求分析在于弄清楚用户对软件的全部需求,需求分析在于弄清楚用户对软件的全部需求,并用并用“需求规格阐明书的方式准确地表达。需需求规格阐明书的方式准确地表达。需求规格阐明书应包括对软件的功能需求、性能需求规格阐明书应包括对软件的功能需求、性能需求、环境约束和外部接口等描画。求、环境约束和外部接口等描画。n 用户和系统分析员的相互了解与配合,是做好用户和系统分析员的相互了解与配合,是做好这一时期任务的关键。这一时期任务的关键。n2.软件开发时期软件开发时期n 开发时期要完成设计和实现。开发时期要完成

3、设计和实现。n设计:主要义务是将需求转变为软件的设计:主要义务是将需求转变为软件的表示方式。目的是确定软件的总体构造、表示方式。目的是确定软件的总体构造、数据构造、用户界面和算法细节,从需数据构造、用户界面和算法细节,从需求规格阐明书导出软件构造图。求规格阐明书导出软件构造图。n实现编码:选定某种言语,把设计的过实现编码:选定某种言语,把设计的过程性描画翻译为源程序。直到这一阶段,程性描画翻译为源程序。直到这一阶段,才产生能在计算机上执行的源程序。前才产生能在计算机上执行的源程序。前面各个阶段产生的都属于软件的文档。面各个阶段产生的都属于软件的文档。n实现测试:按照不同的层次,又可细分实现测试

4、:按照不同的层次,又可细分为单元测试、综合测试、确认测试和系为单元测试、综合测试、确认测试和系统测试等步骤。测试是保证软件质量的统测试等步骤。测试是保证软件质量的重要手段。测试阶段的文档称为重要手段。测试阶段的文档称为“测试报测试报告,包括测试方案、测试用例与测试告,包括测试方案、测试用例与测试结果等内容。结果等内容。3.运转维护时期运转维护时期n维护的目的,是使软件在整个生命周期维护的目的,是使软件在整个生命周期内保证满足用户的需求和延伸运用寿命。内保证满足用户的需求和延伸运用寿命。每一次进展维护,都应该遵守规定的程每一次进展维护,都应该遵守规定的程序,并填写和更改好有关的文档。序,并填写和

5、更改好有关的文档。n维护时期不再进一步划分阶段。维护时期不再进一步划分阶段。 软件过程模型软件过程模型软件过程模型:软件过程模型: 软件工程开发和维护的总体过程思绪的框架。软件工程开发和维护的总体过程思绪的框架。也称之为软件开发模型或软件生命期模型。也称之为软件开发模型或软件生命期模型。 它指出了软件开发过程各阶段之间的关系和它指出了软件开发过程各阶段之间的关系和顺序,是软件开发过程的概括。它为软件开发过顺序,是软件开发过程的概括。它为软件开发过程提供原那么和方法,并为软件工程管理提供里程提供原那么和方法,并为软件工程管理提供里程碑和进度表。因此,软件开发模型也是软件工程碑和进度表。因此,软件

6、开发模型也是软件工程的重要内容。程的重要内容。 软件过程模型软件过程模型瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型增量模型增量模型瀑布模型瀑布模型瀑布模型的根本思想是:瀑布模型的根本思想是: 瀑布模型严厉按照软件生存周期各个阶段来瀑布模型严厉按照软件生存周期各个阶段来进展开发,上一阶段的输出即是下一阶段的输入,进展开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严厉性。形如瀑布流水,最终并强调每一阶段的严厉性。形如瀑布流水,最终得到软件产品。得到软件产品。 它规定了各阶段的义务和应提交的成果及文档,它规定了各阶段的义务和应提交的成果及文档,每一阶段的义务完成后,都

7、必需对其阶段性产品每一阶段的义务完成后,都必需对其阶段性产品主要是文档进展评审,经过后才干开场下一主要是文档进展评审,经过后才干开场下一阶段的任务。因此,它是一种以文档作为驱动的阶段的任务。因此,它是一种以文档作为驱动的模型。模型。特点:特点: 上一阶段的变换结果上一阶段的变换结果 是下一阶段的变换的是下一阶段的变换的 输入,相邻两个阶段输入,相邻两个阶段 具有因果关系,严密相联。具有因果关系,严密相联。需求分析需求分析问题定义问题定义可性行研讨可性行研讨方案方案时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运转与维护运转与维护运运 行行时时 期期瀑布模型瀑布模

8、型的特点瀑布模型的特点1.阶段间具有顺序性和依赖性阶段间具有顺序性和依赖性2.推迟实现的观念推迟实现的观念3.质量保证的观念质量保证的观念瀑布模型需求分析需求分析方案方案设计设计编码编码测试测试运转、维护运转、维护定义定义阶段阶段开发开发阶段阶段维护维护阶段阶段瀑布模型瀑布模型瀑布模型的优点:瀑布模型的优点:1 1、强迫开发人员采用规范的技术方法;、强迫开发人员采用规范的技术方法;2 2、严厉地规定了每个阶段必需提交的文档;、严厉地规定了每个阶段必需提交的文档;3 3、每个阶段终了前必需正式进展严厉的技术审、每个阶段终了前必需正式进展严厉的技术审查和管理复审。查和管理复审。瀑布模型瀑布模型瀑布

9、模型的缺陷:瀑布模型的缺陷:1 1、在软件开发的初期阶段就要求做出正确、全、在软件开发的初期阶段就要求做出正确、全面、完好的需求分析对许多运用软件来说是极面、完好的需求分析对许多运用软件来说是极其困难的。其困难的。2 2、在需求分析阶段,当需求确定后,无法及时、在需求分析阶段,当需求确定后,无法及时验证需求能否正确、完好。验证需求能否正确、完好。3 3、作为整体开发的瀑布模型,由于不支持产品、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵敏性,对开发过程中很难发现的演化,缺乏灵敏性,对开发过程中很难发现的错误,只需在最终产品运转时才干暴显露来,的错误,只需在最终产品运转时才干暴显露来,从

10、而使软件产品难以维护。从而使软件产品难以维护。 软件过程模型软件过程模型瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型增量模型增量模型原型模型原型模型原型模型也称快速原型模型,根本思想:原型模型也称快速原型模型,根本思想: 软件开发人员在与用户进展需求分软件开发人员在与用户进展需求分析时,以比较小的代价快速建立一个可以析时,以比较小的代价快速建立一个可以反映用户主要需求的原型系统,在实际过反映用户主要需求的原型系统,在实际过程中提出改良意见,开发人员根据用户的程中提出改良意见,开发人员根据用户的意见,对原型进展补充和完善,然后再由意见,对原型进展补充和完善,然后再由用户试用、

11、评价、提出建议,反复这一过用户试用、评价、提出建议,反复这一过程,直到用户对开发的原型系统称心为止。程,直到用户对开发的原型系统称心为止。 原型模型原型模型主要做法是:主要做法是: 首先建立一个可以反映用户主要需求的原型,首先建立一个可以反映用户主要需求的原型,让用户实践看一看未来系统的概貌,以便判让用户实践看一看未来系统的概貌,以便判别哪些功能是符合需求的,哪些方面还需求别哪些功能是符合需求的,哪些方面还需求改良。然后将原型反复改良,最终建立完全改良。然后将原型反复改良,最终建立完全符合用户要求的新系统。符合用户要求的新系统。原型模型原型模型需求的采集和细需求的采集和细化化快 速 设快 速

12、设计计建 造 原建 造 原型型用户评价原型用户评价原型对原型加工对原型加工(需求准确化需求准确化)产品样品产品样品(需求确认需求确认)开场开场停顿停顿原型运转原型运转反响意见反响意见修正修正/ /更新更新原型模型的特点原型模型的特点加工加工原型原型原型原型快速分析快速分析和设计和设计建造建造原型原型客户客户评价原型评价原型1 1、原型系统仅包括未来系统的主要功能,、原型系统仅包括未来系统的主要功能,以及系统的重要接口。它不包括细节,以及系统的重要接口。它不包括细节,例如异常处置,对无效输入的反响等,例如异常处置,对无效输入的反响等,对系统的性能需求:如硬件运转速度等对系统的性能需求:如硬件运转

13、速度等也可推迟思索也可推迟思索2 2、为了尽快向用户提供原型,、为了尽快向用户提供原型, 开发原型系统时应尽量运用开发原型系统时应尽量运用 能缩短开发周期的言语和工能缩短开发周期的言语和工 具。具。 原型模型原型模型n举例:举例:n UNIX支持的支持的SHELL言语是一种功能很强的高言语是一种功能很强的高级言语,有人用这种言语来写一个办公自动化级言语,有人用这种言语来写一个办公自动化系统的原型系统,只需求一天就完成了编程和系统的原型系统,只需求一天就完成了编程和测试,比运用其他高级言语快了许多倍。测试,比运用其他高级言语快了许多倍。n虽然虽然SHELL言语在运转时需求很大的支撑系统,言语在运

14、转时需求很大的支撑系统,运转速度也是比较缓慢的,不太适宜用来实现运转速度也是比较缓慢的,不太适宜用来实现最终的实践系统,但用它来开发原型系统,可最终的实践系统,但用它来开发原型系统,可以大大加快实现的速度。以大大加快实现的速度。原型模型原型模型原型模型的顺应场所:原型模型的顺应场所:原型模型比瀑布模型更符合人们认识事物的过程原型模型比瀑布模型更符合人们认识事物的过程和规律,是一种较适用的开发框架。和规律,是一种较适用的开发框架。它适宜于那些不能预先确切定义需求的软件系统它适宜于那些不能预先确切定义需求的软件系统的开发,更适宜于那些工程组成员包括分析的开发,更适宜于那些工程组成员包括分析员、设计

15、员、程序员和用户不能很好交流或员、设计员、程序员和用户不能很好交流或通讯有困难的情况。通讯有困难的情况。 软件过程模型软件过程模型瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型增量模型增量模型软件分阶段增量模型表示图软件分阶段增量模型表示图 软件产品的不同阶段是按产品所具有的功能划分,先软件产品的不同阶段是按产品所具有的功能划分,先开发主要功能或用户最需求的功能,然后,随着时间开发主要功能或用户最需求的功能,然后,随着时间推进,不断添加新的辅助功能或次要功能,最终开发推进,不断添加新的辅助功能或次要功能,最终开发出一个强大的、功能完善的、高质量的、稳定的产品。出一个强大的、功

16、能完善的、高质量的、稳定的产品。增量模型增量模型增量模型增量模型n在增量模型中,软件被作为一系列的增在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块构成一个构件是由多种相互作用的模块构成的提供特定功能的代码片段构成的提供特定功能的代码片段构成 增量模型增量模型n增量模型是瀑布模型的线性顺序特征增量模型是瀑布模型的线性顺序特征(反复地反复地运用运用)和快速原型法的迭代特征相结合的产物。和快速原型法的迭代特征相结合的产物。n增量模型把软件看做是一系列相互联络的增量。增量模型把软件看做是一系列相互联络的增量。采用线性

17、序列,每个线性序列产生软件的一个采用线性序列,每个线性序列产生软件的一个可发布的可发布的“增量。增量。n在运用增量模型时,第在运用增量模型时,第1个增量往往是实现根个增量往往是实现根本需求的中心产品。即第本需求的中心产品。即第1个增量实现了根本个增量实现了根本的需求,但很多补充的特征还没有发布。中心的需求,但很多补充的特征还没有发布。中心产品交付用户运用后,经过评价构成下一个增产品交付用户运用后,经过评价构成下一个增量的开发方案,它包括对中心产品的修正和一量的开发方案,它包括对中心产品的修正和一些新功能的发布。这个过程在每个增量发布后些新功能的发布。这个过程在每个增量发布后不断反复,直到产生最

18、终的完善产品。不断反复,直到产生最终的完善产品。增量模型增量模型n客户对每一个增量的运用和评价都作为客户对每一个增量的运用和评价都作为下一个增量发布的新特征和功能,这个下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断反复,直过程在每一个增量发布后不断反复,直到产生了最终的完善产品。增量模型强到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。调每一个增量均发布一个可操作的产品。n增量模型与原型实现模型本质上都是迭增量模型与原型实现模型本质上都是迭代的,但与原型实现不一样的是其强调代的,但与原型实现不一样的是其强调每一个增量均发布一个可操作产品。每一个增量均发布一个

19、可操作产品。 软件过程模型软件过程模型瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型增量模型增量模型螺旋模型螺旋模型螺旋模型:螺旋模型: 综合了瀑布模型和原型模型的优点,即将两综合了瀑布模型和原型模型的优点,即将两者结合,并参与了风险分析机制。者结合,并参与了风险分析机制。 螺旋模型的每一个周期都包括方案需求定螺旋模型的每一个周期都包括方案需求定义、风险分析、工程实现和评审义、风险分析、工程实现和评审4 4个阶段。个阶段。螺旋模型的开发步骤螺旋模型的开发步骤1、确定目的,选择方案,设定约束条件,选定完本、确定目的,选择方案,设定约束条件,选定完本钱周期所定目的的战略。钱周期所

20、定目的的战略。2.分析该战略能够存在的风险。必要时经过建立一个分析该战略能够存在的风险。必要时经过建立一个原型来确定风险的大小;然后据此决议是按原定目原型来确定风险的大小;然后据此决议是按原定目的执行,还是修正目的或终止目的。的执行,还是修正目的或终止目的。3、在排除风险后,实现本螺旋周期的目的,例如,、在排除风险后,实现本螺旋周期的目的,例如,第一圈能够产消费品的规格阐明书,第二圈能够实第一圈能够产消费品的规格阐明书,第二圈能够实现产品的设计等。现产品的设计等。4、最后一步是评价前一步的结果,并且方案下一轮、最后一步是评价前一步的结果,并且方案下一轮的任务。的任务。螺旋模型螺旋模型螺旋模型

21、假设开发小组对工程的需求已有较好的了解,那么第一圈就可以直接采用瀑布模型,这时的螺旋模型可只含单圈螺线。反之,假设对工程的需求没有把握,就需求经过多圈螺线,并经过开发一个或多个原型来弄清软件的需求。螺旋模型螺旋模型1 1、方案需求定义、方案需求定义 第一周期开场利用需求分析技术了解第一周期开场利用需求分析技术了解运用领域,获取初步用户需求,制定工程运用领域,获取初步用户需求,制定工程开发方案即整个软件生命周期方案和开发方案即整个软件生命周期方案和需求分析方案。经过一个周期后,根据用需求分析方案。经过一个周期后,根据用户和开发人员对上一周期任务成果评价和户和开发人员对上一周期任务成果评价和评审,

22、修正、完善需求,明确下一周期软评审,修正、完善需求,明确下一周期软件开发的目的、约束条件,并据此制定新件开发的目的、约束条件,并据此制定新一轮的软件开发方案。一轮的软件开发方案。螺旋模型螺旋模型2 2、风险分析、风险分析 根据本轮制定的开发方案,进展风险根据本轮制定的开发方案,进展风险分析,评价可选方案,并构造原型进一步分析,评价可选方案,并构造原型进一步分析风险,给出消除或减少风险的途径。分析风险,给出消除或减少风险的途径。此时根据风险分析的结果断策工程能否继此时根据风险分析的结果断策工程能否继续。所以,螺旋模型是一个风险驱动的模续。所以,螺旋模型是一个风险驱动的模型。型。3 3、工程实现、

23、工程实现 利用构造的原型进展需求建模或进展利用构造的原型进展需求建模或进展系统模拟,系统模拟,直至实现软件系统。,直至实现软件系统。螺旋模型螺旋模型4 4、用户评价与阶段评审、用户评价与阶段评审 将原型提交用户运用并征求改良意见。将原型提交用户运用并征求改良意见。开发人员应在用户的亲密配合下进一步完开发人员应在用户的亲密配合下进一步完善用户需求,直到用户以为原型可满足需善用户需求,直到用户以为原型可满足需求,或对软件产品设计进展评价或确认等。求,或对软件产品设计进展评价或确认等。 螺旋模型从第一个周期的方案开场,螺旋模型从第一个周期的方案开场,一个周期、一个周期地不断迭代,直到整一个周期、一个

24、周期地不断迭代,直到整个软件系统开发完成。个软件系统开发完成。螺旋模型螺旋模型螺旋模型的优点:螺旋模型的优点:支持用户需求的动态变化。具有良好的可扩展性和支持用户需求的动态变化。具有良好的可扩展性和可修正性。也支持软件系统的可维护性,每次维可修正性。也支持软件系统的可维护性,每次维护过程只是沿螺旋模型继续多走一两个周期。护过程只是沿螺旋模型继续多走一两个周期。原型易于用户和开发人员共同了解需求,还可作为原型易于用户和开发人员共同了解需求,还可作为继续开发的根底,并为用户参与一切关键决策提继续开发的根底,并为用户参与一切关键决策提供了方便。供了方便。螺旋模型特别强调原型的可扩展性和可修正性,原螺

25、旋模型特别强调原型的可扩展性和可修正性,原型的进化贯穿整个软件生存周期,这将有助于目型的进化贯穿整个软件生存周期,这将有助于目的软件的顺应才干。的软件的顺应才干。螺旋模型为工程管理人员及时调整管理决策提供了螺旋模型为工程管理人员及时调整管理决策提供了方便,进而可降低开发风险。方便,进而可降低开发风险。 软件过程模型软件过程模型瀑布模型瀑布模型原型模型原型模型螺旋模型螺旋模型喷泉模型喷泉模型增量模型增量模型喷泉模型喷泉模型 喷泉模型是近几年提出来的软件生存周期喷泉模型是近几年提出来的软件生存周期模型。它是以面向对象的软件开发方法为根底模型。它是以面向对象的软件开发方法为根底,以用户需求为动力,以对象来驱动的模型。,以用户需求为动力,以对象来驱动的模型。该模型以为软件开发过程自下而上周期的各阶段该模型以为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。是相互迭代和无间隙的特性。 喷泉模型喷泉模型喷泉模型喷泉模型喷泉模型的特点:喷泉模型的特点:软件系统可维护性较好;软件系统可维护性较好;各阶段相互重叠,阐明了面向对象开发方法各阶段各阶段相互重叠,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论