Está en la página 1de 35

MODELO COCOMO

Modelo Constructivo de Costos


(COnstructive COst Model)
Qu es el Modelo COCOMO?
Cocomo es un modelo diseado por Barry
W. Boehm para dar una estimacin de el
nmero de meses hombre que tomar
para desarrollar un producto software.

Es un modelo matemtico de base emprica


utilizado para estimacin de costos de software.
Incluye tres submodelos, cada uno ofrece un
nivel de detalle y aproximacin, cada vez mayor,
a medida que avanza el proceso de desarrollo
del software: Bsico, Intermedio y Detallado.

2
Simple: proyectos pequeos de < 50KLDC, en los
cuales se tiene experiencia de proyectos similares

Moderado: proyectos de complejidad media(<


300 KLDC) donde la experiencia es variable.

Incrustado: proyectos bastante complejos donde


la experiencia es nula y se utiliza tecnologa
realmente de frontera.
Estimacin LDC y PF

Las estimaciones de LDC y PF son tcnicas de


estimacin distintas:

LDC (Orientadas al tamao)


PF (Orientadas a la funcin)

Los datos de LDC y PF se utilizan de dos formas


durante la estimacin del proyecto de software.
Tcnicas de Estimacin

El valor esperado para la variable de estimacin, E,


puede
obtenerse como una media ponderada de las
estimaciones
LDC o PF optimista (a), ms probable (m), y
pesimista (b) de
las estimaciones LDC o PF por ejemplo:

E = (a + 4m + b)/6

EJEMPLO: LDC
Modelos de Punto de Funcin
Este modelo se crea como una alternativa a la
estimacin del tamao de un producto software
mediante LDC (Lneas de Cdigo Fuente).

El mtodo de estimacin de puntos de funcin se


utiliza para determinar el tamao del software.

Estn orientadas a la funcin es decir se centran en la


funcionalidad o utilidad del programa.

PF= ConteoTotal * [0,65 + 0,01 *


(Fi )] EJEMPLO
Trabaja en Funcin de 3
Submodelos:
Modelo Bsico
Modelo Intermedio
Modelo Detallado
MODELOS DE ESTIMACION
Las ecuaciones que se utilizan en los tres modelos son:
, en persona-mes
, en meses
, en personas
donde:
E es el esfuerzo requerido por el proyecto, en persona-mes
Tdev es el tiempo requerido por el proyecto, en meses
P es el nmero de personas requerido por el proyecto
a, b, c y d son constantes con valores definidos en una tabla,
segn cada submodelo
Kl es la cantidad de lneas de cdigo, en miles.
m(X) Es un multiplicador que depende de 15 atributos.
El modelo COCOMO bsico

E= a (KLOC) b

E= esfuerzo (hombre/mes)
KLOC= nmero (miles)
estimado de lneas de cdigo
del proyecto.
Tiempo de desarrollo:

D= c (E) d
La Variable a es un factor constante que
depende de las practicas organizacionales
locales y del tipo de software que se
desarrolla.

La variable b por lo general se encuentra


entre (1;1.5), refleja el esfuerzo requerido
en la mayoria de proyectos
Coeficientes a usar:

PROYECTO a b c d Descripcin
SOFTWARE

Simple 3,2 1,05 2,5 0,38 Aplicaciones bien comprendidas desarrolladas


por equipos pequeos

Moderada 3,0 1,12 2,5 0,35 Proyectos ms complejos donde los miembros
del equipo tienen experiencia limitada en
sistemas relacionados
Incrustada 2,8 1,20 2,5 0,32 Proyectos complejos donde el software es parte
de un complejo fuertemente acoplado de
hardware, software, reglas y procedimientos
operacionales.
Ejemplo:
Supongamos que una empresa cualquiera
desea disear un proyecto que gestione sus
inventarios y decide desarrollarlo mediante su
propio equipo de analista y programadores que
anteriormente y durante muchos aos, vienen
desarrollando aplicaciones similares en la
misma empresa.

Si un estudio inicial determina que el tamao


del producto en alrededor de 32 000 lneas de
programa fuente (32 KLOC). Cuales sern las
caractersticas del proyecto?.
Esfuerzo:

E = 2.4 (32)1.05 E = 91 hombres-mes

Tiempo de desarrollo:

D= c (E)d D = 2.5 (91)0.38 = 14 meses


b
Nmero de personas trabajando en el proyecto:

N = 91/14 = 6.5 hombres


Ejemplo: LDC
Considerar un paquete de software a desarrollar para una aplicacin de diseo
asistido por computador (CAD). Revisando la especificacin del sistema
encontramos que el software va ejecutarse en una estacin de trabajo de
microcomputadora y se conectar con varios perifricos grficos incluyendo
ratn, digitalizador, pantalla en color de alta resolucin, y una impresora de alta
resolucin.

La evaluacin del alcance indica que se requieren las siguientes


funciones principales para el software de CAD:
* Interfaz de usuario y facilidades de control (IUCF)
* Anlisis geomtrico bidimensional (AG2D)
* Anlisis geomtrico tridimensional (A3GD)
* Gestin de estructuras de datos (GED)
* Facilidades de visualizacin de grficos de computadora (FVGC)
* Control de perifricos (CP)
* Mdulos de anlisis de diseo (MAD)
SOLUCION
Funcin Optimista Ms Pesimista Esperado
probable

Control de interfaz de 1800 2400 2650 2340


usuario
Anlisis geomtrico en 2- 4100 5200 7400 5380
D
Anlisis geomtrico en 3- 4600 6900 8600 6800
D
Gestin de la estructura 2950 3400 3600 3350
de datos
Visualizacin de grficos 4050 4900 6200 4950
en la computadora
Control perifricos 2000 2100 2450 2140
Anlisis de diseo 6600 8500 9800 8400

33360
REGRESAR LDC estimadas
Sensores
Contrasea

Consulta de zona
Funcin E
Usuario Consulta de sensor
Interaccin De
Usuario En
Hogar Seguro
Botn de pnico Usuario

Activar/Desactivar

Subsistema
Datos De Configuracion Del Sistema De Monitoreo
Y Respuesta
SOLUCION
Se muestra 3 entradas externas (contrasea, botn de pnico y
activar/desactivar) junto con 2 consultas externas(consulta de zona y
consulta de sensor). Se muestra ALI (archivo de configuracin del sistema).
Tambin estn presentes 2 salidas de usuarios( mensajes y estatus del
sensor) y 4 AIE (sensor de prueba, configuracin de zona, activar
/desactivar y alerta de alarma)
PREGUNTAS para determinar los factores de ajustes de valor Fi en PF:
1) El sistema requiere respaldo y recuperacin confiables?
2) Se requieren comunicaciones de datos especializados para transferir
informacin a la aplicacin, u obtenerla de ella?
3) Hay funciones distribuidas de procesamiento?
4)El desempeo es crtico?
5)El sistema se ejecutar en un entorno existente que tiene un uso pesado
de operaciones?
6)El sistema requiere entrada de datos en lnea?
7)La entrada de datos en lnea requiere que la transaccin de entrada se
construya en varias pantallas u operaciones?
8)Los ALI se actualizan en lnea?
9)Las entradas, las salidas, los archivos o las consultas
son complejos?
10)Es complejo el procesamiento interno?
11)El cdigo diseado ser reutilizable?
12)Se incluyen la conversin e instalacin en el diseo?
13)Esta diseado el sistema para instalaciones mltiples
en diferentes organizaciones?
14) La aplicacin est diseada para facilitar el cambio
y para que el usuario use fcilmente?
Ejemplo PF

NIVEL DE COMPLEJIDAD
TIPO DE FUNCION TOTAL
SIMPLE MEDIO COMPLEJO

Entradas de Usuario 3* 3 3*4 3* 6 9

Salidas de Usuario 2* 4 2*5 2* 7 8

Archivos Internos 1*7 1*10 1* 15 7

Archivos Externos 4* 5 4* 7 4* 10 20

Consultas de Usuario 2* 3 2* 4 2* 6 6

TOTAL PF SIN AJUSTAR PF = 50

PF= 50*(0,65+(0,01*46)) REGRESAR


PF=56
Modelo COCOMO Intermedio
COCOMO intermedio esfuerzo del desarrollo del software
de los clculos como funcin del tamao del programa y de
un sistema de los conductores del coste que incluyen el
gravamen subjetivo del producto, del hardware, del personal
y de las cualidades del proyecto.
Esta extensin considera un sistema de cuatro los
conductores costados, cada uno con un nmero de
cualidades del subsidiario:
Cualidades de producto
Confiabilidad requerida del software
Tamao de la base de datos del uso
Complejidad del producto
Cualidades del hardware
Apremios de funcionamiento Run-time
Apremios de la memoria
Volatilidad del ambiente virtual de la mquina
Tiempo de turnabout requerido
Cualidades del personal
Capacidad del analista
Capacidad de la tecnologa de dotacin lgica
Experiencia de los usos
Experiencia virtual de la mquina
Experiencia del lenguaje de programacin
Cualidades del proyecto
Uso de las herramientas del software
Uso de los mtodos de la tecnologa de dotacin lgica
Horario requerido del desarrollo
Cada uno de las 15 cualidades recibe un
grado en una escala del seis-punto que se
extienda de muy bajo a superior (en
importancia o valor). Un multiplicador del
esfuerzo de la tabla abajo se aplica al
grado. El producto de todos los
multiplicadores del esfuerzo da lugar
a coeficiente de adaptacin del esfuerzo
(EAF). Los valores tpicos para EAF se
extienden a partir de la 0.9 a 1.4.
Conductores del coste Grados
Muy Bajo Nominal Alto Muy arriba Superior
bajo
Cualidades de producto

Confiabilidad requerida 0.75 0.88 1.00 1.15 1.40


del software

Tamao de la base de 0.94 1.00 1.08 1.16


datos del uso

Complejidad del 0.70 0.85 1.00 1.15 1.30 1.65


producto
Cualidades del hardware

Apremios de 1.00 1.11 1.30 1.66


funcionamiento Run-time

Apremios de la memoria 1.00 1.06 1.21 1.56

Volatilidad del ambiente 0.87 1.00 1.15 1.30


virtual de la mquina

Tiempo de turnabout 0.87 1.00 1.07 1.15


requerido
Cualidades del personal

Capacidad del analista 1.46 1.19 1.00 0.86 0.71

Experiencia de los usos 1.29 1.13 1.00 0.91 0.82

Capacidad de la Software 1.42 1.17 1.00 0.86 0.70


Engineer

Experiencia virtual de la 1.21 1.10 1.00 0.90


mquina

Experiencia del lenguaje 1.14 1.07 1.00 0.95


de programacin

Cualidades del proyecto

Uso de las herramientas 1.24 1.10 1.00 0.91 0.82


del software

Uso de los mtodos de la 1.24 1.10 1.00 0.91 0.83


tecnologa de dotacin
lgica

Horario requerido del 1.23 1.08 1.00 1.04 1.10


desarrollo
FORMULA DEL MODELO
COCOMO INTERMEDIO

E=ai(KLoC)(bi).EAF
Donde est el esfuerzo E aplicado en persona-
meses, KLoC es el nmero estimado de millares
de lneas entregadas de cdigo para el proyecto,
yEAF es el factor calculado arriba. El
coeficiente ai y el exponente bi se dan en la tabla
siguiente.
Proyecto del software ai bi
Orgnico 3.2 1.05
Semi-separado 3.0 1.12
Encajado 2.8 1.20

El tiempo de desarrollo D aplicaciones del


clculo E de la misma forma que en el
COCOMO bsico.
Modelo COCOMO Detallado
COCOMO detallado - incorpora todas
las caractersticas de la versin intermedia
con un gravamen del impacto del
conductor del coste en cada paso
(anlisis, diseo, etc.) del proceso de la
tecnologa de dotacin lgica.
CONCLUSION DE FASES
COCOMO BASICO: Calcula esfuerzo y
costo del desarrollo en funcin del
programa, expresados en LDC.
COCOMO INTERMEDIO: Calcula
esfuerzo y costo en funcin de costo con
atributos del producto del HW, del personal
y del proyecto.
COCOMO DETALLADO: Incorpora las
caractersticas del intermedio + evaluacin
de las condiciones de costo en cada fase del
proyecto.
INCONVENIENTES DEL
MODELO COCOMO
Los resultados no son proporcionales a las tareas de gestin
ya que no tiene en cuenta los recursos necesarios para
realizarlas.
Se puede desviar de la realidad si se indica mal el porcentaje
de lneas de comentarios en el cdigo fuente.
Es un tanto subjetivo, puesto que est basado en
estimaciones y parmetros que pueden ser "vistos" de
distinta manera por distintos analistas que usen el mtodo.
Se miden los costes del producto, de acuerdo a su tamao y
otras caractersticas, pero no la productividad.
La medicin por lneas de cdigo no es vlida
para orientacin a objetos.
Utilizar este modelo puede resultar un poco complicado, en
comparacin con otros mtodos (que tambin slo estiman).
A la vez, cada submodelo tambin se divide en modos que
representan el tipo de proyecto, y puede ser:

Modo Organico
Modo Semilibre o Semiencajado
Modo Rigido o Empotrado
MODO ORGANICO
un pequeo grupo de programadores
experimentados desarrollan software en un
entorno familiar. El tamao del software
vara desde unos pocos miles de lneas
(tamao pequeo) a unas decenas de miles
(medio).
proyectos relativamente sencillos, menores
de 50 KDLC lneas de cdigo, en los cuales
se tiene experiencia de proyectos similares y
se encuentran en entornos estables.
MODO SEMILIBRE O
SEMIENCAJADO
corresponde a un esquema intermedio
entre el orgnico y el rgido; el grupo de
desarrollo puede incluir una mezcla de
personas experimentadas y no
experimentadas.
proyectos intermedios en complejidad y
tamao (menores de 300 KDLC), donde
la experiencia en este tipo de proyectos
es variable, y las restricciones intermedias.
MODO RIGIDO O EMPOTRADO

el proyecto tiene fuertes restricciones, que


pueden estar relacionadas con la
funcionalidad y/o pueden ser tcnicas. El
problema a resolver es nico y es difcil
basarse en la experiencia, puesto que puede
no haberla.
proyectos bastante complejos, en los que
apenas se tiene experiencia y se engloban en
un entorno de gran innovacin tcnica.
Adems se trabaja con unos requisitos muy
restrictivos y de gran volatilidad.