Buscar

Aula08 - Métricas de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Qualidade de Software
Ementa
1
MÉTRICAS
DE SOFTWARE
Prof. ª Maria Augusta Vieira Nelson
Prof.ª Poliana A. Corrêa de Oliveira
Pontifícia Universidade Católica de Minas Gerais (PUC Minas)
Qualidade de Software
Ementa
2
MOTIVAÇÃO
� “Quando puder medir aquilo de que está falando e expressar em
números, você saberá algo a respeito.” (LORD KELVIN)
� “Não se pode gerenciar o que não se pode medir”. (TOM DE
MARCO)
� “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)
Qualidade de Software
Ementa
3
O QUE SÃO MÉTRICAS DE 
SOFTWARE?
� Métricas são critérios usados para quantificar um atributo
(propriedade ou característica) de uma determinada entidade
(produto, processo ou recursos)
� Representa o que pode ser medido em um software
� Visa tratar adequadamente a influência de fatores subjetivos no julgamento
da qualidade de um produto
� Exemplos de métricas
� Tamanho do produto de software (dado em 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
� Tempo e custo para a realização de uma tarefa
Qualidade de Software
Ementa
4
MÉTRICAS DE SOFTWARE
� O QUE USAR COMO BASE?
� Tamanho 
� Funcionalidade
� Tempo
� Custo
� POR QUE MEDIR?
� Para caracterizar
� Para avaliar
� Para estimar
� Para controlar
� Para melhorar
� O QUE MEDIR?
� processo
� projeto
� produto
Medir
O que?
Pra que?
Usar o 
que?
Qualidade de Software
Ementa
5
MITOS E VERDADES SOBRE 
MÉTRICAS DE SOFTWARE
� ... coletar medida é difícil...
� ... demora muito...
� ... é uma tarefa política ...
� ... não serei capaz de provar nada ...
“Qualquer coisa que você precisa quantificar pode ser medido
de alguma forma que é uma medida melhor do que medida 
nenhuma”
Qualidade de Software
Ementa
6
PROPRIEDADES DESEJÁVEIS DE 
MÉTRICAS DE SOFTWARE
� Fácil de computar, compreender e testar
� Empíricas e intuitivas
� Consistentes e objetivas
� Repetível
� Passível de análise estatística
� Possibilita automação
� Independente do observador ou da linguagem de programação
� Indicativa o suficiente para apontar estratégias de melhoria
2
Qualidade de Software
Ementa
7
PROPRIEDADES DESEJÁVEIS DE 
MÉTRICAS DE SOFTWARE
� Uma métrica deve ser
� Válida: quantifica o que se quer medir
� Confiável: produz os mesmos resultados para as mesmas condições
� Prática: barata, fácil de computar e de interpretar
Qualidade de Software
Ementa
8
TIPOS DE MÉTRICAS
MÉTRICAS DE PROCESSO
MÉTRICAS DE PROJETO
MÉTRICAS DE PRODUTO
Qualidade de Software
Ementa
9
MÉTRICAS DE PROCESSO
� O foco está na qualidade obtida como consequência de um
processo repetível e gerenciado
� Análise estatística de dados obtidos nas atividades de garantia da
qualidade do software
� Categorização e análise de erros
� Exemplos
� Eficiência na remoção de defeitos
� Dados sobre reutilização
� Produtividade por período
Qualidade de Software
Ementa
10
MÉTRICAS DE PROJETO
� Estão relacionadas com medidas de esforço/tempo por tarefa da
engenharia de software
� Exemplos
� Erros revelados por hora de revisão
� Datas de marcos planejadas versus reais
� Número de mudanças e suas características
� Distribuição do esforço nas tarefas de engenharia de software
Qualidade de Software
Ementa
11
MÉTRICAS DE PRODUTO
� Refletem a qualidade dos artefatos a serem entregues
� Exemplos
� medições para o modelo de análise
• Funcionalidade entregue, tamanho do sistema, qualidade da especificação
� medições da complexidade do projeto
• Complexidade interna do algoritmo, complexidade arquitetural, complexidade do fluxo de
dados, complexidade do componente, complexidade do projeto de interfaces
� medições de código-fonte
• Tamanho do sistema, complexidade de lógica por função
� medições da eficiência do processo
• Eficiência da remoção de defeitos
Qualidade de Software
Ementa
12
CATEGORIAS DE MÉTRICAS
� Métricas diretas (fundamentais ou básicas)
� As medidas são feitas em atributos observáveis (normalmente determinada
pela contagem de valores)
� Exemplo: custo, esforço, número de linhas de código, capacidade de
memória, número de páginas, número de diagramas, etc.
� Métricas indiretas (derivadas)
� As medidas são obtidas a partir de outras métricas
� Exemplo: complexidade, eficiência, confiabilidade, facilidade de
manutenção
3
Qualidade de Software
Ementa
13
DIRETRIZES PARA AS MÉTRICAS
� Use o bom senso ao interpretar dados de métricas
� Forneça feedback regularmente aos indivíduos e as equipes que
trabalham na coleta de dados para medições
� Não use as métricas para vangloriar indivíduos, nem para pressionar
pessoas
� Trabalhe com desenvolvedores e equipes para estabelecer metas claras
e métricas que serão usadas para alcançá-las
� Dados de métricas que indicam problemas não devem ser considerados
“negativos”, os dados são apenas indicadores para melhorias no
processo
� Não fique obcecado com uma única métrica e ignore outras métricas
importantes
Qualidade de Software
Ementa
14
NORMALIZAÇÃO DAS MÉTRICAS
� Normalização orientada por tamanho
� abordagem linhas de código
� Normalização orientada por função
� abordagem pontos de função
Qualidade de Software
Ementa
15
NORMALIZAÇÃO DAS MÉTRICAS
� Métricas orientadas por tamanho
� Medidas diretamente sobre o tamanho dos artefatos de software
associados ao processo por meio do qual o software é desenvolvido
� Uma boa métrica de tamanho deve poder ser deduzida dos
requisitos do software
� Ter boa correlação com o esforço de desenvolvimento
� Ser contável através de um procedimento bem definido
� Ser facilmente mensurável quando o trabalho está completo para
comparar valores estimados e valores reais
Qualidade de Software
Ementa
16
NORMALIZAÇÃO DAS MÉTRICAS
� Métricas orientadas por tamanho
� Exemplos
� erros por KLOC (thousand lines of code)
� defeitos por KLOC
� $ por LOC
� página de documentação por KLOC
� erros por pessoa-mês
� LOC por pessoa-mês
� $ por página de documentação
Qualidade de Software
Ementa
17
NORMALIZAÇÃO DAS MÉTRICAS
� Métricas orientadas por função
� Medidas do ponto de vista do usuário, determinando de forma consistente
com o tamanho e a complexidade do software
� Independente de linguagem de programação
� Usa características contáveis do domínio do problema
� Não penaliza implementações criativas que usam menos linhas de
código
Qualidade de Software
Ementa
18
NORMALIZAÇÃO DAS MÉTRICAS
� Métricas orientadas por função
� Exemplos
� erros por ponto de função
� defeitos por ponto de função
� $ por ponto de função
� páginas de documentação por ponto de função 
� ponto de função por pessoa-mês
4
Qualidade de Software
Ementa
19
ANÁLISE DO DOMÍNIO DO 
PROBLEMA
FONTE: (PRESSMAN, 2006, p. 358)
Qualidade de Software
Ementa
20
CALCULANDO PONTOS DE FUNÇÃO
� Estabelecer a contagem para o domínio de entrada e
interfaces do sistema
� Atribuir um peso (ou nível de complexidade) para
cada contagem
� Dar nota a fatores externos como reutilização,
concorrência, sistema operacional...
� Pontos de função = (somatório (contagem x peso)) x C 
onde C = multiplicador de complexidade (0,65 + 0,01 x 
N)
Analisar o domínio
da aplicação e
fazer as contagens
Atribuir pesos para a
complexidade de
cada contagem
Investigar a influência
de fatores externos que
afetam a aplicação
Calcular
pontos de função
Qualidade de Software
Ementa
21
CONSIDERANDO A COMPLEXIDADE� Os fatores são graduados em uma escala de 0 (nada importante) a
5 (muito importante)
� comunicação de dados
� funções distribuídas
� taxa de transações
� entrada de dados on-line
� eficiência do usuário final
� atualização on-line
� processamento complexo
� facilidade de instalação
� facilidade de operação
� facilidade de mudanças
Qualidade de Software
Ementa
22
MEDINDO A QUALIDADE
� Funcionalidade
� Grau de relação entre o projeto e a implementação
� Exemplos: número de funções projetadas x número de funções
implementadas, número de funções validadas com base nos requisitos
� Manutenibilidade
� Grau até onde o programa é passível de sofrer mudanças
� Exemplos: Pontos de função, linhas de código, linhas de documentação,
número de módulos, número de parâmetros de entrada por módulo,
número de interfaces (telas), número de arquivos externos acessados
Qualidade de Software
Ementa
23
MEDINDO A QUALIDADE
� Usabilidade
� Grau até onde o programa é fácil de usar
� Exemplo: tempo gasto por testador para aprender a usar uma
funcionalidade, tempo gasto por testador para executar uma tarefa,
número de consultas ao sistema de ajuda, número de problemas de
compreensão e padronização durante os testes, número de operações que
não podem ser desfeitas, etc.
� Confiabilidade
� Grau de manter um determinado nível de desempenho quando usado em
contexto não projetado
� Exemplo: número de falhas identificadas durante os testes, número de
falhas corrigidas, tempo médio entre falhas
Qualidade de Software
Ementa
24
MEDINDO A QUALIDADE
� Correção
� Grau até onde o programa opera de acordo com a especificação
� Exemplos: número de funcionalidades conformes versus número de
funcionalidades do sistema, número de não-conformidades
� Integridade
� Grau até onde o programa é resistente a ataques externos
� Exemplo: número de ataques
� Portabilidade
� Grau até onde o programa pode ser alterado para plataformas diferentes
5
Qualidade de Software
Ementa
25
MEDINDO A QUALIDADE
� Eficiência na remoção de erros
� ERE = (erros / (erros + defeitos) )
� Erros são problemas encontrados antes da entrega do software
� Defeitos são problemas encontrados após a entrega do software
� O ideal é que o ERE seja próximo de 1
Qualidade de Software
Ementa
26
MÉTRICAS EM ORIENTAÇÃO A 
OBJETOS
� Número de scripts de cenário
� Número de classes principais
� Número de classes de suporte
� Número de subsistemas
� Tamanho das classes
� Métodos por classe
� Profundidade da herança
� Acoplamento entre objetos (colaborações entre classes ou
mensagens passadas entre objetos)
Qualidade de Software
Ementa
27
MEDIÇÕES COM GQM
� GQM (Goal Question Metric)
� Método simples para planejar e definir medições em artefatos de
software através de métricas significativas baseadas em objetivos
específicos
“Especificar objetivos é por si
próprio um tópico importante, pois,
sem objetivos, há o risco de coleta
de dados sem relação e sem
importância” (BRASILI)
Qualidade de Software
Ementa
28
MEDIÇÕES COM GQM
� Define um conjunto de metas de medição através de objetivos e 
questões/perguntas específicas
� Abordagem top-down das metas em medidas através de perguntas
no contexto específico
� Interpretação bottom-up dos dados coletados com relação a meta 
� Envolvimento ativo de toda a equipe
� Organiza o planejamento de uma medição de software em etapas
Qualidade de Software
Ementa
29
METODOLOGIA GQM
1) Identifica-se os interessados na medição
2) Os principais objetivos da medição para a organização, o projeto
ou uma tarefa específica são estabelecidos pelos interessados
� Exemplo: reduzir defeitos, aumentar produtividade, etc.
3) Com base nos objetivos são concebidas perguntas cujas respostas
dirão se os objetivos foram ou não alcançados
� Exemplo: Qual a taxa de defeito atual? Qual a taxa de defeito após a
implantação do novo processo?
4) Só a partir das perguntas as métricas são definidas
� Exemplo: Quais dados serão necessários? Em quais formatos? Como serão
coletados? Onde serão armazenados? Como serão utilizados?
Qualidade de Software
Ementa
30
METODOLOGIA GQM
OBJETIVO 1 OBJETIVO 2
QUESTÃO 1 QUESTÃO 2 QUESTÃO 3 QUESTÃO 4
MÉTRICA 1 MÉTRICA 2 MÉTRICA 3 MÉTRICA 4 MÉTRICA 5
6
Qualidade de Software
Ementa
31
METODOLOGIA GQM
� OBJETIVOS
� Estabelecidos de acordo com as necessidades dos interessados
� Os objetivos devem ser fixados em função dos requisitos de software e
associados a um período de tempo
� Exemplo: controlar a ocorrência de erros no software
� QUESTÕES
� Definidas para realizar o trabalho de medição
� Atua como uma ponte entre objetivos e métricas
� “Perguntas que se espera responder com o estudo”
� “As respostas devem trazer informação útil para melhorar o produto”
� Exemplo: Que aspectos do projeto da interface afetam a facilidade de uso?
Qualidade de Software
Ementa
32
METODOLOGIA GQM
� CATEGORIAS
� Particionam o conjunto de dados obtidos
� Exemplo: na avaliação de interface do software vários aspectos podem ser 
levantados, como quantidade de janelas, distribuição dos campos, etc.
� FORMULÁRIOS
� Conduzem o trabalho dos avaliadores
� Define o formato de documentos para anotação dos dados
� A padronização facilita a análise dos dados
Qualidade de Software
Ementa
33
METODOLOGIA GQM
� Níveis do GQM
FONTE: http://www.devmedia.com.br/artigo-engenharia-de-software-21-metricas-de-software/15776
Qualidade de Software
Ementa
34
METODOLOGIA GQM
Desenvolvimento de
plano de mensuração
Coleta de dados
Análise e
Interpretação
Capturar
experiências Estudo prévio
Identificação de meta
Desenvolvimento
de plano GQM
Qualidade de Software
Ementa
35
EXEMPLO 1
Meta: Analisar o produto de software a fim de caracterizá-lo com 
respeito as taxas de erro introduzidas ao longo do processo de 
desenvolvimento do ponto de vista da organização
Como os erros são distribuídos por fase 
de desenvolvimento do software?
Número total de erros encontrados
D
EF
IN
IÇ
Ã
O
IN
TE
R
P
R
ET
A
Ç
Ã
O
Q1 Q2 Q3
M1 M2 M3
Número de erros encontrados em cada fase
Qualidade de Software
Ementa
36
EXEMPLO 2
Meta: Analisar o produto de software a fim de caracterizá-lo com 
respeito as taxas de erro introduzidas no desenvolvimento do 
ponto de vista do desenvolvedor
Quais são as taxas de erro por projeto?
Número de erros / KLOC
D
EF
IN
IÇ
Ã
O
IN
TE
R
P
R
ET
A
Ç
Ã
O
Q1 Q2 Q3
M1 M2 M3
Número de erros / caso de uso
7
Qualidade de Software
Ementa
37
EXEMPLO 3
Meta: Assegurar que todos os defeitos críticos encontrados são 
corrigidos antes do software ser liberado para uso.
Quantos defeitos temos atualmente? 
Número de defeitos 
D
EF
IN
IÇ
Ã
O
IN
TE
R
P
R
ET
A
Ç
Ã
O
Q1 Q2 Q3
M1 M2 M3
Número de defeitos por status 
Número de casos de testes planejados x executados 
Número de requisitos testados 
Qualidade de Software
Ementa
38
EXEMPLO 4
Meta: Controlar mudanças nos requisitos.
Qual é o percentual de novos requisitos no período?
Nº de requisitos novos/Nº de requisitos alocados
D
EF
IN
IÇ
Ã
O
IN
TE
R
P
R
ET
A
Ç
Ã
O
Q1 Q2 Q3
M1 M2 M3
Requisitos novos (PFs)/Requisitos alocados (PFs)
Qual é o percentual de requisitos alterados no período?
Qual é o percentual de requisitos excluídos no período?
Qual é o volume total de mudanças?
Total/taxa de mudanças nos requisitos
Qualidade de Software
Ementa
39
AGORA É COM VOCÊS!
� ATIVIDADE EM GRUPO (MÁXIMO 4 PESSOAS)
� Entregar no final da aula (17/09/2014)
� Aplicaçãodo método GQM
� PROBLEMA: A empresa em que você trabalha está implantando a
atividade de Revisão Técnica. Um dos objetivos do uso das revisões
técnicas de especificações de requisitos é a de reduzir, ao máximo, os
erros relacionados com a especificação e que acabam sendo
encontrados durante as baterias de testes. Há, portanto, uma
necessidade de acompanhar o desempenho de tais revisões técnicas.
� O método GQM deverá ser utilizado para identificar as métricas mais
apropriadas para avaliar os resultados das revisões técnicas.
(Mínimo: 2 metas, 4 questões e 6 métricas).
Qualidade de Software
Ementa
40
BIBLIOGRAFIA
� Pressman, Roger S. Engenharia de Software. 6a ed. Rio de Janeiro: McGraw Hill.
2006. Capítulo 15.
� Pfleeger, Shari Lawrence. Engenharia de Software: Teoria e Prática. 2a ed. São
Paulo: Prentice Hall. 2004. Capítulo 6.
� KOSCIANSKI, André. Qualidade de software. 2ª edição. Novatec. 2007. Capítulo
12.
Qualidade de Software
Ementa
41
DÚVIDAS

Outros materiais