Documente Academic
Documente Profesional
Documente Cultură
Consultar la pgina siguiente para informacin actualizada sobre los dos aspectos
anteriores:
http://sunset.usc.edu/research/COCOMOII/cocomo_main.html
NDICE
Pgina
ANOTACIONES
1
INTRODUCCIN
SITUACIN
3
5
8
9
10
11
11
13
COCOMO v.2.0
INTRODUCCIN
14
15
17
17
17
17
20
20
21
22
22
23
24
24
24
26
26
28
28
29
29
30
30
31
32
32
32
33
33
i
Pgina
MODELO POST-ARQUITECTURA
+ NORMAS PARA CONTAR LAS LNEAS DE CDIGO
+ PUNTOS FUNCIN
+ PARMETROS DE COSTE
- Factores del Producto
- Factores de la Plataforma
- Factores Personales
- Factores del Proyecto
34
34
36
36
36
39
39
40
GLOSARIO
42
Apndice A: ECUACIONES
+ COMPOSICIN DE APLICACIONES
+ DISEO INICIAL
+ POST-ARQUITECTURA
+ ESTIMACIN DE LA PLANIFICACION
45
45
46
47
48
49
49
51
52
54
ESTADO ACTUAL
55
BIBLIOGRAFIA
56
ii
ANOTACIONES
1. Se pretende dar una introduccin suficiente, pero no abusiva (aunque esta
consideracin siempre resulte subjetiva), para situar a quien lea este trabajo dentro
del significado y del mundo donde se utiliza el modelo COCOMO, recordndole
algunos conceptos y dejndolo al final de la introduccin en condiciones suficientes
para comprender lo que significa y la utilidad de COCOMO.
2. Se ha perseguido que despus de leer este documento, se comprenda el modelo
COCOMO 2.0, y se tenga la suficiente informacin para poder utilizar el software
que acompaa a este documento, y que no es sino una herramienta desarrollada
por la Universidad del Sur de California, para aplicar este modelo.
3. Ms documentacin, sobre manuales, mtodos especficos de calibracin del
modelo, etc podr encontrarse en las referencias bibliogrficas, al final de este
documento.
SITUACIN
COCOMO (COnstructive COnst MOdel) es una herramienta utilizada para la
estimacin de algunos parmetros (costes en personas, tiempo, ...) en el diseo y
construccin de programas y de la documentacin asociada requerida para
desarrollarlos, operarlos y mantenerlos (Boehm), es decir, en la aplicacin prctica de
la Ingeniera del Software.
Este desarrollo de software, y ante los problemas que se encuentran en l, hizo que
desde la dcada de los 70 creciera un inters en el estudio de los problemas que lleva
consigo el software, surgiendo conceptos como control de calidad (SQA),
metodologas de anlisis y diseo, ingeniera del software, etc...
Cules son algunos de estos problemas que se encuentran en el desarrollo de
aplicaciones?:
-
Existen algunos trabajos que intentan desde un estudio estadstico de una muestra,
elegida de manera representativa, de un conjunto de casos reales, establecer modelos
bsicamente empricos, que ayuden a realizar dichas estimaciones con un mayor
grado de fiabilidad.
Tradicionalmente existan dos premisas bsicas:
debido a que los datos de entrada que solicita el modelo y sus resultados
son mucho ms claros y precisos que en otros modelos.
PUNTOS FUNCIN.
Realizada por Allan Albercht en 1979 y revisada a continuacin en 1983, esta
tcnica est basada (orientada) en la teora de la "ciencia del software" desarrollada
por Halstead, la cual est orientada al anlisis del proceso de construccin de
programas y se basa en la medida del nmero de "unidades sintcticas bsicas"
(operadores y operandos).
No se fija en el nmero de LDC sino en su funcionalidad.
La finalidad de la tcnica de los puntos funcin es estimar el tamao de un producto
software y el esfuerzo asociado a su desarrollo, expresado ste en horas trabajadas
por punto funcin, en las etapas previas a su desarrollo.
Los estudios realizados sobre la utilizacin de este mtodo reflejan la bondad del
mismo y la existencia de un elevado grado de correlacin entre el nmero de lneas de
cdigo (LDC) y la estimacin total de los puntos funcin.
Etapas del mtodo:
1. Contar las funciones de usuario.
2. Ajustar el modelo en funcin de la complejidad del proceso.
1. Contar las funciones de usuario. En la etapa primera, se definen cinco tipos de
funciones de usuario:
Simple
Medio
Complejo
Tras esta divisin de las funciones de usuario segn su tipo y complejidad se les
aplica un peso, como aparece reflejado en la tabla adjunta, obteniendo el total de los
puntos funcin sin ajustar:
Nivel de complejidad
Tipo de funcin
Simple
Medio
Complejo
Total
Entradas
_____
Salidas
_____
_____
Ficheros externos
_____
Consultas
_____
Caractersticas
GI
C1
Transmisin de datos
____
C2
Proceso distribuido
____
C3
Rendimiento, respuesta
____
C4
Configuracin
____
C5
Indice de transacciones
____
C6
____
C7
Eficiencia de usuario
____
C8
Actualizacin on-line
____
C9
____
C10
Reusabilidad
____
C11
Facilidad de instalacin
____
C12
Sencillez en operacin
____
C13
Adaptabilidad
____
C14
Flexibilidad
Total Grados de Influencia GI = ____
Caractersticas de la aplicacin
Ejemplo:
APLICACIN: ____________________________________
RECUENTO DE FUNCIONES
Nivel de complejidad
Tipo de funcin
Simple
Complejo
Total
. 4 x6= 24 .
. 24 .
x7=
. 20 .
Medio
Entradas
x3=
Salidas
x4=
. 4 x5= 20 .
x7=
x10=
Ficheros externos
x5=
x7=
Consultas
x3=
x4=
. 6 x15= 70 .
.
.
x10=
x6=
. 5 x4= 20 .
.
.
. 90 .
.
. 20 .
GI
Caractersticas
GI
C1
Transmisin de datos
C8
Actualizacin on-line
C2
Proceso distribuido
C9
C3
Rendimiento, respuesta
. 4
C10
Reusabilidad
C4
Configuracin
C11
Facilidad de instalacin
C5
Indice de transacciones
. 4
C12
Sencillez de operacin
C6
C13
Adaptabilidad
C7
Eficiencia de usuario
C14
Flexibilidad
. 5
13 .
= 0
Media
Insignificante
= 1
Significativa = 4
Moderada
= 2
Fuerte
FACTOR DE AJUSTE
TOTAL PUNTOS FUNCIN
N LINEAS CODIGO
CP = 0,65 + (0,01) x GI
PF = CF x CP
I = 66 x PF
= 3
= 5
= 0,78
= 120
= 7.920=8k
Por otra parte Boehm presenta una jerarqua de modelos de estimacin segn el
nivel de detalle empleado en su utilizacin:
Las estimaciones relacionadas con el coste (esfuerzo) se expresan en meseshombre (tiempo que requerira una sola persona para desarrollar el sistema),
considerando que la dedicacin de una persona es de 152 horas al mes.
1. Modelo Bsico.
Orgnico
Esfuerzo estimado
Tiempo de desarrollo
ED=2,4(KLDC)
TD=2,5(ED)
1,05
0,38
Productividad
Semiempotrado
h-m ED=3,0(KLDC)
m
TD=2,5(ED)
1,12
0,35
Empotrado
h-m ED=3,6(KLDC)
m
TD=2,5(ED)
1,20
0,32
h-m
m
PR = LDC / ED
FSP (Full-Time equivalent Software Personel)
N medio de personas
PE = ED / TD h
TCA (Trfico de cambio anual): porcin de instrucciones fuente que
sufren algn cambio durante un ao, bien sea por adicin o por
Esfuerzo
modificacin.
De
EM = TCA x ED
Mantenimiento
Ejemplo.
Un estudio inicial determina que el tamao del producto estar alrededor de 32.000
LDC, a partir de las anteriores ecuaciones obtendramos que las caractersticas del
proyecto seran:
Por el tamao del producto a desarrollar vemos que debemos aplicar las ecuaciones
asociadas al modo orgnico, obteniendo lo siguiente:
ED
TD
PR
PE
=
=
=
=
2,4 (32)1,05
2,5 (91)0,38
32.000 / 91
91 / 14
Tamao
(lneas)
Pequeo 2KS
Intermedio 8KS
Medio 32KS
Grande 128KS
=
=
=
=
91 hombre-mes
14 meses
352 lneas/hombre-mes
6,5 hombres
Esfuerzo
(hombre-mes)
5,0
21,3
91,0
392,0
Productividad
Tiempo
PE
(lneas/hombre-mes)
(meses)
(hombres)
1,1
4,6
400
2,7
8,0
376
6,5
14,0
352
16,0
24,0
327
Perfiles de proyectos estndares: Modo orgnico.
2. Modelo Intermedio.
Este modelo es una versin ampliada del modelo Bsico, en la que se presenta
una mayor precisin en las estimaciones, manteniendo prcticamente la misma
sencillez del anterior modelo. Esta mayor precisin viene dada por la incorporacin de
15 factores que reflejan la influencia de ciertos elementos sobre el coste del software.
El criterio para la eleccin de estos factores es generalidad e independencia. Es
decir, se eliminaron aquellos factores que solamente eran significativos de un pequeo
nmero de situaciones, as como aquellos otros que mostraban una fuerte correlacin
con aspectos puntuales del desarrollo del software.
Finalmente estos 15 factores se agruparon en cuatro grandes grupos: Atributos del
Producto, del Computador, del Personal y del Proyecto.
Cada uno de estos 15 atributos tiene asociado un factor multiplicador para estimar
el efecto de ste sobre el esfuerzo nominal.
Orgnico
Semiempotrado
EN=3,2(KLDC)
Ecuaciones del
1,05
EN=3,0(KLDC)
Empotrado
1,12
EN=2,8(KLDC)
1,20
esfuerzo nominal
Valor
Nominal
Muy
Bajo
Alto
bajo
Atributos del producto
Atributos
Fiabilidad
Tamao base de datos
Complejidad
,75
,70
,88
,94
,85
Muy
alto
Extra
alto
1,65
1,00
1,00
1,00
1,15
1,08
1,15
1,40
1,16
1,30
1,00
1,00
1,00
1,00
1,11
1,06
1,15
1,07
1,30
1,21
1,30
1,15
1,00
1,00
1,00
1,00
1,00
,86
,91
,86
,90
,95
,71
,82
,70
1,00
1,00
1,00
,91
,91
1,04
,82
,83
1,10
,87
,87
1,66
1,56
1,46
1,29
1,42
1,21
1,14
1,19
1,13
1,17
1,10
1,07
1,24
1,24
1,23
1,10
1,10
1,08
Esfuerzo total:
ED = EN * fi
donde fi se
anteriormente.
corresponde
con
los
quince
factores
descritos
10
Si se observan los valores para el modelo Intermedio, se puede ver que los
coeficientes escalares (3'2, 3'0, 2'8) decrecen a medida que se incrementa la
complejidad del modo de desarrollo, al contrario que en el modelo Bsico.
Esta diferencia indujo a Conte y otros a presentar un conjunto de ecuaciones
alternativas, cuyo comportamiento, segn sus autores, mejora el de las ecuaciones
originales del modelo Intermedio:
Orgnico
Ecuaciones del
EN=2,6(KLDC)
Semiempotrado
1,08
EN=2,9(KLDC)
1,12
Empotrado
EN=2,9(KLDC)
1,20
esfuerzo nominal
3. Modelo Detallado.
Este modelo presenta principalmente dos mejoras respecto al anterior modelo:
+ Los factores correspondientes a los atributos son sensibles a la fase sobre la
que se realizan las estimaciones, puesto que aspectos tales como experiencia
en la aplicacin, utilizacin de herramientas software, etc, tienen mayor
influencia en unas fases que en otras.
+ Establece una jerarqua de tres niveles de productos, de forma que:
- los aspectos que presentan gran variacin a bajo nivel, se
consideran a nivel mdulo.
- los que presentan pocas variaciones a nivel de subsistema
- los restantes se consideran a nivel sistema.
Veamos cmo podra ser una posible calibracin de las ecuaciones propuestas por
el modelo Intermedio para su modo orgnico:
11
ED = c (KLDC)1,05 *
Supongamos que en una instalacin se han finalizado n proyectos cuyos tamaos
finales fueron KLDC1, ... KLDCn, los factores de ajustes empleados 1, ... n, y el
esfuerzo dedicado a cada uno de ellos E1, ... En. En este caso calcular la constante c
consiste en resolver el sistema de ecuaciones tal que la suma de cuadrados de esas
diferencias sea lo ms pequea posible.
E1 = c (KLDC1)1,05 1
E2 = c (KLDC2)1,05 2
............
En = c (KLDCn)1,05 n
As pues, planteamos la suma de cuadrados de las diferencias como:
15
E =
3 (c (KLDCi)1,05 i - Ei)2
i=1
Haciendo
Qi = (KLDCi)1,05 i
y sustituyendo
15
E =
3 (c Qi - Ei)2
i=1
c = 3 E i Q i / 3 Q i2
ED = c (KLDC)b *
Comencemos reescribiendo la ecuacin tomando logaritmos:
12
a0 ln(c) + a1b = d0
a1 ln(c) + a2b = d1
donde
a0
a1
a2
d0
d1
=
=
=
=
=
n (nmero de proyectos)
3 ln(KLDCi)
3 ( ln(KLDCi) )2
3 ln(Ei/i)
3 ln(Ei/i) ln(KLDCi)
resolviendo obtenemos:
13
COCOMO 2.0
INTRODUCCIN
14
Figura 2. Precisin de tamao y coste software dependiendo de la fase en que se encuentre el proceso.
15
COCOMO 2.0 permite a los proyectos suministrar a los parmetros de coste una
informacin rudamente granulada en los primeros estados del proyecto, para ir
incrementandola ms detalladamente granulada segn se avanza en los estados.
Resumiendo, el modelo COCOMO 2.0 proporciona los siguientes 3 estados (series
de modelos) para la estimacin de Generadores de Aplicaciones, Integracin de
Sistemas, e infraestructura de proyectos software:
1. En las primeras fases o ciclos espirales que generalmente incluirn prototipado, se
hacen uso de las capacidades del Modelo de Composicin de Aplicaciones.
Este modelo soporta estas fases, y cualquiera otras actividades de prototipado que
suceden con posterioridad en el ciclo de vida.
Incluye pues tareas de prototipado para resolver cuestiones como el diseo de
los inferfaces de usuario, la interaccin del software con el sistema, el rendimiento
o la madured de la tecnologa empleada. Asi, los costes de este tipo de esfuerzo
son mejor estimados por un modelo de composicin de aplicaciones..
Nos encontramos pues en una situacin donde existen aplicaciones muy
diversas, tanto que no se manejan como paquetes integrados de soluciones, pero
que son lo suficientemente simples para ser rpidamente acopladas y de
interoperar sus componentes.
Como veremos posteriormente, el modelo COCOMO se basa en Puntos Objeto
para modelizar la Composicin de Aplicaciones, y es una cuenta de las pantallas,
informes y mdulos desarrollados con lenguajes de tercera generacin, cada uno
con un peso segn la complejidad del parmetro (mnimo, medio, alto). Esto
mantiene una equivalencia con el nivel de informacin de la que generalmente se
dispone, sobre esta composicin de aplicaciones, durante sus estados de
planificacin temporal, y el correspondiente nivel de precisin necesaria para
estimar el coste software.
2. Las siguientes fases o ciclos espirales que generalmente incluyen la exploracin
de arquitecturas alternativas o estrategias de desarrollo incrementales. Para
soportar estas actividades, COCOMO 2.0 proporciona un temprano modelo
llamado Modelo de Diseo Inicial. Este nivel de detalle en este modelo es
consistente con el nivel general de informacin disponible y con el nivel general de
estimacin detallada que es necesaria en esta etapa.
Se utilizan, como veremos, puntos funcin y/o instrucciones fuente, y un
pequeo nmero de parmetros de coste (cost drivers).
3. Una vez que el proyecto esta listo para ser desarrollado se debera tener una
arquitectura de ciclo de vida, la cual proporcionase ms informacin detallada
sobre las entradas de los parmetros de coste, y permitieses mayor precisin en la
estimacin del coste. Para soportar esta etapa, COCOMO 2.0 proporciona el
Modelo Post-Arquitectura.
Incluye este modelo el desarrollo y mantenimiento ltimo del producto software.
Se utilizan, como veremos, instrucciones fuente y/o puntos funcin para la
estimacin, existiendo modificadores que los operan; un conjunto de 17 factores
multiplicativos de evaluacin de coste, y un total de 5 modos para dimensionar el
proyecto, que sustituyen a los anteriores modos Orgnico, Semiempotrado y
Empotrado del COCOMO original.
16
Ecuacin 1
Breakage.
El Modelo COCOMO 2.0 utiliza un porcentaje del cdigo "breakage" (BRAK) para
ajustar el tamao efectivo del producto. El trmino Breakage hace referencia a la
volatilidad de los requerimientos de un proyecto. Esto es, el porcentaje de cdigo que
se desecha. Por ejemplo, un proyecto formado finalmente por 100.000 instrucciones
de las que se han descartado otras 20.000 instrucciones adicionales, entonces BRAK
tendr un valor de 20. Esto debera usarse para ajustar el tamao efectivo del proyecto
a 120.000 instrucciones. Ese factor BRAK no se utiliza en el modelo de Composicin
de Aplicaciones, donde se espera un cierto grado de interaccin del producto, incluida
una calibracin de los datos.
Ajustando la reusabilidad.
Efectos no lineales: Selby realiza un anlisis sobre cerca de 3000 mdulos
reutilizables, en el Laboratorio de Ingeniera Sofware de la NASA, de cmo influye la
17
reutilizacin del cdigo, y como resultado indica que este coste queda expresado por
una funcin no lineal, debido a dos razones principales:
Siempre teniendo en cuenta que el tamao que supone este tiempo de comprensin
del software y de chequeo del interface puede ser reducido mediante una buena
estructura sofware.
18
Un modelo para tener en cuenta la reusabilidad: el modelo COCOMO 2.0 trata esta
reutilizacin del software usando un modelo de estimacin no lineal. Esto incluye una
estimacin de la cantidad de software a ser adaptado, ASLOC, y tres parmetros
segn el grado de modificacin: porcentaje de diseo modificado (DM), porcentaje de
cdigo modificado (CM), y porcentaje del esfuerzo original que supone integrar el
software reutilizable (IM).
El incremento que supone la comprensin del software (SU) se obtiene de la
siquiente tabla; y expresado cuantitativamente como un porcentaje.
Estructura
Muy Bajo
Bajo
Muy
baja Moderada baja
cohesin, alto cohesin, alto
acoplamiento,
acoplamiento.
definicin poco
clara
del
cdigo.
Nominal
Alto
Razonablement Alta cohesin,
e
bien bajo
estructurado;
acoplamiento.
algunas reas
resultan
dbiles.
Existe alguna
correlacin
entre
el
programa y la
aplicacin.
Moderada
correlacin
entre
el
programa y la
aplicacin.
Descripcin
implcita
Existen algunos
comentarios en
el cdigo y
alguna
documentacin
til.
Un moderado
nivel
de
comentarios en
el cdigo, y
documentacin.
Cdigo obtuso;
la
documentacin
o no existe o
resulta oscura u
obsoleta.
Incremento de
50
40
30
SU en ESLOC
Tabla 1: Escala segn se Incrementa la Compresin del Software (SU).
Muy Alto
Enormemente
modular,
Informacin
ocultada
mediante
estrucuras de
datos y control.
Buena
Existe una clara
correlacin
relacin entre
entre ambos.
las
visiones
globales
de
ambos
(programa
y
aplicacin).
Bien
Cdigo
comentado el autodescriptivo,
cdigo,
documentacin
documentacin actualizada,
til,
aunque bien organizada
dbilmente en y con un diseo
algunas reas. racional.
20
10
El otro incremento no lineal sobre la reusabilidad tiene que ver con el grado de
Valoracin y Asimilacin (AA) necesarias para determinar si un cierto mdulo software
completamente reutilizable es apropiado para la aplicacin, e integrar su descripcin
dentro de la descripcin global del producto. La Tabla 2 siguiente proporciona una
escala para este porcentaje:
Incremento de AA
Nivel de esfuerzo AA
0
Ninguno.
2
Una bsica bsqueda modular y de documentacin.
4
Alguna Evaluacin y Chequeo modular, documentacin.
6
Una considerable Evaluacin y Chequeo modular, documentacin.
8
Una gran Evaluacin y Chequeo modular, documentacin.
Tabla 2: Escala segn el incremento de Valoracin y Asimilacin (AA).
19
Ecuacin 3
Ecuacin 4
Ecuacin 5
20
Estimacin Optimista
050 E
0'67 E
0'80 E
Estimacin Pesimista
2'00 E
1'50 E
1'25 E
21
Ecuacin 6
22
Factor de
Escala (Wi)
PREC
FLEX
RESLa
TEAM
Muy Bajo
(5)
Mnima
Bajo
(4)
Poca
o
ninguna (muy
riguroso)
Reduccin del
riesgo entorno
al 20%
Interacciones
muy dificiles
Poca
Nominal
(3)
Algo
Ocasional
Alguna
Alto
(3)
Medianamente
familiar
alta
Idem 40%
Idem 60%
Idem 75%
Algunas
interacciones
dificiles
Interacciones
Muy
para
una cooperativo
cooperacin
bsica
Muy Alto
(1)
Muy familiar
Muy alta
Idem 90%
Extra Alto
(0)
Altamente
familiar
Tendiendo
a
optima (metas
generales)
Idem 100%
Altamente
cooperativo
Cooperacin
ptima
PMAT
peso medio de las respuestas afirmativas en el cuestionario Madured CMM
Muy Baja
Nominal / Alta
Precedencias
Extra Alta
General
Considerable
Profundo
Moderada
Considerable
Extensiva
Extensivo
Moderado
Alguno
Considerable
Alguno
Minimo
Flexibilidad de desarrollo
Necesidad de que el
sofware se ajuste a los
requerimientos
preestablecidos
Necesidad de que el
sofware se ajuste a las
especificaciones
de
interface externos
Prima para un desarrollo
completo inicial
Completo
Considerable
Bsico
Completo
Considerable
Bsico
Alto
Medio
Bajo
23
24
Casi siempre: cuando los objetivos son consistentemente alcanzables y bien establecidos en
procedimientos operativos estndar.
Frecuentemente: cuando los objetivos son alcanzables con relativa frecuencia, pero en
algunas ocasiones son emitidas bajo circunstancias difciles (entre el 60% y 90% de las
veces).
Sobre la mitad: cuando los objetivos son alcanzables sobre la mitad de las veces (entre el
405 y 60% de las veces).
Ocasionalmente: cuando los objetivos son alcanzados algunas veces, pero poco frecuentes
(entre el 10% y 40% de las veces).
Raramente (si acaso): cuando los objetivos raramente son alcanzados (menos del 10% de
las veces).
No se aplica: cuando se tiene el conocimiento requerido sobre el proyecto u organizacin y
el KPA, pero se tiene un sentimiento de que los KPAs circunstancialmente no se pueden
aplicar.
Se desconoce: cuando no se tiene certeza de cmo respondern los KPAs.
Ecuacin 7
25
NOP: Nuevos Puntos Objeto (cuenta de los Puntos Objeto ajustados para
su reutilizacin).
srvr: nmero de servidores de datos (mainframes o equivalentes).
clnt: nmero de clientes de datos (estaciones de trabajo personales).
%reutilizacin:
porcentaje de pantallas, informes y mdulos 3GL
reutilizados por aplicaciones previas, segn su grado de reutilizacin.
Pasos:
1. Estimar el nmero de pantallas, informes, y componentes 3GL que comprendern
la aplicacin. Asumiendo las definiciones estandar de estos objetos en el entorno
ICASE utilizado.
2. Clasificar cada instancia de cada objeto en niveles de complejidad simple, media o
alta, dependiendo de los valores segn la dimensin. Utilizar el siguiente esquema:
Pantallas
Informes
Nmero Total < 4 Total < 8 Total 8+ Nmero Total < 4 Total < 8 Total 8+
de
de
vistas
( <2 srvr
( 2-3
( >3srvr seccion ( <2 srvr ( 2-3
( >3 srvr
que
<3 clnt )
srvr
>5 clnt ) es que
<3 clnt ) srvr
>5 clnt )
contiene
3-5 clnt )
contiene
3-5 clnt )
<3
Simple
Simple
Medio
0o1
Simple
Simple
Medio
3-7
Simple
Medio
Alto
2o3
Simple
Medio
Alto
>8
Medio
Alto
Alto
4+
Medio
Alto
Alto
26
Tipo de Objeto
Pantalla
Informe
Componente 3GL
Simple
1
2
Complejidad
Media
2
5
Alta
3
8
10
4. Sumar todos los pesos de los objetos instanciados para obtener un nico
nmero, que ser la cuenta de Puntos Objeto.
5. Estimar el porcentaje de reutilizacin esperado para realizar el proyecto.
Calcular los nuevos Puntos Objeto a ser desarrollados.
Ecuacin 8
6. Determinar un ratio de productividad PROD=NOP/Personas-mes utilizando
el siguiente esquema:
Capacidad y experiencia
de los desarrolladores
Capacida y madured de
ICASE
PROD
Muy Baja
Baja
Nominal
Alta
Muy Alta
Muy Baja
4
Baja
7
Nominal
13
Alta
25
Muy Alta
50
Ecuacin 9
27
Cuenta cada dato de usuario o tipo de entrada de control del usuario que
(1) se introduce desde el exterior del sistema y (2) que aade o modifica
datos en un fichero lgico interno.
Salida Externa
Cuenta cada dato de usuario o tipo de entrada de control que abandona el
(Salidas)
sistema hacia el exterior.
Ficheros Lgicos Internos
Ficheros pasados o compartidos entre sistemas software que deberan
(Ficheros)
contarse como tipos de ficheros de interface externos que estn dentro del
sistema.
Consultas Externas
Cuenta cada combinacin de entrada-salida nica, donde una entrada
(Informes)
causa y genera una salida inmediata, como un tipo de consulta externa.
Tabla 9: Tipos de Funciones de Usuario.
28
Para EO y EQ
Tipos de
Elementos Dato
Ficheros
1-5
6-19
20+
0o1
Bajo Bajo Med
2-3
Bajo Med
Alto
4+
Med
Alto
Alto
Tipos de
Ficheros
0o1
2-3
3+
Para EI
Elementos Dato
1-4
5-15
16+
Bajo
Bajo
Med
Bajo
Med
Alto
Med
Alto
Alto
3. Aplicar los pesos asignados a cada nivel de complejidad: utilizar los pesos del
siguiente esquema (los pesos reflejan el valor relativo de cada funcin para el
usuario):
Tipos de Funcin
Ficheros Lgicos Internos
Ficheros de Interface Externos
Entradas Externas
Salidas Externas
Consultas Externas
Bajo
7
5
3
4
3
Complejidad-Peso
Medio
10
7
4
5
4
Alto
15
10
6
7
6
4. Calcular los Puntos Funcin Desajustados: sumar todos los pesos contados para
obtener un nico nmero, nmero que determina el valor de los Puntos Funcin
Desajustados.
SLOC/FP
71
49
32
320
213
29
Lenguaje
SLOC/FP
ANSI/Quick/Turbo Basic
64
Basic-Compilado
91
Basic-Interpretado
128
C
128
C++
29
ANSI Cobol 85
91
Fortran 77
105
Forth
64
Jovial
105
Lisp
64
Modula 2
80
Pascal
91
Prolog
64
Generador de Informes
80
Hoja de Clculo
6
Tabla 10: Conversin de Puntos Funcin a Lneas de Cdigo.
La escala de ratios del modelo de Diseo Inicial siempre tiene un total nominal
igual a la suma de los ratios nominales de los elementos del modelo Post-Arquitectura
con los que se han formado.
30
Bajo
Nominal
Alto
Muy Alto
Extra Alto
7, 8
10, 11
12, 13
14, 15
45%
55%
65%
75%
85%
20%
12%
9%
5%
4%
El ratio personal PERS con valor 9 corresponde a la suma (3+3+3) de los ratios
nominales para ACAP, PCAP y PCON, y su multiplicador de esfuerzo correspondiente
es 1'0. Tener en cuenta que de todas formas el ratio nominal PERS de 9 resulta de
poder haber sumado otras combinaciones, por ejemplo 1+3+5=9 para ACAP=Muy
Bajo, PCAP=Nominal, y PCON=Muy Alto.
Las escalas de ratio y los multiplicadores de esfuerzo para PCAP y los otros
parmetros de coste de Diseo Inicial mantienen la consistencia relacional con sus
equivalentes en el modelo Post-Arquitectura. Por ejemplo, los niveles de ratio Extra
Bajo de PERS (20% combinando ACAP y PCAP, y el 25% de movimiento de personal)
representan niveles de ratio medios de ACAP, PCAP, y PCON por encima del 3 o 4.
Manteniendo estas relaciones de consistencia entre los niveles de ratio del Diseo
Inicial y Post-Arquitectura se asegura la consistencia en las estimaciones de coste de
estos dos modelos (de Diseo Inicial y Post-Arquitectura).
Complejidad y Confianza del Producto.
Estos parmetros de coste del Diseo Inicial combinan los cuatro parmetros de
coste Post-Arquitectura (Confianza Software Requerida (RELY), tamao de la base de
datos (DATA), Complejidad del Producto (CPLX), y Documentacin asociada a las
necesiddes del ciclo de vida (DOCU)). A diferencia de los componentes PERS, los
componentes RCPX tienen escalas de ratio con diferente margen. Los rangos de
RELY y DOCU van desde Muy Bajo a Muy Alto; los rangos de DATA van desde Bajo a
Muy Alto; y los rangos de CPLX van desde Muy Bajo a Extra Alto. Y con un valor
numrico entre 5 (Muy Bajo, Bajo, Muy Bajo, Muy Bajo) y 21 (Muy Alto, Muy Alto, Extra
Alto, Muy Alto).
La Tabla 19 asigna los ratios RCPX a travs de este rango, y asocia escalas de
ratio apropiadas a cada uno de los ratios RCPX (desde Extra Bajo a Extra Alto).
Extra
Bajo
5, 6
Muy
Bajo
7, 8
Bajo
Nominal
Alto
9 -11
12
13 - 15
Muy
poco
Muy
Poco
Algo
Basico
Fuerte
Simple
Algo
Moderado
Compl
Muy
Alto
16 - 18
Extra
Alto
19 - 21
Muy
fuerte
Muy
Extremo
Extrema
31
Extra
Bajo
Simple
Muy
Bajo
Bajo
Nominal
Alto
Moderado
Muy
Extra
Alto
Alto
ejo
complejo damente
complejo
grande
Muy
Muy
grande
grande
Bajo
ninguno
Nominal
Alto
Muy Alto
Extra Alto
A travs del A travs del A travs de la A travs de
RUSE
proyecto
programa
lnea
de mltiples
producto
lneas
de
producto
Tabla 14: Resumen del nivel de ratio de RUSE
Nominal
9
Alto
10 - 12
Muy Alto
13 - 15
Extra Alto
16, 17
#50%
65%
80%
90%
estable
Algo volatil
volatil
Altamente
volatil
Muy Bajo
Bajo
Nominal
Alto
Muy Alto
Extra
Alto
5, 6
7, 8
10, 11
12, 13
14, 15
5 meses
9 meses
1 ao
2 aos
4 aos
6 aos
32
Facilidades (FCIL).
Este parmetro de coste del Diseo Inicial combina dos parmetros de coste
Post-Arquitectura: uso de herramientas software (TOOL) y desarrollo multisitio o
distribuido (SITE). TOOL tiene un rango desde Muy Bajo a Muy Alto; el rango de SITE
va desde Muy Bajo a Extra Alto. El valor numrico suma de estos ratios est entre 2
(Muy Bajo, Muy Bajo) y 11 (Muy Alto, Extra Alto).
Planificacin (SCED).
Este parmetro de coste de Diseo Inicial es el mismo que su hommino en el
modelo Post-Arquitectura. Ver Tabla 19.
Extra
Bajo
2
Muy Bajo
Bajo
Nominal
Alto
Muy Alto
4, 5
7, 8
9, 10
Minima
Alguna
Simple
Herramie
coleccin
ntas de
de
ciclo de
herramien
vida
tas CASE bsicas
Condiciones Multisitio Escaso
Algn
Algn
Soporte
soporte
soporte
soporte bsico de
de
de
de
moderado
complejo complejo moderado desarrollo
desarrollo desarrollo desarrollo multisitio
multisitio multisitio multisitio
Tabla 17: niveles de ratio FCIL.
Muy Bajo
Bajo
75% del
85%
nominal
Tabla 18: Resumen de nivel de ratio SCED.
SCED
Nominal
100%
Alto
130%
Extra
Alto
11
Buena;
Fuerte;
Fuerte;
moderada moderada
muy
mente
mente
integrada
integrada integrada
Fuerte
Fuerte
Muy
soporte
soporte
fuerte de
de
de simple ordenado
moderado desarrollo o simple
desarrollo multisitio desarrollo
multisitio
multisitio
Muy Alto
160%
Extra Alto
33
MODELO POST-ARQUITECTURA.
Este modelo es el ms detallado y es utilizado cuando la arquitectura del ciclo de
vida del software ha sido desarrollada. Este modelo es usado en el desarrollo y
mantenimiento de productos software como Generadores de Aplicaciones, Integracin
de Sistemas e Infraestructura.
34
Figura 5
35
PUNTOS FUNCIN
Para la estimacin de puntos funcin del modelo Post-Arquitectura, son vlidos los
clculos utilizados para convertir los Puntos Funcin Desajustados a KSLOC que se
utilizan en el modelo de Diseo Inicial. COCOMO 2.0 permite que algunos
componentes sean evaluados utilizando puntos funcin, y otros (en los cuales los
punto funcin no los describen correctamente, tales como clculos cientficos o en
tiempo real) en SLOC. Toda medida es expresada en KSLOC y usada en la Ecuacin
4. El Apndice A muestra la ecuacin para el modelo Post-Arquitectura.
PARMETROS DE COSTE
Existen 17 multiplicadores de esfuerzo utilizados en el modelo Post-Arquitectura
para ajustar el esfuerzo nominal, Persona mes, para poder reflejar el producto
software bajo desarrollo. Estos multiplicadores son agrupados en cuatro categorias:
del producto, de la plataforma, personales, y del proyecto. La figura 19 muestra los
diferentes parmetros de coste junto a sus criterios para establecer los rangos.
Siempre que una valoracin de un parmetro de coste est entre un rango de valores
cercanos al valor medio, por ejemplo si un parmetro de coste est entre Alto y Muy
Alto, entonces seleccionaremos Alto. Una parte de estos multiplicadores del esfuerzo
han sido tratados ya en el modelo de Diseo Inicial.
Factores del Producto:
Ecuacin 10
DATA toma un valor bajo si D/P es menor de 10, y toma un valor muy alto si
es mayor de 100.
36
RELY
DATA
CPLX
RUSE
DOCU
TIME
Muy bajo
Bajo
Nominal
Alta
Muy alta
Extra Alta
Inconvenientes Poco
Moderado
Alta
Riesgos
sin importancia
DB bytes/Pgm 10#D/P<100
D/P 1000
100#D/P<1000
SLOC<10
Mirar tabla sobre la valoracin de complejidad segn el tipo de modulo
None
Determinado
Determinado en Determinado Determinado
en el proyecto el programa
en lnea
en
multiples
lneas
A
penas Algo necesario Tamao
Excesivo a las Muy
necesarios
ajustado a las necesidades del excesivas
necesidades
ciclo devida
para
las
del ciclo de
necesidades
vida
del ciclo de
vida
85%
95%
#50%
del 70%
tiempo usado
para
la
ejecucin
STOR
PVOL
ACAP
PCAP
PCON
AEXP
PEXP
LTEX
Grandes
cambios cada
12 meses, y
cambios
pequeos
cada mes
15%
15%
45%/ao
#2meses
#2meses
#2meses
TOOL
Editor,
codificar,
depurar
SITE:
Distribucin
Internacional
SITE:
Comunicaci
n
Telefono
correo
SCED
75%
nominal
Grandes:
meses.
Pequeos:
semanas.
#50%
del
almacenamient
o disponible
6 Grandes:
2
meses.
2 Pequeos: 1
semana.
70%
Grandes:
semanas.
Pequeos:
das.
85%
95%
2
2
35%
35%
24%/ao
6 meses
55%
55%
12%ao
1 ao
75%
75%
6%/ao
3 aos
90%
90%
3%/ao
6 aos
6 meses
1 ao
3 aos
6 aos
6 meses
1 ao
3 aos
6 aos
CASE
hacia
delante, hacia
atrs y simple,
pequea
integracin
Herramientas
bsicas
del
ciclo de vida,
moderada
integracin
Idem,
integracin
de procesos,
metodos,
reutilizacin
Varias
ciudades
y
varias
compaias
y Correo
indivicual y fax
Varias
ciudades
varias
compaias
Correo
electrnico en
un
canal
angosto
100%
Mismo
edificio
complejo
del 85%
Madured en la
utilizacin
de
herramientas del
ciclo de vida,
integracin
moderada
Misma ciudad o
o misma zona
Cominicacin
Idem,
electrnica
ocasional
utilizando
un video
canal ancho
conferencia
130%
160%
Completament
o e junto
Interactivo
Multimedia
Tabla 19. Parmetros de coste multiplicadores del esfuerzo, para el Modelo Post-Arquitectura.
37
Operaciones
de control
Operaciones
de computo
Operaciones
dependientes
de
dispositivos
Muy baja
Lineas simples
de cdigo con
poco codigo y
sin estructuras
anidadas:
DOs, CASEs,
IFTHENELSs.
Llamadas
a
procedimientos
simples.
Baja
Uso anidado
de operadores
de
programacin
estructurada
de
forma
directa.
Mayoritariame
nte uso de
predicados
simples.
Nominal
Mayora de los
anidamientos
de operadores
son simples.
Algn control
entre modulos.
Tablas
de
decisin. Paso
de mensajes,
incluyendo
proceso
distribuido
a
medio nivel
Evaluacin
Evaluacin de Uso de rutinas
simple
de expresiones a estandar,
matemticas y
expresiones:
nivel medio:
estadsticas.
A=B+C*(D-E)
SQRT(B24*A*C)
Operaciones
bsicas sobre
matrices
o
vectores.
Alta
Programacin
altamente
anidada
con
mucha
composicin
de predicados.
Procesos
distribuidos.
Control
en
tiempo
real
simple.
Muy alta
Codigo
reentrante
y
recursivo.
Manejo
de
interrupciones
con prioridad.
Sincronizacin
de
tareas,
control
en
tiempo
real
complejo.
Extra alta
Mltiple
planificacin
de
recursos
con prioridades
que cambian
dinamicamente
. Control a
nivel
de
microcdigo.
Control
distribuido en
tiempo real.
Analisis
numrico
bsico:
multivariable,
interpolacion,
ecuaciones
diferenciales
de
primer
orden.
Lecturas
simples,
escritura
de
declaraciones
con
formas
simples.
Dificil
y
estructurado
anlisis
numrico:
ecuaciones
matriciales,
ecuaciones
diferenciales
parciales.
Paralelizacin
simple.
Rutinas para
diagnstico, de
servicio,
de
enmascaramie
nto
de
interrupciones.
Manejo de lina
de
comunicacione
s. Sistemas de
proceso
intensivo.
Coordinacin
de bases de
datos
distribuidas.
Seales
de
activacin
complejas.
Optimizacin
de bsquedas.
Analisis
numrico dificil
y
no
estructurado:
anlisis
altamente
preciso
de
ruido,
datos
estocsticos.
Paralelizacin
compleja.
Codificacin
con control de
tiempos
de
dispositivos,
operaciones
de
microprograma
cin. Sistemas
de
proceso
crtico.
No
es
necesario
conocimiento
sobre
procesadores
I/O
particulares. La
I/O se realiza a
niivel
de
GET/PUT.
El proceso de
I/O
incluye
seleccin
de
dispositivos,
comprobacin
de estado, y
proceso de los
errores.
Operaciones
de I/O a nivel
fisico
(traduccin de
direcciones
fsicas,
posicionamient
os
en
memoria,
lecturas, ...).
Tramtamiento
de ficheros de
forma simple,
sin cambios en
la
estrucutra
de datos, sin
ficheros
intermedios, ...
Consultas
y
actualizaciones
moderadas de
la base de
datos.
Operaciones
Formularios de Uso de GUIs
para gestin entrada
simples.
del interfaz de simples.
usuario
Generador de
listados.
Entrada desde
varios ficheros,
y salida nica.
Cambios
simples en la
estructura.
Consultas
y
actualizaciones
complejas.
Simples
seales
de
activacin
flujos
de
datos.
Reestructuraci
n de datos
compleja.
Operaciones
Arrays
de manejo de sencillos
en
datos
memoria
principal.
Consultas
y
actualizaciones
simples de la
base de datos.
Altamente
acoplados,
relacionados
dinmicamente
y
con
estructura de
objetos.
Manejo
de
lenguaje
natural
de
datos.
38
Factores de la Plataforma:
La plataforma se refiere al complejo formado por el hardware e infraestructura
software (antes conocido como mquina virtual) de la mquina objetivo. Los factores
han sido revisados para reflejar estos parmetros tal y como se describen. Algunos
factores adicionales de la plataforma fueron considerados, tal como distribucin,
paralelismo, sistemas empotrados, y operaciones en tiempo real. Estas
consideraciones han sido acomodadas mediante la expansin de los porcentajes del
Modulo de Complejidad en la Ecuacin 20.
Factores Personales:
39
40
41
GLOSARIO
3GL
AA
ACAP
AEXP
Experiencia en la Aplicacin
ASLOC
BRAK
CASE
CM
CMM
Cost
Drivers
COTS
CPLX
DATA
DBMS
DI
Grado de Influencia.
DM
DOCU
ESLOC
FCIL
Facilidades.
FP
Puntos Funcin
GUI
42
ICASE
IM
KSLOC
LTEX
NOP
OS
Sistemas Operativos
PCAP
PCON
PDIF
Dificultad de la Platadorma
PERS
PEXP
Experiencia en la Plataforma
PL
Linea de Producto
PM
PREX
Experiencia Personal
PROD
Porcentaje de Productividad
PVOL
Volatilidad de la Plataforma
RCPX
RELY
RUSE
Reusabilidad Requerida
SCED
SEI
SITE
Desarrollo Multisitio
SLOC
43
STOR
SU
TIME
TOOL
44
Apndice A: ECUACIONES
COMPOSICIN DE APLICACIONES
Ecuacin 11
Muy Bajo
Bajo
Medio
Alto
Muy Alto
Muy Bajo
Bajo
Medio
Alto
Muy Alto
13
25
50
Ecuacin 12
45
DISEO INICIAL
Ecuacin 13
donde
Smbolo
A
ADAPT
AT
EM
KASLOC
KNSLOC
PM
SF
SLOC
UFP
UFP Count
Descripcin
Constante, provisionalmente con un valor 3'0
Porcentaje de componentes adaptados (representa el esfuerzo requerido para
comprender el software)
Porcentaje de componentes que son automticamente transladados
Multiplicadores del esfuerzo: RCPX, RUSE, PDIF, PERS, PREX, FCIL, SCDE
Tamao del componente adaptado expresado en miles de lneas de cdigo fuente
adaptadas
Tamao del componente expresado en miles de nuevas lneas de cdigo fuente
Estimacin de esfuerzo dada en Personas Mes
Factores de escala: PREC, FLEX, RESL, TEAM, PMAT
Tamao de un componente expresado in lneas de cdigo fuente
Puntos Funcin Desajustados
Tamao del componente expresado en Puntos Funcin Desajustados
46
POST-ARQUITECTURA
Ecuacin 14
donde
Smbolo
A
AA
ADAPT
AT
ATPROD
BRAK
CM
DM
EM
IM
KASLOC
KNSLOC
PM
SF
SU
Descripcin
Constante, provisionalmente con un valor de 3'0
Evaluacin y Asimilacin
Porcenta de componentes adaptados (representa el esfuerzo requerido en comprender el
software)
Porcentaje de componentes que son automticamente transladados
Productividad de la translacin automtica
Breakage: porcentaje de cdigo "tirado" debido a la volatilidad de los requerimientos
Porcentaje de cdigo modificado
Porcentaje de diseo modificado
Multiplicadores del esfuerzo: RELY, DATA, CPLX, RUSE, DOCU, TIME, STOR, PVOL,
ACAP, PCAP, PCON, AEXP, PEXP, LTEX, TOOL, SITE, SCED
Porcentaje de integracin y testeo del cdigo modificado
Tamao del componente adaptado expresado en miles de lneas de cdigo fuente
adaptadas
Tamao del componente expresado en miles de nuevas lneas de cdigo fuente
Estimacin de esfuerzo dada en Personas Mes
Factores de escala: PREC, FLEX, RESL, TEAM, PMAT
Comprensin del software (cero si DM=0 y CM=0)
47
ESTIMACIN DE LA PLANIFICACIN
Ecuacin 15
donde
Smbolo
SCED%
PM "negado"
SF
TDEV
Descripcin
Porcentaje de compresin/expansin del multiplicador de esfuerzo SCED
Personas Mes de esfuerzo estimado
para los modelos de Diseo Inicial y
Post-Arquitectura (excluyendo el efecto del multiplicador de esfuerzo SCED)
Factores de escala: PREC, FLEX, RESL, TEAM, PMAT
Tiempo de desarrollo
48
55
BIBLIOGRAFA
Direcciones URLs:
+ Universidad del Sur de California
http://sunset.use.edu/COCOMOII/cocomo.html
http://sunset.use.edu/techRpts/Reports.html
+ Softstars Systems
http://www.softsartsystem.com
+Varios
http://si.di.fc.ul.pt/pbd/Transparentes
http://www.geocities.com/ResearchTriangle/Facility/2917
56