Anda di halaman 1dari 7

13/09/2010

Modelo COCOMO
• Barry Boehm [BOE81] introduce una jerarquía
de modelos de estimación de software que
COCOMO II lleva el nombre de COCOMO, COnstructive
COst MOdel (Modelo Constructivo de Costos).
• Varios niveles según avance.
Administración de Proyectos
• COCOMO evolucionó en COCOMO II [BOE96,
BOE00].

01/09/2010
1 2

COCOMO II COCOMO II
• Soporta el modelo de desarrollo en espiral, • Cuenta con varios niveles:
prototipos, reuso, CASE y engloba varios 1. Nivel de construcción de prototipos
niveles que producen estimaciones detalladas 2. Nivel de diseño inicial
de forma incremental. Éstos pueden utilizarse 3. Nivel de reutilización
en sucesivas iteraciones en el desarrollo en 4. Nivel de postarquitectura
espiral.

Sommerville

3 4

1
13/09/2010

Niveles de COCOMO II Construcción de prototipos


• 1. Nivel de construcción de prototipos. Éste • La fórmula para el cálculo del esfuerzo para el
presume que el sistema es creado mediante prototipado del sistema es:
componentes reutilizables, scripts y
programación de base de datos. • PM = (NAP x (1-%reutilización/100))/PROD
• Fue diseñado para hacer estimaciones de • PM = esfuerzo estimado en personas/mes
desarrollo de prototipos • NAP = total de puntos de aplicación en el
• Las estimaciones de tamaño del software sistema a desarrollar.
están basadas en puntos objeto. • PROD = productividad medida en puntos
• Fórmula= Tamaño/Productividad. objeto
5 6

Niveles de COCOMO II Diseño inicial


• 2. Nivel de diseño inicial. Este nivel se utiliza • La fórmula para las estimaciones en este nivel es:
en etapas tempranas del diseño del sistema, • Esfuerzo = A x TamañoB x M.
después de que los requerimientos hayan sido • Boehm propone que A = 2.94. (Otros 2.45)
establecidos. • Tamaño = KSLOC (miles de líneas de código
fuente).
• Las estimaciones están basadas en puntos de
función, los cuales se convierten a número de • B = 0.91 X Σ SFj (ver tabla) Corrige según
líneas de código. ambiente; <1 bueno al crecer; >1 malo al crecer
• M = PERS x RCPX x RUSE x PDIF x PREX x FCIL x
SCED (ver tabla)

7 8

2
13/09/2010

Diseño inicial Niveles de COCOMO II


• M: Multiplicador. • 3. Nivel de reutilización. Este nivel se utiliza
• RCPX = Fiabilidad y complejidad del producto. para calcular el esfuerzo requerido para
• RUSE = Reutilización requerida. integrar componentes reutilizables y/o el
• PDIF = Dificultad de la plataforma. código que es automáticamente generado por
• PERS = Capacidad del personal. herramientas de diseño de programas de
• PREX = Experiencia del personal. traducción.
• SCED = Calendario. • Normalmente es utilizado con el nivel de post-
• FCIL = Facilidades de apoyo. arquitectura.

9 10

Reutilización Niveles de COCOMO II


• Para el código generado automáticamente, el • Ejemplo:
modelo estima el número de persona/mes – ATPROD = 2.400 líneas por mes,
necesarias para integrar este código. – Si hay un total de 20,000 líneas de código
reutilizado de caja blanca en un sistema y un 30%
• PMauto = (ASLOC x AT/100)/ATPROD. de éste se genera automáticamente, entonces el
• AT = procentaje de código adaptado que se esfuerzo requerido para integrar este código será:
genera automáticamente. – (20,000 x 30/100)/2400 = 2.5 personas/mes (cifra
equivalente en líneas de código nuevo).
• ATPROD = productividad de los ingenieros que – 30,000 líneas de código reutilizado equivale a
integran el código. escribir 6,000 líneas de código nuevo.

11 12

3
13/09/2010

Reutilización Reutilización
• La cifra calculada se suma al número de líneas • ESLOC tiene en cuenta el esfuerzo necesario para
de código nuevo a desarrollar del nivel de comprender el software, para hacer cambios en
postarquitectura. el código a reutilizar y los cambios en el sistema
para integrar este código.
• Las estimaciones en el nivel de reutilización
son: • ESLOC = ASLOC x (1 – AT/100) x AAM.
• ASLOC : Número de líneas de código en los • ASLOC se reduce de acuerdo con un porcentaje
de código automáticamente generado.
componentes que deben ser adaptados.
• AAM es el multiplicador de ajuste de la
• ESCLOC : Número equivalente en líneas de adaptación, el cual tiene en cuenta el esfuerzo
código nuevo. requerido en la reutilización de código.
13 14

Reutilización Reutilización
• AAM es la suma de tres componentes: – Los valores de SU van desde 50 para código
– Un componente de adaptación (llamado AAF) que complejo no estructurado hasta 10 para código
representa el coste de hacer los cambios en el orientado a objetos bien escrito.
código reutilizado. Éste tiene en cuenta cambios • Un factor (llamado AA) que representa el
de diseño, código e integración. coste de la toma de decisiones para la
– Un componente de comprensión (llamado SU) que reutilización. AA varía entre 0 y 8 según la
representa el coste de entender el código que se cantidad de esfuerzo necesaria.
va a reutilizar y la familiarización del ingeniero con
el código.

15 16

4
13/09/2010

Niveles de COCOMO II Postarquitectura


• 4. Nivel de postarquitectura. Una vez • Las estimaciones están basadas en la misma
diseñado el sistema, se puede hacer una fórmula básica (PM = A x TamañoB x M) pero
estimación más precisa del tamaño del se utiliza un conjunto más extenso de
software. Usa KSLOC. atributos (17 en lugar de 7) de producto,
• Este nivel es el más detallado de todos los de proceso y organización para refinar el cálculo
COCOMO II. Se utiliza una vez que se conoce del esfuerzo inicial.
el diseño arquitectónico del sistema, es decir,
cuando conocemos la estructura de
subsistemas.

17 18

Postarquitectura Niveles de COCOMO II


Tabla 3. Factores de escala utilizados para calcular el valor del exponente
• La estimación del número de líneas de código se Factor de escala Explicación

calcula utilizando tres componentes: Precedentes Refleja la experiencia previa de la organización con este tipo de
proyectos. Muy bajo significa sin experiencia previa; Extra alto significa
– Una estimación del número total de líneas nuevas de que la organización está completamente familiarizada con este
dominio de aplicación
código a desarrollar. Flexibilidad de desarrollo Refleja el grado de flexibilidad en el proceso de desarrollo. Muy bajo
– Una estimación del número de líneas de código fuente significa que se utiliza un proceso prescrito; Extra alto significa que el
cliente establece sólo metas generales.
equivalentes (ESLOC) calculadas usando el nivel de Resolución de la arquitectura/riesgo Refleja la amplitud del análisis de riesgo que se lleva a cabo. Muy bajo
reutilización. significa poco análisis; Extra alto significa un análisis de riesgo
completo y detallado.
– Una estimación del número de líneas de código que Cohesión del equipo Refleja qué tan bien se conocen entre ellos los miembros del equipo de
tienen que modificarse debido a cambios en los desarrollo y qué tan bien trabajan juntos. Muy bajo significa
requerimientos. interacciones muy difíciles; Extra alto significa un equipo integrado y
efectivo sin problemas de comunicación.
• Estas estimaciones se añaden para obtener el Madurez del proceso Refleja la madurez del proceso de la organización. El cálculo de este
tamaño del código (KSLOC). valor depende del Cuestionario de Madures del CMM pero se puede
alcanzar una estimación sustrayendo el nivel de madurez del proceso
de CMM de 5.

19 20

5
13/09/2010

Multiplicadores (1/2)
Tabla 4. Multiplicadores del coste del proyecto
Multiplicadores (2/2)
Tabla 4. Multiplicadores del coste del proyecto
RELY Producto Fiabilidad requerida del sistema
PCON Personal Continuidad del personal
CPLX Producto Complejidad de los módulos del sistema
PCAP Personal Capacidad de los programadores
DOCU Producto Amplitud de la documentación requerida
PEXP Personal Experiencia de los programadores en el dominio de
DATA Producto Tamaño de la base de datos utilizada la aplicación
RUSE Producto Porcentaje de componentes reutilizables AEXP Personal Experiencia de los analistas en el dominio de la
requeridos aplicación
TIME Computadora Restricciones de tiempo de ejecución LTEX Personal Experiencia en el lenguaje y las herramientas de
desarrollo
PVOL Computadora Volatilidad de la plataforma de desarrollo TOOL Proyecto Utilización de herramientas de software
STOR Computadora Volatilidad de la plataforma de desarrollo
SCED Proyecto Comprensión de los tiempos de desarrollo
ACAP Personal Continuidad del personal
SITE Proyecto Ámbito de los distintos lugares de trabajo y sus
comunicaciones
21 22
22

Modificadores de B Valores de factores de escala (SF)


peso va bajando
Muy bajo bajo nominal alto Muy alto Extra alto
• B = 0.91 X Σ SFj
PREC 6.20 4.96 3.72 2.48 1.24 0.00
• PREC: experiencia de proyectos precedentes. Desde FLEX 5.07 4.05 3.04 2.03 1.01 0.00
totalmente sin precedentes hasta totalmente familiar RESL 7.07 5.65 4.24 2.83 1.41 0.00
• FLEX: flexibilidad de desarrollo. Desde requerimientos muy TEAM 5.48 4.38 3.29 2.19 1.10 0.00
rígidos hasta solamente metas generales PMAT 7.80 6.24 4.68 3.12 1.56 0.00
• RESL: Nivel de riesgos y tiempo dedicado a arquitectura,
desde casi nada a total
• TEAM: cohesión del equipo. Desde dificultades graves en
interacción hasta interacción suave.
• PMAT: Madurez de acuerdo a CMM: Desde 1 hasta 5 (uno se
repite)
23 24

6
13/09/2010

Valores de Modificadores
Extra Muy Bajo Nominal Alto Muy Extra
bajo bajo alto alto
RCPX 0.73 0.81 0.98 1.00 1.30 1.74 2.38
RUSE --- --- 0.95 1.00 1.07 1.15 1.24
PDIF --- --- 0.87 1.00 1.29 1.81 2.61
PERS 2.12 1.62 1.26 1.00 0.83 0.63 0.50
PREX 1.59 1.33 1.12 1.00 0.87 0.71 0.62
FCIL 1.43 1.30 1.10 1.00 0.87 0.73 0.62
SCED --- 1.43 1.14 1.00 1.00 1.00 ---

25

Anda mungkin juga menyukai