浅析软件成本估算之NESMA方法的3种应用场景

简介: NESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点方法是五种ISO国际功能点标准之一,不但易学易用、快速、经济,而且容易开发和建立用户自己特有的估算模型。

  NESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点方法是五种ISO国际功能点标准之一,不但易学易用、快速、经济,而且容易开发和建立用户自己特有的估算模型。

  在五种国际标准中,只有NESMA方法定义了3种应用场景以支持不同粒度的估算,并且随着项目的进展和需求的完善,估算者可以不断修正之前的结果,进行持续的软件度量。因此如果使用行业标准进行早期估算(如编制预算、招投标),则应采用NESMA方法中的预估功能点或估算功能点方法。

  相比IFPUG方法,NESMA方法更着重于项目早期的估算功能,针对IFPUG方法分析过程比较复杂,计算工作量大,估算成本高,不适合项目早期规模估算的不足,NESMA方法基于原有规则提出了2种快速计算的方法,共3种应用场景,在估算的不同时期可选择不同精度的方法进行估算。

  NESMA方法3种应用场景如下:

  a) 预估功能点(简化一)

  功能点规模统计只识别ILF和EIF文件,可用于预算或招投标阶段,采用如下公式计算:

  功能点数≈35ILF+15EIF

  这一公式基于如下假设:平均情况下,每个ILF对应3个EI、2个EO和1个EQ,每个EIF对应1个EO和1个EQ,35和15是将上述ILF、EIF、EI、EO、EQ的复杂度默认为中,再考虑系统整体的功能性得出的。

  b) 估算功能点(简化二)

  功能点规模统计仍是5类基本功能组件的功能点数之和,采用如下公式计算:

  功能点数=10ILF+7EIF+4EI+5EO+4*EQ

  这一公式基于如下假设:将ILF、EIF、EI、EO、EQ的复杂度默认为中,其他步骤与IFPUG方法一样。

  c) 详细功能点

  识别5类基本功能组件的功能点数,并根据复杂度决定取值后计算见表5.2。

各类基本功能组件的功能点数参考值

  NESMA的两种简化方法都是基于“默认”值来计算的,根据大量样本项目分析,此种计算结果与IFPUG方法得到的结果的平均值相近,但对个体项目,特别是小型项目常有较大差异。

  在规模估算时,应考虑可能的需求变更程度,并对规模估算结果进行适当调整。据北京软件造价评估技术创新联盟统计数据,规模变更因子预算时取值为2,招标时取值为1.5,投标为1.26;项目计划为1.26,软件开发团队也可以根据具体情况进行调整,如根据组织内项目规模变更统计数据校正此数据。

目录
相关文章
|
设计模式 安全 架构师
复用性风控:软件复用成本的量化管理
本文分析「复用性」这一概念背后的风险及成因,借助笔者在业务安全和基础安全的经验,提出了一个在软件研发流程中,管理「复用性成本风险」的风险管理模型,希望能为读者在后续的技术决策和软件研发流程提供些许帮助。
152025 5
|
SQL 分布式计算 关系型数据库
Sqoop入门(一篇就够了)
Sqoop入门(一篇就够了)
8794 3
Sqoop入门(一篇就够了)
|
存储 机器学习/深度学习 人工智能
深入浅出 AI 智能体(AI Agent)|技术干货
随着人工智能技术的发展,智能体(AI Agents)逐渐成为人与大模型交互的主要方式。智能体能执行任务、解决问题,并提供个性化服务。其关键组成部分包括规划、记忆和工具使用,使交互更加高效、自然。智能体的应用涵盖专业领域问答、资讯整理、角色扮演等场景,极大地提升了用户体验与工作效率。借助智能体开发平台,用户可以轻松打造定制化AI应用,推动AI技术在各领域的广泛应用与深度融合。
33555 1
|
机器学习/深度学习 算法 计算机视觉
【博士每天一篇文献-算法】Learning without forgetting
本文提出了一种名为"无忘记学习"(Learning without Forgetting, LWF)的算法,它允许在不牺牲原有任务性能的情况下,通过仅使用新任务的数据来训练卷积神经网络以学习新的视觉能力。
312 0
【博士每天一篇文献-算法】Learning without forgetting
|
消息中间件 测试技术 领域建模
DDD - 一文读懂DDD领域驱动设计
DDD - 一文读懂DDD领域驱动设计
48378 6
|
存储 SQL 消息中间件
ClickHouse表引擎到底怎么选
表引擎在ClickHouse中的作用十分关键,直接决定了数据如何存储和读取、是否支持并发读写、是否支持index、支持的query种类、是否支持主备复制等。
6825 2
|
数据库 测试技术 Java
阿里技术专家详解DDD系列 第二弹 - 应用架构
应用架构,指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构能让系统安全、稳定、快速迭代。但是今天我们在做业务研发时,更多会关注一些宏观的架构,而忽略了应用内部的架构设计,希望能通过案例分析和重构,推演出一套高质量的DDD架构。
59455 25
阿里技术专家详解DDD系列 第二弹 - 应用架构
|
Unix Linux Windows
Linux命令(3)之ping
Linux命令(3)之ping
879 4
|
存储 JavaScript 小程序
阿里又开源一款数据同步工具 DataX,稳定又高效,好用到爆!上
阿里又开源一款数据同步工具 DataX,稳定又高效,好用到爆!上
|
存储 人工智能 Android开发
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆
2226 0
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆