Publicado el 20 de Julio del 2017
1.028 visualizaciones desde el 20 de Julio del 2017
29,8 KB
11 paginas
Creado hace 23a (29/05/2001)
CAPÍTULO 5
Modelos empíricos de estimación.
Un modelo empírico de estimación para software puede utilizar fórmulas
derivadas empíricamente para predecir el esfuerzo como una función de LDC y
PF. Los valores para LDC y PF son estimados utilizando el enfoque descrito en el
capítulo 3.6. pero en lugar de utilizar las tablas descritas en esas secciones, los
valores resultantes para LDC y PF se unen al modelo de estimación [Len O. Ejogo
‘91].
Los datos empíricos que soportan la mayoría de los modelos de estimación
se obtienen de una muestra limitada de proyectos. Es por eso que estos modelos
de estimación no son adecuados para todas clases de software y en todos los
entornos de desarrollo. Por consiguiente, los resultados obtenidos de dichos
modelos se deben utilizar con prudencia.
5.1 La estructura de los modelos de estimación
Un modelo común de estimación se despega utilizando análisis de regresión sobre
los datos compilados de proyectos anteriores de software. La estructura, global de
tales modelos adquiere la forma de [Len O. Ejiogo ‘91]:
E = A + B * (ev)c
(5.1)
102
donde A, B y C son constantes conseguidas empíricamente, E es el esfuerzo en
meses/persona, y ev es la variable de estimación (de LDC o PF). Además de la
dependencia señalada en la ecuación, la mayoría de los modelos de estimación
tienen algún componente de ajuste del proyecto que permite ajustar E debido a
otras características del proyecto (p. ejemplo: complejidad del problema,
experiencia del personal, entorno de desarrollo).
Entre los muchos modelos de estimación orientados a LDC se encuentran los
siguientes:
E = 5.2 x (KLDC)0.91
Modelo de Walston-Felix
(5.2)
E = 5.5 + 0.73 x (KLDC)1.16
Modelo de Bailey-Basisli
(5.3)
E = 3.2 x (KLDC) 1.05
E= 5.288 x (KLDC)1.047
Modelo simple de Boehm
(5.4)
Modelo Doty para KLDC >9
(5.5)
También se han propuesto los modelos orientados a PF. Entre estos modelos se
incluyen:
E = -13.39 + 0.054 PF
Modelo de Albretch y Gaffney
E = 60.62 x 7.728 x 10 PF8 Modelo de Kemerer
(5.6)
(5.7)
E = 585. 7 + 15.12 PF
Modelo de Matson, Barnett y Mellichamp (5.8)
Una rápida exploración de los modelos listados arriba indica que cada uno traerá
un resultado diferente para el mismo valor de LDC y PF. Los modelos de
estimación se deben evaluar para necesidades particulares.
103
5.2 El Modelo COCOMO
Barry Boehm [Pressman ‘93], en su libro sobre “Economía de la Ingeniería
del Software”, menciona una escala de modelos de estimación de software con el
nombre de COCOMO, por COnstrucive COst MOdel (MOdelo COnstructivo de
COsto). La escala de modelos de Boehm incluye:
• Modelo 1. El modelo COCOMO básico calcula el esfuerzo (y el costo)
del desarrollo de software en función del tamaño del programa,
expresado en las líneas estimadas de código (LDC).
• Modelo 2, El modelo COCOMO intermedio calcula el esfuerzo del
desarrollo de software en función del tamaño del programa y de un
conjunto de “conductores de costo” que incluyen la evaluación subjetiva
del producto, del hardware, del personal y de los atributos del proyecto.
• Modelo 3, El modelo COCOMO avanzado
incorpora
todas
las
características de la versión intermedia y lleva a cabo una evaluación
del impacto de los conductores de costo en cada fase (análisis, diseño,
etc.) del transcurso de ingeniería del software.
Los modelos COCOMO están establecidos para
tres prototipos de
proyectos de software que empleando la terminología de Boehm son: ( 1 ) modo
orgánico: aquellos proyectos de software que son respectivamente pequeños y
sencillos en donde trabajan pequeños equipos que poseen buena experiencia en
la aplicación, sobre un conjunto de
requisitos poco
rígidos;
(2) modo
104
semiacoplado: son los proyectos de software intermedios hablando de tamaño y
complejidad, en donde los equipos tienen diversos niveles de experiencia, y
además deben satisfacer requerimientos poco o medio rígidos; (3) modo
empotrado: son proyectos de software que deben ser desarrollados en un conjunto
de hardware, software y restricciones operativas muy restringido.
Las ecuaciones del COCOMO básico tienen la siguiente forma: [Norman E.
Fenton‘91]
E = ab KLDCb
b
D = Cb Ed
b
(5.9)
(5.10)
donde E es el esfuerzo aplicado en personas-mes, D es el tiempo de desarrollo en
meses cronológicos y KLDC es el número estimado de líneas de código
distribuidas (en miles) para el proyecto. Los coeficientes ab y Cb y los exponentes
b y b
d
b, con valores constantes se muestran en la Tabla 5.1 [Norman E. Fenton ‘91].
Modelo COCOMO básico
Proyecto de Software
Orgánico
Semiacoplado
Empotrado
ab
2.4
3.0
3.6
b
b
1.05
1.12
1.20
cb
2.5
2.5
2.5
d
b
0.38
0.35
0.32
Tabla 5.1 Valores Constantes [Norman E. Fenton ‘91].
105
La ecuación del modelo COCOMO intermedio toma la forma:
E = aiKLDCbi * FAE
(5.11)
donde E es el esfuerzo aplicado en personas-mes y LDC es el número estimado
de líneas de código distribuidas para el proyecto. El coeficiente ai y el exponente bi
se muestran en la Tabla 5.2
Modelo COCOMO Intermedio
Proyecto de Software
Orgánico
Semiacoplado
Empotrado
ai
3.2
3.0
3.8
bi
1.05
1.12
1.20
Tabla 5.2 Valores Constantes [Norman E. Fenton ‘91].
COCOMO es el modelo empírico más completo para la estimación del
software publicado hasta la fecha. Sin embargo, deben tenerse en cuenta los
propios comentarios de Boehm [Pressman ‘98] sobre COCOMO (y por extensión,
sobre todos los modelos):
Hoy en día un modelo de estimación de costos de software está bien
fundado si puede evaluar tanto los costos de desarrollo de software en un 20 por
ciento de los costos reales, así como un 70 por ciento del tiempo y ello en su
propio terreno (o sea dentro de la clase de proyectos para los cuales ha sido
calibrado), en realidad ésta no es la exactitud que aspiramos, pero es más que
106
suficiente para facilitar el análisis económico de la ingeniería del software y
también en la toma de decisiones.
5.3 La ecuación del software
La ecuación del software [Norman E. Fenton‘91] es un modelo multivariable
que asume una distribución específica del esfuerzo a lo largo de la vida de un
proyecto de desarrollo de software. El modelo se ha obtenido a partir de los datos
de productividad para unos 4,000 proyectos actuales de software. Un modelo de
estimación tiene esta forma:
E=[LDC * B0.333 / P]3 * (1/t4)
(5.12)
donde E = esfuerzo en personas-mes o en personas-año
t = duración del proyecto ya sea en meses o años
B = “factor especial de destrezas, en donde incrementa a medida que
crecen la necesidad de integración, pruebas, garantía de calidad,
documentación y habilidad de administración” [Fenton’91]. Para programas
pequeños (KLDC= 5 a 15), B = 0.16. Para programas mayores de 70 KLDC,
B = 0.39.
P = “parámetro de productividad” que refleja:
• Madurez global del proceso y de las prácticas de administración
• La amplitud hasta donde se utilizan correctamente las normas e
la ingeniería del software.
• El nivel de los lenguajes de programación utilizados
107
• Las habilidades y la experiencia del equipo del software.
• La complejidad de la aplicación.
Es importante señalar que la ecuación del software tiene dos parámetros
dependientes: (1) una estimación del tamaño (en LDC) y (2) una indicación de la
duración del proyecto en meses o años. Mediante la ecuaciones 5.12 tendrá con
valor de P = 12.000 (valor recomendado para software científico).
Para simplificar el proceso de estimación y utilizar una forma más común
para su modelo de estimación, Putnam y Myers sugieren un conjunto de
ecuaciones obtenidas de la ecuación del software. Un tiempo mínimo de desarrollo
se define como [Norman E. Fenton ‘91]:
tmin = 8,14 (LDC/PP)0.43 en meses para tmin > 6 meses
(5.13)
E = 180Bt3 en personas-mes para E >= 20 personas-mes
(5.14)
Se tendrá en cuenta que t en la ecuación 5.14 se representa en años.
5.4 El modelo CMM (Modelo de Capacidad y Madurez)
El desarrollo del modelo CMM fue encargado por el departamento de
defensa de los Estados Unidos, como una ramificación de los problemas
experimentados durante la obtención del software., ya que ellos perseguían un
medio para evaluación de los contratistas potenciales. Pero en el firme proceso de
realizar progresos en los resultados de la calidad de software, adonde se ve
envuelto el mejoramiento del proceso de desarrollo de este, ha llevado al Instituto
108
de Ingeniería de Software (Software Engineering Institute, SEI) en Carneige
Mellom el desarrollo del Modelo de Capacidad y Madurez (Capability Maturity
Model, CMM), que constituye de cinco niveles del desarrollo del software,
organizando así al proceso de maduración:
Por medio de un amplio cuestionario, seguido de entrevistas y recolección
de evidencias, EI software de la
Comentarios de: CAPÍTULO 5 Modelos empíricos de estimación (0)
No hay comentarios