- Resumen
- Desarrollo
- El uso de puntos función para estimar casos de prueba
- El uso de puntos función para ayudar a entender rangos de productividad amplios
- El uso de puntos función para ayudar a entender el crecimiento de proyectos
- El uso de puntos función para ayudar a calcular el costo real del software
- El uso de puntos función para ayudar a estimar el costo de proyectos, la programación y el esfuerzo
- El uso de puntos función para ayudar a entender los costos de mantenimiento
- El uso de puntos función para ayudar con las negociaciones de contrato
- El uso de puntos función para desarrollar un estándar de establecimiento de métricas
- Resultados de una Experiencia en la Determinación del Tamaño de un Software
- Combinación de las alternativas para la estimación de Proyectos de Software
- Bibliografía
Resumen
En el presente artículo se aborda el tema de la estimación de Proyectos Informáticos, específicamente se analiza el método de Puntos de Función, además de su combinación con otras técnicas de estimación como Cocomo y Casos de Uso. La estimación es una de las primeras actividades de la gestión de proyectos informáticos. Su objetivo es conocer en etapas tempranas y de manera aproximada, el costo, la duración y los recursos necesarios para el desarrollo de proyectos de software.
Desarrollo
El tamaño del software podría medirse en términos de los bytes que ocupa en el disco, el número de programas, el número de líneas de código, la funcionalidad que proporciona, o simplemente el número de pantallas o reportes que tiene. A simple vista podríamos intuir que algunas de estas propuestas son mejores que otras si queremos medir el tamaño de una forma que tenga más correlación con el esfuerzo. Pero antes de seleccionar alguna, hagamos otras consideraciones.
Una aplicación de software es un conjunto de líneas de código que se ejecutan en una computadora. Sin embargo mucho del costo de producir ese software no está directamente relacionado con la codificación, que es entre el 20 y 25% del costo total. Elementos como la administración del proyecto, el nivel de detalle de la documentación técnica o la documentación de pruebas, y las pruebas por sí mismas también deben considerarse. Por otro lado, hoy en día hay una amplia gama de lenguajes y herramientas para producir software, lo que ha provocado que pueda generarse la misma funcionalidad con lenguajes de programación distintos, y esto con un número de líneas de códigos distintos y, lo que es más impactante, con un esfuerzo distinto.
La estimación es un proceso continuo que acompaña a todo el desarrollo del proyecto y comienza usando pocas variables en un nivel alto de abstracción. A esta primera etapa se la denomina macroestimación y permite obtener valores aproximados de costo, tiempo y esfuerzo como para estudiar la viabilidad del proyecto. Una vez comenzado el proyecto y obtenidos estos valores se pueden efectuar comparaciones, detectar desvíos en el plan y realizar los ajustes correspondientes. A medida que el proyecto progresa, aumenta la información del mismo, la estimación se torna de grano más fino y los parámetros descriptivos de las etapas iniciales se convierten en otros más detallados (como por ejemplo cantidad de módulos o número de líneas de código). El aporte de un mayor caudal de información, proveniente del diseño, programación e implementación disminuye el margen de error, hasta hacerse mínimo en la fase de aceptación del software. No se puede considerar a la estimación como una ciencia exacta ya que existen numerosas variables humanas, técnicas, del entorno y políticas, entre otras, que intervienen en su proceso y que pueden afectar los resultados finales. Sin embargo, cuando es llevada a cabo en forma sistemática, se pueden lograr resultados con un grado aceptable de riesgo y convertirla en un instrumento útil para la toma de decisiones.
Los Puntos de Función permiten estimar el tamaño del software a partir de sus requerimientos, mientras que los Casos de Uso permiten documentar los requerimientos del software. Ambos tratan de ser independientes de las tecnologías utilizadas para la implementación. En etapas tempranas del ciclo de vida, se identifican los Actores y los Casos de Uso del sistema, y se documenta cada uno de ellos mediante una breve descripción. Aplicando el Análisis de Puntos de Función a estos Casos de Uso, se podrá obtener una estimación bastante imprecisa debida principalmente a la escasa información que se tiene sobre el software al principio de un proyecto, pero permitirá obtener una idea del esfuerzo necesario para llevar adelante el mismo, y podrá ser refinada a medida que se obtenga más información. Si se aplica nuevamente el Análisis de Puntos de Función sobre una descripción más detallada de los Casos de Uso, la estimación del tamaño y esfuerzo será más precisa que la anterior. Esta métrica se define como una métrica funcional, dado que se enfoca a la funcionalidad que el software proporciona al usuario.
Es una métrica para establecer el tamaño y complejidad de los sistemas informáticos basada en la cantidad de funcionalidad requerida y entregada a los usuarios. Los Puntos de Función miden el tamaño lógico o funcional de los proyectos o aplicaciones de software basado en los requerimientos funcionales del usuario.
.Partamos de la primera definición para entender las características de la métrica:
- TAMAÑO – es una métrica de tamaño, no de la calidad con la que se hizo ese software, o del valor de ese producto, o del esfuerzo requerido para desarrollarlo, etc.
- APLICACIONES – mide las aplicaciones de software, no considera el hardware que utilizará, ni la administración del proyecto, ni la documentación, etc.
- FUNCIONALIDAD – se refiere a la capacidad del software para que un usuario pueda realizar transacciones (lectura, escritura, etc.) y el guardar datos. Si analizamos a detalle, con estos elementos podemos describir cualquier sistema.
- USUARIO – quien lo va a usar y no quien lo desarrolló o quien lo diseñó.
Así como existe el metro lineal para medir longitudes, Puntos Función es "el metro" para medir tamaño de una aplicación de software. El método de Puntos de Función fue publicado por primera vez en el año 1979 por Allan J. Albrecht [Albrecht, 1979] y se obtienen utilizando una relación empírica basada en medidas cuantitativas del dominio de información del software y valoraciones subjetivas de su complejidad. Es un método para medir el tamaño del software. Pretende medir la funcionalidad entregada al usuario independientemente de la tecnología utilizada para la construcción y explotación del software, y también ser útil en cualquiera de las fases de vida del software, desde el diseño inicial hasta la explotación y mantenimiento.
Página siguiente |