70JXMSTC-管理迭代化的软件开发项目0302-1008...

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

®IBMSoftwareGroup©2005IBMCorporation管理迭代化的软件开发项目IBM软件部RationalIBMSoftwareGroup|Rationalsoftware内容什么是统一软件开发过程瀑布模型vs.迭代化开发软件项目的开发阶段制定项目开发计划迭代化开发的指导原则IBMSoftwareGroup|RationalsoftwareIBMRationalUnifiedProcess软件开发方法论IBMSoftwareGroup|Rationalsoftware统一软件开发过程-RationalUnifiedProcess什么是RUP?RUP作为业界事实上的软件开发过程标准,定义了整个软件开发过程中。在什么时候、应该由谁、进行什么样的开发活动、产生什么样的结果,来确保按时提交保品质软件产品RUP总体体系架构每个角色完成指定的活动每个活动产生合格的工件每个工件拥有相关的指南、模板和检查点IBMSoftwareGroup|RationalsoftwareBusinessModelingWorkflowRUP的内容结构–核心工作流配置与变更管理工作流业务建模工作流RUP的主要特点:迭代式软件开发以架构为核心的软件开发用例驱动的软件开发风险驱动的软件开发IBMSoftwareGroup|RationalsoftwareRUP的内容结构–详细工作流配置管理工作流详细工作流图:计划项目配置与变更控制详细工作流图详细描述相关角色、其执行的一系列活动、输入工件和输出工件IBMSoftwareGroup|Rationalsoftware内容什么是统一软件开发过程瀑布模型vs.迭代化开发软件项目的开发阶段制定项目开发计划迭代化开发的指导原则IBMSoftwareGroup|Rationalsoftware风险时间传统的瀑布式开发流程SubsystemTestingSystemTestingCode&UnitTestingDesignRequirementsAnalysisIBMSoftwareGroup|Rationalsoftware瀑布模型无法有效控制项目风险,保证项目进度测试时才发现系统性能无法达到预定指标增加的开发活动,整个项目有一周的延误IBMSoftwareGroup|Rationalsoftware迭代化的软件项目生命周期模型把复杂的问题分解成一系列相对简单的问题早期的迭代解决风险最高的问题每次迭代都增加系统的功能并产生一个可运行的结果每次迭代都包括有测试工作TCDR时间Iteration1Iteration2Iteration3TCDRTCDRIBMSoftwareGroup|Rationalsoftware时间风险瀑布模型的风险迭代化开发的风险迭代化开发vs.瀑布模型IBMSoftwareGroup|Rationalsoftware迭代计划的依据:风险驱动优先解决那些高风险的问题根据上面的风险列表制定的迭代开发计划预定的结束日期8月9日IBMSoftwareGroup|Rationalsoftware迭代式项目的执行迭代一的目标是开发一个系统核心原型,满足性能需求指标迭代执行的结果可能实现预定目标,也可能没有达到预定目标项目经理需要对每次迭代结果进行评估根据上一次迭代执行的结果来决定下一次迭代的工作内容IBMSoftwareGroup|Rationalsoftware迭代一失败之后,调整过的计划预定的结束日期8月8日原计划调整过的计划原定一人完成的内容被分为两个人开发IBMSoftwareGroup|Rationalsoftware什么是迭代(iteration)?迭代是按预先计划所进行的一系列开发活动,通过迭代会产生一个软件发布结果(内部或外部的),并且根据预先制定的标准来对该结果进行评估在一次迭代中,我们会走过所有的规程(discipline)IBMSoftwareGroup|Rationalsoftware一次迭代IBMSoftwareGroup|Rationalsoftware迭代化开发产生可运行的结果PlanningRequirementsAnalysis&DesignImplementationDeploymentTestEvaluationManagementEnvironment每次迭代都要产生一个可运行的结果IBMSoftwareGroup|Rationalsoftware瀑布模型到迭代模型的映射需求分析概要设计详细设计编码和单元测试功能测试系统测试质量检验点IBMSoftwareGroup|Rationalsoftware内容什么是统一软件开发过程瀑布模型vs.迭代化开发软件项目的开发阶段制定项目开发计划迭代化开发的指导原则IBMSoftwareGroup|Rationalsoftware软件项目的四个阶段建立架构软件架构确定目标和范围项目目标产品可以移交给客户运行能力客户验收项目结束InceptionElaborationConstructionTransition时间IBMSoftwareGroup|Rationalsoftware初启阶段(Inception)确定项目开发的目标和范围定义主要的需求:用例以及主要的用例场景根据一些主要的用例场景来构建一个基本架构估算开发周期和成本估计潜在的风险软件架构项目目标运行能力项目结束初启ElaborationConstructionTransition时间IBMSoftwareGroup|Rationalsoftware手机开发项目–初启阶段初启迭代1手机功能列表:.通话.短信.地址簿.游戏…明确目标和范围IBMSoftwareGroup|Rationalsoftware精化阶段(Elaboration)尽快稳定并验证软件架构定义所有的需求:所有的用例及用例场景确定项目开发前景(vision)为构建阶段(Construction)制定一个详细的开发计划软件架构项目目标运行能力项目结束初启精化ConstructionTransition时间IBMSoftwareGroup|Rationalsoftware手机开发项目–精化阶段初启迭代1手机功能列表:.通话.短信.地址簿.游戏…精化迭代1完善细化需求开发实现基本通话功能测试基本通话功能精化迭代2完善细化需求开发实现短信功能测试短信功能建立手机架构明确目标和范围IBMSoftwareGroup|Rationalsoftware构建阶段(Construction)尽快完成软件产品的开发尽可能降低开发成本,优化开发资源和避免不必要的返工在保证开发进度的同时达到足够的软件质量获得一些有用的版本(alpha,beta等)软件架构项目目标运行能力项目结束初启精化构建Transition时间IBMSoftwareGroup|Rationalsoftware手机开发项目–构建阶段……初启迭代1手机功能列表:.通话.短信.地址簿.游戏…精化迭代1完善细化需求开发实现基本通话功能测试基本通话功能精化迭代2完善细化需求开发实现短信功能测试短信功能构建迭代1开发实现地址薄和游戏功能测试相关功能建立手机架构明确目标和范围开发其他功能IBMSoftwareGroup|Rationalsoftware交付阶段(Transition)获得涉众的认同:产品部署已经完成并且满足预定的质量标准尽快达到最终稳定的产品基线软件架构项目目标运行能力项目结束初启精化构建交付时间IBMSoftwareGroup|Rationalsoftware项目的关注点随时间而发生变化技术检验点InceptionElaborationConstructionTransitionPreliminaryIterationArchitectureIterationArchitectureIterationDevelopmentIterationDevelopmentIterationDevelopmentIterationTransitionIterationTransitionIteration客户验收或产品最终发布产品开发完成(得到可运行系统)确定软件架构(得到解决方案)项目范围和商业理由(理解要解决的问题)商业决策点IBMSoftwareGroup|Rationalsoftware项目的关注点随时间而发生变化时间需求设计编码测试部署迭代1迭代2迭代3IBMSoftwareGroup|Rationalsoftware内容什么是统一软件开发过程瀑布模型vs.迭代化开发软件项目的开发阶段制定项目开发计划迭代化开发的指导原则IBMSoftwareGroup|RationalsoftwareConceptualprototypeArchitecturalbaselineReleaseDelivery#1#2#n+1#..#m#m+1#m+2..Iter.No.Prel.IterationElabo-rationConstructionTransitionInception增量式Incremental(1)ConceptualprototypeArchitecturalbaselineReleaseDelivery#1#2#n+1#..#m#m+1#m+2..Iter.No.Prel.IterationElaborationCons-truc-tionTransitionInception演进式Evolutionary(2)ConceptualprototypeArchitecturalbaselineReleaseDelivery#1#2#n+1#..#m#m+1#m+2..Iter.No.Prel.IterationElabo-rationCons-truc-tionTransitionInception增量交付Incrementaldelivery(3)ConceptualprototypeArchitecturalbaselineReleaseDelivery#1#2#3..Iter.No.Elabo-rationConstructionTransitionInception“Granddesign”(4)迭代化开发的策略IBMSoftwareGroup|Rationalsoftware迭代的周期迭代开始时需要制定迭代计划和确定本次迭代需要实现的需求,迭代结束时必须产生一个可运行的发布版本根据具体项目的规模和复杂度,典型的迭代为4到6个星期影响迭代周期的主要有以下这些因素:软件公司的规模、团队的稳定性和软件开发能力成熟度对迭代化流程的熟悉程度项目的大小项目中所采用技术的复杂度软件开发的自动化程度:管理代码、发布信息、功能/性能测试等IBMSoftwareGroup|Rationalsoftware迭代数量经验值:6±3PhaseLowMediumHighInception011Elaboration123Construction123Transition112Total369IBMSoftwareGroup|Rationalsoftware制定项目开发计划下一个迭代计划迭代计划主要开发阶段和里程碑什么时候完成项目项目要做什么项目开发计划阶段计划每个阶段分别有那些迭代迭代的数量迭代的目标迭代的周期细化的计划框架性计划开发路标IBMSoftwareGroup|Rationalsoftware内容什么是统一软件开发过程瀑布模型vs.迭代化开发软件项目的开发阶段制定项目开发计划迭代化开发的指导原则IBMSoftwareGroup|Rationalsoftware迭代化开发的指导原则尽早降低项目风险尽早确定软件架构IBMSoftwareGroup|Rationalsoftware什么是风险?常见的风险类型:技术/架构风险未经证实的技术,从未涉足的应用领域资源风险缺乏足够的开发人员、技术、资金商业风险兑

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功