Buscar

Aula11 - Cocomo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1
COnstructive COst MOdel 
(COCOMO)
Prof. Maria Augusta Vieira Nelson
Prof. Poliana Aparecida Corrêa de Oliveira
PUC Minas
Bibliografia
� Pressman, Roger S. Engenharia de 
Software. 5a ed. Rio de Janeiro: McGraw 
Hill. 2002.
� capítulo 5
� Pfleeger, Shari Lawrence. Engenharia de 
Software: Teoria e Prática. 2a ed. São 
Paulo: Prentice Hall. 2004. 
� capítulo 3
Modelos paramétricos
� Assumem a existência de uma relação 
matemática entre tamanho, esforço e 
prazo
� Os relacionamentos são baseados em 
suposições teóricas e/ou dados históricos
� COCOMO
� SLiM
Outros modelos
� Modelos baseados em atividades
� Estimativa bottom-up, enumerar todas as atividades 
e estimar esforço e prazo para cada uma delas
� Analogia
� Baseada na comparação de características do projeto 
com as de outros projetos concluídos
� Relações simples de estimativa
� Simplificação dos modelos paramétricos
� Relações matemáticas simples aplicadas sobre dados 
históricos
Estrutura dos modelos de 
estimativa
� Derivado usando análise de regressão 
de dados coletados em projetos de 
softwares anteriores
� E = A + B X (ev)c
� A, B e C são constantes derivadas empiricamente
� E = esforço (pessoa-mês)
� ev = variável de estimativa (LOC ou PF)
� Componente de ajuste ao projeto que permite que E seja 
adequado a outras características do projeto 
(complexidade, experiência da equipe, ambiente de 
desenvolvimento)
Estrutura dos modelos de 
estimativa
� Alguns modelos
� E = 5,2 x (KLOC)0,91 modelo de Walston-Felix
� E = 5,5 + 0,73 x (KLOC)1,16 modelo de Bailey-Basili
� E = 3,2 x (KLOC)1,05 modelo de Boehm simples
� E = 5,288 x (KLOC) 1,017 modelo de Doty, KLOC>9
2
Estrutura dos modelos de 
estimativa
� Alguns modelos
� E = -91,4 + 0,355 FP modelo de Albrecht e Gaffney
� E = -37 + 0,96 FP modelo de Kemerer
� E = -12,88 + 0,405 FP modelo de regressão para 
pequenos projetos
O que é o COCOMO?
� É um modelo estatístico de estimativa 
de tamanho, esforço, prazo, custo e 
recursos humanos
� Criado por Barry Boehm em 1981
� Baseado em uma análise de 63 projetos de 
software
� Baseado no modelo em cascata
� Revisado em 1996 – COCOMO II (CII)
� O modelo de estimativa mais utilizado 
na indústria
O que é o COCOMO?
� Foi e continua sendo desenvolvido pela 
University of Southern California (USC)
� Implementado e disponibilizado em uma 
ferramenta gratuita
� Adicionalmente, existem várias 
implementações sofisticadas do CII
� Projeto mantido por diversas 
organizações filiadas, dentre as quais 
está a Rational
Modos de desenvolvimento
� O COCOMO considera três modos de 
desenvolvimento:
� Modo orgânico - aplicável a ambientes de 
desenvolvimento estáveis, com pouca inovação e a 
projetos com equipes de dimensão relativamente 
pequena;
� Modo semi-destacado - aplicável a projetos com 
características entre o modo orgânico e o embutido
� Modo embutido - aplicável no desenvolvimento de 
sistemas complexos embutidos em hardware (ex.: 
sistemas de tempo-real), com muita inovação, com 
restrições severas e/ou com requisitos muito voláteis.
Modos de desenvolvimento
� O COCOMO considerada três modos de 
desenvolvimento:
� Modo orgânico 
� esforço = 2.4 * KLOC1.05 pessoas-mês
� M = 2.5 * esforço0.38 meses 
� Modo semi-destacado 
� esforço = 3.0 * KLOC1.12 pessoas-mês
� M = 2.5 * esforço0.35 meses 
� Modo embutido
� esforço = 3.6 * KLOC1.20 pessoas-mês
� M = 2.5 * esforço0.32 meses
Esforço em função de KLOC
COCOMO Models
0
1000
2000
3000
4000
5000
6000
7000
0 100 200 300 400 500 600
Thousands of lines of code
P
e
r
s
o
n
-m
o
n
th
s
Organic
Semidetached
Embedded
3
Fatores Influenciadores do Custo
Fator Muito 
Baixa
Baixa Média Alta Muito 
Alta
Extra 
Alta
Fatores relativos ao produto
Nível de confiabilidade exigido 0.75 0.88 1.00 1.15 1.40
Dimensão da base de dados 0.94 1.00 1.08 1.16
Complexidade do Produto 0.70 0.85 1.00 1.15 1.30 1.65
Suporte Computacional
Restrições ao tempo de execução 1.00 1.11 1.30 1.66
Restrições ao espaço de 
armazenamento
1.00 1.06 1.21 1.56
Volatilidade da máquina virtual 0.87 1.00 1.15 1.30
Tempo de resposta do computador 0.87 1.00 1.07 1.15
Fatores Influenciadores do Custo
Fator Muito 
Baixa
Baixa Média Alta Muito 
Alta
Extra 
Alta
Pessoal
Capacidade dos Analistas 1.46 1.19 1.00 0.86 0.71
Experiência no domínio da aplicação 1.29 1.13 1.00 0.91 0.82
Capacidade dos programadores 1.42 1.17 1.00 0.86 0.70
Experiência utilização da máquina 
virtual
1.21 1.10 1.00 0.90
Experiência na linguagem de 
programação
1.14 1.07 1.00 0.95
Processo
Adoção de técnicas modernas de 
programação
1.24 1.10 1.00 0.91 0.82
Uso de ferramentas atuais 1.24 1.10 1.00 0.91 0.83
Cumprimento com prazo definido 1.23 1.08 1.00 1.04 1.10
Aplicado ao RUP
� Pode ser usado para esforço, prazo e equipe para as 
fases de elaboração e construção
� Concepção e transição são baseadas em percentuais da 
soma elaboração+construção
� As estimativas são feitas entre os marcos:
� LCO – Lyfe Cycle Objectives – Ponto no qual é escolhida uma 
possível arquitetura para o projeto (não necessariamente aquela 
que será de fato utilizada). Ocorre ao final da concepção.
� IOC – Initial Operational Capability – Ponto no qual é concluído o 
desenvolvimento do software, estando o sistema pronto para 
entrega e teste final.
Aplicado ao RUP
� Esforço (PM = Pessoa-Mês)
� PM = A * (Size^E) * Produtório (i=1 até n, EM(i)) [a]
� A = Constante que deve ser calibrada para o ambiente, a partir de 
dados históricos
� Size = Tamanho do software em LOC (em caso de PF, estimar a 
quantidade de LOC a partir de tabelas de backfiring
� EM(i) = Effort Multipliers = Até 17 fatores que irão adequar o 
modelo ao projeto específico
Aplicado ao RUP
� Prazo (TDEV), em meses
� TDEV = C * PM^F [c]
� F = D + (0,2 * 0,01) * Somatório (j=1 até 5, SF(j)) [d]
� C e D são constantes que devem ser calibradas a partir de dados 
históricos
� SF(j) = Scale Factors = Cinco fatores que irão ajustar o expoente 
do Esforço, de modo a adequar a fórmula a um projeto específico
� A Equipe Média é obtida através da divisão do Esforço pelo Prazo
� O CII considera um mês equivalente a 152 horas de trabalho, já 
excluídos fins de semana e feriados. Este valor pode ser 
modificado para um ambiente específico
Exemplo
� Precisa-se produzir 10 KLOC
� Projeto pequeno
� Experientes no desenvolvimento
� Usar modelo orgânico
� esforço = 2.4 * 101.05 = 26.9 pessoas-mês
� tempo de desenvolvimento = 2.5 * 26.90.38= 8.7 
meses
� pessoas necessárias em média = 26.9 PM/ 8.7 meses 
= 3 pessoas
4
Exemplo
� Outras características do projeto
� capacidade dos analistas é baixa, 1.19
� experiência no domínio da aplicação é baixa, 1.13
� capacidade dos programadores é baixa, 1.17
� experiência na linguagem de programação é alta, 0.95
� Fator de ajuste 1.19*1.13*1.17*.95 = 1.49
� PM = 26.9*1.49 = 40 pessoas-mês
� Tempo de desenvolvimento = 2.5 * 400.38 = 10.2 
meses
� Pessoas necessárias em média = 40 PM/ 10.2 
meses = 3.9 pessoas
Calibração do modelo
� Originalmente calibrado com dados de 161 projetos 
selecionados dentre mais de 2000 projetos candidatos
� Embora o CII possa ser executado com os parâmetros 
nominais, sua correta utilização pressupõe a calibração 
para o ambiente-alvo
� Na ausência de dados históricos disponíveis para o 
ambiente-alvo em questão, devem ser selecionados 
projetos equivalentes para efetuar a calibração
Calibração do modelo
� Calcula-se os coeficientes calibrados e, posteriormente, 
verifica-se a diferença percentual (estimado-real) 
/estimado é compatível com o nível de erro pretendido 
para as estimativasRoteiro para estimativa
� (1) Calibrar o CII para a base histórica de projetos 
obtida, salvando os coeficientes obtidos em um modelo; 
(2) Caso a organização-alvo não trabalhe com LOC, 
estimar o tamanho do aplicativo em Pontos de Função, 
utilizando o método da NESMA, obtendo a quantidade de 
LOC a partir de backfiring, utilizando a tabela contida no 
USC CII; 
� (3) Determinar os 7 Effort Multipliers do Early Design 
Model e entrar com eles no USC CII;
� (4) Determinar o Esforço, o Prazo e a Equipe Média; 
� (5) Obter a distribuição do Esforço e Prazo por fase do 
projeto (Inception, Elaboration, Construction e 
Transition, se for utilizado o RUP – notar que o USC CII 
também trabalha com o modelo Waterfall - Cascata).
CMMI
� O modelo CoCoMo II contribui para o atendimento das 
práticas relativas à estimativa de esforço e custo, que se 
encontram nas Áreas de Processo de Planejamento de 
Projetos e de Monitoramento e Controle de 
Projetos, ambas de nível 2 do CMMI (SEI 2004), 
considerando representação por estágios
Ferramenta gratuita
USC COCOMO II
5
Validando as estimativas
� É recomendável utilizar mais de uma abordagem nas 
estimativas
� ISBSG (International Software Benchmarking Standards 
Group Limited) - www.isbsg.org
� A versão 7 contem cerca de 1300 projetos (mas não é 
gratuito, desconto para filiados IFPUG)

Outros materiais