软件开发模型最新总结

上传人:E**** 文档编号:91205846 上传时间:2019-06-26 格式:PPT 页数:31 大小:1.08MB
返回 下载 相关 举报
软件开发模型最新总结_第1页
第1页 / 共31页
软件开发模型最新总结_第2页
第2页 / 共31页
软件开发模型最新总结_第3页
第3页 / 共31页
软件开发模型最新总结_第4页
第4页 / 共31页
软件开发模型最新总结_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《软件开发模型最新总结》由会员分享,可在线阅读,更多相关《软件开发模型最新总结(31页珍藏版)》请在金锄头文库上搜索。

1、软件开发模型,软件开发模型,一、定义 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。 二、起源 最早出现的软件开发模型是1970年WRoyce提出的瀑布模型。该模型给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过渡,如同流水下泻,最终得到所开发的软件产品,投入使用。,一、瀑布模型(Waterfall Model ),定义:瀑布模型即生存周期模型,其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作

2、,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。 结构:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。,瀑布模型图:,计划,需求分析,设计,编码,测试,维护,修正,修正,修正,修正,修正,需求变更,瀑布模型:,特点:在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果影响,实施完成所需的工作内容 。 缺点: 1、 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; 2、由于开发模型是线性的,用户只有等到整个过程的

3、末期才能见到开发成果,从而增加了开发的风险; 3、早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。,二、增量模型(Incremental Model):,定义:又称演化模型。增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。 特点:当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强

4、调每一个增量均发布一个可操作的产品。,增量模型图:,需求分析 验证,规格说明 验证,概要设计 验证,对各部件完成设计,维护,增量模型:,优点: 在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成. 整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。,增量模型:,增量模型存在以下缺陷: 1、 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。 2、在

5、开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。 3、如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。,三、螺旋模型(Spiral Model) :,定义:1988年,Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 迭代方式:螺旋模型沿着螺线进行若干次迭代 1、 制定计划:确定软件

6、目标,选定实施方案,弄清项目开发的限制条件; 2、风险分析:分析评估所选方案,考虑如何识别和消除风 险; 3、实施工程:实施软件开发和验证; 4、客户评估:评价开发工作,提出修正建议,制定下一步计划。,螺旋模型图:,风险分析 快速原型 验证,风险分析 规格说明 验证,风险分析 设计 验证,风险分析 编码 测试,风险分析 综合测试,维护,风险分析 变化的需求 验证,螺旋模型:,优点:螺旋模型夸大风险阐发,使得开发职员以及用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具备高风险的系统。 缺点: 1、采用该模型需要具备相当丰富的风险评估经验以及专门知识,在风险较大

7、的项目开发中,如果没有或许及时标识风险,势必造成重大损失。 2、过多的迭代回数会增长开发成本,延迟提交时间。,四、喷泉模型(fountain model),定义:喷泉模型是一种以用户需求为动力,以对象为驱动的模型,首要用于描述面向对象的软件开发历程。该模型认为软件开发历程自下而上周期的各阶段是彼此重叠以及屡次反复的,就像水喷上去又可以落下来,近似一个喷水。 特点:各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时增补其它不论什么开发阶段中的遗漏。喷泉模型与传统的结构化生存期比较,具有更多的增量和迭代性质,生存期的各个阶段可以相互重叠和多次反复,而且在项目的整个生存期中还

8、可以嵌入子生存期。,喷泉模型图:,分析,设计,实现,确认,维护,演化,喷泉模型:,优点:是可以提高软件项目开发效率,节省开发时间,顺应于面向对象的软 件开发历程。 缺陷:由于喷水模型在各个开发阶段是重叠的,因此在开发历程中需要大量的开发职员,因此失败于项目的办理。此外这种模型要求严格的办理文档,使得审查核定 的困难程度加大,尤其是面临可能随时插手各类信息、需求与资料的情况。,五、智能模型(四代技术(4GL)):,定义:智能模型也称为“基于知识的软件开发模型”,它把瀑布模型以及专家系统结合在一路,利用专家系统来帮助软件开发职员的工作。该模型应用基于规则的系统,采用归纳以及推理机制,使维护在系统规

9、格申明一级进行。 构成:这种模型在实施过程中以软件工程知识为基础的天生法则组成的知识系统与包罗应用领域知识法则的专家系统相结合,组成这一应用领域软件的开发系统。,智能模型图:,需求分析,知识获取和表示,推理机制,软件原型系统,体系结构设计,软件实现,知识库 专家系统,智能模型:,4GL亮点:拥有一组工具,每个工具都能使开发人员在高层次上定义软件的某些特性,并把开发人员定义的这些软件自动地生成为源代码。 4GL特征: 1、用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序。 2、它是一种声明式、交互式和非过程性编程语言。 3、4GL还具有高效的程序代码、智能缺省假设、完备的数据库

10、和应用程序生成器 。,六、WINWIN模型 :,定义:WINWIN模型融合了螺旋模型的基本成分以及原型实现的迭代特性,夸大风险以及标识。路程经过过程早期谈判使客户以及开发者之间达成一致协议,它将变成进展成软件以及系统定义的关键标准。 优点:WINWIN模型夸大风险阐发以及标识,使得开发职员以及用户对每个演化层出现的风险有所相识,继而做出应有的反应。采用WINWIN模型的优点是客户以及开发者到达一种平衡,实现共赢,可是需要额外的谈判内容。,WINWIN模型图:,需求分析和定义,风险标识,风险评估和决策,软件设计与实现,软件产品及评审,WINWIN模型 :,抛锚点表示了项目遍历螺旋时的3个差别的进

11、展视图 : 1、第1个抛锚点称为“保存周期方针”,定义了一组针对每个首要软件工程过程的方针; 2、第二个抛锚点称为“保存周期系统布局”,建立了当系统以及软件系统布局被定义时必须满足的方针; 3、第3个抛锚点称为“初始操作能力”,它表示一组方针,这些方针以及将要安装销售软件的安装前场地筹办以及将施用该软件的各方所需的帮助相接洽关系。,定义:RAD(快速应用开发)模型是 一个增量型的软件开发过程模型,强调极短的开发周期。该模型是瀑布模型的一个“高速”变种,通过大量使用可复用构件,采用基于构件的建造方法赢得了快速开发。 与瀑布模型相比:RAD模型不采用传统的第3代程序设计语言来创建软件,而是采用基于

12、构件的开发方法复用已有的程序结构(如果可能)或使用可复用构件和或创建可复用的构件(如果需要)。在所有情况下,均使用自动化工具辅助软件创造。,七、RAD模型:,RAD模型图:,业务 建模,数据 建模,过程 建模,应用 生成,测试及 反复,小组1,小组2,。,小组N,RAD模型的缺陷: 1、RAD模型对模块化要求比较高,如果有哪一个功能不能被模块化,那么建造RAD所需要的构件就会有问题。 2、开发人员和客户必须在很短的时间内完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。 3、RAD只能用于信息系统开发,不适合技术风险很高的情况。,RAD模型:,八、并发开发模型:,定义:也称为“并发

13、工程”,它关注于多个任务的并发执行,表示为一系列的主要技术活动、任务及其相关状态。 构成:并发过程模型由客户要求、管理决策和评审结果驱动,不是将软件工程活动限定为一个顺序的事件序列,而是定义一个活动网络,网络上的每一个活动均可与其他活动同时发生。这种模型可以提供一个项目的当前状态的准确视图。,并发开发模型图:,开始,开发,等待改变,评审,修改,基线评估,完成,特点:并发过程模型定义了一系列事件,对于每一个软件工程活动,它们触发一个状态到另一个状态的变迁。当它应用于客户机服务器系统时,并发过程模型在两维上定义活动,即一个系统维和一个构件维。 优点:并发开发模型在软件开发全过程活动的并行化,打破了

14、传统软件开发的各阶段分割封闭的观念。其优点是可用于所有类型的软件开发,而对于客户服务器结构更加有效,可以随时查阅到开发的状态。,并发开发模型:,九、XP(eXtreme Programming )模型:,定义:敏捷方法是近几年兴起的一种轻量级的开发方法,它强调适应性而非预测性、强调以人为中心,而不以流程为中心,以及对变化的适应和对人性的关注,其特点是轻载、基于时间、Just Enough、并行并基于构件的软件过程。在所有的敏捷方法中,XP方法是最引人注目的一种轻型开发方法。 特点:该方法将开发阶段的4个活动(分析、设计、编码和测试)混合在一起,在全过程中采用迭代增量开发、反馈修正和反复测试。,XP模型图:,用户 故事,体系 结构,发布 计划,交 互,接受 测试,小型 发布,XP模型的优点如下 : 1、 采用简单计划策略,不需要长期计划和复杂模型,开发周期短。 2、在全过程采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证。 3、 能够适应用户经常变化的需求,提供用户满意的高质量软件。,XP模型:,That is all Thank You!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号