Métrica de software
De Wikipedia, a enciclopédia encyclopedia
Métricas de software são parâmetros para a medição do desempenho de um software. Uma métrica é um padrão de medida do grau em que um sistema ou processo de software é dotado de uma dada propriedade.[1][2]
Ainda que uma métrica não seja uma medida (as métricas são funções, enquanto as medidas são os números obtidos pela aplicação da métrica), muitas vezes os dois termos são usados como sinônimos. Dado que as medições quantitativas são essenciais em todas as ciências, há um esforço contínuo dos profissionais e teóricos da ciência da computação para adotar abordagens similares no desenvolvimento de software. A meta é obter medições objetivas, reprodutíveis e quantificáveis, que podem ter inúmeras aplicações valiosas no planejamento de cronograma e orçamento, na estimativa de custos, em quality assurance, testes, depuração de software, otimização do desempenho do software e do pessoal envolvido nas tarefas.
Tais métricas, no processo de engenharia de software, podem ser diretas ou indiretas. As diretas são o custo e o esforço aplicado 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. E a engenharia de software está longe de desenvolver uma métrica-padrão amplamente aceita e cuja aplicação e resultados não sejam afetados por fatores subjetivos. Frequentemente há divergências sobre o que medir e como avaliar o resultado das medições.
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.
Métricas de software possibilitam realizar uma das atividades mais fundamentais do processo de gerenciamento de projetos: o planejamento, a partir do qual podem-se identificar a quantidade de esforço, o custo e as atividades necessárias para a realização do projeto.