北京赛迪网信息技术有限公司软件项目开发计划北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.1软件项目分解项目分解目的——明确项目所包含的各项工作;项目分解的结果就是WBS(任务分解结构)图项目分解意义——WBS(任务分解结构)图是实施项目、创造最终产品或服务所必须进行的全部活动的一张清单,也是进度计划、人员分配、预算计划的基础项目分解内容——项目分解就是先把复杂的项目逐步分解成一层一层的要素(工作),直到具体明确为止项目分解工具——项目分解的工具是工作分解结构WBS原理,它是一个分级的树型结构,是一个对项目工作由粗到细的分解过程北京赛迪网信息技术有限公司软件项目分解•WBS——WorkBreakdownStructure主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素它是一种在项目全范围内分解和定义各层次工作包的方法•WBS——WorkBreakdownStructure结构层次越往下层则项目组成部分的定义越详细,WBS最后构成一份层次清晰,可以具体作为组织项目实施的工作依据•WBS——WorkBreakdownStructure通常是一种面向“成果”的“树”,其最底层是细化后的“可交付成果”,该树组织确定了项目的整个范围。但WBS的形式并不限于“树”状,还有多种形式。北京赛迪网信息技术有限公司软件项目分解•WBS分解类型•基于可交付成果的划分–上层一般为可交付成果为导向–下层一般为可交付成果的工作内容•基于工作过程的划分–上层按照工作的流程分解–下层按照工作的内容划分北京赛迪网信息技术有限公司软件项目分解•基于可交付成果的划分——WBS举例:信息网络工程信息网络工程结构化布线网络平台建设布线设计采购布线验收方案设计采购网络平台实施验收0级1级2级北京赛迪网信息技术有限公司软件项目分解•基于工作过程的划分——WBS举例:网络系统工程网络系统培训设备准备设备采购设备验收交接网络系统设计布线设计平台设计工程实施布线实施网络集成软件开发软件需求确定系统设计编码测试0级1级2级北京赛迪网信息技术有限公司软件项目分解•WBS表达形式——层次结构图和锯齿列表(清单)图形显示锯齿列表1.0系统1.1元素A1.1.1任务1.1.2任务1.2元素B1.0系统1.1元素A1.2元素B1.1.1任务1.1.2任务北京赛迪网信息技术有限公司软件项目分解•WBS工作编码——由高层向下层用多位码编排,要求每项工作有唯一的编码。–1000•1100–1110»1111»1112»1113–1120»1121»1122»1123•1200北京赛迪网信息技术有限公司软件项目分解•WBS工作编码举例:企业经营评价系统项目网络1430软件1410硬件1420系统开发1400测试1500实施1600系统设计1300问题界定1100企业经营评价系统项目1000系统分析1200文档1440包装软件1411培训1610验收1630系统转换1620定制软件14120级1级2级3级北京赛迪网信息技术有限公司软件项目分解•项目工作分解结构表项目名称:项目负责人:单位名称:制表日期:工作分解结构任务编码任务名称主要活动描述负责人1000110012001x001x101x111x12项目负责人审核意见:签名:日期:北京赛迪网信息技术有限公司软件项目分解•WBS分解的一般步骤•总项目•子项目或主体工作任务•主要工作任务•次要工作任务•小工作任务或工作元素北京赛迪网信息技术有限公司软件项目分解•WBS分解注意事项•WBS分解的规模和数量因项目而异•收集与项目相关的所有信息•参看一下类似的项目的WBS,与相关人员讨论•可以参照相关模板•最低层是可控的和可管理的,但是避免不必要的过细,最好不要超过7层,•软件项目推荐分解到40小时的任务•每个Workpackage必须有一个提交物北京赛迪网信息技术有限公司软件项目分解•定义任务完成的标准•每个WBS必须有利于责任分配•可以准备WBS的字典•最后与相关人员进行评审北京赛迪网信息技术有限公司软件项目分解•案例讨论•假如您要在自己的家里举行一次生日宴会,请按WBS为你制定一份工作的分解计划?•假如贵公司进行成立10周年庆典活动,如果请你负责此次活动,你将如何分析此次活动所应包含的工作?北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.2软件项目估算概念•软件项目估算——是指预测构造软件项目所需要的工作量以及任务经历时间的过程。主要包括三个方面:•规模(即工作量)的估算确定每个软件功能所必须执行的一系列软件工程任务•成本的估算确定完成软件项目规模相应付出的代价•进度的估算估计任务的持续时间,即历时估计北京赛迪网信息技术有限公司软件项目估算概念•估算方法•规模估算方法代码行(LOC,LinesofCode)估算法、功能点(FP,FunctionPoints)估算法和计划评审技术(PERT,ProgramEvaluationandReviewTechnique)估算法•成本估算方法自顶向下(类比)估算法、自下而上估算法、参数估算法、专家估算法、猜测估算法等•进度估算方法基于规模的进度估算、工程评价技术、关键路径法、专家估算方法、类推估算方法、模拟估算方法、进度表估算方法、基于承诺的进度估算方法和Jones的一阶估算准则等北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.3软件项目规模估算•估算的步骤•在技术允许的条件下,应从最详细的工作分解结构开始•精确定义度量的标准•估计底层每一模块的规模,汇总已得到总体的估算•适当考虑偶然因素的影响北京赛迪网信息技术有限公司软件项目规模估算•LOC估算法代码行可以分为无注释的源代码行(NCLOC,Non-CommentedSourceLinesOfCode)和注释的源代码行(CLOC:CommentedSourceLinesOfCode),源代码的总行数LOC即为NCLOC与CLOC之和•FP估算法功能点度量是在需求分析阶段基于系统功能的一种规模估计方法,该方法通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量北京赛迪网信息技术有限公司软件项目规模估算•规模的单位–LOC(LinesofCode)•源代码程序长度的测量–FP(FunctionPoint)•用系统的功能数量来测量–人月–人天–人年北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.4软件项目成本估算•成本估算方法•算法模型•专家判定•类比•自顶向下•自底向上北京赛迪网信息技术有限公司软件项目成本估算•成本估算模型——静态模型和动态模型–静态模型用一个唯一的变量(如程序规模)作为初始元素来计算所有其他变量(如成本、时间),且所用计算公式的形式对于所有变量都是相同的–动态模型没有类似静态模型中的惟一基础变量,所有变量都是相互依存的–已有的模型1)Farr-Zagorski模型;2)Price-S模型;3)Walston-Felix模型;4)Putnam模型;5)COCOMO模型北京赛迪网信息技术有限公司软件项目成本估算•COCOMOⅡ模型——在现代软件工程研究结果的基础上,将未来软件市场划分为基础软件、系统集成、程序自动化生成、应用集成、最终用户编程五个部分,COCOMOII通过三个生命周期模型(估算早期原型工作量的应用组合模型,早期设计模型,后体系结构模型)支持上述的五种软件项目。北京赛迪网信息技术有限公司软件项目成本估算•Putnam模型——Putnam模型是Putnam于1978在来自美国计算机系统指挥部的200多个大型项目(项目的工作量在30~1000人年之间)数据的基础上推导出来的一种动态多变量模型。Putnam模型假设软件项目的工作量分布类似于Rayleigh曲线。Putnam模型包含两个方程:软件方程和人力增加方程。1433tSCE北京赛迪网信息技术有限公司软件项目成本估算•实用软件估算模型——是一种自下而上和参数法的结合模型,步骤如下:–对任务进行分解–估算每个任务i的最大值Max、最小值Min、最可能值Avg,Ei=(Max+4Avg+Min)/6(或者使用唯一的估计值:最可能值)–直接成本=E1+E2+……+Ei+……+En–项目总估算成本=直接成本+间接成本–项目总报价=项目总估算成本+风险利润•风险利润=利润+风险基金+税北京赛迪网信息技术有限公司软件项目成本估算•直接成本–直接成本=开发成本+管理成本+质量成本–直接成本=规模*人力成本参数–例如:人力成本参数=2万/人月,30人月的项目的直接成本是60万•间接成本–间接成本=直接成本*间接成本系数–间接成本=规模*人力成本参数*间接成本系数–例如:间接成本系数=1.5--3北京赛迪网信息技术有限公司软件项目成本估算•成本估算步骤•建立目标•规划需要的数据和资源•确定软件需求•拟定可行的细节•运用多种独立的技术和原始资料•比较并迭代各个估算值•随访跟踪北京赛迪网信息技术有限公司软件项目成本估算•成本模型的评价准则•定义•正确性•客观性•构造性•细节•稳定性•范围•易用性•可预期性•节约性北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.5软件项目进度估算•基于规模的进度估算–定额估算法–经验导出模型•工程评价技术–利用网络顺序图的逻辑关系和加权历时估算来计算项目历时•关键路径法–它是根据指定的网络图逻辑关系进行的单一的历时估算,首先计算每一个活动的单一的、最早和最晚开始和完成日期,然后计算网络图中的最长路径,以便确定项目的完成时间估计,采用此方法可以配合进行计划的编制北京赛迪网信息技术有限公司本章内容提要软件项目分解6.1软件项目估算概念6.2软件项目规模估算6.3软件项目成本估算6.4软件项目进度估算6.5软件项目进度计划6.6本章小结6.7复习思考题6.8北京赛迪网信息技术有限公司6.6软件项目进度计划•进度计划定义——进度是对执行的活动和里程碑制定的工作计划日期表。它决定是否达到预期目的,它是跟踪和沟通项目进展状态的依据,也是跟踪变更对项目影响的依据。•软件活动定义是一个过程,它涉及确认和描述一些特定的活动•为了进一步制定切实可行的进度计划,必须对活动(任务)进行适当的顺序安排•按时完成项目是项目经理最大的挑战之一;时间是项目规划中灵活性最小的因素•进度问题是项目冲突的主要原因,尤其在项目的后期北京赛迪网信息技术有限公司软件项目进度计划•项目进度(时间)管理过程–活动定义(Activitydefinition)–活动排序(Activitysequencing)–活动历时估计(Activitydurationestimating)–制定进度计划(Scheduledevelopment)–进度控制(Schedulecontrol)-项目跟踪北京赛迪网信息技术有限公司软件项目进度计划•活动定义(Activitydefinition)–确定为完成项目的各个交付成果所必须进行的诸项具体活动–完成WB