Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Roteiro
Motivação
Conceito de métricas
Métricas x Gerenciamento de Projetos
Categorização de Métricas
Principais barreiras
Métricas para software
APF
2
Motivação
Boa parte dos fracassos no que diz
respeito aos projetos de software deve-
se, principalmente, a problemas de
administração ou gerenciamento do
desenvolvimento de software.
3
Motivação
“Se você não sabe para onde você quer ir, qualquer
caminho você pode seguir. Se você não sabe onde você
está, um mapa não vai ajudar!”.
Roger Pressman
4
Conceitos
Uma métrica é a medição de um atributo (propriedades ou
características) de uma determinada entidade (produto,
processo ou recursos). Exemplos:
◦ Tamanho do produto de software (ex: Número de Linhas de código)
◦ Número de pessoas necessárias para implementar um caso de uso
◦ Número de defeitos encontrados por fase de desenvolvimento
◦ Esforço para a realização de uma tarefa
◦ Tempo para a realização de uma tarefa
◦ Custo para a realização de uma tarefa
◦ Grau de satisfação do cliente (ex: adequação do produto ao propósito,
conformidade do produto com a especificação)
5
Métricas x Gerenciamento de Projetos
As métricas são importantes para o gerenciamento de projetos
para melhorar a qualidade das estimativas e desta forma
conduzir de forma mais realística o controle dos atributos do
projeto.
A medida de um software em si tem pouco valor analisado de
forma isolada. Ele passa a ser relevante quando serve de base
para responder perguntas referentes a outros aspectos.
Exemplo:
◦ Qual o esforço (horas/homem, homem/mês)
◦ Durante quanto tempo
◦ Qual o custo
6
Métricas x Gerenciamento de Projetos
As métricas também ajudam aos gerentes a:
◦ Entender e aperfeiçoar o processo de desenvolvimento
◦ Melhorar a gerência de projetos e o relacionamento com
clientes
◦ Reduzir frustrações e pressões de cronograma
◦ Gerenciar contratos de software
◦ Indicar a qualidade de um produto de software
◦ Avaliar a produtividade do processo
◦ Avaliar os benefícios (em termos de produtividade e qualidade)
de novos métodos e ferramentas de engenharia de software
◦ Avaliar retorno de investimento
7
Métricas x Gerenciamento de Projetos
As métricas também ajudam aos gerentes a:
◦ Identificar as melhores práticas de desenvolvimento de software
◦ Embasar solicitações de novas ferramentas e treinamento
◦ Avaliar o impacto da variação de um ou mais atributos do
produto ou do processo na qualidade e/ou produtividade
◦ Formar uma baseline para estimativas
◦ Melhorar a exatidão das estimativas
◦ Oferecer dados qualitativos e quantitativos ao gerenciamento de
desenvolvimento de software, de forma a realizar melhorias em
todo o processo de desenvolvimento de software
8
Categorização de Métricas
Métricas diretas (fundamentais ou básicas)
◦ Medida realizada em termos de atributos observados
(usualmente determinada pela contagem)
◦ Ex.: custo, esforço, no. linhas de código, capacidade de
memória, no. páginas, no. diagramas, etc.
Métricas indiretas (derivadas)
◦ Medidas obtidas a partir de outras métricas
◦ Ex.: complexidade, eficiência, confiabilidade, facilidade
de manutenção
Categorização de Métricas
Métricas orientadas a tamanho
◦ São medidas diretas do tamanho dos artefatos de
software associados ao processo por meio do qual o
software é desenvolvido.
◦ Ex.: esforço, custo, no. KLOC, no. páginas de
documentação, no. erros
Métricas orientadas por função
◦ Consiste em um método para medição de software
do ponto de vista do usuário, determinando de forma
consistente o tamanho e a complexidade de um
software.
Categorização de Métricas
Métricas de produtividade
◦ Concentram-se na saída do processo de engenharia de software.
◦ Ex.: no. de casos de uso/iteração.
Métricas de qualidade
◦ Oferecem uma indicação de quanto o software se adeqüa às exigências
implícitas e explícitas do cliente.
◦ Ex.: erros/fase
Métricas técnicas
◦ Concentram-se nas características do software e não no processo por
meio do qual o software foi desenvolvido.
◦ Ex.: complexidade lógica e grau de manutenibilidade
Métricas de Software
Quando métricas não são utilizadas
A falta de métricas de projetos prejudica de forma geral seu
acompanhamento, uma vez que, apesar de o problema estar lá,
ele não é percebido por aqueles que podem direcionar
esforços na sua solução. O papel das métricas é permitir uma
rápida identificação e correção de problemas.
12
Principais Barreiras
16
Modelo de Pontos por Função
Os fundamentos de pontos de função foram especificados
por Allan J. Albrecht, da IBM, em 1979, tendo sido refinados
e transformados em metodologia formal em 1984.
Em 1990 o IFPUG (International Function Point Users
Group) lançou a primeira versão do Manual de Práticas de
Contagem, que se tornou padrão reconhecido pela indústria
para pontos de função.
Em 1998, foi criado o BFPUG (Brazilian Function Point
Users Group) responsável pelo exame de certificação do
IFPUG no Brasil.
Esta técnica baseia-se nos requisitos lógicos funcionais dos
usuários. Os requisitos não-funcionais, são utilizados para
promover os ajustes (para mais ou para menos) no
tamanho final do aplicativo. 17
Modelo de Pontos por Função
Processo de Contagem Contar Determinar
funções do contagem
Identificar tipo dados de pontos
escopo da de função
Determinar
contagem não-
o tipo de
e fronteira ajustados
contagem Calcular o
da Contar número de
aplicação funções do pontos de
tipo função
transação ajustados
Determina
r valor do
Tipos de Contagem: fator de
•Contagem de um projeto de desenvolvimento ajuste
•Contagem de um projeto de melhoria
•Contagem de uma aplicação
19
Processo de Contagem
Determinar o Fator de Ajuste de Valor (FAV) baseado na equação (FAV = 0,65 +
(Soma das Características Gerais do Sistema x 0,01) e a avaliação, em uma escala de
1 a 5, das seguintes quatorze Características Gerais do Sistema. Instruções
específicas para avaliação são fornecidas no CPM do IFPUG:
◦ 1. Comunicação de Dados
◦ 2. Processamento Distribuído de Dados
◦ 3. Desempenho
◦ 4. Configuração Intensamente Utilizada
◦ 5. Taxa de Transação
◦ 6. Entrada de Dados On-Line
◦ 7. Eficiência do Usuário Final
◦ 8. Atualização On-Line
◦ 9. Processamento Complexo
◦ 10. Reutilização
◦ 11. Facilidade de Instalação
◦ 12. Facilidade de Operação
◦ 13. Múltiplas Localidades
◦ 14. Facilidade de Alteração
AIL 7 10 15
AIE 5 7 10
Esta tabela é utilizada para verificar o peso de cada função tipo data
Funções tipo Transação
Cadastrar cargos
Cadastrar departamentos
Cadastrar pessoas
Consultar pessoas (Dados pessoa + nome
do cargo + nome do departamento + nome
do bairro + nome da cidade + sigla do
Estado)
Emitir relação de pessoas por Cargo (nome
do cargo, nome da pessoa, total de pessoas
por cargo)
Classificar as funções tipo Transação
Entrada Externa (EE)
◦ Processamento de dados ou informações de controle que
entram pela fronteira da aplicação. Através de um
processo lógico único, esses dados, atualizam arquivos
lógicos internos e/ou alteram o comportamento do sistema
Consulta Externa (CE)
◦ O processo onde uma entrada de dados ocasiona uma
recuperação imediata de dados. Os dados exibidos não
envolvem fórmulas, cálculos ou nenhum tipo de dado
derivado.
Saída Externa (SE)
◦ Envio de dados ou informações de controle para fora das
fronteiras da aplicação (relatórios, dados transferidos para
outra aplicação)
Tabela EE
1- 4 5 – 15 > 15
TDado TDado TDado
0 -1 ARef BAIXA BAIXA MEDIA
EE 3 4 6
CE 3 4 6
SE 4 5 7
Cálculo do total de PF