La medición del tamaño funcional COSMIC es un método para medir un tamaño funcional estándar de una pieza de software. COSMIC es un acrónimo de COmmon Software Measurement International Consortium, una organización voluntaria que ha desarrollado el método y aún está expandiendo su uso a más dominios de software.
El método
El "Manual de medición" define los principios, reglas y un proceso para medir un tamaño funcional estándar de una pieza de software. El tamaño funcional es una medida de la cantidad de funcionalidad proporcionada por el software, completamente independiente de cualquier consideración técnica o de calidad. [1] Los principios genéricos de tamaño funcional se describen en la norma ISO / IEC 14143. [2] Este método también es un estándar internacional en sí mismo. El estándar COSMIC [3] es la primera implementación de segunda generación del estándar ISO / IEC 14143. También hay cuatro implementaciones de primera generación:
- ISO / IEC 20926 - Puntos de función IFPUG
- ISO / IEC 20968 - Puntos de función Mk II
- ISO / IEC 24570 - Puntos de función de Nesma
- ISO / IEC 29881 - Puntos de función de FiSMA
Estos métodos de medición de tamaño funcional de primera generación consistieron en reglas que se basan en resultados empíricos. Parte de la terminología que se ocupa de los usuarios y los requisitos se superpone con términos similares en la ingeniería de software. Funcionan bien para los dominios de software para los que se diseñaron las reglas, pero para otros dominios, las reglas deben modificarse o ampliarse. Los elementos clave de un método de medición de tamaño funcional de segunda generación son:
- Adopción de todos los conceptos de medición de la metrología ISO
- Una unidad de medida definida
- Totalmente compatible con ISO / IEC 14143
- Preferiblemente independiente del dominio
El método se basa en principios más que en reglas que son independientes del dominio. [4] Los principios del método se basan en principios fundamentales de la ingeniería de software, que posteriormente se han probado en la práctica. [5]
El método puede usarse para dimensionar software que está dominado por la funcionalidad para mantener datos, en lugar de software que manipula predominantemente datos. Como consecuencia de medir el tamaño, el método se puede utilizar para establecer puntos de referencia (y estimaciones posteriores) con respecto al esfuerzo, costo, calidad y duración del trabajo del software.
El método se puede utilizar en una amplia variedad de dominios, como aplicaciones comerciales, software en tiempo real, [6] aplicaciones móviles, [7] software de infraestructura y sistemas operativos. El método divide los requisitos funcionales del usuario del software en combinaciones de los cuatro tipos de movimientos de datos:
- Entrada (E)
- Salir (X)
- Leer (R)
- Escribir (W)
El recuento de puntos de función proporciona una medición del tamaño del software, que es la suma de los movimientos de datos para un requisito funcional dado. Se puede utilizar para estimar (y comparar) el esfuerzo, el costo, la duración, la calidad y el trabajo de mantenimiento del proyecto de software. [8] [9]
La base del método es la norma ISO / IEC 19761, que contiene las definiciones y principios básicos que se describen con más detalle en el manual de medición COSMIC. [3]
La aplicabilidad del método de medición del tamaño funcional COSMIC
Dado que el método COSMIC se basa en principios genéricos, estos principios se pueden aplicar en varios dominios. Para una serie de dominios, se han redactado directrices para ayudar a los medidores a aplicar el método COSMIC en su ámbito: [10]
- Software en tiempo real El software en tiempo real "controla un entorno al recibir datos, procesarlos y devolver los resultados con la suficiente rapidez para afectar el entorno en ese momento". [11] La directriz describe cómo utilizar los principios genéricos en este entorno. [12]
- Arquitectura orientada a servicios (SOA) Se trata de una arquitectura de software en la que los componentes de la aplicación prestan servicios a los demás componentes a través de un protocolo de comunicación a través de una red. Un servicio es una unidad discreta de funcionalidad a la que se puede acceder de forma remota y se puede actuar y actualizar de forma independiente, como recuperar un extracto de tarjeta de crédito en línea. La guía describe cómo medir el tamaño funcional de distintos componentes. [13]
- Data Warehouse y Big Data es un campo que trata las formas de analizar, extraer información sistemáticamente o tratar con conjuntos de datos que son demasiado grandes o complejos para ser tratados por el software de aplicación de procesamiento de datos tradicional. La guía describe cómo transformar los principios en ese campo a un tamaño funcional. [14]
- Software de aplicación empresarial Este es un software diseñado para realizar un grupo de funciones, tareas o actividades coordinadas en beneficio del usuario. Los ejemplos de una aplicación incluyen un procesador de texto, una hoja de cálculo, una aplicación de contabilidad, un navegador web, un cliente de correo electrónico, un reproductor multimedia, un visor de archivos, un simulador de vuelo o un editor de fotos. El software de aplicación empresarial contrasta con el software del sistema, que se relaciona principalmente con el funcionamiento de la computadora. La guía describe cómo manejar las características específicas de la aplicación, como el almacenamiento y la recuperación de datos. [15]
Para explicar el uso del método se han desarrollado varios estudios de casos. El método es de especial validez en la estimación del costo de las empresas de software. [dieciséis]
La organización detrás del método
La organización COSMIC comenzó su trabajo en 1998. Legalmente COSMIC es una organización sin fines de lucro incorporada bajo la ley canadiense. La organización creció informalmente hasta convertirse en una comunidad global de profesionales. COSMIC es una organización abierta y democrática. La organización depende y seguirá apoyándose en los esfuerzos no remunerados de los voluntarios, que trabajan en varios aspectos del método, en función de su interés profesional.
Los métodos de medición del tamaño funcional de primera generación consistieron en reglas que se basan en resultados empíricos. Algunos [ ¿quién? ] definen su propia terminología, que puede superponerse con otros términos de la ingeniería de software. [ especificar ] Funcionan bien para los dominios de software para los que se diseñaron las reglas, pero para otros dominios, las reglas deben modificarse o ampliarse. Los elementos clave de un método de medición de tamaño funcional de segunda generación son:
- Adopción de todos los conceptos de medición de la metrología ISO
- Una unidad de medida definida
- Totalmente compatible con ISO / IEC 14143
- Preferiblemente independiente del dominio
El método se basa en principios y reglas que son independientes del dominio. Los principios del método se basan en principios fundamentales de la ingeniería de software, que posteriormente se han probado en la práctica. [5]
Referencias
- ^ ISO (19 de junio de 2011). "ISO / IEC 19761: 2011" . Organización Internacional de Estándares . Consultado el 6 de mayo de 2019 .
- ^ ISO / IEC JTC 1 / SC 7 Ingeniería de software y sistemas (2007-02-01). "ISO / IEC 14143" . Organización Internacional de Estándares . Consultado el 13 de junio de 2018 .
- ^ a b COSMIC (19 de febrero de 2003). "ISO / IEC 19761" . Organización Internacional de Estándares . Consultado el 13 de junio de 2018 .
- ^ AVogelezang, Frank (2013). "Qué es un método FSM de segunda generación" . Consultado el 14 de abril de 2019 .
- ^ a b Abran, Alain; Oligny, Serge; Symons, Charles (2011). "Puntos de función completa COSMIC (FFP) y la estrategia mundial de ensayos de campo" . Publicaciones de Auerbach . Consultado el 18 de junio de 2018 .
- ^ Olivier Guetta, Boubker Bouzid y Jori Le-Bihan (Renault) (17 de abril de 2012). "Diseño de una herramienta FSM para requisitos de software embebido en tiempo real" . Mathwork . Consultado el 18 de junio de 2018 .
- ^ Harold van Heeringen y Edwin van Gorp (5 de enero de 2015). "Medir el tamaño funcional de una aplicación móvil: utilizando el método de medición de tamaño funcional COSMIC". 2014 Conferencia conjunta del Taller internacional sobre medición de software y la Conferencia internacional sobre medición de productos y procesos de software . IEEE. págs. 11-16. doi : 10.1109 / IWSM.Mensura.2014.8 . S2CID 14229820 .
- ^ McConnell, Steve (2006). Estimación de software . Redmond, Wa: Microsoft Press. pag. 200. ISBN 978-0735-605350.
- ^ Abran, Alain (2015). Estimación de proyectos de software . Wiley. ISBN 978-1118-954089.
- ^ Flater, David (2016). "Una base racional para la metrología de software" (PDF) . NIST.
- ^ Martin, James (1965). Programación de sistemas informáticos en tiempo real . Englewood Cliffs, Nueva Jersey: Prentice-Hall Inc. p. 4 . ISBN 978-0-13-730507-0.
- ^ Symons, Charles; Lesterhuis, Arlan; Desharnais, Jean-Marc (2018). "Directriz COSMIC para dimensionamiento de software en tiempo real" . CÓSMICO. Archivado desde el original el 6 de agosto de 2020 . Consultado el 14 de abril de 2019 .
- ^ Fagg, Peter; Lesterhuis, Arlan; Regla, Grant (2018). "Guía COSMIC para dimensionar software de Arquitectura Orientada a Servicios" . COSMIC . Consultado el 14 de abril de 2019 .
- ^ Symons, Charles; Lesterhuis, Arlan (2018). "Directriz COSMIC para dimensionamiento de software Data WareHouse y Big Data" . COSMIC . Consultado el 14 de abril de 2019 .
- ^ Symons, Charles; Lesterhuis, Arlan (2017). "Guía para dimensionar el software de aplicaciones empresariales" . COSMIC . Consultado el 14 de abril de 2019 .
- ^ "Guía de evaluación y estimación de costes de GAO GAO-09-3SP Mejores prácticas para desarrollar y gestionar los costes del programa de capital" (PDF) . Oficina de Responsabilidad del Gobierno de EE. UU. 2009. Archivado desde el original (PDF) el 2020-08-06 . Consultado el 12 de agosto de 2019 .
enlaces externos
- Sitio web de COSMIC Una versión de dominio público del manual de medición de COSMIC y otros informes técnicos
- Publicaciones COSMIC Publicaciones de dominio público para el método COSMIC