Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
software
Manuel Serrano, Mario Piattini, Coral Calero, Marcela Genero, David Miranda
Grupo ALARCOS
Universidad de Castilla La Mancha
{manuel.serrano, marcela.genero, mario.piattini, coral.calero, david.miranda}@uclm.es
Resumen
Existe un gran nmero de medidas para capturar atributos de los procesos y
productos software. Tradicionalmente estas medidas se han realizado
confiando en la sabidura de los expertos, y si bien esta experiencia es
importante, puede no ser suficiente. En la actualidad muchas de las mtricas
propuestas han fracasado, debido generalmente a que carecan de atributos
necesarios para ser vlidas y tiles para el propsito para el que fueron
creadas. La creacin de una mtrica debe seguir un proceso metodolgico
que permita obtener mtricas adecuadas a nuestros propsitos. En el presente
trabajo se presenta un mtodo de creacin de mtricas de software compuesto
por cinco etapas principales y que intenta integrar todos los aspectos que
deben tenerse en cuenta en el proceso y que pretende evitar los problemas
asociados a la creacin de las mtricas.
Palabras Clave: Mtodos de Creacin de Mtricas Software, Mtricas
Software.
1 Introduccin
Existe un gran nmero de medidas para capturar atributos de los procesos y
productos software. Tradicionalmente estas medidas se han realizado confiando en
la sabidura de los expertos, y si bien esta experiencia es importante, puede no ser
suficiente. Esta situacin ha conducido frecuentemente a cierto grado de
imprecisin en las definiciones, propiedades y suposiciones de las medidas,
haciendo que el uso de las mtricas sea difcil, la interpretacin peligrosa y los
resultados de varios estudios de validacin contradictorios.
En la actualidad muchas de las mtricas propuestas han fracasado, debido
generalmente a que carecan de atributos necesarios para ser vlidas y tiles para el
propsito para el que fueron creadas. La creacin de una mtrica debe seguir un
proceso metodolgico que permita obtener mtricas adecuadas a nuestros
propsitos.
Desde los aos setenta han aparecido un gran nmero de medidas para capturar
atributos del software de una forma cuantitativa. Sin embargo, muy pocas han
sobrevivido con xito la fase de definicin y han resultado tiles. Esto se debe a
mltiples problemas relativos a la validez terica y emprica de muchas medidas,
algunos los cuales se detallan a continuacin [5]:
En [6] se afirma que las mtricas son un buen medio para entender, monitorizar,
controlar, predecir y probar el desarrollo software y los proyectos de
mantenimiento. Adems tal y como seal Pfleeger [12] las mtricas pueden ser
utilizadas por que los profesionales e investigadores para tomar las mejores
decisiones. Es evidente que si queremos alcanzar todos estos objetivos debemos
evitar, en la medida de lo posible, todos los problemas sealados.
Este artculo presenta un mtodo de trabajo para definir mtricas software de una
manera estructurada, y vlidas tericamente y tiles en la prctica. En la siguiente
seccin se introduce el mtodo de trabajo a nivel general, mientras que una
descripcin detallada de cada una de las etapas se expone en la seccin 3. En el
ltimo apartado se exponen las conclusiones.
2 Mtodo de trabajo
La definicin de las mtricas debe basarse en objetivos de medida claros y
siguiendo las necesidades de la organizacin. Aunque en la literatura relativa a las
mtricas software se comenta la necesidad de la validacin, no existen propuestas
que integren todos los aspectos que es necesario tener en cuenta en dicha
validacin. Teniendo en cuenta todas las consideraciones expuestas, en la figura 1
se propone un proceso de definicin de mtricas, de manera que se puedan
conseguir mtricas vlidas y tiles para productos software. Este proceso est
basado en el mtodo utilizado por Calero et al. [7] y el mtodo MMLC (Measure
Model Life Cycle) [8].
Aceptacin: Una vez obtenida una mtrica vlida, suele ser necesario
pasar por una etapa de aceptacin de la mtrica en la que se harn pruebas
en entornos reales, de manera que podamos comprobar si la mtrica
cumple los objetivos deseados dentro del campo de aplicacin real.
3.1 Identificacin
En esta etapa se pretende identificar los objetivos de la medida y las hiptesis en
las que nos basamos para crear las mtricas. Los objetivos indican lo que se
pretende conseguir con la utilizacin del proceso de medida y representan la razn
por la que se llevar el proceso de medida (el porqu). Las hiptesis son la forma
en la que se pretende llevar a cabo la medida (el cmo), identificando la
informacin que se debe manejar para conseguir alcanzar los objetivos deseados.
Este proceso suele estar basado en la experiencia y el conocimiento de los expertos
y puede utilizar mecanismos basados en GQM (Goal-Question-Metric) [2][3][17].
Mtrica Retirada
Reutilizacin
IDENTIFICACIN
OBJETIVOS
HIPTESIS
ACREDITACIN
Objetivos
Requisitos
Realimentacin
CREACIN
Objetivos
DEFINICIN DE MTRICAS
APLICACIN
Mtricas Aceptadas
Mtricas No
Aceptadas
ACEPTACIN
VALIDACIN EMPRICA
VALIDACIN
TERICA
EXPERIMENTOS
CASOS DE
ESTUDIO
ENCUESTAS
EXPLICACIN PSICOLGICA
Mtricas Vlidas
Como resultado de esta fase se deben obtener los requisitos que debe cumplir la
mtrica, los cuales sern utilizados en la etapa de creacin. Adems, como se
observa en la figura, los objetivos sern utilizados en las etapas de aceptacin,
aplicacin y acreditacin.
3.2 Creacin
El proceso de creacin es aquel en el que a partir de los requisitos obtenidos en la
etapa de identificacin se crear una mtrica vlida, lista para ser aplicada en
entornos reales. Como se puede observar en la figura 1, el proceso de creacin de
las mtricas es evolutivo e iterativo y se subdivide en varias etapas intermedias.
Como resultado de la retroalimentacin, las mtricas deben ser redefinidas de
acuerdo a las validaciones, tericas o empricas, fallidas.
Al final de la etapa de creacin, las mtricas se considerarn vlidas y aquellas que
no sean vlidas, sern descartadas.
3.2.1. Definicin
Es el primer paso de esta fase que debe realizarse considerando las caractersticas
del producto que vamos a medir y la experiencia de los profesionales. Es
Experimentos
Casos de estudio
Nivel de control
Alto
Bajo
Dificultad de controlar
Baja
Alta
Nivel de rplica
Alto
Bajo
Coste de replicar
Bajo
Alto
Experimentos
esta manera, las teoras como ACT (Adaptative Control of Thought) [1] pueden
justificar la influencia de ciertas mtricas en la comprensin de los sistemas.
3.3 Aceptacin
Suele ser necesaria la existencia de una fase de pruebas en laboratorio en la que se
realice una experimentacin sistemtica en entornos reales y con usuarios reales
para verificar si cumple los objetivos buscados dentro de un entorno de trabajo real
(Esta etapa se diferencia de los casos de estudio en que en stos ltimos no se suele
trabajar en el entorno final de aplicacin). En definitiva intenta encontrar si las
mtricas vlidas que se consiguieron al final de la fase de creacin son
aceptables en entornos de aplicacin reales, teniendo en cuenta los objetivos
obtenidos en la etapa de identificacin.
Esta etapa debe ser realizada con proyectos no crticos y con riesgos controlados.
Idealmente debera usarse en proyectos piloto de manera que el fracaso de
aceptacin de la mtrica no suponga un fracaso en un proyecto importante.
Si conseguimos demostrar que la mtrica sigue cumpliendo los objetivos,
estaremos en disposicin de pasar a la etapa de aplicacin, si no es as, deberemos
volver a la etapa de creacin.
3.4 Aplicacin
En esta etapa utilizaremos la mtrica ya aceptada en el entorno real. Esta fase
discurrir en paralelo con la fase de acreditacin.
3.5 Acreditacin
Esta ltima fase del proceso es una etapa dinmica que persigue el aseguramiento
de la mtrica y la mejora continua de la misma, en funcin de cmo evoluciona el
entorno de aplicacin, de manera que podamos seguir cumpliendo los objetivos que
se perseguan al principio del mtodo.
En ocasiones el entorno puede variar tanto (por ejemplo, pasar de un entorno
estructurado a uno orientado a objeto) que la mtrica no sea aplicable, en este caso,
la mtrica debera ser descartada y el conocimiento adquirido durante su tiempo de
vida debera realimentarse a la etapa de identificacin de manera que podamos
crear una mtrica adecuada para el nuevo entorno cumpliendo los objetivos
perseguidos. Adems al utilizar la experiencia de la utilizacin de la mtrica
descartada, tendremos ms probabilidades de formular hiptesis correctas en la
etapa de identificacin.
4 Conclusiones
La medida en la ingeniera del software es un elemento crucial que ayuda de gran
manera en la mayora de las etapas del ciclo de vida de un producto software.
ltimamente estn apareciendo una gran cantidad de mtricas, pero no suelen tener
el xito esperado. Esta falta de xito suele deberse a que slo se basan en el
conocimiento de los expertos en el tema, pero no suelen seguir un mtodo de
creacin adecuado y sistemtico.
En este artculo se ha propuesto un mtodo para la definicin de mtricas vlidas,
que abarca desde la etapa de identificacin de objetivos de medida hasta la etapa de
retirada de la mtrica. En este mtodo se incluyen diversas tcnicas de validacin
tanto terica como emprica, as como casos de prueba en entornos reales, que
pretenden que la mtrica definida sea til y adecuada.
El mtodo propuesto est siendo utilizado en diversos entornos, el ms avanzado
de los cuales se encuentra en la etapa de aceptacin.
Agradecimientos
Esta investigacin es parte del proyecto CALDEA (TIC 2000-0024-P4-02)
financiado por la Subdireccin General de Proyectos de Investigacin, Ministerio
de Ciencia y Tecnologa.
Bibliografa
[1] Anderson, J.R. (1983). The Architecture of Cognition. Cambridge. MA: Harvard
Universitiy Press.
[2] Basili V. y Rombach H. (1988). The TAME project: towards improvement-oriented
software environments. IEEE Transactions on Software Engineering, 14(6), 728-738
[3] Basili V. y Weiss D. (1984). A Methodology for Collecting Valid Software
Engineering Data, IEEE Transactions on Software Engineering, 10, 728-738.
[4] Basili, V.R., Shull, F. y Lanubille, F. (1999). Building Knowledge through families of
experiments. IEEE Transactions on Software Engineering. July/August. No. 4. pp. 456473
[5] Briand L., Arisholm S., Counsell F., Houdek F. and Thvenod-Fosse P. (1999).
Empirical Studies of Object-Oriented Artifacts, Methods, and Processes: State of the
Art and Future Directions. Empirical Software Engineering, 4(4), 387-404.
[6] Briand, L.C., Morasca, S. y Basili, V. (1996). Property-based software engineering
measurement. IEEE Transactions on Software Engineering. 22(1). pp.68-85.
[7] Calero, C., Piattini, M. y Genero, M. (2001). Method for obtaining correct metrics.
Proc. of the 3rd International Conference on Enterprise and Information Systems
(ICEIS`2001), 779-784