domingo, marzo 04, 2007

Empezando a medir el Software

Últimamente me he estado preocupando un poco más por los pasos previos a la programación. Me refiero a los pasos más administrativos, quizá vistos como un poco aburridos desde el punto de vista del programador, pero definitivamente tanto o más importantes que la programación (y escribo como ingeniero 8D ).
Siempre es un problema cuando en un nuevo proyecto nos preguntan: ¿Cuánto va a tardar?, ¿Cuánto va a costar?.
Bueno, lo que hacemos siempre es basarnos en la experiencia para poder aproximar, pero existen modelos de cálculo para estimar el tamaño, el esfuerzo y la planificación de los sistemas de software y no son nuevos, ya hace mucho tiempo que se conocen, el problema es aplicarlos, como ustedes saben.
Me ha tocado aplicarlo hace poco tiempo y debo decir que fue una muy buena experiencia para profundizar en el conocimiento de los requerimientos a satisfacer, además de poder presentar una planificación más matemática.
Me voy a detener en el cálculo del tamaño. He utilizado un modelo que se llama "Puntos de Función" creado por Allan Albrecht (en 1979!!!). Básicamente, lo que se propone es asignar un puntaje al sistema a desarrollar basados en la cantidad de funcionalidad que tendrá. No hablamos de líneas de código, no hablamos de cantidad de clases y objetos, ni de métodos o procedimientos, simplemente de funcionalidad.
Para poder realizar el cálculo, se deben contar aspectos tales como:
  • La cantidad e archivos lógicos (archivos y tablas de BD) que tendrá la aplicación
  • La cantidad de interfaces externas (por ejemplo, conectores para sistemas legacy)
  • Las entradas externas (por ejemplo, las interfaces de usuario)
  • Las salidas externas (por ejemplo, generación de informes o reportes)
  • Las consultas (presentación de información leída de uno o más grupos de datos, menos elaborada que la anterior)
Una vez contadas estas características (que no es un trabajo sencillo, créanme), se agrupan en una tabla y se ponderan. Los ponderadores están calculados en base al estudio de muchísimos proyectos.
El resultado final: un número. Este número positivo representa el tamaño del software. La unidad de medida es "Puntos de función ajustados".

¿Qué hacemos con ese número?

Se puede calcular la cantidad de esfuerzo (medido en [meses-hombre]), el tamaño de los recursos humanos requerido (basado en el esfuerzo) y por supuesto, la duración estimada.

Dejo una serie de recursos adicionales para los que estén interesados:
Saludos, hasta la próxima.

2 Comments:

At 8:13 p. m., Anonymous Anónimo said...

Hola Pablo mi nombre es Marisol y estoy estudiado la estimacion de Software con puntos de Funcion, esta chevere su resumen, pero sera que puedes hacer el favor de facilitarme informacion mas clara, es que hasta ahora estoy empezando con este tema gracias, mi mail es maricp@unipamplona.edu.co o marysol182@hotmail.com. te lo agradeceria muchisismo hasta pronto

Marisol Calderon Perez

 
At 11:26 a. m., Blogger Pablo Frias said...

Marisol

Te estaré enviando información adicional en breve.

Saludos

 

Publicar un comentario

<< Home