TAREA 2 ¿ COMO SE MIDE UN SW DEACUERDO A SU COSTO?

¿COMO SE MIDE UN SW DE ACUERDO A SU COSTO?



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 realizacion. 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.

Los aspectos evaluados en el análisis de un sistema de información determinan que método de estimación es el más adecuado aplicar para obtener el mejor resultado, es decir tomando en cuenta el lenguaje de programación utilizado, documentación UML y el sueldo remunerado por experiencia y lenguaje utilizado.

Para el análisis de este artículo, resultó como mejor práctica que para la determinación del costo de un proyecto se deba estimar en la etapa de levantamiento de requerimientos como es el caso del modelo basado en puntos de casos de uso o también en la etapa previa a liberación del sistemacuando ya se cuenta con el código casi terminado (modelo basado en SLOC) y las interfaces de usuario (modelo basado en puntos de función), según en el estado en que se encuentre el proyecto de software.


MODELOS DE ESTIMACIÓN DE COSTO

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. La ecuación (1) permite calcular el esfuerzo y la (2) el tiempo de desarrollo del proyecto:


Donde:

Ei es el esfuerzo, medido en meses-hombre

a, b, c y d: son valores que dependen del tipo de proyecto (Tabla 1)

Td es el tiempo de desarrollo requerido en meses

KLOCS: es el valor en miles de líneas de código

Una de las principales ventajas de este modelo es que se puede aplicar en diferentes fases del ciclo de vida y puede aplicarse a cualquier organización (Brewer, 2013), además utiliza manejadores de costos que ayudan principalmente al estimador a comprender el impacto de otros factores que afectan en el costo del proyecto, tales como presiones de tiempo, tamaño y requisitos de desarrollo (Garzón, 2003). Por otro lado, la principal desventaja del modelo es que utiliza datos históricos, como son archivos de código fuente que ya no se utiliza, que no siempre están disponibles y es extremadamente vulnerable a la clasificación del modelo de desarrollo, ya sea programación estructurada o programación orientada a objetos (Pressman, 2002).

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 plafinificada (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á compleado (Garmus, 2011). El proceso general es el siguiente (Durán, 2003):

1 - Determinar el tipo de conteo. Existen tres tipos de conteo de puntos de función: para proyectos en desarrollo, para proyectos en mantenimiento y para una aplicación desarrollada.

2 - Identificar los alcances de la medición y los límites de la aplicación. Identificar el alcance es identificar los sistemas, aplicaciones o subconjuntos de una aplicación que será medida. La frontera de la aplicación es el límite entre la aplicación que está siendo medida y las aplicaciones externas al dominio del usuario.

3 -Conteo de las funciones de datos. Identificar y contar la capacidad de almacenamiento de los datos que representan la funcionalidad que satisfacen requerimientos de datos internos y externos. Se distinguen dos tipos de funciones de datos: ILF: Archivo Lógico Interno, es un grupo de datos internos relacionados que el usuario identifica, cuyo propósito principal es almacenar datos mantenidos a través de alguna transacción y EIF: Archivo Lógico Externo, es un grupo de datos externos relacionados y referenciados pero no mantenido por alguna transacción dentro del conteo

ESTE SITIO FUE CONSTRUIDO USANDO