Cómo se mide un software en relación a su costó?
No importa que tan grande o tan pequeño sea un proyecto de desarrollo de software, una buena estimación de su costo permitirá resolver problemas asociados al esfuerzo y tiempo invertido en su realización. En la bibliografía se proponen métricas para calcular el costo del desarrollo de software, con la finalidad de tener una mejor planeación en el desarrollo de sistemas. En esta investigación se analizan tres modelos de estimación de costos: Un modelo basado en líneas de código fuente (mejor conocido como SLOC) (Nussbaum, 2015), un modelo no-SLOC (Nussbaum, 2015), y el modelo basado en puntos de casos de uso (Tuya, 2007), con la intención de determinar sus beneficios de acuerdo a la cuatificabilidad y objetividad en el diseño de software a la medida.
Modelos de estimación de costos
En esta sección se analizan los modelos más utilizados para estimar costos en el desarrollo de sistemas, uno basado en SLOCS, otro no basado en SLOCS y el modelo basado en puntos de casos de uso.
1 - Modelos basados en SLOC
En estos modelos las líneas de código fuente se utilizan como métrica para contar el tamaño de un producto de software (Álvarez, 2007). El modelo aquí estudiado es el modelo COCOMO nombrado así por sus siglas Constructive Cost Model, cuya traducción al español es Modelo Constructivo de Costos(Farr, 2011). COCOMO permite predecir la duración de un proyecto, así como el esfuerzo necesario para su realización medido en personas-mes. Para ello COCOMO divide los proyectos de software en tres tipos dependiendo de su tamaño (Campos, 2012): modo orgánico, semi-acoplado y acoplado.
2- Modelos no basados en SLOC
Estos modelos son una alternativa a los modelos basados en SLOCS y utilizan principalmente preguntas o transacciones de entrada (Álvarez, 2007). Uno de los métodos más estudiados es el método de puntos de función nombrado así por sus siglas en inglés Function Point Analysis (FPA), está definido como un método estándar para medir el desarrollo de software desde el punto de vista del usuario (Durán, 2003). En su funcionamiento, mediante la asignación de “puntos” identifica los componentes del sistema en términos de transacciones y grupos de datos lógicos que son relevantes para el usuario en su negocio. Los puntos de función miden el tamaño de una aplicación plantificada (lógico) o existente (funcional), también puede ser usado para medir el tamaño de los cambios de una aplicación existente. Si los cambios están en los requerimientos funcionales del usuario o el diseño está completado (Garmus, 2011).
3 - Modelo basado en puntos de casos de uso
La estimación mediante el análisis de puntos de casos de uso, consiste en la medición del tiempo de desarrollo de un proyecto a través del proceso de asignación de “pesos” a un cierto número de factores que lo afectan (Thomas, 2011). En específico, el método obtiene como entrada los requisitos del sistema en términos de actores y casos de uso, proporcionando uno o más escenarios que indican cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico (Cuadrado, 2008).
Un caso de uso documenta una interacción entre el software y un actor o más. Dicha interacción tiene que ser, en principio, una función autónoma dentro del sistema(Yuya, 2007) que permite estimar el tamaño (cuantificar) del software en términos de horas necesarias para la operación de los casos de uso y el número de personas que se requieren para realizarlo, cuantificando la complejidad del sistema.
Disponible: http://scielo.sld.cu