《课件-2-第二章-软件开发过程-rup-统一过程》由会员分享,可在线阅读,更多相关《课件-2-第二章-软件开发过程-rup-统一过程(109页珍藏版)》请在金锄头文库上搜索。
1、第二章 Rational统一过程,2.1 Rational统一过程概述 2.2 Rational统一过程术语 2.3 Rational统一过程规范 2.4 Rational统一过程特点 2.5 Rational统一过程实施策略 2.6 Rational统一过程案例 渐进交付的系统 2.7 本章小结 习题,2.1 Rational统一过程概述,Rational统一过程 (RUP,Rational Unified Process) RUP提出者: Rational公司 面向对象领域三位杰出的专家及UML的创立者Grady Booch、James Rumbaugh和Ivar Jacobson,2.1
2、 Rational统一过程概述,RUP发展史: Rational公司对现代软件开发中诸多最佳实践三十年的捕获史 RUP初始版本为5.0,经历5.1、5.5、2000、2003直到最新RUP7.0,Ericsson,方法,(,1967,),R,ational,方法,其它一些因素,Rational,统一过程,7.0,(,1998,),Rational,对象工厂过程,4.1,(,19961997,),对象工厂过程,1.03.8,(,19871995,),UML,2.1 Rational统一过程概述,IBM收购Rational公司 2002年12月6日,21亿美元收购价 Rational公司的所有业务
3、并入IBM软件开发部门,而其产品则将继续保留Rational的品牌 IBM自身原有的软件开发过程IPD将融入RUP中 华为的开发过程正是花费几千万美元请IBM根据IBM的IPD定制的 RUP的开放性、通用性和完善性,2.1 Rational统一过程概述,RUP内容及特点: 一种典型的软件过程模式 生命周期+人员+方法+产品及关系 一种软件过程产品 Rational公司开发并维护 与Rational一系列其它软件开发工具集成 RUP初始版本为5.0,经历5.1、5.11、5.5等直到最新RUP2000 Rational公司对现代软件开发中诸多最佳实践的捕获史,2.1 Rational统一过程概述
4、,RUP应用领域:全球上千家公司在使用 电信业:Ericsson、Alcatel、MCI 交通、航空、国防;Lockheed-Martin、British Aerospace 制造业:Xerox、Volvo、Intel 金融业:Visa、Merrill Lynch、Schwab 系统集成业:Ernst Young、Oracle、Deloitte & Touche RUP的多功能性和广泛的适用性 RUP初始版本为5.0,经历5.1、5.11、5.5等直到最新RUP2000 Rational公司对现代软件开发中诸多最佳实践的捕获史,2.1 Rational统一过程概述,RUP应用方式: 有很大的不
5、同 很正式地使用 以RUP为基础逐步发展出公司特有的过程 比较不正式地使用 将RUP作为知识库、模板、指南以及对于软件过程的电子版教程,2.2 Rational统一过程术语,依据RUP2000电子版为标准 1用户(User) 定义2-1 用户代表与所开发的系统进行交互的某个人或某个系统(所开发系统之外的另一个系统)。 举例:取款机系统的用户取款人和取款卡,2.2 Rational统一过程术语,2用例(User-case) (其它文献也译为“用况”) 定义2-2 用例是能够向用户提供有价值结果的系统中的一种功能。 所有的用例合在一起构成用例模型。,2.2 Rational统一过程术语,特点 确定
6、系统需求的工具 传统的系统功能说明:系统应该做什么? 用例模型 :+ for each user 驱动软件开发过程 RUP三大特点中第一大特点为“用例驱动”,2.2 Rational统一过程术语,3构架(Architecture) 定义2-3 构架是系统在其所处环境中最高层次的概念。软件系统的构架是指通过接口交互的重要构件的组织和结构,这些构件又由一些更小的构件和接口组成,2.2 Rational统一过程术语,构架与系统的关系 类比 构架 躯体的骨架 系统 整个躯体(骨架+皮肤+肌肉),2.2 Rational统一过程术语,4工作流程(Workflow) (其它文献也译为“工作流” ) 定义2
7、-4 工作流程是在业务中执行的活动序列,它对于业务主角个体生成一个可见值结果。 RUP中的九大核心工作流程 : 业务建模、需求、分析设计、实施、测试、部署、配置与变更管理、项目管理、环境,2.2 Rational统一过程术语,5迭代(Iteration)与增量(Increment) 定义2-5 迭代是指带有已建立基线的计划和评估准则的独特活动序列,迭代生成内部或外部的发布版本。 一次迭代一般由四个工作流程组成:需求、分析设计、实施和测试,另外它还包括迭代计划和迭代评估。 定义2-6 增量是指在后续迭代结束后,两个发布版本之间存在的差异或差值。,2.2 Rational统一过程术语,6.角色(W
8、orker) (其它文献也译为“工作人员”) 定义2-7 在软件过程组织的环境中,个人或协同工作的小组的行为和职责定义为角色,角色代表项目中个人承担的作用,并确定了如何完成工作。,2.2 Rational统一过程术语,角色种类 分析员、开发人员、测试员、经理及其它 角色与个体的关系 某种角色 一个或多个个体完成 一个个体 一种或多种角色,2.2 Rational统一过程术语,7.活动(Activity) 定义2-8 活动是要求角色执行的工作单元。 举例 角色“系统分析员” 制定需求管理计划、制定用例建模指南,获取常用词汇、获取涉众需求、确定前景、查找主角和用例、建立用例模型结构、管理依赖关系等
9、 角色“构架设计师 ” 确定用例的优先级、构架分析、确定设计机制、确定设计元素、合并现有设计元素、说明分布、说明运行时构架、建立实施模型、制定设计指南,制定编程指南等,2.2 Rational统一过程术语,8.工件(Artifact) (其它文献中也译为“制品” ) 定义2-9 工件是指一条信息,该信息:(1)由过程生成、修改或使用;(2)定义了职责范围;(3)受到版本控制。 分类 存在形式:模型、模型元素、文档、源代码、可执行文件、工具 流向:输入工件 活动 输出工件,2.2 Rational统一过程术语,9.阶段(Phase)与里程碑(Milestone) 定义2-10 里程碑是迭代正式结
10、束的时间点,该时间点与发布时间点相对应。 定义2-11 阶段是指项目相邻两个主要里程碑之间的时间段,在此期间要实现一组既定的目标、完成工件并决定是否进入下一阶段。,2.2 Rational统一过程术语,RUP的生命周期 四大阶段 各阶段主要里程碑 先启: 生命周期目标里程碑 精化: 生命周期结构里程碑 构建: 初始功能里程碑 产品化: 产品发布里程碑,2.3 Rational统一过程规范,从软件过程模式的立场观点,论述RUP 生命周期 人员 方法 产品 相互关系,2.3 Rational统一过程规范,RUP的生命周期 RUP的人员 RUP的方法 RUP的产品 RUP的相互关系,2.3.1 RU
11、P的生命周期二维结构生命周期,1生命周期描述 横轴: 时间组织 体现动态结构 术语:阶段、里程碑、 迭代和增量 纵横: 内容组织为逻辑活动 体现静态结构 术语:工作流程、活动、 角色、工件 注:RUP2003及其后版本将纵轴坐标工作流程(Workflow)改为学科(Discipline),(1)迭代与增量的二维生命周期结构 RUP:若干生命周期的循环 每个生命周期:若干次循环交付 产品一个版本 每次循环:四个连续阶段 主要里程碑及意义,2.3.1 RUP的生命周期二维结构生命周期,结束,结束于,每个阶段 :一次或多次迭代过程 迭代次数取决于上次迭代的结果 每次迭代过程 : 经历的核心工作流程:
12、最多可能9个 与传统瀑布模型中的若干个阶段的区别 在每个生命周期中一次一次轮流访问 每一次的迭代过程中是以不同的重点和强度重复访问 工作流程剪裁依据:当前迭代所处的阶段 +上次迭代的结果 工作流程剪裁要求: 迭代过程要处理一组用例: 用例合起来能够扩展所开发产品的可用性 迭代过程要解决最突出的风险问题 一次迭代达到的预定目标 原有工件的一个增量, 否则试用一种新的方法,2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 工作流程代表了所有角色、活动与工件的逻辑分组情况,即软件过程模式中的三个要素。,2.3.1 RUP的生命周期二维结构生命周期,九个核心工
13、作流程组成: 核心过程工作流程:前6个 (Core Process Workflows) 核心支持工作流程:后3个 (Core Supporting Workflows) 表示方法 UML中:协同图、时序图或活动图 RUP2000中 :采用活动图(交互+状态结果) 内容:一套完整的UML使用指南(详见RUP2000),2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 业务建模(Business Modeling) 描述了如何拟定客户组织的前景,并基于该前景来确定该组织在业务用例模型和业务对象模型中的流程、角色以及职责 。 涉及的主要角色 : 业务流程分
14、析员、业务设计员、业务模型复审员 产生的主要工件 : 业务模型(业务用例模型+业务对象模型),2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 需求(Requirements) 目标是描述系统应该做什么,即捕获需求,并使开发人员和用户就这一需求描述达成共识。 用例方法 对需要的功能和约束进行提取、组织、文档化,理解系统所解决问题的定义和范围; 涉及的主要角色 : 系统分析员、用户界面设计员、需求复审员 产生的主要工件 : 用例模型,用户界面模型,2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 分析设计(Ana
15、lysis & Design) 将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。 以构架设计为中心 产品的适应性、可扩展性 涉及的主要角色 : 构架设计师、构架复审员、设计员、数据库设计员、设计复审员,2.3.1 RUP的生命周期二维结构生命周期,产生的主要工件 : 一个设计模型 设计类:组织成具有良好接口的设计包(Package)和 设计子系统(Subsystem) 描述 :体现了类的对象如何协同工作实现用例的功 能 一个分析模型(可选),2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 实现(Impl
16、ementation) 以构件的形式(源文件、二进制文件、可执行文件)实现类和对象并测试; 以层次化的子系统形式定义代码的组织结构; 将各实施员完成的结果集成到可执行系统中。 涉及的主要角色 : 构架设计员、实施员、集成员、代码复审员 产生的主要工件 : 实施模型(模型元素包括实施子系统和构件),2.3.1 RUP的生命周期二维结构生命周期,(2) 生命周期中的静态结构九个核心工作流程 测试(Test) 验证产品的功能和性能,如对象间的交互作用、所有构件是否正确集成、所有的需求是否已被正确的实现,识别确认缺陷并确保在部署前解决之。 涉及的主要角色 : 测试设计员,测试员 产生的主要工件 : 测试模型(模型元素包括测试用例、测试过程和测试构件)+测试结