已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章软件项目规模成本估算 信管教研室李姗2011年9月 信息管理教研室 李姗办公室 A4201Email LiShan PhoneNo 028 82878195 2 成都东软学院信管教研室李姗 学习目标和能力要求 了解估算的概念 包括项目规模与成本的关系 成本估算的定义 了解估算的过程 包括估算输入 估算处理 估算输出三个部分 了解估算的方法 了解和掌握估算的误差度 包括估算的准确度 估算不准的主要原因以及对付估算误差的方法 3 成都东软学院信管教研室李姗 规模成本估算在项目开发路线图的位置 4 成都东软学院信管教研室李姗 关于估算的概念 估算不是很准确的 是有误差的 经验 历史 数据非常重要 不要太迷信数学模型 无论是成本 进度还是预算 都可以采用渐进的方式逐步完善 软件项目规模及其单位 软件项目规模即工作量 是从软件项目范围中抽出的软件功能 然后确定每个软件功能所必须执行的一系列软件工程任务 包括 软件规划 软件管理 需求 设计 编码 测试 以及后期的维护等任务 LOC LinesofCode 源代码程序长度的测量 FP FunctionPoints 用系统的功能数量来测量 人月 人天 人年 6 成都东软学院信管教研室李姗 软件项目成本及其单位 软件项目成本指完成软件规模相应付出的代价 资金成本 待开发的软件项目需要的资金 人力成本 人的劳动的消耗所需要的代价是软件产品的主要成本 开发成本 是以一次性开发过程所花费的代价来计算的 货币单位人民币元美元 7 成都东软学院信管教研室李姗 软件规模和成本的关系 规模是成本的主要因素 是成本估算的基础 有了规模就能够确定成本 例如 一个软件项目的规模是20人月 而企业的人力成本是3万元 人月 则项目的成本是60万元 8 成都东软学院信管教研室李姗 成本估算定义 成本估算是指对完成项目所需费用的估计和计划 是预测开发一个软件系统所需要的总工作量的过程 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 成本估算贯穿于软件的生存周期 9 成都东软学院信管教研室李姗 成本估算的时间点 什么时候开始成本估算 当决定竞标的时候 开发WBS 当中途接管一个项目的时候 当项目进行到下一个阶段的时候 项目范围变更的时候 成本估算贯穿于软件的生存期 10 成都东软学院信管教研室李姗 规模成本估算的目标 建立软件项目的一个预算 提供控制软件项目的方法 按照预算监控项目的过程 11 成都东软学院信管教研室李姗 成本估算的意义 在项目取得前对项目的成本进行评估 在取得项目后 进行开发项目时 为跟踪和管理项目提供一个参考 没有很好的成本估算基础可能导致成本失控 最终可以导致项目的失控和失败 但是 由于影响软件成本的因素太多 例如人 技术 环境 政治等 软件估算仍然是很不成熟的技术 一些方法只能作为借鉴 更多的时候需要经验 12 成都东软学院信管教研室李姗 成本估算过程 13 成都东软学院信管教研室李姗 成本估算输入 估算的输入一般包括以下内容 项目需求 WBS资源要求 资源编制计划 资源消耗率 即资源单价 如人员成本 100元 小时进度规划 项目总进度 一般是合同要求 历史项目数据 以往项目的数据 可作为项目估算的主要参考 学习曲线 指项目组学习某项技术或者工作的时间 当重复做某项工作时 可以缩短工作时间 提高工作效率 14 成都东软学院信管教研室李姗 估算成本分类 直接成本 与具体项目相关的成本 例如人员的工资 材料费 外包外购成本等 包括开发成本 管理成本 质量成本等 间接成本 不能具体到某个项目中的成本 可以分摊到各个具体项目中的成本 例如 培训房租水电员工福利市场费用管理费其他等等 15 成都东软学院信管教研室李姗 成本估算输出 估算文件包括资源 资源的数量 质量标准 估算成本等信息单位 一般是货币单位BAC BudgetAtcompletion 预决算 相关文件估算的基础和依据估算的假设估算的误差变动等 16 成都东软学院信管教研室李姗 成本估算的方法 估算的基本单位介绍代码行 LOC LinesOfCode 功能点 FP FunctionPoint 对象点 17 成都东软学院信管教研室李姗 代码行 LOC LinesOfCode 从软件程序量的角度定义项目规模 使用LOC做规模单位的要求 要求功能分解足够详细的 有一定的经验数据 类比和经验方法 与具体的编程语言有关 应掌握相关的比例数据 例如生产率LOC PM 人月 LOC HOUR 人小时 等 18 成都东软学院信管教研室李姗 功能点 FP FunctionPoint 功能点 FP 是用系统的功能的数量来测量其规模 它以一个标准的单位来度量软件产品的功能 与实现产品所使用的语言和技术没有关系 使用功能点方法需要评估产品所需要的内部基本功能外部基本功能然后根据技术复杂度因子 权 对它们进行量化 产生规模的最终结果 19 成都东软学院信管教研室李姗 功能点的计算公式 FP UFC TCFUFC unadjustedfunctioncomponent 未调整功能点计数TCF technicalcomplexityfactor 技术复杂度因子 20 成都东软学院信管教研室李姗 UFC 未调整功能点计数 在计算UFC之前 要先计算五类功能组件的计数项 功能计数项 p92 外部输入 由用户提供的需求项 外部输出 满足用户需求的项 外部查询 要求回答的交互式输入项 外部文件 面向其他系统的项 内部文件 系统内部的逻辑主文件项 21 成都东软学院信管教研室李姗 功能计数项的复杂度等级 对应p94表4 6 22 成都东软学院信管教研室李姗 UFC的计算方法 每级组件的数量乘以所示的级数 得出定级的值 表中每一行的定级值相加得出每类组件的定级值之和 这些定级值之和再相加 得出全部组件的功能点值 成都东软学院信管教研室李姗 23 例 p95例题UFC的计算方法 24 成都东软学院信管教研室李姗 计算技术复杂度因子TCF 计算公式 TCF 0 65 0 01 sum Fi i 1 14其中 Fi为每个通用系统特性的影响程度 取值范围为 0 5 则TCF的取值范围为 0 65 1 35 25 成都东软学院信管教研室李姗 技术复杂度因子TCF的取值范围 假设所有技术复杂影响程度都是平均程度 即技术复杂度因子 3则TCF 0 65 0 01 14 3 1 07 TCF的计算方法 p95例1 28 成都东软学院信管教研室李姗 功能点FP的计算 p95例1 FP UFC TCF 301 1 07 322尽管功能点计算方法是结构化的 但权重的确定是主观的 因此这个方法也存在一定主观性 29 成都东软学院信管教研室李姗 功能点与代码行的转换 功能点可以在一定条件下转换成代码行 这是一个经验数值 30 成都东软学院信管教研室李姗 案例 某个软件项目中 一个软件需求的五类功能计数项如下表所示 1 试计算这个软件的功能点FP 假设技术复杂度都为平均的影响F 3 2 假设每功能点的单位成本是5000元 FP 试计算本项目的总成本 成都东软学院信管教研室李姗 31 五类功能计数项的复杂度权重 软件需求的功能计数项 解 TCF 0 65 0 01 sum Fi 假设所有技术复杂影响程度都是平均程度 即技术复杂度因子 3则TCF 0 65 0 01 14 3 1 07FP UFC TCF 313 1 07 335总成本 335 5000 1 675 000 成都东软学院信管教研室李姗 33 案例 某个软件项目中 一个软件需求的五类功能计数项如下表所示 1 试计算这个软件的功能点FP 假设技术复杂度都为平均的影响F 3 2 假设每功能点的单位成本是5000元 FP 试计算本项目的总成本 成都东软学院信管教研室李姗 34 五类功能计数项的复杂度权重 软件需求的功能计数项 解 TCF 0 65 0 01 sum Fi 假设所有技术复杂影响程度都是平均程度 即技术复杂度因子 3则TCF 0 65 0 01 14 3 1 07FP UFC TCF 231 1 07 247总成本 247 5000 1 235 000 成都东软学院信管教研室李姗 36 对象点 对象点是基于对象的软件产品规模估算 著名的Probe方法 WattsHumphrey采用这种方法估算产品规模 需要企业开发一个历史数据库 存储实现各种类型和复杂性的对象和方法所需要的代码行数 37 成都东软学院信管教研室李姗 C 对象规模表 38 成都东软学院信管教研室李姗 PROBE方法的估算步骤 基于产品需求构建体系结构和概要设计 对设计中的每个类 面向对象方法中的Class 的输入和交互 标识所设计的对象属于表中哪类方法并估算其复杂性 将上述标识的结果构造成一个如表形式的矩阵 然后将这个矩阵中的值与表中对应的值相乘 将上述所有相乘结果相加求和 产生估算结果 39 成都东软学院信管教研室李姗 例 现开发一软件产品 经过分析 所设计的对象所属的方法以及复杂度和数量情况如下表 请估算该软件产品开发项目的规模 成都东软学院信管教研室李姗 40 对象点的估算 成本估算的基本方法 类比 自顶向下 估算法自下而上估算法参数估算法专家估算法 42 成都东软学院信管教研室李姗 类比估算法 类比估算法是从项目的整体出发 进行类推 即估算人员根据以往的完成类似项目所消耗的总成本 或工作量 来推算将要开发的软件的总成本 或工作量 然后按比例将它分配到各个开发任务单元中 是一种自上而下的估算形式 也称为自顶向下 通常在项目的初期或信息不足的时候采用类比估算法 成都东软学院信管教研室李姗 43 类比估算法 类比估算要解决的主要问题是 如何描述实例特征 即如何从相关项目特征中抽取出最具代表性的特征 通过选取合适的相似度 相异度的表达式 评价相似程度 如何用相似的项目数据得到最终估算值 成都东软学院信管教研室李姗 44 类比估算法 对于度量相似度 目前的研究中有不同形式的相似度函数来进行度量 这些不同形式的相似度函数 从本质上是一致的 成都东软学院信管教研室李姗 45 类比估算法 例 一个待估算的项目工作量P 与已经完成的项目p1 p2有一定程度的相似度 比较它们的相似点如表所示 项目间的相似度计算方法见P97 成都东软学院信管教研室李姗 46 自下而上估算法 自下而上估算法是利用任务分解结构图 对各个具体工作包进行详细的成本估算 然后将结果累加起来得出项目总成本 通常在项目开始以后 或者WBS已经确定的项目 需要进行准确估算的时候采用自下而上估算法 例 P97表4 13 成都东软学院信管教研室李姗 47 参数估算法 定义 一种使用项目特性参数建立数据模型来估算成本的方法 是一种统计技术 如可采用回归分析和学习曲线 模型可以简单也可以复杂 很少有通用性 48 成都东软学院信管教研室李姗 参数估算法说明 参考历史信息 重要参数必须量化处理 根据实际情况 对参数模型按适当比例调整 比较简单 而且也比较准确 如果模型选择不当或者数据不准 也会导致偏差 49 成都东软学院信管教研室李姗 参数估算法的单位 每个任务必须至少有一个统一的规模单位 例如 LOC FP人天 人月 人年参数 xx元 LOC xx元 FP xx元 人天 50 成都东软学院信管教研室李姗 参量成本估算实例 适合单价合同 51 成都东软学院信管教研室李姗 参数估算法的基本思想 找到软件工作量的各种成本影响因子 并判定它对工作量所产生影响的程度是可加的 乘数的还是指数的 以期得到最佳的模型算法表达形式 成都东软学院信管教研室李姗 52 成本模型 分为 理论导出型 不成熟 很少使用 经验导出型 通过大量经验数据分析导出 目前所指的成本模型 都是指经验导出型 例如通过过去项目数据进行回归分析得出的回归模型 53 成都东软学院信管教研室李姗 基于回归分析的模型可以分为两类 静态单变量模型动态多变量模型 成都东软学院信管教研室李姗 54 成本模型计算公式 静态单变量模型整体公式 E A B SCE 以人月表示的工作量A B C 经验导出的常数S 主要的输入参数 通常是LOC FP等 55 成都东软学院信管教研室李姗 面向LOC驱动的估算模型 传统开发 Walston Felix IBM 模型E 5 2 KLOC 0 91Balley Basili模型E 5 5 0 73 KLOC 1 16COCOMO模型E 3 2 KLOC 1 05Doty模型E 5 288 KLOC 1 047注 KLOC是已交付的代码行 56 成都东软学院信管教研室李姗 面向FP驱动的模型 AlbrechtandGaffney模型E 12 39 0 0545FPKemerer模型E 60 62 7 728 10 8FP 3Matson Barnett模型E 585 7 15 12FP 57 成都东软学院信管教研室李姗 动态多变量模型 成都东软学院信管教研室李姗 58 其中 E是以人月或人年为单位的工作量 t是以月或年为单位的项目持续时间 B是特殊技术因子 它随着对测试 质量保证 文档及管理技术的需求的增加而缓慢增加 对于较小的程序 KLOC 5 15 B 0 16 对于超过70KLOC的程序 B 0 39 P是生产率参数 开发实时嵌入式软件时 P的典型值为2000 开发电信系统和系统软件时 P 10000 对于商业应用系统来说 P 28000 结构化成本模型 COCOMO 结构化成本模型 COCOMO ConstructiveCostMode 可用性高 没有版权问题 59 成都东软学院信管教研室李姗 COCOMO81模型 COCOMO81模型有三个等级的模型 基本模型 在项目相关信息极少的情况下使用中等模型 在需求确定后使用高级或者详细模型 在设计完成后使用 Effort为工作量 表示为人月 a和b为系数 具体值取决于建模等级 基本 中等或详细 以及项目的模式 有机型 半嵌入型或嵌入型 F为调整因子 在基本COCOMO81模型中 F 1 后两个模型中 F为15个成本因子对应的工作量乘数的乘积 成都东软学院信管教研室李姗 60 基本COCOMO81模型 其中 E是所需的人力 人月 KLOC是交付的代码行 a b是依赖于项目自然属性的参数 61 成都东软学院信管教研室李姗 COCOMO模型的系数值 62 成都东软学院信管教研室李姗 计算 要开发一个估计规模为30KLOC的银行系统应用程序项目 其功能以数据处理为主 属于有机型软件模式 根据专家意见和项目数据校准 系数a 2 4 b 1 05 调整因子为F 1 则Effort 2 4 30 1 05 85 3 人月 成都东软学院信管教研室李姗 63 中等COCOMO81模型 其中 E是所需的人力 人月 KLOC是交付的代码行 a b是系数 F是根据成本驱动属性打分的结果 对公式的校正系数a b F的取值见P100 64 成都东软学院信管教研室李姗 计算 要开发一个估计规模为30KLOC的银行系统应用程序项目 其功能以数据处理为主 属于有机型软件模式 随着项目进展 可以确定其15个成本因子的情况 除了RELY TURN SCED因子的取值见表外 其余因子取值均为1 00 系数a 3 2 b 1 05 成都东软学院信管教研室李姗 65 则该项目的工作量估算为 成都东软学院信管教研室李姗 66 高级COCOMO81模型 将项目分解为一系列的子系统或者子模型 在一组子模型的基础上更加精确地调整一个模型的属性 67 成都东软学院信管教研室李姗 估算法综述 实用软件估算法 是一种自下而上和参数法的结合模型 步骤如下 任务分解 WBS 估算每个任务i的最大值Max 最小值Min 最可能值Avg Qi Max 4Avg Min 6 或者使用唯一的估计值 最可能值 直接成本 E1 E2 Ei En项目总估算成本 直接成本 间接成本项目总报价 项目总估算成本 风险利润 风险利润 利润 风险基金 税 68 成都东软学院信管教研室李姗 估算的误差度 项目估算在不同阶段 会出现不同的误差 误差的大小因项目不同 项目阶段的不同而有所不同 69 成都东软学院信管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人土地建房协议书
- 盐城市装修合同范本
- 社区绿化修剪协议书
- 护士首次注册健康体检表
- 督察工作交流协议书
- 社区人居环境协议书
- 皮鞋售后协议书范本
- 第三方保证金协议书
- 砂石料生产合同范本
- 艺术考察基地协议书
- 2025春季学期国家开放大学专科《建筑制图基础》一平台在线形考(形考性考核作业一至四)试题及答案
- 租女友过年协议书
- (高清版)DG∕TJ 08-202-2020 钻孔灌注桩施工标准
- 学校“1530”安全教育记录表(2024年秋季全学期)
- 政采云合同模板
- 2025年春季学期学校团委工作计划(附团委工作安排表)
- 水生态修复施工组织设计方案
- 新概念第一册Lesson63-64
- 临床教学方法
- 边坡支护安全
- 档案馆数字档案馆建设方案
评论
0/150
提交评论