Modelos de estimacion de software

36
Modelos de Estimación de Software

Transcript of Modelos de estimacion de software

Page 1: Modelos de estimacion de software

Modelos de Estimación de Software

Page 2: Modelos de estimacion de software

Introducción

Dentro de la ingeniería de Software nos encontramos con una problemática especial a la hora de realizar una planificación de costes y tiempos. Se discutirán diferentes enfoques a la hora de resolver esta problemática.

Page 3: Modelos de estimacion de software

Índice

●Problemática●Ingeniería tradicional.●Tipología de los modelos de estimación ●Presentación de diversos Modelos●Metodología recomendada

Page 4: Modelos de estimacion de software

Comunidad de Madrid

●Ampliación linea 6

●Tramo Elíptica Carabanchel Alto

●Presupuesto 7.643.524.334

●Fecha de terminación:Enero 1999

Page 5: Modelos de estimacion de software

Proyecto Ejemplo

●Presentación de la Problemática●Pregunta clave 1 : ¿Como cuándo estará?●Pregunta clave 2 : ¿Cuánto va a costar?●Pregunta clave 3 : ¿Cuántas personas

necesito?

Page 6: Modelos de estimacion de software

Ingeniería Civil.

●Métodos clásicos de planificación de proyectos

●Técnicas de cálculo de presupuestos●Basadas en parámetros medibles

Page 7: Modelos de estimacion de software

Ingeniería Software

●Ausencia de parámetros medibles en proyectos de Ingeniería de software.

¿Qué

podemos

medir ?

Page 8: Modelos de estimacion de software

Tipología de los Modelos de Estimación

●Opinión de Expertos●Estimación por Analogía●Descomposición ●Ecuaciones o modelos de estimación .

Page 9: Modelos de estimacion de software

Opinión de expertos

●La “adivinación basada en la experiencia personal” [Fenton, 1991

●Técnica Delphi●Técnica Delphi de banda ancha

Page 10: Modelos de estimacion de software

Técnica Delphi [Bohem,1981

●1 Un coordinador proporciona a cada experto una especificación del proyecto propuesto y un impreso para expresar su opinión.

●2 los expertos rellenan el impreso de forma anónima.

●3 El coordinador ofrece a cada experto el valor medio de las opiniones para que las compare con la suya.

Page 11: Modelos de estimacion de software

Técnica Delphi (II)

●Se pide realizar una nueva estimación anónima indicando las posibles razones de la misma.

●Se repite el proceso hasta llegar a un consenso en la estimación. No se realizan reuniones en grupo durante todo el proceso.

Page 12: Modelos de estimacion de software

Técnica Delphi de banda ancha.

●Variante de la anterior:o1.1 El coordinador reúne a los expertos para

que intercambien opiniones sobre el proyecto.

●4 Los expertos no indican las razones de la estimacióno4.1 El coordinador convoca una reunión en

grupo para que los expertos discutan las razones de las diferencias de estimación

Page 13: Modelos de estimacion de software

Técnica Delphi de banda ancha (II)

●5 Se rellenan anónimamente los impresos y se repite el proceso hasta llegar a un acuerdo.

Page 14: Modelos de estimacion de software

Estimación por analogía

●Complemento del juicio de expertos.●Se dispone de datos de proyectos similares

al que se desea estimar Ejemplo: Si se estima que el proyecto es el 10%

mayor que uno anterior que ha costado 10 millones, podemos deducir que el coste aproximado será 11 millones, y se emplearían las carácterísticas de los proyectos para refinar la estimación

Page 15: Modelos de estimacion de software

Estimación por descomposición

●El responsable de cada componente estima el coste de su desarrollo

●Enfoque Bottom-Up●Se precisa un diagrama de descomposición

del producto, acompañado de un diagrama de descomposición de actividades

●Integra actividades como integración o gestión de configuración

Page 16: Modelos de estimacion de software

Modelos algorítmicos

●SLIM ●COCOMO●FPA

Page 17: Modelos de estimacion de software

SLIM [Putnam,1978

●Basado en la curva de Rayleigh●Ecuación del Software:oT = C . K 1/3 (Td) 4/3

oT = Tamaño del Software en LDCoC = Constante tecnológicaoK = Esfuerzo de desarrollo en personas - añooTd= Tiempos de desarrollo en años

Page 18: Modelos de estimacion de software

COCOMO [Boehm, 1981

●Esfuerzo = a . (KLDC) b

●KLDC = miles de líneas de código●a , b = parámetros de ajuste

Page 19: Modelos de estimacion de software

Modos de desarrollo

●Orgánico. Entrono estable con poca innovación técnica, pocas presiones de tiempo y tamaño relativamente pequeño (<=50KLDC)

●Empotrado (Embedded). Desarrollo con requisitos muy restrictivos, volátiles, complejo y de gran innovación técnica.

●Semilibre (Semidettached). Situaciones intermedias.

Page 20: Modelos de estimacion de software

Ecuaciones

Page 21: Modelos de estimacion de software

Modelos COCOMO

●Basados en la cantidad de información disponible a lo largo del ciclo de vidaoBásico. Primeras estimaciones al principio del

proyectooIntermedio. Identificados los componentes

principales del sistemaoAvanzado. Componentes individuales.

Page 22: Modelos de estimacion de software

COCOMO Intermedio

●Aplicamos la ecuación básica●Refinamos la estimación a partir de los

factores de coste.

Page 23: Modelos de estimacion de software

Factores de coste

●Atributos del Producto●Atributos del hardware●Atributos del Personal●Atributos del Proyecto

Page 24: Modelos de estimacion de software

Atributos del Producto

Page 25: Modelos de estimacion de software

Atributos del hardware

Page 26: Modelos de estimacion de software

Atributos del Personal

Page 27: Modelos de estimacion de software

Atributos del Proyecto

Page 28: Modelos de estimacion de software

Puntos de función [Albrecht, 1979

●Basado en la existencia de una especificación más o menos formalizada

●Métrica que cuantifica la funcionalidad que se entrega al usuario al construir una aplicación

●Unidades de medida de proyectos software

Page 29: Modelos de estimacion de software

Características

●Independencia de lenguaje y entorno●Basado en parámetros lógicos independientes●Medir productividad●Estimar desarrollo y soporte●Monitorizar acuerdos de outsourcing●Dirigir decisiones relativas a TI●Normalizar otras métricas

Page 30: Modelos de estimacion de software

Parámetros significativos

Page 31: Modelos de estimacion de software

Factores de complejidad ●Comunicación de datos ●Rendimiento ●Frecuencia de transacciones●Requisitos de manejo de usuario●Procesos complejos●Mantenimiento●Instalación en múltiples lugares

Page 32: Modelos de estimacion de software

Factores de complejidad (II)●Funciones distribuidas●Carga de trabajo●Entrada on-line de datos●Actualizaciones on-line●Utilización con otros sistemas●Facilidad de operación●Facilidad de cambio

Page 33: Modelos de estimacion de software

Puntos de función ajustados

●Cada factor de ajuste se valora de 0 a 5●FA = (0.01 x (FC) + 0.65●PFA = PFNA x FA●Permite 35% sobre el valor de PFNA

Page 34: Modelos de estimacion de software

Técnica usada

●Calcular los PFNA a partir de los requerimientos funcionales del proyecto

●Calcular el número de LDC a partir de tablas dependiendo del lenguaje

●Aplicar COCOMO Intermedio●Técnica Backfiring en migraciones

Page 35: Modelos de estimacion de software

Inconvenientes de los modelos

●Cálculo de LDC dificultoso●Modelos basados en estadísticas de proyectos●Necesidad de calibración al cambiar de

entorno●Subjetividad al cuantificar valores de coste●Margen de error (25% en el 75 % de los

casos)

Page 36: Modelos de estimacion de software

Enfoque recomendado

●Primeras estimaciones basadas en juicio de expertos, técnica Delphi y analogía con proyectos anteriores

●Ecuaciones de costes tras especificaciones detalladas

●Desarrollar ecuaciones locales●Refinar los modelos con la experiencia