Está en la página 1de 23

EL MODELO COCOMO

INTRODUCCIÓN

• Modelo Constructivo de Costes(Constructive Cost Model).


• La palabra “constructive” se refiere a el hecho que el modelo ayuda a un
estimador a comprender mejor la complejidad del software.
• Fue desarrollado por B. W. Boehm a finales de los 70 y comienzos de los 80.
• El cual lo expone en su libro "Software Engineering Economics" (Prentice-Hall,
1981).
• El cual detalla un modelo amplio de estimación de costos llamado COCOMO.
INTRODUCCIÓN

• Este modelo es un ejemplo de variable simple estático y es usado por miles de


administradores de proyecto de software.
• COCOMO ayuda a estimar el esfuerzo, tiempo, gente y costos (ya sea estos de
desarrollo, equipamiento y mantenimiento).
• El cual sirve para dar una estimación de el número de meses hombre que
tomará para desarrollar un producto software.
• Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación,
cada vez mayor, a medida que avanza el proceso de desarrollo del software:
Básico, Intermedio y Detallado
MODELO BÁSICO
Este modelo trata de estimar, de una manera rápida y más o menos
burda, la mayoría de proyectos pequeños y medianos. Se consideran
tres modos de desarrollo en este modelo: orgánico, semiencajado y
empotrado.
MODO ORGÁNICO

En este modo un pequeño grupo de programadores experimentados desarrollan software en un


entorno familiar. El tamaño del software varía de unos pocos miles de líneas (tamaño pequeño) a
unas decenas de miles de líneas (medio), mientras que en los otros dos modos el tamaño varía de
pequeño a muy grandes (varios cientos de miles de líneas). En este modo, al igual que en los otros, el
coste se incrementa a medida que el tamaño lo hace, y el tiempo de desarrollo se alarga.
Se utilizan dos ecuaciones para determinar el esfuerzo de personal y el tiempo de desarrollo. El coste
es
Km = 2.4 Sk1.05
Donde Km se expresa en personas-mes y Sk es el tamaño expresado en miles de líneas de código
fuente. El tiempo de desarrollo se da por
td = 2.5 Km0.38
donde Km se obtiene de la ecuación anterior y td es el tiempo de desarrollo en meses.
MODO EMPOTRADO

En este modo, el proyecto tiene unas fuertes restricciones, que pueden estar relacionadas
con el procesador y el interface hardware. El problema a resolver es único y es difícil
basarse en la experiencia, puesto que puede no haberla.
Las estimaciones de tiempo y coste se basan en las mismas ecuaciones que en el modo
orgánico, pero con diferentes constantes. Así, el coste se da por
Km = 3.6 Sk1.20
y el tiempo de desarrollo por
td = 2.5 Km0.32
MODO SEMIENCAJADO

Es un modo intermedio entre los dos anteriores. Dependiendo del problema, el


grupo puede incluir una mezcla de personas experimentadas y no experimentadas.
Las ecuaciones son
Km = 3.0 Sk1.12
y el tiempo de desarrollo por
td = 2.5 Km0.35.
NOTAS AL MODELO BÁSICO

Se puede observar que a medida que aumenta la complejidad del proyecto, las
constantes aumentan de 2.4 a 3.6, que corresponde a un incremento del esfuerzo del
personal. Hay que utilizar con mucho cuidado el modelo básico puesto que se obvian
muchas características del entorno.
CARACTERISTICAS

• Está basado en modelos de estimaciones matemáticas.


• Está orientado al producto final, no a fases intermedias.
• Se basa en la cantidad de líneas de código del proyecto.
INCONVENIENTES DEL MODELO

• Comentarios en linas de código.


• Estimaciones sobre un numero de linas de código variable
• No se le da importancia a la productividad referente a los habitos de trabajo.
• Dificultad para contemplar costes de revisiones, reuniones…
MODO a b

Orgánico 3.20 1.05

Semi - Orgánico 3.00 1.12

Empotrado 2.80 1.20

MODELO INTERMEDIO
En este modelo se introducen 15 atributos de coste para tener en cuenta el
entorno de trabajo. Estos atributos se utilizan para ajustar el coste nominal del
proyecto al entorno real, incrementando la precisión de la estimación.
Para este ajuste, al resultado de la fórmula general se lo multiplica por el
coeficiente surgido de aplicar los atributos que se decidan utilizar. Los valores de
las constantes a reemplazar en la fórmula son:
FÓRMULA

• Donde está el esfuerzo E aplicado en persona-meses


• KLoC es el número estimado de millares de líneas entregadas de
código para el proyecto.
• EAF es el factor calculado arriba.
ATRIBUTOS
•De software
•RELY: garantía de funcionamiento requerida al software. Indica las posibles consecuencias para
el usuario en el caso que existan defectos en el producto. Va desde la sola inconveniencia de
corregir un fallo (muy bajo) hasta la posible pérdida de vidas humanas (extremadamente alto,
software de alta criticidad).
•DATA: tamaño de la base de datos en relación con el tamaño del programa. El valor del
modificador se define por la relación: , donde D corresponde al tamaño de la base de datos en
bytes y K es el tamaño del programa en cantidad de líneas de código.
•CPLX: representa la complejidad del producto.

•De hardware
•TIME: limitaciones en el porcentaje del uso de la CPU.
•STOR: limitaciones en el porcentaje del uso de la memoria.
•VIRT: volatilidad de la máquina virtual.
•TURN: tiempo de respuesta requerido.
• De personal
• ACAP: calificación de los analistas.
• AEXP: experiencia del personal en aplicaciones similares.
• PCAP: calificación de los programadores.
• VEXP: experiencia del personal en la máquina virtual.
• LEXP: experiencia en el lenguaje de programación a usar.
• De proyecto
• MODP: uso de prácticas modernas de programación.
• TOOL: uso de herramientas de desarrollo de software.
• SCED: limitaciones en el cumplimiento de la planificación.
Valor
Atributos
Muy bajo Bajo Nominal Alto Muy alto Extra alto
Atributos de software
Fiabilidad 0,75 0,88 1 1,15 1,4
Tamaño de
0,94 1 1,08 1,16
Base de datos
Complejidad 0,7 0,85 1 1,15 1,3 1,65
Atributos de hardware
Restricciones
de tiempo de 1 1,11 1,3 1,66
ejecución
Restricciones
de memoria 1 1,06 1,21 1,56
virtual
Volatilidad de
la máquina 0,87 1 1,15 1,3
virtual
Tiempo de
0,87 1 1,07 1,15
respuesta
Atributos de personal
Capacidad de
1,46 1,19 1 0,86 0,71
análisis
Experiencia en
1,29 1,13 1 0,91 0,82
la aplicación
Calidad de los
1,42 1,17 1 0,86 0,7
programadores
Experiencia en
la máquina 1,21 1,1 1 0,9
virtual
Experiencia en
1,14 1,07 1 0,95
el lenguaje
Atributos del proyecto
Técnicas
actualizadas
1,24 1,1 1 0,91 0,82
de
programación
Utilización de
herramientas 1,24 1,1 1 0,91 0,83
de software
Restricciones
de tiempo de 1,22 1,08 1 1,04 1,1
desarrollo
MODELO DETALLADO
Este modelo puede procesar todas las características del proyecto
para construir una estimación
CARACTERÍSTICAS PRINCIPALES

• Multiplicadores de esfuerzo sensitivos a la fase: El modelo detallado


proporciona un conjunto de multiplicadores de esfuerzo para cada atributo.
Esto ayuda a determinar la asignación del personal para cada fase del
proyecto.

• Jerarquía del producto a tres niveles: Se definen tres niveles de producto.


Estos son módulo, subsistema y sistema.
Estimación del esfuerzo

Las fases de desarrollo se lleva a cabo a través de cuatro fases consecutivas:


requerimientos/planes, diseño del producto, programación y prueba/integración.

• Requerimientos/planes: Se analiza el requerimiento, se muestra un Plan de


Producto y se general una especificación completa del producto Esta fase
consume del 6% al 8% del esfuerzo nominal Kn, y dura del 10% al 40% del tiempo
nominal de desarrollo td. Estos porcentajes dependen del modo y del tamaño (de
2000 LOC a 512000 LOC).

• Diseño del producto: Se determina la arquitectura del producto y de las


especificaciones de los subsistemas. Esta fase requiere del 16% al 18% del
esfuerzo nominal Kn, y puede durar del 19% al 38% del tiempo nominal de
desarrollo td.
• Programación: Se subdivide en dos subfases: diseño detallado y prueba del
código. Esta fase requiere del 48% al 68% del esfuerzo nominal Kn, y dura del
24% Al 64% del tiempo nominal de desarrollo.

• Prueba/Integración: Une las diferentes unidades ya probadas. Se utiliza del


16% al 34% del coste nominal Kn y dura del 18% al 34% del td.
PRINCIPIO DE ESTIMACIÓN DEL ESFUERZO

Tamaño equivalente. Los casos se estiman las partes de diseño (D%), código (C%) e
integración (I%) a ser modificadas. Se calcula un factor de ajuste A
A = 0.4 D + 0.3 C + 0.3 I
El tamaño equivalente, Sequ es
Sequ = (S · A) / 100.
Cálculo del esfuerzo. El tamaño equivalente se calcula para cada módulo.

El esfuerzo asignado al desarrollo de cada módulo se obtiene entonces a través de:

• Seleccionar los valores apropiados de los atributos de coste para cada fase
• Multiplicar los atributos de coste para cada módulo y fase, obteniendo un conjunto
global
• Multiplicar los atributos globales por el esfuerzo nominal en cada fase y sumarlos para
obtener el esfuerzo total.
EJEMPLO

También podría gustarte