Abstract
Model Driven Architecture (MDA) was born as a standard of Model Driven Development (MDD) to increment the productivity in the software industry. Actually, there exist different models based tools to get an acceptable degree of automation in the applications generation. Many of those tools allow users to build software with high productivity in their respective domains. According their authors, the very challenge of MDA approach and tools is to put emphasis in a satisfactory degree of productivity and, at the same time, increasing others important software qualities such as portability, interoperability, reusability and maintainability. This paper intends to verify the effectiveness of such benefits analyzing the development of a real application using a MDA tool compared with a traditional approach. For analysis purpose, a series of metrics that can help to evaluate the different aspects related to the benefits of MDA was adopted.
Translated title of the contribution | Evaluation of software development through an MDA tool: A case study |
---|---|
Original language | Spanish |
Article number | 4653855 |
Pages (from-to) | 252-259 |
Number of pages | 8 |
Journal | IEEE Latin America Transactions |
Volume | 6 |
Issue number | 3 |
DOIs | |
State | Published - 2008 |
Event | 11th Iberoamerican Workshop on Requirements Engineering and Software Environments, IDEAS 2008 - Recife, Brazil Duration: Feb 11 2008 → Feb 15 2008 |
All Science Journal Classification (ASJC) codes
- General Computer Science
- Electrical and Electronic Engineering
Access to Document
Other files and links
Fingerprint
Dive into the research topics of 'Evaluation of software development through an MDA tool: A case study'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver
}
In: IEEE Latin America Transactions, Vol. 6, No. 3, 4653855, 2008, p. 252-259.
Research output: Contribution to journal › Conference article › peer-review
TY - JOUR
T1 - Evaluación del desarrollo de software mediante una herramienta MDA
T2 - 11th Iberoamerican Workshop on Requirements Engineering and Software Environments, IDEAS 2008
AU - Duarte, José
AU - González, Magalí
AU - Cernuzzi, Luca
AU - Pastor, Oscar
N1 - Funding Information: Actualmente es posible contar con herramientas MDD, que ofrecen soporte para una plataforma o dominio de aplicación particular, permitiendo a los desarrolladores la construcción de software con cierta eficiencia y productividad notable en esos entornos. No obstante, la postura de mantener énfasis en la obtención de un grado satisfactorio de productividad, en depreciación de otras características como portabilidad, interoperabilidad, reusabilidad y mantenibilidad, es la que se pretende cambiar con la aplicación de MDA al desarrollo de los sistemas informáticos, independientemente del dominio específico del que se trate una aplicación. Sin embargo, en la literatura especializada no se cuenta con suficiente documentación de experiencias y casos de estudio que confirmen estas tendencias. Funding Information: En la Fig. 1 se reúnen los diagramas del modelo de la aplicación necesarios en el desarrollo con la herramienta MDA ArcStyler, que deben contener las especificaciones apropiadas de los componentes implicados de lógica y presentación para poder ser interpretados por los cartuchos MDA correspondientes durante la etapa de generación de artefactos. Funding Information: desarrollo de software en MDA se realiza la generación de código para la plataforma de implementación por medio de los módulos del Generador y los cartuchos MDA, los cuales permiten crear las secciones mayores de la infraestructura de despliegue, como también la preparación de los entornos de construcción (compilación) y testing, todos ellos a partir de los modelos UML. Funding Information: Aprovechamos la experiencia ganada en el desarrollo de dos sistemas que ofrecen un conjunto de funcionalidades equivalentes pero realizados por procesos diferentes para determinar el nivel de satisfacción de las cualidades seleccionadas para ambos procesos involucrados. En base a ello presentamos un análisis de las cualidades de la aplicación obtenida siguiendo el enfoque MDA con el apoyo de la herramienta ArcStyler. Además establecemos una comparación de los puntos principales del desarrollo de la aplicación de caso de estudio entre el sistema construido por el proceso tradicional y el sistema realizado con la herramienta MDA para éste trabajo. Es importante tener en cuenta que los resultados derivados de la evaluación del enfoque MDA en el desarrollo del sistema de caso de estudio corresponden a particularidades de las partes implicadas. Por un lado, el desarrollo hecho con el soporte de una herramienta específica está sujeto a la implementación propia de la herramienta ArcStyler del enfoque MDA y las prestaciones o funciones que ofrece a sus usuarios. Por otra parte, tenemos que la aplicación modelada y generada por la herramienta se trata de un sistema típico de información y gestión, en el que las tareas más realizadas se refieren a funciones CRUD (crear, recuperar, actualizar y borrar datos). Por lo tanto, las afirmaciones dadas en este análisis no necesariamente deben extenderse a otros tipos de sistemas más complejos o especiales (sistemas de tiempo real, sistemas embebidos, etc.), si bien los investigadores y expertos en la arquitectura MDA y la misma herramienta ArcStyler afirman poder aplicarse plenamente a la construcción de varios tipos de sistemas. No obstante, consideramos que los resultados hallados son de interés y relevancia para los desarrolladores y demás personas involucradas en la industria del software, ya que gran parte de la demanda de software a medida son sistemas que contienen principalmente funciones CRUD. Funding Information: Podemos determinar además otro índice de productividad utilizado desde los primeros tiempos de la aplicación de ingeniería de software: el número de líneas de código (LOC). Haciendo una adaptación para su empleo en el desarrollo con MDA, definimos la métrica que indica la cantidad de líneas de código efectivo generado por la herramienta, y la cantidad de código necesario que debe ser programado manualmente. De esta manera se puede obtener una estimación interesante del “trabajo” hecho por la herramienta y por el programador, esperando obtener como resultado una proporción de esfuerzo realizado en términos de línea de código mucho mayor para la herramienta que el producido por el programador, siguiendo las expectativas de MDA. En la tabla II se recogen los resultados del cálculo aplicado a los archivos fuentes indicados2. Funding Information: La portabilidad dentro de una misma plataforma como el caso de J2EE y sus distintos servidores de aplicaciones es coherentemente convincente y rápida, quizás considerando que los modelos definidos estén orientados a una misma definición de arquitectura (J2EE) y que el cambio de servidor de aplicación sólo conlleva a ajustes específicos de configuración propios del servidor de destino para el cual se elige la generación, mediante las marcas ofrecidas por el cartucho MDA del servidor J2EE elegido. Particularmente en esta investigación se ha trabajado con los servidores Jboss 4 y WebLogic 8.1, y en lo que respecta a la experiencia del desarrollo para estos productos con la herramienta ArcStyler podemos hacer las siguientes observaciones: -El modelo de lógica de negocios que comprende la descripción completa de beans no sufre de alteraciones importantes cuando se trata del cambio de proveedores de implementación J2EE. No obstante, el verificador de modelos avisa las incompatibilidades encontradas cuando no reconoce alguna especificación del modelo para el cartucho MDA del servidor de destino. Por ejemplo, las clases utilizadas como enumeraciones, modeladas adecuadamente con el estereotipo respectivo, no son soportadas por el servidor WebLogic 8.1, lo que hace que salte un aviso de error si existe en el modelo tal instancia. Sin embargo, en el servidor JBoss son reconocidas perfectamente. De acuerdo a la misma documentación de ArcStyler [10], el modelo Accessor y su debido conjunto de artefactos generados, no es 100% compatible con los servidores distintos a WebLogic 8.1. -El otro framework disponible en la herramienta para la presentación, Struts, no tiene un soporte completo y funcional como Accessors, ya que los artefactos generados están incompletos y requieren de mucho trabajo adicional en la manipulación de código. El modelado en Struts lleva aproximadamente el mismo tiempo de diseño que el realizado en su par Accessor, lo que determina un innecesario trabajo adicional si se escoge primeramente el framework Struts para el diseño de la capa de Funding Information: 2 Las líneas de código consideradas sólo corresponden a los archivos fuentes en los que se definen clases e interfaces de la lógica de la aplicación. Por lógica de aplicación incluimos a las definiciones de las entidades del sistema, que para la plataforma J2EE son los beans y sus interfaces, además de la lógica de los controladores accessors del modelo web, que no abarcan a las clases representers que enmarcan las vistas o interfaces de usuario de la aplicación Funding Information: La reusabilidad de modelos en ArcStyler está disponible básicamente para la lógica de negocios en arquitecturas enterprise, como J2EE y .NET EDS, permitiendo en cualquier etapa de desarrollo la inclusión del cartucho MDA relativo a una plataforma específica en el proyecto de trabajo, y de ese modo consignar las marcas necesarias para la transformación a esa plataforma. Sin embargo, el modelo de la capa de presentación está orientado a un ambiente particular (web) y para una plataforma determinada como J2EE. Esta limitación nos demuestra que ArcStyler trabaja con modelos que son más dependientes de plataforma para la capa de presentación de una aplicación. Funding Information: Analizando los resultados obtenidos, especialmente en lo que se refiere a ahorro de costos de producción, la experiencia ganada nos ha mostrado un índice de productividad obtenido muy ventajoso, ya que se ha llegado a ahorrar hasta seis veces el tiempo desarrollo para un sistema corriente de información y una importante reducción de esfuerzo en codificación siendo que el programador se ha ocupado sólo del 10% del código fuente de la aplicación. En cuanto al mantenimiento, se ha constatado cierta facilidad en las tareas de mantenimiento perfectivo de la aplicación. No obstante, todavía hay aspectos que pueden mejorarse, principalmente los referidos a las propiedades cualitativas de una aplicación (como ser los requisitos no funcionales que incluyen robustez, seguridad, interfaz del usuario adaptable, etc.), y a las cuestiones de portabilidad entre distintas plataformas, ya que estas se aplican más bien al componente de lógica de negocios en arquitecturas Enterprise, como J2EE y .NET EDS, y no tanto al modelo de la presentación, ya que estos son solo útiles para un entorno y plataforma específicos: aplicaciones Web basadas en Java. Es importante recordar que el logro de los beneficios planteados inicialmente en MDA no responde a un único factor, que es la herramienta MDA, el cual se considera uno de los más importantes dentro de este enfoque. Existen otros factores también valiosos que contribuyen a la satisfacción de los objetivos de MDA en el desarrollo de un producto, por lo que es importante mencionarlos: el manejo correcto de los lenguajes estándares MDA por los desarrolladores, así como los no estándares (por ejemplo, aquellos usados para la definición de transformaciones), el modelado adecuado (diagramas UML y otras extensiones de UML) y la completitud de las especificaciones, la habilidad en la aplicación de ajustes de configuración de las herramientas a las necesidades de un proyecto específico. La combinación apropiada de estos factores, junto con el soporte de una buena herramienta MDA, logrará finalmente la satisfacción plena de los objetivos planteados por Model Driven Architecture en cada proyecto de desarrollo de sistemas informáticos. Funding Information: En futuros trabajos sería interesante profundizar aspectos tales como la ampliación de la experiencia a aplicaciones de otro dominio y mayor complejidad; la creación de un metamodelo para la capa de presentación independiente de plataforma; y la aplicación del trabajo de evaluación con otras herramientas MDA (androMDA, Borland Together, etc.).
PY - 2008
Y1 - 2008
N2 - Model Driven Architecture (MDA) was born as a standard of Model Driven Development (MDD) to increment the productivity in the software industry. Actually, there exist different models based tools to get an acceptable degree of automation in the applications generation. Many of those tools allow users to build software with high productivity in their respective domains. According their authors, the very challenge of MDA approach and tools is to put emphasis in a satisfactory degree of productivity and, at the same time, increasing others important software qualities such as portability, interoperability, reusability and maintainability. This paper intends to verify the effectiveness of such benefits analyzing the development of a real application using a MDA tool compared with a traditional approach. For analysis purpose, a series of metrics that can help to evaluate the different aspects related to the benefits of MDA was adopted.
AB - Model Driven Architecture (MDA) was born as a standard of Model Driven Development (MDD) to increment the productivity in the software industry. Actually, there exist different models based tools to get an acceptable degree of automation in the applications generation. Many of those tools allow users to build software with high productivity in their respective domains. According their authors, the very challenge of MDA approach and tools is to put emphasis in a satisfactory degree of productivity and, at the same time, increasing others important software qualities such as portability, interoperability, reusability and maintainability. This paper intends to verify the effectiveness of such benefits analyzing the development of a real application using a MDA tool compared with a traditional approach. For analysis purpose, a series of metrics that can help to evaluate the different aspects related to the benefits of MDA was adopted.
UR - http://www.scopus.com/inward/record.url?scp=78149403548&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=78149403548&partnerID=8YFLogxK
U2 - 10.1109/TLA.2008.4653855
DO - 10.1109/TLA.2008.4653855
M3 - Conference article
AN - SCOPUS:78149403548
SN - 1548-0992
VL - 6
SP - 252
EP - 259
JO - IEEE Latin America Transactions
JF - IEEE Latin America Transactions
IS - 3
M1 - 4653855
Y2 - 11 February 2008 through 15 February 2008
ER -