Beruflich Dokumente
Kultur Dokumente
EM NMERO DE LINHAS
DE CDIGO
PROF. RAUL SIDNEI WAZLAWICK
UFSC-CTC-INE
2010
ESTIMATIVA DE ESFORO
Uma das questes fundamentais em um projeto
de software saber, antes de execut-lo, quanto
esforo em horas de trabalho ser necessrio para
executar o projeto.
Essa rea, chamada de estimativa de esforo
conta com algumas tcnicas que tm apresentado
resultados interessantes ao longo dos ltimos
anos.
As tcnicas de estimao de esforo utilizam pelo
menos um parmetro como base.
LOC E KLOC
A tcnica conhecida como LOC (Lines of Code) ou
SLOC (Source Lines of Code) foi possivelmente a
primeira a surgir e consiste em estimar o nmero
de linhas que um programa dever ter a partir da
opinio de especialistas.
Rapidamente a tcnica evoluiu para a forma
conhecida como KLOC (Kilo Lines of Code), tendo
em vista o tamanho dos programas.
RELATIVIDADE DA TCNICA
A noo de linha de cdigo continua sendo uma
medida popular para complexidade de
programas, que podem varias de 10 a
100.000.000 de linhas ou comandos, com
complexidade inerente diretamente proporcional
na maioria das vezes.
A medida LOC faz sentido quando se compara
ordens de magnitude.
KLOC ESPERADO
KLOCesperado = (4*KLOCmdio + KLOCotimista + KLOCpessimista) / 6
ARMADILHAS
Programadores experientes produziro software
com possivelmente menos linhas do que
programadores menos experientes.
A reutilizao de software baixa o nmero de
linhas efetivamente produzidas em relao s
funcionalidades efetivamente disponibilizadas.
Assim, essa medida sempre ser relativa ao tipo
de equipe e estrutura de trabalho que se tenha.
LOC E PRODUTIVIDADE
LOC E REFATORAO
COCOMO
COCOMO ou Constructive Cost Model um
modelo de estimativa de esforo baseado em
KLOC.
O modelo foi criado por Boehm (1981) a partir de
um estudo emprico sobre sessenta e trs projetos
na empresa TRW Aerospace.
Os programas examinados tinham de 2 a 100
KLOC e eram escritos em diversas linguagens de
programao.
Tambm conhecido como COCOMO 81.
TIPO DE PROJETO
Modo orgnico
se aplica quando o sistema a ser desenvolvido no envolver
dispositivos de hardware e a equipe estiver acostumada a
desenvolver este tipo de aplicao, ou seja, sistemas de baixo
risco tecnolgico e baixo risco de pessoal.
Modo semi-destacado
se aplica a sistemas com maior grau de novidade para a equipe
e que envolvem interaes significativas com hardware, mas
para os quais a equipe ainda tem algum conhecimento, ou
seja, sistemas onde a combinao do risco tecnolgico e de
pessoal seja mdio.
Modo embutido
se aplica a sistemas com alto grau de interao com diferentes
dispositivos de hardware, ou que sejam embarcados, e para os
quais a equipe tenha considervel dificuldade de abordagem.
So os sistemas com alto risco tecnolgico e/ou de pessoal.
TAMANHO DA EQUIPE
O nmero de pessoas para a equipe ser sempre
dado por P = E/D.
A medida parece simplista, porque
aparentemente considera que a relao entre o
nmero de pessoas e o tempo de projeto linear.
Mas o clculo do esforo estimado (E) j leva em
conta esses fatores, pois uma funo
exponencial, como ser visto adiante.
COCOMO BSICO
E = ab * KLOCbb
D = cb * Edb
LIMITAO
Deve-se observar que o modelo bsico tambm
fica limitado a projetos cujo esforo total no
ultrapasse 100 pessoas/ms, visto que acima
deste limite, o plano de projeto ser
demasiadamente grande para ser devidamente
gerenciado.
Neste caso, o projeto deve ser quebrado em
subprojetos e, se possvel, o modelo COCOMO
avanado deve ser aplicado.
EXEMPLO
KLOC = 20
E = 2,4 * 201,05 = 56 pessoas/ms
D = 11,5 meses
P = 5 pessoas
COCOMO INTERMEDIRIO
FATORES INFLUENCIADORES
EAF
NO MODELO INTERMEDIRIO
E = ai * KLOCbi * EAF
CENRIOS
As notas para os fatores ainda podem ser obtidas
em funo de cenrios mais otimistas ou mais
pessimistas.
Na tabela anterior um projeto fictcio avaliado
com duas notas: a maior a pessimista e a menor
a otimista.
As notas esto indicadas nas clulas pintadas de
cinza.
Quando apenas uma clula pintada em uma
linha porque os cenrios otimista e pessimista
se confundem.
FATORES INFLUENCIADORES
CENRIO OTIMISTA
EAF = 1,3267
E = 2,8 * 201,05 * 1,3267 = 86 meses
CENRIO PESSIMISTA
EAF = 2,8497
E = 2,8 * 201,05 * 2,8497 = 185 meses
COCOMO AVANADO
COCOMO II
ftp://ftp.usc.edu/pub/soft_engineering/COCOMOII
/cocomo97docs/modelman.pdf
BIBLIOGRAFIA
Boehm, B. (1981). Software Engineering
Economics. Englewood Cliffs, NJ: Prentice-Hall.
Boehm, B. (2004). COCOMO II Model Definition
Manual. USC. Disponvel em:
ftp://ftp.usc.edu/pub/soft_engineering/COCOMOII
/cocomo97docs/modelman.pdf Consultado em:
20/09/2010.