2. Estimativa de Esforços - Lopes & Gazzani Planejamento Ltda

Download Report

Transcript 2. Estimativa de Esforços - Lopes & Gazzani Planejamento Ltda

Gestão de Configuração & Mudanças
2. Estimativas de Esforços
Márcio Aurélio Ribeiro Moreira
[email protected]
http://si.lopesgazzani.com.br/docentes/marcio/
Como estimar o esforço do projeto?
Disciplina
Elementos Disponíveis
Modelagem de Negócio
Casos de Uso de Negócio
Processos ou Operações
Casos de Uso de Sistema
Requisitos
Lista de Features
Requisitos
Análise & Projeto
Arquitetura do Software
Classes & Diagramas
Implementação
Modelo de Implementação
Código Fonte
Testes
Casos de Teste
Distribuição
Plano de Distribuição
Diagrama de Distribuição
Gestão de Configuração e Mudanças
Itens de Configuração
Mudanças
Gestão do Projeto
Plano de Desenvolvimento do Software
Ambiente
Processo & Ferramentas
Márcio Moreira
2. Estimativas de Esforços – slide 2
Qual a melhor opção?
Gestão de Configuração & Mudanças - GCM
Margens de Erro por Fase do Ciclo de Vida
Fonte: Boehm 1995.
Márcio Moreira
2. Estimativas de Esforços – slide 3
Gestão de Configuração & Mudanças - GCM
Técnica Delphi (Empírica)
Delphi
PERT
 Criação:
 Criação:
 1944: General Henry Arnold
 Popularização:
 1964: Gordon e Helmer
 Ideia:
 A visão de um grupo é melhor
que a visão de uma pessoa
 1950: Marinha Americana
 Popularização:
 Década 70 em projetos (PMI)
 Ideia:
 Combinar visões Otimista, Realista
e Pessimista
 Equações:
 Método:
 Pelo menos 3 especialistas
estimam o esforço a partir da
descrição do problema
Márcio Moreira
𝑂+4 𝑥 𝑅+𝑃
, 50%
6
𝑃−𝑂
= 6
 𝑀é𝑑𝑖𝑎 =
2. Estimativas de Esforços – slide 4
 𝐷𝑒𝑠𝑣𝑖𝑜
𝑐ℎ𝑎𝑛𝑐𝑒
 A Média ± Desvio tem 90% de
chance de ocorrer
Gestão de Configuração & Mudanças - GCM
Técnicas Formais
 Análise de Pontos de Função (FPA):
 1979: Allan J. Albrecht na IBM
 1986: Criado o International Function Point User Group (IFPUG)
 Requer decomposição funcional
 Pontos de Caso de Uso (UCP):
 1993: Gustav Karner
 Baseada nos Pontos de Função
 Não requer decomposição funcional
 COCOMO II:




COnstructive COst MOdel
1981: Barry W. Boehm – 1ª versão
1995: 2ª versão – COCOMO II
Requer definição dos requisitos
Márcio Moreira
2. Estimativas de Esforços – slide 5
Gestão de Configuração & Mudanças - GCM
Pontos de Função (Allan J. Albrecht)
 Para cada função:
 Conte o número de parâmetros
utilizando os seguintes fatores:
 A: Número de entradas
externas
 B: Número de saídas externas
 C: Número de consultas
externas (entradas externas
interativas)
 D: Número de arquivos
externos (permanentes)
 E: Número de arquivos
internos (temporários)
 Decida a complexidade de cada
fator utilizando as tabelas nos
slides seguintes
Márcio Moreira
2. Estimativas de Esforços – slide 6
Gestão de Configuração & Mudanças - GCM
Entradas, Saídas e Consultas Externas
A: Entradas Externas
B: Saídas Externas
Tipos ≠ de Campos
Tipos ≠ de
Arquivos
1a4
5 a 15
0 ou 1
Simples
2
≥3
≥ 16
1a5
6 a 19
≥ 20
Simples
Médio
0 ou 1
Simples
Simples
Médio
Simples
Médio
Complexo
2 ou 3
Simples
Médio
Complexo
Médio
Complexo
Complexo
≥4
Médio
Complexo
Complexo
C: Consultas Externas (entrada)
Tipos ≠ de Campos
Tipos ≠ de
Arquivos
1a4
5 a 15
0 ou 1
Simples
2
≥3
Márcio Moreira
Tipos ≠ de Campos
Tipos ≠ de
Arquivos
C: Consultas Externas (saídas)
Tipos ≠ de Campos
≥ 16
Tipos ≠ de
Arquivos
1a5
6 a 19
≥ 20
Simples
Médio
0 ou 1
Simples
Simples
Médio
Simples
Médio
Complexo
2 ou 3
Simples
Médio
Complexo
Médio
Complexo
Complexo
≥4
Médio
Complexo
Complexo
2. Estimativas de Esforços – slide 7
Gestão de Configuração & Mudanças - GCM
Arquivos Externos e Internos
D: Arquivos Externos
E: Arquivos Internos
Tipos ≠ de Campos
Tipos ≠ de
Registros
1 a 19
20 a 50
1
Simples
2a5
≥6
Tipos ≠ de Campos
≥ 51
Tipos ≠ de
Registros
1 a 19
20 a 50
≥ 51
Simples
Médio
1
Simples
Simples
Médio
Simples
Médio
Complexo
2a5
Simples
Médio
Complexo
Médio
Complexo
Complexo
≥6
Médio
Complexo
Complexo
Identifique os Pontos de Cada Fator na Tabela
Fator
A
B
C
D
E
Simples
3
4
3
7
5
Márcio Moreira
Médio
4
5
4
10
7
Complexo
6
7
6
15
10
2. Estimativas de Esforços – slide 8
Gestão de Configuração & Mudanças - GCM
Pontos de Função Não Ajustado
Complexidade 
 Fatores
A: Entradas Externas
Simples
Médio
Complexo
Número
Peso
Número
Peso
Número
Peso
S
3
M
4
C
6
B: Saídas Externas
4
5
7
C: Consultas Externas
3
4
6
D: Arquivos Externos
7
10
15
E: Arquivos Internos
5
7
10
Pontos de Função Não Ajustado (UFP: Unadjusted Function Points):
Márcio Moreira
2. Estimativas de Esforços – slide 9
Total de
Pontos
Sx3 + Mx4 + Cx6
∑
Gestão de Configuração & Mudanças - GCM
Fator de Complexidade Técnica
(Technical Complexity Factor)
Fator
Descrição
Grau de Influência
1
Nível de comunicação de dados
2
Nível de distribuição das funções
3
Nível de performance requerido (desempenho)
4
Nível de padronização da configuração utilizada
5
Taxas de transação utilizadas
6
Nível de entrada de dados online
7
Nível de adequação do projeto à eficiência do usuário
8
Nível de atualizações online
9
Nível de complexidade de processamento
10
Nível de reutilização esperada deste software
11
Nível de facilidade de instalação
12
Nível de facilidade de uso
13
Nível de utilização em locais (sites) diferentes
14
Nível de facilidade de mudança necessário
0: Irrelevante
1: Baixa
2: Moderada
3: Média
4: Alta
5: Crítica
DI = ∑ Grau de Influência
TCF = 0,65 + 0,1 x DI
Márcio Moreira
Defina o grau de influência
do fator utilizando a escala:
2. Estimativas de Esforços – slide 10
Gestão de Configuração & Mudanças - GCM
Pontos de Função & Linhas de Código
Pontos de Função
Linhas de Código (LOC)
 Calculando os pontos das
funções (FP):
Linguagem
 FP = UFP × TCF
 Onde:
 UFC: Pontos de Função Não
Ajustado
 TCF: Fator de Complexidade
Técnica
 Cálculo do Esforço:
 Esforço = FP x 16 horas (média)
 Duração = Esforço / Pessoas
 Pessoas = Esforço / Duração
Márcio Moreira
Média de LOC ou FP
Assembler
COBOL
FORTRAN
Pascal
Ada
PL/1
Orientadas a Objeto
4ª Geração (4GL)
Gerador de Código
300
100
100
90
70
65
30
20
15
Nota:
Entretanto, a correlação entre FP e LOC não é tão
adequada. Isto foi provado num estudo de 1985
da Xerox (XER85).
2. Estimativas de Esforços – slide 11
Gestão de Configuração & Mudanças - GCM
Limitações e benefícios dos Pontos de Função
Limitações da FPA
Benefícios da FPA
 No começo foi amplamente
usada. Charles Symons
reportou limitações
 A complexidade das funções
e o peso não é suficientes
 A forma de utilizar arquivos
evoluiu muito nestes anos
 A interação humana é muito
mais online do que batch
 Faltam fatores ambientais
nos fatores técnicos
 Foi padronizado pela ISO/IEC
20926
Márcio Moreira
 Manual de contagem dos
pontos
 Uma das primeiras métricas a
medir o tamanho do
software com alguma
precisão
 Mesmo com as limitações, a
técnica é bem melhor que as
previsões por linha de código
2. Estimativas de Esforços – slide 12
Gestão de Configuração & Mudanças - GCM
Pontos Por Casos de Uso (Karner)
 Extensão dos métodos:
 Pontos de Função e Pontos de Função MK II
 Era parte integrante do RUP até a versão 6
 O método permite a estimativa de esforço já à partir do desenho
dos Casos de Uso
 Ideia:
 Ponderar o peso de cada Caso de Uso e de cada Ator envolvido
 Considerar a complexidade técnica e ambiental
 Considerar a produtividade da empresa
Pontos
dos
Atores
Márcio Moreira
Pontos
dos
Casos de
Uso
Complexi
dade
Técnica
2. Estimativas de Esforços – slide 13
Fatores
Ambient
ais
Produtivi
dade
Estimativ
a de
Esforço
Gestão de Configuração & Mudanças - GCM
Peso dos Casos de Uso (Use Case Weight)
Complexidade
Número de Transações
Peso
Simples
Até 3 transações [  Realizáveis com até 5 objetos de
análise (classes) e 1 entidade de Banco de Dados ]
5
Médio
De 4 a 7 transações [  Realizáveis com 6 a 10 objetos
de análise e até 2 entidades de Banco de Dados ]
10
Complexo
Acima de 7 transações [  Realizáveis com mais de 10
objetos de análise e até 3 entidades de Banco de Dados ]
15
Peso Não Ajustado dos UC (UUCW) = UC Simples x 5 + UC Médios x 10 + UC Complexos x 15
 Transação:
 É o conjunto de atividades que devem ser executadas atomicamente.
 Normalmente, é o número de passos de um Caso de Uso (incluindo os
fluxos alternativos).
 Comentário:
 Se um caso de uso está muito complexo é sinal que ele deve ser dividido.
Márcio Moreira
2. Estimativas de Esforços – slide 14
Gestão de Configuração & Mudanças - GCM
Peso dos Atores (Actor Weight)
Complexidade
Número de Transações
Peso
Simples
Sistema externo que se comunica com o nosso via
interface bem definida. Ex.: API
1
Médio
Sistema externo que se comunica com o nosso via
protocolos padrões. Ex.: TCP/IP, FTP, HTTP ou SQL
[ Interação humana via interface clássica (texto, não gráfica) ]
2
Complexo
Pessoas interagindo com nosso sistema via interface
gráfica (GUI) orientada a eventos
3
Peso Não Ajustado dos Atores (UAW) = Atores Simples + Atores Médios x 2 + Atores Complexos x 3
 Complexidade:
 A interface do ator com o software que está em desenvolvimento é o
determinante do esforço necessário para realizar a interface dos atores
com os casos de uso do sistema
 As interfaces gráficas, orientadas a eventos são as mais complexas
Márcio Moreira
2. Estimativas de Esforços – slide 15
Gestão de Configuração & Mudanças - GCM
Fator de Complexidade Técnica
(Technical Complexity Factor)
Fator
Descrição
Peso
T1
Nível de distribuição do sistema
2,0
T2
Agressividade dos tempos de resposta
1,0
T3
Nível de eficiência para o usuário
1,0
T4
Nível de complexidade interna de processamento
1,0
T5
Nível de reuso de código
1,0
T6
Facilidade de instalação necessária
0,5
T7
Facilidade de uso necessária
0,5
T8
Necessidade de portabilidade para outras plataformas
2,0
T9
Nível de facilidade de manutenção necessário
1,0
T10
Nível de processamento concorrente ou paralelo
1,0
T11
Nível dos recursos de segurança
1,0
T12
Nível de acesso externo para terceiros
1,0
T13
Nível de treinamento dos usuários
1,0
Defina a
importância
deste fator
para o
software
a ser
desenvolvido:
0: Irrelevante
1: Baixa
2: Média
3: Alta
4: Muito alta
5: Crítica
Pontos
Peso
X
Valor
TF = ∑ ( Peso x Valor)
TCF = 0,6 + (TF / 100)
Márcio Moreira
Valor
2. Estimativas de Esforços – slide 16
Gestão de Configuração & Mudanças - GCM
Fator de Complexidade Ambiental
(Environmental Complexity Factor)
Fator
Descrição
Peso
E1
Familiaridade com o processo de desenvolvimento
1,5
E2
Nível de experiência na aplicação
0,5
E3
Nível de experiência com a orientação a objeto
1,0
E4
Nível de capacidade do analista
0,5
E5
Nível de motivação da equipe
1,0
E6
Nível de estabilidade dos requisitos
2,0
E7
Nível de pessoas com dedicação parcial na equipe
-1,0
E8
Nível de dificuldade da linguagem de programação
-1,0
Pontos
Defina o
nível de
experiência
da equipe:
0: Inexperiente
1: Júnior
2: Pleno
3: Sênior
4: Máster
5: Especialista
Peso
X
Valor
EF = ∑ ( Peso x Valor)
ECF = 1,4 + (-0,03 x EF)
Márcio Moreira
Valor
2. Estimativas de Esforços – slide 17
Gestão de Configuração & Mudanças - GCM
Pontos de Caso de Uso & Esforço
Pontos de UC
Esforço
 Calculando os pontos dos Casos de  Esforço = UCP x Horas Homem
Uso (UCP):
 UCP = (UUCW + UAW) x TFC x ECF
 Onde:
 Horas Homem (HH):
 Karner sugeriu 20 em 1993
 Schneider e Winters (1998):
 UUCW: Peso Não Ajustado dos
Casos de Uso
 UAW: Peso Não Ajustado dos
Atores
 TCF: Fator de Complexidade
Técnica
 ECF: Fator de Complexidade
Ambiental
Márcio Moreira
2. Estimativas de Esforços – slide 18
 P1 = Número de Pontos de E1 a E6
que são menores que 3
 P2 = Número de Pontos de E7 a E8
que são maiores que 3
 Se (P1 – P2) ≤ 2 então HH = 20
 Se (P1 – P2) = 3 ou 4 então HH = 28
 Se (P1 – P2) > 4 então reveja o
projeto ou use HH = 36
Gestão de Configuração & Mudanças - GCM
Exemplo: Sistema de Compras Online
Márcio Moreira
2. Estimativas de Esforços – slide 19
Gestão de Configuração & Mudanças - GCM
Peso dos Atores e Casos de Uso do Exemplo
Atores
Complexidade
Casos de Uso
Peso
Quantidade
Pontos
Simples
1
1
1
Médio
2
0
Complexo
3
4
Peso Não Ajustado dos Atores - UAW:
Márcio Moreira
Peso
Quantidade
Pontos
Simples
5
2
10
0
Médio
10
3
30
12
Complexo
15
4
60
13
Complexidade
Peso Não Ajustado dos UC - UUCW:
2. Estimativas de Esforços – slide 20
100
Gestão de Configuração & Mudanças - GCM
Fator de Complexidade Técnica do Exemplo
Fator
Descrição
Peso
Valor
Pontos
T1
Nível de distribuição do sistema
2,0
5
10
T2
Agressividade dos tempos de resposta
1,0
5
5
T3
Nível de eficiência para o usuário
1,0
3
3
T4
Nível de complexidade interna de processamento
1,0
2
2
T5
Nível de reuso de código
1,0
3
3
T6
Facilidade de instalação necessária
0,5
1
0,5
T7
Facilidade de uso necessária
0,5
5
2,5
T8
Necessidade de portabilidade para outras plataformas
2,0
2
4
T9
Nível de facilidade de manutenção necessário
1,0
2
2
T10
Nível de processamento concorrente ou paralelo
1,0
3
3
T11
Nível dos recursos de segurança
1,0
5
5
T12
Nível de acesso externo para terceiros
1,0
1
1
T13
Nível de treinamento dos usuários
1,0
1
1
TF:
42
TFC = 0,6 + (TF / 100) = 0,6 + (42 / 100) = 1,02
Márcio Moreira
2. Estimativas de Esforços – slide 21
Gestão de Configuração & Mudanças - GCM
Fator de Complexidade Ambiental do Exemplo
Fator
Descrição
Peso
Valor
Pontos
E1
Familiaridade com o processo de desenvolvimento
1,5
3
4,5
E2
Nível de experiência na aplicação
0,5
3
1,5
E3
Nível de experiência com a orientação a objeto
1,0
2
2,0
E4
Nível de capacidade do analista
0,5
5
2,5
E5
Nível de motivação da equipe
1,0
2
2,0
E6
Nível de estabilidade dos requisitos
2,0
1
2,0
E7
Nível de pessoas com dedicação parcial na equipe
-1,0
0
0,0
E8
Nível de dificuldade da linguagem de programação
-1,0
4
-4,0
EF:
10,5
ECF = 1,4 + (-0,03 x EF) = 1,4 + (-0,03 x 10,5) = 1,085
Márcio Moreira
2. Estimativas de Esforços – slide 22
Gestão de Configuração & Mudanças - GCM
Pontos de Caso de Uso & Esforço do Exemplo
 Calculando os pontos dos
Casos de Uso (UCP):
 Dicas de mercado sobre
Horas Homem:
 UCP = (UUCW + UAW) x TFC x
ECF
 UCP = (100 + 13) x 1,02 x 1,085
= 125,06
 Calculando o esforço:
 Esforço = UCP x Horas Homem
 Karner:
 Esforço = 125,06 x 20 = 2501
 Schneider e Winters:
 P1 = 5
 P2 = 1
 P1 – P2 = 4  suspender o
projeto ou utilizar HH = 36
 Esforço = 125,06 x 36 = 4502
Márcio Moreira
2. Estimativas de Esforços – slide 23
 Se tem histórico:
 HH = ( ∑ Horas / ∑ UCP ) Reais
 Se não tem histórico:
 Avalie a maturidade da equipe
como um todo
 Considere HH:





Experts:
Másters:
Sênior:
Pleno:
Júnior:
HH = 15
HH = 20
HH = 25
HH = 30
HH = 36
Gestão de Configuração & Mudanças - GCM
Limitações e benefícios do método de Karner
Limitações dos UCP
Benefícios dos UCP
 Os UC não devem ultrapassar o nível
complexo
 É baseado em escopo definido
 É de fácil utilização pelos técnicos
 É de fácil entendimento pelos
clientes e usuários finais
 É baseado em UC, que são muito
utilizados pela indústria de
software
 São mais estáveis que os pontos de
função
 Pode ser utilizado em tempo de
concepção do projeto, ou seja, em
tempo de proposta comercial
 Se necessário, quebre o UC
 Devido à subjetividade, a
padronização dos UC é impossível,
isto dificulta a aplicação do método
 Alguns especialistas desaconselham
o método devido ao risco
 Os requisitos não-funcionais não são
tratados pelo método
 Não existem registros publicados de
testes com projetos grandes e
médios
Márcio Moreira
2. Estimativas de Esforços – slide 24
Gestão de Configuração & Mudanças - GCM
COCOMO II (Boehm)
 Hierarquia de modelos de estimativas
 Mede: Esforço, Prazo e Custo
 Entradas: PF (Pontos de Função) e LOC (Linhas de Código)
Márcio Moreira
2. Estimativas de Esforços – slide 25
Gestão de Configuração & Mudanças - GCM
Modelo Básico
Equações
Tipo de Projeto
 𝐸𝑠𝑓𝑜𝑟ç𝑜 = 𝑎 𝑥 𝐾𝐿𝑂𝐶 𝑏
 𝐷𝑢𝑟𝑎çã𝑜 = 𝑐 𝑥 𝐸𝑠𝑓𝑜𝑟ç𝑜 𝑑
Tipo
 𝑃𝑒𝑠𝑠𝑜𝑎𝑠 =
𝐸𝑠𝑓𝑜𝑟ç𝑜
𝐷𝑢𝑟𝑎çã𝑜
 Onde:
b
c
d
Orgânico
2,4
1,05
2,5
0,38
Semi-orgânico
3,0
1,12
2,5
0,35
Embarcados
3,6
1,2
2,5
0,32
 Orgânico:
 Esforço: Horas mensais / Pessoa
 Duração: Em meses
 KLOC: Milhares de LOC estimadas
para o projeto. Estimadas pelo
método Delphi e PERT
 Fatores: Vide tabela ao lado,
considerando o tipo do projeto
Márcio Moreira
a
 Projetos pequenos, simples, com
requisitos rígidos, equipe pequena e
experiente na aplicação
 Semi-orgânico:
 Projetos intermediários, com requisitos
semi-rígidos, equipes com diferentes
níveis de experiência
 Embarcados:
2. Estimativas de Esforços – slide 26
 Software para rodar no hardware
Gestão de Configuração & Mudanças - GCM
Modelo Intermediário - Fatores de Ajuste
Fatores de Ajuste do Esforço (FAE)
Atributos do Produto:
Confiabilidade do sistema
Tamanho do aplicativo
Complexidade do produto
Atributos de Hardware:
Restrições de performance
Restrições de memória
Máquina virtual
Recuperação de falhas
Atributo de Pessoal:
Capacidade de análise
Capacidade de engenharia de software
Experiência no domínio
Experiência com máquina virtual
Experiência na linguagem de programação
Atributos do Projeto:
Disponibilidade de ferramentas para o uso
Aplicação de métodos de engenharia de software
Cronograma de desenvolvimento
Márcio Moreira
Muito
Baixo
Baixo
Normal
Alto
Muito
Alto
0,88
0,94
0,85
1,00
1,00
1,00
1,15
1,08
1,15
1,40
1,16
1,30
0,87
0,87
1,00
1,00
1,00
1,00
1,11
1,06
1,15
1,07
1,30
1,21
1,30
1,15
1,46
1,29
1,42
1,21
1,14
1,19
1,13
1,17
1,10
1,07
1,00
1,00
1,00
1,00
1,00
0,86
0,91
0,86
0,90
0,95
0,71
0,82
0,70
1,24
1,24
1,23
1,10
1,10
1,08
1,00
1,00
1,00
0,91
0,91
1,04
0,82
0,83
1,10
0,75
0,70
2. Estimativas de Esforços – slide 27
Altíssimo
1,65
1,66
1,56
Gestão de Configuração & Mudanças - GCM
Modelo Intermediário
 Equação:
 Calibragem dos Fatores:
 𝐸𝑠𝑓𝑜𝑟ç𝑜 = 𝑎 𝑥 𝐾𝐿𝑂𝐶 𝑏 𝑥 𝐹𝐴𝐸
 Onde:
 FAE: Fator de Ajuste de Esforço
 Tipo de Projeto:

Tipo
a
b
Orgânico
3,2
1,05
Semi-orgânico
3,0
1,12
Embarcados
2,8
1,20
Márcio Moreira
2. Estimativas de Esforços – slide 28
 Os parâmetros originais vem
calibrados com base em 161
projetos de sucesso.
 Estes projetos foram escolhidos
entre 2000, seguindo critérios
científicos e estatísticos.
 O importante é calibrar estes
fatores com dados históricos de
sua empresa.
Gestão de Configuração & Mudanças - GCM
Modelo Avançado de Pontos de Objeto
Ideias
Equações
 Calcular o Tamanho do
Objeto (TO) por meio de:
 Pontos dos Objetos (PO):
 Telas de interface com o
usuário
 Relatórios
 Componentes do software
 𝑃𝑂 =
 Pontos Ajustados (APO):
 𝐴𝑃𝑂 = 𝑃𝑂 𝑥 (1 − %𝑅𝑒𝑢𝑠𝑜)
 Produtividade:
 𝑃𝑟𝑜𝑑𝑢𝑡𝑖𝑣𝑖𝑑𝑎𝑑𝑒 =
 Fatores adicionais:
 Ponderação de cada objeto
pelas tabelas do método
 % de reutilização de código
 Produtividade da equipe
Márcio Moreira
𝑇𝑂 𝑥 𝑃𝑜𝑛𝑑𝑒𝑟𝑎çã𝑜
𝐴𝑃𝑂
𝑃𝑒𝑠𝑠𝑜𝑎𝑠 𝑀ê𝑠
 Utilize dados históricos
 Esforço:
2. Estimativas de Esforços – slide 29
 𝐸𝑠𝑓𝑜𝑟ç𝑜 =
𝐴𝑃𝑂
𝑃𝑟𝑜𝑑𝑢𝑡𝑖𝑣𝑖𝑑𝑎𝑑𝑒
Gestão de Configuração & Mudanças - GCM
Modelo Avançado - Esforço no Ciclo de Vida
 É um modelo de várias variáveis que distribui o esforço
ao longo do ciclo de vida de desenvolvimento
 Equação:
 𝐸𝑠𝑓𝑜𝑟ç𝑜 = ( 𝐾𝐿𝑂𝐶
𝐵0,333 3
𝑥
)
𝑃
1
𝑇
𝑥( )
 Onde:
Esforço: em pessoas por mês
KLOC: Milhares de linha de código
B: Fator especial de habilidades (vide tabela no artigo original)
P: Fator de produtividade
Márcio Moreira
2. Estimativas de Esforços – slide 30
Gestão de Configuração & Mudanças - GCM
Exemplo de aplicação do COCOMO II
 Contexto:




Projeto complexo, mas conhecido
Tamanho estimado = 96 KLOC
Pouca experiência sobre a aplicação
Conhecimento da linguagem de
programação: muito baixo
 Tamanho do DB elevado
 Metodologia de desenvolvimento:
nenhuma
 O custo do pessoal é $3K por mês
 Pergunta:
 Usando estimativas intermediárias,
valeria a pena investir:
 $100K em metodologias
 $120K em treinamento em linguagem
de programação
 Cálculos:
 O esforço é 762 pessoas mês
 Custo em pessoal é $(762 * 3K) =
$2286K
 Treinamento em Metodologia:
 Estimativas reduzidas em 70
pessoas mês = $210K
 A economia é de $110K
 Treinamento em Linguagem de
Programação:
 Objetivo: Alcançar o valor nominal para
tais características
Márcio Moreira
2. Estimativas de Esforços – slide 31
 Estimativas reduzidas em 94
pessoas mês = $282K
 A economia é de $162K
Gestão de Configuração & Mudanças - GCM
Quadro Comparativo das Técnicas
Parâmetro
Delphi/PERT
FPA
UCP
COCOMO II
É independente de linguagem de programação
Sim
Sim
Sim
Não
Fornece algum programa de certificação
Não
Sim
Não
Não
É independente de expertise humana
Não
Sim
Sim
Sim
Margem de Erro clássica (inferência empírica)
±40%
Requisitos: ±30%
Projeto: ±10%
±30%
±20%
M. Negócio
Requisitos
M. Negócio
Projeto
Menor
Médio
Médio
Maior
Disciplina de entrada
Nível de detalhamento
Principal fator limitante
Falta de Fatores Subjetivismo Estimativa
Necessidade
Ambientais
Requisitos Não
tardia e
de Expertise Falta atualizar
Funcionais e
Depende
o método
Falta Testes
do KLOC
Principal benefício
Simplicidade
Márcio Moreira
2. Estimativas de Esforços – slide 32
Padronização
e adoção
Uso em tempo
de propostas
Precisão
Gestão de Configuração & Mudanças - GCM
Tabela de Distribuição de Esforços x Fase
 Projetos Típicos:

Gastos x Fases
Tempo Gasto
Recursos Gastos
Concepção
10%
5%
Elaboração
30%
20%
Construção
50%
65%
Transição
10%
10%
Elaboração
33%
24%
Construção
40%
60%
Transição
7%
8%
 Projetos Complexos:

Gastos x Fases
Tempo Gasto
Recursos Gastos
Concepção
20%
8%
 Planejamento da Elaboração:
Fases
Modelo de
Negócios
Completado
Casos de Uso
Identificados
Descritos
Analisados
Projetados,
Implementados e Testados
Concepção
50% a 70%
50%
10%
5%
Uma pequena percentagem
Só as provas de conceito
Elaboração
Perto de
100%
80% ou mais
40% a 80%
20% a 40%
Menos de 10%
Construção
100%
100%
100%
100% se
Mantido
100%
Márcio Moreira
2. Estimativas de Esforços – slide 33
Gestão de Configuração & Mudanças - GCM
Resultados de Projeto Real
Distribuição de Horas
Premissas
Resumo
%
Gestão de Requisitos
10%
Análise & Projeto
16%
Implementação
24%
Testes
23%
CRs
10%
Gestão de Projetos/Config. E Mudança
6%
Ambiente e Distribuição
7%
Testes de Aceite
3%
Total:
Márcio Moreira
 Concepção feita antes
 Modelagem de negócios
inclusa na Concepção
 Erro de estimativa: -5%
 Distribuição utilizada:
100%
2. Estimativas de Esforços – slide 34
Disciplina
M.Negócio/Requisitos
Análise
Projeto
implementação
Teste
Gerenciamento
Ambiente
%
10%
8%
22%
35%
16%
8%
1%
Gestão de Configuração & Mudanças - GCM
Referências
Sigla
Referência
BBO95
Barry Boehm, Bradford Clark, at al. Cost Models for Future Software Life Cycle Processes:
COCOMO 2.0. Annals of Software Engineering. 1995.
S&W98 Geri Schneider & Jason P. Winters. Applying Use Cases: A Practical Guide. Addison Wesley. 1998
GKA93
Gustav Karner. Resource Estimation for Objectory Projects. Objective Systems SF AB. 1993.
JOS99
John Smith. A Estimativa de Esforço Baseada em Casos de Uso. Rational. 1999.
KRB01
Kirsten Ribu. Estimating Object-Oriented Software Projects with Use Cases. Master of Science
Thesis, University of Oslo, Department of Informatics. 2001.
M&C08
Manfred Bundschuh & Carol Dekkers. The IT Measurement Compendium. Estimating and
Benchmarking Sucess with Functional Size Measurement. Springer. 2008.
MTD09
Marlise There Dias. Um guia para estimativa de projetos de software em micro e pequenas
empresas. Univali. 2009.
PVI03
Paul Vickers. An Introduction to Function Point Analysis. Computing UNN. 2003.
RKC06
Roy K. Clemmons. Project Estimation With Use Case Points. CROSSTALK. 2006.
XER85
Xerox. A Cooperative Industry Study: Software Development/Maintenance Productivity; Xerox
Corporation. 1985.
Márcio Moreira
2. Estimativas de Esforços – slide 35
Gestão de Configuração & Mudanças - GCM