Articulo de referencia

Dimensionamiento del software

El dimensionamiento o estimación del tamaño del software es una actividad de la ingeniería de software que se utiliza para determinar o estimar el tamaño de una aplicación o com...

El dimensionamiento o estimación del tamaño del software es una actividad de la ingeniería de software que se utiliza para determinar o estimar el tamaño de una aplicación o componente de software con el fin de implementar otras actividades de gestión de proyectos de software (como la estimación o el seguimiento). El tamaño es una característica inherente de un programa informático, al igual que el peso es una característica inherente de un material tangible.

Fondo

El dimensionamiento del software es diferente de la estimación del esfuerzo necesario para su desarrollo . El dimensionamiento estima el tamaño probable de un programa, mientras que la estimación del esfuerzo predice el esfuerzo necesario para construirlo. La relación entre el tamaño del software y el esfuerzo requerido para producirlo se denomina productividad .

Por ejemplo, si un ingeniero de software ha creado una pequeña aplicación de calculadora web, podemos decir que el esfuerzo requerido para el proyecto fue de 280 horas-hombre. Sin embargo, esto no proporciona información sobre el tamaño del producto de software en sí. De igual modo, podemos decir que el tamaño de la aplicación es de 5000 líneas de código (LOC) o 30 puntos de función (FP) sin especificar el esfuerzo necesario para su desarrollo.

Métodos funcionales para dimensionar el software

Históricamente, la metodología más común para dimensionar el software ha sido contar las líneas de código escritas en el código fuente de la aplicación. Otro enfoque es realizar una Medición del Tamaño Funcional (FSM), que expresa el tamaño de la funcionalidad como un número mediante el análisis de puntos de función . El método de dimensionamiento original es el IFPUG . El método de dimensionamiento funcional (FSM) del IFPUG FPA se ha utilizado con éxito , a pesar de ser menos preciso para estimar algoritmos complejos y ser relativamente más difícil de usar que la estimación de líneas de código. Han surgido adaptaciones de la metodología original de Medición del Tamaño Funcional, y estos estándares son: Puntos de Función COSMIC , Puntos de Función Mk II , Puntos de Función Nesma y Puntos de Función FiSMA. Otras variantes de estos estándares incluyen Puntos de Función Orientados a Objetos (OOFP) y variantes más recientes como Puntos de Función Micro Ponderados , que tienen en cuenta la complejidad algorítmica y del flujo de control . 

El mejor método de dimensionamiento funcional depende de varios factores, incluido el dominio funcional de las aplicaciones, la madurez del proceso de la organización desarrolladora y el grado de uso del método FSM. [ 1 ] [ 2 ] Existen muchos usos y beneficios de los puntos de función [ 3 ] más allá de medir la productividad del proyecto y estimar los proyectos planificados, estos incluyen el seguimiento del progreso del proyecto y la evaluación de la cobertura de requisitos de los paquetes comerciales listos para usar (COTS) .

Otros métodos para dimensionar el software incluyen el dimensionamiento basado en casos de uso , que se basa en contar la cantidad y las características de los casos de uso que se encuentran en un software, y la medición del tamaño funcional COSMIC , que aborda el dimensionamiento del software que tiene una cantidad muy limitada de datos almacenados, como los sistemas de "control de procesos" y de "tiempo real".

Tanto el método IFPUG como el método COSMIC son normas ISO/IEC.

Método de dimensionamiento de software no funcional

El método IFPUG para dimensionar los aspectos no funcionales de un software o componente se denomina SNAP; por lo tanto, el tamaño no funcional se mide mediante Puntos SNAP . El modelo SNAP consta de cuatro categorías y catorce subcategorías para medir los requisitos no funcionales. Los requisitos no funcionales se asignan a las subcategorías correspondientes. Cada subcategoría se dimensiona, y el tamaño de un requisito es la suma de los tamaños de sus subcategorías. El proceso de dimensionamiento SNAP es muy similar al proceso de dimensionamiento por puntos de función. Dentro del ámbito de la aplicación, los requisitos no funcionales se asocian con las categorías y subcategorías correspondientes. Utilizando un conjunto estandarizado de criterios básicos, cada subcategoría se dimensiona según su tipo y complejidad; el tamaño de dicho requisito es la suma de los tamaños de sus subcategorías. Estos tamaños se suman para obtener la medida del tamaño no funcional de la aplicación de software.

Información adicional

Diversos estándares de calidad de software exigen el uso de un método de dimensionamiento válido como parte del ciclo de vida estándar de la ingeniería de software de la organización . Por ejemplo, el Modelo de Madurez de Capacidades Integrado ( CMMI ) plantea este requisito. Una organización no puede ser evaluada (certificada) como CMMI de nivel 2 o 3 a menos que utilice adecuadamente el dimensionamiento del software.

Véase también

Referencias

  1. Directrices sobre cómo elegir un método FSM
  2. Guía sobre cómo elegir un método de tamaño funcional - Pam Morris Total Metrics - Centro de recursos de puntos de función ver ISO/IEC 14143-6: - INGENIERÍA DE SOFTWARE — MEDICIÓN DE SOFTWARE — MEDICIÓN DE TAMAÑO FUNCIONAL — PARTE 6: GUÍA PARA EL USO DE LA SERIE ISO/IEC 14143 Y NORMAS INTERNACIONALES RELACIONADAS
  3. Usos y beneficios del recuento de puntos de función - Pam Morris, Métricas totales - Centro de recursos de puntos de función , PDF