第3章 过程模型_第1页
第3章 过程模型_第2页
第3章 过程模型_第3页
第3章 过程模型_第4页
第3章 过程模型_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 过程模型王美红软 件 工 程思考 如何组织某个软件项目的路线图?模型的提出是为了给软件开发者提供一个相对统一的标准。模型软 件 工 程主要内容 瀑布模型 增量模型 RAD模型 原型模型 螺旋模型 协同开发模型 基于构件模型 形式化方法模型 面向方面模型 统一过程软 件 工 程3.1 惯例过程模型不同过程模型的共同特点:都支持通用过程结构,即都包含其五个要素:沟通、策划、建模、构建和部署规定了一整套的元素以及他们之间的相互关联的方式:框架活动、软件工程动作、任务、工作产品、质量保证以及每个项目的变更控制机制软 件 工 程3.1 惯例过程模型(续) 过程模型的主要区别: 侧重点不同 软 件

2、 工 程3.1 惯例过程模型(续) 惯例过程模型包括: 瀑布模型、增量过程模型(增量模型、RAD模型)、演化过程模型(原型开发、螺旋模型、协同开发模型)、专用过程模型(基于构建开发的模型、形式化方法模型、面向方面的模型)、统一过程。软 件 工 程3.2 瀑布模型 也称为线性模型或传统生存周期软 件 工 程3.2 瀑布模型(续) 适用范围? 通常发生在对一个已有系统进行明确定义的适应性调整和增强的时候 对于一个新的项目,需求必须是准确定义和相对稳定的软 件 工 程线性顺序模型特点阶段间的顺序性和依赖性;文档驱动性;严格阶段评估;开发初期需要清楚全部需求;开发周期长、风险大。3.2 瀑布模型(续)

3、软 件 工 程3.2 瀑布模型(续) 瀑布模型的缺点:1. 顺序太严格。实际工作经常是在多个环节之间来回反馈调整,而不是将一个环节完成后再继续前进。2. 产品在最后阶段才与客户见面,从心里学的角度讲有些考验客户。另外,如果此时才发现问题,需要改正,工作量将会很大。3. 效率可能不高。软 件 工 程3.2 瀑布模型(续) 优点:它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。虽然有不少缺陷但比在软件开发中随意的状态要好得多。软 件 工 程3.3 增量过程模型 增量过程模型包括:增量模型RAD模型。软 件 工 程3.3.1 增量模型 以迭代方式运用瀑

4、布模型。 软 件 工 程3.3.1 增量模型(续) 特点: 一般来讲,最重要的增量放在前面。 每次交付的增量产品都是可用的。 适合于功能可以划分,而且时间不紧迫的情况。 可以规避一定的风险。如有些技术还不稳定,将这部分放到后边。软 件 工 程3.3.1 增量模型(续) 例如: 采用增量模型开发的字处理软件: 在第1个增量中提供基本的文件管理、编辑和文档成文功能 第2个增量中提供复杂的编辑和文档生成功能 第3个增量中提供拼写和语法检查功能 第4个增量中提供高级页面排版功能软 件 工 程3.3.2 RAD模型 快速应用程序开发(Rapid Application Development,RAD)是

5、一种侧重于短暂的开发周期的增量软件模型。 软 件 工 程3.3.2 RAD模型(续)软 件 工 程3.3.2 RAD模型(续) 瀑布模型的高速变体,通过基于构件的方法快速实现。 适于工期紧张,又可细分功能,还要有合适的构件。软 件 工 程3.3.2 RAD模型(续) 缺点:1. 需要投入更多的人力。2. 各团队要紧密协作。3. 只适应于特殊的系统,必须可以合理模块化。4. 不适于高性能需求(若需调构件接口 )5. 系统需求灵活,现有构件不容易轻易满足。6. 技术风险很高的情况下,不宜采用该模型。软 件 工 程3.4 演化过程模型 软件,类似于其他复杂的系统,会随着时间的推移而演化 软件有技术能

6、力的限制,时间的限制,认识理解的限制,其它客观因素的限制。 演化模型也是一种迭代模型。软 件 工 程3.4 演化过程模型 演化模型包括: 原型模型 螺旋模型 协同开发模型 软 件 工 程3.4.1 原型开发 如果出现下面的情况,怎么办? 客户也不能给出确切的要求 开发人员对算法的效率、操作系统的兼容性和人机交互的形式不确定 原型是一个循环的过程,所以也是迭代的过程。软 件 工 程3.4.1 原型开发(续)软 件 工 程图: 原型法的处理过程软 件 工 程3.4.1 原型开发(续) 对原型的基本要求: 体现主要的功能 提供基本的界面风格 展示比较模糊的部分,以便于确定或进一步明确,防患于未然 原

7、型最好是可以运行的,最少要在各主要功能模块之间能够建立相互连接软 件 工 程3.4.1 原型开发(续) 原型的处理方法: 抛弃型 在获取的明确需求的基础上,重新设计与开发 成本相对高,小公司一般慎用 演化型 在原型的基础上继续开发软 件 工 程3.4.1 原型开发(续) 优点:1. 能让人(开发者或客户)很快见到产品,有成就感。2. 能渐进地启发客户提出新的要求或任务。软 件 工 程3.4.1 原型开发(续) 缺点:1. 容易蒙骗客户,也可能由此给自己带来麻烦。2. 往往只为结果,而不考虑技术手段,为今后埋下隐患。3. 系统可能考虑不周全。软 件 工 程3.4.1 原型开发(续) 它与增量模型

8、相比:增量模型在开发以前基本能确定系统的需求,虽然在以后的过程中也可能不断完善;原型开发适应于预先不太清楚系统的需求。增量模型的反馈可能较少,而原型开发需要不断的大量反馈信息。软 件 工 程3.4.2 螺旋模型 结合了原形的迭代性质和瀑布模型的系统性和可控性特点 风险驱动,引入非常严格的风险识别、风险分析和风险控制 早期迭代中可能是一个理论模型或原形软 件 工 程3.4.2 螺旋模型(续)软 件 工 程3.4.2 螺旋模型(续) 螺旋模型与原型相比:1. 螺旋模型虽不像增量模型中对功能有明确界定,但有比原型要清晰一些。2. 螺旋模型的反馈要求持续于产品的整个生命期。3. 适合于大型软件的开发。

9、软 件 工 程3.4.3 协同开发模型(续) 又叫协同工程。 定义了一个活动的网络,网络上每个活动、动作和任务同时存在。 过程网络中某一点产生的事件可以触发状态的转换。 可适用于所有类型的软件开发软 件 工 程演化过程评述 演化模型的初衷是采用迭代或者增量的方式开发高质量软件 用演化模型可以强调灵活性、可扩展性和开发速度 软件开发团队需要在严格的项目和产品参数与客户满意度之间找到一个平衡点软 件 工 程3.5 专用过程模型 具有通用过程模型的特点,只适应于一些特定的领域。 包括:1.基于构件的开发2.形式化方法模型3.面向方面的软件开发等软 件 工 程3.5.1 基于构件的开发 利用预先打包的

10、软件构件开发程序 什么是构件? 没有统一的定义 Gartner Group定义:运行时软件构件是一个可动态绑定的、含一个或多个程序的软件包,它作为一个独立单位,通过运行时可辨别的文档化接口加以管理和存取 类似于螺旋模型,本质上是演化模型软 件 工 程3.5.1 基于构件的开发(续) 构件开发的步骤: 对所需构件进行评估。 考虑构件的集成。 设计系统的软件框架。 将构件放入框架。 进行测试。软 件 工 程3.5.2 形式化方法模型 形式化方法模型的主要活动是生成计算机软件形式化的数学规格说明。 特点:精密、准确。 缺点:难度大,成本高,可用人力资源少,用户不易理解,有时甚至无法完成。 方法:有穷

11、状态机、Petri网、Z语言等。软 件 工 程3.5.3 面向方面的软件开发 将系统分成若干相对较独立的组成部分,这些部分称为方面。面向方面技术包括面向对象技术,比它大。 系统的方面包括用户接口、协调工作、发布、持续性、存储器管理、事务处理、安全、完整性等。 还不成熟。具有螺旋型和协同型的共同特点。软 件 工 程3.6 统一过程 试图将传统软件模型(惯例软件模型)和敏捷过程模型的优点结合起来,即统一起来。 一些术语:面向对象(Object-Oriented, OO),面向对象分析( Object-Oriented Analysis, OOA),面向对象分析( Object-Oriented Design, OOD).软 件 工 程 统一过程包括:起始,细化,构建,转换,生产等步骤。软 件 工 程3.6 统一过程(续) 起始:包括客户沟通和策划活动此时的构架只是主要子系统及其功能、特性的试探性概括。软 件 工 程3.6 统一过程(续) 细化:包括用户沟通和通过过程模型的建模活动扩展体系结构以包括软件的五种视图:用例模型、分析模型、设计模型、实现模型和部署模型。软 件 工 程3.6 统一过程(续) 构建:与通过软件过程的构建活动相同。采用体系结构模型作为输入,开发或获取软件构件,使得最终用户能够操作用例。软 件 工 程3.6 统一过程(续) 转换: 软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论