210 likes | 324 Views
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. Agenda. Por que medir? Conceitos Básicos Medição e Estimativas Medição e Acompanhamento de Projetos
E N D
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
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 Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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 Tópicos Especiais - Qualidade de Software 2007/1
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? Tópicos Especiais - Qualidade de Software 2007/1
Conceitos Básicos - Medição • Medida • Medição • Métrica • Indicador Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
Exemplo 2 • Indicadores da Organização Mundial de Saúde Tópicos Especiais - Qualidade de Software 2007/1
Exemplo 2 • Indicadores da National Health and Nutrition Examination Survey Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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? Tópicos Especiais - Qualidade de Software 2007/1
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 Tópicos Especiais - Qualidade de Software 2007/1
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. Tópicos Especiais - Qualidade de Software 2007/1
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 Tópicos Especiais - Qualidade de Software 2007/1