- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 软件工程学概述 1.4.1 瀑布模型 传统的瀑布模型过于理想化了,事实上,人在工作过程中不可能不犯错误。在设计阶段可能发现规格说明文档中的错误,而设计上的缺陷或错误可能在实现过程中显现出来,在综合测试阶段将发现需求分析、设计或编码阶段的许多错误。因此,实际的瀑布模型是带“反馈环”的。 瀑布模型的改进 当在后面阶段发现前面阶段的错误时,需要返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。 维护反馈 第1章 软件工程学概述 1.4.2 快速原型模型 快速原型:是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。 快速原型模型的特点: 快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的。 快速原型的本质是“快速”。应该尽可能快地建造出原型系统,以加速软件开发过程,节约成本。 维护反馈 一次性提供完整产品! 第1章 软件工程学概述 1.4.2 快速原型模型 (1) 原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工(无需反馈)。 (2) 开发人员通过建立原型系统已经学到了许多东西(至少知道了“系统不应该做什么,以及怎样不去做不该做的事情”),因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。 软件产品一旦交付给用户使用之后,维护便开始了。根据所需完成的维护工作种类的不同,可能需要返回到需求分析、规格说明、设计或编码等不同阶段,如图中虚线箭头所示。 维护反馈 第1章 软件工程学概述 1.4.3 增量模型 增量模型:增量模型把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 非一次性提供完整产品! 第1章 软件工程学概述 1.4.3 增量模型 第一个增量构件往往实现软件的基本需求,提供最核心的功能。 第二个增量构件提供更完善的编辑和文档生成功能; 第三个增量构件实现拼写和语法检查功能; 第四个增量构件完成高级的页面排版功能。 把软件产品分解成增量构件时,应该使构件的规模适中,规模过大或过小都不好。最佳分解方法因软件产品特点和开发人员的习惯而异。分解时惟一必须遵守的约束条件是,当把新构件集成到现有软件中时,所形成的产品必须是可测试的。 增量模型构件特征(如文字处理软件): 第1章 软件工程学概述 1.4.3 增量模型 人员分配灵活,刚开始不用投入大量人力资源。 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。 增量模型的难点: 软件体系结构必须是开放的。 模型本身是自相矛盾的。整体——独立构件。 不同的构件并行地构建有可能加快工程进度,但是冒无法集成到一起的风险。 非一次性提供完整产品! 增量模型的优点: 第1章 软件工程学概述 1.4.3 增量模型 增量模型适用于: 适用于需求经常改变的软件开发过程。 如果在项目既定的商业要求期限之前不可能找到足够的开发人员,在这种情况下,增量模型显得特别有用。 第1章 软件工程学概述 1.4.3 增量模型 增量模型和瀑布模型之间的本质区别是: 瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。 增量模型属于非整体开发模型,它推迟某些阶段或所有阶段小的细节,从而较早地产生工作软件。 增量模型和快速原型模型在产品提交的不同是: 采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足所有需求的产品提交给用户。 增量模型则与之相反,它分批地逐步向用户提交产品。 第1章 软件工程学概述 1.4.4 螺旋模型 软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件越复杂,承担该项目所冒的风险也越大。软件风险可能在不同程度上损害软件开发过程和软件产品质量。因此,在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。 出现背景: 构建原型是一种能使某些类型的风险降至最低的方法。 为了降低交付给用户的产品不能满足用户需要的风险,一种行之有效的方法是在需求分析阶段快速地构建一个原型。在后续的阶段中也可以通过构造适当的原型来降低某些技术风险。当然,原型并不能“包治百病”,对于某些类型的风险,原型方法是无能为力的。 1988年,巴利·玻姆(Barry Boehm)正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的
文档评论(0)