El método de punto de función simple (SFP) [1] es un método de medición funcional liviano.
El método de puntos de función simples fue diseñado por Roberto Meli en 2010 para cumplir con la norma ISO14143-1 y ser compatible con el método de análisis de puntos de función (FPA) del International Function Points User Group (IFPUG) . El método original (SiFP) se presentó por primera vez en una conferencia pública en Roma (SMEF2011).
El método fue posteriormente descrito en un manual producido por la Simple Function Point Association: el Simple Function Point Functional Size Measurement Method Reference Manual, disponible bajo la Licencia Pública Internacional Creative Commons Atribución-SinDerivadas 4.0 .
En 2019, el IFPUG adquirió el método de puntos de función simples para brindar a su comunidad de usuarios un método simplificado de conteo de puntos de función, que permita medir el tamaño funcional de manera más fácil y confiable en las primeras etapas de los proyectos de software. El nombre corto pasó a ser SFP. El SPM (Manual de prácticas de puntos de función simples) fue publicado por el IFPUG a fines de 2021.
Cuando se propuso el método SFP, el método de medición del tamaño funcional del software más utilizado era IFPUG FPA. [2] Sin embargo, IFPUG FPA tenía (y todavía tiene) algunas deficiencias:
Para superar al menos algunos de estos problemas, se definió el método SFP para proporcionar las siguientes características:
Las características buscadas se lograron de la siguiente manera:
La FPA del IFPUG exige que [2]
De estas actividades, el SFP requiere sólo las dos primeras, es decir, la identificación de los archivos de datos lógicos y las transacciones. Las actividades 4) y 5) son las que consumen más tiempo, ya que requieren que cada archivo de datos y transacción se examine en detalle: omitir estas fases hace que el método SFP sea más rápido y más fácil de aplicar que el IFPUG FPA. Además, la mayor parte de la interpretación subjetiva se debe a las actividades 4) y 5), y en parte también a la actividad 3): omitir estas actividades hace que el método SFP sea también menos propenso a la interpretación subjetiva.
Los conceptos utilizados en la definición de SFP son un pequeño subconjunto de los utilizados en la definición de IFPUG FPA, por lo que aprender SFP es más fácil que aprender IFPUG FPA y es inmediato para quienes ya conocen IFPUG FPA. En la práctica, solo se deben conocer los conceptos de archivo de datos lógicos y transacción.
Finalmente, los pesos asignados a los archivos de datos y transacciones hacen que el tamaño en SFP sea muy cercano al tamaño expresado en Puntos de Función, en promedio.
Los archivos de datos lógicos se denominan Archivos Lógicos (LF) en el método SFP. De manera similar, las transacciones se denominan Proceso Elemental (EP). A diferencia de lo que ocurre en IFPUG FPA, no existe clasificación ni ponderación de los Componentes Funcionales Básicos (BFC, según se define en la norma ISO14143-1).
El tamaño de un EP es de 4,6 SFP, mientras que el tamaño de un LF es de 7,0 SFP. Por lo tanto, el tamaño expresado en SFP se basa en el número de archivos de datos (#LF) y el número de transacciones (#EP). Pertenecientes a la aplicación de software que se mide:
Se han realizado estudios empíricos con el objetivo de
En la propuesta original del método SiFP, se utilizó un conjunto de datos del ISBSG, que incluía datos de 768 proyectos, para evaluar la convertibilidad entre las medidas UFP y SiFP. Este estudio [1] mostró que, en promedio , .
Otro estudio [5] también utilizó un conjunto de datos ISBSG para evaluar la convertibilidad entre las medidas UFP y SiFP. El conjunto de datos incluía datos de 766 aplicaciones de software. A través de la regresión de mínimos cuadrados ordinarios, se encontró que .
Con base en estos estudios empíricos, [5] [1] parece que (nótese que esta equivalencia aproximada se cumple en promedio: en ambos estudios se observó un error relativo promedio de alrededor del 12%).
Sin embargo, un tercer estudio [6] encontró que . Este estudio utilizó datos de solo 25 aplicaciones web, por lo que es posible que la tasa de conversión se vea afectada por el tipo de aplicación específica o por el tamaño relativamente pequeño del conjunto de datos.
En 2017, un estudio evaluó la convertibilidad entre las medidas UFP y SiFP utilizando siete conjuntos de datos diferentes. [7] Cada conjunto de datos se caracterizó por una tasa de conversión específica. Específicamente, se encontró que , con . Cabe destacar que para un conjunto de datos, no se pudo encontrar un modelo lineal; en su lugar, se encontró el modelo estadísticamente significativo.
En conclusión, la evidencia disponible muestra que un SiFP es aproximadamente equivalente a un UFP, pero esta equivalencia depende de los datos considerados, además de ser cierta sólo en promedio.
Teniendo en cuenta que los elementos básicos del IFPUG SFP (EP, LF) son totalmente equivalentes a los elementos originales del SiFP (UGEP, UGDG), los resultados anteriores también son válidos para el método IFPUG SFP.
El FPA de IFPUG se utiliza principalmente para estimar el esfuerzo de desarrollo de software. Por lo tanto, cualquier método alternativo que tenga como objetivo medir el tamaño funcional del software debe permitir la estimación del esfuerzo con el mismo nivel de precisión que el FPA de IFPUG. En otras palabras, es necesario verificar que las estimaciones del esfuerzo basadas en SFP sean al menos tan buenas como las estimaciones basadas en UFP.
Para realizar esta verificación, se analizó un conjunto de datos ISBSG y se derivaron modelos de esfuerzo versus tamaño, utilizando regresión de mínimos cuadrados ordinarios, después de transformaciones logarítmicas. [5] Luego se compararon los errores de estimación del esfuerzo. Resultó que los dos modelos arrojaron una precisión de estimación extremadamente similar.
En un estudio posterior se analizó un conjunto de datos que contenía datos de 25 aplicaciones web. [6] Se utilizó la regresión de mínimos cuadrados ordinarios para derivar modelos de esfuerzo basados en UFP y SiFP. También en este caso, no se pudieron observar diferencias de estimación estadísticamente significativas.
Introducción a los puntos de función simples (SFP) de IFPUG.