Post on 17-Apr-2015
1
GEP
Estimativas e Métricas
Análise Por Pontos de Função
2
O problema do controle
• Manter o controle significa garantir que os resultados sejam iguais às expectativas.
• Projetos de “software” podem ser considerados bem-sucedidos quando os reprocessamentos são mantidos abaixo de 30%.
• Uma construção é considerada um desastre se 6% dela precisar ser refeita !
3
O dilema de estimar
• "não-estimativas":
• próxima estimativa = última estimativa
• é muito cedo para reconhecer um engano
• sei que estou errado, mas não sei o quanto
• se eu reestimar agora, corro o risco de ter que fazê-lo novamente
4
Significado de estimativa
• estimativa é a previsão mais otimista que não tem uma probabilidade zero de tornar-se realidade.
• estimativa é uma meta de desempenho.
• uma estimativa é uma previsão que tanto pode estar acima quanto abaixo do resultado real.
5
Exemplos de métricas
Tamanho
• Custo
• Tempo
• Produtividade
• Risco
• Qualidade
6
Resultados
• Um resultado é a métrica observada de um custo, complexidade, desempenho ... de um sistema terminado.
• Métricas de tipo previsor – é uma métrica observada com
antecedência, que tem uma forte relação com algum resultado posterior. Conhecendo o passado, prever o futuro
7
Métrica para “Software”
• Function Points Analysis - FPA
• Quantifica o produto do trabalho de desenvolvimento e manutenção de sistemas no que diz respeito a funções efetivamente entregues ao usuário final, independentemente de metodologia e ferramentas utilizadas.
8
Análise por Pontos de Função
• O que são Pontos de Função
• Passos da técnica de cálculo
• Cálculo dos pontos de função
• Cálculo do fator de ajuste
• Aplicação do fator de ajuste
• Aplicações da Análise por Pontos de Função
9
Análise por Pontos de Função
• Histórico 1974 GUIDE - IBM 1979 IBM - Allan Albrecht 1986 IFPUG
SPQR/20 1993 Function Point Workbench
Unidade de Medida de Software
10
Análise por Pontos de Função
• Índices interessantes total de PF instalado produtividade homens . mes . PF custo unitário para
desenvolvimento por PF manutenção
qualidade históricos da instalação
11
Análise por Pontos de Função
• Passos da técnica Fronteiras da aplicação Quantificar funções Pontos de função não ajustados Fator de ajuste Pontos de função ajustados Aplicações dos pontos de função
12
Análise por Pontos de Função
• Funções Entradas externas Saídas externas Arquivos lógicos internos Arquivos de interface Consultas
13
Análise por Pontos de Função
• Entradas externas ao sistema transações acionadas por operação do
usuário ou outra aplicação fora da fronteira
implicam em atualização de arquivo lógico interno desta aplicação
podem ser “on-line” ou “batch”
14
Análise por Pontos de Função
• Saidas externas ao sistema Produto da aplicação para o
usuário ou outro sistema Relatório Arquivo
15
Análise por Pontos de Função
• Arquivos Lógicos Internos depósitos de dados do DFD entidade do diagrama de E R item de fluxo sua manutenção é feita
DENTRO da fronteira da aplicação
16
Análise por Pontos de Função
• Arquivos de interface externa Necessidades de dados externos à
aplicação Não causam manutenção em arquivos
lógicos internos, são controles,
tabelas etc cuja manutenção
foi feita FORA desta
aplicação
17
Análise por Pontos de Função
• Consultas Combinação de ENTRADA e SAÍDA
imediata Não contém dados derivados nem
atualiza arquivo lógico interno Menus , “logon” , gráficos , telas do
tipo dada a chave, mostre os dados
associados
18
Análise por Pontos de Função
• Cálculo dos pontos de função NÃO ajustados
– identificar os elementos da contagem– classificar quanto à complexidade em
função da quantidade de itens envolvidos
– lançar na planilha
para o cálculo
19
Análise por Pontos de Função
• Cálculo do fator de ajuste
1. Comunicação de dados
20
Análise por Pontos de Função
2. Funções distribuidas
21
Comunicação de Dados e
Funções Distribuídas
0 - a aplicação não transfere dados nem processa em mais de uma CPU
1 - prepara dados para usuário processar em outra CPU ex. Planilha
2 - prepara dados e transfere para outra CPU, mas não para usuário
3 - processamento distribuido e transferência de dados ‘on-line’ numa direção
4 - 3 + em duas direções5 - funções executadas dinamicamente na CPU mais adequada
22
Análise por Pontos de Função
3. Desempenho ou performance
23
Desempenho ou performance0 - nenhuma exigência
1 - há exigência, mas não requer ação especial
2 - tempo de resposta crítico em horário de pico
3 - crítico em todo horário e execução
4 - rigoroso, precisa de análise de desempenho na fase de desenho
5 - 4 + ferramentas de performance até na implantação
24
Análise por Pontos de Função
4. Carga de configuração(nível de utilização do equipamento)
25
Carga de Configuração0 - não há restrições operacionais explícitas ou
implícitas
1- há restrições mas não requer esforço extra
2- é necessária alguma consideração sobre tempo e segurança
3- necessidades especiais de processador para parte da aplicação
4- atenção especial para o processador central ou dedicado
5 - 4+ existem sobrecargas para as CPUs distribuídas
26
Análise por Pontos de Função
5. Volume ou taxa de transações
27
Volume ou taxa de Transações
0 - não se espera período de pico
1- picos sazonais, até 1 por mês
2- picos semanais
3- picos diários
4- altos volumes, requer análise de performance na fase de desenho
5 - 4 + monitoração para implantar e depois, acompanhar no uso
28
Análise por Pontos de Função
6. Entrada de dados “on-line “
29
Entrada de Dados “ On-Line
0 - batch”
1 - até 7% são interativas
2 - até 15%
3 - até 23%
4 - até 30%
5 - acima de 30%
30
Análise por Pontos de Função
7. Eficiência do usuário final ( o quanto as funções ‘on-line’ se
preocupam com a “amigabilidade“ do produto)
31
Eficiência do Usuário Final contar itens dentre menus, “help”, “scroll” de tela, impressão remota, teclas de função, suporte bilíngue, interface para “mouse”, posicionamento de cursor etc
0 - nenhum dos itens acima
1 - apresenta 1 a 3 itens
2 - de 4 a 5 itens
3 - 6 ou mais, sem requerimento quanto à eficiência
4 - 6 ou mais itens e a fase de desenho inclui fatores para minimizar digitação ( “defaults”, “templates”)
5 - 4+ usa ferramentas para provar que os objetivos foram alcançados
32
Análise por Pontos de Função
8. Atualização “on-line” de arquivos internos
33
Atualização On-Line de arquivos internos
0 - nenhuma
1 - 1 a 3 arquivos de controle; volume baixo e recuperação de dados simples
2 - acima de 3 arquivos; volume baixo e recuperação de dados simples
3 - atualiza arquivos lógicos internos
4 - 3 + preocupação com recuperação de perda de dados
5 - altos volumes de dados com custo no processo de recuperação
34
Análise por Pontos de Função
9. Processamento complexo
35
Processamento complexo
analisar as categorias auditoria ou processo especial de segurança
processamento lógico extensivo
processamento matemático extensivo
grande quantidade de processamento de exceções
pode ser interrompida por falhas de comunicação
manipulação de múltiplas possibilidades de Entradas e Saídas
36
Processamento complexo
0 - nenhum dos itens a considerar
1 - 1 item;
2 - 2 itens;
3 - 3 itens;
4 - 4 itens;
5 - todos os itens analisados
37
Análise por Pontos de Função
10. Reutilização de código
38
Reutilização de código
0 - não foi projetado para reutilizar o código
1 - usado apenas dentro da aplicação
2 - até 10% da aplicação foi feita para ser usada fora
3 - mais de 10% feito para ser usada por outras aplicações
4 - aplicação projetada para reutilização por programadores
5 - reutilização por parâmetros via usuários
39
Análise por Pontos de Função
11. Facilidade de implantação ou instalação
40
Facilidade de Implantação ou instalação
0 - nenhuma consideração especial foi requerida
1 - um procedimento especial foi requerido
2 - requerimentos de implantação e conversão de dados sem impacto
3 - 2 + o impacto da conversão de dados é importante
4 - 2 + ferramentas automatizadas de implantação e conversão
5 - 3 + 4
41
Análise por Pontos de Função
12. Facilidade operacional
42
Facilidade Operacional
• Características a pontuar:
Procedimentos de inicialização, cópia e recuperação com intervenção
Procedimentos de inicialização, cópia e recuperação sem intervenção do operador (vale 2 itens)
Minimiza montagens de fitas
Minimiza manuseio de formulários
43
Facilidade Operacional
0 - nenhuma consideração além de cópias de segurança usuais
1 a 4 - um ponto para cada característica
5 - a aplicação foi projetada para não precisar de intervenção do operador no seu funcionamento normal; o operador apenas inicializa e termina o sistema;a recuperação de erros é automática.
44
Análise por Pontos de Função
13. Múltiplos locais
45
Múltiplos Locais
0 - instalar em apenas um local
1 - mais de um, de mesmo ambiente de HW e SW
2 - mais de um, ambientes similares de HW e SW
3 - mais de um, operando em ambientes diversos
4 - 2 + plano de manutenção e documentação para suporte aos locais
5 - 3 + plano de manutenção e documentação para suporte aos locais
46
Análise por Pontos de Função
14. Facilidade de mudançascapacidade de parametrizar consultas e
relatórios
dados de controle agrupados em tabelas mantidas pelo usuário
47
Facilidade de Mudanças
0 - nenhum recurso especial
1 a 5 - selecionar o que se aplica e contar:
+ 1 - são fornecidos recursos de consulta / relatório capazes de manipular solicitações simples (lógica e / ou num arquivo)
+ 2 - idem acima com “join” em 2 arquivos
+ 3 - idem, com lógica complexa e mais de um arquivo.
48
Análise por Pontos de Função
• Fator de ajusteCada uma das 14 características teve grau
0 a 5 ( cresce à taxa de 20% )
• Adicionando os valores se obtém o nivel de influência N I
• Fator de ajusteFA = 0,65 + ( 0,01 x N I )
até 35%
49
Análise por Pontos de Função
• Aplicação do fator de ajuste– Desenvolvimento de novas aplicações
– Manutenção de sistemas
– Contagem dos pontos de uma aplicação
– Esforço para conversão de dados
• Pontos de Função Ajustados
50
Formulário para Cálculo de PF
simples médias complexas totais
Entradas ne x 3 ne x 4 ne x 6 te
Saídas ns x 4 ns x 5 ns x 7 ts
Arquivos na x 7 na x 10 na x 15 ta
Interfaces ni x 5 ni x 7 ni x 10 ti
Consultas nc x 3 nc x 4 nc x 6 tc
FPA brutos te+ts+ta+ti+tc
51
Formulário para Cálculo de PF
Arquivos Interface Externa
Tipos deregistros
1 a 19itens
20 a 50itens
>50 itens
1 simples simples médio
2 a 5 simples médio complexo
>5 médio complexo complexo
52
Formulário para Cálculo de PFTipos de registros
1 reg com > 50 itens ou > 5 com ~~ 20, para os mesmos dados (obtendo complexidade média)
Ident Dados Pessoais Dados Funcionais Históricos
Dependentes Ficha Médica Pensionistas Avaliações etc
Identificação
Pensionistas
Dados pessoais
Dadosfuncionais
Históricos
Dependentes
Fichamédica
Avaliações
etc
53
Formulário para Cálculo de PF
Arquivo Lógico Interno
Tipos deregistros
1 a 19itens
20 a 50itens
>50 itens
1 simples simples médio
2 a 5 simples médio complexo
> 5 médio complexo complexo
54
Formulário para Cálculo de PF
Entrada Externa
Tipos deregistro
1 a 4itens
5 a 15itens
> 15itens
0 ou 1 simples simples médio
2 simples médio complexo
> 2 médio complexo complexo
55
Formulário para Cálculo de PF
Saída Externa
Tipos deregistros
1 a 5itens
6 a 19itens
> 19itens
0 ou 1 simples simples médio
2 ou 3 simples médio complexo
> 3 médio complexo complexo
56
Formulário para Cálculo de PF
Consultas Escolher a maiorcoplexidade
Saida ouEntrada
Saída 1 a 5 itens 5 a 19 itens >19 itens
Entrada 1 a 4 itens 5 a 15 itens > 15 itens
0 ou 1 simples simples médio 2 ou 3 simples médio complexo
Saida > 3 médio médio complexo
Entrada > 2 médio complexo complexo
57
Formulário para Cálculo de PF
• Fator de Ajuste– 1.Comunicação de dados– 2. Processamento distribuído– 3. Desempenho– . . .– 14. Facilidades de Mudanças
• Nível de Influência 0 < ni < 14*5=70• Fator de Ajuste = ni * 0,01 + 0,65
58
Análise por Pontos de Função
• Aplicações da Análise por P F
$ Esforço
$ Prazo
$ Equipe$ Produtividade
59
Análise por Pontos de Função
• Produtividade# Nivel da linguagem utilizada/ CASE
Geração PF / homem / mes Exemplo 2a 5 a 10 FORTRAN 3a 10 a 20 COBOL 16 a 23 Dbase IV 4a 15 a 20 EASYTRIEVE + 30 a 50 SQL, query langs 5a 40 a 100 LOTUS 123
60
Análise por Pontos de Função
• Esforço
– Esforço = produtividade x PFA
– Produtividade?
• padrões mundiais
• sua série histórica
• tipo do serviço a realizar
61
Análise por Pontos de Função
• Prazofixada a equipe, prazo = esforço / equipe
• EquipeFixado o prazo, equipe = esforço / prazo
• Problemas de comunicaçãoBrooks = N x ( N - 1 ) / 2
onde N é o numero de iterações dois a dois
62
Administração de recursos
Qualidade– normas e padrões– métricas / estatísticas desenvolvimento– prototipação próprio
Aplicações corporativas e / ou
Instalação e segurança contratação
Suporte técnico e redes Produção feita por usuários, clientes
pessoal próprio ou terceiros