当前位置:文档之家› 面向对象软件开发过程模型

面向对象软件开发过程模型

• 因为反馈和调整使规格说明和设计不断进化。
整为核心驱动力,使之最终成为 适当的系统。
Software Engineering
迭代开发
需求 设计 实现、测试、集成和 进一步设计 最终集成和系统测试
时间
需求 设计 实现、测试、集成和 进一步设计 最终集成和系统测试
• 大体上的构思、业务案例、范围和模糊评估;
细化:
• 已精化的构思、核心架构的迭代实现、高风险的解决、 确定大多数需求和范围以及进行更为实际的评估;
构造:
• 对遗留下来的风险较低和比较简单的元素进行迭代实现, 准备部署;
交付:
• 进行测试和部署。
Software Engineering
RUP阶段(每个阶段的活动组成--纵轴) 纵轴表示的是在每次迭代过程中都要经历的工作流程 (有一定顺序的活动)。
Software Engineering
统一软件开发过程(RUP)简介 迭代开发
对部分系统及早地引入了编程和测试,并重复这一 循环。 这种方式通常会在还没有详细定义所有需求的情况 下假设开发开始,同时使用反馈来明确和改进演化 中的规格说明。
统一过程
目前流行的构造面向对象系统的迭代软件开发过程。
Software Engineering
Software Engineering
Beyond Technology
软件工程
第九章 面向对象软件开发过程模型
Software Engineering
第九章 面向对象软件开发过程模型 9.1 迭代开发与瀑布式开发 9.2 迭代开发与快速原型法 9.3 迭代的适用范围 9.4 RATIONAL统一过程模型
Software Engineering
RUP(Rational Unified Process)
是对统一过程的详细精化,并被广泛采纳。
Software Engineering
RUP过程模型
Software Engineering
RUP的阶段和制品
RUP阶段(按照时间进行的内容--横轴)
RUP将其工作和迭代组织为四个主要阶段 初始:
测试
• 验证所有需求是否已经被正确实现,对软件质量提出改进意 见;
部署
• 打包、分发、安装软件,培训用户及销售人员;
配置与变更管理
• 跟踪并维护系统开发过程中产生的所有制品的完整性和一致 性;
项目管理
• 为软件开发项目提供计划、人员分配、执行、监控等方面指 导,为风险管理提供框架;
环境
• 为软件开发机构提供软件开发环境。
Software Engineering
判断你是否理解迭代开发或RUP 下面列出一些迹象表明你并没有理解迭代开发 和RUP的真正含义
在开始设计或实现之前试图定义大多数需求 在编程之前花费数日或数周进行UML建模 认为初始阶段=需求阶段,细化阶段=设计阶段,构 造阶段=实现阶段 认为细化的目的是完整仔细地定义模型,以能够在 构造阶段将其转换成代码 试图对项目从开始到结束制定详细计划;试图预测 所有迭代,以及每个迭代中可能发生的事情
Software Engineering
总结
要求 具体内容 了解 理解 迭代开发内涵与过程 掌握 面向对象的基本概念
来自迭代N的反馈引起在 迭代N+1中对需求和设计 进行精化和调整
3周(例如)
迭代是固定的或时间 定量的
系统是增量式增长的
Software Engineering
迭代开发的优点
减少项目失败的可能性,提高生产率,降低缺陷率 在早期缓解高风险(技术、需求、目标、可用性等) 早期可见到进展 早期反馈、用户参与和调整,会产生更接近涉众真 实需求的精化系统 可控复杂性:团队不会被“分析瘫痪”或长期且复 杂的步骤所淹没 一次迭代中的经验可以被系统地用于改进开发过程 本身,并如此反复进行下去
迭代
开发被组织成一系列固定的短期(如三个星期)小 项目。 每次迭代都产生经过测试、集成并可执行的局部系 统。 每次迭代都具有各自的需求分析、设计、实现和测 试活动。
Software Engineering
迭代开发的别称
迭代和增量式开发
• 随着时间和一次又一次的递进,系统增量式地发展完善。
迭代和进化式开发
业务建模
• 理解待开发系统所在的机构及其商业运作,确保所有人员对它有共 同的认识,评估待开发系统对结构的影响;
需求
• 定义系统功能及用户界面,为项目预算及计划提供基础;
分析与设计
• 把需求分析结果转换为分析与设计模型;
实现
• 把设计模型转换为实现结果,并做单元测试,集成为可执行系统;
Software Engineering
相关主题