Sunteți pe pagina 1din 61

Modelo de Estimacin de Proyecto de Software COCOMO (Constructive Cost Model)

ESTRATEGIAS DE SISTEMAS DE INFORMACIN Y PROCESOS DE COSTOS DE TI


Grupo N1: Luis Boy Chavil Haybert Escobedo Neyra Ricardo Gutirrez Pastor ngel Vsquez Snchez
23/07/2011

Presentacin
Como se conoce, una de las tareas de mayor importancia en la planificacin de proyectos de software es la estimacin, la cual consiste en determinar, con cierto grado de certeza:
Los recursos de hardware y software, Costo, Tiempo, Esfuerzo, necesarios para el desarrollo de los mismos.

- COCOMO -

Introduccin
La estimacin de costos de software tiene dos usos en la administracin de proyectos:
Durante la etapa de planeamiento: Permite decidir cuantas personas son necesarias para llevar a cabo el proyecto y establecer el cronograma adecuado. Para controlar el progreso del proyecto: Es esencial evaluar si el proyecto est evolucionando de acuerdo al cronograma y tomar las acciones correctivas si fuera necesario.

- COCOMO -

Introduccin (Cont)
Es importante reconocer la fuerte relacin entre costo, cronograma y calidad.
Estos tres aspectos estn ntimamente relacionados y confrontados entre s. De esta manera, es difcil incrementar la calidad sin aumentar el costo y/o el cronograma del SW a desarrollar. Similarmente, el cronograma de desarrollo no puede reducirse dramticamente sin deteriorar la calidad del producto de SW y/o incrementar el costo de desarrollo. Los modelos de estimacin juegan un papel importante ya que permiten equilibrar estos tres factores.
- COCOMO -

Introduccin (Cont)
Se han propuesto numerosos mtodos de estimacin entre ellos se pueden contar:
Juicio de Expertos Analoga Parkinson: Tasar para ganar Estimacin top-down Estimacin bottom-up Modelos Algortmicos(COCOMO)

- COCOMO -

Breve Historia
En el ao 1981, Barry Boehm publica el
modelo COCOMO, acorde a las prcticas de desarrollo de software de aquel momento [Boehm 1981].

En el ao 1983, se introduce el lenguaje de


programacin Ada (American National Standard Institute) para reducir los costos de desarrollo de grandes sistemas. Algunos aspectos de Ada provocaron un gran impacto en los costos de desarrollo y mantenimiento, as Barry Boehm y Walker Royce definieron un modelo revisado, llamado Ada COCOMO [Boehm 1989].
6
- COCOMO -

Breve Historia (Cont)


En los 90, las tcnicas de desarrollo de software cambiaron
dramticamente, surgieron la necesidad de reusar software existente, la construccin de sistemas usando libreras, etc. Despus de algunos aos y de un esfuerzo combinado de USC-CSE (University of Southern California- Center For Software Engineering), IRUS at UC Irvine y organizaciones privadas aparece COCOMO II. Las incorporaciones a este modelo lo reforzaron e hicieron apto para ser aplicado en proyectos vinculados a tecnologas como orientacin a objetos, desarrollo incremental, composicin de aplicacin, y reingeniera.

- COCOMO -

Breve Historia (Cont)


COCOMO II consta de tres modelos, cada uno de los cuales ofrece una precisin acorde a cada etapa de desarrollo del proyecto. Enunciados en orden creciente de fidelidad son:
Composicin de Aplicacin. Diseo Temprano. Post Arquitectura.
8
- COCOMO -

Breve Historia (Cont)


El USC- CSE implement los dos ltimos modelos en una herramienta de software. Esta herramienta le permite al planificador hacer rpidamente una exploracin de las posibilidades de un proyecto, analizando qu efectos provoca el ajuste de requerimientos, recursos y staff sobre la estimacin de costos y tiempos.
9
- COCOMO -

COCOMO 81
Est compuesto por tres modelos que corresponden a distintos niveles de detalle y precisin. Mencionados en orden creciente son:
Modelo Bsico Intermedio Detallado.

10

- COCOMO -

COCOMO 81 (Cont)
Permite estimar cmo se distribuye el esfuerzo y el tiempo en las distintas fases del desarrollo de un proyecto y dentro de cada fase, en las actividades principales. Las fases consideradas por COCOMO81 son:
Diseo del Producto (PD) Diseo Detallado (DD) Codificacin y Testeo de Unidades (CT) Integracin y Testeo (IT) Anlisis de Requerimientos
11
- COCOMO -

COCOMO II: Objetivos


Los objetivos principales que se tuvieron en cuenta para construir el modelo COCOMO II fueron:
SW que se adaptara tanto a las prcticas de desarrollo de la dcada del 90 como a las futuras. Construir una base de datos de proyectos de software. Implementar una herramienta de software que soportara el modelo. Proveer un marco analtico cuantitativo y un conjunto de herramientas y tcnicas que evaluaran el impacto de las mejoras tecnolgicas de software sobre los costos y tiempos en las diferentes etapas del ciclo de vida de desarrollo.
12
- COCOMO -

COCOMO II: Definicin


COCOMO II est compuesto por tres modelos denominados: Composicin de Aplicacin, Diseo Temprano y PostArquitectura. stos surgen en respuesta a la diversidad del mercado actual y futuro de desarrollo de software.

13

- COCOMO -

Modelo de Composicin de Aplicaciones


Se construyen a partir de componentes PreEmpaquetados. En este caso, se emplean Puntos Objetos para estimar el tamao del software, lo cual est acorde al nivel de informacin que generalmente se tiene en la etapa de planificacin, y el nivel de precisin requerido en la estimacin de proyectos de esta naturaleza.
14
- COCOMO -

Modelo de Diseo Temprano

Se utiliza en las primeras etapas del desarrollo en las cuales se evalan las alternativas de hardware y software de un proyecto. En estas etapas se tiene poca informacin, lo que concuerda con el uso de Puntos Funcin, para estimar tamao y el uso de un nmero reducido de factores de costo.

15

- COCOMO -

Modelo Post-Arquitectura
Se aplica en la etapa de desarrollo propiamente dicho, despus que se define la arquitectura del sistema, y en la etapa de mantenimiento. Este modelo utiliza:
Puntos Funcin y/o Lneas de Cdigo Fuente. Un conjunto de 17 atributos, denominados factores de costo. Cinco factores que determinan un exponente, que incorpora al modelo el concepto de des-economa y economa de escala. Estos factores reemplazan los modos Orgnico, Semiacoplado y Empotrado del modelo COCOMO '81.

16

- COCOMO -

Economas de Escala
1. 2. 3. 4. Dispersin de los costos fijos Reduccin de los costos de construccin Reduccin del costo de los materiales comprados Descubrimiento de otras ventajas en el proceso al dedicar recursos a grandes partidas de ciertos productos
Acelerar aprendizajes Disminuir inventarios Mejorar los procesos Reducir el nmero de cambios

17

- COCOMO -

Deseconomas de Escala

El costo promedio se eleva a medida que aumenta el tamao de la instalacin El tamao excesivo conlleva
complejidad prdida de enfoque Ineficiencias
18
- COCOMO -

Economas o deseconomas

Costo unitario promedio

Dimensin 1 Dimensin 2

Dimensin 3

Economa de escala D2

Deseconoma de escala D2

Dimensin ptima

Tasa de produccin
19
- COCOMO -

ESTIMACIN DEL ESFUERZO:

Es el esfuerzo necesario para concretar un proyecto de desarrollo de software, cualquiera sea el modelo empleado, se expresa en meses/persona (PM) y representa los meses de trabajo de una persona fulltime, requeridos para desarrollar el proyecto.
20
- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo de Composicin de Aplicacin (Cont)


PM = NOP / PROD
NOP = OP x (100 - %reuso)/100

21

- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo de Diseo Temprano

Este modelo se usa en las etapas tempranas de un proyecto de software, cuando se conoce muy poco del tamao del producto a ser desarrollado, de la naturaleza de la plataforma, del personal a ser incorporado al proyecto o detalles especficos del proceso a utilizar.
22
- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo de Diseo Temprano (Cont)

23

- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo de Diseo Temprano (Cont)


Clasificados en categoras, los 7 Multiplicadores de Esfuerzo son: Del Producto RCPX: Confiabilidad y Complejidad del producto RUSE: Reusabilidad Requerida De la Plataforma
PDIF: Dificultad de la Plataforma

Del Personal
PERS: Aptitud del Personal PREX: Experiencia del Personal

Del Proyecto
FCIL: Facilidades SCED: Cronograma de Desarrollo Requerido
24
- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo de Diseo Temprano (Cont)

25

- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo Post Arquitectura

Es el modelo de estimacin ms detallado y se aplica cuando la arquitectura del proyecto est completamente definida. Este modelo se aplica durante el desarrollo y mantenimiento de productos de software incluidos en las reas de Sistemas Integrados, Infraestructura y Generadores de Aplicaciones.
26
- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo Post Arquitectura (Cont)

27

- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo Post Arquitectura (Cont)

28

- COCOMO -

ESTIMACIN DEL ESFUERZO: Modelo Post Arquitectura (Cont)

29

- COCOMO -

ESTIMACIN DEL CRONOGRAMA


La versin inicial de COCOMO II provee un modelo de estimacin del cronograma similar al presentado en COCOMO' 81 y ADA COCOMO. La ecuacin inicial para los tres modelos de COCOMO II es:

30

- COCOMO -

METRICAS DE SOFTWARE
En la estimacin del tamao de software COCOMO II utiliza tres tcnicas:
Puntos Objeto Puntos Funcin No Ajustados Lneas de Cdigo Fuente.

31

- COCOMO -

PUNTOS OBJETO
A pesar de que la estimacin a travs de Puntos Objeto es un enfoque de medicin de tamao de software relativamente nuevo, es apropiado para las aplicaciones con componentes y para estimar esfuerzos en las etapas de prototipo.

32

- COCOMO -

PUNTOS OBJETO (Cont)


Primero: Determinar Cantidad de Objetos: Estimar la cantidad de pantallas, reportes, componentes de 3GL que contendr la aplicacin. Segundo: Clasificar cada instancia de un objeto segn sus niveles de complejidad (simple, media o difcil) de acuerdo a la Tabla 3.

33

- COCOMO -

PUNTOS OBJETO (Cont)


Tercero: Dar el peso a cada objeto segn el nivel de complejidad. Los pesos reflejan el esfuerzo relativo requerido para implementar una instancia de ese nivel de complejidad. Tabla 4. Cuarto: Determinar la cantidad de Puntos Objeto, sumando todos los pesos de las instancias de los tipos de objetos especificados.

34

- COCOMO -

PUNTOS OBJETO (Cont)

35

- COCOMO -

PUNTOS OBJETO (Cont)

36

- COCOMO -

PUNTOS FUNCION
El modelo COCOMO II usa Puntos Funcin y/o Lneas de Cdigo Fuente (SLOC) como base para medir tamao en los modelos de estimacin de Diseo Temprano y Post-Arquitectura. Los Puntos Funcin procuran cuantificar la funcionalidad de un sistema de software. La meta es obtener un nmero que caracterice completamente al sistema.
37
- COCOMO -

PUNTOS FUNCION (Cont)


FP = UFP x TCF
Donde UFP: Puntos Funcin no Ajustados TCF: Factor de Complejidad Tcnica

38

- COCOMO -

PUNTOS FUNCION (Cont)

39

- COCOMO -

LNEAS DE CDIGO FUENTE


COCOMO II considera a la sentencia fuente lgica como lnea standard de cdigo. Ahora bien, definir una lnea de cdigo es difcil debido a que existen diferencias conceptuales cuando se cuentan sentencias ejecutables y de declaraciones de datos en lenguajes diferentes. El objetivo es medir la cantidad de trabajo intelectual puesto en el desarrollo de un programa.
40
- COCOMO -

Conversin de Puntos Funcin a Lneas de Cdigo Fuente (SLOC)


Para determinar el esfuerzo nominal en el modelo COCOMO II los puntos funcin no ajustados tienen que ser convertidos a lneas de cdigo fuente considerando el lenguaje de implementacin (assembler, lenguajes de alto nivel, lenguajes de cuarta generacin, etc.). Esto se realiza para los modelos Diseo Temprano y Post Arquitectura.
41
- COCOMO -

Conversin de Puntos Funcin a Lneas de Cdigo Fuente (SLOC) (Cont)

42

- COCOMO -

DESPERDICIO DE CDIGO
Se considera como Desperdicio al porcentaje de cdigo que se debe eliminar debido a la volatilidad de los requerimientos. Por ejemplo, un proyecto con 100.000 instrucciones liberadas que descart el equivalente de 20.000 instrucciones tiene un valor de Desperdicio (BRAK) del 20%.

43

- COCOMO -

MODELO DEL REUSO


COCOMO II usa un modelo no lineal para estimar el tamao del software cuando ste incluye componentes reusables.

44

- COCOMO -

REINGENIERA Y CONVERSIN
El modelo de Reuso de COCOMO II necesita un refinamiento adicional para estimar el costo de reingeniera y de conversin. La principal diferencia entre reingeniera y conversin est dada por la eficiencia de las herramientas automatizadas utilizadas para reestructurar el software.

45

- COCOMO -

FACTOR EXPONENCIAL DE ESCALA


Los modelos de estimacin de costos analizan dos aspectos antagnicos que influyen notablemente en los procesos de estimacin, la economa y des-economa de escala. Los modelos de estimacin de costos frecuentemente tienen un factor exponencial para considerar las economas y des-economas de escala. En particular, COCOMO II captura esos efectos en el exponente B:

46

- COCOMO -

FACTOR EXPONENCIAL DE ESCALA:


Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX )

El factor de precedencia (PREC) toma en cuenta el grado de experiencia previa en relacin al producto a desarrollar, tanto en aspectos organizacionales como en el conocimiento del software y hardware a utilizar. El factor de flexibilidad (FLEX) considera el nivel de exigencia en el cumplimiento de los requerimientos preestablecidos, plazos de tiempos y especificaciones de interface.

47

- COCOMO -

FACTOR EXPONENCIAL DE ESCALA: Arquitectura y Determinacin del Riesgo (RESL)

Este factor involucra aspectos relacionados al conocimiento de los tems de riesgo crtico y al modo de abordarlos dentro del proyecto.

48

- COCOMO -

FACTOR EXPONENCIAL DE ESCALA: Cohesin del Equipo (TEAM)

Este factor involucra aspectos relacionados al conocimiento de los tems de riesgo crtico y al modo de abordarlos dentro del proyecto.

49

- COCOMO -

FACTOR EXPONENCIAL DE ESCALA: Madurez del Proceso (PMAT)

Existen dos formas de calcularlo: La primera captura el nivel de madurez de la organizacin, resultado de la evaluacin segn CMM y asignndole el valor. La segunda est basada en las dieciocho reas de Procesos Claves (KPAs) del modelo del SEI(Software Engineering Institute). El procedimiento para determinar el PMAT es establecer el porcentaje de cumplimiento de cada una de las reas evaluando el grado de cumplimiento de las metas correspondientes.
50
- COCOMO -

FACTORES MULTIPLICADORES DE ESFUERZO

El esfuerzo nominal de desarrollo de un proyecto de software se ajusta para una mejor estimacin mediante factores que se clasifican en cuatro reas: Producto Plataforma Personal Proyecto.
51
- COCOMO -

FACTORES MULTIPLICADORES DE ESFUERZO: Producto

52

- COCOMO -

FACTORES MULTIPLICADORES DE ESFUERZO: Plataforma

53

- COCOMO -

FACTORES MULTIPLICADORES DE ESFUERZO: Personal

54

- COCOMO -

FACTORES MULTIPLICADORES DE ESFUERZO: Proyecto

55

- COCOMO -

COMPARACIN ENTRE COCOMO 81 vs COCOMO II

56

- COCOMO -

COMPARACIN ENTRE COCOMO 81 vs COCOMO II (Cont)

57

- COCOMO -

COMPARACIN ENTRE COCOMO 81 vs COCOMO II (Cont)

58

- COCOMO -

Conclusiones
Considerara conceptos tales como orientacin a objetos, reingeniera, reusabilidad, utilizacin de paquetes comerciales, composicin de aplicaciones. Puede ser adaptado a un organismo en particular, si se cuenta con la experiencia de un nmero importante de proyectos ya culminados que puedan aportar los datos necesarios para la recalibracin.
59
- COCOMO -

Conclusiones (Cont)
Sin lugar a dudas, en la actualidad siguen existiendo inconvenientes y limitaciones para las estimaciones, pero ms all de esto COCOMO II ha recorrido un importante camino, logrando la madurez necesaria del modelo para conseguir estimaciones de gran precisin.

60

- COCOMO -

Gracias.
- COCOMO -

S-ar putea să vă placă și