Download cocomo2-apuntes.pdf PDF

Titlecocomo2-apuntes.pdf
TagsSoftware Engineering Software Computing Technology Computer Engineering
File Size457.4 KB
Total Pages49
Document Text Contents
Page 1

- COCOMO -

UN MODELO DE ESTIMACION DE PROYECTOS DE SOFTWARE

Adriana Gómez, María del C.López,

Silvina Migani, Alejandra Otazú

RESUMEN

Como se conoce, una de las tareas de mayor importancia en la planificación de proyectos de
software es la estimación, la cual consiste en determinar, con cierto grado de certeza, los recursos
de hardware y software, costo, tiempo y esfuerzo necesarios para el desarrollo de los mismos.

Este trabajo describe un modelo de estimación, propuesto por Barry Boehm, llamado
COCOMO II. Este modelo permite realizar estimaciones en función del tamaño del software, y de
un conjunto de factores de costo y de escala. Los factores de costo describen aspectos relacionados
con la naturaleza del producto, hardware utilizado, personal involucrado, y características propias
del proyecto. El conjunto de factores de escala explica las economías y deseconomías de escala
producidas a medida que un proyecto de software incrementa su tamaño.

COCOMO II posee tres modelos denominados Composición de Aplicación, Diseño
Temprano y Post-Arquitectura. Cada uno de ellos orientados a sectores específicos del mercado de
desarrollo de software y a las distintas etapas del desarrollo de software.

Page 2

2

1 Introducción ................................................................................................................................4

2 Breve Historia..............................................................................................................................5

3 COCOMO 81 ...............................................................................................................................6

3.1 Modos de Desarrollo........................................................................................................................... 7

3.2 Modelo Básico ..................................................................................................................................... 9

3.3 Modelo Intermedio ........................................................................................................................... 12

3.4 Modelo Detallado .............................................................................................................................. 14

3.4.1 Procedimiento de estimación de esfuerzo .................................................................................................14

3.4.2 Procedimiento de estimación del cronograma...........................................................................................25

4 COCOMO II ..............................................................................................................................26

4.1 Definición del modelo ....................................................................................................................... 26

4.2 Estimación del Esfuerzo ................................................................................................................... 28

4.2.1 Modelo Composición de Aplicación.........................................................................................................28

4.2.2 Modelo Diseño Temprano.........................................................................................................................28

4.2.3 Modelo Post-Arquitectura .........................................................................................................................30

4.3 Estimación del Cronograma ............................................................................................................ 30

4.4 Métricas de Software........................................................................................................................ 31

4.4.1 Puntos Objeto ............................................................................................................................................31

4.4.2 Puntos Función..........................................................................................................................................32

4.4.3 Líneas de Código Fuente...........................................................................................................................35

4.4.4 Conversión de Puntos Función a Líneas de Código Fuente (SLOC).........................................................36

4.4.5 Desperdicio de Código (Breakage). ..........................................................................................................37

4.4.6 Modelo de Reuso.......................................................................................................................................37

4.4.7 Reingeniería y Conversión ........................................................................................................................40

4.5 Factor Exponencial de Escala.......................................................................................................... 42

4.5.1 Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX ).................................................................43

4.5.2 Arquitectura y Determinación del Riesgo (RESL)....................................................................................44

4.5.3 Cohesión del Equipo (TEAM) .................................................................................................................45

4.5.4 Madurez del Proceso (PMAT) ..................................................................................................................45

4.6 Factores Multiplicadores de Esfuerzo ( Effort Multipliers EM ). ................................................ 46

4.6.1 Factores del producto ................................................................................................................................48

4.6.2 Factores de la plataforma ..........................................................................................................................50

4.6.3 Factores del personal.................................................................................................................................51

4.6.4 Factores del proyecto ...............................................................................................................................52

4.7 Consideraciones destacables del modelo......................................................................................... 53

5 Un Ejemplo Práctico .................................................................................................................54

Page 24

43

Factor de
Escala Wj

Muy Bajo Bajo Normal Alto Muy Alto Extra

Precedencia

PREC

Completamente
sin precedentes

Ampliamente
sin

precedentes

Algún

precedente

Generalmente

Familiar

Ampliamente

Familiar

Completamente

Familiar

Flexibilidad
en el

desarrollo

FLEX

Rigurosa
Relajación
Ocasional

Alguna
Relajación

Conformidad en
general

Alguna
Conformidad

Metas
generales

Arquitectura/
Resolución
de riesgo

RESL

Poca

(20%)

Alguna

(40%)

Siempre

(60%)

Generalmente

75%)

Principalmente

(90%)

Completo

(100%)

Cohesión de
equipo

TEAM

Interacciones

difíciles

Interacciones
con alguna
dificultad

Interacciones
básicamente
cooperativas

Ampliamente

Cooperativas

Altamente

Cooperativas

Interacciones

Sin Fisuras

Madurez del
proceso

PMAT

Desarrollado más adelante

Tabla 15: Factores de Escala. [Boehm 1995/2]

Figura 8: Factores de Escala. [COCOMO II.0]

4.5.1 Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX )

El factor de precedencia (PREC) toma en cuenta el grado de experiencia previa en relación
al producto a desarrollar, tanto en aspectos organizacionales como en el conocimiento del software
y hardware a utilizar.

El factor de flexibilidad (FLEX) considera el nivel de exigencia en el cumplimiento de los
requerimientos preestablecidos, plazos de tiempos y especificaciones de interfase.

El modelo COCOMO II presenta la Tabla 16, en la cual se detallan las siete características a
analizar para encontrar el peso de los factores PREC y FLEX.

Page 25

44

Características Muy Bajo

Bajo

Nominal

Alto

Extra Alto

Muy Alto

Precedencia

Entendimiento organizacional de los objetivos del
producto

General Considerable Total

Experiencia en el trabajo con software relacionado Moderada Considerable Amplia

Desarrollo concurrente de nuevo hardware y
procedimientos operacionales

Abundante Moderado Escaso

Necesidad de innovación en el procesamiento de
datos, arquitectura y algoritmos

Considerable Alguna Mínima

Flexibilidad en el desarrollo

Necesidad de conformar requerimientos pre-
establecidos

Total Considerable Básica

Necesidad de conformar especificaciones externas de
interfase

Total Considerable Básica

Estímulo por terminación temprana Elevado Medio Bajo

Tabla 16: Factores de Escala relacionados al modo de desarrollo de COCOMO. [COCOMO II.0]

4.5.2 Arquitectura y Determinación del Riesgo (RESL)

Este factor involucra aspectos relacionados al conocimiento de los ítems de riesgo crítico y
al modo de abordarlos dentro del proyecto.

El nivel del factor RESL es el resultado de un promedio de los niveles de las características
listadas en la Tabla 17.

Características Muy Bajo Bajo Normal Alto Muy Alto Extra

Planificación de la administración
de riesgo, identificando todos los
ítems de riesgo y estableciendo
hitos de control para su solución
por medio de la revisión del diseño
del producto (PDR)

Ninguna Pequeña Algo General
En gran
medida

Completa

Cronograma, presupuesto e hitos
internos especificados en el PDR,
compatibles con el plan de
administración de riesgo

Ninguno Pequeño Algo General
En gran
medida

Completo

Porcentaje del cronograma
dedicado a la definición de la
arquitectura de acuerdo a los
objetivos generales del producto

5 10 17 25 33 40

Porcentaje de arquitecturas de
software disponibles para el
proyecto

20 40 60 80 100 120

Herramientas disponibles para
resolver ítems de riesgo,
desarrollando y verificando las
especulaciones de arquitecturas

Ninguna Pocas Algunas Buenas
Muy

Buenas
Completas

Page 48

67

[Amadeus 1994] Amadeus, Amadeus Measurement System User’s Guide, Version 2.3a,
Amadeus Software Research, Inc., Irvine, California, July 1994.

[Banker 1994] Banker, R., R. Kauffman and R. Kumar (1994), “An Empirical Test of
Object-Based Output Measurement Metrics in a Computer Aided Software
Engineering (CASE) Environment” Journal of Management Information
Systems.

[Behrens 1983] Behrens, C. (1983), “Measuring the Productivity of Computer Systems
Development Activities with Function Points”, IEEET Transactions on
Software Engineering.

[Boehm 1981] Barry W Boehm, Software Engineering Economics, Ed. Prentice Hall.

[Boehm 1989] Boehm, B. and W. Royce, Ada COCOMO and the Ada Process Model,
Proceedings, Fifth COCOMO Users’ Group Meeting, Software Engineering
Institute, Pittsburgh, PA, November 1989.

[Boehm 1995/1] Boehm B.W.,Clark B., Horowizt E., Westland C., Madachy R., Selby R.,
Cost Models for Future Software Life Cycle Processes: COCOMO II ,
Annals of Software Engineering Special Volume on Software Process and
Product Measurement, 1995, Vol 1, pp. 45-60. Primer paper que trata
COCOMO II.

http://sunset.usc.edu/COCOMOII/cocomo.html

[Boehm 1995/2] Boehm B.W.,Clark B., Horowizt E., Westland C., Madachy R., Selby R.,
The COCOMO 2.0 Software Cost Estimation Model,

http://sunset.usc.edu/COCOMOII/cocomo.html.

[Chidamber and Kemerer 1994] Chidamber, S. and C. Kemerer , A Metrics Suite for Object
Oriented Design, IEEE Transactions on Software Engineering, 1994.

[COCOMO II.0] Documentos de la ayuda del software COCOMO II.0.

[Fenton 1997] Fenton, N.E. Pfleeger, Software Metrics. A Rigorous & Practical Approach,
PWS Publishing Company, Boston, 1997, S.L. Capitulo 7.

[Ghezzi 1991] Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, “Fundamentals of Software
Engineering”.

[Gerlich and Denskat 1994] Gerlich, R. and Denskat U., “A Cost Estimation Model for
Maintenance and High Reuse”, Proceedings, ESCOM 1994, Ivrea, Italy.

[Goethert et al. 1992] Goethert, W., E. Bailey, M. Busby, Software Effort and Cronograma
Measurement: A Framework for Counting Staff Hours and Reporting
Cronograma Information, CMU/SEI-92-TR-21, Software Engineering
Institute, Pittsburgh, PA.

[Madachy 1997] Madachy, J. Raymond, Heuristic Risk Assessment Using Cost Factors,
IEEE Software, May/June 1997, pp. 51-59.

[Parikh and Zvegintzov 1983]

[Park 1992] Park R., Software Size Measurement: A Framework for Counting Source
Statements, CMU/SEI-92-TR-20, Software Engineering Institute,
Pittsburgh, PA.

http://sunset.usc.edu/COCOMOII/cocomo.html
http://sunset.usc.edu/COCOMOII/cocomo.html

Page 49

68

[IFPUG 1994] IEPUG, IFPUG Function Point Counting Practices: Manual Release 4.0,
International Function Point Users’ Group, Westerville, OH.

[Kunkler 1985] Kunkler, J., A Cooperative Industry Study on Software
Development/Maintenance Productivity, Xerox Corporation, Xerox Square -
-- XRX2 52A, Rochester, NY 14644, Third Report, March 1985.

[Pressman 1997] Pressman Roger, “Ingeniería de Software, Un Enfoque Práctico”.

[Ruhl and Gunn 1991] Ruhl, M., and Gunn, M., “Software Reengineering: A Case Study and
Lessons Learned” NIST Special Publication 500-193, Washington, DC,
September 1991.

[Selby 1988] Selby R., “Empirical Analyzing Software Reuse in a Production
Environment”, In Software Reuse: Emerging Technology, W. Tracz (Ed.),
IEEE Computer Society Press, 1988, pp. 176-189.

[Selby et al. 1991] Selby R., A. Porter, D. Schimidt and J. Berney , Metric-Driven Analysis
and Feedback systems for Enabling Empirically Guided Software
Development, Proceedings of the Thirteenth International Conference on
Software Engineering (ICSE 13), Austin, TX, May 13-16, 1991, pp. 288-
298.

[USC 1989] Center for Software Engineering, Modeling Software Defect Introduction.
Los Angeles, California 1989.

http://sunset.usc.edu/COCOMOII/cocomo.html.

http://sunset.usc.edu/COCOMOII/cocomo.html

Similer Documents