《软件项目管理与案例分析 (10).ppt》由会员分享,可在线阅读,更多相关《软件项目管理与案例分析 (10).ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华中科技大学软件学院华中科技大学软件学院 THE SCHOOL OF SOFTWARE ENGINEERING OF HUST第第 6 章章 软件项目开发计划软件项目开发计划 2THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结本章小结6.7复习思考题复习思考题6.83THE SCHOOL OF SOFTWAR
2、E ENGINEERING OF HUST6.1 软件项目分解软件项目分解项项目目分分解解目目的的 明明确确项项目目所所包包含含的的各各项项工工作作;项项目目分分解解的的结结果果就就是是WBS(任务分解结构)图(任务分解结构)图项项目目分分解解意意义义 WBS(任任务务分分解解结结构构)图图是是实实施施项项目目、创创造造最最终终产产品品或或服服务务所所必必须须进进行行的的全全部部活活动动的的一一张张清清单单,也也是是进进度度计计划划、人人员员分分配配、预预算计划的基础算计划的基础项项目目分分解解内内容容 项项目目分分解解就就是是先先把把复复杂杂的的项项目目逐逐步步分分解解成成一一层层一一层层的
3、的要要素(工作),直到具体明确为止素(工作),直到具体明确为止项项目目分分解解工工具具 项项目目分分解解的的工工具具是是工工作作分分解解结结构构原原理理,它它是是一一个个分级的树型结构,是一个对项目工作由粗到细的分解过程分级的树型结构,是一个对项目工作由粗到细的分解过程4THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS Work Breakdown Structure主要是将一个项目分解成易于管主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工理的几个部分或几个细目,以便确保找出完成项目
4、工作范围所需的所有工作要素它是一种在项目全范围内分解和定义各层次工作包的方法作要素它是一种在项目全范围内分解和定义各层次工作包的方法WBS Work Breakdown Structure结构层次越往下层则项目组成部结构层次越往下层则项目组成部分的定义越详细,分的定义越详细,WBS最后构成一份层次清晰,可以具体作为组织项目实最后构成一份层次清晰,可以具体作为组织项目实施的工作依据施的工作依据WBS Work Breakdown Structure通常是通常是一种面向一种面向“成果成果”的的“树树”,其最底层是细化后的,其最底层是细化后的“可交付成果可交付成果”,该树组织确定了项目的整个范围。,
5、该树组织确定了项目的整个范围。但但WBS的形式并不限于的形式并不限于“树树”状,还有多种形式。状,还有多种形式。5THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解类型分解类型基于可交付成果的划分基于可交付成果的划分上层一般为可交付成果为导向上层一般为可交付成果为导向下层一般为可交付成果的工作内容下层一般为可交付成果的工作内容基于工作过程的划分基于工作过程的划分上层按照工作的流程分解上层按照工作的流程分解下层按照工作的内容划分下层按照工作的内容划分6THE SCHOOL OF SOFTWARE ENGINEERING OF H
6、UST软件项目分解软件项目分解基于可交付成果的划分基于可交付成果的划分WBS举例举例:信息网络工程信息网络工程信息网络工程信息网络工程结构化布线结构化布线网络平台建设网络平台建设布线设计布线设计采购采购布线布线验收验收方案设计方案设计采购采购网络平台实施网络平台实施验收验收0 0 0 0级级级级1 1 1 1级级级级2 2 2 2级级级级7THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解基于工作过程的划分基于工作过程的划分WBS举例举例:网络系统工程网络系统工程网络系统网络系统培训培训设备准备设备准备设设备备采采购购设设备备验验收收交
7、交接接网络系统设计网络系统设计布布线线设设计计平平台台设设计计工程实施工程实施布布线线实实施施网网络络集集成成软件开发软件开发软软件件需需求求确确定定系系统统设设计计编编码码测测试试0 0级级级级1 1级级级级2 2级级级级8THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS表达形式表达形式层次结构图和锯齿列表(清单)层次结构图和锯齿列表(清单)图形显示图形显示 锯齿列表锯齿列表 10系统系统11元素元素A1.1.1任务任务1.1.2任务任务12元素元素B1.0系统系统11元元素素A12元素元素B1.1.1任任务务1.1.2任任务
8、务9THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS工作编码工作编码 由高层向下层用多位码编排,要求每项工作有唯一的编码。由高层向下层用多位码编排,要求每项工作有唯一的编码。1000110011101111111211131120112111221123120010THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS工作编码举例工作编码举例:企业经营评价系统项目企业经营评价系统项目网络网络1430软件软件1410硬件硬件1420系统开系统开发发1400测试测试1500
9、实施实施1600系统设系统设计计1300问题界问题界定定1100企业经营评价系统项目企业经营评价系统项目1000系统分系统分析析1200文档文档1440包装软包装软件件1411培训培训1610验收验收1630系统转系统转换换1620定制软定制软件件14120 0级级级级1 1级级级级2 2级级级级3 3级级级级11THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解项目工作分解结构表项目工作分解结构表项目名称:项目名称:项目负责人:项目负责人:单位名称:单位名称:制表日期:制表日期:工作分解结构工作分解结构任务编码任务编码任务名称任务名称
10、主要活动描述主要活动描述负责人负责人1000110012001x001x101x111x12项目负责人审核意见:项目负责人审核意见:签名:签名:日期:日期:12THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解的一般步骤分解的一般步骤总项目总项目子项目或主体工作任务子项目或主体工作任务主要工作任务主要工作任务次要工作任务次要工作任务小工作任务或工作元素小工作任务或工作元素13THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解WBS分解注意事项分解注意事项WBS分解的规模
11、和数量因项目而异分解的规模和数量因项目而异收集与项目相关的所有信息收集与项目相关的所有信息参看一下类似的项目的参看一下类似的项目的WBS,与相关人员讨论与相关人员讨论可以参照相关可以参照相关模板模板最低层是可控的和可管理的,但是避免不必要的过细,最好不要超最低层是可控的和可管理的,但是避免不必要的过细,最好不要超过过7 7层,层,软件项目推荐分解到软件项目推荐分解到40小时的任务小时的任务每个每个Work package必须有一个提交物必须有一个提交物14THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解定义任务完成的标准定义任务完成的
12、标准每个每个WBS必须有利于责任分配必须有利于责任分配可以准备可以准备WBS的字典的字典最后与相关人员进行评审最后与相关人员进行评审15THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目分解软件项目分解案例讨论案例讨论假如您要在自己的家里举行一次生日宴会,请按假如您要在自己的家里举行一次生日宴会,请按WBS为你制定一份工为你制定一份工作的分解计划?作的分解计划?假如贵公司进行成立假如贵公司进行成立10周年庆典活动,如果请你负责此次活动,你将周年庆典活动,如果请你负责此次活动,你将如何分析此次活动所应包含的工作?如何分析此次活动所应包含的工作?16THE
13、 SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结本章小结6.7复习思考题复习思考题6.817THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 6.2 软件项目估算概念软件项目估算概念软件项目估算软件项目估算 是指预测构造软件项目所需要的工作量以及是指预测构造软件项目所需要的工作量
14、以及任务经历时间的过程。主要包括三个方面:任务经历时间的过程。主要包括三个方面:规模(即工作量)的估算规模(即工作量)的估算 确定每个软件功能所必须执行的一系列确定每个软件功能所必须执行的一系列软件工程任务软件工程任务 成本的估算成本的估算 确定完成软件项目规模相应付出的代价确定完成软件项目规模相应付出的代价 进度的估算进度的估算 估计任务的持续时间,即历时估计估计任务的持续时间,即历时估计 18THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目估算概念软件项目估算概念估算方法估算方法规模估算方法规模估算方法 代码行(代码行(LOC,Lines of
15、Code)估算法、功能点()估算法、功能点(FP,Function Points)估算法和计划评审技术()估算法和计划评审技术(PERT,Program Evaluation and Review Technique)估算法)估算法成本估算方法成本估算方法 自顶向下(类比)估算法、自下而上估算法、参数估算自顶向下(类比)估算法、自下而上估算法、参数估算法、专家估算法、猜测估算法等法、专家估算法、猜测估算法等 进度估算方法进度估算方法 基于规模的进度估算、工程评价技术、关键路径法、专基于规模的进度估算、工程评价技术、关键路径法、专家估算方法、类推估算方法、模拟估算方法、进度表估算方法、基于承家估
16、算方法、类推估算方法、模拟估算方法、进度表估算方法、基于承诺的进度估算方法和诺的进度估算方法和Jones的一阶估算准则等的一阶估算准则等 19THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结本章小结6.7复习思考题复习思考题6.820THE SCHOOL OF SOFTWARE ENGINEERING OF
17、HUST6.3 软件项目规模估算软件项目规模估算估算的步骤估算的步骤 在技术允许的条件下,应从最详细的工作分解结构开始在技术允许的条件下,应从最详细的工作分解结构开始精确定义度量的标准精确定义度量的标准估计底层每一模块的规模,汇总已得到总体的估算估计底层每一模块的规模,汇总已得到总体的估算适当考虑偶然因素的影响适当考虑偶然因素的影响 21THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目规模估算软件项目规模估算LOC估算法估算法 代码行可以分为无注释的源代码行(代码行可以分为无注释的源代码行(NCLOC,Non-Commented Source Lin
18、es Of Code)和注释的源代码行)和注释的源代码行(CLOC:Commented Source Lines Of Code),源代码的总行),源代码的总行数数LOC即为即为NCLOC与与CLOC之和之和FP估算法估算法 功能点度量是在需求分析阶段基于系统功能的一种规模功能点度量是在需求分析阶段基于系统功能的一种规模估计方法,该方法通过研究初始应用需求来确定各种输入、输出、估计方法,该方法通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量查询、外部文件和内部文件的数目,从而确定功能点数量22THE SCHOOL OF SOFTWARE ENGINE
19、ERING OF HUST软件项目规模估算软件项目规模估算规模的单位规模的单位LOC(Lines of Code)源代码程序长度的测量源代码程序长度的测量FP(Function Point)用系统的功能数量来测量用系统的功能数量来测量人月人月人天人天人年人年23THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结
20、本章小结6.7复习思考题复习思考题6.824THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.4 软件项目成本估算软件项目成本估算成本估算方法成本估算方法算法模型算法模型 专家判定专家判定 类比类比 自顶向下自顶向下 自底向上自底向上25THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算成本估算模型成本估算模型静态模型和动态模型静态模型和动态模型静态模型静态模型 用一个唯一的变量(如程序规模)作为初始元素来计用一个唯一的变量(如程序规模)作为初始元素来计算所有其他变量(如成本、时间),且所用
21、计算公式的形式对于算所有其他变量(如成本、时间),且所用计算公式的形式对于所有变量都是相同的所有变量都是相同的动态模型动态模型 没有类似静态模型中的惟一基础变量,所有变量都是没有类似静态模型中的惟一基础变量,所有变量都是相互依存的相互依存的已有的模型已有的模型 1)Farr-Zagorski模型;模型;2)Price-S模型;模型;3)Walston-Felix模型模型;4)Putnam模型;模型;5)COCOMO模型模型 26THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算COCOMO模模型型 在现代软件工程研究结果的基础上
22、,将未来软件市场划分为基础在现代软件工程研究结果的基础上,将未来软件市场划分为基础软件、系统集成、程序自动化生成、应用集成、最终用户编程五个部软件、系统集成、程序自动化生成、应用集成、最终用户编程五个部分,分,COCOMO II通过三个生命周期模型通过三个生命周期模型(估算早期原型工作量的应(估算早期原型工作量的应用组合模型,早期设计模型,后体系结构模型用组合模型,早期设计模型,后体系结构模型)支持上述的五种软件)支持上述的五种软件项目。项目。27THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算Putnam模型模型 Putna
23、m模型是模型是Putnam于于1978在来自美国计算机系统指挥部的在来自美国计算机系统指挥部的200多个大型项目(项目的工作量在多个大型项目(项目的工作量在301000人年之间)数据的基础上人年之间)数据的基础上推导出来的一种动态多变量模型。推导出来的一种动态多变量模型。Putnam模型假设软件项目的工作量模型假设软件项目的工作量分布类似于分布类似于Rayleigh曲线。曲线。Putnam模型包含两个方程:软件方程和人力增加方程模型包含两个方程:软件方程和人力增加方程。28THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算实用软
24、件估算模型实用软件估算模型是一种自下而上和参数法的结合模型,是一种自下而上和参数法的结合模型,步骤如下:步骤如下:对任务进行分解对任务进行分解估算每个任务估算每个任务i i的最大值的最大值MaxMax、最小值、最小值MinMin、最可能值、最可能值AvgAvg,EiEi=(Max+4=(Max+4 AvgAvg+Min)/6+Min)/6(或者使用唯一的估计值:最可能值)(或者使用唯一的估计值:最可能值)直接成本直接成本=E1+E2+=E1+E2+EiEi+En+En项目总估算成本项目总估算成本=直接成本直接成本+间接成本间接成本项目总报价项目总报价=项目总估算成本项目总估算成本+风险利润风险
25、利润 风险利润风险利润=利润利润+风险基金风险基金+税税29THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算直接成本直接成本直接成本直接成本=开发成本开发成本+管理成本管理成本+质量成本质量成本直接成本直接成本=规模规模*人力成本参数人力成本参数例如:人力成本参数例如:人力成本参数=2=2万万/人月,人月,3030人月的项目的直接成本是人月的项目的直接成本是 6060万万间接成本间接成本间接成本间接成本=直接成本直接成本*间接成本系数间接成本系数间接成本间接成本=规模规模*人力成本参数人力成本参数*间接成本系数间接成本系数例如
26、:间接成本系数例如:间接成本系数=1.5-3=1.5-330THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算成本估算步骤成本估算步骤 建立目标建立目标规划需要的数据和资源规划需要的数据和资源 确定软件需求确定软件需求拟定可行的细节拟定可行的细节 运用多种独立的技术和原始资料运用多种独立的技术和原始资料 比较并迭代各个估算值比较并迭代各个估算值 随访跟踪随访跟踪 31THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目成本估算软件项目成本估算成本模型的评价准则成本模型的评价准则定义定义正确
27、性正确性客观性客观性构造性构造性细节细节稳定性稳定性范围范围易用性易用性可预期性可预期性节约性节约性 32THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结本章小结6.7复习思考题复习思考题6.833THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.5 软件项目进度估算软件
28、项目进度估算基于规模的进度估算基于规模的进度估算 定额估算法定额估算法经验导出模型经验导出模型工程评价技术工程评价技术 利用网络顺序图的逻辑关系和加权历时估算来计算项目历时利用网络顺序图的逻辑关系和加权历时估算来计算项目历时 关键路径法关键路径法它是根据指定的网络图逻辑关系进行的单一的历时估算,首先计算它是根据指定的网络图逻辑关系进行的单一的历时估算,首先计算每一个活动的单一的、最早和最晚开始和完成日期,然后计算网络每一个活动的单一的、最早和最晚开始和完成日期,然后计算网络图中的最长路径,以便确定项目的完成时间估计,采用此方法可以图中的最长路径,以便确定项目的完成时间估计,采用此方法可以配合进
29、行计划的编制配合进行计划的编制34THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要软件项目分解软件项目分解 6.1软件项目估算概念软件项目估算概念6.2软件项目规模估算软件项目规模估算6.3软件项目成本估算软件项目成本估算6.4软件项目进度估算软件项目进度估算6.5软件项目进度计划软件项目进度计划6.6本章小结本章小结6.7复习思考题复习思考题6.835THE SCHOOL OF SOFTWARE ENGINEERING OF HUST6.6 软件项目进度计划软件项目进度计划 进度计划定义进度计划定义 进度是对执行的活动和里程碑制定的
30、工作计划日期表。它决定是进度是对执行的活动和里程碑制定的工作计划日期表。它决定是否达到预期目的,它是跟踪和沟通项目进展状态的依据,也是跟踪变否达到预期目的,它是跟踪和沟通项目进展状态的依据,也是跟踪变更对项目影响的依据。更对项目影响的依据。软件活动定义是一个过程,它涉及确认和描述一些特定的活动软件活动定义是一个过程,它涉及确认和描述一些特定的活动 为了进一步制定切实可行的进度计划,必须对活动(任务)进行适当为了进一步制定切实可行的进度计划,必须对活动(任务)进行适当的顺序安排的顺序安排 按时完成项目是项目经理最大的挑战之一;时间是项目规划中灵活性按时完成项目是项目经理最大的挑战之一;时间是项目
31、规划中灵活性最小的因素最小的因素进度问题是项目冲突的主要原因,尤其在项目的后期进度问题是项目冲突的主要原因,尤其在项目的后期36THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划项目进度(时间)管理过程项目进度(时间)管理过程活动定义活动定义(Activity definition)活动排序活动排序(Activity sequencing)活动历时估计活动历时估计(Activity duration estimating)制定进度计划制定进度计划(Schedule development)进度控制进度控制(Schedule co
32、ntrol)-项目跟踪项目跟踪37THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划活动定义活动定义(Activity definition)确定为完成项目的各个交付成果所必须进行的诸项具体活动确定为完成项目的各个交付成果所必须进行的诸项具体活动完成完成WBS中的细目和子细目中的细目和子细目活动排序活动排序(Activity sequencing)对活动进行适当的顺序安排对活动进行适当的顺序安排.项目各项活动之间存在相互联系与相互依赖关系项目各项活动之间存在相互联系与相互依赖关系根据这些关系安排各项活动的先后顺序根据这些关系安排
33、各项活动的先后顺序38THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划任务任务(活动活动)之间的关系之间的关系进度管理图示进度管理图示网络图、甘特图、里程碑图、资源图网络图、甘特图、里程碑图、资源图开始开始-结束结束ABAB结束结束-开始开始结束结束-结束结束ABAB开始开始-开始开始39THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划网络图网络图 展示项目中的各个活动以及活动之间的逻辑关系;展示项目中的各个活动以及活动之间的逻辑关系;网络图是网络图是活动排序
34、的一个输出;网络图可以表达活动的历时活动排序的一个输出;网络图可以表达活动的历时常用网络图常用网络图 PDM:节点法节点法 (单代号单代号)网络图、网络图、ADM:箭线法箭线法 (双代号双代号)网络图、网络图、CDM:条件箭线图法条件箭线图法在网络图中一个活动用一个方框、节点或者其他方式表示在网络图中一个活动用一个方框、节点或者其他方式表示每一个活动被各种关系线相连接着每一个活动被各种关系线相连接着将项目中的各个活动的逻辑关系表示出来将项目中的各个活动的逻辑关系表示出来网络图开始于一个任务、工作、活动、里程碑网络图开始于一个任务、工作、活动、里程碑网络图结束于一个网络图结束于一个 任务、工作、
35、活动、里程碑任务、工作、活动、里程碑有些活动前置任务或者后置任务有些活动前置任务或者后置任务40THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划PDM(Precedence diagram)构成构成PDM网络图的基本特点是节点网络图的基本特点是节点(Box)节点节点(Box)表示活动表示活动(工序工序,工作工作)用箭线表示各活动用箭线表示各活动(工序工序,工作工作)之间的逻辑关系之间的逻辑关系.可以方便的表示活动之间的各种逻辑关系可以方便的表示活动之间的各种逻辑关系没有时标没有时标在软件项目中在软件项目中PDM比比ADM更通用
36、更通用41THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划PDM网络图的关系网络图的关系开始开始活动活动1 1活动活动3 3活动活动2 2结束结束42THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划软件项目的软件项目的PDM图例图例开开始始需求需求获取获取项目项目规划规划需求需求确认确认项目项目计划计划评审评审总体总体设计设计详细详细设计设计系统系统测试测试集成集成测试测试编码编码结结束束43THE SCHOOL OF SOFTWARE ENGINEERING
37、 OF HUST软件项目进度计划软件项目进度计划ADM(Arrow diagram )ADM也称为也称为AOA (activity-on-arrow)或者或者双代号双代号项目网络项目网络图图在在ADM网络图中网络图中,箭线表示活动箭线表示活动(工序工序 工作工作)节点节点Node(圆圈(圆圈:circle)表示前一道工序的结束)表示前一道工序的结束,同时也表同时也表示后一道工序的开始示后一道工序的开始只适合表示结束只适合表示结束-开始的逻辑关系开始的逻辑关系可以有时标可以有时标44THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计
38、划ADM图例图例总体设计总体设计需求确认需求确认需求获需求获取取系统系统测试测试集成集成测试测试编码编码详细设详细设计计计划评审计划评审项目规划项目规划1 12 23 36 69 98 87 75 54 445THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划CDM(condition diagram)CDM网络图也称为条件箭头图法网络图网络图也称为条件箭头图法网络图CDM允许活动序列相互循环与反馈允许活动序列相互循环与反馈从而在绘制网络图的过程中会形成许多条件分支从而在绘制网络图的过程中会形成许多条件分支而在而在PDM、ADM
39、中是绝对不允许的中是绝对不允许的46THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划甘特图甘特图显示基本的任务信息显示基本的任务信息可以查看任务的工期、开始时间和结束时间以及资源的信息可以查看任务的工期、开始时间和结束时间以及资源的信息只有时标,没有活动的逻辑关系只有时标,没有活动的逻辑关系有两种表示方法(棒状、三角形)有两种表示方法(棒状、三角形)47THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划甘特图甘特图-实例实例48THE SCHOOL OF SOF
40、TWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划里程碑图里程碑图里程碑显示项目进展中的重大工作完成里程碑显示项目进展中的重大工作完成里程碑不同于活动里程碑不同于活动活动是需要消耗资源的活动是需要消耗资源的里程碑仅仅表示事件的标记里程碑仅仅表示事件的标记SpecificationDesign08/9811/98Testing02/995/99AvailableCoding9/0011/00Announce里程碑图示里程碑图示49THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源图资源图50TH
41、E SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划编制项目进度计划编制项目进度计划确定项目的所有活动及其开始和结束时间确定项目的所有活动及其开始和结束时间监控项目实施的基础,监控项目实施的基础,它是项目管理的基准它是项目管理的基准计划是三维的,考虑时间,费用和资源计划是三维的,考虑时间,费用和资源编制项目进度计划步骤编制项目进度计划步骤进度编制进度编制资源调整资源调整成本预算成本预算计划优化调整计划优化调整形成基线计划形成基线计划51THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划
42、软件项目进度计划进度编制的基本方法进度编制的基本方法关键路径法关键路径法正推法正推法逆推法逆推法时间压缩法时间压缩法赶工(赶工(Crash)快速跟进(快速跟进(Fast tracking:搭接)搭接)资源调整尝试法资源调整尝试法 52THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划关键路径法关键路径法关键路径法关键路径法(CPM:Critical Path Method)CPM是根据指定的网络顺序逻辑关系和单一的历时估算,计算每是根据指定的网络顺序逻辑关系和单一的历时估算,计算每一个活动的单一的、确定的最早和最迟开始和完成日期
43、一个活动的单一的、确定的最早和最迟开始和完成日期计算网络图中完成时间最长的路径计算网络图中完成时间最长的路径计算浮动时间计算浮动时间53THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划进度编制的基本术语(进度时间参数)进度编制的基本术语(进度时间参数)最早开始时间最早开始时间(Early start)最晚开始时间最晚开始时间(Late start)最早完成时间最早完成时间(Early finish)最晚完成时间最晚完成时间(Late finish)自由浮动(自由浮动(Free Float)总浮动(总浮动(Total Float
44、)超前超前(Lead)滞后滞后(Lag)54THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划浮动时间浮动时间(Float)浮动时间是一个活动的机动性浮动时间是一个活动的机动性,它是一个活动在不影响其它活动或者它是一个活动在不影响其它活动或者项目完成的情况下可以延迟的时间量项目完成的情况下可以延迟的时间量Float00:时间安排比较合理:时间安排比较合理Float=0=0:比较紧张:比较紧张Float0C-G-HCp Path:18Finish64THE SCHOOL OF SOFTWARE ENGINEERING OF HUS
45、T软件项目进度计划软件项目进度计划检查网络图检查网络图确保网络图完整确保网络图完整是否正确标示了是否正确标示了critical path?是否有哪个任务存在很大的是否有哪个任务存在很大的float,需要重新规划,需要重新规划是否有不合理的空闲时间是否有不合理的空闲时间熟悉并分析网络图熟悉并分析网络图critical path上有什么风险?上有什么风险?Float有多大?有多大?那些任务有那种类型的那些任务有那种类型的Float。应该确保你的目标被满足应该确保你的目标被满足是否需要增加里程碑是否需要增加里程碑那些任务有提交物那些任务有提交物工作可以在期望的时间内完成吗?工作可以在期望的时间内完成
46、吗?提交物可以在规定的时间内完成吗?提交物可以在规定的时间内完成吗?65THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划时间压缩法时间压缩法时间压缩法时间压缩法 时间压缩法时间压缩法是在不改变项目范围是在不改变项目范围的前提下缩短项目工期的方法的前提下缩短项目工期的方法应急法应急法-赶工(赶工(CrashCrash)赶工也称为时间赶工也称为时间-成本平衡方法成本平衡方法是在不改变活动的前提下,通过是在不改变活动的前提下,通过压缩某一个或者多个活动的时间压缩某一个或者多个活动的时间来达到缩短整个项目工期的目的来达到缩短整个项目工
47、期的目的是在最小相关成本增加的条件下,是在最小相关成本增加的条件下,压缩关键路经上的关键活动历时压缩关键路经上的关键活动历时的方法的方法压缩角度,越小越压缩角度,越小越好好追追加加成成本本66THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划进度压缩单位成本计算方法进度压缩单位成本计算方法进度压缩单位成本进度压缩单位成本=(压缩成本(压缩成本-正常成本)正常成本)/(/(正常进度正常进度-压缩进度压缩进度)例如:例如:任务任务A:A:正常进度正常进度7 7周周,成本成本5 5万;压缩到万;压缩到5 5周的成本是周的成本是6.26
48、.2万万 进度压缩单位成本进度压缩单位成本=(6.2-5)/(7-5)=6000=(6.2-5)/(7-5)=6000元元/周周 如果压缩到如果压缩到6 6周的成本是:周的成本是:5.65.6万万67THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划平行作业法平行作业法-快速跟进(快速跟进(Fast tracking:搭接)搭接)改变活动间的逻辑关系,并行开展活动项目管理项目管理:100需求需求:10设计设计:5任任务务设计设计:5时间时间68THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软
49、件项目进度计划软件项目进度计划任务超前任务超前(Lead)(Lead)举例:举例:A完成之前完成之前3 3天天B开始开始作用:作用:1)解决任务的搭接)解决任务的搭接2)对任务可以进行合理的拆分)对任务可以进行合理的拆分3)缩短项目工期)缩短项目工期活动活动A A活动活动B B结束结束-开始开始Lead=3Lead=369THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源调整尝试法资源调整尝试法 资源调整尝试法资源调整尝试法资源优化配置资源优化配置通过调整进度计划,形成平稳连续的资源需求通过调整进度计划,形成平稳连续的资源需
50、求最有效的利用资源最有效的利用资源使资源闲置的时间最小化使资源闲置的时间最小化尽量避免超出资源能力尽量避免超出资源能力方法方法资源平衡,维持工期不变,使资源强度尽可能平衡资源平衡,维持工期不变,使资源强度尽可能平衡在满足资源约束条件下,使工期最短在满足资源约束条件下,使工期最短将资源从非关键活动转到关键活动将资源从非关键活动转到关键活动逆向资源分配法逆向资源分配法70THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项目进度计划软件项目进度计划资源平衡法资源平衡法71THE SCHOOL OF SOFTWARE ENGINEERING OF HUST软件项