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