第六章软件项目规模成本估算PPT课件.ppt_第1页
第六章软件项目规模成本估算PPT课件.ppt_第2页
第六章软件项目规模成本估算PPT课件.ppt_第3页
第六章软件项目规模成本估算PPT课件.ppt_第4页
第六章软件项目规模成本估算PPT课件.ppt_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编辑 0 软件开发项目管理 第六章软件项目规模成本估算 可编辑 1 本章要点 一 软件项目规模成本的概念二 估算的过程三 估算的方法四 成本预算五 项目核心 进度 计划 续六 案例分析 可编辑 2 成本管理过程 资源计划编制 确定项目需要的资源种类和数量成本估算 中心环节编制一个为完成项目各活动所需要的资源成本的近似估算成本预算 项目进度将总成本估算分配到各单项工作活动上成本控制 项目跟踪控制项目预算的变更 资源和资源平衡 资源的种类劳动力 Labour 设备 Equipment 原材料 Material 其他 Other 指不符合上述分类的资源 例如分包合同 租约等 资源平衡技术可储备资源与不可储备资源平衡资源稀缺的资源 chapter 6 3 资源平衡的基本过程 建立网络 将资源分配给各项活动 首先按尽快原则安排活动 含有最迟原则或固定日期的活动除外 建立资源需求直方图 决定资源上限 可使用最大量 找出资源冲突 也就是说 指出何时需要量超过可使用量 微软Project软件和其他项目管理出版物将这种情况称作资源过度配置 ResourceOverallocation 重新安排有松闲时间 浮动时间 的活动以减少资源冲突的数量 如果有可能 可在它们的松闲时间限度内重新安排这些活动 以避免更改项目的终止日期 chapter 6 4 A 2天B 5天C 3天 资源平衡示例 项目网络图中标出了活动A B C及其历时 活动A有3天时差 活动C有2天时差 假设活动A需要2个员工 活动B需要4个员工 活动C需要2个员工 1 3 4 2 如果所有活动同一天开始的资源使用 如果活动C延迟2天开始的资源使用 chapter 6 5 资源平衡的其他过程 增员或延长加班时间以增加资源 延长项目工期 这将增强所有活动的浮动时间 Float 以增加重新进行进度安排的选择 削减活动以减少资源需求 改变网络的逻辑 例如 活动的顺序 限制项目范围 将大项目细分 chapter 6 6 可编辑 7 关于估算 估算不是很准确的 有误差的经验 历史 数据非常重要不要太迷信数学模型 可编辑 8 软件项目规模 软件项目规模即工作量 是从软件项目范围中抽出的软件功能 然后确定每个软件功能所必须执行的一系列软件工程任务包括 软件规划 软件管理 需求 设计 编码 测试 以及后期的维护等任务 可编辑 9 规模的单位 LOC LineofCode 源代码程序长度的测量FP FunctionPoint 用系统的功能数量来测量人月人天人年 可编辑 10 软件项目成本 完成软件规模相应付出的代价 待开发的软件项目需要的资金 人的劳动的消耗所需要的代价是软件产品的主要成本开发成本是以一次性开发过程所花费的代价来计算的 可编辑 11 成本的单位 货币单位人民币元美元 可编辑 12 软件的规模和成本的关系 规模是成本的主要因素 是成本估算的基础有了规模就确定了成本 可编辑 13 成本估算定义 对完成项目所需费用的估计和计划包括预测开发一个软件系统所需要的总工作量的过程 是一种量化的结果可以有一些误差成本估算不同于项目定价贯穿于软件的生存周期 可编辑 14 本章要点 一 软件项目规模成本的概念二 估算的过程三 估算的方法四 成本预算五 项目核心 进度 计划 续六 案例分析 可编辑 15 成本估算过程 估算输入 估算结果 成本估算方法 可编辑 16 成本估算输入 项目需求 WBS历史项目度量资源要求 资源编制计划 资源消耗率 如人员成本 100元 小时进度规划 项目总进度 一般是合同要求 学习曲线 可编辑 17 成本估算 直接成本间接成本 可编辑 18 直接成本 与具体项目相关的成本 可编辑 19 间接成本 不能具体到某个项目中的成本 可以分摊到各个具体项目中的成本 例如 培训房租水电员工福利市场费用管理费其他等等 可编辑 20 项目估算结果 估算文件包括资源 资源的数量 质量标准 估算成本等信息单位 一般是货币单位BAC BudgetAtcompletion 估算说明工作范围估算的基础和依据估算的假设估算的误差变动等 可编辑 21 本章要点 一 软件项目规模成本的概念二 估算的过程三 估算的方法四 成本预算五 项目核心 进度 计划 续六 案例分析 可编辑 22 估算的基本方法 代码行 功能点 对象点类比 自顶向下 估算法自下而上估算法参数法估算法专家估算法 可编辑 23 代码行 LOC 从软件程序量的角度定义项目规模 要求功能分解足够详细的有一定的经验数据 类比和经验方法 与具体的编程语言有关 代码行 LOC 可编辑 24 可编辑 25 代码行 LOC 优 缺点 优点代码是所有软件开发项目都有的 产品 而且很容易计算代码行数 缺点对代码行没有公认的可接受的标准定义代码行数量依赖于所用的编程语言和个人的编程风格 在项目早期 需求不稳定 设计不成熟 实现不确定的情况下很难准确地估算代码量 代码行强调编码的工作量 只是项目实现阶段的一部分 可编辑 某软件公司统计发现该公司每一万行C语言源代码形成的源文件 c和 h文件 约为250K 某项目的源文件大小为3 75M 则可估计该项目源代码大约为15万行 该项目累计投入工作量为240人月 每人月费用为10000元 包括人均工资 福利 办公费用公滩等 则该项目中1LOC的价值为 240 10000 150000 16元 L 代码行 LOC 举例 26 可编辑 27 功能点 FP 标准功能点 FunctionPoint 是一个被严格定义的概念 不会因为估算人员差异产生显著差别 10 用系统的功能数量来测量其规模与实现产品所使用的语言和技术没有关系的两个评估内部基本功能外部基本功能加权和量化 可编辑 28 功能点 FP 的分析方法 功能点 chapter 6 29 功能点计算由下列步骤组成 1 对每一项功能 通过计算4类系统外部行为或事务的数目 以及一类内部逻辑文件的数目来估算由一组需求所表达的功能点数目 这5类功能计数项分别是 外部输入 是指用户可以根据需要通过增 删 改来维护内部文件 只有那些对功能的影响方式与其他外部输入不同的输入才计算在内 外部输出 指那些向用户提供的用来生成面向应用的数据的项 只有单独算法或者特殊功能的输出才计算在内 外部查询 是指用户可以通过系统选择特定的数据并显示结果 为了获得这项结果 用户要输入选择信息抓取符合条件的数据 此时没有对数据的处理 是直接从所在的文件抓取信息 每个外部独立的查询计为1 外部文件 是在另一系统中驻留由其他用户进行维护 内部文件 指客户可以使用他们负责维护的数据 可编辑 30 3 在估算中对5类功能计数项中的每一类功能计数项按其复杂性的不同分为简单 低 一般 中 和复杂 高 3个级别 功能复杂性是由某一功能的数据分组和数据元素共同决定的 计算数据元素和无重复的数据分组个数后 将数值和复杂性矩阵对照 就可以确定该功能的复杂性属于高 中 低 下表是5类功能计数的复杂等级 产品中所有功能计数项加权的总和 就形成了该产品的未调整功能点计数 UFC 5类功能计数的复杂度权重 可编辑 31 4 这一步是要计算项目中14个技术复杂度因子 TCF 下表是14个技术复杂度因子 每个因子的取值范围是0 5 可编辑 32 5 最后根据功能点计算公式FP UFC TCF计算出调整后的功能点总和 其中 UFC表示未调整功能点计数 TCF表示技术复杂因子 功能点计算公式的含义是 如果对应用程序完全没有特殊的功能要求 即综合特征总值 0 那么功能点数应该比未调整的 原有的 点数降低35 这也就是 0 65 的含义 否则 除了降低35 之外 功能点数还应该比未调整的点数增加1 的综合特征总值 可编辑 33 可编辑 34 功能点与代码行的转换 可编辑 35 对象点 OP 对象点是基于对象的软件产品规模估算 著名的Probe方法WattsHumphrey 软件质量之父 CMM创始人 可编辑 36 对象规模表 C 可编辑 37 Probe方法的步骤 基于产品需求构建体系结构和概要设计对设计中的每个类 面向对象方法中的Class 的输入和交互 标识所设计的对象属于表中哪类方法并估算其复杂性将上述标识的结果构造成一个如表形式的矩阵 然后将这个矩阵中的值与表中对应的值相乘将上述所有相乘结果相加求和 产生估算结果 可编辑 38 对象点的估计 举例 5 8 6 5 13 5 16 15 8 8 53 6 206 03 可编辑 39 估算的基本方法 代码行 功能点 对象点类比 自顶向下 估算法自下而上估算法参数法估算法专家估算法 可编辑 40 类比 定义 从项目的整体出发 进行类推 即估算人员根据以往的完成类似项目所消耗的总成本 或工作量 来推算将要开发的软件的总成本 或工作量 然后按比例将它分配到各个开发任务单元中是一种自上而下的估算形式 可编辑 41 类比 使用情况 有类似的历史项目数据信息不足 要求不是非常精确 的时候在合同期和市场招标时在高层对任务的总的评估 可编辑 42 类比 特点 简单易行 花费少具有一定的局限性准确性差 可能导致项目出现困难 可编辑 43 类比 软件重用 将新项目与历史项目比较 估算出各功能的估计值 等价代码行 重新设计 重新编码 重新测试 3 已有代码行 可编辑 44 类比 举例 可编辑 45 类比 举例 证券交易网站需求类似历史数据 10万学习曲线 在一定时间内获得的技能或知识的速率 5 8万 可编辑 46 估算的基本方法 代码行 功能点 对象点类比 自顶向下 估算法自下而上估算法参数法估算法专家估算法 可编辑 47 自下而上 定义 利用任务分解结构图 对各个具体工作包进行详细的成本估算 然后将结果累加起来得出项目总成本 可编辑 48 自下而上 使用情况 在进入项目开始以后 WBS以后的开发阶段需要进行准确估算的时候 可编辑 49 自下而上 特点 这种方法准确 它的准确度来源于每个任务的估算情况 即每个任务的规模和复杂程度非常费时 估算本身也需要成本支持可能发生虚报现象 可编辑 50 估算的基本方法 代码行 功能点 对象点类比 自顶向下 估算法自下而上估算法参数法估算法专家估算法 可编辑 51 参数估算法 定义 一种使用项目特性参数建立数据模型来估算成本的方法 是一种统计技术 如回归分析和学习曲线 参考历史信息根据实际情况 对参数模型按适当比例调整模型可以简单也可以复杂 很少有通用性 可编辑 52 参数估算法 使用情况 存在成熟的项目估算模型应该具有良好的数据库数据为基础目前软件企业估算很少使用通用的数学模型 可编辑 53 参数估算法 估算单位 每个任务必须至少有一个统一的规模单位 例如KLOC FP人天 人月 人年参数 xx元 KLOC xx元 FP xx元 人天 可编辑 54 参数估算法 特点 比较简单 而且也比较准确如果模型选择不当或者数据不准 也会导致偏差 可编辑 55 参量成本估算实例 适合单价合同 可编辑 56 软件成本估算模型 理论导出 不成熟阶段经验导出 软件估算常常采用 可编辑 57 经验导出成本模型 提供工作量 规模 的直接估计通过过去项目数据 进行回归分析 得出的回归模型依据不同的细化程度 通过参数的输入来进行成本估算 通常 输入包括产品的预计规模产品的自然属性组织能力项目性质 可编辑 58 经验导出成本模型 整体公式 E A B S CE 以人月表示的工作量A B C 经验导出的常数S 主要的输入参数 通常是LOC FP等 可编辑 59 经验导出成本模型 续 面向LOC驱动的Walston Felix IBM E 5 2 KLOC 0 91Balley BasiliE 5 5 0 73 KLOC 1 16 COCOMOE 3 2 KLOC 1 05DotyE 5 288 KLOC 1 047 估算 经验模型 IBM模型 1977年 IBM的Walston和Felix提出 估算公式 E 5 2 L0 91L是源代码行数 以KLOC计 E是工作量 以PM计 D 4 1 L0 36 D是项目持续时间 以月计 S 0 54 E0 6 S是人员需要量 以人计 DOC 49 L1 01DOC是文档数量 以页计 在此模型中 一般指一条机器指令为一行源代码 一个软件的源代码行数不包括程序注释 作业命令 调试程序在内 对于非机器指令编写的源程序 如汇编语言或高级语言程序 应转换成机器指令源代码行数来考虑 chapter 6 60 可编辑 61 经验导出成本模型 续 面向FP驱动的AlbrechtandGaffneyE 12 39 0 0545FPKemererE 60 62 7 728 10 8FP 3Matson BarnettE 585 7 15 12FP 可编辑 62 COCOMO ConstructiveCostmodel 由BarryBoehm开发的详见 www usc edu 南加州大学网站 基本COCOMO 静态单变量模型 它用一个以已估算出来的源代码行数 LOC 为自变量的函数来计算软件开发工作量 中等COCOMO 在用LOC为自变量的函数计算软件开发工作量的基础上 再用涉及产品 硬件 人员 项目等方面属性的影响因素来调整工作量的估算 高级COCOMO 包括中级COCOMO模型的所有特性 但用上述各种影响因素调整工作量估算时 还要考虑对项目过程中分析 设计等各步骤的影响 可编辑 COCOMO模型模型的核心是方程ED rSc和TD a ED b其中 ED为总的开发工作量 到交付为止 单位为人月 S为源指令数 不包括注释 但包括数据说明 公式或类似的语句 常数r和c为校正因子 S的单位为103 ED的单位为人月 TD为开发时间 经验常数r c a和b取决于项目的总体类型 结构型 半独立型或嵌入型 63 可编辑 项目总体类型 64 可编辑 工作量和进度的基本COCOMO方程 65 可编辑 影响经验常数r值的15个成本因素 66 可编辑 67 COCOMO举例 一个33 3KLOC的软件开发项目 属于中等规模 半独立型的项目 采用基本COCOMO a 3 0 b 1 12 E 3 0 L 1 12 3 0 33 3 1 12 152PM 可编辑 68 估算的基本方法 代码行 功能点 对象点类比 自顶向下 估算法自下而上估算法参数法估算法专家估算法 可编辑 69 专家估算法 由多位专家进行成本估算 一个专家可能会有偏见 最好由多位专家进行估算 取得多个估算值 最后得出综合的估算值 可编辑 70 专家估算法 Deiphi 组织者发给每位专家一份软件系统的规格说明和一张记录估算值的表格 请他们估算专家详细研究软件规格说明后 对该软件提出3个规模的估算值最小ai最可能的mi最大bi组织者对专家的表格中的答复进行整理计算每位专家的Ei ai 4mi bi 6 可编辑 71 专家估算法 Deiphi 续 综合结果后 E E1 E2 En n N 表示N个专家 再组织专家无记名填表格 比较估算差 并查找原因如果各个专家的估算差异超出规定的范围 例如 15 则需重复上述过程 最终可以获得一个多数专家共识的软件规模 可编辑 72 专家估算法 举例 某多媒体信息查询系统 专家估算专家1 1 8 9 1 9 4 8 6 7 万元 专家2 4 6 8 4 8 4 6 6 6 万元 估算结果 6 7 2 6 5 万元 可编辑 73 估算方法总结 初期类比专家估算计划阶段自下而上参数模型实施阶段 包括变更发生 自下而上参数模型 可编辑 74 成本估算方法综述 主要考虑三种模型 类比法 自下而上法 参数法 自下而上法费时费力 参数法比较简单自下向上法与参数法的估计精度相似各种方法不是孤立的 应该注意相互的结合使用类比法通常用来验证参数法和自下而上法的结果 几种方法的比较 可编辑 75 可编辑 76 实用软件估算模型 是一种自下而上和参数法的结合模型 步骤如下 对任务进行分解估算每个任务的成本Ei直接成本 E1 E2 Ei En项目总估算成本 直接成本 间接成本项目总报价 项目总估算成本 风险利润风险利润 利润 风险基金 税 可编辑 77 估算每个任务的成本 直接估算成本Ei先估算规模Qi 然后估算成本Ei Qi 人力成本参数唯一估计值 Qi AvgPERT算法 Qi Max 4Avg Min 6 退出 可编辑 78 直接成本估算 直接成本组成开发成本管理成本质量成本直接成本 规模 人力成本参数简易估算 开发 工作量 规模 Scale Dev 单位 人月 管理 质量 工作量 规模 Scale Mgn a Scale Dev a 比例系数 例如 20 25 可编辑 79 直接成本估算 直接成本 规模 人力成本参数例如 人力成本参数 2万 人月 30人月的项目的直接成本是60万 退出 可编辑 80 项目总估算成本 估算成本 直接成本 间接成本间接成本估算 按照企业模型直接估算 简易算法 间接成本 直接成本 间接成本系数间接成本 规模 人力成本参数 间接成本系数例如 间接成本系数 1 5 3 可编辑 81 项目总估算成本 估算成本 直接成本 间接成本估算成本 规模 人力成本参数 1 间接成本系数 成本系数 人力成本参数 1 间接成本系数 简易算法 估算成本 规模 成本系数例如 成本系数 3万 人月 退出 项目总报价 项目总报价 项目总估算成本 风险利润项目利润 估算成本 a 风险基金 估算成本 b 税 估算成本 c 例如 c为5 5左右 项目总报价 a b c 项目总估算成本 项目总估算成本 可编辑 82 可编辑 83 总估算成本 BAC 费用 BAC 时间 可编辑 84 本章要点 一 软件项目规模成本的概念二 估算的过程三 估算的方法四 成本预算五 项目核心 进度 计划 续六 案例分析 可编辑 85 成本预算 成本预算是将项目的总成本按照项目的进度分摊到各个工作单元中去 成本预算将总的成本安排到各个任务中成本预算的目的是产生成本基线成本估算的输出结果是成本预算的基础与依据 成本预算则是将已批准的估算进行分摊 可编辑 86 项目成本预算 分配项目成本预算包括三种情况 分配资源成本给任务分配固定资源成本给任务分配固定成本 可编辑 87 分配资源成本 资源成本与资源的基本费率紧密相连设置资源费率标准费率加班费率每次使用费率 可编辑 88 分配固定资源成本 当一个项目的资源需要固定数量的资金时 用户可以向任务分配固定资源成本 例如 需要的硬件设备 可编辑 89 分配固定成本 有些任务是固定成本的类型的任务 也就是说 用户知道某项任务的成本不变 不管任务的工期有多长 或不管任务使用了那些资源 在这种情况下 用户向任务直接分配成本 例如 培训任务 可编辑 90 成本基线 可编辑 91 估算准确度 可编辑 92 估算不准的原因 基础数据不足缺乏经验的估算人员签约前后不连贯低劣的推测技术估算对需求的敏感性 可编辑 93 避免低劣估算 避免无准备的估算留出估算的时间 并做好计划使用以前的项目数据使用开发人员提供的数据为基础估算分类法估算较低层次上的估算要详细使用软件估算工具使用几种不同估算技术 并比较它们的结果 可编辑 94 估算的表达方式技巧 加减限定6个人月 3人月 1人月范围5 9人月 可编辑 95 估算的表达方式技巧 3 风险量化 见下例 可编辑 96 估算的表达方式技巧 4 情况 见下 案例估算的例子 可编辑 97 软件工程中的真相与假象 真相1 造成软件项目失控最普遍的两个原因之一就是软件估算不足 另外的原因是需求不稳定 真相2 往往在错误的时间 甚至在没有定义需求也即没有理解问题之前 就进行软件估算 真相3 往往由错误的人员 即不是由软件开发人员或者项目经理 而是由高层管理或者市场营销 进行软件估算 真相4 由错误的人员 在错误的时间做出的软件估算不但往往是错误的 也很少随着项目的进行做必要的调整 可编辑 98 软件工程中的真相与假象 真相5 虽然软件估算会发生如此错误 但是人们不去关心产生错误的原因 却还在努力按照错误估算的时间进度执行 真相6 管理人员和技术人员对软件估算的认识是完全隔绝的 因此也难以达到一致的目标 真相7 很少有真正的可行性研究 假象 要估算软件项目开发时间和开发成本 必须首先估算软件项目的代码行数 可编辑 99 本章要点 一 软件项目规模成本的概念二 估算的过程三 估算的方法四 成本预算五 项目核心 进度 计划 续六 案例分析 可编辑 100 编制项目核心 进度 计划步骤 进度编制资源调整成本预算计划优化调整计划基线 可编辑 101 成本预算 结合进度重新调整项目成本预算 资源成本固定资源成本固定成本 可编辑 102 编制项目核心 进度 计划步骤 进度编制资源调整成本预算计划优化调整计划基线 可编辑 103 计划优化调整 调整资源 解决资源冲突调整进度 优化项目 缩短工期调整项目成本预算 以便减少项目费用 可编辑 104 调整资源 解决资源冲突 资源冲突 过度分配 主要有两种表现 1 分配给一个资源的工时总量大于它的最大可用工时量 2 同一种资源被分配给时间上重叠的几个任务或项目中 可编辑 105 解决资源冲突的方法 资源调配推迟资源开始工作时间替换资源设置资源加班时间调整资源日历只使用资源的一部分工作时间 可编辑 106 优化进度 缩短工期 项目中各任务的执行时间是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论