É uma medição que se refere a
um software, processo ou
documentação.
Métricas podem ser de controle (Processo) ou de predição (Produto)
Controle: Está relacionado ao processo, são utilizados
para tomadas de decisão sobre alterações no
processo de DSW. ex: esforço médio e tempo
necessário para reparar os defeitos.
Predição: São utilizadas para estimar o esforço
de criação ou alteração de um software e
auxiliam a prever características dele, por
exemplo: complexidade de um módulo
Métricas Estáticas ou Internas: são aquelas coletadas em
representações do sistema como projeto, programa ou documentação
- sem a necessidade da execução do programa. Ajudam a mensurar a
complexidade e a facilidade de compreensão e manutenção de um
sistema de SW.
Avaliam a complexidade
Permitem medir a qualidade dos
artefatos intermediários e prever a
qualidade do produto final.
Métricas Dinâmicas ou Externas: São aquelas coletadas durante a
execução de programa, a partir do comportamento do sistema ou
do seu efeito. Elas ajudam a avaliar a eficiência e a confiabilidade
de um programa e quase sempre estão relacionadas com
atributos da qualidade de software.
Avaliam a Confiabilidade
Qualidade
Métricas Diretas: São conhecidas como básicas,
quantitativas e primitivas. Não dependem de
outra medição. ex: custo/esforço do
desenvolvimento, linhas de código, velocidade de
execução, quantidade de memória, número de
erros, quantidade de defeitos.
Quantitativas: Linhas de
código, número de erro.
É impossÌvel medir os atributos de
qualidade de software diretamente.
Pois os atributos de qualidade são
externos (Dinámicos e Indiretos)
que se relacionam.
Indiretas: Qualitativas ou derivadas.
Dependem de uma medida de um
atributo. ex: produtividade,
qualidade técnicas (funcionalidade,
complexidade, eficiência,
confiabilidade, manutenibilidade,
modularidade, portabilidade).
Mais importante: Qualitativas
Orientada a tamanho: Baseadas no no LOC (line of
codes). Número de linhas de código.
Orientadas a função: Baseada na funcionalidade do Sistema.
Orientada a pessoas: Indica a forma como as pessoas devem
desenvolver programas de computador.
Objetivas: Independe do autor da medição ou
julgamento humano. ex: quantidade de defeitos.
Parecida com a
'Direta'.
Subjetivas: Dependem do autor da
medição ou julgamento humano. ex:
classificar criticidade de um defeito.
Mais importante: Parecida com a 'Indireta'.
Qualidade: indicam o quanto o
software atende aos requisitos
definidos pelo usuário.
Existem muitas classificacões para métricas. Uma
delas organiza as classes em MÈtricas de
Produtividade (resultado do processo de
desenvolvimento), Qualidade (NÌvel de
ExigÍncia/SatisfaÁ„o) ou TÈcnicas (Funcionalidade,
Manutenibilidade, Modularidade, etc).
Métricas de Predição: complexidade ciclomática de um módulo;
comprimento médio de identificadores ; número de atributos e
operações associadas com objetos; Números de mensagens de
erro
Processo de Métricas de SOFTWARE:
Segundo Pressman:
Formulação: a criação de medidas e métricas de software apropriadas para a representação do
software a ser considerado.
Coleção: o mecanismo usado para acumular dados necessários para criar as métricas formuladas.
Análise: a computação das métricas e a aplicação de ferramentas matemáticas.
Interpretação: a avaliação de métricas que resultam em informação sobre a qualidade
da representação
Feedback: recomendação derivadas da interpretação de métricas de produto transmitidas para a
equipe de software."
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
adequa à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