COCOMO
INTRODUCCION
El Modelo
Constructivo de Costos (COCOMO, por su acrónimo en inglés “COnstructive COst MOdel”), es
una jerarquía de modelos de estimación de costes software que incluye
submodelos básico, intermedio y detallado, que a la vez, también
se dividen en modos que representan el tipo de proyecto, y puede ser:
·
Modo orgánico: un pequeño grupo de programadores experimentados desarrollan software
en un entorno familiar. El tamaño del software varía desde unos pocos miles de
líneas (tamaño pequeño) a unas decenas de miles (medio).
·
Modo semilibre o semiencajado: corresponde a
un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo
puede incluir una mezcla de personas experimentadas y no experimentadas.
·
Modo rígido o empotrado: el proyecto tiene fuertes
restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden
ser técnicas. El problema a resolver es único y es difícil basarse en la
experiencia, puesto que puede no haberla.
Modelos de Estimación
Las ecuaciones que se utilizan
en los tres modelos son:
·
E=a(Kl)^b*m(X) , en persona-mes
·
Tdev=c(E)^d , en meses
·
P=E/Tdev , en personas
·
Q=P*S , en proyecto
Dónde:
·
E es
el esfuerzo requerido por el proyecto, en persona-mes
·
Tdev es
el tiempo requerido por el proyecto, en meses
·
P es
el número de personas requerido por el proyecto
·
a, b, c,
d son constantes con valores
definidos en una tabla, según cada submodelo
·
Q Costo
total del proyecto.
·
S Salario medio
entre los programadores y analistas.
·
Kl es
la cantidad de líneas de código, en miles.
·
m(X) Es
un multiplicador que depende de 15 atributos.
Modelo básico
Se utiliza para obtener una
primera aproximación rápida del esfuerzo, y hace uso de la siguiente tabla
de constantes para calcular distintos aspectos de costes:
MODO
|
a
|
b
|
c
|
d
|
Orgánico
|
2.40
|
1.05
|
2.50
|
0.38
|
Semi - Orgánico
|
3.00
|
1.12
|
2.50
|
0.35
|
Empotrado
|
3.60
|
1.20
|
2.50
|
0.32
|
Estos valores son para las
fórmulas previamente mencionadas.
Se puede observar que a medida
que aumenta la complejidad del proyecto (modo), 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.
Modelo intermedio
Este modelo añade al modelo
básico quince modificadores opcionales (m(X)) para tener en cuenta en el
entorno de trabajo, incrementando así la precisión de la estimación.
MODO
|
a
|
b
|
c
|
d
|
Orgánico
|
3.20
|
1.05
|
2.50
|
0.38
|
Semi - Orgánico
|
3.00
|
1.12
|
2.50
|
0.35
|
Empotrado
|
2.80
|
1.20
|
2.50
|
0.32
|
Se puede observar que los
exponentes son casi los mismos que los del modelo básico. Sin embargo los
coeficientes de los modos orgánico y rígido han cambiado, para mantener el
equilibrio alrededor del semilibre con respecto al efecto multiplicador de los
atributos de coste.
El valor de cada atributo, de
acuerdo a su calificación, se muestra en la siguiente tabla:
Atributos
|
Valor
|
|||||
Muy bajo
|
Bajo
|
Normal
|
Alto
|
Muy alto
|
Extra alto
|
|
Atributos
de software
|
||||||
Fiabilidad
|
0.75
|
0.88
|
1.00
|
1.15
|
1.40
|
|
Tamaño de Base de datos
|
0.94
|
1.00
|
1.08
|
1.16
|
||
Complejidad
|
0.70
|
0.85
|
1.00
|
1.15
|
1.30
|
1.65
|
Atributos
de hardware
|
||||||
Restricciones de tiempo de ejecución
|
1.00
|
1.11
|
1.30
|
1.66
|
||
Restricciones de memoria virtual
|
1.00
|
1.06
|
1.21
|
1.56
|
||
Volatilidad de la máquina virtual
|
0.87
|
1.00
|
1.15
|
1.30
|
||
Tiempo de respuesta
|
0.87
|
1.00
|
1.07
|
1.15
|
||
Atributos
de personal
|
||||||
Capacidad de análisis
|
1,46
|
1,19
|
1.00
|
0.86
|
0,71
|
|
Experiencia en la aplicación
|
1,29
|
1,13
|
1.00
|
0.91
|
0,82
|
|
Calidad de los programadores
|
1,42
|
1,17
|
1.00
|
0.86
|
0,70
|
|
Experiencia en la máquina virtual
|
1,21
|
1,10
|
1.00
|
0.90
|
||
Experiencia en el lenguaje
|
1,14
|
1,07
|
1.00
|
0.95
|
||
Atributos
del proyecto
|
||||||
Técnicas actualizadas de programación
|
1,24
|
1,10
|
1.00
|
0.91
|
0,82
|
|
Utilización de herramientas de software
|
1,24
|
1,10
|
1.00
|
0.91
|
0,83
|
|
Restricciones de tiempo de desarrollo
|
1,22
|
1,08
|
1.00
|
1.04
|
1,10
|
Modelo
Detallado
Presenta principalmente dos mejoras
respecto al modelo intermedio:
·
Los factores correspondientes a los
atributos son sensibles o dependientes de la fase sobre la que se realizan las
estimaciones. Aspectos tales como la experiencia en la aplicación, utilización
de herramientas de software, etc., tienen mayor influencia en unas fases que en
otras, y además van variando de una etapa a otra.
·
Establece una jerarquía de tres
niveles de productos, de forma que los aspectos que representan gran variación
a bajo nivel, se consideran a nivel módulo, los que representan pocas variaciones,
a nivel de subsistema; y los restantes son considerados a nivel sistema.
Inconvenientes
·
Los resultados no son proporcionales
a las tareas de gestión ya que no tiene en cuenta los recursos necesarios para
realizarlas.
·
Se puede desviar de la realidad si se
indica mal el porcentaje de líneas de comentarios en el código fuente.
·
La medición por líneas de código no
es válida para orientación a objetos.
Conclusión
Es uno de los modelos más
documentados en la actualidad y es muy fácil de utilizar. Una preocupación es
la adaptación de las ecuaciones exponenciales a organizaciones específicas,
cosa que no parece inmediatamente fácil. Sin embargo en un buen modelo
para calcular los gastos que podría tener una empresa a la hora de contratar y
construir un nuevo software
Bibliografía
We offer auto, business, home, Home insurance Edmonton life and Travelinsurance. Alliance Insurance Associates is no #1 insurance company based in Edmonton, Alberta.
ResponderBorrarVisit Now - http://www.insurancealliance.ca/