开发软件所涉及的成本究竟要怎样进行计算才能够算得上合理呢?功能规模的计算为其提供了具有科学性的依据,然而,多种测量的方法同时存在也使得实际的操作充斥着诸多挑战。
功能规模计算的意义
为项目预算以及资源分配提供客观依据,是经由进行量化软件功能需求来实现功能规模计算的。国际标准组织于2023年发布的调查报告表明,采用功能点分析的项目,其预算偏差率相较于未采用的项目而言,要低35%以上。这种方法会把软件功能分解成能够测量的单元,如此一来就能实现不同项目之间的比较以及成本预测了。
在政府信息化项目里,功能规模计算已然成为项目审批的关键参考依据,某座城市的大数据局于2022年规定,所有超过100万元的软件项目都得提交功能规模测量报告,这样的趋势意味着,功能规模计算正从供选择的方法转变成必须执行的流程,对规范软件开发市场有着极为深远的影响。
主要测量标准

我国当下主要运用国际标准与行业标准相融合的体系,GB/T36964 - 2018对软件开发成本度量的基本框架予以规定,各行业协会标准提供具体实施指南,这些标准尽管来源各异,然而核心目标相同:构建统一的功能规模测量语言。
投身实际运用当中时,殊异标准各方有所偏重,国际标准更着意于理论的完备性,行业标准却更贴切国内实际情形,像渝CIO协会的指南便格外考量了地方政府信息化的特性,这般多层次的标准体系给不同种类的项目予以了灵活的选择余地。
常用测量方法
有种功能点分析方法,叫IFPUG,还有种叫NESMA,它们是当前最常用的两种。IFPUG方法起源于20世纪80年代,历经多次修订才形成完整体系。NESMA方法呢,相对较新,是由荷兰软件度量协会提出并在欧洲广泛应用的。这两种方法在基础概念上有着高度一致性。
选择测量方法之际,得要考量项目特征以及团队经验,大型传统项目适宜采用IFPUG方法,敏捷开发项目或许会更偏向于NESMA的简化方法 ,有数据表明,2023年我国软件项目之中,采用IFPUG方法的占据42%,采用NESMA方法的占31%,其余的则运用其他测量方法。
功能点分类体系

软件的功能点被划分成了数据功能以及事务功能这两大类别,数据功能涵盖着内部逻辑文件与外部接口文件,其用于衡量系统所管理的数据的复杂程度,事务功能包含外部输入、外部输出还有外部查询,它能够反映出系统的处理能力,而后,上述这样的分类覆盖的便是软件处于静态以及动态这些方面。
有明确的判定规则作用于每个功能点类型。就拿内部逻辑而言,需同时满足在应用内部维护、用户可识别以及逻辑关联这三个条件而言。进而,在某银行核心系统升级项目里,86个相关内部逻辑文件被挑出,这些数据给项目工作量预估送去至关重要的输入。
实际应用过程
从模块划分起始进行功能规模测量,要明确系统边界以及组成部分,就比如用户管理系统,能够划分成用户管理、权限管理等模块,每个模块接着再进一步分解成具体功能点,以此形成完整的测量基础,而这个过程需业务专家以及技术人员一同参与。
在把功能点识别出来之后,就得去确定每一个功能点的类别以及复杂度。某电商平台于2022年进行测量实践之时,把“下单”功能认定为外部输入,复杂度是高的,因为它牵涉到库存检查、价格计算等多个ILF的维护。这样的细致分析保障了测量结果的准确性 。
测量结果运用

进行复用度调整过后的功能点数,能够当作工作量计算的直接依据。行业当中的数据表明了,每一个功能点所对应的工时,一般是处于15至35小时的范围之内,具体的数值会受到技术架构、团队能力等相关因素的影响。而这样的一种量化关系,让项目经理可以更加精确地去制定计划。
成本估算之外,功能规模数据可用于项目管理的多个方面,某大型制造企业于2023年运用功能点数据创建了项目绩效基准,其平均生产率达成了每功能点22人时,这些数据为后续项目改进给出了明确方向,助力企业持续提高软件开发能力。
在实际工作里头,你运用过哪一种功能规模测量方式呀?碰到过啥特别的难处不?盼着在评论区域分享你的经历呢,要是觉着这篇文章有帮助的话,那就点赞予以支持哟!