7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
1/61
23/07/2011
Modelo de Estimacin deProyecto de Software
COCOMO (Constructive Cost Model)ESTRATEGIAS DE SISTEMAS DE INFORMACIN
Y PROCESOS DE COSTOS DE TI
Grupo N1:Luis Boy ChavilHaybert Escobedo Neyra
Ricardo Gutirrez Pastorngel Vsquez Snchez
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
2/61
- COCOMO -2
Presentacin
Como se conoce, una de las tareas de mayorimportancia en la planificacin de proyectos de
software es la estimacin, la cual consiste endeterminar, con cierto grado de certeza: Los recursos de hardware y software,
Costo,
Tiempo, Esfuerzo, necesarios para el desarrollo de los mismos.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
3/61
- COCOMO -3
Introduccin
Durante la etapa de
planeamiento:
Permite decidir cuantaspersonas son necesarias para
llevar a cabo el proyecto yestablecer el cronogramaadecuado.
Para controlar el progreso del
proyecto:
Es esencial evaluar si elproyecto est evolucionando de
acuerdo al cronograma y tomarlas acciones correctivas si fueranecesario.
La estimacin de costos de software tiene dos usos en laadministracin de proyectos:
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
4/61
- COCOMO -4
Introduccin (Cont)
Es importante reconocer lafuerte 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/oincrementar el costo de desarrollo.
Los modelos de estimacin juegan
un papel importante ya que
permiten equilibrar estos tres
factores.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
5/61
- COCOMO -5
Introduccin (Cont)
Se han propuesto numerosos mtodos de estimacin entreellos se pueden contar: Juicio de Expertos
Analoga
Parkinson:
Tasar para ganar
Estimacin top-down
Estimacin bottom-up
Modelos Algortmicos(COCOMO)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
6/61
- COCOMO -6
Breve Historia
En el ao 1981, Barry Boehm publica elmodelo COCOMO, acorde a las prcticas dedesarrollo de software de aquel momento
[Boehm 1981]. En el ao 1983, se introduce el lenguaje de
programacin Ada (American National StandardInstitute) para reducir los costos de desarrollo degrandes sistemas. Algunos aspectos de Ada
provocaron un gran impacto en los costos dedesarrollo y mantenimiento, as Barry Boehm yWalker Royce definieron un modelo revisado,llamado Ada COCOMO [Boehm 1989].
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
7/61
- COCOMO -7
Breve Historia (Cont)
En los 90, las tcnicas de desarrollo de software cambiarondramticamente, 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 paraser aplicado en proyectos vinculados a tecnologas como orientacin a
objetos, desarrollo incremental, composicin de aplicacin, yreingeniera.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
8/61
- COCOMO -8
Breve Historia (Cont)
COCOMO II consta de tres modelos, cada uno delos cuales ofrece una precisin acorde a cada
etapa de desarrollo del proyecto. Enunciados enorden creciente de fidelidad son:
Composicin de Aplicacin.
Diseo Temprano.
Post Arquitectura.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
9/61
- COCOMO -9
Breve Historia (Cont)
El USC- CSE implement losdos ltimos modelos en unaherramienta de software. Esta
herramienta le permite alplanificador hacer rpidamenteuna exploracin de lasposibilidades de un proyecto,
analizando qu efectos provocael ajuste de requerimientos,recursos y staff sobre laestimacin de costos y tiempos.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
10/61
- COCOMO -10
COCOMO 81
Est compuesto por tres modelos quecorresponden a distintos niveles de detalle y
precisin. Mencionados en orden creciente son:
Modelo Bsico
Intermedio
Detallado.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
11/61
- COCOMO -11
COCOMO 81 (Cont)
Permite estimar cmo se distribuye el esfuerzo y el tiempoen las distintas fases del desarrollo de un proyecto y dentrode cada fase, en las actividades principales. Las fasesconsideradas por COCOMO81 son:
Diseo del Producto (PD)
Diseo Detallado (DD)
Codificacin y Testeo de Unidades (CT) Integracin y Testeo (IT)
Anlisis de Requerimientos
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
12/61
- COCOMO -12
COCOMO II: Objetivos
Los objetivos principales que se tuvieron en cuenta paraconstruir 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 elmodelo.
Proveer un marco analtico cuantitativo y un conjunto deherramientas y tcnicas que evaluaran el impacto de lasmejoras tecnolgicas de software sobre los costos y tiemposen las diferentes etapas del ciclo de vida de desarrollo.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
13/61
- COCOMO -13
COCOMO II: Definicin
COCOMO II est compuesto por tres modelos denominados:Composicin de Aplicacin, Diseo Temprano y Post-
Arquitectura.
stos surgen en respuesta a la diversidad del mercado actual yfuturo de desarrollo de software.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
14/61
- COCOMO -14
Modelo de Composicin de Aplicaciones
Se construyen a partir de componentes Pre-Empaquetados.
En este caso, se emplean Puntos Objetos paraestimar el tamao del software, lo cual estacorde al nivel de informacin que generalmentese tiene en la etapa de planificacin, y el nivel de
precisin requerido en la estimacin de proyectosde esta naturaleza.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
15/61
- COCOMO -15
Modelo de Diseo Temprano
Se utiliza en las primeras etapas del desarrollo enlas 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, paraestimar tamao y el uso de un nmero reducido
de factores de costo.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
16/61
- COCOMO -16
Modelo Post-Arquitectura
Se aplica en la etapa de desarrollo propiamente dicho,despus que se define la arquitectura del sistema, y enla 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 incorporaal modelo el concepto de des-economa y economa de
escala. Estos factores reemplazan los modos Orgnico,Semiacoplado y Empotrado del modelo COCOMO '81.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
17/61
- COCOMO -17
Economas de Escala
1. Dispersin de los costos fijos
2. Reduccin de los costos de construccin
3. Reduccin del costo de los materiales comprados4. Descubrimiento de otras ventajas en el proceso aldedicar recursos a grandes partidas de ciertos productos Acelerar aprendizajes
Disminuir inventarios
Mejorar los procesos
Reducir el nmero de cambios
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
18/61
- COCOMO -18
Deseconomas de Escala
El costo promedio se eleva a medida que aumentael tamao de la instalacin
El tamao excesivo conlleva
complejidad
prdida de enfoque
Ineficiencias
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
19/61
- COCOMO -19
Economas o deseconomas
Costo
unitariopro
medio
Tasa de produccin
Dimensin 1
Dimensin 2
Dimensin 3
Deseconoma de escala D2Economa de escala D2
Dimensin ptima
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
20/61
- COCOMO -20
ESTIMACIN DEL ESFUERZO:
Es el esfuerzo necesario para concretar unproyecto de desarrollo de software,
cualquiera sea el modelo empleado, seexpresa en meses/persona (PM) y representalos meses de trabajo de una persona
fulltime, requeridos para desarrollar elproyecto.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
21/61
- COCOMO -21
ESTIMACIN DEL ESFUERZO:
Modelo de Composicin de Aplicacin(Cont)
PM = NOP / PROD
NOP = OP x (100 - %reuso)/100
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
22/61
- COCOMO -22
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 aser desarrollado, de la naturaleza de laplataforma, del personal a ser incorporado
al proyecto o detalles especficos delproceso a utilizar.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
23/61
- COCOMO -23
ESTIMACIN DEL ESFUERZO:
Modelo de Diseo Temprano(Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
24/61
- COCOMO -24
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
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
25/61
- COCOMO -25
ESTIMACIN DEL ESFUERZO:
Modelo de Diseo Temprano(Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
26/61
- COCOMO -26
ESTIMACIN DEL ESFUERZO:
Modelo PostArquitectura Es el modelo de estimacin ms detallado y
se aplica cuando la arquitectura del
proyecto est completamente definida. Estemodelo se aplica durante el desarrollo ymantenimiento de productos de software
incluidos en las reas de SistemasIntegrados, Infraestructura y Generadoresde Aplicaciones.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
27/61
- COCOMO -27
ESTIMACIN DEL ESFUERZO:
Modelo PostArquitectura(Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
28/61
- COCOMO -28
ESTIMACIN DEL ESFUERZO:
Modelo PostArquitectura(Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
29/61
- COCOMO -29
ESTIMACIN DEL ESFUERZO:
Modelo PostArquitectura(Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
30/61
- COCOMO -30
ESTIMACIN DEL CRONOGRAMA
La versin inicial de COCOMO II provee un modelo deestimacin del cronograma similar al presentado enCOCOMO' 81 y ADA COCOMO. La ecuacin inicial para
los tres modelos de COCOMO II es:
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
31/61
- COCOMO -31
METRICAS DE SOFTWARE
En la estimacin del tamao de softwareCOCOMO II utiliza tres tcnicas:
Puntos Objeto
Puntos Funcin No Ajustados
Lneas de Cdigo Fuente.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
32/61
- COCOMO -32
PUNTOS OBJETO
A pesar de que la estimacin a travs de PuntosObjeto es un enfoque de medicin de tamao de
software relativamente nuevo, es apropiado paralas aplicaciones con componentes y para estimaresfuerzos en las etapas de prototipo.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
33/61
- COCOMO -33
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 objetosegn sus niveles de complejidad (simple, media odifcil) de acuerdo a la Tabla 3.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
34/61
- COCOMO -34
PUNTOS OBJETO (Cont)
Tercero: Dar el peso a cada objeto segn el nivelde complejidad. Los pesos reflejan el esfuerzo
relativo requerido para implementar una instanciade 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.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
35/61
- COCOMO -35
PUNTOS OBJETO (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
36/61
- COCOMO -36
PUNTOS OBJETO (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
37/61
- COCOMO -37
PUNTOS FUNCION
El modelo COCOMO II usa Puntos Funcin y/oLneas de Cdigo Fuente (SLOC) como base para
medir tamao en los modelos de estimacin deDiseo Temprano y Post-Arquitectura.
Los Puntos Funcin procuran cuantificar lafuncionalidad de un sistema de software.
La meta es obtener un nmero que caractericecompletamente al sistema.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
38/61
- COCOMO -38
PUNTOS FUNCION (Cont)
FP = UFP x TCF
DondeUFP: Puntos Funcin no Ajustados
TCF: Factor de Complejidad Tcnica
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
39/61
- COCOMO -39
PUNTOS FUNCION (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
40/61
- COCOMO -40
LNEAS DE CDIGO FUENTE
COCOMO II considera a la sentencia fuentelgica como lnea standard de cdigo. Ahora bien,
definir una lnea de cdigo es difcil debido a queexisten diferencias conceptuales cuando secuentan sentencias ejecutables y de declaracionesde datos en lenguajes diferentes. El objetivo es
medir la cantidad de trabajo intelectual puesto enel desarrollo de un programa.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
41/61
- COCOMO -41
Conversin de Puntos Funcin a Lneas deCdigo Fuente (SLOC)
Para determinar el esfuerzo nominal en el modeloCOCOMO II los puntos funcin no ajustados
tienen que ser convertidos a lneas de cdigofuente considerando el lenguaje deimplementacin (assembler, lenguajes de altonivel, lenguajes de cuarta generacin, etc.). Esto se
realiza para los modelos Diseo Temprano y PostArquitectura.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
42/61
- COCOMO -42
Conversin de Puntos Funcin a Lneas deCdigo Fuente (SLOC) (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
43/61
- COCOMO -43
DESPERDICIO DE CDIGO
Se considera comoDesperdicio al porcentaje decdigo que se debe eliminar debido a la volatilidad
de los requerimientos. Por ejemplo, un proyectocon 100.000 instrucciones liberadas que descartel equivalente de 20.000 instrucciones tiene unvalor deDesperdicio (BRAK) del 20%.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
44/61
- COCOMO -44
MODELO DEL REUSO
COCOMO II usa un modelo no lineal para estimarel tamao del software cuando ste incluye
componentes reusables.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
45/61
- COCOMO -45
REINGENIERA Y CONVERSIN
El modelo de Reuso de COCOMO II necesita unrefinamiento adicional para estimar el costo de
reingeniera y de conversin. La principaldiferencia entre reingeniera y conversin estdada por la eficiencia de las herramientasautomatizadas utilizadas para reestructurar el
software.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
46/61
- COCOMO -46
FACTOR EXPONENCIAL DE ESCALA
Los modelos de estimacin de costos analizan dos aspectosantagnicos 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 economasy des-economas de escala. En particular, COCOMO II
captura esos efectos en el exponenteB:
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
47/61
- COCOMO -47
FACTOR EXPONENCIAL DE ESCALA:Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX )
El factor de precedencia (PREC) toma en cuenta el gradode experiencia previa en relacin al producto a desarrollar,
tanto en aspectos organizacionales como en elconocimiento del software y hardware a utilizar.
El factor de flexibilidad (FLEX) considera el nivel deexigencia en el cumplimiento de los requerimientos
preestablecidos, plazos de tiempos y especificaciones deinterface.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
48/61
- COCOMO -48
FACTOR EXPONENCIAL DE ESCALA:
Arquitectura y Determinacin del Riesgo (RESL)
Este factor involucra aspectos relacionados alconocimiento de los tems de riesgo crtico y al
modo de abordarlos dentro del proyecto.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
49/61
- COCOMO -49
FACTOR EXPONENCIAL DE ESCALA:
Cohesin del Equipo (TEAM)
Este factor involucra aspectos relacionados alconocimiento de los tems de riesgo crtico y al
modo de abordarlos dentro del proyecto.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
50/61
- COCOMO -50
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 elvalor.
La segunda est basada en las dieciocho reas deProcesos Claves (KPAs) del modelo del SEI(Software
Engineering Institute). El procedimiento para determinarel PMAT es establecer el porcentaje de cumplimiento decada una de las reas evaluando el grado de cumplimientode las metas correspondientes.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
51/61
- COCOMO -51
FACTORES MULTIPLICADORES DE ESFUERZO
El esfuerzo nominal de desarrollo de un proyectode software se ajusta para una mejor estimacin
mediante factores que se clasifican en cuatroreas:
Producto
Plataforma Personal
Proyecto.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
52/61
- COCOMO -52
FACTORES MULTIPLICADORES DE ESFUERZO:
Producto
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
53/61
- COCOMO -53
FACTORES MULTIPLICADORES DE ESFUERZO:
Plataforma
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
54/61
- COCOMO -54
FACTORES MULTIPLICADORES DE ESFUERZO:
Personal
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
55/61
- COCOMO -55
FACTORES MULTIPLICADORES DE ESFUERZO:
Proyecto
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
56/61
- COCOMO -56
COMPARACIN ENTRECOCOMO 81 vs COCOMO II
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
57/61
- COCOMO -57
COMPARACIN ENTRECOCOMO 81 vs COCOMO II (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
58/61
- COCOMO -58
COMPARACIN ENTRECOCOMO 81 vs COCOMO II (Cont)
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
59/61
- COCOMO -59
Conclusiones
Considerara conceptos tales como orientacin aobjetos, reingeniera, reusabilidad, utilizacin depaquetes comerciales, composicin deaplicaciones.
Puede ser adaptado a un organismo en particular,si se cuenta con la experiencia de un nmero
importante de proyectos ya culminados quepuedan aportar los datos necesarios para larecalibracin.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
60/61
- COCOMO -60
Conclusiones (Cont)
Sin lugar a dudas, en la actualidad siguenexistiendo inconvenientes y limitaciones para lasestimaciones, pero ms all de esto COCOMO IIha recorrido un importante camino, logrando lamadurez necesaria del modelo para conseguirestimaciones de gran precisin.
7/31/2019 Modelo de Estimacin de Proyecto de Software (COCOMO)
61/61
COCOMO
Gracias.