软件开发模型(最新总结ppt)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并发开发模型图:
开始
开发 等待改变 修改 评审
基线评估
完成
并发wenku.baidu.com发模型:
特点:并发过程模型定义了一系列事件,对于每 一个软件工程活动,它们触发一个状态到另一 个状态的变迁。当它应用于客户机/服务器系 统时,并发过程模型在两维上定义活动,即一 个系统维和一个构件维。 优点:并发开发模型在软件开发全过程活动的并 行化,打破了传统软件开发的各阶段分割封闭 的观念。其优点是可用于所有类型的软件开发, 而对于客户/服务器结构更加有效,可以随时 查阅到开发的状态。
增量模型图:
需求分析 验证
规格说明 验证
概要设计 验证
对各部件完成设计
维护
增量模型:
优点: 在增量模型中,软件被作为一系列的增量构件来 设计、实现、集成和测试,每一个构件是由多 种相互作用的模块所形成的提供特定功能的代 码片段构成. 整个产品被分解成若干个构件,开发人员逐个构 件地交付产品,这样做的好处是软件开发可以 较好地适应变化,客户可以不断地看到所开发 的软件,从而降低开发风险。
二、增量模型(Incremental Model):
定义:又称演化模型。增量模型融合了瀑布模 型的基本成分(重复应用)和原型实现的迭代 特征,该模型采用随着日程时间的进展而交错 的线性序列,每一个线性序列产生软件的一个 可发布的“增量”。 特点:当使用增量模型时,第1个增量往往是核 心的产品,即第1个增量实现了基本的需求,但 很多补充的特征还没有发布。客户对每一个增 量的使用和评估都作为下一个增量发布的新特 征和功能,这个过程在每一个增量发布后不断 重复,直到产生了最终的完善产品。增量模型 强调每一个增量均发布一个可操作的产品。
智能模型图:
需求分析 知识获取和表示 推理机制 软件原型系统 体系结构设计 软件实现 知识库 专家系统
智能模型:
4GL亮点:拥有一组工具,每个工具都能使开发 人员在高层次上定义软件的某些特性,并把开发 人员定义的这些软件自动地生成为源代码。 4GL特征: 1、用户界面极端友好,即使没有受过训练的非专 业程序员,也能用它编写程序。 2、它是一种声明式、交互式和非过程性编程语言。 3、4GL还具有高效的程序代码、智能缺省假设、 完备的数据库和应用程序生成器 。
WINWIN模型图:
需求分析和定义
风险标识
风险评估和决策
软件设计与实现
软件产品及评审
WINWIN模型 :
抛锚点表示了项目遍历螺旋时的3个差别的进展视 图: 1、第1个抛锚点称为“保存周期方针”,定义了 一组针对每个首要软件工程过程的方针; 2、第二个抛锚点称为“保存周期系统布局”,建 立了当系统以及软件系统布局被定义时必须满 足的方针; 3、第3个抛锚点称为“初始操作能力”,它表示 一组方针,这些方针以及将要安装/销售软件 的安装前场地筹办以及将施用该软件的各方所 需的帮助相接洽关系。
软件开发模型
软件开发模型
一、定义
软件开发模型(Software Development Model)是指软件 开发全部过程、活动和任务的结构框架。软件开发 模型能清晰、直观地表达软件开发全过程,明确规 定了要完成的主要活动和任务,用来作为软件项目 工作的基础。
二、起源
最早出现的软件开发模型是1970年W·Royce提出的 瀑布模型。该模型给出了固定的顺序,将生存期活 动从上一个阶段向下一个阶段逐级过渡,如同流水 下泻,最终得到所开发的软件产品,投入使用。
螺旋模型图:
风险分析 快速原型 验证 风险分析 规格说明 验证 风险分析 设计 验证 风险分析 编码 测试 风险分析 综合测试 维护 风险分析 变化的需求 验证
螺旋模型:
优点:螺旋模型夸大风险阐发,使得开发职员以 及用户对每个演化层出现的风险有所了解,继而 做出应有的反应,因此特别适用于庞大、复杂并 具备高风险的系统。 缺点: 1、采用该模型需要具备相当丰富的风险评估经 验以及专门知识,在风险较大的项目开发中,如 果没有或许及时标识风险,势必造成重大损失。 2、过多的迭代回数会增长开发成本,延迟提交 时间。
RAD模型图:
小组1 业务 建模 数据 建模 过程 建模 应用 生成 测试及 反复 小组2 。。。 小组N
RAD模型:
RAD模型的缺陷: 1、RAD模型对模块化要求比较高,如果有 哪一个功能不能被模块化,那么建造 RAD所需要的构件就会有问题。 2、开发人员和客户必须在很短的时间内完 成一系列的需求分析,任何一方配合不当 都会导致RAD项目失败。 3、RAD只能用于信息系统开发,不适合技 术风险很高的情况。
一、瀑布模型(Waterfall Model
)
定义:瀑布模型即生存周期模型,其核心思想是 按工序将问题化简,将功能的实现与设计分开, 便于分工协作,即采用结构化的分析与设计方 法将逻辑实现与物理实现分开。 结构:瀑布模型将软件生命周期划分为制定计划、 需求分析、软件设计、程序编写、软件测试和 运行维护等六个基本活动,并且规定了它们自 上而下、相互衔接的固定次序,如同瀑布流水, 逐级下落。
XP模型图:
用户 故事
体系 结构
发布 计划
交 互
接受 测试
小型 发布
XP模型:
XP模型的优点如下 : 1、 采用简单计划策略,不需要长期计划和 复杂模型,开发周期短。 2、在全过程采用迭代增量开发、反馈修正 和反复测试的方法,软件质量有保证。 3、 能够适应用户经常变化的需求,提供用 户满意的高质量软件。
增量模型:
增量模型存在以下缺陷: 1、 由于各个构件是逐渐并入已有的软件体系结构 中的,所以加入构件必须不破坏已构造好的系统部 分,这需要软件具备开放式的体系结构。 2、在开发过程中,需求的变化是不可避免的。增量 模型的灵活性可以使其适应这种变化的能力大大优 于瀑布模型和快速原型模型,但也很容易退化为边 做边改模型,从而是软件过程的控制失去整体性。 3、如果增量包之间存在相交的情况且未很好处理, 则必须做全盘系统分析,这种模型将功能细化后分 别开发的方法较适应于需求经常改变的软件开发过 程。
喷泉模型图:
演化 维护 确认 实现 设计 分析
喷泉模型:
优点:是可以提高软件项目开发效率,节 省开发时间,顺应于面向对象的软 件开 发历程。 缺陷:由于喷水模型在各个开发阶段是重 叠的,因此在开发历程中需要大量的开发 职员,因此失败于项目的办·理。此外这 种模型要求严格的办理文档,使得审查核 定 的困难程度加大,尤其是面临可能随 时插手各类信息、需求与资料的情况。
四、喷泉模型(fountain model)
定义:喷泉模型是一种以用户需求为动力,以对 象为驱动的模型,首要用于描述面向对象的软件 开发历程。该模型认为软件开发历程自下而上周 期的各阶段是彼此重叠以及屡次反复的,就像水 喷上去又可以落下来,近似一个喷水。 特点:各个开发阶段没有特定的次序要求,并且 可以交互进行,可以在某个开发阶段中随时增补 其它不论什么开发阶段中的遗漏。喷泉模型与传 统的结构化生存期比较,具有更多的增量和迭代 性质,生存期的各个阶段可以相互重叠和多次反 复,而且在项目的整个生存期中还可以嵌入子生 存期。
七、RAD模型:
定义:RAD(快速应用开发)模型是 一个增量 型的软件开发过程模型,强调极短的开发周期。 该模型是瀑布模型的一个“高速”变种,通过 大量使用可复用构件,采用基于构件的建造方 法赢得了快速开发。 与瀑布模型相比:RAD模型不采用传统的第3代 程序设计语言来创建软件,而是采用基于构件 的开发方法复用已有的程序结构(如果可能) 或使用可复用构件和或创建可复用的构件(如 果需要)。在所有情况下,均使用自动化工具 辅助软件创造。
六、WINWIN模型 :
定义:WINWIN模型融合了螺旋模型的基本成分 以及原型实现的迭代特性,夸大风险以及标识。 路程经过过程早期谈判使客户以及开发者之间达 成一致协议,它将变成进展成软件以及系统定义 的关键标准。 优点:WINWIN模型夸大风险阐发以及标识,使 得开发职员以及用户对每个演化层出现的风险有 所相识,继而做出应有的反应。采用WINWIN模 型的优点是客户以及开发者到达一种平衡,实现 共赢,可是需要额外的谈判内容。
五、智能模型(四代技术(4GL)):
定义:智能模型也称为“基于知识的软件开 发模型”,它把瀑布模型以及专家系统结 合在一路,利用专家系统来帮助软件开发 职员的工作。该模型应用基于规则的系统, 采用归纳以及推理机制,使维护在系统规 格申明一级进行。 构成:这种模型在实施过程中以软件工程知 识为基础的天生法则组成的知识系统与包 罗应用领域知识法则的专家系统相结合, 组成这一应用领域软件的开发系统。
九、XP(eXtreme Programming )模型:
定义:敏捷方法是近几年兴起的一种轻量级的 开发方法,它强调适应性而非预测性、强调以 人为中心,而不以流程为中心,以及对变化的 适应和对人性的关注,其特点是轻载、基于时 间、Just Enough、并行并基于构件的软件过程。 在所有的敏捷方法中,XP方法是最引人注目的 一种轻型开发方法。 特点:该方法将开发阶段的4个活动(分析、设 计、编码和测试)混合在一起,在全过程中采 用迭代增量开发、反馈修正和反复测试。
三、螺旋模型(Spiral Model) :
定义:1988年,Barry Boehm正式发表了软件系统开发的“螺 旋模型”,它将瀑布模型和快速原型模型结合起来,强调了 其他模型所忽视的风险分析,特别适合于大型复杂的系统。 迭代方式:螺旋模型沿着螺线进行若干次迭代 1、 制定计划:确定软件目标,选定实施方案,弄清项目开 发的限制条件; 2、风险分析:分析评估所选方案,考虑如何识别和消除风 险; 3、实施工程:实施软件开发和验证; 4、客户评估:评价开发工作,提出修正建议,制定下一步 计划。
瀑布模型图:
计划 需求分析 设计 需求变更
编码
测试
维护
瀑布模型:
特点:在瀑布模型中,软件开发的各项活动严 格按照线性方式进行,当前活动接受上一项活 动的工作结果影响,实施完成所需的工作内容 。 缺点: 1、 各个阶段的划分完全固定,阶段之间产生大 量的文档,极大地增加了工作量; 2、由于开发模型是线性的,用户只有等到整个 过程的末期才能见到开发成果,从而增加了开 发的风险; 3、早期的错误可能要等到开发后期的测试阶段 才能发现,进而带来严重的后果。
八、并发开发模型: 定义:也称为“并发工程”,它关注于多 个任务的并发执行,表示为一系列的主要 技术活动、任务及其相关状态。 构成:并发过程模型由客户要求、管理决 策和评审结果驱动,不是将软件工程活动 限定为一个顺序的事件序列,而是定义一 个活动网络,网络上的每一个活动均可与 其他活动同时发生。这种模型可以提供一 个项目的当前状态的准确视图。