版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲:张鹏(宁夏大学数计学院)主讲:张鹏(宁夏大学数计学院)软件项目管理软件项目管理软件项目管理软件项目管理软件项目成本计划软件项目成本计划本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算成本管理过程成本管理过程q资源计划编制:q确定项目需要的资源种类和数量q成本估算:中心环节q编制一个为完成项目各活动所需要的资源成本的近似估算q成本预算:项目进度q将总成本估算分配到各单项工作活动上q成本控制:项目跟踪q控制项目预算的变更关于估算关于估算q估算不是很准确的,有误差的q经验(历史)数据非常重要q不要太迷信数学模型软件项目规模软件项目规模q软件项目规模
2、即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务q包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。规模的单位规模的单位qLOC(Lines of Code)q源代码程序长度的测量qFP(Function Point)q用系统的功能数量来测量q人月q人天q人年软件项目成本软件项目成本q完成软件规模相应付出的代价。q待开发的软件项目需要的资金。 q人的劳动的消耗所需要的代价是软件产品的主要成本成本的单位成本的单位q货币单位q人民币元q美元q.软件的规模和成本的关系软件的规模和成本的关系q规模是成本的主要因素,是成本估算的基础q有
3、了规模就确定了成本,本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算成本估算过程成本估算过程估算输入估算结果成本估算方法成本估算输入成本估算输入q项目需求、 WBSq历史项目度量q资源要求(资源编制计划)q资源消耗率:如人员成本: 100元/小时q进度规划:项目总进度(一般是合同要求)q学习曲线资源规划资源规划q需要的资源种类、数量等024681012JanFebMarAprMayJunJulAugSepOctNovDecJava programmersBusiness analystsTechnical writersManagersAdmini
4、strative staffDatabase analystsTesting specialistsNumber of People成本估算成本估算q直接直接成本成本v 与具体项目相关的成本 工资 硬件 软件 其它间接成本间接成本q 不能具体到某个项目中的成本,q 可以分摊到各个具体项目中的成本,例如:q 培训q 房租水电q 员工福利q 市场费用q 管理费q 其他等等项目估算输出项目估算输出q 估算文件q资源,资源的数量,质量标准,估算成本等信息q单位:一般是货币单位qBAC(Budget At completion)q 估算说明q工作范围q估算的基础和依据q估算的假设q估算的误差变动等估算说
5、明估算说明q预测所需要的总工作量的过程。q是一种量化的结果q可以有一些误差q成本估算不同于项目定价q贯穿于软件的生存周期。 本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算估算的基本方法估算的基本方法1. 代码行、功能点、对象点、用例点2. 类比 (自顶向下)估算法3. 自下而上估算法4. 参数法估算法5. 专家估算法代码行(代码行(LOCLOC)从软件程序量的角度定义项目规模。q要求功能分解足够详细的q有一定的经验数据(类比和经验方法)q与具体的编程语言有关代码行(代码行(LOCLOC)缺点缺点1. 对代码行没有公认的可接受的标准定义2. 代码行
6、数量依赖于所用的编程语言和个人的编程风格. 3. 在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量. 4. 代码行强调编码的工作量,只是项目实现阶段的一部分 功能点(功能点(FP: Function pointFP: Function point)q用系统的功能数量来测量其规模q与实现产品所使用的语言和技术没有关系的q两个评估q内部基本功能q外部基本功能q加权和量化 功能点的公式功能点的公式qFP =UFC*TCFqUFC:未调整功能点计数qTCF:技术复杂度因子UFC-UFC-未调整功能点计数未调整功能点计数功能计数项:1. 外部输入(EI)2. 外部输出(EO)3
7、. 外部查询(EQ)4. 内部逻辑文件(ILF)5. 外部接口文件(EIF)UFC-UFC-未调整功能点计数未调整功能点计数功能计数项的复杂度等级复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015功能点计算实例功能点计算实例-UFC-UFC功能点项简单一般复杂外部输入6 * 32 * 43 * 6外部输出7 * 47 * 50 * 7外部查询0 * 32 * 44 * 6外部文件5 * 52 * 73 * 10内部文件9 * 70 * 102 * 15总计13465102UFC301TCF-TCF-技术复杂度因子技术复杂度因子TCF=0.6
8、5+0.01(sum(Fi)TCF=0.65+0.01(sum(Fi): Fi:0-5,TCF:0.65-1.35Fi:0-5,TCF:0.65-1.35技术复杂度因子F1可靠的备份和恢复F2数据通信F3分布式函数F4性能F5大量使用的配置F6联机数据输入F7操作简单性F8在线升级F9复杂界面F10 复杂数据处理F11重复使用性F12安装简易性F13多重站点F14易于修改技术复杂度因子的取值范围技术复杂度因子的取值范围调整系数调整系数描述描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响功能点计算实例功能点计算实例qFP=UFC*TCFqUFC=301qTC
9、F=0.65+0.01(14*3)=1.07qFP=301*1.07=322功能点与代码行的转换功能点与代码行的转换语言代码行代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6对象点(对象点(OPOP)q对象点是基于对象的软件产品规模估算。 q著名的Probe方法-Watts Humphrey 对象规模表(对象规模表(C+C+)方法种类方法种类很小很小小小中中大大很大很大计算2.345.1311.2524.6654.04数据2.64.798.8416.313
10、0.09I/O9.0112.0616.1521.6228.93逻辑7.5510.9815.9823.2533.83设置3.885.046.568.5311.09文本3.758.0017.0736.4177.66ProbeProbe方法的步骤方法的步骤1. 基于产品需求构建体系结构和概要设计2. 对设计中的每个类(面向对象方法中的Class)的输入和交互,标识所设计的对象属于表中哪类方法并估算其复杂性3. 将上述标识的结果构造成一个如上表形式的矩阵,然后将这个矩阵中的值与上表中对应的值相乘4. 将上述所有相乘结果相加求和,产生估算结果 对象点的估计对象点的估计- -举例举例方法种类方法种类很小很
11、小小小中中大大很大很大计算2.345.1311.2524.6654.04数据2.64.798.8416.3130.09I/O9.0112.0616.1521.6228.93逻辑7.5510.9815.9823.2533.83设置3.885.046.568.5311.09文本3.758.0017.0736.4177.66规模估算* 5* 8* 65.13*5+ 16.15*8+ 8.53*6=206.03估算的基本方法估算的基本方法q代码行、功能点、对象点q类比 (自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法类比类比- -定义定义q估算人员根据以往的完成类似项目所消耗的总成本(或工
12、作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中q是一种自上而下的估算形式类比类比使用情况使用情况q有类似的历史项目数据q信息不足(要求不是非常精确)的时候q在合同期和市场招标时类比类比特点特点q简单易行,花费少q具有一定的局限性q准确性差,可能导致项目出现困难类比类比优缺点优缺点v类比优点 比较直观v类比缺点 不能适用于早期规模等数据都不确定的情况 应用一般集中于已有经验的狭窄领域,不能跨领域应用 难以适应新的项目中约束条件、技术、人员等发生重大变化的情况估算的基本方法估算的基本方法q代码行、功能点、对象点q类比 (自顶向下)估算法q自下而上估算法q参
13、数法估算法q专家估算法自下而上自下而上定义定义q利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。自下而上自下而上使用情况使用情况q项目开始以后,WBS的开发阶段q需要进行准确估算的时候自下而上自下而上特点特点q这种方法相对比较准确,它的准确度来源于每个任务的估算情况q非常费时,估算本身也需要成本支持q可能发生虚报现象估算的基本方法估算的基本方法q代码行、功能点、对象点q类比 (自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法专家估算法专家估算法q由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出综合
14、的估算值。专家估算法专家估算法- -DeiphiDeiphiq组织者发给每位专家一份软件系统的规格说明和一张记录估算值的表格,请他们估算q专家详细研究软件规格说明后,对该软件提出3个规模的估算值q最小aiq最可能的miq最大biq组织者对专家的表格中的答复进行整理q计算每位专家的Ei=(ai+4mi+bi)/6,专家估算法专家估算法- -DeiphiDeiphi( (续续) )q综合结果后:E=E1+E2+En/n(N:表示N 个专家)q再组织专家无记名填表格,比较估算差,并查找原因q如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程 ,最终可以获得一个多数专家共识的软件规
15、模专家估算法专家估算法- -举例举例q某多媒体信息查询系统专家估算q专家1:1,8,9=(1+9+4 * 8 )/6=7(万元)q专家2: 4, 6 , 8 =(4+8+4*6)/6=6 (万元)q估算结果=(6+7)/2=6.5 (万元)估算方法总结估算方法总结q初期q类比q专家估算q计划阶段q自下而上q参数模型q实施阶段(包括变更发生)q自下而上q参数模型实用软件估算模型实用软件估算模型是一种自下而上和参数法的结合模型,步骤如下:1. 对任务进行分解:1,2,i2. 估算每个任务的成本Ei3. 直接成本=E1+E2+ Ei+ En4.4. 项目总估算成本项目总估算成本= 直接成本+间接成本
16、5.5. 项目总报价项目总报价= =项目总估算成本项目总估算成本+ +风险利润风险利润 1.1. 风险利润风险利润=利润+风险基金+税估算每个任务的成本估算每个任务的成本q直接估算成本Eiq先估算规模Qi,然后估算成本Ei= Qi *人力成本参数q唯一估计值:Qi=AvgqPERT算法: Qi=(Max+4Avg+Min)/6直接成本估算直接成本估算q直接成本=规模*人力成本参数q直接成本组成q开发成本q管理成本q质量成本q例如:人力成本参数=2万/人月,30人月规模的项目的直接成本是 60万直接成本估算简易估算直接成本估算简易估算:开发(工作量)规模:Scale(Dev) (单位:人月)管理
17、、质量(工作量)规模:Scale(Mgn)=a* Scale(Dev)a为比例系数:例如:20%-25%直接成本 Scale(Dev) a* Scale(Dev) 项目总估算成本项目总估算成本估算成本=直接成本+间接成本间接成本估算:1. 按照企业模型直接估算:2. 简易算法: 间接成本=直接成本*间接成本系数 间接成本= 规模*人力成本参数*间接成本系数 例如:间接成本系数=0.3项目总估算成本项目总估算成本q估算成本=直接成本+间接成本q估算成本=直接成本+直接成本*间接成本系数q估算成本=直接成本(1+间接成本系数)q估算成本=规模*人力成本参数(1+间接成本系数)q成本系数=人力成本参
18、数* (1+间接成本系数)q简易算法:q估算成本=规模*成本系数q例如:成本系数= 3万/人月项目总报价项目总报价1.1. 项目总报价项目总报价= =项目总估算成本项目总估算成本+ +风险利润风险利润1. 项目利润=估算成本*a%2. 风险基金=估算成本*b%3. 税=估算成本*c% (例如:c为5.5左右)2.2. 项目总报价项目总报价=(a+b+c) %*项目总估算成本项目总估算成本+ +项目总估算成本项目总估算成本估算准确度估算准确度类型准确度说明量级估算:合同前Order of magnitude-25+75%概念和启动阶段决策预算估算:合同期Budget-10+25%编制初步计划确定
19、性估算:WBS后Definitive-5+10%工作分解后的详细计划估算不准确的主要原因估算不准确的主要原因v基础数据不足。v估算对需求是非常敏感的。v软件项目存在很多不确定因素。v缺乏经验的估算人员。v签约前后不连贯和低劣的推测技术也是不准的原因。避免低劣估算避免低劣估算1.避免无准备的估算2.留出估算的时间,并做好计划3.使用以前的项目数据4.使用开发人员提供的数据为基础估算5.分类法估算6.详细的较低层次上的估算7.使用软件估算工具8.使用几种不同估算技术,并比较它们的结果估算的表达方式技巧估算的表达方式技巧1. 加减限定1. 6个人月,+3人月,-1人月2. 范围5-9人月估算的表达方
20、式技巧估算的表达方式技巧3.风险量化: 见下例估算:6个人月,+3,-2+1人月:延迟交付转换子系统-1人月:新成员的工作效率高+1人月:采用的新工具没有预计的好-1人月:采用的新工具比预计的好+0.5人月:员工病事假+0.5人月:低估规模估算的表达方式技巧估算的表达方式技巧v 4.情况: 见下:案例估算的例子情况情况估算估算最佳情况100人月计划情况110人月最差情况150人月软件工程中的真相与假象软件工程中的真相与假象 真相真相8:造成软件项目失控最普遍的两个原因之一就是软件造成软件项目失控最普遍的两个原因之一就是软件估算不足估算不足(另外的原因是另外的原因是需求不稳定). 真相真相9:往
21、往在错误的时间往往在错误的时间,甚至在没有定义需求也即没有理甚至在没有定义需求也即没有理解问题之前解问题之前,就进行软件估算就进行软件估算. 真相真相10:往往由错误的人员往往由错误的人员,即不是由软件开发人员或者项即不是由软件开发人员或者项目经理目经理,而是由高层管理或者市场营销而是由高层管理或者市场营销,进行软件估算进行软件估算. 真相真相11:由错误的人员、在错误的时间做出的软件估算不由错误的人员、在错误的时间做出的软件估算不但往往是错误的但往往是错误的,也很少随着项目的进行做必要的调整也很少随着项目的进行做必要的调整. 软件工程中的真相与假象软件工程中的真相与假象 真相真相12:虽然软件估算会发生如此错误虽然软件估算会发生如此错误,但是但是人们不去关心产生错误的原因人们不去关心产生错误的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年人教版七年级英语上册 Unit 3 My School 单元能力综合试题
- 莆田六年级区考试卷子及答案
- 兰州单招考试试题及答案
- 光伏板清洗安全培训课件
- 慢性非传染性疾病基本概念与其流行态势
- 光伏分布式培训
- 2024人教版八年级地理上册第五章《建设美丽中国》每课时同步高效导学案汇编(含两个导学案)
- 2024-2025学年人教版八年级物理上册同步讲义:第四章《光现象》单元练习(学生版+解析版)
- 《屈原列传》:概括文意-文言文简答题(讲义)原卷版
- 企财险基础培训课件
- 2025年及未来5年中国高功率连续光纤激光器行业发展监测及发展趋势预测报告
- 2025年常见非标机械设计师面试题及答案
- 员工冬季出行安全
- 单侧双通道脊柱内镜技术
- GB/T 14748-2025儿童呵护用品安全儿童推车
- 《粤港澳大湾区城际铁路建设工程资料管理规范》
- 期末复习知识清单 2024-2025学年统编版语文六年级上册
- 2025年中国碳氢清洗剂市场调查研究报告
- 2023年马原期末复习知识点总结超详细版
- 海水墙面防水施工方案设计
- 退化森林修复技术-洞察与解读
评论
0/150
提交评论