- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1部分软件工程与过程软件过程模型
软件工程方法与实践(机械工业出版社);上一章回顾;1.现代软件工程(国家示范性软件学院系列教材)
张家浩/东南大学 机械工业出版社 2009.1
2.软件工程 — 理论与实践
许家珆 曾翎 彭德中 编著 高等教育出版社 2004.7
3.软件工程-实践者的研究方法
(美)Roger S. Pressman著 郑人杰等译 机械工业出版社 2008.6
4.Software Engineering, 6th Edition
Sommerville.I. (影印版) 机械工业出版社 2003.4;总 目 录;总 目 录;第3章 软件过程模型;也称线性顺序模型。在20世纪80年代之前,瀑布模型一直是惟一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型,它提供了软件开发的基本框架。
其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,并作为输出传给下一项项。同时,评审该项活动的??施若确认,则继续下一项活动;否则,返回前面甚至更前面的活动。
传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。
;图3.1 传统的瀑布模型;传统的瀑布模型有下述的几个特点:
阶段间具有顺序性和依赖性
顺序性是指:只有等前一阶段的工作完成以后,后一阶段的工作才能开始;前一阶段的输出文档,就是后一阶段的输入文档。
依赖性是指只有前一阶段有正确的输出时,后一阶段才可能有正确的结果。
2. 推迟实现的观点
过早地考虑程序的实现,常常导致大量返工,有时甚至给开发人员带来灾难性的后果。
瀑布模型在编码以前安排了分析阶段和设计阶段,并且明确宣布,这两个阶段都只考虑目标系统的逻辑模型,不涉及软件的物理实现。
把逻辑设计与物理设计清楚地划分开来,尽可能推迟程序的物理实现,这是瀑布型软件开发的一条重要的指导思想。
3. 质量保证的观点
为了保证质量,瀑布型软件开发在各个阶段坚持了两个重要的做法:
(1)每一阶段都要完成规定的文档。没有完成文档,就认为没有完成该阶段的任务。
(2)每一阶段都要对完成的文档进行复审,以便尽早发现问题,消除隐患。
4. 是一种线性模型
5. 强调文档的作用
;瀑布模型所带来的问题:
1、不适应需求经常发生变更的环境:在项目的开发过程中,变更可能会引起混乱。所以,有人形象地把采用线性模型进行商业软件工程称之为“在沙滩上盖楼房”。
2、瀑布模型也经常不能接受项目开始阶段自然存在的不确定性:在采用线性顺序模型的时候,用户只有到项目的开发晚期才能够得到程序的可运行版本。大的错误如果到这时才被发现,那么造成的后果往往是灾难性的。
3、线性顺序模型每一步的工作都必须以前一阶段的输出为输入,这种特征会导致工作中发生“阻塞”状态。
因此,瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。但是,“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。
;
;图3.3 上下阶段间循环;图3.4 具有维护阶段循环的软件生存期的瀑布模型;问题背景:由于传统的瀑布模型本身存在的不足,在开发过程中不论怎样严格,终究难以接近理想目标,考虑能否将整个软件一部分一部分地开发?
解决方案:在需求难以完全明确的情况下,快速分析并构造一个小的原型系统,满足用户的某些要求后,使用户在使用过程中受其启发,逐步确定各种需求。即所谓的增量模型。
增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试,融合了线性顺序模型的基本成分(重复的应用这些成分)和原型模型的迭代特征。;如下图所示。增量模型实际上是一个随着日程/时间的进展而交错的线性序列集合。每一个线性序列产生一个软件的可发布的“增量”,所有的增量都能够结合到原型模型中去。 每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。 第一个增量构件往往实现软件的基本需求,提供最核心的功能。 第二个增量构件提供更完善的编辑和文档生成功能。 第三个增量构件实现拼写和语法检查功能。 。。。。。。 能在较短时间内向用户提交可完成部分工作的产品,是增量模型的一个优点。;增量方式包括:
—增量开发:以一定的时间间隔开发部分工作软件
—增量提交:以一定的时间间隔增量方式向用户提交工作软件及相应文档
增量模型融合了线性顺序模型的基本成份和原型实现模型的迭代特征,故分为渐增模型和原型模型。
渐增模型是瀑布模型的变种,有两类渐增模型:
文档评论(0)