第六章软件项目规模成本估算课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第六章软件项目规模成本估算课件.ppt》由会员分享,可在线阅读,更多相关《第六章软件项目规模成本估算课件.ppt(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发项目管理软件开发项目管理第六章第六章软件项目规模成本估算软件项目规模成本估算0chapter_6本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析1chapter_6成本管理过程成本管理过程q资源计划编制:q确定项目需要的资源种类和数量q成本估算:中心环节q编制一个为完成项目各活动所需要的资源成本的近似估算q成本预算:项目进度q将总成本估算分配到各单项工作活动上q成本控制:项目跟踪q控制项目预算的变更2chapter_6资源和资源平衡资源和资源平衡 v资源的种类劳动力(Labour)设备(Equipmen
2、t)原材料(Material)其他(Other):指不符合上述分类的资源,例如分包合同、租约等。v资源平衡技术可储备资源与不可储备资源平衡资源稀缺的资源资源平衡的基本过程资源平衡的基本过程 n建立网络建立网络,将资源分配给各项活动。将资源分配给各项活动。n首先按尽快原则安排活动首先按尽快原则安排活动含有最迟原则或固定日期的含有最迟原则或固定日期的活动除外活动除外。n建立资源需求直方图。建立资源需求直方图。n决定资源上限决定资源上限(可使用最大量可使用最大量),找出资源冲突找出资源冲突,也就是说也就是说,指出何时需要量超过可使用量指出何时需要量超过可使用量。微软微软ProjectProject软
3、件和其他软件和其他项目管理出版物将这种情况称作资源过度配置项目管理出版物将这种情况称作资源过度配置 (Resource Resource Overallocation)Overallocation)。n重新安排有松闲时间重新安排有松闲时间 (浮动时间浮动时间 )的活动以减少资源冲的活动以减少资源冲突的数量。如果有可能突的数量。如果有可能 ,可在它们的松闲时间限度内重可在它们的松闲时间限度内重新安排这些活动新安排这些活动 ,以避免更改项目的终止日期。以避免更改项目的终止日期。A=2A=2A=2A=2天天天天 B=5 B=5 B=5 B=5天天天天C=3C=3C=3C=3天天天天 资源平衡示例资源
4、平衡示例项目网络图中标出了活动项目网络图中标出了活动项目网络图中标出了活动项目网络图中标出了活动A A A A、B B B B、C C C C及其历时,活动及其历时,活动及其历时,活动及其历时,活动A A A A有有有有3 3 3 3天时差,活动天时差,活动天时差,活动天时差,活动C C C C有有有有2 2 2 2天时差,天时差,天时差,天时差,假设活动假设活动假设活动假设活动A A A A需要需要需要需要2 2 2 2个员工,个员工,个员工,个员工,活动活动活动活动B B B B需要需要需要需要4 4 4 4个员工,活动个员工,活动个员工,活动个员工,活动C C C C需要需要需要需要2
5、2 2 2个员工。个员工。个员工。个员工。1342如果所有活动同一天开始的资源使用如果所有活动同一天开始的资源使用如果所有活动同一天开始的资源使用如果所有活动同一天开始的资源使用如果活动如果活动如果活动如果活动C C C C延迟延迟延迟延迟2 2 2 2天开始的资源使用天开始的资源使用天开始的资源使用天开始的资源使用资源平衡的其他过程资源平衡的其他过程 n增员或延长加班时间以增加资源。n延长项目工期,这将增强所有活动的浮动时间(Float),以增加重新进行进度安排的选择。n削减活动以减少资源需求。n改变网络的逻辑(例如,活动的顺序)。n限制项目范围。n将大项目细分。关于估算关于估算q估算不是很
6、准确的,有误差的q经验(历史)数据非常重要q不要太迷信数学模型7chapter_6软件项目规模软件项目规模q软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务q包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。8chapter_6规模的单位规模的单位qLOC(Line of Code)q源代码程序长度的测量qFP(Function Point)q用系统的功能数量来测量q人月q人天q人年9chapter_6软件项目成本软件项目成本q完成软件规模相应付出的代价。q待开发的软件项目需要的资金。q人的劳动的消耗所需要的代价是
7、软件产品的主要成本q开发成本是以一次性开发过程所花费的代价来计算的10chapter_6成本的单位成本的单位q货币单位q人民币元q美元q.11chapter_6软件的规模和成本的关系软件的规模和成本的关系q规模是成本的主要因素,是成本估算的基础q有了规模就确定了成本,12chapter_6成本估算定义成本估算定义q对完成项目所需费用的估计和计划q包括预测开发一个软件系统所需要的总工作量的过程。q是一种量化的结果q可以有一些误差q成本估算不同于项目定价q贯穿于软件的生存周期。13chapter_6本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目
8、核心(进度)计划续q六、案例分析14chapter_6成本估算过程成本估算过程估算输入估算结果成本估算方法15chapter_6成本估算输入成本估算输入q项目需求、WBSq历史项目度量q资源要求(资源编制计划)q资源消耗率:如人员成本:100元/小时q进度规划:项目总进度(一般是合同要求)q学习曲线16chapter_6成本估算成本估算q直接成本q间接成本17chapter_6直接成本直接成本q与具体项目相关的成本18chapter_6间接成本间接成本q不能具体到某个项目中的成本,q可以分摊到各个具体项目中的成本,例如:q培训q房租水电q员工福利q市场费用q管理费q其他等等19chapter_
9、6项目估算结果项目估算结果q估算文件q包括资源,资源的数量,质量标准,估算成本等信息q单位:一般是货币单位qBAC(Budget At completion)q估算说明q工作范围q估算的基础和依据q估算的假设q估算的误差变动等20chapter_6本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析21chapter_6估算的基本方法估算的基本方法1.代码行、功能点、对象点2.类比(自顶向下)估算法3.自下而上估算法4.参数法估算法5.专家估算法22chapter_6代码行(代码行(LOCLOC)q从软件程序量的角
10、度定义项目规模。q要求功能分解足够详细的q有一定的经验数据(类比和经验方法)q与具体的编程语言有关23chapter_6代码行(代码行(LOCLOC)24chapter_6代码行(代码行(LOCLOC)优、)优、缺点缺点n优点优点l代码是所有软件开发项目都有的代码是所有软件开发项目都有的“产品产品”,而且很容易计算代,而且很容易计算代码行数。码行数。n缺点缺点1.对代码行没有公认的可接受的标准定义对代码行没有公认的可接受的标准定义2.代码行数量依赖于所用的编程语言和个人的编程风格代码行数量依赖于所用的编程语言和个人的编程风格.3.在项目早期在项目早期,需求不稳定、设计不成熟、实现不确定的情况下
11、需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量很难准确地估算代码量.4.代码行强调编码的工作量代码行强调编码的工作量,只是项目实现阶段的一部分只是项目实现阶段的一部分 25chapter_4某某软软件件公公司司统统计计发发现现该该公公司司每每一一万万行行C语语言言源源代代码码形形成成的的源源文文件件(.c和和.h文文件件)约约为为250K。某某项项目目的的源源文文件件大大小小为为3.75M,则则可可估估计计该该项项目目源源代代码码大大约约为为15万万行行,该该项项目目累累计计投投入入工工作作量量为为240人人月月,每每人人月月费费用用为为10000元元(包包括括人人均均工工资资
12、、福福利、办公费用公滩等)。利、办公费用公滩等)。则该项目中则该项目中1LOC的价值为:(的价值为:(24010000)/15000016元元/L。代码行(代码行(LOCLOC)-举例举例第26页功能点(功能点(FPFP)q标准功能点(Function Point)是一个被严格定义的概念,不会因为估算人员差异产生显著差别(10%)。q用系统的功能数量来测量其规模q与实现产品所使用的语言和技术没有关系的q两个评估q内部基本功能q外部基本功能q加权和量化 27chapter_6功能点(功能点(FPFP)的分析方法)的分析方法28chapter_6功能点计算由下列步骤组成:功能点计算由下列步骤组成:
13、1)对每一项功能,通过计算对每一项功能,通过计算4类系统外部行为或事务的数目,以类系统外部行为或事务的数目,以及一类内部逻辑文件的数目来估算由一组需求所表达的功能点及一类内部逻辑文件的数目来估算由一组需求所表达的功能点数目。这数目。这5类功能计数项分别是:类功能计数项分别是:n 外部输入外部输入:是指用户可以根据需要通过增、删、改来维护内:是指用户可以根据需要通过增、删、改来维护内部文件。只有那些对功能的影响方式与其他外部输入不同的输部文件。只有那些对功能的影响方式与其他外部输入不同的输入才计算在内。入才计算在内。n 外部输出外部输出:指那些向用户提供的用来生成面向应用的数据的:指那些向用户提
14、供的用来生成面向应用的数据的项。只有单独算法或者特殊功能的输出才计算在内。项。只有单独算法或者特殊功能的输出才计算在内。n 外部查询外部查询:是指用户可以通过系统选择特定的数据并显示结:是指用户可以通过系统选择特定的数据并显示结果。为了获得这项结果,用户要输入选择信息抓取符合条件的果。为了获得这项结果,用户要输入选择信息抓取符合条件的数据。此时没有对数据的处理,是直接从所在的文件抓取信息。数据。此时没有对数据的处理,是直接从所在的文件抓取信息。每个外部独立的查询计为每个外部独立的查询计为1。n 外部文件外部文件:是在另一系统中驻留由其他用户进行维护。:是在另一系统中驻留由其他用户进行维护。n
15、内部文件内部文件:指客户可以使用他们负责维护的数据。:指客户可以使用他们负责维护的数据。第30页3)在在估估算算中中对对5类类功功能能计计数数项项中中的的每每一一类类功功能能计计数数项项按按其其复复杂杂性性的的不不同同分分为简单(低)、一般(中)和复杂(高)为简单(低)、一般(中)和复杂(高)3个级别。个级别。功功能能复复杂杂性性是是由由某某一一功功能能的的数数据据分分组组和和数数据据元元素素共共同同决决定定的的。计计算算数数据据元元素素和和无无重重复复的的数数据据分分组组个个数数后后,将将数数值值和和复复杂杂性性矩矩阵阵对对照照,就就可可以以确确定定该该功功能能的复杂性属于高、中、低。下表是
16、的复杂性属于高、中、低。下表是5类功能计数的复杂等级。类功能计数的复杂等级。产产品品中中所所有有功功能能计计数数项项加加权权的的总总和和,就就形形成成了了该该产产品品的的未未调调整整功功能能点点计计数数(UFC)。)。5类功能计数的复杂度权重类功能计数的复杂度权重 第31页4)这这一一步步是是要要计计算算项项目目中中14个个技技术术复复杂杂度度因因子子(TCF)。下下表表是是14个个技技术复杂度因子,每个因子的取值范围是术复杂度因子,每个因子的取值范围是05。第32页5)最后根据功能点计算公式)最后根据功能点计算公式FP=UFCTCF计算出调整后的功能点总和。计算出调整后的功能点总和。其中:其
17、中:UFC表示未调整功能点计数,表示未调整功能点计数,TCF表示技术复杂因子。表示技术复杂因子。功能点计算公式的含义是:如果对应用程序完全没有特殊的功能要求功能点计算公式的含义是:如果对应用程序完全没有特殊的功能要求(即综合特征总值(即综合特征总值=0),那么功能点数应该比未调整的(原有的)点数),那么功能点数应该比未调整的(原有的)点数降低降低35%(这也就是(这也就是“0.65”的含义)。否则,除了降低的含义)。否则,除了降低35%之外,功之外,功能点数还应该比未调整的点数增加能点数还应该比未调整的点数增加1%的综合特征总值。的综合特征总值。第33页功能点与代码行的转换功能点与代码行的转换
18、34chapter_6对象点(对象点(OPOP)q对象点是基于对象的软件产品规模估算。q著名的Probe方法qWatts Humphrey(软件质量之父,CMM创始人)35chapter_6对象规模表(对象规模表(C+C+)36chapter_6ProbeProbe方法的步骤方法的步骤1.基于产品需求构建体系结构和概要设计2.对设计中的每个类(面向对象方法中的Class)的输入和交互,标识所设计的对象属于表中哪类方法并估算其复杂性3.将上述标识的结果构造成一个如表形式的矩阵,然后将这个矩阵中的值与表中对应的值相乘4.将上述所有相乘结果相加求和,产生估算结果 37chapter_6对象点的估计对
19、象点的估计-举例举例5865.13*5+16.15*8+8.53*6=206.0338chapter_6估算的基本方法估算的基本方法q代码行、功能点、对象点q类比(自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法39chapter_6类比类比-定义定义q从项目的整体出发,进行类推,即估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中q是一种自上而下的估算形式40chapter_6类比类比使用情况使用情况q有类似的历史项目数据q信息不足(要求不是非常精确)的时候q在合同期和市场招标时q在高层对任务的
20、总的评估41chapter_6类比类比特点特点q简单易行,花费少q具有一定的局限性q准确性差,可能导致项目出现困难42chapter_6类比类比软件重用软件重用n将新项目与历史项目比较,估算出各功能的估计将新项目与历史项目比较,估算出各功能的估计值。值。等价代码行等价代码行=(重新设计(重新设计%+重新编码重新编码+重新测试)重新测试)/3*已有代码行已有代码行43chapter_6类比类比举例举例q证券交易网站q需求类似q历史数据:10万q学习曲线(在一定时间内获得的技能或知识的速率):5-8万45chapter_6估算的基本方法估算的基本方法q代码行、功能点、对象点q类比(自顶向下)估算法
21、q自下而上估算法q参数法估算法q专家估算法46chapter_6自下而上自下而上定义定义q利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。47chapter_6自下而上自下而上使用情况使用情况q在进入项目开始以后,WBS以后的开发阶段q需要进行准确估算的时候48chapter_6自下而上自下而上特点特点q这种方法准确。它的准确度来源于每个任务的估算情况,即每个任务的规模和复杂程度q非常费时,估算本身也需要成本支持q可能发生虚报现象49chapter_6估算的基本方法估算的基本方法q代码行、功能点、对象点q类比(自顶向下)估算法q自下而上估算法q参数法估
22、算法q专家估算法50chapter_6参数估算法参数估算法定义定义q一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。q参考历史信息q根据实际情况,对参数模型按适当比例调整q模型可以简单也可以复杂,很少有通用性51chapter_6参数估算法参数估算法使用情况使用情况q存在成熟的项目估算模型q应该具有良好的数据库数据为基础q目前软件企业估算很少使用通用的数学模型52chapter_6参数估算法估算单位参数估算法估算单位q每个任务必须至少有一个统一的规模单位,例如qKLOC,FPq人天,人月,人年q参数:xx元/KLOC.xx元/FP,xx元/人天53cha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 软件 项目 规模 成本 估算 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内