Para avaliar a qualidade de um artefato/produto, uma das estratégias mais comuns consiste na utilização de medidas. Diferentes definições de medição de software podem ser encontradas na literatura. A seguir, algumas dessas definições são apresentadas:
“Medição de software é uma avaliação quantitativa de qualquer aspecto dos pro- cessos e produtos da Engenharia de Software, que permite seu melhor entendimento e, com isso, auxilia o planejamento, controle e melhoria do que se produz e de como é produzido (BASS; CLEMENTS, 1999).”
“Medição de software é o processo contínuo de definição, coleta e análise de dados sobre o desenvolvimento de software e de seus produtos, a fim de compreende- los e controlá-los, afim de fornecer informações significativas de forma a melhorar tanto o processo de desenvolvimento de software quanto os seus produtos (SOLIN- GEN et al., 2002).”
“A medição é definida como o processo pelo qual os números ou símbolos são atribuídos aos atributos de entidades em mundo real, de tal forma que pode- se descrevê-los de acordo com regras claramente definidas (FENTON; BIEMAN, 2014).”
Terminologias, conceitos, procedimentos e métodos de medição de software vêm sendo definidos na última década. Porém, não há consenso quanto a conceitos e terminologias,
havendo duplicidades e inconsistências nas propostas encontradas na literatura, inclusive nos termos mais comuns da área, tais como medida, métrica e medição (GARCÍA et al., 2006).
Kitchenham et al. (1995) apresentam um modelo estrutural para medição de software que permite descrever os objetos envolvidos na medição e seus relacionamentos como:
• Entidades: são os objetos observados no mundo real, que são capturados em suas caracte- rísticas e manipulados formalmente, por exemplo, produtos e processos;
• Atributos: são propriedades que as entidades possuem. Para um dado atributo, há um relacionamento de interesse no mundo empírico, que, formalmente, se quer apreender no mundo matemático; e
• Relacionamento entre entidades e atributos: uma entidade pode ter vários atributos, enquanto que um atributo pode qualificar diferentes entidades.
García et al. (2006) desenvolveram uma ontologia para medição de software de- nominada Software Measurement Ontology (SMO) (Software Measurement Ontology). Nesta ontologia, os autores apresentam alguns conceitos que são comuns à medição, tais como:
• Atributo: propriedade física ou abstrata mensurável de uma entidade, que é compartilhado por todas as entidades de uma classe de entidade. Onde entidade é um objeto que está sendo caracterizado pela medição de seus atributos e classe de entidades é uma coleção de todas as entidades semelhantes;
• Modelo de qualidade: conjunto de conceitos mensuráveis e as relações entre eles que fornecem a base para a especificação de requisitos de qualidade e avaliação da qualidade das entidades de determinada classe de entidade;
• Medida: quantificação de atributos de entidades. A abordagem de medição é definida e a escala de medição. A abordagem de medição é o método da medida, uma função de medição ou um modelo de análise;
• Escala: indica os valores que podem ser atribuídos a uma medida;
• Medida Base: uma medida de um atributo que não depende de qualquer outra medida; • Medida Derivada: uma medida que é derivada de outra medida base ou derivada, utili-
zando uma função de medição;
• Indicador: medida utilizada para analisar o alcance a objetivos;
• Medição: ação de medir, ou seja, de atribuir um valor a uma medida, executando seu procedimento de medição; e
por meio de uma medição.
Barcellos (BARCELLOS, 2009; ROCHA et al., 2012) desenvolveu outra ontologia de medição que complementa os conceitos apresentados por García et al. (2006). Os conceitos de medição complementares são:
• Elemento Mensurável: propriedade de uma entidade que pode ser quantificada;
• Entidade Mensurável: entidade que pode ser caracterizada pela quantificação dos seus atributos;
• Unidade de Medida: unidade por meio do qual uma medida pode ser expressa; • Escala: indica os valores que podem ser atribuídos a uma medida;
• Procedimento de Medição: procedimento que descreve como a coleta da medida deve ser realizada;
• Procedimento de Análise de Medição: procedimento que descreve como os dados cole- tados para a medida devem ser apresentados e analisados;
• Definição Operacional da Medida: detalhamento associado a uma medida que fornece informações sobre sua coleta e análise. Os detalhes da definição operacional de uma medida estão dispostos na Seção 3.4; e
• Análise de Medição: ação de analisar os dados para uma medida, executando seu proce- dimento de análise.
Tendo como base essa terminologia, Bush e Fenton (BUSH; FENTON, 1990) clas- sificam as entidades da engenharia de software, que são passíveis de medição, em três grupos distintos:
• Processos: que são todas as atividades (com um fator tempo); • Produtos: que são quaisquer artefatos que surgem dos processos; e
• Recursos: que são os itens usados por processos, excluindo produtos de outros processos. Segundo Fenton e Melton (1990), os atributos das medidas podem ser internos ou externos:
• Atributos internos: podem ser medidos em termos meramente de produto, processo ou recurso em si; e
• Atributos externos: são aqueles que só podem ser medidos em relação à forma como o produto, processo ou recurso se relaciona com outras entidades no seu ambiente.
Fenton e Melton (1990) ainda indicam que existem dois tipos de medidas:
outro atributo; e item Medida indireta de um atributo: envolve a medição de um ou mais outros atributos.
Kan (2002) define níveis de medição que podem ser:
• Escala nominal: os dados são identificados apenas pela atribuição de um nome que repre- senta uma categoria. Qualquer dado pertence a uma categoria, estas devem ser exaustivas, mutuamente exclusivas (cada dado pertence a uma só categoria) e não ordenáveis (não é estabelecida preferência de uma classe em relação a outra). Por exemplo, se o atributo de interesse é religião, então valores que este atributo pode assumir seriam: Católico, evangélico, Judeu, Budista, dentre outros;
• Escala ordinal: ordena as entidades segundo um critério definido. Nesta escala, as afirmações do tipo “maior do que...” podem ser realizadas;
• Escala intervalo: ordena os valores da mesma forma que a escala ordinal, mas acrescenta a noção de distância relativa entre as entidades. As operações matemáticas de adição e subtração podem ser aplicadas aos valores na escala de intervalo.