您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > RUP简介及软件过程改进
RUP大讲堂(第一讲)-RUP简介及软件过程改进北京恒讯时代信息技术有限公司肖勇13511008825xiaoy@henxu.com2议程RUP发展历程RUP主要框架RUP主要内容RUP与XPRUP与MSFRUP与CMM实践RUP结论3RUP的发展历程-面临的问题开发团队没有实现对对过程信息集中访问控制(没有集中的数据库)团队缺乏在方法和最佳实践上进行自我培训的最新的知识基础团队没有使用统一的方式表达和方法沟通过程工程和过程制定,组织级的过程的描述和裁减缺乏统一的方法开发队伍角色未定义,不协调,团队工作和过程绩效由于执行的间隙和冲突而削弱4RUP的发展历史-什么是软件过程软件工程中的目标就是开发和维护软件及相关产品软件过程包含了谁在什么时候按照什么样的规则完成相应的工作软件过程包含了三大要素:人,规程,技术方法和工具规程人技术方法和工具5RUP的发展历程-什么是RUP是一种软件工程的过程框架是一个过程产品用户可以使用RMC通过多种途径在企业中保持一致的开发过程提供基于Eclipse的方法构建和发布工具提供过程库,包括所有早期版本的RUP内容以及RUP的插件捕获了并整合了现代软件开发中的最佳实践,适应更广泛项目和组织6RMC的发展历史-概览200520032002200120001999199819971996ObjectoryProcessRationalApproach•OMT•Booch•UML1.0•Requirements•TestProcess•UIDesign•DataEngineering•UML1.1•PerformanceTesting•BusinessModeling•ConfigurationandChangeMgt•ProjectManagement•UML1.3•RealTime•RationalProcessWorkbench•Majoradditionofcontent•Majoradditionoftoolmentors•IntroductionofRUPPlatformprovidingaconfigurableprocessframeworkImprovedProcessforindependenttesting•TreebrowserupgradedforenhancedcapabilitiesofcreatingcustomizedMyRUPtree•Terminologychanges•IntroductionofRUPBaseConcepts•KeyPrinciplesforBusiness-DrivenDevelopment•Deliveryprocesses7RUP的发展历史-RMC与RUPRationalMethodComposer(简称RMC),帮您快速打造企业流程:RationalMethodComposer(RMC)是一个工具平台,负责维护和实现开发组织或个人项目过程的过程工程师,项目领导,和项目经理可使用该平台。提供通用流程设计和发布平台提供可重用的、统一的方法定义架构,实现流程的重用、可配置和可适应RMC可以设计不同的软件过程和方法目前新发行的RUP时是通过RMC进行设计和表达的,也可以使用RMC进行RUP的裁减。8RUP的发展历史-新的变化新的产RMC为制作、配置、查看和发布开发过程提供完成的可重定义工具将UMA的概念作为RUP的一部分,采用统一的方式对软件过程进行描述增加了新的交付流程,增加开发的补充规约,在分析设计方面增加了用例的流程,操作的分析,操作的设计等增强的可重用性和可扩展性,使用拖放操作快速定义过程,填补了过程与项目管理之间的空白。9RUP的发展历史-最佳实践的演化BestPracticesProcessMadePracticalBestPracticesProcessMadePracticalDevelopIterativelyManageRequirementsUseComponentArchitecturesModelVisually(UML)ContinuouslyVerifyQualityManageChangeDevelopIterativelyManageRequirementsUseComponentArchitecturesModelVisually(UML)ContinuouslyVerifyQualityManageChange10RUP的主要框架-概览RUPSUMMITAscendant业界领先的企业IT项目管理方法,包括项目计划,估算,管理工具IBMGlobalServicesMethodUnifiedMethodArchitecture统一方法架构RationalMethodComposerBeacon/EclipseProcessFrameworkCommonToolInfrastructure(processauthoring,configuration,publishing)IBMCommercialandServiceOfferingsIncrementallyre-factorbest-of-breedcontenttowardsfamilyofUnifiedMethodFrameworks11RUP主要框架-概览(续)每个角色完成指定的活动每个活动产生合格的工件每个工件拥有相关的指南、模板和检查点11MethodContentMethodcontentisindependentoflifecycle.Methodcontentelementsare:TaskRoleWorkproductForexample,inRUP,methodcontentconsistsofthedescriptionsofthetasks,workproducts,androles.Thesedescriptionsdonotdependonanylifecycle.任务角色工作产品工作流12RUP的主要框架-(UMA)的核心概念“方法内容”用来描述那些独立于流程、可重用的方法组件,包括:分步执行的“任务”执行“任务”的“角色”作为“任务”输入和输出的“工作产品”“指导信息”提供对任务和工作产品最佳实践经验的相关说明13RUP主要框架-概览(续)14RUP主要内容-企业级的方法内容ProgramManagement大型项目的计划、执行和监控PortfolioManagement管理业务案例、评估项目组合和项目群、支持决策分析BusinessEngineering对业务目标、业务流程和组织结构进行建模.规划、组织软件资产架构,业务流程模拟SystemsEngineering整合、开发由软件、硬件和人等构成的大型系统Asset-BasedDevelopment支持资产的生产、使用和组合管理15RUP主要内容-遵循业界标准、最佳实践和方法论预定义的流程和方法:RUPforSmallProjects(Smallco-locatedteams)RUPforMedium-sizedProjects(Distributedteams)RUPforLargeProjects(Largedistributedteams)RUPforService-OrientedArchitecture(SOA),RUPforCOTS/PackagedApplicationDevelopmentRUPforSystemsEngineeringRUPforMaintenance流程插件(Plug-Ins)举例:J2EE.NETUserexperienceCreativeWebdesignLegacyevolution….16RUP与XP-什么是敏捷开发“敏捷”的含义:轻巧、机敏、迅捷、灵活、活力、高效……•轻载(过程、工件最小化)不等同于敏捷。•敏捷过程很容易适应变化并迅速做出自我调整,在保证质量的前提下,做到文档、度量适度(justenough),实现企业效益的最大化。•敏捷应该是所有成功组织(包括大中型企业)的目标!AM是一种最近才出现的软件思想AM是一种轻方法论XP(极限编程)就是一种AM的具体实现17RUP与XP-什么是XPXPisalightweightmethodologyforsmalltomediumsizedteamsdevelopingsoftwareinthefaceofvagueorrapidlychangingrequirements.--KentBeck.¾XP是针对业务和软件开发的规则。¾XP对程序员的承诺是他们能够处理真正重要的工作。¾XP对客户和管理人员的承诺是能够从每个编程周期中获得最大的利益。¾XP是软件开发过程中的纪律,它规定你:必须在编程前些测试,必须两个人一起编程,必须遵守编程规范……。(12条军规)¾XP完全符合程序员的理念。18RUP与XP-XP四个核心价值沟通:问题往往是由于开发人员与设计人员、设计人员与客户之间的沟通不畅造成的简单:应该尽量保持代码的简单,只要它能工作就可以与其实现一个复杂的的系统,不如设计一个能够满足目前需要的、简单的系统,因为你所考虑的情况可能永远都不会发生。反馈:尽快获得用户的反馈,并且越详细越好,使得开发人员能够保证自己的成果符合用户的需要。勇气:这是最重要的核心价值。因为XP强调要拥抱变化,因此对于用户的反馈,要勇于对自己的代码进行修改,丢掉坏的代码。19RUP与XP-XP主要最佳实践1.最优先的目标是通过尽早地、持续地交付有价值的软件来满足客户。2.欢迎需求变化,甚至在开发后期。敏捷过程控制、利用变化帮助客户取得竞争优势。3.频繁交付可用的软件,间隔从两周到两个月,偏爱更短的时间尺度。4.在整个项目中业务人员和开发人员必须每天在一起工作。5.以积极主动的员工为核心建立项目,给予他们所需的环境和支持,信任他们能够完成工作。6.在开发团队内外传递信息最有效率和效果的方法是面对面的交流。20RUP与XP-XP主要最佳实践(续)7.可用的软件是进展的主要度量指标。8.敏捷过程提倡可持续发展。发起人、开发者和用户应始终保持稳定的步调。9.简化——使必要的工作最小化的艺术——是关键。10.持续关注技术上的精益求精和良好的设计以增强敏捷性。11.最好的架构、需求和设计产生于自我组织的团队。12.团队定期地对运作如何更加有效进行反思,并相应地调整、校正自己的行为。21RUP与XP-共性基础都是面向对象方法都采用迭代,增量开发方式都是基于风险驱动都重视代码、文档的最小化和设计的简化采用动态适应变化的演进式迭代周期强调需求和测试管理鼓励用户积极参与22RUP与XP-差异XP以代码为中心,编码和设计活动融为一体,弱化了架构的概念。RUP过程通常以架构为中心,细化阶段的主要目的就是构造出一个可运行的架构原型,作为将来添加需求功能的稳固基础。XP有一个非常关键的假设就是:开发人员只注重眼前需求,依赖重构来适应需求的变动,这样所带来的风险、开销要小于需求变化使得事先充分设计失效的代价;反之,实施XP就是不明智的XP不包含业务建模、部署、过程管理等概念。RUP更加强调项目的可控性。可以将XP中的最佳实践纳入到RUP之中。RUP经过裁减后适合各种规模的项目,XP只适用于小团队。XP实践依赖团队成员的强关系而RUP对团队成员的关系紧密程度要求弱一些23RUP与MSF-认识MSF它是一种框架结构一种帮助提供技术决策指南的观点。一组反复跟踪、监控和管理项目及其进展的参考方法。一致的重用性保证在灵活的计算环境中有效的利用已有的知识和技能。一个资源的集合联机资料CD-ROM知识库教学课程完整的参考手册它在不断发展24RUP与MSF-认识MSF(续)组队模型ProgramManag
本文标题:RUP简介及软件过程改进
链接地址:https://www.777doc.com/doc-5474013 .html