medição e métricas de software ricardo de almeida falbo tópicos especiais – qualidade de...

21
Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal do Espírito Santo

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Medição e Métricas de Software

Ricardo de Almeida Falbo

Tópicos Especiais – Qualidade de Software 2007/1

Departamento de InformáticaUniversidade Federal do Espírito Santo

Page 2: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 2

Agenda Por que medir? Conceitos Básicos Medição e Estimativas Medição e Acompanhamento de Projetos Medição e Qualidade Problemas Relacionados à Medição Tipos de Métricas de Software Definição de Métricas: Método GQM

Page 3: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 3

Por que medir?

Se não é possível medir, expressando em números, apenas uma análise qualitativa (e, portanto, subjetiva) pode ser feita (o que, na maioria das vezes, é insuficiente).

Com medições, as tendências (boas ou más) podem ser detectadas, melhores estimativas podem ser feitas e melhorias reais podem ser conseguidas.

Números permitem análises, comparações e combinações que são impossíveis de fazer com outros tipos de informação.

Page 4: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 4

Conceitos Básicos - Qualidade Característica de Qualidade: um conjunto de

atributos de uma entidade por meio do qual a qualidade da mesma pode ser avaliada.

Atributo: uma propriedade mensurável, física ou abstrata, de uma entidade.

Entidade: o que se deseja avaliar. No contexto da QS, um produto, processo, recurso, projeto etc.

Características de Qualidade Sub-características

Page 5: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 5

Exemplo 1 Entidade a ser avaliada: ferramenta CASE de

modelagem UML (p.ex., Jude) Características de Qualidade:

Funcionalidade (adequabilidade) Usabilidade

Facilidade para o aprendizado Facilidade para a operação Facilidade de compreender

Eficiência Em termos de tempo Em relação à utilização de recursos

Portabilidade Questão: Como medir?

Page 6: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 6

Conceitos Básicos - Medição

Medida Medição Métrica Indicador

Page 7: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 7

Medida e Medição

Medida: número ou categoria atribuído fornece uma indicação quantitativa da extensão, quantidade, dimensão, capacidade ou tamanho de um atributo de uma entidade.

Quando os dados de um único ponto são coletados, uma medida é estabelecida. Ex: Quantidade de erros descobertos em uma revisão.

Medição: é o ato de medir, isto é, de determinar uma medida.

Page 8: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 8

Métrica e Indicador

Métrica: procura correlacionar medidas individuais com o objetivo de se ter uma idéia da eficácia da entidade sendo medida.

Indicador: informação relacionada a uma medida, métrica ou combinação de métricas que pode ser utilizada para se ter uma compreensão da entidade sendo medida.

Page 9: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 9

Exemplo 2 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).

Ao medir essas dimensões, está-se efetuando uma medição.

A métrica “índice de massa corporal (IMC)” é calculada segundo a seguinte fórmula: IMC = P / H2.

A partir dessa métrica, foram estabelecidos indicadores que apontam se um adulto está acima do peso, se está obeso ou abaixo do peso ideal considerado saudável.

Page 10: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 10

Exemplo 2 Indicadores da Organização Mundial de Saúde

Condição IMC em adultos

abaixo do peso abaixo de 18,5

no peso normal entre 18,5 e 25

acima do peso entre 25 e 30

obeso acima de 30

Page 11: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 11

Exemplo 2 Indicadores da National Health and Nutrition

Examination Survey

Condição IMC em Mulheres IMC em Homens

abaixo do peso < 19,1 < 20,7

no peso normal 19,1 - 25,8 20,7 - 26,4

marginalmente acima do peso 25,8 - 27,3 26,4 - 27,8

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

obeso > 32,3 > 31,1

Page 12: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 12

Exemplo 1 Funcionalidade

Adequabilidade Cobertura da funcionalidade implementada - CFI

Quão correta está a implementação funcional? CFI = 1 – NFNI / NFE

NFNI: número de funções ausentes (não implementadas) ou incorretamente implementadas detectado na avaliação

NFE: número de funções descritas na especificação de requisitos

Quanto CFI mais perto de 1.0, melhor. CFI < 0.8, descartar a possibilidade de adoção do

produto.

Page 13: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 13

Medição e Estimativas Base importante para estimativas: dados

históricos. Mas só é possível chegar a boas estimativas com

base em dados históricos se os dados forem coletados criteriosamente.

Portanto, quando se pretende utilizar dados de projetos anteriores para estimar, dados de métricas são muito importantes.

Page 14: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 14

Medição e Acompanhamento de Projetos

Para acompanhar o andamento do projeto, é preciso medir o progresso e comparar com o estimado.

Medidas coletadas dão visibilidade ao estado do projeto, permitindo verificar se o rumo está correto e fornecendo a base para a tomada de ações corretivas, quando necessário.

Métricas têm um importante papel na rápida identificação e correção de problemas ao longo do desenvolvimento do projeto. Com a sua utilização, fica muito mais fácil justificar e defender as decisões tomadas.

Page 15: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 15

Medição e Qualidade A única maneira de avaliar e melhorar a

qualidade de uma entidade é medir atributos específicos dessa entidade, obter um conjunto de métricas significativas baseadas nesses atributos e usar os valores das métricas para fornecer indicadores que nortearão um processo de melhoria.

Page 16: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 16

Medição e Avaliação da Qualidade

Definir características de qualidade relevantes para avaliar a qualidade da entidade em questão.

Para cada característica de qualidade selecionada, definir sub-características de qualidade relevantes que tenham influência sobre a mesma, estabelecendo uma maneira de computar a característica a partir das sub-características.

Usar procedimento análogo ao anterior para as sub-características não passíveis de mensuração direta.

Para as sub-características diretamente mensuráveis, selecionar métricas, coletar medidas e computar as métricas segundo a fórmula estabelecida.

Fazer o caminho inverso, computando sub-características não diretamente mensuráveis, até se chegar a um valor para a característica de qualidade.

Comparar os valores obtidos com padrões estabelecidos para a organização, de modo a se obter os indicadores da qualidade. A partir dos indicadores, ações devem ser tomadas visando à melhoria.

Page 17: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 17

Medição e Melhoria de Processos Coletar dados que meçam o desempenho de

cada processo. Analisar o desempenho de cada processo. Reter e utilizar os dados para:

Avaliar a estabilidade e a capacidade do processo; Interpretar os resultados das observações e análises; Traçar tendências; Identificar oportunidades de melhorias

Ex.: Processo de Engenharia de Requisitos.

Page 18: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 18

Problemas Relacionados à Medição

Procedimentos de Coleta de Dados: todo trabalho de avaliação é colocado em risco se não puder garantir-se a obtenção de dados confiáveis.

Influência de Usuários, hardware etc. Que métricas coletar?

Page 19: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 19

Tipos de Métricas de Software Métricas de projeto Métricas de produto Métricas de processo: coletadas ao longo de

todos os projetos. Métricas de qualidade: ex.: métricas

relacionadas a defeitos

Normalização de Métricas:Medidas de Tamanho / Função

Page 20: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 20

Definição de Métricas: Método GQM

GQM - Goal-Question-Metric (Objetivo-Questão-Métrica.

Passos: Listar os objetivos da organização ou projeto. A partir de cada objetivo, derivar questões que devem

ser respondidas para determinar se os objetivos foram atingidos.

Decidir o que deve ser medido, de forma a ser capaz de responder às questões de forma apropriada.

Page 21: Medição e Métricas de Software Ricardo de Almeida Falbo Tópicos Especiais – Qualidade de Software 2007/1 Departamento de Informática Universidade Federal

Tópicos Especiais - Qualidade de Software 2007/1 21

GQM - Exemplo Objetivo: Melhorar a qualidade dos processos de

verificação e validação. Questões:

Qual a quantidade de erros encontrados na revisão dos artefatos?

Qual a quantidade de erros encontrados nos testes? Qual a quantidade de erros detectados quando o

sistema já está em operação? Métricas:

Defeitos encontrados nas revisões / PF Defeitos encontrados nos testes / PF Defeitos encontrados na operação / PF