Estimativas de Projetos
de Software
Reinaldo Cabral
cabral@cos.ufrj.br
Contexto
Precisamos de um software para permitir a
gerência das solicitações de serviço
realizadas à nossa unidade organizacional
Questões:




Qual o esforço necessário para desenvolver a
solução?
Qual o custo?
Qual o prazo?
Melhor comprar ou fazer?
Objetivos de Aprendizagem

Ao final, todos devem estar aptos:
 Identificar
métricas que apóiam a
elaboração de estimativas em projetos de
software
 Utilizar
análise de pontos de função para
estimar esforço, prazo e custo de projetos
de software.
Roteiro
1. Notas Introdutórias
 Premissas
 Contexto
2. Métricas de Tamanho e Modelos
3. Pontos de Função
4. Tópicos Relacionados
5. Verificação do Alcance dos Objetivos de
Aprendizagem
1. Notas Introdutórias

Premissas
 Escopo bem definido
 Requisitos descritos adequadamente
 Visão sobre o domínio
1. Notas Introdutórias

Contexto
 Atividades “criativas”
 Variabilidade da forma de executar as
atividades
 Uso de métricas e modelos de estimativas
 Decisões fundamentadas na experiência
individual
1. Notas Introdutórias

Estimativa ad-hoc 1

Atividades:
1. Análise (Modelagem): 20 hh
2. Desenvolvimento (Codificação): 300 hh
3. Testes (Execução de partes da aplicação para
verificar se funciona): 50 hh
4. Implantação (Instalação no cliente): 10 hh
 Esforço total: 380 hh
1. Notas Introdutórias

Estimativa ad-hoc 2

Atividades:
Fase 1 - Planejamento do Processo Atividade
1. Planejamento do Processo para o Projeto (20, 5 hh)
Identificar o Escopo do Projeto 8 hh
Estabelecer Características do Projeto 1 hh
Planejar Processo 9 hh
Obter Comprometimento com o Plano do Processo (2,5 hh)
Avaliar o Processo Planejado
2 hh
Registrar Comprometimento com o Plano do Processo 0,5 hh
2. Planejamento Inicial (24,5 hh)
Estabelecer Estrutura Organizacional do Projeto 3 hh
Estabelecer Cronograma
5 hh
Planejar Recursos Humanos 6 hh
Planejar Acompanhamento e Controle 1 hh
Planejar Treinamento 3 hh
Planejar Gerência de Configuração 2,5 hh
Consolidar Plano do Projeto 1 hh
Obter Comprometimento com o Plano do Projeto (3 hh)
Avaliar Plano do Projeto 2,5 hh
Registrar Comprometimento com o Plano do Projeto
0,5 h
1. Notas Introdutórias
[Hazan e von Staa, 2004]
2. Métricas de Tamanho e Modelos
“Mede o tamanho do que o software faz”
Carol A. Dekkers

Function Points



Allan Albrecht, 1979, IBM
Medida funcional de tamanho baseada nos requisitos lógicos do usuário
Crescimento no Brasil:







ISO/IEC 20926
1 UFP => 6,78 (Fonte de mais de 3000 projetos, http://www.isbsg.org )
Use Case Points




1996-1999: 5 especialistas certificados CFPS
2000: 2 especialistas certificados CFPS
2001: 12 especialistas certificados CFPS
2002: 45 especialistas certificados CFPS
Gustav Karner, 1993 - Iniciativa da Rational
1 UCP => 20 hh
Dependente do “estilo do caso de uso”
Outras:



Feature Points
COCOMO 81, COCOMO II
COSMIC FFP
3. Pontos de Função

Cinco Componentes dos Pontos de Função:
 Arquivo
Lógico Interno (ALI)
 Arquivo de Interface Externa (AIE)
 Entrada Externa (EE)
 Saída Externa (SE)
 Consulta Externa (CE)
3. Pontos de Função - Componentes

Arquivo Lógico Interno (ALI)
 Entidade lógica e persistente, a respeito da qual
dados serão mantidos.
 Baseiam-se em requisitos lógicos dos usuários e são
independentes da implementação ou meios
dearmazenamento, tais como tabelas ou bancos de
dados.
 Um ALI é contado com base em uma avaliação do
número de campos de dados não recursivos do
usuário e do número de tipos de elementos de
registros lógicos nele contidos.
3. Pontos de Função - Componentes

Arquivo de Interface Externa (AIE)
 Entidade lógica e persistente, que é requerida para
referência ou validação pelo software sendo contado,
mas que é mantido por outro aplicativo de software.
(Isto é, um arquivo de interface externa deve ser um
arquivo lógico interno para um outro aplicativo).
 É avaliado com base no número de campos de dados
não recursivos do usuário e no número de tipos de
elementos de registros lógicos. Arquivos de interface
externa também são parte dos requisitos lógicos dos
usuários.
3. Pontos de Função - Componentes

Entrada Externa (EE)
 Processo lógico do negócio que mantém os
dados em um ou mais arquivos lógicos
internos, ou é um processo de controle que
direciona o software para atender os
requisitos de negócio do usuário.
 É contada com base no número de campos
de dados do usuário envolvidos e na soma
dos ALI e AIE participantes do processo.
 Um exemplo de EE seria “Incluir empregado”
em um aplicativo de recursos humanos.
3. Pontos de Função - Componentes

Saída Externa (SE)
 Processo lógico do negócio que gera dados
para um usuário ou para outro aplicativo
externo ao software.
 Exemplos típicos de saídas externas incluem
relatórios de usuários, disquetes ou fitas para
a Receita Federal.
 As saídas externas também fazem parte dos
requisitos lógicos dos usuários.
3. Pontos de Função - Componentes

Consulta Externa (CE)
 Último tipo de função lógica de usuário contada
através de pontos de função.
 Consiste em um par gatilho-resposta (ou perguntaresposta) através do qual a pergunta ou solicitação
de dados entra no aplicativo vinda de fora
(tipicamente a partir de um usuário ou de outro
aplicativo), os dados são recuperados para atender à
solicitação e enviados para fora.
 Mais uma vez, as Consultas Externas fazem parte
dos requisitos lógicos dos usuários de um aplicativo
de software.
3. Pontos de Função
Complexidade Funcional
Registros
Lógicos
ITENS DE DADOS
REFERENCIADOS
1 a 19
20 a 50
51 ou mais
1
Baixa
Baixa
Média
2a5
Média
Média
Alta
6 ou mais
Alta
Alta
Alta
3. Pontos de Função
Complexidade Entrada Externa
Registros
Lógicos
ITENS DE DADOS
REFERENCIADOS
1a4
5 a 15
16 ou mais
0a1
Baixa
Baixa
Média
2
Média
Média
Alta
3 ou mais
Alta
Alta
Alta
3. Pontos de Função
Complexidade Saída Externa
Registros
Lógicos
ITENS DE DADOS
REFERENCIADOS
1a5
6 a 19
20 ou mais
1
Baixa
Baixa
Média
2a3
Média
Média
Alta
4 ou mais
Alta
Alta
Alta
3. Pontos de Função
Complexidade Consulta Externa
Registros
Lógicos
ITENS DE DADOS
REFERENCIADOS
1a5
6 a 19
20 ou mais
1
Baixa
Baixa
Média
2a3
Média
Média
Alta
4 ou mais
Alta
Alta
Alta
3. Pontos de Função - Complexidade de
cada tipo de função
3. Pontos de Função - Fator de Ajuste
de Valor (FAV)


FAV = 0,65 + (Soma das Características Gerais do Sistema x 0,01)
Soma das 14 Características Gerais do Sistema avaliadas em uma
escala de 1 a 5.
1. Comunicação de Dados
8. Atualização On-Line
2. Processamento Distribuído de Dados
9. Processamento Complexo
3. Desempenho
10. Reutilização
4. Configuração Intensamente Utilizada
11. Facilidade de Instalação
5. Taxa de Transação
12. Facilidade de Operação
6. Entrada de Dados On-Line
13. Múltiplas Localidades
7. Eficiência do Usuário Final
14. Facilidade de Alteração
3. Pontos de Função - Contagem
Ajustada
(Contagem não Ajustada) * FAV
4. Tópicos Relacionados


Variação/Extensão de Modelos
Calibração Dinâmica de Estimativas
(Baldassarre et al., 2003)



Ferramentas de apoio à contagem
Certificação IFPUG
BFPUG
5. Verificação do Alcance dos
Objetivos de Aprendizagem

Cite métricas que apóiam a execução de
estimativas em projetos de Software

Como utilizar APF para estimar esforço,
prazo e custo de projetos de software?
Estimativas de Projetos
de Software
Reinaldo Cabral
cabral@cos.ufrj.br
Download

Parte II - Estimativas de Projetos de Software