Ing. Francisco Rodríguez Novoa
UNT. INGENIERIA INDUSTRIAL
Ingeniería de Software
Tema 2
ESTIMACION DE PROYECTOS SOFTWARE
Planificación de Proyectos: Estimación
La gestión de proyectos de software comienza con un
conjunto de actividades que globalmente se
denominan
Planificación de Proyectos de Software.
Su principal objetivo es proporcionar un marco de
trabajo que permita al gestor hacer estimaciones
razonables de recursos, costo y tiempos.
Estimación para proyectos SW
Las fallas al planificar es uno de los mayores errores que se
pueden cometer.
Se necesita para resolver los problemas tempranamente en
los proyectos a menores costos.
El proyecto promedio gasta el 80% de su tiempo en re
elaboración: corrigiendo errores que se cometieron en etapas
tempranas del proyecto.
Proceso de Estimación
Descripción del ámbito del producto
Descomponer el problema en sub problemas
Estimar empleando datos históricos (métricas de otros
proyectos) y la experiencia como guía.
La complejidad y el riesgo se consideran antes de realizar
una estimación final.
Información Histórica y Requerimientos
“La característica de una mente instruida es
descansar satisfecha con el grado de precisión
que la naturaleza del asunto admite, y no
buscar la exactitud cuando sólo es posible una
aproximación de la verdad.” Aristóteles
El planificador y, en forma más importante, el
cliente deben reconocer que la variabilidad en
los requisitos del software significa inestabilidad
en costo y programa de trabajo. Pressman R.
Estimaciones de tamaño del producto
Estimación basada en el problema
LDC: líneas de código
PF: propuesta por Albretch, puntos defunción, para medir la funcionalidad queentrega un sistema.
Estimación basada en proceso
Estimación con casos de uso
El modelo COCOMO II
Líneas de Código LDC o LOC
El estimador comienza con un enfoque acotado del ámbito del
software y partir de ahí empieza descomponer el sw en
funciones que puedan estimarse individualmente. Entonces se
estiman las LDC o PF (las variables de estimación) para cada
función.
Entonces se aplican las métricas de la línea base de
productividad (LDC/pm) a la variable de estimación apropiada
y se deriva el costo de esfuerzo de la función. La estimaciones
de función se combinan para producir una estimación global del
proyecto completo
Puntos de Función
Puntos función (FP): miden la “cantidad de funcionalidad” de
un sistema descripto en una especificación (se pueden computar
sin forzar que la especificación siga un modelo o técnica en
particular)
Primero computamos la cantidad de Puntos Función No
Ajustados (UFC)
Luego se obtienen los FP multiplicando los UFC por un
Factor de Complejidad Técnica (TCF)
Métricas Orientadas a la Función
• Albretch, 1979, sugirió los Puntos de Función como una medida de
funcionalidad del software.
• La funcionalidad es una medida indirecta, entonces deben usarsemedidas directas para conseguirla.
• Para computar métricas c/PF se definen cinco características:
# Entradas externas: contar cada entrada de usuario queproporciona datos a la aplicación.
# Salidas externas: contar cada salida que la aplicación proporcionaal usuario. (informes, pantallas, mensajes).
# Consultas externas. petición entrada interactiva que producealguna respuesta del software inmediata como salida interactiva.
# Ficheros Lógicos Internos: contar cada archivo lógico maestro(agrupación lógica de datos).
# Interfaces externas: contar todas las interfaces que se utilizanpara transmitir información a otro sistema
Puntos de Función
Factor de Ponderación: simple, medio o complejo. Valor de complejidad determinado de manera subjetiva por c/ organización.
Modelos Empíricos de Estimación
COCOMO (COnstructive COst MOdel)
Boehm (81) introduce una jerarquía de modelos:
Modelo 1: COCOMO básico, calcula esfuerzo y costo del desarrollo en función del tamaño del programa, expresados en LDC.
Modelo 2: COCOMO intermedio, calcula esfuerzo y costo en función del tamaño del programa y de un conjunto de conductores de costo con atributos del producto, del HW, del personal y del proyecto.
Modelo 3: COCOMO avanzado, incorpora las características del intermedio + evaluación de los conductores de costo en c/fase del proceso.
COCOMO está definido para tres tipos de proyectos:
•modo orgánico: proyectos de software pequeños y sencillos.
•modo semiacoplado: proyectos de software intermedio en cuanto a tamaño y nivel de complejidad.
•modo empotrado: proyectos muy restringidos
COCOMO Básico
Ej. Con modelo orgánico y suponiendo KLDC=33,2.
• Calcula la cantidad de personas por mes.
E = 2,4 (KLDC)1,05
= 2,4 (33,2) 1,05 = 95 p-m
• Calcula la duración del proyecto.
D = 2,5 E0,38
= 2,5 (95) 0,38 = 14,10 meses
• Calcula número de personas para el proyecto.
N = E / D
= 95 / 14,10
~ 7 personas