电子科技大学,软件工程第三章过程模型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章过程模型模型的提出是为了给软件开发者提供一个相对统一的标准。比如:在一个较为简单的软件任务开发的情况下,可能过度简化或忽略沟通、策划等步骤,从而使开发出来的产品偏离实际需求。•3.1惯例过程模型都支持通用过程结构,即都包含其五个要素。但不同的模型对这五个要素所描述的侧重点不一样,从而产生了多个通用过程模型。共同点二:规定了一整套的元素,而这些元素在实现过程中都是不可或缺的,哪怕是很多人认为可以省略。讨论优缺点。惯例过程模型包括:瀑布模型、增量过程模型(增量模型、RAD模型)、演化过程模型(原型开发、螺旋模型、协同开发模型)、专用过程模型(基于构建开发的模型、形式化方法模型、面向方面的模型)、统一过程。•3.2瀑布模型瀑布模型:又被称为经典生命周期,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持。沟通项目启动需求获取策划项目估算进度计划项目跟踪建模分析设计部署交付支持反馈构建编码测试图3-1瀑布模型•瀑布模型的缺点:1.顺序太严格。2.实际工作经常是在多个环节之间来回反馈调整,而不是将一个环节完成后再继续前进。3.产品在最后阶段才与客户见面,从心里学的角度讲有些考验客户。另外,如果此时才发现问题,需要改正,工作量将会很大。4.效率可能不高。•优点:当需求明了,工作能采取线性方式进行时。•3.3增量过程模型又有增量模型和RAD模型。3.3.1增量模型以迭代方式运用瀑布模型。所谓增量,指增加的功能。即把一个软件所要实现的功能分为若干步,每一步实现其中的一块。在每一步中采用瀑布模型的方式。这样反复进行的工作,即称为迭代。沟通策划建模构建部署第1个增量交付第1个增量第2个增量第n个增量交付第2个增量交付第n个增量项目时间软件功能和特征图3-2增量模型•特点:一般来讲,最重要的增量放在前面。每次交付的增量产品都是可用的。适合于功能可以划分,而且时间不紧迫的情况。可以规避一定的风险。如有些技术还不稳定,将这部分放到后边。3.3.2RAD模型快速应用程序开发(RapidApplicationDevelopment):侧重于短暂的开发周期的增量软件模型。瀑布模型的高速变体,通过基于构件的方法快速实现。适于工期紧张,又可细分功能,还要有合适的构件。沟通策划建模建模建模构建构建构建1组2组n组部署60-90天图3-3RAD模型•缺点:(1)需要投入更多的人力。(2)各团队要紧密协作。(3)只适应于特殊的系统。(4)系统需求灵活,现有构件不容易轻易满足。(5)技术风险很高的情况下,不宜采用该模型。•3.4演化过程模型演化是自然界普遍存在的现象。软件产品亦如此。有技术能力的限制,时间的限制,认识理解的限制,其它客观因素的限制。演化模型也是一种迭代模型。3.4.1原型开发在进行沟通时,客户也不能给出确切的要求,通俗地将,走一步看一步。原型,即原始模型,最初步的构架。是一个循环的过程,所以也是迭代的过程。沟通部署交付品及反馈快速策划构建快速建模设计图3-4原型开发模型不正式使用但需评价•优点:能让人(开发者或客户)很快见到产品,有成就感。能渐进地启发客户提出新的要求或任务。•缺点:容易蒙骗客户,也可能由此给自己带来麻烦。往往只为结果,而不考虑技术手段,为今后埋下隐患。系统可能考虑不周全。•它与增量模型相比:增量模型在开发以前基本能确定系统的需求,虽然在以后的过程中也可能不断完善。原型开发适应于预先不太清楚系统的需求。增量模型的反馈可能较少,而原型开发需要不断的大量反馈信息。•3.4.2螺旋模型结合原型和瀑布模型的特点。螺旋式上升、演进。沟通策划建模构建部署开始图3-5典型的螺旋模型•螺旋模型与原型相比:螺旋模型虽不像增量模型中对功能有明确界定,但有比原型要清晰一些。螺旋模型的反馈要求持续于产品的整个生命期。适合于大型软件的开发。•3.4.3协同开发模型又叫协同工程。对软件开发的每一阶段用类似的状态图表示,每个阶段的工作实际上就是在各状态之间的迁移。适用于任何任务。是另外一种意义上的掩化过程。•3.5专用过程模型具有通用过程模型的特点,只适应于一些特定的领域。3.5.1基于构件的开发什么是构建?本质上是演化模型。•构件开发的步骤:对所需构件进行评估。考虑构件的集成。设计系统的软件框架。将构件放入框架。进行测试。•3.5.2形式化方法模型什么是形式化方法?特点:精密、准确。缺点:难度大,成本高,可用人力资源少,用户不易理解,有时甚至无法完成。•3.5.3面向方面的软件开发将系统分成若干相对较独立的组成部分,这些部分称为方面。面向方面技术包括面向对象技术,比它大。该技术还不成熟。具有螺旋型和协同型的共同特点。•3.6统一过程试图将传统软件模型(惯例软件模型)和敏捷过程模型的优点结合起来,即统一起来。一些术语:面向对象(Object-Oriented,OO),面向对象分析(Object-OrientedAnalysis,OOA),面向对象分析(Object-OrientedDesign,OOD).•统一过程包括:起始,细化,构建,转换,生产等步骤。沟通部署策划构建生产建模软件增量发布转换构建细化起始图3-7统一过程

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功