Abstract— Currently, in order to obtain high quality software products it is necessary to carry out a good software processes management in which measurement is a fundamental factor. Due to the great diversity of entities involved in software measurement, a consistent framework to integrate the different entities in the measurement process is required. In this paper the Software Measurement Framework (SMF) is presented, which supports the measurement of any type of software entity through the metamodels which depict them. In this framework, any software entity in any domain could be measured with a common Software Measurement metamodel and by means of QVT transformations. This work explains the three fundamental elements of the Software Measurement Framework (conceptual architecture, technological aspects and method). These elements have all been adapted to the MDE paradigm and to MDA technology, taking advantage of their benefits within the field of software measurement. Furthermore an example which illustrates the framework’s application to a concrete domain is furthermore shown. Keywords— Measurement, MDA. I. INTRODUCCIÓN A actual necesidad de la industria del software por mejorar su competitividad fuerza a la búsqueda de la mejora continua de sus procesos. Para conseguirlo, es necesaria una gestión exitosa de dichos procesos [1], lo que implica su correcta definición, ejecución, medición, control y mejora. Entre estas fases del ciclo de vida de los procesos destaca la medición, que ayuda a controlar los errores y carencias dentro del desarrollo y mantenimiento del software facilitando la toma de decisiones. De hecho, la medición se ha convertido en un aspecto fundamental de la Ingeniería del Software [2]. Este trabajo ha sido parcialmente financiado por los proyectos INGENIO (Universidad Pólitecnica de Valencia, PAC08-0154-9262), ESFINGE (Ministerio de Educación y Ciencia, TIN2006-15175-C05-05) y META (Ministerio de Educación y Ciencia, TIN2006-15175-C05-01). B. Mora, F. García, F. Ruiz, M. Piattini, pertenecen al Grupo Alarcos. Escuela Superior de Informática. Universidad Castilla-La Mancha. Paseo de la Universidad 4, Ciudad Real, España. (e-mail: {Beatriz.Mora, Felix.Garcia, Francisco.Ruizg, Mario.Piattini}@uclm.es, web: http://alarcos.inf-cr.uclm.es/) A. Boronat pertenece a la Universidad de Leicester, en Reino Unido. (e- mail: boronat@mcs.le.ac.uk) A. Gómez, J. Á. Carsí, I. Ramos, pertenecen al Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia (e-mail: { agomez, pcarsi, iramos}@dsic.upv.es, web: http://issi.dsic.upv.es/) Los procesos software constituyen la base a partir de la cual se realiza el trabajo dentro de una organización software. Dichos procesos se aplican en la práctica en forma de proyectos. Como resultado de la ejecución de proyectos concretos se obtienen productos. Por lo tanto, para facilitar y promover la mejora continua de sus procesos, las empresas requieren llevar a cabo la medición del software de manera efectiva y consistente. Esto implica la necesidad de una disciplina para la medición y análisis de datos [3] y la definición, recopilación y análisis de medidas sobre el propio proceso, los proyectos y los productos software. La gran variedad de tipos de entidades y atributos que son candidatos para la medición motiva la necesidad de disponer de modelos de medición homogéneos, que puedan gestionarse por las empresas de la misma forma, independientemente de cual sea la entidad a medir. Esto implica la necesidad de una referencia consistente y adecuada para la definición de sus modelos de medición del software así como el soporte tecnológico necesario para integrar la medición de los diferentes tipos de entidades. Con el fin de satisfacer las necesidades expuestas, es muy útil considerar el paradigma MDE (Model-Driven Engineering) [4], de especial importancia en la actualidad. La filosofía de este enfoque consiste en que el desarrollo de software es dirigido por los modelos, siendo éstos los principales artefactos de los procesos de Ingeniería del Software. La arquitectura MDA (Model Driven Architecture) [5] y sus estándares relacionados (MOF [6], QVT [7], OCL [8] y XMI [9]) proporcionan la base conceptual y tecnológica necesaria para llevar a cabo las ideas de dicho paradigma. De acuerdo al estándar QVT, el proceso de desarrollo del software se puede considerar como una serie de transformaciones de modelos, a partir de un nivel de abstracción alto hasta un nivel más específico. En el nivel más abstracto se pueden ver los requisitos, y en el nivel más específico estaría el código que implementa la aplicación. En conclusión, la principal importancia a la formalización de los modelos y las transformaciones entre ellos es que facilita la automatización del proceso de desarrollo de software. El campo de la medición software puede beneficiarse de la nueva filosofía MDE, proporcionando la integración y el soporte necesario a la automatización de la medición de las diversas entidades del proceso software. Esto implica: la definición de modelos de medición de manera homogénea y consistente a partir de un metamodelo adecuado; la definición de medidas genéricas que puedan aplicarse a cualquier B. Mora, F. García, F. Ruiz, M. Piattini, A. Boronat, A. Gómez, J. Á. Carsí, I. Ramos. JISBD2007-08: Software generic measurement framework based on MDA L IEEE LATIN AMERICA TRANSACTIONS, VOL. 6, NO. 4, AUG. 2008 363