Este documento describe el modelo COCOMO (Constructive Cost Model), un modelo matemático empírico utilizado para estimar los costos y recursos necesarios para desarrollar software. El modelo considera factores como el tamaño del software, factores técnicos y ambientales para proveer estimaciones precisas. COCOMO ofrece tres niveles de aplicación (básico, intermedio y avanzado) dependiendo de los factores considerados. El nivel básico calcula el esfuerzo como función de las líneas de código estimadas.
2. 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.
3. 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.
4. Este modelo puede procesar todas las
características del proyecto para construir una
estimación. Introduce dos características
principales
(1) Multiplicadores de esfuerzo sensitivos a la
fase. Algunas fases se ven más afectadas que
otras por los atributos. 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.
5. PROYECTO SOFTWARE a e c d
Orgánico 3,2 1,0
5
2,5 0,3
8
Semi-acoplado 3,0 1,1
2
2,5 0,3
5
Empotrado 2,8 1,2
0
2,5 0,3
2
Así pues tras saber que son 32 LDC por cada PF, por el hecho de ser Visual Basic el resultado de los KDLC será el siguiente:
KLDC= (PF * Líneas de código por cada PF)/1000 = (261,36*32)/1000= 8,363 KDLC
Así pues, en nuestro caso el tipo orgánico será el más apropiado ya que el número de líneas de
código no supera los 50 KLDC, y
además el proyecto no es muy complejo, por consiguiente, los coeficientes que usaremos serán las siguientes:
6.
7.
8. COCOMO II es un modelo matemático de base empírica
utilizado para estimación de costos de software
(presupuesto y recursos necesarios), este modelo tiene en
cuenta para la estimación el tamaño del software, factores
de técnicos y ambientales; por lo que es un modelo que
usado correctamente puede brindarnos estimaciones con
alto grado de exactitud ya que se alimenta con múltiples
factores que pueden afectar la construcción del software.
Este método require la identificación de los
actores(usuarios del sistema) y casos de uso
(funcionalidades del sistema) identificados para calcular el
esfuerzo que costará desarrollarlos.
9. Es uno de los modelos más documentados en la actualidad y es muy
fácil de utilizar. Es correcto con referencia a los 63 proyectos
utilizados, aunque de ello no se debe desprender que deba ser válido
siempre. Una preocupación es la adaptación de las ecuaciones
exponenciales a organizaciones específicas, cosa que no parece
inmediatamente fácil.
Cada factor debe contemplar cuando es mejor asignarle un valor bajo
o alto según el caso. Por ejemplo si el proyecto se va a realizar con
J2EE o cualquier tecnología que provea mecanismos de distribución,
para el factor sistema distribuido requerido se le debe asignar una
magnitud baja. Pero si el proyecto no utiliza J2EE y en vez de eso se
usan sockets o RMI entonces la magnitud para el factor es alta.
10. COCOMO ayuda a estimar el esfuerzo, tiempo,
gente y costos (ya sea estos de desarrollo,
equipamiento y mantenimiento).
El modelo provee tres “niveles” de aplicación:
básico, intermedio y avanzado, basados en los
factores considerados por el modelo.
Básico, es un modelo estático simplemente
evaluado que calcula el esfuerzo (y costo) del
desarrollo del software como función del
programa expresado en líneas de código (LDC
estimados).
11. Abstracción
Es la capacidad de separar aspectos importantes de detalles. Una abstracción define una delimitación relativa a la perspectiva del
observador.
Acción
Es un procedimiento algorítmico o computacional.
Acoplamiento
Es la cantidad de relaciones que se establecen entre los módulos de un programa.
Activación
Es la ejecución de una acción.
Actor
Es un tipo con un estereotipo predefinido, que denota una entidad externa al sistema que interactúa con casos de uso
Business Case
Es la justificación del negocio que soporta y compromete el tiempo, los recursos y las inversiones para la realización de un proyecto
Compuesto
Es una clase que está relacionada con una o más clases por medio de una relación de composición. Ver: composición
Comunicación
En un diagrama de plataforma una asociación entre nodos implica una comunicación. Ver: diagrama de plataforma