Métricas

A medição é algo comum no mundo da engenharia.

A engenharia de software está longe de desenvolver uma medição padrão amplamente aceita e com resultados sem fatores subjetivos. Há discordâncias sobre o que medir e como avaliar o resultado obtido das medições.

Métricas de softwares possibilitam realizar uma das atividades mais fundamentais do processo de gerenciamento de projetos: o planejamento.

A partir desse, pode-se identificar a quantidade de esforço, de custo e das atividades que serão necessárias para a realização do projeto.

As métricas de software, do ponto de vista de medição, podem ser divididas em duas categorias: medidas diretas e indiretas.

Podemos considerar como medidas diretas do processo de engenharia de software o custo e o esforço aplicados ao desenvolvimento e manutenção do software e do produto, a quantidade de linhas de código produzidas e o total de defeitos registrados durante um determinado período de tempo. Porém, a qualidade e a funcionalidade do software, ou a sua capacidade de manutenção, são mais difíceis de serem avaliadas e só podem ser medidas de forma indireta.

Também podemos dividir as métricas de software, sob o ponto de vista de aplicação, em duas categorias: métricas de produtividade e de qualidade.

As métricas de produtividade concentram-se na saída do processo de engenharia de software.

As métricas de qualidade indicam o quanto o software atende aos requisitos definidos pelo usuário.

  • Medidas Diretas
  • Custo
  • Esforço
  • Linhas de Código
  • Velocidade de Execução
  • Memória
  • Número de Erros
  • Complexidade ciclomática
  • Medidas Indiretas
  • Funcionalidade
  • Qualidade
  • Complexidade
  • Eficiência
  • Confiabilidade
  • Manutenibilidade

Para uma melhor compreensão sobre medidas de softwares, precisamos entender algumas informações:

Medida

uma indicação quantitativa da extensão, quantidade, dimensão, capacidade ou tamanho do produto ou do processo.

Medição

ato de determinação de uma medida.

Indicador

É uma métrica ou a combinação delas, que fornece compreensão do processo de software, de um projeto ou do produto

As medições de software podem ser organizadas em outras classes, as quais serão definidas a seguir:

Métricas da produtividade, baseadas na saída do processo de desenvolvimento do software com o objetivo de avaliar o próprio processo;

Métricas da qualidade, que permitem indicar o nível de resposta do software às exigências explícitas e implícitas do cliente, com relação ao definido pela gerência de qualidade;

Métricas técnicas, nas quais encaixam-se aspectos como funcionalidade, modularidade, manutenibilidade, etc…

Sob uma outra ótica, é possível definir uma nova classificação das medições:

Métricas orientadas ao tamanho, baseadas nas medições diretas da Engenharia de Software;

Métricas orientadas à função, que oferecem medidas indiretas; Métricas orientadas às pessoas, as quais dão indicações sobre a forma como as pessoas desenvolvem os programas de computador.

Métricas Orientadas ao Tamanho

A medida de software mais familiar é a contagem de linhas de código.

Esta métrica pode parecer simples, mas existe discordância sobre o que constitui uma linha de código.

A medida de linhas de código não deveria contar linhas de comentário e linhas em branco, pois não afeta a sua funcionalidade. Está fortemente ligado à linguagem de programação utilizada, impossibilitando a utilização de dados históricos para projetos que não utilizam a mesma linguagem.

Um conjunto de métricas de qualidade e produtividade pode ser desenvolvido com esta técnica. Métricas Orientadas à Função Em vez de contar as linhas de código, a métrica orientada à função concentra-se na funcionalidade do software.

Em 1979, Allan Albrecht, introduziu uma técnica de avaliação conhecida como Ponto de Função. Baseada na visão de negócio do usuário;

  • É independente da linguagem utilizada e de qualquer tecnologia em geral;
  • Ela não permite calcular o esforço de desenvolvimento, mas gera uma variável que pode permitir seu cálculo;

Auxilia o usuário final a melhorar o exame e avaliação de projetos.

Seus objetivos são:

  • Medir o que foi requisitado e recebido pelo usuário;
  • Prover uma métrica de medição para apoiar a análise de produtividade e qualidade;
  • Prover uma forma de estimar o tamanho do software;
  • Prover um fator de normalização para comparação de software.
  • Razões para se medir um software Indicar a qualidade do produto;
  • Avaliar a produtividade dos que desenvolvem o produto;
  • Determinar os benefícios derivados de novos métodos e ferramentas de engenharia de software;
  • Formar uma base para as estimativas;
  • Buscar oportunidades por refatoração;
  • Ajudar na justificativa de aquisição de novas ferramentas ou de treinamentos adicionais;

A medição é algo comum no mundo da engenharia. Mas para engenharia de software está longe se ter uma medição padrão amplamente aceita e com resultados sem nenhum fator subjetivo.

Com certeza o aumento de produtividade mais representativo será obtido quando conseguirmos estabelecer uma sistemática de métricas significativa para os resultados do desenvolvimento de software e efetivamente usá-la.

Métricas de engajamento

Métodos para medir como os usuários estão interagindo com páginas e conteúdo da web. Exemplos de métricas de engajamento incluem: