1、RationalUnifiedProcess统一软件开发过程,一、概述,RationalUnifiedProcess(简称RUP)是一套软件工程过程,主要由IvarJacobson的TheObjectoryApproch和TheRationalApproch发展而来。同时,它又是文档化的软件工程产品,所有RUP的实施细节及方法导引均以Web文档的方式集成在一张光盘上,由Rational公司开发、维护并销售。RUP又是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。RUP吸收了多种开发模型的
2、优点,具有很好的可操作性和实用性、从它一推出市场,凭借Booch、IvarJacobson、以及Rumbagh在业界的领导地位、以及与统一建模语言(UnifiedModelLanguage,简称UML)的良好集成、多种CASE工具的支持、不断的升级与维护,迅速得到业界广泛的认同,越来越多的组织以它作为软件开发模型框架。,二、喷泉模型,三、支持六大最佳软件开发实践,迭代式开发管理需求使用以组件为中心的软件架构可视化建模验证软件质量控制变更,InitialProjectRisksInitialProjectScope,ReviseOverallProjectP
3、lanCostScheduleScope/Content,PlanIterationNCostSchedule,AssessIterationN,RisksEliminated,ReviseProjectRisksReprioritize,DevelopIterationNCollectcostandqualitymetrics,Definescenariostoaddresshighestrisks,IterationN,3.1.1RiskReductionDrivesIterations,3.1迭代式开发,IterationP
4、lanning,RqmtsCapture,Analysis&Design,Implementation,Test,PrepareRelease,UseCasesDrivetheIterationProcess,TheIterationLifeCycle:AMini-Waterfall,ResultsofpreviousiterationsUp-to-dateriskassessmentControlledlibrariesofmodels,code,andtests,ReleasedescriptionUpdatedriskasse
5、ssmentControlledlibraries,IterationPlanning,RequirementsCapture,Analysis&Design,Implementation,Test,PrepareRelease,Selectedscenarios,Risk,PreliminaryIteration,Architect.Iteration,Architect.Iteration,Devel.Iteration,Devel.Iteration,Devel.Iteration,TransitionIteration,TransitionIterati
6、on,Post-deployment,Time,RiskProfileofanIterativeDevelopment,3.1.2PhasesintheSoftwareLifeCycle,TheProcesshasfourphasesInception:definingthescopeoftheprojectElaboration:planningtheproject,specifyingfeaturesanddesigningthearchitectureConstruction:buildingtheproduct
7、Transition:deploymenttotheusercommunity,Majormilestones,3.1.3IterationsintheSoftwareLifeCycle,Aniterationisacompletedevelopmentloopendinginareleaseofanexecutableproduct,anincrementofthefinalproductunderdevelopment.,3.2管理需求,需求工程,需求管理,需求开发,编写规格说明,分析,问题获取,验证,基准需求说明,分析
8、编写文档评审、商议,需求变更过程,市场,需求,客户,管理,市场客户管理,项目环境,当前基线,需求开发,需求管理,修正后基线,需求变更,项目变更,需求开发与需求管理之间的界限,3.3LayeredArchitecture,GenericcomponentslikeGUI-builders,interfacingtoDBMS,operatingsystemservices,ORB抯,OLEcomp抰s,etc.,Componentsfortheapplicationengineers,Distinctapplicationsystems,Opera
9、tingsystems,DBMSs,OLE,foundationclasses,etc.,Variantsofaparticularapplicationsystem,Systemsoftwareplatform,Non-domainspecificcomponentsystems,Domainspecificcomponentsystems,Applicationsystems,3.4可视化建模,可视化建模提高了抽象的水平,3.5检验软件质量,软件质量定义产品质量过程质量外在质量内在质量保证质量的方法,3.6控制变更,在开发软件密集型系