stringtranslate.com

Puntos SNAP

SNAP es el acrónimo de "Software Non-functional Assessment Process", una medida del tamaño del software no funcional. El método de dimensionamiento SNAP complementa la norma ISO/IEC 20926:2009, que define un método para el dimensionamiento del software funcional. SNAP es un producto del International Function Point Users Group ( IFPUG ) y se dimensiona utilizando el "Software Non-functional Assessment Process (SNAP) Assessment Practices Manual" (APM) ahora en la versión 2.4. Referencia "IEEE 2430-2019-IEEE Trial-Use Standard for Non-Functional Sizing Measurements", publicado el 19 de octubre de 2019 ([1]). También consulte la norma ISO "Software engineering — Trial use standard for software non-functional sizing measurement", (https://www.iso.org/standard/81913.html), publicada en octubre de 2021. Para obtener más información sobre SNAP, visite YouTube y busque "IFPUG SNAP"; Esto proporcionará una serie de videos que describen la metodología SNAP.

Introducción

Una aplicación de software puede proporcionar dos aspectos de valor a sus usuarios. En este contexto, el primer aspecto es "qué" hará el software, específicamente, "Un subconjunto de los requisitos del usuario. Requisitos que describen lo que el software debe hacer, en términos de tareas y servicios". (Definición ISO/IEC 14143-1) Esto puede definirse como su "funcionalidad". Una métrica utilizada para medir el tamaño de una unidad de este software funcional es el "punto de función". Al utilizar una métrica de dimensionamiento funcional (FSM) estándar ISO como la del "Manual de prácticas de conteo de puntos de función" de IFPUG, [1] (FSM ISO/IEC 20926:2009), [2] un especialista en conteo de puntos de función puede examinar la parte de los requisitos funcionales del usuario de la aplicación de software y medir su tamaño funcional en unidades de puntos de función.

Para obtener más detalles sobre la métrica del punto de función y las métricas de dimensionamiento de software funcional de otras organizaciones, consulte la bibliografía, el artículo de Wikipedia “ punto de función ” y numerosas referencias en la literatura.

Un requisito de usuario de software también puede especificar "cómo" lo hará el software, específicamente "Un requisito de software que describe no lo que hará el software sino cómo lo hará el software". (Definición ISO/IEC/IEEE 24765:2010) Estos tipos de software están definidos por IFPUG como "no funcionales". El tamaño del software correspondiente se mide mediante SNAP. El APM de IFPUG [3] detalla cómo dimensionar el software no funcional de la aplicación. Los aspectos no funcionales están definidos y clasificados en ISO/IEC 25010:2011, "Ingeniería de sistemas y software - Requisitos y evaluación de calidad de sistemas y software (SQuaRE) - Modelos de calidad de sistemas y software". [4]

El tamaño funcional del software, junto con el tamaño no funcional del software, se deben utilizar para medir el tamaño total del software de los proyectos de software. Ambos tamaños se deben utilizar para medir el rendimiento del proyecto de software, establecer puntos de referencia y estimar el costo y la duración de los proyectos de software.

El método de dimensionamiento de requisitos de usuarios no funcionales

De manera similar a la medición de los puntos de función, una unidad de no funcionalidad es el “punto SNAP”. El tamaño del software obtenido al cuantificar la parte no funcional de una aplicación se puede medir utilizando el procedimiento del APM. De manera similar a los puntos de función, al utilizar el APM de IFPUG, un especialista en recuento de puntos SNAP puede examinar la aplicación de software y medir el tamaño de su no funcionalidad en unidades de puntos SNAP. También como los puntos de función, la cantidad de puntos SNAP en una aplicación se correlaciona con el esfuerzo de trabajo para desarrollar la parte de software no funcional de esa aplicación. La investigación original que detalla esta correlación se encuentra en CrossTalk The Journal of Defense Software Engineering , como el artículo “A New Software Metric to Complement Function Points The Software Non-functional Assessment Process (SNAP)”. [5]

Cada aspecto del software (el funcional y el no funcional) requiere un esfuerzo de trabajo para su desarrollo, que es proporcional a su tamaño. Las organizaciones de desarrollo de software pueden utilizar sus correlaciones entre los puntos de función y su esfuerzo de trabajo, y entre los puntos SNAP y su esfuerzo de trabajo, para ayudar a pronosticar sus costos y cronogramas de desarrollo de software y para auditar proyectos a fin de determinar qué tan bien se gastaron los fondos y se administraron los cronogramas.

SNAP reconoce cuatro categorías y 14 subcategorías de requisitos de usuario no funcionales. Estas se encuentran en la siguiente tabla del APM.

1. Operaciones de datos
1.1.       Validaciones de ingreso de datos1.2.       Operaciones lógicas y matemáticas1.3.       Formato de datos1.4.       Movimientos internos de datos1.5.       Ofrecer valor añadido a los usuarios mediante la configuración de datos
2. Diseño de interfaz
2.1       Interfaces de usuario2.2.       Métodos de ayuda2.3.       Métodos de entrada múltiples2.4.       Múltiples formatos de salida
3. Entorno técnico
3.1.       Plataformas múltiples3.2       Tecnología de bases de datos3.3.       Procesos por lotes
4. Arquitectura
4.1.       Software basado en componentes4.2.       Múltiples interfaces de entrada/salida

Por ejemplo, el desarrollo de software para cambiar los tamaños de los campos de datos en una tabla de datos no representa cambios en la funcionalidad según los métodos IFPUG. Sin embargo, este desarrollo requiere esfuerzo de trabajo. El formato de datos se considera no funcional y se contabiliza en la subcategoría 1.3 de SNAP.

Los métodos de ayuda (subcategoría 2.2) suelen considerarse no funcionales. En comparación con el proceso de punto de función, que requiere que los datos crucen los límites de una aplicación y mantengan un archivo lógico interno, los datos de ayuda pueden codificarse para residir internamente como parte del desarrollo de la aplicación y se puede acceder a ellos mediante una orden del usuario. Este acceso puede ser cualquier cosa, desde una ayuda en forma de burbuja sobre un icono en una pantalla hasta el acceso a una parte de un manual de operaciones de la aplicación almacenado internamente. Los datos no se procesan en sí, por lo que la ayuda suele considerarse no funcional.

Los puntos de función y los puntos SNAP miden dos aspectos diferentes del dimensionamiento del software y, por lo tanto, no se suman. Por ejemplo, una aplicación de 500 puntos de función y 300 puntos SNAP no puede considerarse del tamaño 800 de alguna métrica; los puntos de función y los puntos SNAP están pensados ​​para ser ortogonales. Una buena referencia para obtener información más detallada sobre la relación entre funcionalidad y no funcionalidad se encuentra en el documento “Glosario de términos para requisitos no funcionales y requisitos de proyecto utilizados en la medición, evaluación comparativa y estimación del rendimiento de proyectos de software”. [6]

Beneficios

SNAP ofrece a los usuarios y a los equipos de desarrollo de software muchos beneficios adicionales al uso exclusivo de puntos de función. A continuación se muestran seis ejemplos.

Además, algunos esfuerzos de desarrollo de software podrían medirse como si tuvieran cero puntos de función. Por ejemplo, un sprint de mantenimiento de software ágil podría requerirse solo para cambiar la longitud de los campos de datos en las tablas de datos. Esto se mediría como si tuviera cero puntos de función porque no es funcional; sin embargo, ese trabajo sería contabilizado en SNAP. SNAP resuelve al menos en parte el problema de los “0 puntos de función”.

Áreas de investigación futura

La prueba beta de SNAP en 2012 se realizó utilizando 48 aplicaciones. Se espera que más investigaciones mejoren la calibración de los factores de ponderación de las subcategorías para obtener una correlación estadística aún más sólida. Se recomienda que los resultados de futuras investigaciones se envíen al Comité de estándares de dimensionamiento no funcional (NFSSC) del IFPUG para su revisión.

Véase también

Bibliografía

Buglione, Luigi y Santillo, Luca, “NFR: L”Altra Meta Della Mela”, Newlsetter, Gruppo Utenti Function Point Italia Italian Software Metrics Association, www.gufpi-isma.org, diciembre de 2011.

International Function Point Users Group, “Cómo funcionan juntos los puntos de función y SNAP”, MetricViews, www.ifpug.org, Princeton Junction, NJ, 08550, EE. UU., agosto de 2015.

Jones, Capers, “Una guía para seleccionar medidas y métricas de software”, CRC Press, Boca Rotan, FL, 33487, EE. UU., 2017.

Jones, Capers, “Cuantificación de las perspectivas globales y de la industria del software”, CRC Press, Boca Rotan, FL, 33487, EE. UU., 2018.

Referencias

  1. ^ IFPUG, “Manual de prácticas de conteo de puntos de función” v. 4.3, Princeton Junction, NJ, 08550 EE. UU. 2009.
  2. ^ "ISO/IEC 20926:2009". ISO . Consultado el 27 de marzo de 2024 .
  3. ^ IFPUG, “Manual de prácticas de evaluación del proceso de evaluación no funcional del software” v. 2.4, Princeton Junction, NJ, 08550 EE. UU. 2017.
  4. ^ ISO/IEC 25010:2011, Ingeniería de sistemas y software -- Requisitos y evaluación de calidad de sistemas y software (SQuaRE) -- Modelos de calidad de sistemas y software.
  5. ^ CrossTalk The Journal of Defense Software Engineering, “Una nueva métrica de software para complementar los puntos de función del proceso de evaluación no funcional del software”, Ogden ALC/TISE, Base Aérea Hill, Utah, julio-agosto de 2013.
  6. ^ COSMIC, IFPUG, “Glosario de términos para requisitos no funcionales y requisitos de proyecto utilizados en la medición, evaluación comparativa y estimación del rendimiento de proyectos de software”, v. 1.0, septiembre de 2015.

Enlaces externos