Medición del Mantenimiento en el Desarrollo Software Dirigido por Modelos


La adopción del Desarrollo Software Dirigido por Modelos (DSDM)[9] en la industria va en aumento[1]. Los últimos estudios  [2] realizados sobre el impacto del  DSDM en la industria reflejan la mejora en la productividad y mantenimiento en los proyectos SW (ver Figura 1).

Figura 1. Impacto del DSDM en la productividad y mantenimiento de la  generación de código [2]

El mantenimiento es uno de los factores de mayor coste en el desarrollo de software. La mantenibilidad de un sistema hace referencia a su facilidad para modificarse o extenderse. Los modelos de calidad de software y sus métricas permiten comparar diferentes soluciones SW con el objetivo de analizar y mejorar  la productividad y mantenimiento del SW creado. El modelo de calidad ISO 9126[3] establece el  análisis, la  facilidad para implementar los cambios  , la estabilidad y  la verificabilidad como los atributos clave a la hora de evaluar el mantenimiento de un sistema.  El coste de mantenimiento se mide mediante el tiempo utilizado para realizar el análisis del software, la implementación del cambio y la validación del mismo.

Hasta ahora la medición/predicción  del esfuerzo de mantenimiento del software estaba directamente relacionada con la calidad del código fuente final desarrollado (Ej.: Índice de Mantenimiento [4]). El uso del DSDM implica la inserción de nuevos artefactos en el proceso de desarrollo de software: meta-modelos, modelos, transformaciones modelo a modelo, transformaciones modelo a texto Por lo tanto,  la adopción del DSDM en la industria obliga a adaptar los   modelos de calidad de software añadiendo elementos  del DSDM. Mediante estos modelos de calidad adaptados, se pueden analizar diseños de DSDM con el objetivo de detectar elementos de bajo calidad de  mantenimiento  a refactorizar/rediseñar.

Por lo tanto, es necesario definir modelos de calidad y métricas específicas que permitan predecir el mantenimiento de un DSDM. Estas métricas deben  permitir evaluar  el coste de  adaptación del proceso DSDM  frente a cambios en los meta-modelos,  cambios regulares en los modelos y  evoluciones en las plataformas de ejecución debidos a  nuevos requisitos, tanto funcionales como no funcionales. En los últimos años se han definido diferentes métricas en el diseño de meta-modelos/modelos [5] y para las reglas de  transformación [6]. A pesar de ello, aun no se han definido métodos para la evaluación del mantenimiento para el DSDM.

Parte del trabajo del grupo de Ingeniería del SW de la Universidad de Mondragon, HAZI, se centra en definir una metodología para la evaluación del mantenimiento en el DSDM en los Sistemas Empotrados. La evolución de los requisitos no funcionales es clave en los sistemas empotrados. Las investigaciones actuales están centradas en evaluar el coste de la adaptación de los diseños DSDM  frente a cambios en los requisitos no funcionales.

Cada evolución   de requisitos no funcionales puede afectar en diferentes artefactos del DSDM.   Para poder definir  métricas que permitan predecir el coste del mantenimiento frente a cambios se han implementado diferentes variantes de  DSDM basados en [7]   para generar código de  sistemas empotrados diseñados mediante UML-MARTE [8]. También se han definido diferentes evoluciones de requisitos no funcionales que impactan en diferentes aspectos/elementos del DSDM. En la siguiente tabla se resumen los diferentes escenarios de análisis definidos.

Tabla 1. Escenarios para el análisis del mantenimiento en el DSDM

Para cada evolución se adapta el proceso de DSDM. Se mide el coste del cambio mediante métricas de tiempo y calidad del artefacto (meta-modelos, código de transformación, etc…) y se comparan las diferentes variantes utilizadas en la generación de código en cada caso. A continuación  se establece una métrica que permita predecir las características de adaptación de cada diseño DSDM frente a un tipo concreto de evolución. Finalmente se establecerá una metodología que permita predecir el mantenimiento de un proceso DSDM frente a un grupo de evoluciones.

La investigación en el ámbito del DSDM que se  está llevando a cabo en el grupo HAZI, actualmente,  trata de establecer una metodología y métricas para la evaluación del mantenimiento en el DSDM para sistemas empotrados frente a la evolución de requisitos no funcionales.

Referencias

[1] ARTEMIS, vol. 2008, 2008-2009

[2] John Hutchinson, Jon WhittleMark RouncefieldSteinar Kristoffersen: Empirical assessment of MDE in industry. ICSE 2011

[3] ISO/EIC 9126 ,  http://www.iso.org/iso/iso_catalogue/catalo-gue_tc/catalogue_detail.htm?csnumber=22749 (Link validado Febrero del 2013)

[4] Kurt D. Welker “The Software Maintainability Index. Revisited”, Idaho National Engineering and. Environmental Laboratory, Crosstalk, Aug. 2001

[5] Parastoo Mohagheghi, Vegard Dehlen: Developing a Quality Framework for Model-Driven Engineering. MoDELS Workshops 2007

[6] M.F. van Amstel and M.G.J. van den Brand. Using Metrics for Assessing the Quality of ATL Model Transformations Third International Workshop on Model Transformation with ATL , 2011.

[7] J. A. Agirre , G. Sagardui , L. Etxeberria. Proceso flexible de DSDM  para sistemas de control empotrados basados en componentes SW.Jornadas de  Computación Empotrada JCE 2012

[8] UML-MARTE Profile http://www.omgmarte.org/ (Revisadoo Frebero 2013)

[9] Thomas Stahl  Markus Voelter , Krzysztof Czarnecki Model-Driven Software Development: Technology, Engineering, Management (Wiley Software Patterns Series). 2006

+ No hay comentarios

Añade el tuyo