软件项目规模估算的方法

  • Loc估算法
  • FP估算法
  • PERT估算法

  软件规模是软件工作量的主要影响因素,常用的软件规模度量方法有三种,分别是Loc估算法、FP估算法、PERT估算法。

Loc估算法

  Loc是源代码的总行数,在代码行中,可以分为 无注释的源代码行(NCLOC)和 注释的源代码行(CLOC),源代码的总行数LOC即是两者之和。 ==优点==:代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数

缺点:

  1. 对代码行没有公认的可接受的标准定义
  2. 代码行数量依赖于所用的编程语言和个人的编程风格
  3. 在项目早期,需求不稳定,设计不成熟,实现不确定的情况下很难准确的估算代码量
  4. 代码行强调编码的工作量,只是项目实现阶段的一部分

FP估算法

  FP即Function Point,功能点的意思,也可以解释为功能点估算法。
这种方法,与LOC不同,与实现的语言和技术没有关系,他是用系统的功能数量来测量其规模,通过评估、加权、量化得出功能点,但是他仅适用于信息系统的估算

在FP估算法中功能项包括:

  1. 外部输入。是给软件提供面向应用的数据的项(如屏幕、表单、对话框、控件、文件等),在这个过程中,数据穿越外部边界进入到系统内部。比如网站登陆界面
  2. 外部输出。是向用户提供(经过处理)面向应用的信息,比如报表和出错信息等
  3. 外部查询。是一个输入引出一个即时的简单输出,没有处理过程。比如输入准考证号查询/打印
  4. 外部文件,也叫外部接口文件。是用户可以识别的一组逻辑相关数据,这组数据只能被引用。用这些接口把信息传递给另一个系统。比如用例图的导出数据
  5. 内部文件,也叫内部逻辑文件。是用户可以识别的一组逻辑相关的数据,而且完全存在于应用的边界之内,并且通过外部输入维护,是逻辑主文件的数目。比如数据库的一个表。

FP估算法有一个计算公式,如下
FP=UFC*TCF
UFC即Unadjusted Function Point Count,意为未调整的功能点数
TCF即Technical Complexity Factor,意为技术复杂度因子
TCF的取值范围是0.65~1.35之间,换个意思也就是说它是对UFC进行调整,范围是正负35%。

  要注意区分的是我们还有一个专业术语叫PF,他的意思是开发效率,假设FP(功能点)=48,PF=10工时/功能点,则规模=48*10=480工时

   功能点估算法的适用场景:

  1. 估计新的软件开发项目
  2. 应用软件包括很多输入输出或文件活动
  3. 拥有经验丰富的功能点估计专家
  4. 拥有充分的数据资料,可以相当准确的将功能点转化为LOC

PERT估算法

  最初PERT可以估算整个项目在某个时间内完成的概率,后来学者将其引入软件规模估计的应用中。
这里分两种方法:
(一)一种简单的PERT规模估算技术是假设如软件规模满足正态分布。软件的实际规模在a、b之间的概率为0.997,a是软件可能的最低规模,b是软件可能的最大规模,
则期望规模E=(a+b)/2
(二)较好的PERT规模估计技术是一种基于正态分布和软件各部分单独估算的技术,该技术需要产生3个规模估算量:

  1. a—软件可能的最低规模
  2. m—软件最可能的规模
  3. b—软件可能的最高规模

此时E=(a+4m+b)/6

软件项目规模估算的3种方法---Loc估算法、FP估算法、PERT估算法相关推荐

  1. 软件项目工作量估算中使用的功能点方法是什么?

    简单的说,功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计.功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行 ...

  2. 关于软件项目工作量估算的若干问题

    作者:张克强 软件项目工作量估算从估算依据上看可以分成如下两类: 1,基于规模估算 2,基于工作量估算 基于规模估算的情况下,需要估算软件项目的规模.本文首先来看规模方面的问题. 问题1:如何表达规模 ...

  3. 软件项目规模度量与实际应用

    一. 软件规模度量的必要性 软件项目规模的度量,是软件项目中相当重要的一环. 只有相对合理和相对准确地度量软件规模,才能对项目的计划进度安排,资源分配,等等各个环节进行合理的部署.这样才能尽可能地保证 ...

  4. 软件项目规模评估方法之软件源代码行法

    软件项目规模的评估方法有很多,我们近期会把这些方法一一进行梳理然后发布出来供大家学习了解.今天我们来说说软件项目规模评估方法中的软件源代码行法. 软件源代码行法(SLOC)是以软件的源代码行数量来计算 ...

  5. 软件项目工作量估算之软件复用程度分析

    软件工作量估算是我们在对一个软件项目成本估算过程中,在完成软件规模估算后需要进行的第2项估算工作.在软件项目工作量估算过程中,我们除了要进行风险分析外,还要考虑软件复用的程度. 软件复用就是将已有的软 ...

  6. vue项目刷新当前页面的三种方法

    本文介绍了vue项目刷新当前页面的三种方法,本文图文并茂给大家介绍的非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下. 想必大家在刨坑vue的时候也遇到过下面情形:比如在删除或者增加一条记录的时 ...

  7. 软件项目成本估算中,软件项目外包人月费用一个月是按几天算?

    问:软件项目成本估算中,软件项目外包人月费用一个月是按几天算?21.75天?20.83天或其他 ? 答:通常在估算软件项目成本时,对于软件项目外包的人月费用是按21.75天计算的.

  8. 软件的成本与定价如何决策?PMP软件开发规模估算和成本估算方法详解

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

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

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

最新文章

  1. 人工智能和机器学习的基本实现过程总结
  2. GDCM:LCNumeric的测试程序
  3. Ubuntu 18.04 搭建 gitlab服务器记录
  4. 用SmarterFox替换Internet Explorer的“加速器”
  5. Spark入门(九)之PI估值
  6. codevs 1052:地鼠游戏
  7. 【PAT乙】1001 害死人不偿命的(3n+1)猜想 (15分) 模拟,水水更健康
  8. animation-fill-mode的一些思考
  9. 连接数据库的三种配置方式
  10. php 页面跳转 url地址不变,【后端开发】php跳转页面url不变
  11. 100G网络你能看懂多少?
  12. 网络交换机怎么连接硬盘录像机、网络交换机怎么连接摄像头
  13. java技术总监一般问什么_技术总监面试题(Java),看看你会多少?
  14. 双向可控硅晶片光耦(TLP160J TLP260J TLP525G)基本原理及应用实例
  15. 增强现实(AR)智能眼镜的关键技术:标定、跟踪与交互
  16. Grafana的介绍与使用
  17. EISeg——应用于语义分割的自动标注软件
  18. mock gps android,Mock GPS with joystick
  19. python实现猫抓老鼠
  20. 程序媛审美测评——控制台256种颜色搭配及控制台改变界面颜色的方法

热门文章

  1. 阿里云服务器的购买以及使用
  2. IOS开发之——手动设置屏幕旋转
  3. iOS杂谈15—APP被苹果APPStore拒绝的各种原因
  4. 命令模式,升级版的灭霸响指
  5. redis内存回收——过期、淘汰
  6. 弘辽科技:淘宝流量不稳定该如何应对
  7. 如何区分芯片原装、散新、翻新,减少器件的不良率?
  8. 电子科技大学格拉斯哥学院基础实践——共享单车的调查
  9. java计算机毕业设计在线交友系统2021源码+mysql数据库+系统+lw文档+部署
  10. 培训学校管理系统之家校管理