软件项目开发计划

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

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

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

资源描述

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

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

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

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

×
保存成功