软件项目估算之代码行估算方法

现在软件在大多数基于计算机的系统中已成为最昂贵的部分,如果 软件成本估算的误差很大,就会使盈利变成亏损。

  软件项目估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,想一次性整体解决比较困难。因此,对问题进行分解,把其分解成一组较小的接近于最终解决的可控的子问题,再定义它们的特性。

  估算技术一般有代码行(LOC)和功能点(FP)估算法,这是两种不同的估算技术,但有许多共同特性。项目计划人员首先给出一个有界的软件范围的叙述,再由此尝试着把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其LOC或FP(即估算变量)。接着,把基线生产率度量用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算进行综合后就能得到整个项目的总估算。

  LOC或FP估算技术对于分解所需要的详细程度是不同的。当用LOC作为估算变量时,功能分解是绝对必要的且需要达到很详细的程度。而估算功能点所需要的数据是宏观的量,当把FP当做估算变量时所需要的分解程度可以不很详细。LOC是直接估算的,而FP是通过估计输入、输出、数据文件、查询和外部接口的数目,以及复杂性校正值间接地确定的。除去所用到的估算变量,项目计划人员必须对每一个分解的功能提出一个有代表性的估算值范围。利用历史数据或凭实际经验,计划人员对每个功能分别按乐观的、可能的、悲观的三种情况给出LOC或FP估计值。

  为了反映开发特性的影响,应当随时修正平均生产率。

  1 LOC(Lines of Code,代码行)估算代码尺寸

  把项目划分为若干个功能,分别计算每个功能的代码长度,所有功能代码行之和即项目的代码长度。

  LOC估算表包括:

  每个功能的代码长度估算值=(乐观值+4*可能值+悲观值)/6

  估算工作量=代码总估算长度/估算生产率

  估算总成本=日薪*估算工作量

  估算行成本=估算总成本/估算代码长度

  估算生产率由经验获得

  2 FP(功能点)估算代码尺寸

  项目的功能点数是几个测量参数(用户输入数、用户输出数、用户查询数、文件数、外部接口数)的功能点之和。

  用户输入数:计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。

  用户输出数:计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。

  用户查询数:一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。

  文件数:计算每个逻辑的主文件(如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件)。

  外部接口数:计算所有机器可读的接口(如磁带或磁盘上的数据文件),利用这些接口可以将信息从一个系统传送到另一个系统。

  FP估算表包括:

  每个测量参数的估算FP计数=估算值*加权因子

  项目估算FP=各参数FP计数之和*复杂度调整因子

  估算生产率由经验获得

  估算工作量=项目估算FP/估算生产率

  估算总成本=日薪*估算工作量

  单个FP估算成本=估算总成本/估算FP

软件项目估算之代码行估算方法相关推荐

  1. 怎么度量软件规模:代码行技术?LOC(Lines of Code,代码行)估算代码尺寸

    软件工程是一项工程,所以我们要去度量软件开发项目的规模,那我们应该怎么去度量呢?衡量标准是什么?最简单的就是代码行估算技术.什么是代码行呢?就是LOC(Lines of Code,代码行)估算代码尺寸 ...

  2. PMP软件开发规模估算——代码行估算、功能点估算、PERT加权估算

    在进行软件开发之前,需要进行软件成本估算,计算项目的经济可行性.成本估算是立项的依据,是项目计划的基础. 软件估算方法包括:规模估算.工作量估算.进度估算和成本估算. 本节主要介绍规模估算.软件成本. ...

  3. 统计iOS项目的总代码行数的方法

    1.打开终端, 2.用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" - ...

  4. 计算项目中的代码行数:Count the Lines of Code (LOC)

    很多时候打开一个大的项目工程时,我们会想知道这个项目有多少行代码. Visual Studio 自带这个功能,在分析->窗口->代码度量值结果,但是这个功能比较耗时,因为同时分析了代码的耦 ...

  5. mac下统计代码行数方法

    使用cloc工具统计. 1.首先在终端执行命令下载cloc: brew install cloc 没有brew的先下载brew,这个后面写一个,这里先占位. 2.cloc使用 进入想要查询的项目文件夹 ...

  6. 软件工程中,在软件项目管理过程中,估算软件规模的方法有哪些?

    在软件项目管理过程中,常用的估算软件规模的方法有: 基于功能点的估算法: 通过对软件的功能进行细分,然后对每个功能进行评级,根据评级的结果计算出软件的规模. 基于代码行数的估算法: 通过统计软件代码的 ...

  7. 软件项目的规模、工作量和成本是如何进行估算的

    1. 基于代码行和功能点的估算 软件项目的规模是影响软件项目成本和工作量的主要因素.在基于代码行(loc,line of code)和功能点(function point)的估算方法中,利用代码行和功 ...

  8. 「软件项目管理」一文详解软件项目成本计划

    软件项目成本计划 序言 一.成本估算的定义 二.估算的基本概念 1.关于估算 2.软件项目规模 3.软件规模单位 4.软件项目成本 5.成本单位 6.软件规模和软件成本的关系 7.成本估算结果 三.成 ...

  9. 软件开发过程与项目管理(6.软件项目成本计划)

    软件开发过程与项目管理(6.软件项目成本计划) 软件项目规模 软件项目规模即工作量包括 软件规模单位包括 软件项目成本 成本估算 估算基本方法 代码行估算法(简略) 功能点估算法- Albrecht ...

最新文章

  1. 在Solaris系统中,查看tcp/ip配置
  2. JAV实现跳台阶问题(《剑指offer》)
  3. 【AI-1000问】训练为什么要分测试集和验证集?
  4. php7 加的新特性积累
  5. php写浏览记录,php如何浏览历史记录
  6. ST算法解决RMQ问题
  7. mysql storm_flume+kafka+storm+mysql架构设计
  8. 关于bacula网络备份软件的安装以及配置1
  9. 10深入Redis Cluster2
  10. Spark 机器学习 —— ALS
  11. python无需编译解释执行,解释型语言和编译型语言的不同以及Python怎么运行
  12. UltraEdit如何激活
  13. c语言笛卡尔坐标系,CAD笛卡尔坐标系(直角坐标系),极坐标系精讲,看完秒会...
  14. python3安装失败_python3安装失败如何处理
  15. 英语诗歌选读 | 期末总结
  16. 对自己代码规整度的强烈执念....
  17. 计算机专业为什么不用amd,为什么网吧电脑很少用AMD处理器?
  18. 使用域名访问后台系统、Nginx反向代理服务器
  19. Excel :模拟投币实验
  20. vue使用xlsx导出excel

热门文章

  1. 如何实现对数ln运算?
  2. 未来最赚钱的17大行业:云计算、大数据、虚拟现实、人工智能……
  3. 如何将两个PDF合并成一个PDF,几个方法教会你简单操作!
  4. 【读书笔记】Verilog的亚稳态现象和跨时钟域处理方法
  5. PPT文件如何单独提取文字、图片
  6. java类的成员之一:构造器(构造方法)
  7. android Studio 编写美图秀秀的简单demo
  8. php根据当前日期判断法定节假日_php如何计算指定工作日后的日期?
  9. 百万级日活 App 的屏幕录制功能是如何实现的
  10. Python-Django毕业设计蛋糕店会员管理系统(程序+Lw)