软件工程复习.pdfVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、软件开发生命周期模型

1.Code-and-fixlife-cyclemodel:

遗憾的是,许多产品都是使用许多产品都是使用边做边改边做边改模型来开发的。在这种模型中,

既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断

被修改.

在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后

生成软件的第一个版本。在提供给用户使用后,如果程序出现错误,或者用

户提出新的要求,开发人员重新修改代码,直到用户满意为止。

这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这

种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:

(1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无

法继续修改;

(2)忽略需求环节,给软件开发带来很大的风险;

(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分

困难。

2.Waterfalllife-cyclemodel:

1970年WinSTonRoyce提出提出了著名了著名的的瀑布瀑布模型模型,直到80年代早期,它一

直是唯一被广泛采用的软件开发模型。瀑布模型将软件生命周期划分为制定计划、

需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规

定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。在瀑布模

型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的

工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果

验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修

1

改。

瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线

性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问

题在于:

(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作

量;

(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,

从而增加了开发的风险;

(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后

果。

我们应该认识到,我们应该认识到,线性线性是人们最容易掌握并能熟练应用的思想方法。当

人们人们碰碰到到一一个个复杂复杂的的非非线性线性问题时,总是千方百计地将其分解或转化为一系列

简单的线性问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子

程序总是简单的,可以用线性的方式来实现,否则干活就太累了。线性是一种简

洁,简洁就是美。当我们领会了线性的精神,就不要再呆板地套用线性模型的外

表,而应该用活它。例如增量模型实质就是分段的线性模型,螺旋模型则是接连

的弯曲了的线性模型,在其它模型中也能够找到线性模型的影子。

3.Rapidprototypinglife-cyclemodel:

快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统

的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步

调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二

步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服

2

瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,

所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅

速建立原型,随之迅速修改原型,以反映客户的需求。

4.增量模型(IncrementalModel)

与建造大厦相同,软件也是一步一步建造起来的。在增量模型中,软件被作

为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用

的模块所形成的提供特定功能的代码片段构成.

增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需

求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件

地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看

到所开发的软件,从而降低开发风险。但是,增量模型也存在以下缺陷:

(1)由于各个构件是逐渐并入已有

文档评论(0)

182****3273 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档