- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unit 2 软件过程模型 Unit Objectives 了解软件过程 掌握软件过程模型: 瀑布模型、原型模型、增量模型、迭代模型 了解RUP 了解XP 过程 过程就是针对某一给定目标的一系列运作步骤,[IEEE-STD-610] 是在过程环境下的一系列有序活动。所谓活动(Activity)就是过程对象一次状态改变,也叫过程步(Step)。 活动起始态和活动结果态表征了活动的进行。可以说一切事物的发生、发展、消亡都离不开过程,都寓于过程之中。 2.1 软件过程(Cont.) 软件过程是将用户的需求转化成有效的软件解决方案的一系列活动。 许多软件组织无法正确定义和控制这一过程,但这恰恰是组织改进的关键。 软件过程(Cont.) 过程的好坏由结果状态与预期状态的差异决定,也就是目标成果质量的好坏。 规程(Procedure)是人们对客观事物运动规律 的理解和掌握,使规范了的过程。 软件过程是为了获得高质量软件产品所需要完 成的一系列任务的框架,它规定了完成各项任务的工作步骤。 软件过程必须科学、合理,才能开发出高质量 的软件产品。 软件过程 软件过程(Cont.) 软件过程又称软件生存周期过程,是软件生存周期内为达到一定目标而必须实施的一系列相关过程的集合。 早期: 立项、需求分析、设计、编码、 测试、交付、维护、退役 软件过程(Cont.) 项目计划就是安排实际的过程,制作项目计划首先要定义过程。项目计划是某个软件过程模型的实例。 软件过程是人类制作产物的一系列活动,而过去的软件工程师把产物和人分离,只研究产品过程及其质量,假定人力、物力资源是无限大、无限好。现在认识到面对实际资源实施软件过程学,求相对最佳质量才是有效的。 软件过程(Cont.) 现在的软件生命周期过程包括: 早期: 立项、需求分析、设计、编码、 测试、交付、维护、退役 又加入了: 管理各种活动、质量保证 环境基础设施配置、文档管理等。 软件开发—问题的循环解决过程 状态描述 问题定义 技术开发 方案综述 2.2 软件过程模型 瀑布模型(Waterfall) 原型模型(Prototype) 增量模型(Incremental) 螺旋模型(Spiral) 迭代模型(Iterative) 2.2 软件过程模型 瀑布模型 原型模型 增量模型 螺旋模型 迭代模型 2.2.1 瀑布模型(线性顺序模型) 瀑布式模型包含以下活动: 系统/信息工程和建模 软件需求分析 设计 代码生成 测试 维护 瀑布模型 — 传统的瀑布模型 思考???? 传统瀑布模型存在什么问题? 传统的瀑布模型 — 存在什么问题??? Tom Gilb: “假如你不积极地解决你项目中存在的风险,它们就会积极地解决掉你” 瀑布方法会掩饰项目中真正的风险,当你太晚发现它们时已无济于事。 瀑布模型 — 实际的瀑布模型 瀑布模型 — 特点 文档驱动的模型 阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点 瀑布模型 — 问题 实际项目很少按照该模型给出的顺序进行 用户常常难以清楚地给出所有需求 用户必须有耐心 开发者常常被不必要地耽搁 2.2 软件过程模型 瀑布模型 原型模型 增量模型 螺旋模型 迭代模型 2.2.2 原型模型 快速建立起来的可以在计算机上运行的程序,他所能完成的功能往往是最终产品能完成的功能的一个子集。 原型模型 — 适用情况 用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求; 开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式; …… 原型模型可能是最好的选择 原型模型(Cont.) 原型模型从需求收集开始。 开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。 然后是“快速设计”,快速设计集中于软件那些对用户可见部分的表示。“快速设计”导致原型的建造。 原型由用户评估,并进一步精化待开发软件的需求,逐步调整原型使其满足客户的要求。同时开发者对将要做的事情有更好的理解, 这个过程是迭代的。 原型模型(Cont.) 存在的问题 用户似乎看到的是软件的工作版本,其实…… 开发者常常需要实现上的折衷,以使原型能够尽快工作 2.2 软件过程模型 瀑布模型 原型模型 增量模型 螺旋模型 迭代模型 2.2.3 增量模型 融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。 增量模型(Cont.) 增量模型(Cont.) 2.2.3 增量模型 (Cont.) 增量模型融合了瀑布模型的基本成分和原型 的迭代特性。 例如,使用增量模型开发字处理软件 基本的文件管理、编辑和文档生成功
文档评论(0)