# Metamodelo de métricas de software

La especificación OMG Structured Metrics Metamodel (SMM) (o Metamodelo de Métricas Estructuradas) define un metamodelo de métricas estándar. Es una especificación del Object Management Group (OMG) disponible públicamente. SMM especifica un metamodelo para definir, representar e intercambiar tanto medidas como información de medición relacionada con cualquier modelo de información estructurada, como el estándar OMG Meta Object Facility (MOF™), que define un formato de intercambio XMI entre herramientas de extracción de métricas. Se utiliza para mantener métricas mediante una serie de otras especificaciones de OMG, como el Metamodelo de descubrimiento de conocimiento y el Metamodelo de entrega de valor.

## Conceptos clave

El estándar SMM incluye elementos que representan los conceptos útiles para expresar una amplia gama de medidas diversificadas:
* Las medidas denotan las definiciones reutilizables de cómo se calculan las medidas.
* Las mediciones son el resultado de aplicar medidas, a través de observaciones.
* Las librerías mantienen medidas y su información relacionada, como características y unidades de medida, lo que permite su reutilización en diferentes contextos.

## Medidas

SMM especifica la representación de medidas sin detallar la representación de las entidades medidas.
SMM define representaciones para:
* Medidas directas que se toman directamente contra un mensurando. Los ejemplos incluyen recuentos y medidas nombradas como la complejidad ciclomática de McCabe o el producto interno bruto. Los valores se pueden importar o consultar mediante operaciones SMM.
* Medidas agregadas que se calculan a partir de medidas base en características de un mensurando. Las operaciones SMM especifican la recuperación de la función. Los totales de votos, los volúmenes y las ganancias netas se pueden definir como medidas agregadas.
* Transmutación de medidas que reescalan, califican o clasifican las medidas básicas de un mensurando. Fahrenheit a Celsius es un cambio de escala; las tallas de ropa de pequeño, mediano y grande son grados; y las unidades de satisfacción del cliente derivadas del tiempo de entrega es una clasificación.

## Medición

El proceso de extracción de métricas requiere una herramienta SMM para aplicar las medidas a un alcance de observación que contiene uno o más modelos. Esta herramienta producirá un grafo que contiene medidas, que se asigna al grafo de medidas. En este grafo, cada nodo corresponde al resultado de una medida en un mensurando. Por lo tanto, las medidas se asignan a 0 o más medidas donde 0 indica que no se encontraron mensurandos correspondientes al alcance de la medida.
Alternativamente, si las métricas están completamente especificadas como modelo, se puede generar la herramienta de medición.

## Observaciones

El SMM permite almacenar múltiples gráficos de medición. Siempre que se produce un gráfico de medición, se asocia a una observación que está fechada y etiquetada con información que describe la herramienta utilizada para extraer las métricas. Las observaciones existen para pasar a herramientas de informes de métricas que pueden proporcionar funciones adicionales como visualización y control estadístico.