UML与RUP统一过程-03.ppt_第1页
UML与RUP统一过程-03.ppt_第2页
UML与RUP统一过程-03.ppt_第3页
UML与RUP统一过程-03.ppt_第4页
UML与RUP统一过程-03.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

UML与RUP统一过程,任课教师:,谌兰樱,电子与信息工程学院,2,第2章 UML与RUP,软件开发过程是软件工程的要素之一,有效的软件开发过程可以提高软件开发团队的生产效率,并能够提高软件质量、降低成本、减少开发风险。UML是一种可应用于软件开发的非常优秀的建模语言,但是UML本身并没有告诉人们怎样使用它,为了有效地使用UML,需要有一种方法应用于它,当前最流行的使用UML的方法就是Rational的统一过程(Rational Unified Process,简称RUP)。RUP是软件开发过程的一种,它为有效地使用统一建模语言UML提供了指导。 本章将介绍如何通过与UML紧密结合的RUP进行软件开发。,3,本章学习要点:,了解软件开发过程 了解UML与RUP的关系及使用RUP的原因 了解RUP的10大要素 理解RUP的二维空间 理解RUP的各核心工作流程,4,2.1 理解软件开发过程,软件开发过程是指应用于软件开发和维护当中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。有效的软件开发过程可以提高软件开发团队的生产效率,并能够提高软件质量、降低成本、减少开发风险。 软件开发过程是开发高质量软件所需完成的任务的框架。软件工程是一种层次化的技术,如图所示。,5,2.2 Rational统一过程(RUP),UML(Unified Modeling Language)仅仅是一种系统建模语言,它并没有告诉建模人员应该如何使用它,为了使用UML,需要有一种方法应用于它,当前最流行的使用UML的方法就是Rational的统一过程(Rational Unified Process,简称RUP),也称为Unified Process(统一过程)。,Rational Unified Process(以下简称RUP)是一套软件工程方法。同时,它又是文档化的软件工程产品,所有RUP /的实施细节及方法导引均以WEB文档的方式集成在一张光盘上,由Rational公司开发、维护并销售,当前版本是5.0.RUP,是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。 RUP吸收了多种开发模型的优点,具有很好的可操作性和实用性。从它一推出市场,迅速得到业界广泛的认同,越来越多的组织以它作为软件开发模型框架。,RUP简介,RUP的特点 RUP可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构;纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构。,RUP的十大要素 1. 开发一个前景 有一个清晰的前景是开发一个满足真正需求的产品的 关键。 前景抓住了RUP需求流程的要点:分析问题,理解需求, 定义系统,当需求变化时的管理需求。,2. 达成计划 “产品的质量只会和产品的计划一样好。” 在RUP中,软件开发计划(SDP)综合了管理项目所需的各种信息,也许会包括一些在先启阶段开发的单独的内容。SDP必须在整个项目中被维护和更新。 SDP定义了项目时间表(包括项目计划和迭代计划)和资源需求(资源和工具),可以根据项目进度表来跟踪项目进展。同时也指导了其他过程内容(process components)的计划:项目组织、需求管理计划、配置管理计划、问题解决计划、QA计划、测试计划、评估计划以及产品验收计划。,3. 标识和减小风险 RUP的要点之一是在项目早期就标识并处理最大的风险。项目组标识的每一个风险都应该有一个相应的缓解或解决计划。风险列表应该既作为项目活动的计划工具,又作为确定迭代的基础。,4. 分配和跟踪任务 有一点在任何项目中都是重要的,即连续的分析来源于正在进行的活动和进化的产品的客观数据。在RUP中,定期的项目状态评估提供了讲述、交流和解决管理问题、技术问题以及项目风险的机制。团队一旦发现了这些障碍物,他们就把所有这些问题都指定一个负责人,并指定解决日期。进度应该定期跟踪,如有必要,更新应该被发布。 这些项目“快照”突出了需要引起管理注意的问题。随着时间的变化(虽然周期可能会变化),定期的评估使经理能捕获项目的历史,并且消除任何限制进度的障碍或瓶颈。,5. 检查商业理由 商业理由从商业的角度提供了必要的信息,以决定一个项目是否值得投资。商业理由还可以帮助开发一个实现项目前景所需的经济计划。它提供了进行项目的理由,并建立经济约束。当项目继续时,分析人员用商业理由来正确的估算投资回报率(ROI,即Return on Investment)。,6. 设计组件构架 在RUP中,软件系统的构架是指一个系统关键部件的组织或结构,部件之间通过接口交互,而部件是由一些更小的部件和接口组成的。即主要的部分是什么?它们又是怎样结合在一起的? RUP提供了一种设计、开发、验证构架的系统的方法。在分析和设计流程中包括以下步骤:定义候选构架、精化构架、分析行为(用例分析)、设计组件。,7. 对产品进行增量式的构建和测试 在RUP中实现和测试流程的要点是在整个项目生命周期中增量的编码、构建、测试系统组件,在先启之后每个迭代结束时生成可执行版本。在精化阶段后期,已经有了一个可用于评估的构架原型;如有必要,它可以包括一个用户界面原型。然后,在构建阶段的每次迭代中,组件不断的被集成到可执行、经过测试的版本中,不断地向最终产品进化。动态及时的配置管理和复审活动也是这个基本过程元素的关键。,8. 验证和评价结果 顾名思义,RUP的迭代评估捕获了迭代的结果。评估决定了迭代满足评价标准的程度,还包括学到的教训和实施的过程改进。 根据项目的规模和风险以及迭代的特点,评估可以是对演示及其结果的一条简单的纪录,也可能是一个完整的、正式的测试复审记录。 这儿的关键是既关注过程问题又关注产品问题。越早发现问题,就越没有问题。,9. 管理和控制变化 RUP的配置和变更管理流程的要点是当变化发生时管理和控制项目的规模,并且贯穿整个生命周期。其目的是考虑所有的用户需求,尽可能的满足,同时仍能及时的交付合格的产品。,10. 提供用户支持 在RUP中,部署流程的要点是包装和交付产品,同时交付有助于最终用户学习、使用和维护产品的任何必要的材料。 项目组至少要给用户提供一个用户指南(也许是通过联机帮助的方式提供),可能还有一个安装指南和版本发布说明。 根据产品的复杂度,用户也许还需要相应的培训材料。最后,通过一个材料清单(BOM表,即Bill of Materials)清楚地记录应该和产品一起交付哪些材料。,2.2.1 理解RUP,软件开发过程是使软件从概念到成品所能遵循的一系列阶段,RUP作为一种软件开发过程包含了以下4个阶段:初始阶段(Inception)、筹划阶段(Elaboration)、构建阶段(Construction)和转换阶段(Transition)。 1初始阶段 RUP的初始阶段是进行最初分析的阶段,用于确定要开发的系统,包括其内容和业务。 2筹划阶段 RUP的筹划阶段是进行详细设计的阶段,用于确定系统的功能。,18,3构建阶段 RUP的构建阶段是一个根据系统设计的结果进行实际的软件产品构建的过程,该过程是一个增量过程,代码在每个可管理的部分进行编写。 4转换阶段 在该阶段中,将会处理将软件系统交付给用户的事务。,2.2.2 为什么要使用RUP,在目前比较流行的软件开发过程中,RUP是由发明UML的3位方法学家提出的,与其他软件开发过程相比,使用RUP可以更好地进行UML建模,而且,RUP能够为软件开发团队提供指南、文档模板和工具,从而使软件开发团队能够最有效地利用当前软件开发实践中所获得的六大最好经验。,20,12.3 RUP的二维空间,在RUP中,根据时间和核心工作流程,软件生命周期被划分为二维空间,也可以说RUP是沿着两个轴发展的。其中,水平轴(时间维)显示了RUP动态的一面,在RUP中,使用周期(Cycle)、阶段(Phase)、迭代(Iteration)等术语进行描述;垂直轴代表了RUP静态的一面,该维是按照内容组织的,包含了RUP的核心过程工作流程和核心支持工作流程,在RUP中使用活动(Activity)、产品(Artifact)、工作人员(Worker)和工作流(Workflow)等术语进行描述。,21,2.3.1 时间维,时间维空间是RUP随着时间的动态组织。RUP将软件生命周期划分为初始阶段、筹划阶段、构建阶段和转换阶段4个阶段,每个阶段的结果都是一个里程碑,都要达到特定的目标。本章第二节的介绍已使读者对这4个阶段有了一个大概的了解,下面将对这4个阶段进行更加详细的介绍。 在RUP的初始阶段,需要为软件系统建立商业模型并确定系统的边界。为此,需要识别出所有与系统交互的外部实体,包括识别出所有用例、描述一些关键用例,除此之外,还需要在较高层次上定义这些交互。,22,2.3.2 RUP的静态结构,RUP的静态结构是用工作人员、活动、产品和工作流等描述的,这些建模元素描述了什么人需要做什么,如何做,以及应该在什么时候做。,23,2.4 核心工作流程,在上一节中已经对RUP中的工作流进行了概括性的介绍,本节将分别结合工作人员、产品和工作流这3个建模元素对RUP中的几个核心工作流进行详细介绍。,24,2.4.1 需求获取工作流,系统的用户对其所用系统在功能、性能、行为和设计约束等方面的要求就是软件的需求。需求获取就是通过对系统问题域的分析和理解而确定系统所涉及的信息、功能和系统行为,进而将系统用户的需求精确化、完全化。进行需求获取的任务主要是在RUP的初始阶段和筹划阶段完成的。,25,2.4.1 需求获取工作流,系统的用户对其所用系统在功能、性能、行为和设计约束等方面的要求就是软件的需求。需求获取就是通过对系统问题域的分析和理解而确定系统所涉及的信息、功能和系统行为,进而将系统用户的需求精确化、完全化。进行需求获取的任务主要是在RUP的初始阶段和筹划阶段完成的。,26,二、统一开发过程核心工作流,需求捕获工作流,2.4.2 分析工作流,分析工作流的主要工作是从初始阶段的末尾开始进行的,但是大部分工作是在筹划阶段进行的。通常情况下,在对系统进行需求获取的同时也需要进行分析。 工作人员 分析工作流期间的工作人员包括: 架构工程师 架构工程师在该过程中负责“分析模型”和“架构描述”两个UML产品,但是不需要对分析模型中各种产品的持续开发和维护负责。,28,用例工程师 用例工程师的任务是完成若干用例的分析和设计,使这些用例实现相应的需求。 组件工程师 在分析工作流中,组件工程师的任务是定义并维护若干个分析类,使它们都能实现相应用例实现的需求,并维护如干个包的完整性。,分析工作流,2.4.3 设计工作流,设计工作流中的主要工作是在筹划阶段的末尾部分和构建阶段的开头部分完成的。在获取系统需求和分析活动比较完善之后,接下来的主要工作就是设计了。下面将对设计工作流进行详细介绍。 工作人员 设计工作流中的工作人员包括: 架构工程师 在该工作流中,架构工程师的主要任务是确保系统设计和实现模型的完整性、准确性和易理解性。 用例工程师 在设计工作流中,用例工程师的任务是确保用例实现(设计)的图形和文本易于理解并且准确地描述系统的特定功能。 组件工程师 组件工程师的任务是定义和维护设计类的属性、操作、方法、关系以及实现性需求,确保每个设计类都实现特定的需求。,31,12.4.4 实现工作流,实现工作流是把系统的设计模型转换成可执行代码的过程,可以认为实现工作流的重点就是完成系统的可执行代码。实现工作流是RUP中构建阶段的重点。系统的实现模型只是实现工作流的副产品,系统开发人员应当把重点放在开发系统的代码上。 工作人员 RUP的分析工作流期间的工作人员包括: 架构设计师 在实现工作流中,架构设计师主要负责确保实现模型的完整性、正确性和易理解性。 架构设计师必须对系统实现模型架构以及可执行体与节点间的映射负责,但实现模型中各种产品的继续开发和维护不属于他的职责范围。 组件工程师 组件工程师的任务是定义和维护若干组件的源代码,保证系统中的每个组件都能正确实现其功能,除此之外,组件工程师还应确保实现子系统的正确性。 系统集成人员 系统集成人员主要负责规划在每次迭代中所需的构造序列,并在实现每个构造后对其进行集成。,32,实现工作流,12.4.5 测试工作流,在获取系统需求以及分析、设计、实现等阶段的工作都完成后,就需要认真查找软件产品中潜藏的错误或者缺陷,并进行更正和完善。测试工作流的工作量通常会占到系统开发总工作量的40以上。测试工作流贯穿于系统开发的整个过程,它开始于RU

温馨提示

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

评论

0/150

提交评论