软件开发过程的分析文档.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任 务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护 阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成 的主要活动和任务,用来作为软件项目工作的基础。 对于不同的软件系统,可以 采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工 作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的 软件 工程环境。 目录 类型简介 典型的开发模型 类型简介 典型的开发模型 展开 编辑本段类型简介 瀑布模型 最早出现的软件开发模型是 1970年W Royce提出的瀑布模型。该模 型给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过渡, 如同流水下泻,最终得到所开发的软件产品,投入使用。但计算拓广到统 计分析、商业事务等领域时,大多数程序采用高级语言 (如FORTRAN COBOL 等)编写。瀑布模式模型也存在着缺乏灵活性、无法通过并发活动澄清本来 不够确切的需求等缺点。 常见模型 演化模型、螺旋模型、喷泉模型、 智能模型 等。 编辑本段典型的开发模型 综述 典型的开发模型有:1.边做边改模型(Build-a nd-Fix Model); 2.瀑 布模型(Waterfall Model); 3.快速原型模型 (Rapid Prototype Model); 4.增量模型(In creme ntal Model ) ; 5.螺旋模型(Spiral Model ) ; 6. 演化模型(incremental model) ; 7.喷泉模型(fountain model) ; 8.智能模 型(四代技术(4GL) ) ; 9.混合模型(hybrid model ) 边做边改模型(Build-a nd-Fix Model ) 遗憾的是,许多产品都是使用 边做边改模型来开发的。在这种模型 中,既没有规格说明,也没有经过设计, 软件随着客户的需要一次又一次 地不断被修改. ; ] I ri 边做边改型 在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生 成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用 户提出新的要求,开发人员重新修改代码,直到用户满意为止。 这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错, 但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于: (1) 缺少规划和设计环节,软件的结构随着不断的修改越来越糟, 导致无法继续修改; (2) 忽略需求环节,给软件开发带来很大的风险; (3) 没有考虑测试和程序的可维护性,也没有任何文档,软件的维 护十分困难。 瀑布模型(Waterfall Model ) 1970年Winston Royce提出了著名的瀑布模型,直到80年代早期, 它一直是唯一被广泛采用的软件开发模型。 M aCIBVfM p Hmn M aCIBVfM p Hmn T AfltfiffBH 瀑布模型 瀑布模型将 软件生命周期 划分为制定计划、需求分析、软件设计、程序编 写、软件测试 和运行维护等六个基本活动,并且规定了它们自上而下、相 互衔接的固定次序,如同瀑布流水,逐级下落。 在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活 动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工 作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入, 继续进行下一项活动,否则返回修改。 瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这 种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业 界抛弃,其主要问题在于: (1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地 增加了工作量; (2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见 到开发成果,从而增加了开发的风险; (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带 来严重的后果。 我们应该认识到,线性是人们最容易掌握并能熟练应用的思想方法。 当人们碰到一个复杂的非线性问题时,总是千方百计地将其分解或转化 为一系列简单的线性问题,然后逐个解决。一个软件系统的整体可能是复 杂的,而单个子程序总是简单的,可以用线性的方式来实现,否则干活就 太累了。线性是一种简洁,简洁就是美。当我们领会了线性的精神,就不 要再呆板地套用线性模型的外表,而应该用活它。例如增量模型实质就是 分段的线性模型,螺旋模型则是接连的弯曲了的线性模型,在其它模型中 也能够找到线性模型的影子。 快速原型模型(Rapid Prototype Model ) 快速原型模型的第一步是建造一个快速原型,实现客户

文档评论(0)

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

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

1亿VIP精品文档

相关文档