CHAP6 软件项目成本计划

在这里插入图片描述

软件项目成本计划

估算过程概念

软件项目规模

  • 软件项目规模即工作量
  • 例如:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。

软件规模单位

  • LOC(Loc of Code)

    • 源代码长度的测量
  • FP(Function Point)

    • 用系统的功能数量来测量
  • 人月

  • 人天

  • 人年

软件项目成本

  • 完成软件规模相应付出的代价
  • 待开发的软件项目需要的资金
  • 人的劳动的消耗所需要的代价是软件产品的主要成本
  • 货币单位

成本估算结果

  • 直接成本

    • 是软件产品的主要成本

    • 例如

      • 参与项目的人员成本
  • 间接成本

    • 可以分摊到各个具体项目中的成本

    • 例如

      • 培训
      • 房租水电
      • 员工福利
      • 市场费用
      • 管理费
      • 其他

传统估算方法

代码行估算法

  • 优点

    • 任何软件项目都有的“产品”
    • 很容易计算代码行数
  • 缺点

    • 没有公认接受的标准定义
    • 代码行数量不同语言不同人差异大
    • 项目早期不确定性大,难以准确估算代码量
    • 代码行只强调编码的工作量,只是项目实现阶段的一部分

功能点估算法

  • 概念

    • 最早由Albrecht提出,称为Albercht功能点
    • 也称为IFPUG(国际功能点用户组织)功能点
    • 适用于信息系统
  • 实际内容

    • 与实现的语言和技术没有关系
    • 用系统的功能数量来测量其规模
    • 通过评估、加权、量化得出功能点
  • 公式

    • FP =UFC*TCF

    • UFC :未调整功能点计数

      • 外部输入External Inputs: EI
      • 外部输出External Outputs EO
      • 外部查询External Inquiry EQ
      • 外部接口文件External Interface Files EIF’s
      • 内部逻辑文件Internal Logical Files: ILF’S
    • TCF :技术复杂度因子

  • 其他方法

    • Mark II 功能点
      主要应用在英国
    • COSMIC-FFP 功能点
      适用实时系统或者嵌入式系统

用例点估算法

  • 步骤

    • 计算 未调整的角色权值 UAW

      • UAW = 求和(权值*角色数)
    • 计算未调整的用例权值 UUCW

      • UUCW = 求和(权值*用例数)
    • 计算未调整的用例点 UUCP

      • UUCP =UAW+UUCW
    • 计算技术和环境因子 TEF

      • 技术因子TCF
      • 环境因子ECF
    • 计算调整的用例点 UCP

      • UCP = UUCP * TCF * ECF
    • 计算工作量 (man hours)

      • Effort = UCP * PF

类比(自顶向下)估算法

  • 根据以往类似项目的成本估计

  • 使用情况

    • 有类似的历史项目数据
    • 信息不足(例如市场招标)的时候
    • 要求不是非常精确估算的时候
  • 方法

    • 理论举例

      • 两个项目间的相似度计算
    • 主观判断举例

      • 两者之间有大体相似的需求

自下而上估算法

  • 利用WPS(见上一章)对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本

  • 特点

    • 比较精确(准确度来自每个任务的估算)
    • 花费时间

三点估算法

  • 基于任务成本的三种估算值来计算预期成本的方法

  • 估算值

    • 最可能成本:比较现实的估算成本
    • 最乐观成本:最好情况所得到的估算成本
    • 最悲观成本:最差情况所得到的估算成本
  • 估算结果

    • 三角分布
    • β分布

参数估算法

  • 定义

    • 通过项目数据,进行回归分析,得出回归模型
    • 通过参数模型估算(规模)成本的方法。
  • 整体公式

    • E: 以人月表示的工作量
      a,b,c 经验导出的系数
      M: 调节因子
      S: 主要的输入参数 通常是 LOC,FP 等
  • Walston-Felix 模型

    • KLOC 是源代码行数, E 是工作量 (以 PM 计)
    • D 是项目持续时间(以月计)
    • S 是人员需要量(以人计)
    • DOC 是文档数量(以页计)
  • COCOMO模型

    • 介绍

      • 结构化成本模型 Constructive Cost model
      • 是目前应用最广泛的参数型软件成本估计模型
      • 由 Barry Boehm 团队开发的
    • 基本原理

      • A:可以校准的常量
      • S:KLOC 软件规模
      • E:为规模的指数,说明不同规模软件具有的相对规模经济和不经济性
      • EM 为工作量乘数,反映某个项目特征对完成项目开发所需工作量的影响程度
      • n:为描述软件项目特征的成本驱动因子的个数
    • 版本

      • COCOMO 81

        • 模型级别

          • 基本 COCOMO
          • 中等 COCOMO
          • 高级 COCOMO
        • 项目类型

          • 有机 : Organic

            • 各类应用程序,例如数据处理、科学计算 等
            • 受硬件的约束比较小,程序的规模不是很大
          • 嵌入式 : Embedded

            • 系统程序 ,例如实时处理、控制程序等
            • 紧密联系的硬件、软件和操作的限制条件下运行,软件规模任意
          • 半嵌入 : Semidetached

            • 各类实用程序,介于上述两种软件之间, 例如 编译器(程序)
            • 规模和复杂度都属于中等或者更高
      • COCOMO II

        • 组成

          • 规划阶段
          • 设计阶段
          • 开发阶段
        • 比较复杂,讲不清楚,考虑单开一章

专家估算法

  • Deiphi方法

    • 组织者确定专家,这些专家互相不见面

    • 组织者发给每位专家一份软件规格说明

    • 专家以无记名对该软件给出 3 个规模的估算值

      • 最小 ai
      • 最可能的 mi
      • 最大 bi
    • 组织者计算每位专家的

    • 最终可以获得一个多数专家共识的软件规模:
      n表示n个专家

    • 如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程

敏捷估算方法

Story point估算方法

  • 常用的两个标准

    • Fibonacci: 0, 1, 2, 3, 5, 8, 13, 21,34, 55, 89
    • Power of 2: 0, 1, 2, 4, 8, 16, 32, 64,128

总估算成本BAC

成本预算

估算BAC

预算BCWS

成本基线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值