《统一软件开发过程教程》由会员分享,可在线阅读,更多相关《统一软件开发过程教程(22页珍藏版)》请在金锄头文库上搜索。
1、Rational Unified Process 统一软件开发过程一、概述Rational Unified Process(简称RUP)是一套软件工程过程,主要 由Ivar Jacobson的 The Objectory Approch 和 The Rational Approch 发 展而来。同时,它又是文档化的软件工程产品,所有RUP 的实施细 节及方法导引均以Web文档的方式集成在一张光盘上,由Rational公 司开发、维护并销售。RUP又是一套软件工程方法的框架,各个组 织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改, 以制定出合乎需要的软件工程过程。 RUP 吸收了多种
2、开发模型的优点,具有很好的可操作性和实用性 、从它一推出市场,凭借Booch、Ivar Jacobson、以及Rumbagh 在业 界的领导地位、以及与统一建模语言(Unified Model Language , 简称 UML)的良好集成、多种CASE工具的支持、不断的升级与维护,迅 速得到业界广泛的认同,越来越多的组织以它作为软件开发模型框 架。二、喷泉模型演化集成测试编程设计分析喷泉模型三、支持六大最佳软件开发实践 迭代式开发 管理需求 使用以组件为中心的软件架构 可视化建模 验证软件质量 控制变更Initial Project Risks Initial Project ScopeRe
3、vise Overall Project Plan Cost Schedule Scope/ContentPlan Iteration N Cost ScheduleAssess Iteration NRisks EliminatedRevise Project Risks ReprioritizeDevelop Iteration N Collect cost and quality metricsDefine scenarios to address highest risksIteration N3.1.1 Risk Reduction Drives Iterations3.1 迭代式开
4、发InceptionElaborationConstructionTransitionIteration 1Iteration 2Iteration 3Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release“Mini-Waterfall” ProcessUse Cases Drive the Iteration ProcessThe Iteration Life Cycle: A Mini-Waterfall Results of previous iterations Up-
5、to-date risk assessment Controlled libraries of models, code, and tests Release description Updated risk assessment Controlled librariesIteration PlanningRequirements CaptureAnalysis & DesignImplementation TestPrepare ReleaseSelected scenariosRiskTransitionInceptionElaborationConstructionPreliminary
6、 IterationArchitect. IterationArchitect. IterationDevel. IterationDevel. IterationDevel. IterationTransition IterationTransition IterationPost- deploymentWaterfallTimeRisk Profile of an Iterative Development3.1.2 Phases in the Software Life CycleThe Process has four phases Inception: defining the sc
7、ope of the project Elaboration: planning the project, specifying features and designing the architecture Construction: building the product Transition: deployment to the user community timeInceptionElaborationConstructionTransitionMajor milestones3.1.3 Iterations in the Software Life CycleAn iterati
8、on is a complete development loop ending in a release of an executable product, an increment of the final product under development. InceptionElaborationConstructionTransitionpreliminary iteration(s)iteration #1iteration #2. . .iteration #niteration #n+1iteration #n+2 . . .iteration #niteration #n+1
9、 . . .Releasestime3.2 管理需求需求工程需求管理需求开发编写规格说明分析问题获取验证基准需求说明分析 编写文档 评审、商议需求变更过程市场需求客户管理市场 客户 管理项目环境当前基线需求开发需求管理 修正后基线需求变更项目变更需求开发与需求管理之间的界限3.3 Layered ArchitectureGeneric components like GUI-builders, interfacing to DBMS, operating system services, ORB抯, OLE comp抰s, etc.Components for the application
10、engineersDistinct application systems Operating systems, DBMSs, OLE, foundation classes, etc Variants of a particular application system System software platformNon-domain specific component systems Domain specific component systems Application systems3.4 可视化建模可视化建模提高了抽象的水平3.5 检验软件质量 软件质量定义 产品质量 过程质
11、量 外在质量 内在质量 保证质量的方法3.6 控制变更在开发软件密集型系统时,所面临的一个关键挑战就是必须应付 分散到不同团队中的多个开发人员,他们可能在不同的地方,为各 次迭代、各个发布版、产品和平台协同工作。配置与变更管理为使各个开发人员及团队在执行活动和使用工件方面协调一致, 需要建立可重复的过程以管理软件和其他开发工件的变更。管理变更请求为了使迭代和发布协调一致,需要在每次迭代完成时建立和发布 一个测试过的基线。为了评估和有效地控制变更的影响,有必要保 持每个发布版的元素和多个并行发布版中的元素的可追踪性。管理基线与发布四、软件开发生生命周期的二维空间One iterationArch
12、itecture iteration时间维从组织管理的角度描述整个软件开发生命周期,是RUP的 动态组成部分。它可进一步描述为周期(Cycle)、阶段(phase)、 迭代(Iteration)。 核心工作流从技术角度描述RUP的静态组成部分,它可进一步描 述为行为(activities)、工作流(workflow)、产品(artifact)、工 人(worker)。图中的阴影部分描述了不同的工作流,在不同的时间段内工作量 的不同。值得注意的是,几乎所有的工作流,在所有的时间段内均 有工作量,只是大小不同而已。这与Waterfall process 有明显的不同 。 RUP采用Usecase的
13、概念,把要开发的系统根据各功能使用的情况 划分多个Usecase,并采用迭代的思想把系统的风险分布在四个阶段 ,风险越大的迭代越要放在靠前的阶段做,使软件产品的风险不断 降低;而不是像传统软件工程那样越往开发的后期问题越多。所以 RUP的思想一推出就受到软件企业的欢迎。按照RUP的开发模式一 般可以达到CMM2、3级的水平。当然,理解和掌握RUP需要一个相 对较长的过程。五、如何在过程中使用UML 以软件体系结构为中心 用例驱动 支持迭代开发过程 UML的图与工作流程和模型之间的关系5.1 Process Components and ModelsUse-Case ModelDesign Mo
14、delImplementation ModelTest Modelrealized byimplemented byverified byRequirements AnalysisDesignImplementationTestEach process component is associated with a particular model.5.2 UML的图与模型的对应关系 用例模型用用例图、顺序图、协作图、状态图和活 动图描述。 分析、设计模型用类图和对象图、顺序图、协作 图、状态图和活动图描述。 实现模型可用组件图、顺序图和协作图描述。 实施模型配置图 测试模型测试模型引用了所有其他模型,所以它使用他们对应的所有图。