17
Ing. Francisco Rodríguez Novoa UNT. INGENIERIA INDUSTRIAL Ingeniería de Software Tema 2 ESTIMACION DE PROYECTOS SOFTWARE

Compendio de Ingeniería del Software - …untingsw.weebly.com/uploads/5/5/5/0/5550176/ingsw_tema2_2017.pdfIng. Francisco Rodríguez Novoa UNT. INGENIERIA INDUSTRIAL Ingeniería de

Embed Size (px)

Citation preview

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.

Tareas para la estimación

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)

Ejemplo basado en PF

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.

Puntos de Función: Valores de ajuste de complejidad

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

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

FIN