antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el...

44
ESTIMACION: TIPOS, TECNICAS Y METODOS MODELO COCOMO Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se requieran y el tiempo que transcurrirá desde el principio hasta el final.

Upload: marcelino-volante

Post on 12-Mar-2015

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

ESTIMACION: TIPOS, TECNICAS Y METODOS

MODELO COCOMO

Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se requieran y el tiempo que transcurrirá desde el principio hasta el final.

Page 2: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Porque es importante?

¿Se construirá una casa sin saber cuanto dinero esta a punto de gastarse, las tareas que se deben realizar y el tiempo para que el trabajo se haga?

Estimar: cuanto dinero, esfuerzo , recursos y tiempo supondrá construir un sistema o producto especifico de SW.

Page 3: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Estimación

Page 4: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Recursos

Estimación de recursos: necesarios para completar el esfuerzo

de desarrollo del software. En la figura siguiente muestra las tres grandes categorías de los recursos de IS.

Page 5: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Cada recursos especifica cuatro características:

Descripción del recursoUn informe de disponibilidad.Cuando se requerirá el recurso.Tiempo durante el cual el recurso se

aplicará

Page 6: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 7: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

RECURSOS HUMANOS:

POSICION ORGANIZACION

AL

GESTORINGENIERO DE

SOFTWARE EJECUTIVO

ESPECIALIDAD

TELECOMUNICACIONES

BASE DE DATOSCLIENTE/SERVIDOR

Page 8: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

RECURSOS DE SOFTWARE REUTILIZABLE

La creación y reutilización de bloques de construcción, tales bloques, llamados componentes.

Bennatan[BEN92] sugiere cuatro categorías de recursos de software que deben considerarse:

Componentes ya desarrollados Componentes experimentados Componentes de experiencia parcial Componentes nuevos.

Page 9: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

RECURSOS DEL ENTORNO

Entorno de ingeniería del software (EIS) incorpora hardware y software

HARDWARE SOFTWARE

SOPROTA LAS HERRAMIENTAS(SOFTWARE) CON

QUE SE PRODUCE LOS PRODUCTOS

Rebasar el costo puede ser

desastroso para el desarrollador

Page 10: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

TECNICAS DE ESTIMACION DE COSTOS

Page 11: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

TECNICAS DE DESCOMPOSICION

La descomposición basada en el problema implica el uso de KLOC y PF.

La descomposición basada en el proceso incluye división basada en las tareas involucradas, en casos de uso

Page 12: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

TECNICAS DE DESCOMPOSICION

Tamaño de Software: se refiere a un resultado cuantificable del proyecto de software.

Enfoque directo: El tamaño se puede medir en líneas de código (LDC).

Enfoque indirecto: el tamaño se representa como puntos de función (PF).

Page 13: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Estimación basada en el problema

El planificador del proyecto comienza con un enfoque acotado del ámbito del software y a partir de ahí intenta descomponer el software en funciones problema que puedan estimarse individualmente.

Entonces se estima las LDC o PF (las variables de estimación) para cada función.

Page 14: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Al emplear datos históricos o cuando todos los demás fallan intuición, el planificador estima un valor de tamaño optimista, mas probable y pesimista para cada función o cuenta para cada valor de dominio de información.

Se calcula un valor de tres puntos o uno esperado. El valor esperador para la variable de estimación. (tamaño), S, se calcula como un promedio ponderado de las estimaciones.

S=(S opt+ 4Sm+ Spes)/6

Page 15: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

EJEMPLO DE ESTIMACION BASADA EN LDC BASADA EN EL PROBLEMA

Page 16: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Por ejemplo, el rango de las estimaciones LDC para la función de análisis geométrico 3D es:

optimista Mas probable

pesimista Valor esperado

4600 ldc 6900 ldc 8600 ldc 6800

Page 17: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Ejemplo de estimación basado en PF

Se centra en los valores de dominio de información mas que en las funciones de software.

El planificador del proyecto estima entradas externas, salidas externas, consultas externas, archivos lógicos internos y archivos de interfaz externos para el software CAD.

Page 18: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 19: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 20: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 21: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Estimación Basada en el Proceso Técnica mas común es basar la

estimación en el proceso que se empleara. Este se descompone en tareas y estima el esfuerzo para lograr cada tarea.

Page 22: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Ejemplo de estimación basada en el proceso

Page 23: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Estimación con Casos de Uso

Page 24: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 25: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Ejemplo de estimación de casos de uso

Page 26: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 27: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelos empíricos de estimación

Basados en datos estadísticos La mayoría tiene una estructura con la

forma:

Donde A,B y C son constantes derivadas empíricamente, E es el esfuerzo en meses persona y ev es la variable de estimación (LOC o PF)

Hay varios de estos modelos, uno de los mas populares ha sido el creado por Bohem, COCOMO (Constructive Cost Model). Apareció en los años 80, y desde entonces ha sido muy popular

CveBAE )(*

Page 28: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Permite ajustar otras características como(complejidad del problema, experiencia del personal, entorno de desarrollo)

Orientados a LDC

Page 29: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Tipos de Modelos COCOMO

Básico Intermedio Avanzado

29

Page 30: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Tipos de proyectos en COCOMO Dentro de cada modelo COCOMO los proyectos se

pueden clasificar de 3 tipos,. Los tipos son: Orgánico (Fácil): Proyectos desarrollados con grupos de

trabajo pequeños, en un ambiente familiar y construyendo aplicaciones que les son familiares.

Semi-independiente (Intermedio): Etapa intermedia entre proyectos orgánicos y de modo incorporado.

De modo incorporado (Avanzado): Proyectos que deben operar dentro de limitaciones estrictas.

Dependiendo del tipo de proyecto, serán los valores de las constantes que utilizará la fórmula de COCOMO involucrada

30

Page 31: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelo COCOMO básico

Page 32: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelo básico de COCOMO El modelo calcula 3 valores para estimar el

costo del proyecto, esto utilizando como entrada las líneas de código estimadas. Los valores estimados son: MP: Meses-persona TDES: Tiempo de desarrollo N: Número de personas necesarias

Las fórmulas utilizadas para realizar esta estimación, dependerán del tipo de proyecto en cuestión

32

Page 33: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

MODELO BÁSICO DE COCOMO

33

PROYECTOS TIPO ORGÁNICO:MP= [2.4 (KLOC)1.05] KLOC = Miles de

líneas de códigoTDES= 2.5 (MP) 0.38

N= MP/TDES

PROYECTOS TIPO SEMI-INDEPENDIENTE:MP= 3.0 (KLOC)1.12

TDES= 2.5 (PM)0.35

N= MP/TDESPROYECTOS TIPO INCORPORADO

PM= 3.6 (KLOC)1.20

TDES= 2.5 (PM)0.32

N= MP / TDES

Page 34: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

El modelo intermedio de COCOMO

Modifica las ecuaciones de estimación añadiendo un parámetro multiplicador, el cual será calculado en base a una tabla que evalúa la complejidad añadida debido a otros atributos asociados al proyecto.

Las formulas entonces quedan de la forma:

Donde FAE = producto de multiplicadores y es la multiplicación de los valores de la tabla escogidos para cada atributo.

34

CveBE )(**FAE

Page 35: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 36: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelo Intermedio De COCOMO. Multiplicadores utilizados

36

ATRIBUTOS DEL PRODUCTO1. Confiabilidad requerida en el SW (RELY)2. Tamaño de base de datos (DATA)3. Complejidad del producto (CPLX)

ATRIBUTOS COMPUTACIONALES1. Limitantes del tiempo de ejecución (TIME)2. Limitantes de almacenamiento (STOR)3. Volatilidad de la máquina virtual (VIRT)4. Tiempo de respuesta computacional (TURN)

Page 37: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelo Intermedio De COCOMO.

Multiplicadores utilizados (continuación)

37

ATRIBUTOS DEL PERSONAL1. Capacidad del analista (ACAP)2. Experiencia en la aplicación (AEXP)3. Experiencia en la máquina virtual (VEXP)4. Capacidad del programador (PCAP)5. Experiencia en el lenguaje de programación

(LEXP)

ATRIBUTOS DEL PROYECTO1. Practicas modernas de programación (MODP)2. Herramientas de SW (TOOL)3. Calendario de desarrollo requerido (SCED)

Page 38: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Ejemplo

Page 39: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 40: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se
Page 41: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Modelo COCOMO Avanzado

Avanzado: llevar acabo una evaluación del impacto de los conductores de costos en cada caso (análisis, diseño, etc.) del proceso de ingeniería de Software.

Page 42: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Curvas de esfuerzo del modelo de COCOMO

(C) P. Gómez-Gil, INAOE. 2009 42

CURVAS DE ESFUERZO DEL MODELO DE COCOMO

0

2000

4000

6000

8000

10000

12000

0 20 40 60 80 100

120

140

160

180

200

220

240

MILES DE LINEAS DE CODIGO

ME

SE

S-P

ER

SO

NA

SIMPLE

MODERADO

COMPLEJO

Page 43: Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se

Curvas de esfuerzo del modelo de COCOMO

43

0

50000

100000

150000

200000

250000

300000

350000

ME

SE

S-P

ER

SO

NA

MILES DE LINEAS DE CODIGO

CURVAS DE ESFUERZO DEL MODELO DE COCOMO

SIMPLE

MODERADO

COMPLEJO