modelo cocomo

12
INGENIERÍA DE SOFTWARE 1 MODELO COCOMO TÉCNICA DE ANÁLISIS COSTE / BENEFICIO Estás técnicas sirven para estudiar aquellas características del proyecto que influyen en su viabilidad técnica y económica. --- FACTORES DE ESTIMACIÓN --- El modelo COCOMO define los siguientes factores de estimación: ESTIMACIÓN DE ESFUERZO (MM) Es la relación entre el número de personas que trabajan en el proyecto y el tiempo de realización del mismo. Se mide en personas/mes. Se estima mediante: MM= a(KDSI) b Donde: KDSI = Tamaño de la aplicación (miles de líneas de código). a, b = Constantes de estimación. ESTIMACIÓN DE TIEMPO (TDEV) Es la cantidad de tiempo que se prevé tardará en desarrollarse el proyecto. Se mide en meses. Se estima mediante: TDEV = c(MM) d Donde: c, d = Constantes de estimación. Martín Verduzco Rodríguez

Upload: sergio-castano

Post on 10-Feb-2016

214 views

Category:

Documents


0 download

DESCRIPTION

Modelo Cocomo

TRANSCRIPT

Page 1: Modelo Cocomo

INGENIERÍA DE SOFTWARE 1

MODELO COCOMOTÉCNICA DE ANÁLISIS COSTE / BENEFICIO

Estás técnicas sirven para estudiar aquellas características del proyecto que influyen en su viabilidad técnica y económica.

--- FACTORES DE ESTIMACIÓN ---

El modelo COCOMO define los siguientes factores de estimación:

ESTIMACIÓN DE ESFUERZO (MM)Es la relación entre el número de personas que trabajan en el proyecto y el tiempo de realización del mismo. Se mide en personas/mes. Se estima mediante:

MM= a(KDSI)b

Donde:KDSI = Tamaño de la aplicación (miles de líneas de código). a, b = Constantes de estimación.

ESTIMACIÓN DE TIEMPO (TDEV)Es la cantidad de tiempo que se prevé tardará en desarrollarse el proyecto. Se mide en meses. Se estima mediante:

TDEV = c(MM)d

Donde:c, d = Constantes de estimación.

ESTIMACIÓN DE COSTE HUMANO (COSTEH)Es la cantidad de personas que se prevé tendrán que trabajar e el proyecto para cumplir la estimación de tiempos. Se mide en personas. Se calcula mediante:

COSTEH = MM / TDEV

Martín Verduzco Rodríguez

Page 2: Modelo Cocomo

2 MODELO COCOMO

ESTIMACIÓN DE COSTE MONETARIO (COSTEM)Es la cantidad de dinero que se prevé costará el proyecto. Se mide en divisa monetaria. Se calcula mediante:

COSTEM = (MM)(TARIFA)

Donde:TARIFA = Salario de cada persona que trabaja en el proyecto.

Como puede apreciarse, los dos primeros factores (MM & TDEV) son de estimación directa, mientras que los otros dos (COSTEH y COSTEM) son derivados de los anteriores. Las estimaciones de coste esfuerzo dependen de factores característicos de proyecto (como el KDSI) o de constantes cuyo valor viene dado por la naturaleza del proyecto.

--- MODOS DE DESARROLLO DE SOFTWARE ---

COCOMO Distingue 3 tipos de proyectos, a los que llama modos de desarrollo de software:

MODO ORGÁNICO: o Se trata de proyectos de tamaño reducido (no más

de 50 KDSI).o Equipo de trabajo de pocas personas con mucha

experiencia en el ámbito del problema.o Estabilidad de los requisitos.o Flexibilidad en las fechas de entrega.o Ambiente de trabajo relajado.

MODO SEMILIBRE:o Proyectos de tamaño medio (en torno a 300 KDSI).o Heterogeneidad entre los miembros del equipo,

esto es, miembros con mucha experiencia en ciertas áreas junto con otros muy inexpertos.

[Escriba texto]

Page 3: Modelo Cocomo

INGENIERÍA DE SOFTWARE 3

o Los requisitos suelen ser muy variados (pueden existir restricciones muy rigurosas y definidas, otras apenas esbozadas).

MODO RÍGIDO:o Proyectos de cualquier tamaño (con tendencia a no

ser pequeños).o Complejos e inflexibles.o Requisitos plagados de limitaciones estrictas y

especificaciones rigurosas.o El entorno de hardware software suele estar

fuertemente acoplado.o Área de desarrollo frecuentemente desconocida

muy especializada.

--- MODELOS DE ESTIMACIÓN ---

COCOMO ofrece 3 modelos distintos para realizar la estimación, en función de la cantidad de formación que se maneje relativa al proyecto o de los factores que se considere puedan afectar a dicha estimación.Los modelos por orden creciente de complejidad son los siguientes:

Modelo básico.o Adecuado para estimar proyectos pequeños o de

tamaño medio.o Desarrollados por personal de la propia empresa

cliente y de los que no se tiene mayor información acerca de otros factores que pueden afectar a la estimación.

o Suele aplicarse a proyectos de tipo orgánico, pero también pueden darse casos de su uso con los modos de desarrollo de software semilibre y rígido.

o Los valores de estimación a, b, c, d para este modelo son:

MODO a b c d

Martín Verduzco Rodríguez

Page 4: Modelo Cocomo

4 MODELO COCOMO

Orgánico 2.4 1.05 2.5 0.38Semilibre 3.0 1.12 2.5 0.35Rígido 3.6 1.20 2.5 0.32

Modelo intermedio.Se utiliza cuando en el proyecto se han de tener en cuenta determinados factores que pueden influir en la estimación de costes. A estos factores se les llama modificadores.El modelo COCOMO tiene identificados 15 de estos modificadores (los considerados más influyentes), clasificándolos en 4 grandes categorías:

o Atributos del software RELY: fiabilidad. DATA: Tamaño de la base de datos. CPLX: Complejidad de las funciones, datos,

interfaces.o Atributos del hardware

TIME: limitaciones en el porcentaje de uso de la CPU

STOR: Limitaciones en el porcentaje de uso de la memoria.

VIRT: Volatilidad de la máquina virtual. TURN: Frecuencia de cambio en el modelo de

explotación.o Atributos del personal

ACAP: Cuantificación de los analistas. AEXP: Experiencia del personal en aplicaciones

similares. PCAP: Cualificación de los programadores. VEXP: Experiencia del personal en la máquina

virtual. LEXP: Experiencia en el lenguaje de

programación a usar.o Atributos del proyecto

MODP: Uso de prácticas modernas de programación.

[Escriba texto]

Page 5: Modelo Cocomo

INGENIERÍA DE SOFTWARE 5

TOOL: Uso de herramientas de desarrollo de software.

SCED: Limitaciones en el cumplimiento de la planificación.

Cada uno de los quince modificadores puede tomar distintos valores numéricos, según sea la valoración que del mismo haga el cliente para el proyecto en cuestión. Multiplicando los valores numéricos de los 15 modificadores se obtiene la función correctora (m(x)) de la estimación de costes.

La función correctora se incorpora multiplicando a la estimación del esfuerzo (MM) con lo que las fórmulas se ven modificadas de la siguiente forma:

MM’ = MM * m(x)Por tanto:

COSTEH = MM’ / TDEV

COSTEM = (MM’)(TARIFA)

Donde:MM’: Estimación del esfuerzo ajustada.

Una cuestión a la cual el modelo intermedio dedica especial atención es si el proyecto es de desarrollo o de mantenimiento. Los valores de los modificadores no son exactamente los mismos para ambos casos y esto sucede porque algunos modificadores se interpretan de manera especial en los proyectos de mantenimiento:

GRADO Muy bajo

Bajo Normal Alto Muy alto

Extra alto

RELY 0.75 0.88 1.00 1.15 1.40DATA 0.94 1.00 1.08 1.16CPLX 0.70 0.85 1.00 1.15 1.30 1.65TIME 1.00 1.11 1.30 1.66STOR 1.00 1.06 1.21 1.56

Martín Verduzco Rodríguez

Page 6: Modelo Cocomo

6 MODELO COCOMO

VIRT 0.87 1.00 1.15 1.30TURN 0.87 1.00 1.07 1.15ACAP 1.46 1.19 1.00 0.86 0.71AEXP 1.29 1.13 1.00 0.91 0.82PCAP 1.42 1.17 1.00 0.86 0.70VEXP 1.21 1.10 1.00 0.90LEXP 1.14 1.07 1.00 0.95MODP 1.24 1.10 1.00 0.91 0.82TOOL 1.24 1.10 1.00 0.91 0.83SCED 1.23 1.08 1.00 1.04 1.10

En el caso de los proyectos de mantenimiento los valores de RELY son los siguientes:

GRADO Muy bajo

Bajo Normal Alto Muy alto

Extra alto

RELY 0.75 0.88 1.00 1.15 1.40

Y los de MODP, en función de KDSI, se encuentran en la siguiente tabla:

KDSI Muy bajo

Bajo Normal Alto Muy alto

Extra alto

2<X<8 1.25 1.12 1.00 0.90 0.818<X<32 1.30 1.14 1.00 0.88 0.7732<X<128

1.35 1.14 1.00 0.86 0.74

128<X<512

1.40 1.18 1.00 0.85 0.72

>512 1.45 1.20 1.00 0.84 0.70

Los valores de las constantes de estimación a, b, c y d para este modelo son los siguientes:

MODO A b c dOrgánico 3.20 1.05 2.50 0.38Semilibre 3.00 1.12 2.50 0.35Rígido 2.80 1.20 2.50 0.32

[Escriba texto]

Page 7: Modelo Cocomo

INGENIERÍA DE SOFTWARE 7

Modelo detallado.Es el más preciso pero también el más complejo. Trata de superar las limitaciones que el modelo intermedio manifiesta en grandes proyectos: distribución por fases del esfuerzo inadecuada y dificultad de los cálculos en la estimación del desarrollo del software formado por muchos componentes. Para ello define unos multiplicadores que redistribuyen el esfuerzo por fases y propone una descomposición jerárquica del producto en tres niveles: módulo, subsistema y sistema.

EJEMPLO 1La empresa Panacea Tecnológica, especializada en el desarrollo de pequeños proyectos de software en breve espacio de tiempo, comienza un nuevo proyecto. Se trata de un sistema cuyos requisitos están perfectamente definidos y existen pocas probabilidades de que vayan a modificarse. Se estima que el tamaño del producto final será de 30 KDSI. El entorno de trabajo es muy similar al utilizado en otros proyectos anteriores.Es de interés conocer:

a) El esfuerzo de desarrollo del proyecto.b) El tiempo necesario para desarrollarlo.c) El coste humano del proyecto.d) El coste monetario del proyecto, si se sabe que el precio

por hombre y mes de trabajo asciende a $16,000.00

Solución:

Analizando la información se tiene: Requisitos perfectamente definidos. Entorno de trabajo muy conocido. Proyecto de pequeño tamaño.

Lo cual corresponde al modo orgánico.

Resolviendo:KDSI = 30

Martín Verduzco Rodríguez

Page 8: Modelo Cocomo

8 MODELO COCOMO

MODO a b c dOrgánico 2.4 1.05 2.5 0.38

a) MM = a(KDSI)b

MM = 2.4(30)1.05= 85 personas/mesb) TDEV =

c) TDEV = c(MM)d

= 2.5 (85)0.38 = 13.5 mesesd) COSTEH=

COSTEH = MM / TDEV= 85 / 13.5 = 6.29 = 6

personase) COSTEM=

COSTEM = (MM)(TARIFA)= 85 (16000) = $1,360,000.00

EJEMPLO 1.5La empresa Panacea Tecnológica, especializada en el desarrollo de pequeños proyectos de software en breve espacio de tiempo, comienza un nuevo proyecto. Se trata de un sistema cuyos requisitos están perfectamente definidos y existen pocas probabilidades de que vayan a modificarse. Se estima que el tamaño del producto final será de 300 KDSI. El entorno de trabajo es muy similar al utilizado en otros proyectos anteriores.Es de interés conocer:

a) El esfuerzo de desarrollo del proyecto.b) El tiempo necesario para desarrollarlo.c) El coste humano del proyecto.d) El coste monetario del proyecto, si se sabe que el precio

por hombre y mes de trabajo asciende a $5,000.00

Resolviendo:KDSI = 300

MODO a b c dSemilibre 3.0 1.12 2.5 0.35

[Escriba texto]

Page 9: Modelo Cocomo

INGENIERÍA DE SOFTWARE 9

a) MM = a(KDSI)b

MM = 3(300)1.12= 1784 personas/mesb) TDEV =

c) TDEV = c(MM)d

= 2.5 (1784)0.35 = 34.3 mesesd) COSTEH=

COSTEH = MM / TDEV= 1784 / 34.3 = 52 personas

e) COSTEM=COSTEM = (MM)(TARIFA)

= 1784 (5000) = $8,920,000.00

EJEMPLO 2:La editorial TBO, especializada en comics desea un nuevo sistema de gestión para sus colecciones, campañas de promoción y suscripciones. Se trata de un área de trabajo completamente nuevo para el equipo de desarrollo del proyecto. Además existen severas restricciones en cuanto a los procesos de tratamiento de los datos se refiere, y el entorno de hardware es fuertemente acoplado. El tamaño del producto final se estima en 130 KDSI.Se piensa emplear en este proyecto un pequeño equipo de analistas expertos, al mando de un grupo numeroso de programadores con un nivel medio de experiencia.Se trata de un software de alta fiabilidad, en el que se piensan emplear muchas prácticas modernas de programación. Por otra parte el uso de herramientas de desarrollo se limitará a la mínima expresión.El sistema maneja una base de datos de pequeño tamaño. Los procesos que componen el software son bastante sencillos y se trata de software bastante interactivo.Se pide estimar:

a) El esfuerzo de desarrollo del proyecto.b) El tiempo necesario para desarrollarlo.c) El coste humano del proyecto.

Martín Verduzco Rodríguez

Page 10: Modelo Cocomo

10 MODELO COCOMO

d) El coste monetario del proyecto, si la tarifa por hombre y mes de trabajo es de $25,000.00

[Escriba texto]