Você está na página 1de 5

Estimativas para o projeto

 Durante o planejamento, estando pronta a WBS é


Técnicas de estimativa preciso iniciar as estimativas do projeto.

e  As métricas combinam medidas realizadas em artefatos


do projeto que permitem a realização das estimativas
Métricas para  Exemplos de medidas utilizadas nas métricas
Planejamento de projetos  Tamanho do produto;
 Tamanho da equipe.
 Exemplos de estimativas
 Esforço humano exigido;
 Duração do projeto e Custo monetário,
 Satisfação do cliente.

Medidas e Métricas para projeto de


Medidas, métricas e indicadores Software
 Deseja-se saber se uma pessoa está com seu peso ideal ou não. Para
tal, duas medidas são importantes: altura (H) e peso (P).  Tamanho do produto
 Ao tomar essas medidas é efetuada uma medição.  Em geral é baseado em apenas um artefato, mas tem como
 A métrica “índice de massa corporal (IMC)” é calculada segundo a objetivo estimar o custo total (entrada: modelos, protótipos,
seguinte fórmula: IMC = P / H2. código, documentação)
 A partir dessa métrica, foram estabelecidos indicadores que
estabelecem uma referência para pessoas acima do peso, obeso ou
 Esforço
abaixo do peso considerado saudável.  Trabalho humano necessário para elaboração do produto de um
determinado tamanho
Condição IMC em Mulheres IMC em Homens

abaixo do peso < 19,1 < 20,7  Produtividade


no peso normal 19,1 - 25,8 20,7 - 26,4  Produtividade =Tamanho/Esforço
marginalmente acima do peso 25,8 - 27,3 26,4 - 27,8

acima do peso ideal 27,3 - 32,3 27,8 - 31,1


 Custo monetário = f (Esforço)
obeso > 32,3 > 31,1

3 4

Exemplos
Medidas e Métricas de software Medidas de referência - Base Line
 Tamanho do produto  Dados devem ser razoavelmente
precisos
 Linhas de código – LOC, Kloc
Banco de Dados Histórico de  Maior número possível de
 Pontos de função - FP projetos medidos da mesma
projetos
 Pontos de casos de uso – UCP forma

 Esforço e prazo  Dados retirados do BD de


projetos  aplicações “idênticas”
 Pessoas-hora (ph), Pessoas-mês (pm), pessoas-ano (pa) ao projeto para o qual as
 Exemplo: Construir um software de 100 Kloc, sabendo que a produtividade é de estimativas estão sendo feitas.
0,4 Kloc/pm. Sabemos que Produtividade =Tamanho/Esforço.
 ISBSG – International Software
Temos que o Esforço= Prod/Tam = 100/ 0,4  250 pm Benchmarking Standards Group,
Mantém um repositórios de
Tamanho da equipe Esforço Prazo métricas de projetos de software
1 250 pm 250 meses para auxiliar na melhoria gerência
10 250 pm 25 meses de recursos de TI
100 250 pm 2,5 meses (http://www.isbsg.org/ )

OBS: este exemplo desconsidera que a produtividade diminui com o aumento do


tamanho da equipe.
5 6
Métrica de tamanho do Produto
Linhas de Código - LOC Linhas de código - Exemplo
 Uma linha de código qualquer linha do programa fonte 1 Function Exclusiva (novapalavra: shortstring; listapalavra:list):
que não seja um comentário ou linha em branco 2 boolean;
indiferente do número de comandos ou fragmentos de
 3 { módulo para determinar se a palavra já apareceu antes }
comandos na linha. 4 Var
Conta-se: 5 índice : integer;
 Linhas contendo cabeçalho de programa 6
 declarações 7 Begin
 comandos executáveis e não executáveis 8 exclusiva := true ;
9 For índice := 1 to listapalavra.conta do
Número de Linhas de código: S  tamanho do programa 10 If novapalavra = listapalavra.palavra[índice]
 S = número de linhas de código (LOC) ou 11 then exclusiva := false ;
 S = milhares de linhas de código (Kloc) 12 End;

O tamanho calculado por LOC é S=10


7 8

Métrica de Tamanho do produto


Análise de Pontos de Função - FPA Pontos de Função (FP)
A Análise por Pontos de Função (APF) surgiu em 1979 como
resultado de um projeto desenvolvido por Allan Albrecht,
pesquisador da IBM
 A contagem dos pontos de função é regulamentada pelo International
Function Point Users Group (IFPUG) que estabelece os padrões para o
cálculo dos pontos de função.
 O método do IFPUG foi oficializado através do padrão internacional
ISO/IEC 20926 de 2002.
 O IFPUG oferece certificação na técnica (www.ifpug.org).
Parâmetro medido Número de pontos de função
Características da Análise de Pontos de Função - FPA Complex. Baixa Complex. Média Complex. Alta
Entrada externa (EI ou EE) 3FP 4FP 6FP
 Estimar o tamanho do software independente da tecnologia. Saída externa (EO ou SE) 4FP 5FP 7FP
 Medir o que foi requisitado e recebido do usuário  Mede a Consultas externas (EQ ou CE) 3FP 4 FP 6FP
funcionalidade ou a utilidade do software; Arquivo lógico interno (ILF ou ALI) 7FP 10FP 15FP
Arquivo de interface externa (EIF ou AIE) 5FP 7FP 10FP

10

n° arquivos n° de elementos de dados (DET)


Medidas que determinam a complexidade Entradas do usuário (EI) referenciados (FTR)
1-4 5-15 >15
Pontos de Função (FP) Exemplo de contagem <2 Baixo(3) Baixo(3) Médio(4)
de FP para uma EI 2 Baixo(3) Médio(4) Alto(6)
 nº de elementos de dados (DET) - cada elemento de dados é um >2 Médio(4) Alto(6) Alto(6)
campo único, reconhecido pelo usuário (não repetido).
Considere uma entrada que adiciona, altera ou apaga os seguintes dados de clientes:
Quando existe várias ocorrências do mesmo campo, conte o campo apenas uma vez.
CPF, nome, endereço e cidade utilizando os arquivos de cliente e de cidades que são
Ex: janeiro, 15.000; abril, 9.000; setembro, 4.000; ...  mês e valor DET=2.
mantidos pelo sistema.
 Essa medida é utilizada para todos os parâmetros OBS: Mesmo sendo uma só tela, contar uma entrada de usuário para cada tarefa de
manutenção executada (adição, alteração e remoção)
 nº de arquivos referenciados(FTR) - Um arquivo referenciado é: Contagem dos DETs
 um arquivo lógico interno (ILF) lido ou mantido por uma transação ou  EI-1: CPF, nome, endereço e cidade + ADD  n.º de elementos de dados=5
 um arquivo de interface externa (EIF) lido por uma transação.  EI-2: CPF, nome, endereço e cidade + CHANGE  n.º de elementos de dados=5
EX: Se uma entrada atualiza dois arquivos  FTR=2 para esta entrada
 EI-3: CPF + DELETE  n.º de elementos de dados=2
 Apenas as entradas, saídas e consultas utilizam esta medida
Contagem dos FTRs n.º arquivos referenciados de cada EI é: FTR =2
 nº de tipos de registros(RET) - Um tipo de registro é um subgrupo Supondo que todas as EIs utilizam: Arquivo de clientes e Arquivo de cidades
de dados que faz parte de um Arquivo (Interno ou de interface externa). Total de pontos de função para cada EI
EX: Subtipos de uma entidade no MER são tipos de registro. EI-1 e EI-2 (DET=5 e FTR=2) Fator de ponderação médio . Cada EI conta 4 FP
 Apenas os arquivos internos e externos utilizam esta medida EI-3: (DET = 2 e FTR = 2)  Fator de ponderação baixo. A EI conta 3 FP
Total de FP = 2 x 4 + 1 x 3= 11 (para as 3 EIs )
11 12
Entradas do usuário (EI) - exercício Exemplo de contagem de Saída do usuário (EO)
Exemplo de contagem de elementos de dados. n° arquivos n° de elementos de dados
Considere o seguinte relatório que para referenciados (FTR)
 Apresente a contagem FP para uma EI correspondente à entrada ser produzido utiliza 4 arquivos
1-5 6-19 >19

dos dados de um cliente apresentada em uma tela de uma aplicação Nível de trabalho por dia da semana
<2 Baixo(4) Baixo(4) Médio(5)
que é usada para o cadastramento de dados de clientes. Deve ser Dia horas % do total sessão 2 ou 3 Baixo(4) Médio(5) Alto(7)
1 Domingo 1004 8,73% 111
prevista uma validação de cada campo e, caso o cliente já exista ou 2 segunda 1887 16,41% 201
>3 Médio(5) Alto(7) Alto(7)
o CNPJ seja inválido, mensagens de erro apropriadas devem ser 3 terça 1547 13,45% 177
4 quarta 1975 17,17% 195
mostradas. 5 quinta 1591 13,83% 191
 Dados de Clientes: Código; Nome; Razão Social; Tipo; Região; CNPJ; Inscrição 6 sexta 2209 19,21% 200
Estadual; Endereço; Bairro; CEP; Cidade; Contato-1; Telefone; Contato-2; 7 Sábado 1286 11,18% 121
Total dias úteis 9209 80,08% 964
Telefone Total fim de semana 2290 19,91% 232
 Atualiza o arquivo de cadastro de Clientes
Contagem dos elementos de dados (DET)
OBS: não importa quantas diferentes mensagens devam ser emitidas; contamos
• dia, horas, % do total, sessão  4
apenas uma vez.
• total horas dias úteis, % total horas dias úteis, total sessão dias úteis  3
 Solução – contagem de FP referente a entrada de dados • total horas fim de semana, % total horas fim de semana, total sessão fim de
 Contagem: semana3
 DET: 16 (15 campos de dados, mensagem de erro) N.º de elementos de dados (DET)= 10
 FTR: 1 (Clientes) Contagem dos arquivos referenciados
 Grau de complexidade da EI: Média  4 FP
• Como a produção do relatório envolve 4 arquivos, temos: FTR=4
Para essa EO com DET=10 e FTR=4 deve-se contar 7 FP
13 14

Saídas do usuário (EO) - Exercício Consultas do usuário (EQ)– EXEMPLO


O usuário solicitou, como parte das funcionalidades do aplicativo, o desenvolvimento de
um relatório com os dados de clientes. Um mapa onde diferentes nomes de cidades são mostradas quando o mouse é
O relatório deve conter um cabeçalho com: nome do relatório e o nome de cada campo. movido sobre ele. Se o usuário clicar sobre um ponto específico do mapa
1. Qual é o tipo de parâmetro a ser contado? aparecerão detalhes a respeito da cidade selecionada.
2. Quantos pontos de função serão contados? Os detalhes a respeito da cidade estão em um ILF ou EIF
OBS: Não são contados os dados de cabeçalho do relatório: Data, hora, controles de paginação , etc.;
Entrada: clique do mouse
Relação de Clientes Data: __ / __ / __ Pag. No. __ Saída: informações apresentadas
Código Nome Razão Social Tipo Território CNPJ Inscrição Est. Contato Telefone

........... ......... ................. ...... ............ ....... .................. ........... ............

........... ......... ................. ...... ............ ....... .................. ........... ............

Total de Clientes cadastrados: ____

Solução:
(1) É uma Saída Externa  os dados serão enviados para fora da fronteira da [www.SoftwareMetrics.com]
aplicação e há processamento (cálculo do total de clientes cadastrados).
(2) DET: 10 (9 campos e total de clientes) e FTR: 1 (clientes)
Grau de complexidade da EO: Simples  4 FP
15 16

Consultas do usuário (EQ)– EXERCÍCIO Arquivos Lógicos Internos (ILF) - Exemplo


Foi solicitado pelo usuário, como parte do aplicativo a ser desenvolvido, uma tela que
permitisse a consulta a dados do arquivo de cliente partir da entrada do código do
cliente. A consulta ao arquivo de Clientes deve buscar 12 campos e a existência do Data-E CPF
cliente deve ser validada (em caso de erro, deve ser mostrada mensagem). Além disso, tipo Data-S nome
devem ser exibidos para cada cliente os seguintes dados do arquivo Histórico: Total das M 1
Reserva reservar Hóspede fone
compras no ano e Total das compras no mês atual.
1. Qual é o tipo de parâmetro a ser contado?
2. Quantos pontos de função serão contados?  Arquivos lógicos são tabelas do Banco de dados
 Considerando que as tabelas acima são mantidas pelo sistema de um Hotel.
Solução (1) : É uma EQ: Os resultados da saída serão recuperados de arquivos e Qual é o parâmetro a ser medido?
disponibilizados para fora da fronteira da aplicação. Não há dados calculados no
Temos 2 ILF (Hóspede e Reserva).
resultado da consulta. O processo não atualiza arquivo interno; somente efetua uma
consulta.  Quantos pontos de função devem ser contados para cada ILF?
O ILF Hóspede tem DET=3 (CPF, nome e fone) e RET=1 7FP
Solução (2) O ILF Reserva tem DET=4 (tipo, data-E e data-S) + CPF(chave estrangeira
FTR=2: arquivo Clientes e arquivo histórico do relacionamento) e RET=1  7 FP
DET: 16 (2 de entrada + 14 de saída)
Parte de Entrada: código do cliente + mensagem de erro. DET = 2  Quantos pontos de função correspondem a essa parte do BD?
Parte de Saída: 14 campos (12 campos de Clientes + 2 campos de Histórico). DET = 14. 7 + 7 = 14 FP.
DET=16 e FRT=2 EQ média  4 FP
17 18
Métricas - pontos de função Exercício: Qual é o valor do FP corrigido?
Ajustanto a medida
Características Gerais de Sistema Pontuação
 Um valor de complexidade técnica pode ser associado a contagem total de FP FTR/
01 - Comunicação de Dados 0
parâm. DET RET Complex FP
afim de se considerar as características gerais do sistema. 02 - Processamento Distribuído 0
Clientes - Incluir EI 33 2 Alta 6 03 - Desempenho 0
 Exemplos de Fatores de complexidade Clientes - Alterar EI 32 2 Alta 6 04-Configuração Altamente Utilizada 0
 O sistema requer back up e recuperação confiáveis? 05 - Volume de Transações 0
Clientes - Excluir EI 2 2 Baixa 3
 São exigidas comunicação de dados? Clientes - Listar na 06 - Entrada de Dados Online 5
 Há funções de processamento distribuído? Caixa de Sel EQ 2 1 Baixa 3
07-Entrada de dados com múltiplas telas 3
 O desempenho é crítico? 08 - Atualização Online 3
Clientes - Listar na 09 - Processamento Complexo 0
Consulta Rápida EQ 6 1 Baixa 3 10 - Reusabilidade 3
 Ajuste de complexidade: pontue cada fator numa escala de 0 a 5
Relatório Cliente EO 13 1 Baixa 4 11 - Facilidade de Instalação 0
0__________1__________2__________3__________4___________5 12 - Facilidade de Operação 5
Sem Acidental Moderado Médio Significativo Essencial Cliente ILF 19 1 Baixa 7
13 - Múltiplos Instalações 2
influência Dados externos EIF 3 1 Baixa 5 14 – Facilidade de Modificação 2
Total de FP= 37 Σ F 23
 Ajuste a contagem FP utilizando a fórmula:
FPcorrigido = FP x [0.65 + 0.01 x  (Fi)]
 Fi (i = 1 a 14) são valores (de 0 a 5) de ajuste de complexidade
FPcorrigido = FP x [0.65 + 0.01 x Σ (Fi)]
 As constantes (0.65) e o peso (0.01), aplicados as contagens são determinados
empiricamente. FPcorrigido =37 x [0.65 + 0.01 x 23] FPcorrigido = 32,56
Detalhes sobre as características gerais: disponíveis no Moodle - “outros materiais”

Produtividade e Esforço para PF Estimativas com FP


 Quais atividades são compreendidas na estimativa de esforço de um
PRODUTIVIDADE = horas de esforço para 1 ponto de função projeto de software?
Linguagem ph/FP  levantamento e especificação de requisitos, análise, projeto;
C, Fortran, Assembler 26 a 30 h  Codificação e testes;
Pascal, Ada, Prolog, Lisp 13 a 25 h  gerência do projeto;
Orientadas a objeto, C++, Java, Smaltalk ... 6.5 a 12h  apoio à homologação do usuário, implantação e transferência de
Geradores de Programas 4.3 a 8.6h conhecimento do serviço executado.
SQL 2.6 a 4.3h
 Não estão no escopo da estimativa por PF: treinamento de usuários,
 Exemplo: Esforço para um sistema com 90 FP temos: acompanhamento do sistema em produção, administração do banco de
dados, etc.
 O max para um sistema OO: 90 x 12 = 1.080 ph
 O max um sistema em SQL: 90 x 4.3 = 387 ph
 Ajuste da FP através de 14 características gerais.
 A ISO 20926 reconhece a APF como uma proposta para medição funcional
mas não considera a aplicação das características gerais na contagem final do
 Os valores de produtividade variam bastante conforme produto de software.
fonte consultada

21 22

Empresas que utilizam a métrica Bibliografia


 Embora a APF não seja uma técnica perfeita, há uma maturidade
grande no mercado com relação ao seu uso e o IFPUG trabalha
continuamente para sua evolução.  Apostila
 seções: 2.1 e 2.2
 O IFPUG possui afiliados de mais de 40 países; sendo que o uso da
APF é mais intenso na Alemanha, Austrália, Brasil, Canadá, Coréia,
Estados Unidos, Índia, Inglaterra, Itália e Holanda.
 Leitura complementar - Moodle:
 Exemplos de empresas que usam a APF:  Pontos de função aplicados a tecnologias novas e
 No mundo emergentes
IBM, Unisys, Xerox, EDS, Citigroup, Lockheed Martin-EIS, Booz Allen &
Hamilton, Nielsen Media.  FP: Detalhamento das Características Gerais
 no Brasil -
Bradesco, Companhia Vale do Rio Doce, Caixa Econômica Federal,
Correios, Petrobras, Unibanco, Xerox
Exemplo de editais e valores: http://fattocs.com/pt/recursos/editais

23 24
Atividades durante a próxima semana
 Lista de exercícios - Está disponível no Moodle
 Cada equipe deve entregar 2 cópias: Uma impressa (antes da aula) e uma no Moodle (no dia
anterior à aula) no formato doc ou pdf.
 Nr de exercícios obrigatórios equivale ao nr de componentes da equipe. Equipes com
menos de 6 componentes devem entregar pelo menos um exercício de cada assunto.
 A apresentação dos exercícios em sala é individual. Todos os alunos devem trazer a solução
em meio eletrônico (melhor não depender apenas da Internet).
 Para as questões tipo teste deve ser apresentada a justificada para escolha da alternativa.
 Utilizar o fórum de discussão “Discussão sobre WBS e Metricas” para discutir os exercícios
 No assunto indicar número da questão e item (EX: questão 2 item c) ou para dúvida conceitual
indicar o assunto (EX: Contagem de DETs para EI)

 Teste Simulado – Não entra no cálculo da média.


 Disponível no Moodle: das18:00 h de quinta-feira (12/04) até às 23:00 h sexta-feira (13/04)
 Cada aluno poderá submeter apenas uma vez. 20 minutos de duração

 Iniciar estudo p/ seminário


 Leitura sobre área de conhecimento
 Pesquisa na Internet sobre área de conhecimento PMBOK

25