您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第2章 RUP软件开发过程
面向对象技术及UML教程第2章RUP软件开发过程第2章RUP软件开发过程为了保证项目的成功不仅需要面向对象的分析设计工具,还需要一个好的软件开发过程。RUP(RationalUnifiedProcess)又称为统一软件过程能够有效的管理工作进度,控制和改善工作效率。它是目前的软件过程中与UML结合最好的过程,支持面向对象的软件开发,本章将对RUP进行简要的介绍。2.1RUP软件开发过程概述RUP是Rational公司推出的软件过程模型,它是软件业界迄今为止商品化最成功的软件过程模型。RUP的近千页文档可以从Rational公司的网站下载,RUP的主要特征包括:采用迭代的、增量式的开发过程采用UML语言描述软件开发过程有一系列功能强大的软件工具支撑2.1.1RUP简介2.1RUP软件开发过程概述RUP有三个突出的特点:(1)用例驱动(2)以构架为中心(3)采用迭代和增量模型2.1.2RUP主要特点(1)所有的软件开发都是用户需求驱动的。统一软件开发过程采用用例来描述用户需求,同时提供了一套方法把用例转化为设计的类图,进一步变成最终的程序代码。在整个软件开发过程中,需求用例是可跟踪的。2.1RUP软件开发过程概述(2)构架是一个小的、皮包骨头的系统,它实现了用户的核心需求,包括了系统中最重要的静态和动态特征。构架刻画了系统的整体设计,它舍弃了细节部分,突出了系统的重要特征。(3)在进行软件系统开发时,统一软件开发过程采用迭代和增量的开发方式,把一个软件产品划分成多个较小的部分,每次完成一个部分,这个部分是产品的一个增量部分。每个增量部分的生产过程是都受控的。2.1RUP软件开发过程概述RUP在不断的实践过程中,总结出六个最有效地实践经验,称为最佳实践。这些最佳实践是对实际软件开发过程应用的总结,这六个最佳经验是:(1)迭代的软件开发(2)需求管理(3)使用基于构件的体系结构(4)可视化软件建模(5)验证软件质量(6)控制软件变更2.1.3RUP最佳实践2.2RUP过程框架使用RUP开发软件产品,每个软件产品的开发过程都应该包括多次循环。每个循环包括四个阶段:初始、细化、构建和产品化。每个阶段又包括多个迭代过程。2.2.1RUP过程框架模型2.2RUP过程框架统一软件过程是一个二维结构,如图2.1所示2.2RUP过程框架RUP中的软件生命周期在时间上被分解为四个顺序的阶段,每个阶段结束时都有一个主要的里程碑,在每个阶段结束时,对本阶段的工作是否达到预定的目标进行评估。如果评估结果令人满意的话,项目就可以进入下一个阶段。2.2.2RUP过程阶段2.2RUP过程框架1.初始阶段初始阶段有时也称先启阶段。初始阶段的目标是为系统建立商业用例,确定要开发系统的边界,找出与系统交互的所有外部实体,列出实体与系统的交互过程。初始阶段在RUP中具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。2.2RUP过程框架1.初始阶段初始阶段所要进行如下的活动:明确说明项目规模,了解环境以及最重要的需求和约束,以便可以得出最终产品的验收标准。计划和准备商业理由。评估风险管理、人员配备、项目计划以及成本/进度/收益折衷的被选方案。综合考虑被选构架,评估构架。准备项目的环境,评估项目和组织,选择工具,决定流程中要改进的部分。2.2RUP过程框架初始阶段的评估标准如下:出资人同意系统范围定义以及费用和进度评估。主要用例是否符合需求。费用和进度评估、优先级、风险以及开发过程的可信性。任何已开发的原型的深度和广度。实际开销与计划开销。初始阶段的焦点是需求和分析工作流。2.2RUP过程框架2.细化阶段细化阶段也称为精化阶段。细化阶段的目标是分析问题领域,准备构架的设计,编制项目计划,淘汰项目中最高风险的元素。为此必须在理解整个系统的基础上确定系统的构架,包括系统的范围、主要的功能需求以及性能需求。同时为项目建立支持环境,包括创建开发案例,创建模板并准备工具。细化阶段结束时第二个重要的里程碑—周期结构里程碑。2.2RUP过程框架细化阶段的评估标准如下:标明用例模型中的用户和参与者,并且建立用例的描述文档。用例模型需完成80%。创建软件系统开发过程中的软件结构的描述文档。创建可执行的系统原型。细化商业案例和风险列表。创建整个项目的开发计划。细化阶段的焦点是需求、分析和设计工作流。2.2RUP过程框架3.构建阶段在构建阶段,主要完成选择所需要的构件,开发应用程序的主要功能,并把这些功能集成为产品,并对这些产品进行测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以及优化成本、进度和质量。构建阶段结束时是第三个重要的里程碑—功能里程碑。2.2RUP过程框架构造阶段的主要目标如下:优化资源、避免不必要的报废和返工,使开发成本降到最低。尽快达到质量的要求。快速完成有用的版本,例如Alpha版、Beta版和其他测试发布版。完成所有功能的分析、开发和测试。迭代式、递增地开发随时可以发布的产品。确定准备好软件系统的外部环境。构造阶段的焦点是实现工作流。2.2RUP过程框架4.产品化阶段产品化阶段又称为交付阶段,这个阶段的重点是确保软件对最终用户是可用的。产品化阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在产品化阶段的终点是第四个里程碑—发布里程碑。此时需要判断最初预定的目标是否实现,是否应该开始下一个开发周期。2.2RUP过程框架4.产品化阶段交付阶段的主要目标如下:进行Beta版测试,按用户的要求验证新系统。替换旧的系统。对用户和维护人员进行培训。开始调整活动,例如调试、性能或可用性的增强。与用户达成共识,配置基线与评估标准一致。交付阶段的焦点是实现和测试工作流。2.2RUP过程框架RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集。采用增量开发方式,不断从一个迭代过程到另一个迭代逐步积累,一步一步地完成最终的系统。2.2.2RUP迭代开发模式2.2RUP过程框架每一次顺序地通过各工作流称为一次迭代RUP中的每个阶段可以进一步分解为迭代。2.2.2RUP迭代开发模式2.2RUP过程框架与传统的瀑布模型相比较,迭代过程的优点:降低了在一个增量上的开支风险。降低了产品无法按照既定进度进入市场的风险。加快了整个开发工作的进度。2.2.2RUP迭代开发模式2.3RUP的静态结构在RUP模型图中包括九个工作流,被称为RUP的核心工作流。核心工作流进一步分为六个核心过程工作流和三个核心支持工作流。模型图中的阴影部分描述了不同的工作流在不同的时间段内工作量的不同。2.3RUP的静态结构1.商业建模(BusinessModeling)2.需求分析(Requirements)3.分析与设计(AnalysisandDesign)4.实现(Implementation)5.测试(Test)6.部署(Deployment)7.配置和变更管理(ConfigurationandChangeManagement)8.项目管理(ProjectManagement)9.环境(Environment)2.3RUP的静态结构1.业务建模业务建模工作流描述了系统开发的一个构想,使用业务用例模型来描述这个构想,包括业务对象模型中定义组织的过程、角色和责任。大多数实际工程项目的主要问题在于软件工程和企业工程这两个领域无法进行有效的交流,导致对企业工程的分析无法直接进行转换用于软件开发。2.3RUP的静态结构2.需求需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化,最重要的是理解系统所解决问题的定义和范围。2.3RUP的静态结构3.分析设计分析设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构,并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作以实现用例的功能。2.3RUP的静态结构4.实施实施工作流的目的包括以层次化的子系统形式定义代码的组织结构,以构件的形式(源文件、二进制文件、可执行文件)实现类和对象,将开发出的构件作为单元进行测试,以及集成由单个开发者所产生的结果,使其成为可执行的系统。2.3RUP的静态结构5.测试测试工作流要验证对象间的交互作用是否符合设计要求,验证软件中所有构件是否正确集成,检验所有的需求是否被正确的实现。在测试工作流中发现并确认缺陷,在软件部署之前对这些缺陷进行处理。RUP提出了迭代的方法,意味着在整个项目中都需要进行测试,从而尽可能早的发现缺陷,从根本上降低了修改缺陷所带来的成本。2.3RUP的静态结构6.部署部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描述了那些与最终用户相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。2.3RUP的静态结构7.配置与变更管理配置与变更管理工作流描绘了如何在多个成员组成的项目中控制和管理变更。配置和变更管理工作流提供了一套准则来跟踪软件创建过程中的各个版本。配置与变更管理工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员进行记录。把谁、什么时候、为什么对什么产品做的什么修改记录下来。2.3RUP的静态结构8.项目管理软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。2.3RUP的静态结构9.环境环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了过程指导手册并指导项目组如何来实现过程。环境工作流的重点是在项目环境中,进行软件开发过程的配置活动。2.3RUP的静态结构核心工作流介绍三个方面制品/产物Artifact人员Person工作流中的主要活动Workflow2.3RUP的静态结构需求捕获工作流需求捕获通过对应问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。2.3RUP的静态结构2.3RUP的静态结构1.制品2.工作人员3.工作流2.3RUP的静态结构1.制品在需求捕获工作流,主要的UML制品:用例模型(UseCaseModel)参与者(Actor)用例(UseCase)构架描述术语表(Glossary)用户界面原型2.3RUP的静态结构2.工作人员参与需求捕获阶段的工作人员:系统分析人员(SystemAnalyst)用例描述人员(UseCaseSpecifier)用户界面设计人员(UserInterfaceDesigner)构架设计师(Architect)2.3RUP的静态结构3.工作流需求捕获的工作流主要包括五个活动:确定参与者和用例区分用例的优先级详细描述一个用例构造用户界面原型构造用例模型2.3RUP的静态结构分析工作流分析的主要工作开始于初始阶段的结尾,和需求一样是细化阶段的主要焦点。细化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。2.3RUP的静态结构2.3RUP的静态结构1.制品2.工作人员3.工作流2.3RUP的静态结构1.制品在分析工作流期间,主要的UML制品:分析模型分析类用例实现(分析)分析包构架模型2.3RUP的静态结构2.工作人员在分析工作流期间,所参与的工作人员:构架设计师用例工程师构件工程师2.3RUP的静态结构3.工作流分析工作流主要包括四个活动:构架分析分析用例分析类分析包2.3RUP的静
本文标题:第2章 RUP软件开发过程
链接地址:https://www.777doc.com/doc-3401359 .html