工程项目管理——第六章 软件项目成本计划

软件项目成本计划

估算过程概念

估算:

  • 估算不是很准确,有误差
  • 项目经验数据非常重要
  • 不要太迷信某些数学模型

软件项目规模

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

软件规模单位

  • LOC(Loc of Code):源代码长度测量
  • FP(Function Point):用系统的功能点来测量
  • 人月
  • 人天
  • 人年

成本的单位

  • 货币单位

软件规模和软件成本的关系

  • 规模是成本的主要因素,是成本估算的基础
  • 有了规模就确定了成本

成本估算结果

  • 直接成本:与项目相关的成本,例如:参与项目的人员成本
  • 间接成本:可以分摊到各个具体项目中的成本,例如:培训、房租水电、员工福利、市场费用、管理费等等

估算方法

  1. 代码行估算法
    从软件程序量的角度定义项目规模

    • 与具体的编程语言有关
    • 分解足够详细
    • 有一定的经验数据(类比和经验方法)

    优点:

    • 代码所有软件开发项目都有的”产品”,而且很容易计算代码行数
      缺点:
    • 对代码行没有公认的可接受的标准定义
    • 代码行数量依赖于所用的编程语言和个人的编程风格
    • 在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确的估算代码量
    • 代码行强调编码的工作量,只是项目实现阶段的一部分
  2. 功能点估算法

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

    功能点公式:

    • FP = UFC * TFC
      • UFC:未调整功能点计数
      • TCF:技术复杂度因子

    UFC 功能计数项:

    1. 外部输入
    2. 外部输出
    3. 外部查询
    4. 外部接口文件
    5. 内部逻辑文件

    功能计数项的复杂度等级

  3. 功能点与代码行的转换

    1. 计算未调整的角色的权值UAW

    2. 计算未调整的用例的权值UUCW

    3. 计算技术和环境因子TEF

    4. 计算调整的用例点UCP

  • 类比(自顶向下)估算法

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

    • 利用任务分解图(WBS),对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本
    • 花费时间
  • 参数估算法
    定义:

    • 通过项目数据,进行回归分析,得出回归模型

    • 通过参数模型估算(规模)成本的方法
      使用条件:

    • 具有良好的项目数据为基础

    • 存在成熟的项目估算模型

    • COCOMO模型

        声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月14日
下一篇 2022年9月14日

相关推荐