软件造价之:浅析快速功能点方法度量软件的规则及过程

简介: 采用优化后的功能点方法——快速功能点方法进行规模估算或测量的基本过程或步骤如下:确定计数类型→识别系统边界→识别功能点计数项→计算未调整的功能点数→计算调整后的功能点数。

  快速功能点方法是一种软件规模度量方法。该方法适用于软件项目早期、中期、后期等各个阶段的规模估算或测量。

  采用优化后的功能点方法——快速功能点方法进行规模估算或测量的基本过程或步骤如下:

  确定计数类型→识别系统边界→识别功能点计数项→计算未调整的功能点数→计算调整后的功能点数。

  1、确定计数类型

  根据需求或项目的类型确定计数类型。计数类型分为三种:新开发、延续开发及已有系统计数。

  对于新开发需求或项目,对预计(或实际)投产的功能进行计数;

  对于延续开发需求或项目,对预计(或实际)新增、修改及删除的功能均进行计数;

  对于已有系统,对实际的功能进行计数。

  2、识别系统边界

  在识别系统边界的时候应注意:应从用户视角出发,不受系统实现影响;主要是为了区分内部逻辑文件(ILF)和外部接口文件(EIF);事务功能应穿越识别的系统边界。

  3、识别功能点计数项

  功能点计数项分为数据功能和交易功能两类。数据功能包括内部逻辑文件(ILF)、外部接口文件(EIF);交易功能包括外部输入(EI)、外部输出(EO)、外部查询(EQ)。

  数据功能是系统提供给用户的满足产品内部和外部数据需求的功能,即本系统管理或使用那些业务数据(业务对象),如“客户信息”“账户交易记录”等。

  内部逻辑文件或外部接口文件所指的“文件”不是传统数据处理意义上的文件,而是指一组客户可识别的、逻辑上相互关联的数据或者控制信息。因此,这些文件和物理上的数据集合(如数据库表)没有必然的对应关系。

  交易功能是系统提供给用户的处理数据的功能,即本系统如何处理和使用那些业务数据(业务对象),如“转账”“修改黑名单生成规则”“查询交易记录”等。

  交易功能又称为基本过程,是用户可识别的,业务上的一组原子操作,可能由多个处理逻辑构成。例如,“添加柜员信息”这个基本过程可能包含“信息校验”“修改确认”“修改结果反馈”等一系列处理逻辑。

  4、计算未调整的功能点数

  a、采用预估功能点进行计数,计算公式如下:

         FP=35ILF+15EIF

  ——FP:未调整的功能点数,单位为功能点;
  ——ILF:内部逻辑文件的数量;
  ——EIF:外部接口文件的数量。

  b、采用估算功能点进行计数,计算公式如下:

         FP=10ILF+7EIF+4EI+5EO+4*EQ

  ——FP:未调整的功能点数,单位为功能点;
  ——ILF:内部逻辑文件的数量;
  ——EIF:外部接口文件的数量;
  ——EI:外部输入的数量;
  ——EO:外部输出的数量;
  ——EQ:外部查询的数量。

  5、计算调整后的功能点数

  根据不同的规模测算阶段,需要考虑隐含需求及需求变更对规模的影响,因此,需要根据规模计数时机进行规模调整。调整后的功能点数(AFP),计算公式如下:

         AFP=FP*CF

  ——AFP:调整后的功能点数,单位为功能点;
  ——FP:未调整的功能点数,单位为功能点;
  ——CF:规模变更调整因子,依据行业数据,项目估算早期(如概预算阶段)通常取值为1.5;项目估算中期(如招投评标、项目立项、技术方案阶段)通常取值为1.26;项目估算中后期(如需求分析完成及后评价)通常取值为1.0。

  了解快速功能点方法度量的规则及过程,有助于提高使用快速功能点方法进行软件造价、软件成本估算、软件成本费用测算时的工作效率。
版权属于: 北京中基数联所有。转载时必须以链接形式注明原始出处及本声明。

目录
相关文章
|
机器学习/深度学习 传感器 自动驾驶
未来之路:大模型技术在自动驾驶的应用与影响
本文深入分析了大模型技术在自动驾驶领域的应用和影响,万字长文,慢慢观看~ 文中首先概述了大模型技术的发展历程,自动驾驶模型的迭代路径,以及大模型在自动驾驶行业中的作用。 接着,详细介绍了大模型的基本定义、基础功能和关键技术,特别是Transformer注意力机制和预训练-微调范式。 文章还介绍了大模型在任务适配性、模型变革和应用前景方面的潜力。 在自动驾驶技术的部分,详细回顾了从CNN到RNN、GAN,再到BEV和Transformer结合的技术迭代路径,以及占用网络模型的应用。 最后,文章重点讨论了大模型如何在自动驾驶的感知、预测和决策层面提供赋能,突出了其在该领域的重要性和影响力。
2420 56
|
数据挖掘 数据处理 数据格式
Python读取.nc文件的方法与技术详解
通过上述方法,用户可以根据需求选择合适的库来读取.nc文件,并根据实际情况进行必要的数据操作,这是科学数据处理和分析中的一个重要技能。
1017 10
|
前端开发 Java API
异步编程 - 11 Spring WebFlux的异步非阻塞处理2
异步编程 - 11 Spring WebFlux的异步非阻塞处理2
363 0
|
数据采集 Python
技巧 | python定时发送邮件(自动添加附件)针不戳
技巧 | python定时发送邮件(自动添加附件)针不戳
技巧 | python定时发送邮件(自动添加附件)针不戳
|
负载均衡 JavaScript 安全
vue配置反向代理的使用
vue配置反向代理的使用
392 0
|
JavaScript 数据可视化 虚拟化
用贪吃蛇小游戏的思路手写一个无限循环滚动轮播图
在某些业务场景下,接入第三方库实现轮播图效果可能并没有那么好用,笔者在接入Swiper插件失败后,还是决定手写一个。那么关于手写轮播图有很多文章已经讲过了,其核心原理是将图片排成一排,设置外层的Div超出隐藏,然后改变定位来实现轮播效果,这样通常不能首尾循环滚动,本文记录了一种对无限循环滚动效果的实现方式。
|
安全 网络协议 Shell
【VulnHub靶场】——BOREDHACKERBLOG: CLOUD AV
从上周开始制定了为期24周的打靶训练(每周一次),所以今天开始进行24次系统性打靶第二次训练,每次打靶后都会分享靶场攻略和总结的知识点,如果对渗透测试和打靶比较感兴趣的小伙伴们也可以跟着我一起训练哦(这24个靶场都是精挑细选的,基本覆盖了渗透测试需要了解的全部类型的漏洞),我们直接进行第二次打靶训练 ———————————————— 版权声明:本文为CSDN博主「Demo不是emo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_63844103/article/details/127703798
382 0
【VulnHub靶场】——BOREDHACKERBLOG: CLOUD AV
|
存储 弹性计算 缓存
阿里云服务器租赁费用,新版租赁费用及活动报价出炉
阿里云服务器租赁费用是多少?云服务器的租赁费用取决于所选云服务器的实例规格、CPU内存配置和带宽及数据盘的大小决定,相同配置的云服务器由于实例规格不同价格也不同。本文更新了阿里云服务器租赁费用,包括特惠活动云服务器优惠价格及官方定价,
阿里云服务器租赁费用,新版租赁费用及活动报价出炉
|
存储 人工智能 安全
案例酷 | 浙江大学:打造新型办学空间,“网上浙大2.0”让高校更高效
编者按: 在实施国家教育数字化战略行动中,高等教育尤其是一流大学如何进行数字化转型,是一个重要课题。高等学校需要发挥国家战略科技力量作用,承担好高素质人才供给、高水平创新突破等重要任务,浙江大学提出“网上浙大”的建设目标,为智慧校园的移动化建设打下了良好的基础。 全文约3924字,建议阅读时间10分钟。
1536 0
|
存储 前端开发 Java
Java Web实战 | 拦截器案例:用户登录权限验证
在配置文件中如果只定义了一个拦截器,程序首先执行拦截器类中的preHandle()方法。如果preHandle()方法返回false,则中断后续所有代码的执行。如果该方法返回true,程序将继续执行处理器以处理请求。当处理器执行过程中没有出现异常时,会执行拦截器中的postHandle()方法。postHandle()方法执行后会通过相关资源向客户端返回响应,并执行拦截器的afterCompletion()方法;如果处理器执行过程中出现异常,将跳过拦截器中的postHandle()方法,直接由前端控制器渲染异常页面返回响应,最后执行拦截器中的afterCompletion()方法。
444 0

热门文章

最新文章