软件开发模型介绍与对比分析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用的软件开发模型 软件 开发模型 (Software Development Model) 是指软件开发 全部过程、活动和 任务的结构框 架。软件开发包括需求、设 段。 软件开发 模型能清晰、直观地表达软 计、编码和测试等阶段,有 时也包括维护阶 件开发全过程,明确规定了 要完成的主要活 动和任务,用来作为软 件项目工作的基础。对于不同的软件 系统,可以采用不同的开 发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作 、运用不同的管 发方法、使用不同的程序设计语言以及各 种不同技能的人员参与工作 、运用不同的管 理方法和手段 等,以及允许采用不同的软件工 具和不同的软件工程环境。 瀑布模型 -最早出现的软件开发模型 1970 年温斯顿 ?罗伊斯( Winston Royce )提出了著名的 “瀑布模型 ”,直到 80 年 代早期,它一 直是唯一被广泛采用的软件开发 模型。 瀑布模型 核心思想是按工序将问题化简 ,将功能的实现与设计分开 ,便于分工协 作,即采 用结构化的分析与设计方法将逻 辑实现与物理实现分开。将 软件生命周期划 分为制定计划 、需求分析、软件设计、程序编写、软件测试和运行维 护等六个基本活 动,并 且规定了它们自上而下 、相互衔接的固定次序 ,如同瀑布流水,逐级 下落。从 本质来讲,它是一个软 件开发架构,开发过程是通过一系列 阶段顺序展开的,从系统 需求分析开始 直到产品发布和维护,每个阶段都会产 生循环反馈,因此,如果有信息 未被覆盖或者 发现了问题, 那么 最好 “返回 ”上一个 阶段并进行适当的修改 ,开发进程 从一个阶段 “流动 ”到下一个阶段, 这也是瀑布开发名称的由来。 瀑布模型是最 早出现的软件开发模型,在软件工程中占有重要的地位 ,它提供了 软件开发的基 本框架。其过程是从上一项 活动接收该项活动的工作对象作 为输入,利 用这一输入实 施该项活动应完成的内容给出该 项活动的工作成果, 并 作为输出传给下 一项活动。同 时评审该项活动的实施,若确认 ,则继续下一项活动;否则返 回前面, 甚至更前面的 活动。对于经常变化的项目而 言,瀑布模型毫无价值。(采用瀑布模型 的软件过程如 图所示) 用户要求瀑布模型的优缺点1、瀑布模型有以下优点:1) 为项目提供了按阶段划分的2) 当前一阶段完成后,您只需3 )可在迭代模型中应用瀑布模检查点。 用户要求 瀑布模型的优缺点 1、瀑布模型有以下优点: 1) 为项目提供了按阶段划分的 2) 当前一阶段完成后,您只需 3 )可在迭代模型中应用瀑布模 检查点。 要去关注后续阶段。 型。 增量迭代应用于瀑布模型。迭代 1解决最大的问题。每次迭代产 生一个可运行的 版本,同时增加更多的功能。每次 2、瀑布模型有以下缺点: 1) 在项目各个阶段之间极少有 2) 只有在项目生命周期的后期 3) 通过过多的强制完成日期和 迭代必须经过质量和集成测试。 反馈。 才能看到结果。 里程碑来跟踪各个项目阶段。 瀑布模型的客户需求 尽管瀑布 模型招致了很多批评,但是 它对很多类型的项目而言依然是 有效的,如 果正确使用,可以节省 大量的时间和金钱。对于您的项目而 言,是否使用这一模型主 要取决于您是 否能理解客户的需求以及在项目 的进程中这些需求的变化程度 ,对于经 常变化的项目 而言,瀑布模型毫无价值,对于这种情况,您可以考虑 其他的架构来进 行项目管理, 比如名为螺旋模型( spiral model )的方法。 在瀑布模 型中,软件开发的各项活动 严格按照线性方式进行,当 前活动接受上一 项活动的工作 结果,实施完成所需的工作内容 。当前活动的工作结果需要进 行验证, 如果验证通过,则该结 果作为下一项活动的输入,继续进行 下一项活动,否则返回修 改。 瀑布模型 强调文档的作用,并要求每个阶段都要 仔细验证。但是,这种模型的线 性过程太理想 化,已不再适合现代的软件开发模式,几乎被 业界抛弃,其主要问题在 于: 量; (2) 由于开发模型是线性的, 用户只有等到整个过程的末期才能见到开发成果 从而增加了开发的风险; (3) 早期的错误可能要等到开发后期的 测试阶段才能发现,进 而带来严重的后 果。 按照瀑布模型 的阶段划分,软件测试可以分为 单元测试,集成测试,系统测 试。 迭代模型 早在20世纪50年代末期,软件领域中就出现了迭 代模型。最早的迭代过程可能 被描述为 分段模型(stagewise model ) ”,其背景是 H.D.Benington 领导的美国空 军SAGE项目。 迭代模型是 RUP ( Rational Unified Process,统一软件开发过程,统一软件过 程)推荐的 周期模型。在 RUP中,迭代被定义为:迭代包括产生产品 发布(稳

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档