Este documento presenta los principios básicos de la teoría de la medición y su aplicación a la medición de software. Explica que toda medición debe representar adecuadamente los atributos del mundo real mediante asignación de números o símbolos. También describe las diferentes escalas de medición y las propiedades que deben cumplir las medidas para representar atributos como el tamaño y la complejidad de un sistema de software. Finalmente, señala la necesidad de validar medidas existentes y establecer propiedades formales para más atributos de software.
Encuesta que permite indicar el nivel de conocimiento y aplicación de los pri...
Teoria de Medición
1. Teoría de medición
Teoría de la medición
(Luis Fernández Sanz, 30-11-1998)
Presentación
La necesidad de medir es evidente en la mayoría de las actividades técnicas o científicas. Sin
embargo, no interesa sólo contar con medidas sino también saber si dichas medidas son
válidas. Para ello debemos recordar la definición de medición como el quot;proceso por el cual se
asignan números o símbolos a atributos de entidades del mundo real de tal forma que los
describa de acuerdo con reglas claramente definidasquot; [Fenton y Pfleeger, 1997, p. 5]. La
validez de la medición en cualquier disciplina técnica o científica se basa en el respeto a los
principios de la teoría general de la medición (en concreto, nos apoyaremos en la llamada
teoría representacional de la medición). Esta idea es análoga a lo que se hace en
matemáticas (por ejemplo, en geometría) donde se definen una serie de axiomas básicos y, a
partir de ellos, se van estableciendo nuevas conclusiones. El fundamento de la teoría
representacional consiste en que toda medición debe asegurar una adecuada representación
del atributo real medido mediante los símbolos o números asignados. Una representación por
medición de un atributo de una entidad es adecuada si es coherente con la idea conceptual
que sobre dicho atributo es comúnmente aceptada por los expertos.
Así, los datos obtenidos como medidas deben representar los atributos de las entidades
reales que pretendemos caracterizar y el manejo de dichos datos debe preservar las relaciones
que existen entre dichas entidades. Para establecer medidas debemos partir de nuestra
observación del mundo real o dominio. Debemos identificar cuáles son las entidades que
queremos medir (p.ej., código) y definir qué atributo deseamos caracterizar (p.ej., longitud de
código). Además, es importante identificar las relaciones empíricas que se pueden establecer
entre las entidades reales en relación con el atributo que nos interesa. Estas relaciones
pueden ser simples comparaciones que establecen un orden (p.ej., quot;código de programas X
más largo que el del programa Yquot;) o relaciones de otros tipos, ni siquiera binarias (p.ej.,
relación unaria: quot;el código de X es largoquot;). Se puede hablar entonces del dominio como de un
sistema de relaciones empíricas. La medición asigna un valor a cada entidad para
caracterizar su atributo (p.ej., al programa X le asigna un valor de longitud en bytes de 305) y
debe establecer también que relación entre valores se corresponde con cada relación empírica
(p.ej., para la relación de orden quot;código más largo quequot; se puede asignar la relación
numérica ). Lo importante es que la medición que establezcamos no resulte inconsistente con
las relaciones observadas en el mundo real. Así, es necesario que si observamos que el código
de X es más largo que el de Y (según la idea aceptada de longitud de código) se debe
comprobar que el valor de longitud de X (p.ej., 305) es mayor (>) que el asignado a Y (p.ej.,
245).
Hay que señalar que no siempre las ideas sobre los atributos o sobre las relaciones
empíricas están tan claras o no hay un consenso sobre ellas. Podemos comenzar por simples
http://www.sc.ehu.es/jiwdocoj/remis/docs/teoriamedicion.html (1 of 5) [17/09/2007 09:25:29 p.m.]
2. Teoría de medición
valoraciones subjetivas (p.ej., utilizar cuestionarios donde se clasifican u ordenan las opiniones
de los expertos sobre un atributo), que no constituyen medidas desde el punto de vista de la
teoría de la representación pero que pueden ser analizadas para mejorar la comprensión sobre
el mundo real. Es posible que tras acumular datos de este tipo se pueda llegar a definir una
medida formal.
Por otra parte, debemos recordar que se podrían establecer múltiples representaciones
para un mismo sistema de relaciones empíricas. En general, cuantas más relaciones empíricas
estén identificadas, más se restringe la variedad de representaciones posible. Una asignación
que se establece entre mundo real y valores de medida se suele denominar escala de
medición. Podemos presentar cinco tipos principales de escalas de medición:
Nominal: simplemente se clasifica cada entidad (p.ej. código) en grupos (p.ej., lenguaje
●
COBOL, Basic, C, Java, etc.).
Ordinal: se clasifican las entidad en grupos pero estableciendo un orden (p.ej., fallos de
●
software: parada de sistema, mal funcionamiento, leve o cosmético).
De intervalo: establece un orden y además informa sobre que la diferencia existente
●
entre un valor y otro consecutivo en orden es siempre la misma (p.ej., tiempo
empleado: días transcurridos desde el comienzo del proyecto).
De ratio: además de lo dicho para la escala de intervalo, tenemos un cero de referencia
●
(p.ej.: longitud de código: número de líneas de código).
Absoluta: además de lo dicho para la escala de ratio, se mide siempre contando
●
elementos y sólo es posible una representación: la cuenta real de elementos (p.ej., el
número de personas en un proyecto sólo se puede medir contándolas).
Estos tipos están presentados en orden creciente de sofisticación. Cuanto más
sofisticada es una escala, más operaciones o transformaciones permite hacer sobre los valores
obtenidos sin quebrar su validez de representación. Así, una escala nominal sólo permite
renombrar los grupos de clasificación (p.ej. en vez de hablar de Basic podemos usar la
etiqueta BAS pero es absurdo plantearse algo como COBOL + Java = Basic).
Una de las aportaciones más importantes para aplicar la teoría de la representación es la
., 1996] como medición basada en propiedades.
planteada en [Briand et al
En este trabajo, se presentan las relaciones empíricas que pueden observarse en los atributos
longitud, tamaño, complejidad, acoplamiento y cohesión de un sistema (p.ej, una aplicación,
un programa, etc.). Los axiomas presentados son los que deberían preservar las medidas que
pretendan representar estos atributos de un sistema. Una de las ventajas es que esta lista de
condiciones para medir supone un marco de referencia para trabajar cuando se proponen
medidas de software. Además se han discutido en el ámbito de revistas de reconocido
prestigio, lo que permite suponer que reflejan las ideas comúnmente aceptadas sobre dichos
atributos por los expertos. De hecho, trabajos posteriores (p.ej., [Poels y Dedene, 1997] y
[Briand et al ., 1997]) han provocado ligeros cambios en dichas condiciones.
Como ejemplo de las propiedades que se exigen a las medidas de los atributos de software
antes mencionados, podemos citar las siguientes para el tamaño de un sistema (S) compuesto
de elementos (E) y relaciones binarias entre ellos (R):
http://www.sc.ehu.es/jiwdocoj/remis/docs/teoriamedicion.html (2 of 5) [17/09/2007 09:25:29 p.m.]
3. Teoría de medición
No negativo: tamaño (S) ≥ 0.
●
Valor nulo para sistema sin elementos: E = ∅ ⇒ tamaño (S) = 0.
●
Aditividad de módulos m1 y m2: (m1 ⊆ S y m2 ⊆ S y E = Em1 ∪ Em2 y Em1 ∩ Em2 =
●
∅ ) ⇒ tamaño (S) = tamaño (m1) + tamaño (m2)
Tamaño de un sistema compuesto de módulos disjuntos: tamaño (S) = ∑ tamaño
●
(me) / e ∈ E.
Monotonicidad: (S' = <E',R'> y S'' = <E'',R''> y E' ⊆ E'') ⇒ tamaño (S') ≤ tamaño (S'')
●
Tamaño de sistema compuesto de módulos no disjuntos: (m1 ⊆ S y m2 ⊆ S y E = Em1
●
∪ Em2) ⇒ tamaño (S) ≤ tamaño (m1) + tamaño (m2)
Problemática actual
En el apartado anterior se han presentado brevemente los principales aspectos de la teoría de
la medición aplicada al software. A pesar de que pueda parecer que existen suficientes
conocimientos e información sobre este tema, lo cierto es que se observa la necesidad de
avanzar en los siguientes aspectos:
En la actualidad las propuestas de medidas no suelen tener en cuenta su validación
●
teórica. Por ello, es especialmente importante tanto que las nuevas medidas sean
analizadas y validadas desde el punto de vista de la teoría de la medición como que se
realicen estudios sobre si las medidas ya existentes respetan los principios básicos de la
medición.
El trabajo presentado en [Briand et al ., 1996] no cubre todos los posibles
●
atributos que puede interesar medir y sobre los cuales existe un conocimiento
considerable. Por ello, resulta esencial avanzar en el establecimiento de propiedades
formales para cada atributo así como el estudio de otros atributos menos conocidos
para posibilitar en el futuro el establecimiento de métricas válidas.
Referencias del texto
[Briand, Morasca y Basili, 1996] Briand, L.C., Morasca, S. y Basili, V.R., quot;Property-based
●
software engineering measurementquot;, IEEE
Transactions on software
engineering , vol. 22, nº 1, 1996, pp. 68-85.
En esta referencia se presenta las propiedades que deberían cumplir todas las medidas que
pretendan representar los atributos de tamaño, longitud, complejidad, acoplamiento y
http://www.sc.ehu.es/jiwdocoj/remis/docs/teoriamedicion.html (3 of 5) [17/09/2007 09:25:29 p.m.]
4. Teoría de medición
cohesión de un sistema de software. Se define formalmente lo que se entiende como sistema
(conjunto de elementos interrelacionados mediante relaciones binarias). También se describen
formalmente las propiedades asociadas a cada atributo.
[Fenton y Pfleeger, 1997] Fenton, N.E. y Pfleeger, S.L., Software
●
metrics. A rigurous and
practical approach , PWS Pub., 1997.
Es la segunda edición de la obra que en 1991 estableció un marco de trabajo o base teórica
sobre medición de software. En el capítulo 2 se presenta brevemente la teoría
representacional de la medición con la correspondiente adaptación al mundo del software.
Además a lo largo de la obra se evalúan, desde el punto de vista de esta teoría, la mayoría de
las propuestas de medición más conocidas.
[Poels and Dedene, 1997] Poels, G. y Dedene, G.,quot;Comments on «Property-based
●
software engineering measurement»quot;, IEEE Transactions on software engineering, vol.
23, nº , 1997, pp. 190-195.
Esta crítica al artículo de [Briand et al., 1996] supuso una ligera modificación de alguna de las
propiedades que se habían establecido para la medición de ciertos atributos de sistema. De
hecho, los propios autores (en el mismo número de revista que esta referencia) admitieron la
validez de los comentarios realizados si bien matizaron alguna de las críticas realizadas.
Otras referencias
[Krantz et al ., 1997] Krantz, D.H., Luce, R.D., Suppes, P. y Tversky, A.,
●
Foundations of
measurement. Vol I:
Additive and polynomial
representations , Academic Press, 1971.
Es un libro exclusivamente dedicado a la medición en general desde el punto de vista formal y
matemático. No hace referencia en ningún caso a medición de software. Contiene una gran
cantidad de detalles sobre las condiciones matemáticas necesarias para medir en cada una de
las escalas principales: ordinal, intervalo, ratio, ...
[Kitchenham et al ., 1995] Kitchenahm, B., Pfleeger, S.L. y Fenton, N.
●
E.,quot;Towards a framework for software measurement validationquot;, IEEE Transactions on
software engineering, vol. 21, nº 12, 1995, pp. 929-944.
http://www.sc.ehu.es/jiwdocoj/remis/docs/teoriamedicion.html (4 of 5) [17/09/2007 09:25:29 p.m.]
5. Teoría de medición
En este artículos los autores presentan brevemente todo el marco teórico de trabajo para la
medición del software. Comparan las ideas presentadas con contribuciones de otros autores y
argumentan las discrepancias detectadas. Los autores hacen especial énfasis en el análisis de
distintas medidas conocidas y en la presentación de los errores en los que incurren desde el
punto de vista de la teoría de la medición.
[Hitz y Montazeri, 1996] Hitz, M. y Montazeri, B.,quot;Chidambert and Kemerer's metrics
●
suite:a measurement theory perspectivequot;, IEEE Transactions on software engineering,
vol. 22, nº 4, 1996, pp. 267-271.
En este artículo se presenta un análisis del famoso conjunto de métrica para software
orientado a objetos de Chidambert y Kemerer. El criterio escogido para realizar el análisis es el
respeto a la teoría de la medición, si bien no se aplican directamente el análisis de
propiedades propuesto por Briand et al .
http://www.sc.ehu.es/jiwdocoj/remis/docs/teoriamedicion.html (5 of 5) [17/09/2007 09:25:29 p.m.]