软件项目规模估算的3种方法---Loc估算法、FP估算法、PERT估算法
软件项目规模估算的方法
- Loc估算法
- FP估算法
- PERT估算法
软件规模是软件工作量的主要影响因素,常用的软件规模度量方法有三种,分别是Loc估算法、FP估算法、PERT估算法。
Loc估算法
Loc是源代码的总行数,在代码行中,可以分为 无注释的源代码行(NCLOC)和 注释的源代码行(CLOC),源代码的总行数LOC即是两者之和。 ==优点==:代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数
缺点:
- 对代码行没有公认的可接受的标准定义
- 代码行数量依赖于所用的编程语言和个人的编程风格
- 在项目早期,需求不稳定,设计不成熟,实现不确定的情况下很难准确的估算代码量
- 代码行强调编码的工作量,只是项目实现阶段的一部分
FP估算法
FP即Function Point,功能点的意思,也可以解释为功能点估算法。
这种方法,与LOC不同,与实现的语言和技术没有关系,他是用系统的功能数量来测量其规模,通过评估、加权、量化得出功能点,但是他仅适用于信息系统的估算
在FP估算法中功能项包括:
- 外部输入。是给软件提供面向应用的数据的项(如屏幕、表单、对话框、控件、文件等),在这个过程中,数据穿越外部边界进入到系统内部。比如网站登陆界面
- 外部输出。是向用户提供(经过处理)面向应用的信息,比如报表和出错信息等。
- 外部查询。是一个输入引出一个即时的简单输出,没有处理过程。比如输入准考证号查询/打印。
- 外部文件,也叫外部接口文件。是用户可以识别的一组逻辑相关数据,这组数据只能被引用。用这些接口把信息传递给另一个系统。比如用例图的导出数据。
- 内部文件,也叫内部逻辑文件。是用户可以识别的一组逻辑相关的数据,而且完全存在于应用的边界之内,并且通过外部输入维护,是逻辑主文件的数目。比如数据库的一个表。
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工时
功能点估算法的适用场景:
- 估计新的软件开发项目
- 应用软件包括很多输入输出或文件活动
- 拥有经验丰富的功能点估计专家
- 拥有充分的数据资料,可以相当准确的将功能点转化为LOC
PERT估算法
最初PERT可以估算整个项目在某个时间内完成的概率,后来学者将其引入软件规模估计的应用中。
这里分两种方法:
(一)一种简单的PERT规模估算技术是假设如软件规模满足正态分布。软件的实际规模在a、b之间的概率为0.997,a是软件可能的最低规模,b是软件可能的最大规模,
则期望规模E=(a+b)/2
(二)较好的PERT规模估计技术是一种基于正态分布和软件各部分单独估算的技术,该技术需要产生3个规模估算量:
- a—软件可能的最低规模
- m—软件最可能的规模
- b—软件可能的最高规模
此时E=(a+4m+b)/6
软件项目规模估算的3种方法---Loc估算法、FP估算法、PERT估算法相关推荐
- 软件项目工作量估算中使用的功能点方法是什么?
简单的说,功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计.功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行 ...
- 关于软件项目工作量估算的若干问题
作者:张克强 软件项目工作量估算从估算依据上看可以分成如下两类: 1,基于规模估算 2,基于工作量估算 基于规模估算的情况下,需要估算软件项目的规模.本文首先来看规模方面的问题. 问题1:如何表达规模 ...
- 软件项目规模度量与实际应用
一. 软件规模度量的必要性 软件项目规模的度量,是软件项目中相当重要的一环. 只有相对合理和相对准确地度量软件规模,才能对项目的计划进度安排,资源分配,等等各个环节进行合理的部署.这样才能尽可能地保证 ...
- 软件项目规模评估方法之软件源代码行法
软件项目规模的评估方法有很多,我们近期会把这些方法一一进行梳理然后发布出来供大家学习了解.今天我们来说说软件项目规模评估方法中的软件源代码行法. 软件源代码行法(SLOC)是以软件的源代码行数量来计算 ...
- 软件项目工作量估算之软件复用程度分析
软件工作量估算是我们在对一个软件项目成本估算过程中,在完成软件规模估算后需要进行的第2项估算工作.在软件项目工作量估算过程中,我们除了要进行风险分析外,还要考虑软件复用的程度. 软件复用就是将已有的软 ...
- vue项目刷新当前页面的三种方法
本文介绍了vue项目刷新当前页面的三种方法,本文图文并茂给大家介绍的非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下. 想必大家在刨坑vue的时候也遇到过下面情形:比如在删除或者增加一条记录的时 ...
- 软件项目成本估算中,软件项目外包人月费用一个月是按几天算?
问:软件项目成本估算中,软件项目外包人月费用一个月是按几天算?21.75天?20.83天或其他 ? 答:通常在估算软件项目成本时,对于软件项目外包的人月费用是按21.75天计算的.
- 软件的成本与定价如何决策?PMP软件开发规模估算和成本估算方法详解
在进行软件开发之前,需要进行软件成本估算,计算项目的经济可行性.成本估算是立项的依据,是项目计划的基础. 软件估算方法包括:规模估算.工作量估算.进度估算和成本估算. 本节主要介绍规模估算的调整.工作 ...
- PMP软件开发规模估算——代码行估算、功能点估算、PERT加权估算
在进行软件开发之前,需要进行软件成本估算,计算项目的经济可行性.成本估算是立项的依据,是项目计划的基础. 软件估算方法包括:规模估算.工作量估算.进度估算和成本估算. 本节主要介绍规模估算.软件成本. ...
最新文章
- 人工智能和机器学习的基本实现过程总结
- GDCM:LCNumeric的测试程序
- Ubuntu 18.04 搭建 gitlab服务器记录
- 用SmarterFox替换Internet Explorer的“加速器”
- Spark入门(九)之PI估值
- codevs 1052:地鼠游戏
- 【PAT乙】1001 害死人不偿命的(3n+1)猜想 (15分) 模拟,水水更健康
- animation-fill-mode的一些思考
- 连接数据库的三种配置方式
- php 页面跳转 url地址不变,【后端开发】php跳转页面url不变
- 100G网络你能看懂多少?
- 网络交换机怎么连接硬盘录像机、网络交换机怎么连接摄像头
- java技术总监一般问什么_技术总监面试题(Java),看看你会多少?
- 双向可控硅晶片光耦(TLP160J TLP260J TLP525G)基本原理及应用实例
- 增强现实(AR)智能眼镜的关键技术:标定、跟踪与交互
- Grafana的介绍与使用
- EISeg——应用于语义分割的自动标注软件
- mock gps android,Mock GPS with joystick
- python实现猫抓老鼠
- 程序媛审美测评——控制台256种颜色搭配及控制台改变界面颜色的方法