资源描述
路漫漫其悠远路漫漫其悠远少壮不努力,老大徒悲伤少壮不努力,老大徒悲伤少壮不努力,老大徒悲伤少壮不努力,老大徒悲伤2024/7/26软件开发项目管理软件开发项目管理路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂目目 录录1.1.项目管理概述项目管理概述2.2.软件生命周期软件生命周期3.3.软件度量软件度量4.4.软件项目估算软件项目估算5.5.风险管理风险管理6.6.软件项目计划软件项目计划V V 小小 结结参考资料参考资料路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂I I 软件项目管理概述软件项目管理概述1.1 1.1 软件项目管理的目的软件项目管理的目的1.2 1.2 软件项目管理的重要性软件项目管理的重要性1.3 1.3 软件项目管理的对象软件项目管理的对象1.4 1.4 软件项目管理的主要任务软件项目管理的主要任务路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂1.1 1 软件项目管理的目的软件项目管理的目的为了生产产品能做到为了生产产品能做到:按时交付按时交付在预算内在预算内合格的质量合格的质量按计划做事按计划做事路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂1.2 1.2 软件项目管理的重要性软件项目管理的重要性软软件件工工程程管管理理引引起起广广泛泛注注意意源源于于2020世世纪纪7070年年代代中中期期,当当时时发现不成功的项目发现不成功的项目70%70%是因为管理不善而引起是因为管理不善而引起2020世世纪纪9090年年代代中中期期,美美国国的的软软件件开开发发仍仍然然很很难难预预测测,大大约约只有只有10%10%的项目能够在预定的费用和进度下交付的项目能够在预定的费用和进度下交付路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂1.3 1.3 软件项目管理的对象软件项目管理的对象任务任务成本成本工作量工作量效率效率人员人员资源资源风险风险路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂1.4 1.4 项目管理的主要任务项目管理的主要任务定义软件生命周期定义软件生命周期进行软件规模估算进行软件规模估算进行软件风险分析进行软件风险分析制定软件开发计划制定软件开发计划进行软件项目跟踪与监控进行软件项目跟踪与监控进行软件度量进行软件度量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2 2 软件生命周期软件生命周期2.1 2.1 软件过程的三个主要阶段软件过程的三个主要阶段2.2 2.2 什么是软件生命周期什么是软件生命周期2.3 2.3 软件生命周期模型软件生命周期模型2.4 2.4 瀑布模型瀑布模型2.5 2.5 进化模型进化模型2.6 2.6 螺旋模型螺旋模型2.7 Rational 2.7 Rational 软件开发过程框架软件开发过程框架2.8 2.8 软件生命周期的选取评价准则软件生命周期的选取评价准则路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.1 2.1 软件过程的三个主要阶段软件过程的三个主要阶段2.1.1 2.1.1 定义阶段定义阶段2.1.2 2.1.2 开发阶段开发阶段2.1.3 2.1.3 维护阶段维护阶段路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂定义阶段定义阶段定义阶段要明确定义阶段要明确“做什么做什么”定义系统和软件的关键需求:定义系统和软件的关键需求:在此阶段,开发人员试图搞清要处理什么信息在此阶段,开发人员试图搞清要处理什么信息预期完成什么样的功能和性能预期完成什么样的功能和性能达到什么样的系统行为达到什么样的系统行为建立什么样的界面建立什么样的界面有什么样的约束有什么样的约束设计需求跟踪矩阵和系统测试用例设计需求跟踪矩阵和系统测试用例定义一个成功系统的确认标准是什么定义一个成功系统的确认标准是什么定义阶段三个主要任务:系统工程分析;软件项目计划;软定义阶段三个主要任务:系统工程分析;软件项目计划;软件需求分析件需求分析路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂开发阶段开发阶段开发阶段要明确开发阶段要明确“如何做如何做”设计软件:设计软件:功能如何转换为构架功能如何转换为构架细化需求跟踪矩阵和设计集成测试用例细化需求跟踪矩阵和设计集成测试用例试图定义数据如何结构化试图定义数据如何结构化界面如何表示界面如何表示设计如何转换成程序设计如何转换成程序测试如何进行测试如何进行定义一个成功系统的设计的确认标准是什么定义一个成功系统的设计的确认标准是什么开发阶段三个主要任务:软件设计;代码生成;软件测试开发阶段三个主要任务:软件设计;代码生成;软件测试路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂维护阶段维护阶段维护阶段要明确维护阶段要明确“改变什么改变什么”改正性维护:约占改正性维护:约占20%20%左右。主要是改正处理方面、性能方左右。主要是改正处理方面、性能方面以及编程方面的错误面以及编程方面的错误适应性维护:约占适应性维护:约占25%25%左右。主要用于适应数据环境(外部左右。主要用于适应数据环境(外部环境)、硬件及操作系统(内部环境)和移植工作环境)、硬件及操作系统(内部环境)和移植工作改进性维护:约占改进性维护:约占50%50%左右。主要用于提高处理效率、提高左右。主要用于提高处理效率、提高性能、使之使用方便、增加及改进输出信息,以达到便于维性能、使之使用方便、增加及改进输出信息,以达到便于维护的目的。这包括改进易读性和注释等护的目的。这包括改进易读性和注释等路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.2 2.2 什么是软件生命周期什么是软件生命周期软件生命周期是指软件产品或软件系统从产生、投入使用软件生命周期是指软件产品或软件系统从产生、投入使用到被淘汰的全过程到被淘汰的全过程在计算机技术发展的初期,人们把软件开发简单地理解为编在计算机技术发展的初期,人们把软件开发简单地理解为编写程序写程序随着软件复杂性的增长,人们认识到软件开发活动应划分为随着软件复杂性的增长,人们认识到软件开发活动应划分为需求分析、设计、实现、测试等若干个活动,并将这些活动需求分析、设计、实现、测试等若干个活动,并将这些活动以适当的方式分配到不同的阶段中去完成以适当的方式分配到不同的阶段中去完成通常把软件生命周期分为通常把软件生命周期分为5 5个阶段:个阶段:需求需求设计设计编码编码测试测试维护维护路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.3 2.3 软件生命周期模型软件生命周期模型软件生命周期模型是描述软件开发全部过程、活动和任务软件生命周期模型是描述软件开发全部过程、活动和任务的结构框架的结构框架软件开发模型能清晰、直观地表达软件开发全过程,明确软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作规定了要完成的主要活动和任务,用来作为软件项目工作的基础的基础瀑布模型瀑布模型(Waterfall Model)(Waterfall Model)进化模型(进化模型(Evolutionary ModelEvolutionary Model)螺旋模型(螺旋模型(Spiral ModelSpiral Model)统一软件开发过程(统一软件开发过程(Unified Software Development Unified Software Development ProcessProcess)路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.4 2.4 瀑布模型瀑布模型(1)(1)19701970年年W.RoyceW.Royce提出了最早的软件开发模型提出了最早的软件开发模型-瀑布模型。该模瀑布模型。该模型给出了固定的顺序,将软件生命周期各阶段的活动从上一阶型给出了固定的顺序,将软件生命周期各阶段的活动从上一阶段向下一阶段逐级过渡,如同流水下泻,最终得到所开发的软段向下一阶段逐级过渡,如同流水下泻,最终得到所开发的软件产品件产品这一模型规定了开发各阶段的活动为:提出系统需求,提出软这一模型规定了开发各阶段的活动为:提出系统需求,提出软件需求,需求分析,设计,编码,测试和运作。并且还规定了件需求,需求分析,设计,编码,测试和运作。并且还规定了自上而下相互衔接的固定顺序,构成了熟知的瀑布模型自上而下相互衔接的固定顺序,构成了熟知的瀑布模型实践表明,各个阶段间的关系并非如此简单。由于阶段评审可实践表明,各个阶段间的关系并非如此简单。由于阶段评审可能出现向前阶段的反馈,致使在各阶段间产生环路,瀑布流水能出现向前阶段的反馈,致使在各阶段间产生环路,瀑布流水出现上流。出现上流。W.RoyceW.Royce在提出瀑布模型时,就对此提出了如何进行在提出瀑布模型时,就对此提出了如何进行的建议的建议分析分析设计设计编码编码测试测试路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂瀑布模型瀑布模型(2)(2)每个开发阶段均应具有以下特征每个开发阶段均应具有以下特征从从上上一一阶阶段段接接受受本本阶阶段段工工作作的的对对象,作为输入象,作为输入对上述输入实施本阶段的活动对上述输入实施本阶段的活动给给出出本本阶阶段段的的工工作作成成果果,作作为为输输出传入下一阶段出传入下一阶段对对本本阶阶段段工工作作进进行行评评审审,若若本本阶阶段段工工作作得得到到确确认认,则则继继续续下下阶阶段段工工作作,否否则则返返回回前前一一阶阶段段,甚甚至至更前的阶段更前的阶段系统需求系统需求软件需求软件需求分析分析设计设计编码编码测试测试运作运作瀑布模型瀑布模型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂瀑布模型瀑布模型(3)(3)系统需求系统需求软件需求软件需求分析分析设计设计编码编码测试测试运作运作瀑布模型瀑布模型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂瀑布模型瀑布模型(4)(4)瀑布模型为软件开发与维护提供了一种有效的管理模式,瀑布模型为软件开发与维护提供了一种有效的管理模式,根据这一模式制订开发计划、进行成本预算、组织开发人根据这一模式制订开发计划、进行成本预算、组织开发人员,以阶段评审和文档控制为手段有效地对整个开发过程员,以阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品的质量进行指导,从而保证了软件产品的质量优点:近优点:近3030年来之所以广为流行,是因为它在支持开发结构年来之所以广为流行,是因为它在支持开发结构化软件、控制软件的开发复杂度、促进软件开发工程化方面化软件、控制软件的开发复杂度、促进软件开发工程化方面起着显著作用起着显著作用缺点:缺乏灵活性,无法通过开发活动澄清本来不够确切的缺点:缺乏灵活性,无法通过开发活动澄清本来不够确切的软件需求。这些问题可能导致开发出的软件并不是用户真正软件需求。这些问题可能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发过程完成后才有所察觉需要的软件,并且这一点在开发过程完成后才有所察觉路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.5 2.5 进化模型进化模型(1)(1)进化模型主要针对事先不能完整定义需求的软件开发。用进化模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现后,能够有效地提出反馈,以支持系统的最终设计和实现实现软件开发人员根据用户的需求,首先开发核心系统。当该软件开发人员根据用户的需求,首先开发核心系统。当该核心系统投入运行后,用户试用之核心系统投入运行后,用户试用之,完成他们的工作完成他们的工作,并并提出精化系统、增强系统能力的需求。软件开发人员根据提出精化系统、增强系统能力的需求。软件开发人员根据用户的反馈,实施开发的迭代过程用户的反馈,实施开发的迭代过程每一迭代过程均由需求、设计、编码、测试、集成等阶段每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。如组成,为整个系统增加一个可定义的、可管理的子集。如果在一次迭代中,有的需求不能满足用户的要求,可在下果在一次迭代中,有的需求不能满足用户的要求,可在下一次迭代中予以修正,从而在一定程度上减少了软件开发一次迭代中予以修正,从而在一定程度上减少了软件开发的盲目性的盲目性路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂进化模型进化模型(2)-(2)-原型模型原型模型建造建造/修改修改原型原型听取用户听取用户意见意见用户测试用户测试运行原型运行原型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂进化模型进化模型(3)(3)进化模型在克服瀑布模型缺点、减少由于软件需求不明确进化模型在克服瀑布模型缺点、减少由于软件需求不明确给开发工作带来风险方面,确有显著效果。软件系统的原给开发工作带来风险方面,确有显著效果。软件系统的原型有多种形式:型有多种形式:丢弃型:原型开发之后,已获取了更为清晰的需求信息,原丢弃型:原型开发之后,已获取了更为清晰的需求信息,原型无需保留而废弃型无需保留而废弃演示型:开发原型仅以演示为目标演示型:开发原型仅以演示为目标样品型:原型规模与最终产品相同,只是原型仅供研究用样品型:原型规模与最终产品相同,只是原型仅供研究用增长式演示型:原型作为软件最终产品的一部分,可满足用增长式演示型:原型作为软件最终产品的一部分,可满足用户的部分需求,进一步在此基础上开发,可增加需求,实现户的部分需求,进一步在此基础上开发,可增加需求,实现后再交付使用后再交付使用粗陋型:用较短时间开发的简易原型粗陋型:用较短时间开发的简易原型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.6 2.6 螺旋模型螺旋模型(1)(1)将瀑布模型与进化模型相结合,并且增加了两者所忽略的将瀑布模型与进化模型相结合,并且增加了两者所忽略的风险分析。它将软件项目开发分别划分为四类活动风险分析。它将软件项目开发分别划分为四类活动,沿着沿着螺线旋转,在笛卡儿坐标的四个象限上分别表达了四个方螺线旋转,在笛卡儿坐标的四个象限上分别表达了四个方面的活动,即:面的活动,即:制订计划:确定软件目标,选定实施方案,弄清项目开发的制订计划:确定软件目标,选定实施方案,弄清项目开发的限制条件限制条件风险分析:分析所选方案,考虑如何识别和消除风险;风险分析:分析所选方案,考虑如何识别和消除风险;工程实施:实施软件开发;工程实施:实施软件开发;客户评估:评价开发工作,提出修正建议。客户评估:评价开发工作,提出修正建议。沿螺线自内向外,每旋转一圈,便可开发出更为完善的一沿螺线自内向外,每旋转一圈,便可开发出更为完善的一个新的软件版本个新的软件版本路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂螺旋模型螺旋模型(2)(2)原型原型1原型原型2原型原型3可运行可运行原型原型需求计划需求计划生存期生存期计划计划开开发发计计划划集集成成与与测测试试软件软件需求需求需求需求确认确认设计确认设计确认与验证与验证 软件软件 产品产品设计设计详细设计详细设计风风险险分分析析风风险险分分析析风风险险分分析析验收验收测试测试实现实现集成集成与与测试测试单元单元测试测试编码编码工程实施工程实施开发、验证开发、验证下一产品下一产品提交线提交线评审评审累计累计成本成本风险分析风险分析评价方案,识别评价方案,识别风险、消除风险风险、消除风险制订计划制订计划决定目标决定目标方案和限制方案和限制螺旋模型螺旋模型客户评估客户评估路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂螺旋模型螺旋模型(3)(3)螺旋模型通常用以指导大型软件项目的开发,如果开发风螺旋模型通常用以指导大型软件项目的开发,如果开发风险过大,开发者和客户无法承受,项目有可能因此终止。险过大,开发者和客户无法承受,项目有可能因此终止。多数情况下会沿着螺线继续下去,自内向外逐步延伸,最多数情况下会沿着螺线继续下去,自内向外逐步延伸,最终得到满意的软件。终得到满意的软件。如果对所开发项目的需求已有了较好的理解或较大的把握,如果对所开发项目的需求已有了较好的理解或较大的把握,无需开发原型,便可采用普通的瀑布模型。这在螺旋模型无需开发原型,便可采用普通的瀑布模型。这在螺旋模型中可认为是单圈螺线。与此相反,如果对所开发项目的需中可认为是单圈螺线。与此相反,如果对所开发项目的需求理解较差,需要开发原型,甚至需要不止一个原型的帮求理解较差,需要开发原型,甚至需要不止一个原型的帮助,那就要经历多圈螺线。在这种情况下,外圈的开发包助,那就要经历多圈螺线。在这种情况下,外圈的开发包含了更多的活动。也可能某些开发采用了不同的模型。含了更多的活动。也可能某些开发采用了不同的模型。和其它模型相比螺旋模型的优越性较为明显,但要求许多和其它模型相比螺旋模型的优越性较为明显,但要求许多客户接受和相信进化方法并不容易。本模型的使用需要具客户接受和相信进化方法并不容易。本模型的使用需要具有相当丰富的风险评估经验和专门知识。如果项目风险较有相当丰富的风险评估经验和专门知识。如果项目风险较大,又未能及时发现,势必造成重大损失。大,又未能及时发现,势必造成重大损失。路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.7 2.7 统一软件开发过程统一软件开发过程(USDP)(USDP)框架框架USDPUSDP概述概述USDPUSDP术语术语USDPUSDP的高层视图的高层视图USDPUSDP的特点的特点路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP概述概述软件开发涉及多种因素,很难定义一种通用的过程。任何软件开发涉及多种因素,很难定义一种通用的过程。任何软件项目都可选用适合自身的任何过程软件项目都可选用适合自身的任何过程UMLUML是一种通用的建模语言,不是一种方法,适用于任何是一种通用的建模语言,不是一种方法,适用于任何开发过程开发过程UMLUML设计者推荐使用的设计者推荐使用的USDPUSDP是一个过程框架,倡导采用是一个过程框架,倡导采用UMLUML来记录、分析和设计的结果来记录、分析和设计的结果软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP术语术语活动:有明确输入条件、资源需求和控制约束并产生一定活动:有明确输入条件、资源需求和控制约束并产生一定输出的工作单元,可用一个五元素集输出的工作单元,可用一个五元素集 F(A F(A,I,R,C,O)I,R,C,O)来描述来描述过程:活动的偏序集。适合软件开发的过程叫软件开发过过程:活动的偏序集。适合软件开发的过程叫软件开发过程;适合企事业事务的过程叫企事业过程;等等程;适合企事业事务的过程叫企事业过程;等等角色:执行活动的人力资源、使用系统的用户或与系统交角色:执行活动的人力资源、使用系统的用户或与系统交互的外部系统互的外部系统人员:过程中执行某一活动的人力资源人员:过程中执行某一活动的人力资源(个体或群组个体或群组)用例:系统中能满足某一需求的一组活动序列。一个用例用例:系统中能满足某一需求的一组活动序列。一个用例应能返回一定的可见结果给执行该用例的角色应能返回一定的可见结果给执行该用例的角色构造:在迭代增量式开发过程中的每一步所产生的结果,构造:在迭代增量式开发过程中的每一步所产生的结果,是系统某一特定部分的一个可执行版本是系统某一特定部分的一个可执行版本软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP的高层视图的高层视图USDPUSDP包含四个阶段:初始阶段、细化阶段、构造阶段和移包含四个阶段:初始阶段、细化阶段、构造阶段和移交阶段交阶段在初始阶段,需要考虑项目的效益,并确定项目的适用范围,在初始阶段,需要考虑项目的效益,并确定项目的适用范围,这一阶段需要与客户进行讨论这一阶段需要与客户进行讨论在细化阶段,收集详细的需求,进行高层分析和设计,并为在细化阶段,收集详细的需求,进行高层分析和设计,并为构造阶段制定计划:选择一些功能点,完成这些功能;再选构造阶段制定计划:选择一些功能点,完成这些功能;再选择别的功能点,再完成这些功能;如此循环往复择别的功能点,再完成这些功能;如此循环往复移交阶段移交阶段初始阶段初始阶段细化阶段细化阶段2 23 31 1构造阶段构造阶段软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP的高层视图的高层视图(续续)构造阶段由多次迭代组成,每一次迭代都包含整个软件生命构造阶段由多次迭代组成,每一次迭代都包含整个软件生命周期:捕获用例、分析、设计、实现和测试阶段。每一次迭周期:捕获用例、分析、设计、实现和测试阶段。每一次迭代所得到的产品应满足项目需求的某一个子集,提交给早期代所得到的产品应满足项目需求的某一个子集,提交给早期用户或是内部提交用户或是内部提交移交阶段,也包含移交阶段,也包含1 1个或多个迭代,将软件给用户安装、试个或多个迭代,将软件给用户安装、试用和维护用和维护这是一个迭代增量式的开发过程,即不是在项目结束时一这是一个迭代增量式的开发过程,即不是在项目结束时一次性提交软件,而是分块逐次开发和提交次性提交软件,而是分块逐次开发和提交软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP的高层视图的高层视图(增量模型增量模型)软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂USDPUSDP的特点的特点基于基于UMLUML、以构架为中心、用例驱动与风险驱动相结合的迭代增、以构架为中心、用例驱动与风险驱动相结合的迭代增量式软件开发过程量式软件开发过程USDPUSDP包含初始、细化、构造和移交等四个阶段,其中构造阶段包含初始、细化、构造和移交等四个阶段,其中构造阶段由多次迭代所组成由多次迭代所组成每次迭代中的软件开发工作都围绕需求捕获用例、分析、设计、每次迭代中的软件开发工作都围绕需求捕获用例、分析、设计、实现和测试等五个核心工作流来组织实现和测试等五个核心工作流来组织职责明确:每个人都明白自己的职责;开发者能更好理解其他职责明确:每个人都明白自己的职责;开发者能更好理解其他开发者的职责;管理人员能了解开发者的职责开发者的职责;管理人员能了解开发者的职责过程规范:单位对自身员工的培训标准化;开发人员和管理人过程规范:单位对自身员工的培训标准化;开发人员和管理人员不需要学习新的过程就能在小组间调动工作员不需要学习新的过程就能在小组间调动工作软件开发过程可重复使用:开发技术和管理技术可以重用;项软件开发过程可重复使用:开发技术和管理技术可以重用;项目计划更准确,成本估算与实际更吻合,开发周期更短目计划更准确,成本估算与实际更吻合,开发周期更短软件过程基础软件过程基础Rational 软件开发过程软件开发过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂2.8 2.8 软件生命周期的选取评价准则软件生命周期的选取评价准则(1)(1)资源的可用性资源的可用性项目的复杂度项目的复杂度应用的费用应用的费用未来升级的费用未来升级的费用使用的容易度使用的容易度应用的功能需求应用的功能需求渐进的需求变更渐进的需求变更软件过程基础软件过程基础软件生命周期模型软件生命周期模型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂软件生命周期的选取评价准则软件生命周期的选取评价准则(2)(2)应用的寿命应用的寿命产品的技术产品的技术应用的生产力应用的生产力产品的质量产品的质量需求的易变性需求的易变性产品的重用和文档的可交付产品的重用和文档的可交付风险管理风险管理未知需求未知需求软件过程基础软件过程基础软件生命周期模型软件生命周期模型路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3 3 软件度量软件度量3.1 3.1 软件度量的基本概念软件度量的基本概念3.2 3.2 软件度量的意义软件度量的意义3.3 3.3 度量元度量元3.4 3.4 度量过程度量过程路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.1 3.1 软件度量的基本概念软件度量的基本概念在现实世界中,对用数字或符号指定给实体的某些属性进在现实世界中,对用数字或符号指定给实体的某些属性进行度量,以便根据已明确的规则来描述它们行度量,以便根据已明确的规则来描述它们软件度量就是在软件开发过程中,把软件开发过程和软件软件度量就是在软件开发过程中,把软件开发过程和软件产品的各种属性,例如软件开发成本、花费时间、开发效产品的各种属性,例如软件开发成本、花费时间、开发效率、产品规模、软件质量的各种数据,度量、记录、统计率、产品规模、软件质量的各种数据,度量、记录、统计并进行必要的分析并进行必要的分析路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.1 3.1 软件度量的基本概念软件度量的基本概念(续续)软件度量软件度量:指计算机软件中范围广泛的度量。度量可应用指计算机软件中范围广泛的度量。度量可应用于软件过程,也可用于整个软件项目于软件过程,也可用于整个软件项目软件产品的度量:用定量的方法表达和分析软件产品质量特软件产品的度量:用定量的方法表达和分析软件产品质量特性,如功能度和可靠性等。通过辅助估算、质量控制、生产性,如功能度和可靠性等。通过辅助估算、质量控制、生产率评估以及项目控制评估工作产品的质量。率评估以及项目控制评估工作产品的质量。软件过程的度量软件过程的度量:用定量的方法表达和分析软件过程的特性,用定量的方法表达和分析软件过程的特性,如软件开发效率、开发成本、质量保证措施的有效性等。目如软件开发效率、开发成本、质量保证措施的有效性等。目的是为了在一个连续的基础上进行改进的是为了在一个连续的基础上进行改进软件过程的两类度量软件过程的两类度量直接度量直接度量:LOC:LOC,执行速度,内存大小,某阶段缺陷数等,执行速度,内存大小,某阶段缺陷数等间接度量(导出度量):功能,质量,复杂性,有效性,可间接度量(导出度量):功能,质量,复杂性,有效性,可靠性,可维护性等靠性,可维护性等路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.2 3.2 软件度量的意义软件度量的意义如果你不能度量它,就不能用数字表达它,那么你对它的如果你不能度量它,就不能用数字表达它,那么你对它的了解就很贫乏、很不令人满意:它可能是知识的开始,在了解就很贫乏、很不令人满意:它可能是知识的开始,在思想上还远没有进入科学的阶段。(思想上还远没有进入科学的阶段。(Lord KelivinLord Kelivin)任何工程如果不能用数字来描述,这说明它仍处在摇篮时任何工程如果不能用数字来描述,这说明它仍处在摇篮时期期路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.2 3.2 软件度量的意义软件度量的意义(续)续)从软件特性看度量的意义从软件特性看度量的意义抽象性:软件没有形体,自然没有一般制造业产品所具有的抽象性:软件没有形体,自然没有一般制造业产品所具有的几何尺寸、物理性质(如重量、体积等)以及化学性质等几何尺寸、物理性质(如重量、体积等)以及化学性质等复杂性:软件内部结构复杂,可以认为,软件是人类创造的复杂性:软件内部结构复杂,可以认为,软件是人类创造的最为复杂的实体,而且由于人们尚未掌握其研制规律,因而最为复杂的实体,而且由于人们尚未掌握其研制规律,因而这个实体显得更加难以捉摸这个实体显得更加难以捉摸多样性:即使需求以及所用的平台和编程语言相同,不同的多样性:即使需求以及所用的平台和编程语言相同,不同的软件开发人员或同一个开发人员在不同的年月,也不可能开软件开发人员或同一个开发人员在不同的年月,也不可能开发出完全相同的软件发出完全相同的软件易变性:在软件的开发过程和使用过程中,常常由于各种原易变性:在软件的开发过程和使用过程中,常常由于各种原因需要对软件而进行各种修改因需要对软件而进行各种修改路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.2 3.2 软件度量的意义软件度量的意义(续续)有效地、定量地进行管理,是进行计划、估算、风险分析、有效地、定量地进行管理,是进行计划、估算、风险分析、过程监控、质量监控、评价等活动的基础,是改进过程与过程监控、质量监控、评价等活动的基础,是改进过程与提高软件质量的重要手段提高软件质量的重要手段路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂3.3 3.3 度量元度量元什么是度量元什么是度量元资源和成本的度量资源和成本的度量项目进度与进展状态的度量项目进度与进展状态的度量增长和稳定性度量增长和稳定性度量产品质量的度量产品质量的度量软件质量的度量软件质量的度量软件程序的度量软件程序的度量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(1)(1)什么是度量元什么是度量元能用于定量地描述实体的属性,如软件的规模、缺陷的数能用于定量地描述实体的属性,如软件的规模、缺陷的数目、工作量的人天数等目、工作量的人天数等路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(2)(2)资源和成本的度量资源和成本的度量人员人员工作量工作量人员的经验人员的经验人员的周转人员的周转财务性能财务性能获得的价值获得的价值成本成本开发环境开发环境资源的可用性资源的可用性资源利用情况资源利用情况路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂例:人员配置情况例:人员配置情况路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(3)(3)项目进度与进展状态的度量项目进度与进展状态的度量里程碑性能里程碑性能里程碑日期里程碑日期工作单元进展情况工作单元进展情况部件状态部件状态需求状态需求状态测试用例状态测试用例状态问题报告状态问题报告状态评审完成情况评审完成情况变更请求状态变更请求状态增量的能力增量的能力构造块内容构造块内容-部件部件构造块内容构造块内容-功能功能路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂工作单元完成状态工作单元完成状态路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂测试用例完成状态测试用例完成状态路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(4)(4)增长和稳定性度量增长和稳定性度量产品规模和稳定性产品规模和稳定性代码行代码行部件部件存储的词汇量存储的词汇量数据库规模数据库规模功能的规模和稳定性功能的规模和稳定性需求需求功能点功能点用例用例(Use Case)(Use Case)变更请求工作量变更请求工作量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂例:需求变化的度量例:需求变化的度量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(5)(5)产品质量的度量产品质量的度量缺陷缺陷问题报告问题报告缺陷密度缺陷密度复杂度复杂度返工返工返工规模返工规模返工工作量返工工作量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂例:问题报告状态例:问题报告状态路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂例:软件问题数的功能域分布图例:软件问题数的功能域分布图路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(6)(6)软件质量度量软件质量度量程序质量度量程序质量度量文档质量度量文档质量度量软件质量度量准则软件质量度量准则路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂(7)(7)软件程序度量软件程序度量面向规模的度量面向规模的度量面向功能点的度量面向功能点的度量软件缺陷排除率的度量软件缺陷排除率的度量软件测试的度量软件测试的度量路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂面向规模的度量面向规模的度量工作产品标识:项目、模块工作产品标识:项目、模块代码行数:千行语句数、字符数、字节数代码行数:千行语句数、字符数、字节数注释率:注释语句数注释率:注释语句数/代码行数代码行数错误数错误数KLOCKLOC文档页数文档页数KLOCKLOC成本成本KLOCKLOCKLOCKLOC数人月数人月路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂面向规模的度量面向规模的度量(续)续)面向规模的度量特点:面向规模的度量特点:代码行是开发项目的生成品,容易计算;代码行是开发项目的生成品,容易计算;依赖于程序设计语言;依赖于程序设计语言;必须在项目完成后才能得到数据。必须在项目完成后才能得到数据。路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4 4 工作分解结构工作分解结构(WBS)(WBS)4.1 WBS4.1 WBS4.2 WBS4.2 WBS中的层次结构中的层次结构4.3 4.3 产品层次结构产品层次结构4.4 4.4 活动层次结构活动层次结构4.5 4.5 构造构造 WBS WBS 路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4.1 WBS4.1 WBSWBS(Work Breakdown Structure)WBS(Work Breakdown Structure)以层次结构组织项目活以层次结构组织项目活动元素,它是根据自顶向下的方法,按照模块化的思想将动元素,它是根据自顶向下的方法,按照模块化的思想将项目分解成易于管理的活动项目分解成易于管理的活动每项活动可以被分配、执行和跟踪。每项活动可以被分配、执行和跟踪。WBSWBS的分解粒度要达的分解粒度要达到可管理的级别,即每项活动能够细分到个人,而且最好到可管理的级别,即每项活动能够细分到个人,而且最好能在一周内(能在一周内(5 5个工作日)完成个工作日)完成WBSWBS是项目计划的是项目计划的“基础构架基础构架”,它是估计、计划、跟踪,它是估计、计划、跟踪和监控的主要依据。在整个项目生命周期中,和监控的主要依据。在整个项目生命周期中,WBSWBS必须用必须用适当的细节等级封装变更和进化。构造好适当的细节等级封装变更和进化。构造好WBSWBS,将会给项,将会给项目的计划和实施带来极大的便利目的计划和实施带来极大的便利路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4.2 WBS4.2 WBS中的层次结构中的层次结构两种类型两种类型:产品产品活动活动或两者的混合或两者的混合路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4.3 4.3 产品层次结构产品层次结构指明各种软件分量如何安置在软件系统中指明各种软件分量如何安置在软件系统中反映软件产品的基本结构,由软件设计者确定反映软件产品的基本结构,由软件设计者确定分量有:程序分量有:程序(routine)(routine)、模块、子系统等、模块、子系统等路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4.4 4.4 活动层次结构活动层次结构指明处理一个软件分量的各种方法指明处理一个软件分量的各种方法合适时,活动层次的一部分可以运用到产品的任何一个层合适时,活动层次的一部分可以运用到产品的任何一个层次次路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂4.5 4.5 构造构造 WBS WBS迭代式构造迭代式构造构造有意义的逐步细分构造有意义的逐步细分(roll-up)(roll-up)的层次结构的层次结构向下细分到能实际作出策划和控制的层次(不要太碎)向下细分到能实际作出策划和控制的层次(不要太碎)综合自顶向下综合自顶向下/由底向上的方法由底向上的方法采用混合的产品采用混合的产品/活动层次结构活动层次结构 路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂WBSWBS例子例子ACTIVITY Break-upProductBreak-up路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5 5 风险管理风险管理5.1 5.1 风险策略风险策略5.2 5.2 风险特性风险特性5.3 5.3 风险管理活动风险管理活动路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.1 5.1 风险策略风险策略被动式:风险发生后才采取措施,是被动式:风险发生后才采取措施,是“救火模式救火模式”主动式:在项目开发前就标识出潜在的风险,有计划地管主动式:在项目开发前就标识出潜在的风险,有计划地管理风险。主要目标是预防风险。必要时加以控制,减轻影理风险。主要目标是预防风险。必要时加以控制,减轻影响响路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.2 5.2 风险特性风险特性不确定性:刻划风险的事件可能发生也可能不发生;即,不确定性:刻划风险的事件可能发生也可能不发生;即,没有没有100100发生的风险(发生的风险(100100发生的风险是加在项目上的发生的风险是加在项目上的约束)约束)损失:如果风险变成了现实,就会产生恶性后果或损失。损失:如果风险变成了现实,就会产生恶性后果或损失。路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.3 5.3 风险管理活动风险管理活动5.3.1 5.3.1 风险识别风险识别5.3.2 5.3.2 风险估计风险估计5.3.3 5.3.3 风险评估风险评估5.3.4 5.3.4 风险驾驭和监控风险驾驭和监控路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.3.1 5.3.1 风险识别风险识别风险识别概述风险识别概述项目风险识别项目风险识别技术风险识别技术风险识别商业风险识别商业风险识别人员风险识别人员风险识别开发环境风险识别开发环境风险识别路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂风险识别概述风险识别概述风险识别就是根据历史数据及经验,标识相关的风险,列风险识别就是根据历史数据及经验,标识相关的风险,列出全部风险项出全部风险项S1S1,S2 S2,Sn Sn。包括:包括:项目风险识别项目风险识别技术风险识别技术风险识别商业风险商业风险人员风险识别人员风险识别开发环境风险识别开发环境风险识别路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂项目风险识别项目风险识别项目风险识别是要找出潜在的预算、进度、个人(包括人项目风险识别是要找出潜在的预算、进度、个人(包括人员和组织)、资源、用户和需要方面的问题,以及它们对员和组织)、资源、用户和需要方面的问题,以及它们对软件项目的影响软件项目的影响如项目复杂性、规模和结构等都可构成风险因素如项目复杂性、规模和结构等都可构成风险因素路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂技术风险识别技术风险识别技术风险识别是要找出潜在设计、实现、接口、检验和维技术风险识别是要找出潜在设计、实现、接口、检验和维护方面的问题护方面的问题规格说明的多义性、技术上的不确定性、技术陈旧、最新规格说明的多义性、技术上的不确定性、技术陈旧、最新技术(不成熟)也是风险因素技术(不成熟)也是风险因素路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂商业风险识别商业风险识别商业风险有:商业风险有:建立的软件不是真正所想要的建立的软件不是真正所想要的建立的软件不适合整个软件产品战略建立的软件不适合整个软件产品战略销售部门不清楚如何推销这种软件销售部门不清楚如何推销这种软件失去上级管理部门的支持失去上级管理部门的支持失去预算或人员的承诺(预算风险)失去预算或人员的承诺(预算风险)路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂人员风险识别人员风险识别人员风险有:人员风险有:缺乏优秀人才缺乏优秀人才缺乏配套人才缺乏配套人才人员不够人员不够人员对分配工作缺乏兴趣人员对分配工作缺乏兴趣人员流动过快人员流动过快人员意外缺勤(因病、因事)人员意外缺勤(因病、因事)人员缺乏足够培训人员缺乏足够培训路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂开发环境风险识别开发环境风险识别开发环境风险有:开发环境风险有:是否有可用的软件支持工具(项目管理工具、配置管理工具、是否有可用的软件支持工具(项目管理工具、配置管理工具、测试工具、测试工具、)设备是否陈旧,设备意外损坏设备是否陈旧,设备意外损坏是否发生病毒,使开发环境瘫痪是否发生病毒,使开发环境瘫痪路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.3.2 5.3.2 风险估计风险估计估计风险发生的可能性。估计风险可能产生的结果估计风险发生的可能性。估计风险可能产生的结果建立一个尺度或标准来表示一个风险的可能性;可以使用概建立一个尺度或标准来表示一个风险的可能性;可以使用概率尺度表,其值分为:极罕见的、罕见的、普通的、可能的、率尺度表,其值分为:极罕见的、罕见的、普通的、可能的、极可能的极可能的描述风险的结果,分出影响的类别:性能、支持、成本、进描述风险的结果,分出影响的类别:性能、支持、成本、进度度估计风险对项目和产品的影响;影响可分为估计风险对项目和产品的影响;影响可分为4 4级:级:灾难性的灾难性的严重性的严重性的轻微的轻微的可忽略的可忽略的路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.3.3 5.3.3 风险评价风险评价在项目进行中,进一步检验在风险估计时所得到的估计的在项目进行中,进一步检验在风险估计时所得到的估计的准确性,对已暴露的风险进行优先排队,考虑控制和准确性,对已暴露的风险进行优先排队,考虑控制和/或或消除可能出现风险的方法消除可能出现风险的方法定义风险参考水平值定义风险参考水平值对前述风险影响类别:性能、支持、成本、进度分别(或组对前述风险影响类别:性能、支持、成本、进度分别(或组合)制定一个参考水平,即性能下降,支持困难、成本增加、合)制定一个参考水平,即性能下降,支持困难、成本增加、进度延迟到某个程度(水平)项目被迫中止进度延迟到某个程度(水平)项目被迫中止路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂5.3.4 5.3.4 风险驾驭和监控风险驾驭和监控 风险驾驭是指利用某些技术以及某些项目管理方法等设法风险驾驭是指利用某些技术以及某些项目管理方法等设法避开或转移风险避开或转移风险风险监控:风险监控:做风险因素跟踪做风险因素跟踪进行风险再估计进行风险再估计收集可用于将来的风险分析的信息收集可用于将来的风险分析的信息路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂6 6 项目计划项目计划6.1 6.1 项目计划的重要性项目计划的重要性6.2 6.2 项目计划的动态性项目计划的动态性 6.3 6.3 项目计划的三个前提项目计划的三个前提6.4 6.4 软件项目计划的套件软件项目计划的套件6.5 6.5 软件项目软件项目(开发开发)计划的内容计划的内容6.6 6.6 进度安排和监控的图形工具进度安排和监控的图形工具 甘特图甘特图6.7 6.7 进度安排和监控的图形工具进度安排和监控的图形工具 PERTPERT和和CPMCPM技术技术路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂6.1 6.1 项目计划的重要性项目计划的重要性对任何软件项目来讲,其任务均是按期、按预算开发满足对任何软件项目来讲,其任务均是按期、按预算开发满足用户需求的、高可靠、高性能的软件产品用户需求的、高可靠、高性能的软件产品要作到这点项目计划是基础要作到这点项目计划是基础项目计划是为实现预定目标而作的科学预测,以它为基准项目计划是为实现预定目标而作的科学预测,以它为基准跟踪和控制项目跟踪和控制项目项目计划确定未来的行动方案和资源分配,引导项目的实项目计划确定未来的行动方案和资源分配,引导项目的实施施项目计划的质量是决定项目成败、优劣的关键因素之一项目计划的质量是决定项目成败、优劣的关键因素之一 路漫漫其悠远路漫漫其悠远锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂锲而不舍,金石可镂6.2 6.2 项目计划的动态性(项目计划的动态性(1 1)项目计划是指导项目的纲,要尽早制定项目计划是指导项目的纲,要尽早制定在项目定义阶段,只要明确了软件项目的目标和软件要实在项目定义阶段,只要明确了软件项目的目标和软件要实现的基本功能;只要项目人员明白用户的意图就应制定现的基本功能;只要项目人员明白用户的意图就应制定通过初始计划的制定,项目
展开阅读全文