Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
El presente artículo trata sobre un caso de estudio en el cual utilizaron dos metodologías complementarias:
MDA (Model Driven Architecture) y MERODE (Model-driven, Existence-dependency Relation Object-oriented
DEvelopment). MDA como MERODE son metodologías que soportan el paradigma de la separación del modelo
del dominio (modelo conceptual, modelo de empresa) de la aplicación de sus especificaciones técnicas, con el fin
de generar soluciones más flexibles, y por tanto más fáciles de mantener. Dado que ya se ha demostrado en
estudios anteriores los beneficios que estas metodologías aportan a los atributos de flexibilidad y de
mantenibilidad de las aplicaciones; nuestro trabajo se enfocó en comprobar la incidencia en el tiempo de
desarrollo que implica el uso de estas dos metodologías en conjunto. A fin de lograr nuestro objetivo, se realizó la
estimación de tiempos usando COCOMO (COnstructive COst MOdel), durante el proceso se tomaron las
mediciones correspondientes, y finalmente se analizó las diferencias entre los tiempos estimados y reales;
obteniendo como resultado que el uso de MDA y MERODE en conjunto no afecta de manera significativa en los
tiempos de desarrollo de la aplicación.
Palabras Claves: MDA, MERODE, COCOMO, Arquitectura, Diseño, Orientado a Objetos, modelamiento del
dominio.
Abstract
This article discusses a case study in which they used two complementary methodologies: MDA (Model Driven
Architecture) and MERODE (Model-driven, Existence-dependency Relation Object-Oriented Development). MDA
as MERODE are methodologies that support the paradigm of the separation of domain model (conceptual model,
business model) of the application of their technical specifications in order to generate flexible solutions, and
therefore easier to maintain. As has already been shown in previous studies the benefits that these methodologies
bring to the attributes of flexibility and maintainability of the applications, our work focused on verifying the
impact on development time involved in using these two methods together. To achieve our goal, was conducted
using the estimated time COCOMO (Constructive Cost Model), during the actual measurements were taken, and
finally analyzed the differences between estimated and actual times, with the result that the use of MDA and
MERODE together does not affect significantly the development time of the application.
KeyWords: MDA, MERODE, COCOMO, Architecture, Design, Object Oriented, domain model
1. Introducción utilizadas. Finalmente, en la sección 5 presentaremos
los resultados obtenidos y las conclusiones.
Tanto en los negocios como en las tecnologías se
perciben cambios y avances, que en el campo de la 2. Antecedentes
Ingeniería de Software plantean el reto de crear
aplicaciones que puedan adaptarse de forma simple y Debido a la importancia que tiene el desarrollo de
eficiente. Para poder implementar requerimientos software en el ámbito de los negocios, es necesaria la
emergentes se vuelve necesario utilizar alguna aplicación de métodos, técnicas y herramientas que
metodología, de tal manera que si existen cambios en nos ayuden a obtener productos de calidad y uno de
el dominio del negocio, la implementación de los los aspectos importantes a considerar es la flexibilidad,
cambios necesarios en la aplicación no afecte de debido a que tanto en los negocios como en las
manera crítica a las actividades de la empresa; así tecnologías se perciben cambios y avances, que en el
mismo, hay que considerar las nuevas tecnologías que campo de la Ingeniería de Software plantean el reto de
puedan servir para mejorar algún servicio que se haya crear aplicaciones que se puedan adaptar de forma
implementado. simple y eficiente.
Según investigaciones realizadas [1], una forma de Para poder implementar requerimientos emergentes
lograr mayor flexibilidad y un alto nivel de se vuelve necesario utilizar alguna metodología, de tal
mantenibilidad en las aplicaciones de software es la manera que si existen cambios en el dominio del
separación del “modelo del dominio” (modelo del negocio, esto no afecte de manera crítica a sus
negocio, o modelo conceptual) de las “diversas actividades; así mismo, hay que considerar las nuevas
tecnologías” que pueden usarse en su implementación tecnologías que puedan servir para mejorar algún
y que surgen a través de los tiempos. servicio que se ha implementado.
Dos metodologías que se apoyan en el concepto de
separar el modelo del negocio de la tecnología 3. Contenido
asociada, son MDA y MERODE. MDA es una
propuesta de la OMG (Object Management Group)
para el desarrollo de software desde el diseño de 3.1. MDA, una Arquitectura Dirigida por
modelos, proporciona una solución para los cambios Modelos
de negocio y de tecnología, permitiendo construir
aplicaciones independientes de la plataforma [2]; En el año 2000, el OMG publicó un artículo [5] en
MERODE es una metodología de análisis OO basado el que se presentaba una metodología donde todo se
en el paradigma del modelamiento del dominio [3]. centraba en modelos. Su principal objetivo era diseñar
Actualmente, ya se ha demostrado que trabajar con software independiente de la plataforma, de tal manera
MERODE [3-4], con los recursos humanos y de que si el modelo de negocio exigía pasar -el software
herramientas que usualmente están disponibles para en producción- a otra tecnología, simplemente se
una típica PYME, nos proporciona una aplicación genere el código respectivo a partir del modelo. Para
flexible; pero no había sido posible demostrar la forma algunos, esto llegó a ser una utopía [6].
en que el uso conjunto de estas metodologías (MDA y
MERODE) podía influir en los tiempos de desarrollo
finales de la aplicación, lo que es relevante porque
muchas veces no usamos una determinada
metodología porque nos resta celeridad en el
desarrollo. Por ello nos propusimos realizar este caso
de estudio, en el cual aplicando estas metodologías
(MDA y MERODE) en el diseño y desarrollo de una
aplicación Web, estimando los tiempos de desarrollo
usando un método de estimación apropiado y tomando
las métricas apropiadas, comprobaremos si es posible
aplicar conjuntamente MERODE y MDA sin que ello
afecte de manera significativa el tiempo estimado de
desarrollo.
El presente artículo muestra los resultados del caso Figura 1. Arquitectura Dirigida por Modelos
de estudio propuesto, y se encuentra organizado de la
siguiente manera: en la sección 2 describiremos las MDA define modelos (Figura 1) en diversos niveles
arquitecturas de MDA y MERODE; seguidamente, en de abstracción, que van desde el modelo del dominio
la sección 3 detallaremos cómo aplicamos las técnicas al modelo de especificaciones tecnológicas, cada uno
de MDA y MERODE en el caso de estudio y en la con alcance definido. A continuación se listan estos
sección 4 definiremos las reglas de transformación niveles:
1. Modelo independiente de la plataforma (PIM).
2. Modelos específicos de la plataforma (PSM).
3. Modelos específicos de implementación (PSI). representación de un solo tipo de relación entre los
objetos, denominada relación de dependencia-
El PIM es una vista que representa la existencia; además de las técnicas necesarias para
especificación de un dominio, es decir, su estructura, representar los aspectos estáticos y dinámicos del
sus restricciones (pre-condiciones y pos-condiciones), modelo del dominio y un conjunto de reglas que
en fin, es tal la abstracción a la que se desea llegar, que permiten la verificación automática de la consistencia
podrá ser aplicada a diferentes tecnologías. El PSM es interna entre las diferentes vistas del modelo [8].
una vista específica de una tecnología definida. El PSI
es el código del sistema a desarrollar, puede ser 3.3. COCOMO.
generado en parte o casi en su totalidad
Es un modelo matemático de base empírica
3.2. MERODE, una metodología de análisis utilizado para estimación de costes de software.
OO bajo el paradigma de modelamiento Incluye tres sub modelos, cada uno ofrece un nivel de
basado en el dominio detalle y aproximación cada vez mayor, a medida que
avanza el proceso de desarrollo del software: básico,
MERODE es una metodología de análisis OO, que intermedio y detallado.
al igual que MDA, se basa en el principio de que el El modelo básico nos proporciona una
modelamiento del dominio debe estar abstraído de las aproximación rápida del esfuerzo.
especificaciones tecnológicas. El modelo intermedio añade al modelo básico
En el análisis de la aplicación MERODE separa los quince modificadores opcionales para tener en cuenta
objetos en capas: la capa interna, formada por los en el entorno de trabajo, son los siguientes:
objetos propios del dominio, la capa media, que - de software: RELY (confiabilidad requerida),
contiene los objetos del sistema de información; y la DATA (tamaño de la Base de Datos) y CPLX
capa externa, los objetos de interfaz de usuario. (complejidad del producto).
- de hardware: TIME (apremios de
funcionamiento Run-time), STOR (apremios de
la memoria), VIRT (volatilidad del ambiente
virtual de la máquina), TURN (tiempo de
respuesta).
- de personal: ACAP (calificación de los
analistas), AEXP (experiencia del personal),
PCAP (calificación de los programadores),
VEXP (experiencia del personal en la máquina
virtual), LEXP (experiencia en el lenguaje).
- de proyecto: MODP (uso de prácticas
modernas de programación), TOOL (uso de
herramientas de desarrollo de software), SCED
(limitaciones en el cumplimiento de la
planificación).
Figura 3. PIM del Sistema Web para la Administración de Eventos Científicos (WebSAE)
4.1. Modelo Independiente de la Plataforma momento de comparar las métricas reales obtenidas a
(PIM) partir de este proyecto.
La elaboración del PIM fue diseñado mediante el 4.2. Modelo Específico de la Plataforma
análisis de MERODE. En este apartado se va a (PSM)
explicar en breves rasgos la Aplicación Web que se
desea implementar para luego mostrar el resultado de Este modelo fue mapeado del PIM hecho según el
lo que se desea generar mediante MERODE. análisis en MERODE a UML, respetando las
Las principales actividades que se realizaron en esta correspondientes restricciones. En nuestro estudio,
etapa de elaboración del PIM fue la documentación de hemos separado el PIM en varios módulos para una
levantamiento de nuevos requerimientos, la petición mejor comprensión del dominio. La división en varios
de mejora de otros y la anulación de unos pocos; módulos es necesaria no sólo para una mejor
además del estudio de impacto para el mantenimiento concepción del diseño, si no para identificar las partes
respectivo ante los cambios que se iban a realizar, se independientes que conforman el PIM.
presenta el EDG (Existence Dependency Graph) A continuación, se muestra el PSM del Módulo de
correspondiente luego del análisis y diseño del Sistema Administración Central (Figura 4) perteneciente a la
(Figura 3). Aplicación Web, en el cual, se pueden gestionar los
Otra acotación importante es el hecho de haber diferentes perfiles que tiene un usuario en la aplicación
realizado una estimación de tiempos mediante y por ende las operaciones que ese usuario puede
COCOMO [9] para obtener una referencia en el realizar dependiendo del perfil o perfiles que posea.
Figura 4. PSM del Módulo de Administración Central (MAC)