Está en la página 1de 18

Modelo COCOMO 2.

Nuevo escenario

cambios en tecnologa de software


nuevos modelos de ciclo de vida
nuevas herramientas
reingeniera
generadores de aplicaciones
enfoques orientados a objetos
etc

Ingeniera de Software Avanzada

Modelo COCOMO 2.0

Caractersticas principales

mayor variedad de tcnicas y tecnologas


uso de diferentes modelos de tamao segn se avanza en el desarrollo
y se conoce ms del sistema
se basa en tres etapas principales de un proceso de desarrollo,
reconociendo que es imposible conocer tamao en LOC en forma
temprana en el ciclo de vida
dado que es nuevo, no hay datos publicados acerca de su precisin

Ingeniera de Software Avanzada

Page 1

Modelo COCOMO 2.0

Etapa 1

normalmente se conoce poco del tamao probable del producto final,


se trabaja con prototipos para resolver aspectos de alto riesgo, por lo
que el tamao se estima en puntos de objeto ( u object points, que
capturan el tamao en trminos de generadores de esfuerzo de alto
nivel: nmero de tablas de datos de clientes y de servidores, % de
pantallas e informes reusados desde proyectos anteriores)

Ingeniera de Software Avanzada

Modelo COCOMO 2.0

Etapa 2

se ha decidido continuar con el desarrollo, pero deben explorarse


arquitecturas y conceptos de operacin alternativos .... se conoce ms
que en la etapa anterior, pero no suficiente como para estimar con
precisin ... se utilizan puntos de funcin como estimador de tamao
pues ofrecen una descripcin mejor que los puntos de objeto para
estimar la funcionalidad capturada en los requerimientos

Ingeniera de Software Avanzada

Page 2

Modelo COCOMO 2.0

Etapa 3

ha comenzado el desarrollo y se cuenta con mucha ms informacin,


se estima el tamao en trminos de LOC y se utilizan los cost drivers de
una manera similar al modelo original, incorporando modelos de
reuso, nuevos cost drivers, nuevos valores de parmetros, tomando en
cuenta adems la mantencin

Ingeniera de Software Avanzada

Cocomo 2: Etapa 1
Estimacin de esfuerzo:
E=NOP/PROD
E: esfuerzo en personas-mes
NOP: New Object Points, NOP
PROD: razn de productividad

Ingeniera de Software Avanzada

Page 3

Cocomo 2: Etapa 1
Paso 1: Identificacin de los tipos de objeto:
Ventanas
Informes
Componentes de tercera generacin

Paso 2: Clasificacin de cada tipo de objeto en niveles de


complejidad.

Ingeniera de Software Avanzada

Cocomo 2: Etapa 1

<3
3-7
>8

Ventanas
Nmero y fuentes de tablas de datos
Total < 4
Total < 8
Total >8
simple
simple
media
simple
media
difcil
media
difcil
difcil

Nmero de vistas
Contenidas
0-1
2-3
>4

Informes
Nmero y fuentes de tablas de datos
Total < 4
Total < 8
Total >8
simple
simple
media
simple
media
difcil
media
difcil
difcil

Nmero de vistas
Contenidas

Ingeniera de Software Avanzada

Page 4

Cocomo 2: Etapa 1
Paso 3: Calculo de los puntos objetos (Object Points, OP).

Tipo de objeto
Simple
x1
x2

Ventana
Informe
Componente de 3GL

Complejidad - Peso
Media
Difcil
x2
x3
x5
x8
x 10
Total OP

Subtotal
=
=
=
=

Ingeniera de Software Avanzada

Cocomo 2: Etapa 1
Paso 4: Calculo de los Nuevos Puntos Objetos (New Object
Points, NOP).
NOP= (OP)/(100-%r)/100
,donde %r corresponde a los objetos de proyectos previos
que sern reutilizados en el proyecto actual.

Ingeniera de Software Avanzada

Page 5

Cocomo 2: Etapa 1
Paso 5: Determinacin de la razn de productividad
PROD:

Experiencia y capacidad de
los desarrolladores
Madurez y capacidad de
ICASE
PROD

Muy
Baja
Muy
Baja
4

Baja

Nominal

Alta

Baja

Nominal

Alta

13

25

Ingeniera de Software Avanzada

Cocomo 2: Etapa 1
Paso 6: Calculo del esfuerzo.
E=NOP/PROD

Ingeniera de Software Avanzada

Page 6

Muy
Alta
Muy
Alta
50

Cocomo 2: Etapas 2 y 3
Estimacin del esfuerzo:
PM nominal= A* (Tamao) B
,donde
A: constante (Temporalmente Etapa 2 A= 2,45; Etapa 3 A= 2,55)
B: factor de economa y des-economa
Tamao: KSLOC

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Factor de escala de economa y des-economa:
B= 0,91 + 0,01* wi

Ingeniera de Software Avanzada

Page 7

Cocomo 2: Etapas 2 y 3
Factores de escala:
Precedentedness (PREC): captura la experiencia previa en cuanto al desarrollo de
proyectos similares.
Development Flexibility (FLEX): cun flexible es el proceso de desarrollo en relacin
con los requerimientos establecidos.
Architecture/ Risk Resolution (RESL): pondera el nivel de riesgo asociado al proyecto
y el porcentaje de respuesta que es capaz de lograr la organizacin ante la ocurrencia de
algn riesgo.
Team Cohesion (TEAM): captura el tipo de interaccin al interior del proyecto y su
impacto sobre l.
Process Maturity (PMAT): nivel de madurez de la organizacin en relacin con las
reas de prcticas claves (Key Practices Areas, KPA) del CMM.

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Scale
Fators
(wi)
PREC
FLEX
RESL
TEAM
PMAT

Muy
Bajo
5

Bajo

Nominal

High

thoroughly
unpreceden
ted
rigorous

Very
High
1

largely
somewhatu generally
largely
unpreceden nprecedent familiar
familiar
ted
ed
occasional some
general
some
relaxation relaxation conformity conformity
little
some
often
Generally mostly
(20%)
(40%)
(60%)
(75%)
(90%)
some
basically
Largely
highly
very
difficult
difficult
cooperative cooperative cooperative
interactions interactions interactions
Weighted average of Yes answers to CMM Maturity Questionnaire

Ingeniera de Software Avanzada

Page 8

Extra
High
0
throughly
familiar
general
goals
full
(100%)
seamless
interaction

Cocomo 2: Etapas 2 y 3
Factor de escala PMAT:
KPA (18):
Gestin de los requerimientos, Planificacin del proyecto, Monitoreo y
seguimiento del proyecto, Gestin de subcontratos, SQA, SCM,
Organizacin centrada en el proceso, Definicin del proceso, Programas
de capacitacin, Gestin de software integrada, Coordinacin intergrupal,
Ingeniera del producto de software, Revisiones por pares, Gestin
cuantitativa del proceso, Gestin de calidad del software, prevencin de
defectos, Gestin del cambio tecnolgico, Gestin del cambio del proceso.

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Cada una de estas reas es catalogada como:

Casi siempre (>90%)


Frecuentemente (60-90%)
Cerca de la mitad de las veces(40-60%)
Ocasionalmente (10-40%)
Rara vez (<10%)
No se aplica
No se sabe

PMAT= 5 - (((KPA%*i)/100)*5/18)

Ingeniera de Software Avanzada

Page 9

,i=1,..,18

Cocomo 2: Etapas 2 y 3
Estimacin de tamao:
LOC:
Checklist de definicin de LOC del SEI
Function Points
Se contabilizan slo los UFP, los cuales son transformados a LOC
mediante tablas pre-establecidas.

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Estimacin de tamao, Ajuste para reuso
Entradas:
ASLOC: amount of software to be adapted
DM: % design modified
CM: % code modified
IM: % of modification to the original integration effort required for
integrating the reused software

Ingeniera de Software Avanzada

Page 10

Cocomo 2: Etapas 2 y 3
Estimacin de tamao, Ajuste para reuso
SU: software understanding
AA: nivel de evaluacin y asimilacin requerido para determinar cuando un
modulo es apropiado o no para la aplicacin y para integrar su descripcin a
la descripcin del producto.
UNFM: programmer`s relative unfamiliarity with the software.

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
SU (%)
Structure

Application
Clarity
Self
Descriptive
ness

Muy
Bajo
50

Bajo

Nominal

40

30

20

10

Very low
cohesion,
high
coupling,
spaghetti
code
No match
between
program and
application
world views
Obscure
code;
documentatio
n missing,
obscure or
obsolete

Moderately low
cohesion, high
coupling

Reassonably
well structured,
some weak
areas

High cohesion,
low coupling

Some
correlation
between
program and
application
Some code
commentary
and headers;
some useful
documentation

Moderate
correlation
between
program and
application
Moderate levels
of code
commentary,
headers,
documentations

Good
correlation
between
program and
application
Good code
commentary
and headers,
useful
documentation;
some weak
areas

Strong
modularity,
information
hiding in
data/control
structures
Clear match
between
program and
application
world views
Self descriptive
code,
documentation
up to date, well
organized with
design rationale

Ingeniera de Software Avanzada

Page 11

High

Very High

Cocomo 2: Etapas 2 y 3
AA Increment

Level of AA Effort

0
2

None
Basic module search and documentation

4
6

Some module Test and Evaluation, documentation


Considerable module Test and Evaluation,
documentation
Extensive module Test and Evaluation,
documentation

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
UNFM Increment

Level of Unfamiliarity

0,0
0,2

Completely familiar
Mostly familiar

0,4
0,6

Somewhat familiar
Considerably familiar

0,8
1,0

Mostly unfamiliar
Completely unfamiliar

Ingeniera de Software Avanzada

Page 12

Cocomo 2: Etapas 2 y 3
Estimacin de tamao, Ajuste para reuso
ESLOC=[ASLOC(AA+AAF(1+0,02(SU)(UNFM)))]/100,
AAF<=0,5
ESLOC=[ASLOC(AA+AAF+(SU)(UNFM))]/100,
AAF>0,5
AAF= 0,4(DM) + 0,3(CM) + 0,3(IM)
, donde
ESLOC: lneas de cdifo equivalentes

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Estimacin de tamao, Ajuste para reingeniera
PM nominal= A* (Tamao) B + [ASLOC (AT/100)/ATPROD]
ASLOC: amount of software to be adapted
AT: %of code that is re-engineering by automatic translation
ATPROD: productivity for automated translation (temporalmente, 2400)

Ingeniera de Software Avanzada

Page 13

Cocomo 2: Etapas 2 y 3
Re-engineering target

AT

Batch processing
Batch with SORT
Batch with DBMS
Batch, SORT, DBMS
Interactive

96%
90%
88%
82%
50%

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Ajuste del esfuerzo nominal
Etapa 2:
PM ajustado= PM nominal * EMi,

,i=1,..,7

Etapa 3:
PM ajustado= PM nominal * EMi,
EM: effort multipliers (cost drivers)

Ingeniera de Software Avanzada

Page 14

,i=1,..,17

Cocomo 2: Etapas 2 y 3
Ajuste del esfuerzo nominal: Etapa 2
PERS (Personal Capability): captura las potencialidades de analistas y
programadores (ACAP y PCAP) y la tasa de rotacin del personal (PCON).
RCPX (Product Reliability and Complexity): contempla la influencia de la
confiabilidad del software (RELY), el tamao de la base de datos (DATA), la
complejidad del producto (CPLX), y la documentacin requerida (DOCU).
RUSE (Required Reuse): esfuerzo adicional requerido para construir
componentes que debern ser reutilizados tanto en el proyecto como por proyectos
futuros. (RUSE).
PDIF (Plataform Difficulty): refleja es esfuerzo adicional requerido como
producto de las restricciones de tiempo de ejecucin (TIME), almacenamiento
principal (STOR), y volatilidad de la plataforma (PVOL).

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
PREX (Personnel Experience): abarca la experiencia en relacin con la
aplicacin (AEXP), la plataforma (PEXP), y el lenguaje y las herramientas para
el desarrollo (LTEX).
FCIL (Facilities): captura el uso de herramientas de apoyo al desarrollo del
software (TOOL) y si el proceso de desarrollo es realizado en lugares mltiples
(SITE).
SCED (Schedule): busca capturar restricciones de tiempo de desarrollo
impuestas.

Ingeniera de Software Avanzada

Page 15

Cocomo 2: Etapas 2 y 3
Ajuste del esfuerzo nominal: Etapa 3
Factores de producto
RELY, DATA, CPLX, RUSE, DOCU
Factores de plataforma
TIME, STOR, PVOL
Factores de plataforma
ACAP, PCAP, AEXP, PEXP, LTEX, PCON
Factores del proyecto
TOOL, SITE, SCED

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Estimacin del tiempo de desarrollo
TDEV= [3,67*(PMx )(0,28+0,2*(B-1.01))]*SCED%/100
TDEV: tiempo de desarrollo desde la etapa de requerimientos hasta la aceptacin
del producto en relacin con los requerimientos.
PMx : estimacin de personas mes excluyendo el multiplicador SCED

Ingeniera de Software Avanzada

Page 16

Cocomo 2: Etapas 2 y 3
Mantencin:
(Tamao)M = [(Tamao del Cdigo Base)*MCF]MAF

MCF: maintenance change factor, % de cambios en el cdigo base (similar al


ACT de Cocomo 81)
MCF= (Tamao agregado + Tamao modificado)/Tamao del Cdigo Base

Ingeniera de Software Avanzada

Cocomo 2: Etapas 2 y 3
Mantencin:
MAF : maintenance adjustment factors
MAF= 1+((SU/100)*UNFM)

PMM=A*(TamaoM)B * EMi,
PMM= TM* FSPM

,i=1,..,17

Ingeniera de Software Avanzada

Page 17

Cocomo 2
Rangos de esfuerzo:

Modelo

Estimacin optimista

Estimacin pesimista

Etapa 1

0,5 E

2,0 E

Etapa 2

0,67 E

1,5 E

Etapa 3

0,80 E

1,25 E

Ingeniera de Software Avanzada

Cocomo 2
Trabajos futuros:

COCOTS (COnstructive COTS)


COQUALMO (COnstructive Quality MOdel)
CORADMO (COnstructive Rapid Application Development MOdel)
COSSEMO (COnstructive Staged Schedule and Effort MOdel)
COPROMO (COnstructive PROductivity improvement Model)

Ingeniera de Software Avanzada

Page 18

También podría gustarte