INSTRUCCIONES
EN LA PRIMER HOJA DE ESTE DOCUMENTO INSERTA UNO DE LOS MODELOS DE PORTADA DE WORD Y PERSONALÍZALA CON TUS DATOS
INSERTA TABLA DE CONTENIDOS EN LA SEGUNDA HOJAEn la tabla de contenido no debe mostrarse ninguna imagen
Los textos no deben aparecer tachados
INSERTA TABLA DE ILUSTRACIONES EN LA TERCER HOJA
INSERTA TABLA DE TABLAS EN LA CUARTA HOJA
INSERTA 2 NOTAS AL PIE EN EL DOCUMENTO
ELIMINA ESTA HOJA (La de Instrucciones)
TABLA DE CONTENIDOS
TABLA DE ILUSTRACIONES
TABLA DE TABLAS
RESUMEN
En este trabajo se presenta el resultado de un comparativo de tres (3) de las
principales herramientas que acogieron la metodología MDA (Arquitectura Dirigida
por Modelos), para lo cual se inició estudiando sus puntos de vista, los estándares
en los que se apoya para el desarrollo de software y cada uno de sus conceptos.
Una vez entendida la teoría de la metodología, se eligieron las herramientas MDA
AndroMDA, ArcStyler y OptimalJ, para con ellas hacer un comparativo a partir de
23 criterios, con el fin de establecer cuál de ellas ofrecía mayores beneficios, para
finalmente construir un OVA (Objeto Virtual de Aprendizaje) que enseñara a
estudiantes y docentes de la Universidad Cooperativa de Colombia Seccional
Caldas, en forma clara los conceptos y fundamentos que esta nueva metodología
de desarrollo de software reúne y para que además instruyera en la utilización de
la herramienta seleccionada en el comparativo.
1
ABSTRACT
This paper presents the results of a comparative of three (3) of the main tools that
hosted the methodology MDA (Model Driven Architecture), which began
considering their views point, the standards that support for software development
and each of its concepts. Once understood the theory of methodology, were
chosen MDA tools AndroMDA, ArcStyler and OptimalJ, with them to make a
comparison based on 23 criteria, in order to establish which of them offered greater
benefits, to finally build a Virtual Learning Object that teach students and faculty of
the University Cooperative of Colombia Sectional Caldas, in a clear concepts and
foundations that this new methodology of software development and meets instruct
in addition to using the tool selected in the comparison.
2
INTRODUCCION
El presente trabajo pretende dar a conocer la existencia de las herramientas MDA
(Arquitectura Dirigida por Modelos), las cuales se encargan de liberar al
desarrollador de programas computacionales, de las fases de implementación y
documentación, dando así solución a problemas que se presentan en el desarrollo
de software tradicional, problemas como la productividad, la portabilidad, la
interoperabilidad y la documentación. Con las metodologías de desarrollo
utilizadas actualmente por la Universidad Cooperativa de Colombia Seccional
Caldas, se contribuye a que sus estudiantes y docentes inviertan tiempo en forma
innecesaria en el desarrollo de estos programas, al tener que hacer en forma
manual tareas que bien pueden ser llevadas a cabo por el computador.
Para poder dar inicio al trabajo se investigaron los conceptos de la metodología
con el fin de entender sus características, su funcionamiento y aplicación al
proceso de desarrollo de software. De igual forma se estudiaron los estándares
sobre los que se apoya MDA para poder llevar a cabo su función.
A continuación se eligieron tres (3) herramientas MDA (AndroMDA, ArcStyler y
OptimalJ), las cuales fueron seleccionadas teniendo en cuenta aspectos como
documentación existente sobre las herramientas, la facilidad de uso y de
consecución de las mismas.
Posteriormente se formularon 23 criterios de comparación que permitieran hacer
un paralelo entre las tres (3) herramientas seleccionadas.
Luego se determinaron a partir de la comparación de las herramientas, las
ventajas o desventajas ofrecidas por cada una de ellas, permitiéndose así
seleccionar a AndroMDA como la herramienta que mayores bondades ofrecía,
teniendo como primer punto a favor que es un software de código abierto.
3
Una vez se eligió la herramienta con mayores beneficios y ventajas, se procedió a
diseñar un OVA (Objeto Virtual de Aprendizaje), el cual expone de manera clara
los conceptos teóricos necesarios para entender la metodología MDA,
adicionalmente se muestran los resultados del comparativo entre las tres (3)
herramientas y se enseña a utilizar la herramienta AndroMDA seleccionada a
partir de la comparación. El OVA es de mucha utilidad para los integrantes de la
Universidad Cooperativa de Colombia Seccional Caldas, ya que presenta un tema
que es desconocido por los integrantes de la misma, y porque es una herramienta
que puede ser consultada a cualquier hora del día y desde cualquier lugar en el
que haya un computador y acceso a internet, rompiendo las barreras de tiempo y
distancia, acercando la Universidad al sitio donde se encuentre el estudiante.
4
1. PLANTEAMIENTO DEL PROBLEMA
1.1 DESCRIPCION DEL PROBLEMA
Comparativo de herramientas MDA y diseño de un Objeto Virtual de Aprendizaje
con beneficios y ventajas para el desarrollo de software.
Actualmente en Colombia la etapa de implementación en el desarrollo de software,
se realiza en forma manual, obligando a que desarrolladores e ingenieros inviertan
tiempo en forma innecesaria, volviendo lento el proceso de creación de software y
provocando retrasos en la entrega final de los programas computacionales.
El desarrollo de software es un proceso que está en permanente cambio, con el
pasar de los días surgen nuevas metodologías que facilitan la creación de
programas computacionales, permitiendo construir software en forma oportuna y
con mucho menos esfuerzo que con las tecnologías antecesoras. Sin embargo
estas metodologías tardan mucho tiempo en llegar a los Centros Educativos
Colombianos, tal es el caso de las herramientas MDA, que si bien surgieron hace
cerca de 8 años, son totalmente desconocidas en nuestra región.
Con el crecimiento desenfrenado que está teniendo la Web las personas tienden a
realizar sus actividades a través de este medio, razón por la cual algunos centros
educativos han recurrido a impartir el conocimiento por medio de Internet, a
estudiantes que por razones de tiempo o espacio no pueden asistir a las aulas de
clase, dejando a un lado la educación presencial (método de enseñanza utilizado
por la mayoría de los centros educativos). Es así como surge la necesidad de que
la Universidad Cooperativa de Colombia Seccional Caldas, cuente con un Objeto
Virtual de Aprendizaje que muestre de forma clara a estudiantes y docentes la
metodología MDA y el uso de una de las herramientas que adoptaron ésta teoría,
para el desarrollo de software.
5
1.2 FORMULACION DEL PROBLEMA
¿Es posible comparar tres (3) herramientas MDA y diseñar un Objeto Virtual de
Aprendizaje para la enseñanza de la metodología MDA y el manejo de la
herramienta que ofrezca mayores beneficios y ventajas en el desarrollo de
software?
Para los ingenieros de sistemas, el desarrollo de software requiere de la utilización
de nuevas herramientas que le permitan acelerar el proceso de creación de
programas computacionales, para de esta forma mejorar la productividad,
portabilidad e interoperabilidad de sus aplicativos de software. Por lo tanto debe
disponerse de instrumentos que lleven los nuevos conocimientos a los alumnos y
docentes de la Universidad Cooperativa de Colombia Seccional Caldas.
6
2. OBJETIVOS
2.1 OBJETIVO GENERAL
Realizar una comparación de tres (3) Herramientas MDA y diseñar un Objeto
Virtual de Aprendizaje que permita la enseñanza y el manejo de la metodología
MDA y de la herramienta que ofrezca mayores beneficios y ventajas en el
comparativo, para el desarrollo de software en la Universidad Cooperativa de
Colombia Seccional Caldas.
2.2 OBJETIVOS ESPECÍFICOS
Realizar un estudio comparativo de las principales características de tres
(3) herramientas MDA, las cuales serán seleccionadas considerando
elementos como la facilidad de uso y de consecución entre otras.
Determinar a partir de la comparación, cuales son las ventajas o
desventajas ofrecidas por cada una de las herramientas analizadas, con el
fin de determinar cuál es la que mejores beneficios o bondades trae en el
desarrollo de software.
Diseñar un Objeto Virtual de Aprendizaje que enseñe el manejo de la
metodología MDA y de la herramienta que ofrezca mayores beneficios y
ventajas en el desarrollo de software.
7
3. JUSTIFICACION
El desarrollo de software utilizando las metodologías tradicionales, es un proceso
que provoca desgaste y pérdida de tiempo a ingeniero y desarrolladores. Con las
metodologías de desarrollo de software utilizadas actualmente en Colombia, se
invierten grandes cantidades de tiempo en la etapa de codificación, tiempo que
podría ser de mucha utilidad en otros proyectos. Las herramientas MDA ayudan a
disminuir ostensiblemente el tiempo en un desarrollo de software ya que crea el
código casi de forma automática, solo se necesita hacer retoques en las
funcionalidades que no se pueden expresar mediante modelos. Esto podría llevar
en un futuro a anular la etapa de codificación, permitiendo al ingeniero centrarse
en un desarrollo de alto nivel.
La ingeniería de sistemas es una de las carreras que mayor actualización de
conocimientos demanda, todo ingeniero debe estar en permanente búsqueda de
tecnologías que le permitan hacer su trabajo en forma más eficiente, aquel que no
lo haga está condenado a ser abatido por el mercado. Dado que los avances
tecnológicos tardan mucho tiempo en llegar a Colombia y a que no todos los
profesionales tienen la oportunidad de salir del país para adquirirlos, es importante
que aquellas personas que por alguna razón tienen acceso a los nuevos
conocimientos los den a conocer.
La Arquitectura Dirigida por Modelos viene ganando importancia entre los
desarrolladores de software a nivel mundial y al ver el poco conocimiento que en
Manizales, Caldas y Colombia se tiene sobre este tema, se evidencia la necesidad
de que los profesionales del área de la computación colombianos, empiecen a
participar en ésta metodología.
8
Colombia está en mora de apropiarse de la tecnología MDA pues actualmente
tiene una tímida participación en ésta metodología, por lo tanto es de suma
importancia darlas a conocer, sin embargo las múltiples ocupaciones del mundo
actual, le dejan poco tiempo a las personas para asistir a clases y capacitaciones
en forma presencial, dejándoles como única opción la preparación a distancia o
usando internet o correo electrónico. Es así como este proyecto pretende dar a
conocer a los integrantes de la Universidad Cooperativa de Colombia Seccional
Caldas, la existencia de la Arquitectura Dirigida por Modelos, objetivo que se
logrará a través de un Objeto Virtual de Aprendizaje.
9
4. MARCOS DE REFERENCIAS
4.1 MARCO LEGAL
MDA es una metodología propuesta por OMG (Object Management Group),
organización que mantiene la marca registrada sobre MDA, dando plena libertad
para su utilización.
Todas aquellas herramientas comerciales basadas en la metodología MDA, son
protegidas por la Dirección Nacional de Derechos de Autor, Unidad Administrativa
Especial adscrita al Ministerio del Interior y de Justicia.
El estado colombiano protege a través de las Leyes de Derechos de Autor las
propiedades intelectuales provenientes de un esfuerzo, trabajo o destreza
humanos (incluyendo los programas de ordenador); derechos que se hacen valer
y respetar a través de las siguientes leyes o decretos:
Artículo 61 de la Constitución Política de Colombia; Decisión Andina 351 de 1993;
Código Civil, Artículo 671; Ley 23 de 1982; Ley 44 de 1993; Ley 599 de 2000
(Código Penal Colombiano); Título VIII; Ley 603 de 2000; Decreto 1360 de 1989;
Decreto 460 de 1995; Decreto 162 de 1996.
De igual forma a nivel internacional, pueden destacarse los siguientes convenios
sobre Derechos de Autor y Derechos Conexos, ratificados por Colombia:
Acuerdo de Caracas de 1911 sobre Derechos de Autor entre Colombia,
Bolivia, Ecuador, Perú y Venezuela, al cual adhirió Colombia mediante la
Ley 65 de 1913.
Convención Interamericana sobre Derechos de Autor en Obras Literarias,
Científicas y Artísticas, firmado en Washington en 1946, al cual adhirió
Colombia mediante la Ley 6 de 1970.
10
Convención Universal sobre el Derecho de Autor, firmada en Ginebra en
1952 y revisada en París en 1971, al cual adhirió Colombia por medio de la
Ley 48 de 1975.
Convenio que establece la Organización Mundial de Propiedad Intelectual
(OMPI) suscrito en Estocolmo en 1967, al cual adhirió Colombia mediante
la Ley 46 de 1979.
Tratado de Libre Comercio, suscrito entre Colombia, México y Venezuela
(G-3), al cual adhirió Colombia en virtud de la Ley 172 de 1994.
Tratado OMPI sobre Derecho de Autor, suscrito en Ginebra en 1996, al cual
adhirió Colombia mediante la Ley 565 de 2000.
4.2 MARCO DE ANTECEDENTES
Actualmente existen algunos comparativos de herramientas MDA, entre los cuales
se destaca el trabajo de grado denominado “Un estudio comparativo de dos
herramientas MDA: OptimalJ y ArcStyler”, llevado a cabo por J. García Molina, J.
Rodríguez, M. Menárguez, M.J. Ortín, J. Sánchez para el Departamento de
Informática y Sistemas de la Universidad de Murcia (Campus de Espinardo). Este
trabajo puso de manifiesto importantes decisiones de diseño para una herramienta
MDA, como son la forma de anotar el PIM, que el PSM sea implícito o explícito, su
naturaleza cerrada o abierta para soportar cualquier tecnología y los mecanismos
para la edición y ajuste de las transformaciones.
En el trabajo “Ingeniería de Modelos con MDA estudio comparativo de OptimalJ y
ArcStyler” de Jesús Rodríguez Vicente para la Facultad de Informática de la
Universidad de Murcia (Murcia, España), se concluyó que OptimalJ define un
proceso MDA completo para la plataforma J2EE, estableciendo perfectamente los
puentes entre los PSM's generados y generando desde el primer momento una
aplicación operativa. Por el contrario, ArcStyler sigue una filosofía de
11
herramientas MDA “universal”, abierta a la incorporación de cualquier tecnología y
con mucha mayor flexibilidad a la hora de describir el sistema, a cambio de exigir
más trabajo del desarrollador para construir la implicación final.
Otro antecedente importante es el trabajo “Arquitectura Dirigida por Modelos” de
María Victoria Di Libero para la Universidad Tecnológica Nacional (Buenos Aires,
Argentina), el cual realizó un comparativo entre las herramientas MDA ArcStyler,
AndroMDA, Codegen Architect, OptimalJ e IQGen, trabajo que le permitió concluir
al autor que De nada sirve la especificación de MDA sin herramientas que den
soporte a este nuevo framework, adicionalmente una herramienta que proponga
una transformación 100% manual no justifica el uso de esta especificación.
El último antecedente a enumerar es el trabajo “Marco de Referencia para la
Evaluación de Herramientas Basadas en MDA” de Juan Bernardo Quintero y
Raquel Anaya de Páez para el Grupo de Investigación en Ingeniería de Software
de la Universidad EAFIT (Medellín, Colombia). Este trabajo permitió concluir que
OptimalJ es la herramienta MDA más evolucionada de las evaluadas en el estudio;
mientras que ATL (Atlas Transformation Language) es la única herramienta
evaluada que ataca directamente el problema de transformación de modelo a
modelo de forma genérica; igualmente Enterprise Architect obtiene buena
calificación, pues las transformaciones a PSM y a código son manipulables y
fáciles de realizar.
12
4.3 MARCO TÉCNICO
4.3.1 Objeto Virtual de Aprendizaje (Herramienta Web)Es un mediador pedagógico diseñado con el propósito educativo y formativo en
diversas áreas del conocimiento, puede verse a través de la Web y apoyando el
aprendizaje autónomo del estudiante.
4.3.2 CIM(Computation Independent Model) Es una vista del sistema desde el punto de vista
de la independencia de la computación, no enseña la estructura de los sistemas.
4.3.3 PIM(Platform Independent Model) Es una vista del sistema centrada en la operación
del mismo que no muestra los detalles necesarios para ser implementada en una
determinada plataforma.
4.3.4 PSM(Platform Specific Model) Es la vista del sistema desde el punto de vista de la
plataforma en la que será implementado, combina las especificaciones del PIM
con los detalles que especifican cómo utiliza el sistema un tipo particular de
plataforma.
4.3.5 XMIXMI es el nombre que recibe el estándar para el intercambio de metamodelos
usando XML. Su principal objetivo es permitir un intercambio de metainformación
entre herramientas de modelado basadas en UML y repositorios de
metainformación basados en MOF en heterogéneos entornos distribuidos. El
hecho de incluir tres estándares como XML, UML y MOF, permite a los
desarrolladores de sistemas distribuidos compartir modelos de objetos y otra
información sobre Internet. XMI es parte fundamental del mundo del modelado y juega un rol importante en el uso de XML como parte importante de MDA.
13
4.3.6 UMLLenguaje de Modelado Unificado es un lenguaje de modelado estándar para la
visualización, especificación y documentación de sistemas de software.
4.3.7 MOF(Meta Object Facility) Es uno de los estándares más importantes en MDA, define
un lenguaje común y abstracto para definir lenguajes de modelado, y cómo
acceder e intercambiar modelos expresados en dichos lenguajes.
4.3.8 CWM(Common Warehouse Metamodel) Contiene las directivas necesarias para poder
almacenar la meta-información de cualquier modelo mediante un formato estándar
y fácilmente intercambiable.
4.3.9 JavaLenguaje de programación orientado a objetos que toma mucha de su sintaxis de
C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de
bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de
punteros o memoria.
4.3.10 J2EEPlataforma de programación para desarrollar y ejecutar software de aplicaciones
en Lenguaje de programación Java con arquitectura de n niveles distribuida,
basándose ampliamente en componentes de software modulares ejecutándose
sobre un servidor de aplicaciones.
4.3.11 .NETEs un proyecto de Microsoft para crear una nueva plataforma de desarrollo de
software con énfasis en transparencia de redes, con independencia de plataforma
de hardware y que permita un rápido desarrollo de aplicaciones.
14
4.4 MARCO TEÓRICO
4.4.1 MDA (Model Driven Architecture) la Arquitectura Dirigida por Modelos es una
metodología de desarrollo de software que separa el diseño de la arquitectura de
las tecnologías de construcción en las que será implementado el sistema,
facilitando que el diseño y la arquitectura puedan ser alterados
independientemente.
4.4.2 AndroMDASe trata de una herramienta de código abierto basada en cartuchos, que admite
como entrada descripciones XMI de diagramas UML, y usa XDoclet como
tecnología de marcado para el acceso a datos desde las clases Java. Admite
como entrada ficheros XMI, y como herramienta de modelado la comunidad de
desarrollo aconseja el uso de MagicDraw. Admite cualquier lenguaje de
programación como salida, y admite código propio para la generación de código.
4.4.3 ArcStylerEs una herramienta de desarrollo de software basada en la Arquitectura Dirigida
por Modelos (MDA) que utiliza MOF para soportar estándares como UML y XMI, y
además JMI para el acceso al repositorio de modelos. Integra herramientas de
modelado (UML) y desarrollo (ingeniería inversa, explorador de modelos basado
en MOF, construcción y despliegue) con la arquitectura CARAT que permite la
creación, edición y mantenimiento de cartuchos MDA que definen
transformaciones. Incluye herramientas relacionadas con el modelado del negocio
y el modelado de requisitos por lo que cubre todo el ciclo de vida.
4.4.4 OptimalJEste producto de la compañía Compuware genera aplicaciones J2EE partiendo de
los modelos, implementa completamente la especificación MDA. Está
desarrollado en Java, lo que le hace portable a cualquier plataforma para su
15
ejecución. Admite XMI versión 1.1 tanto para la importación de ficheros como
para su salida, utiliza MOF para soportar estándares como UML y XMI. Se trata de
un entorno de desarrollo que permite generar aplicaciones J2EE completas a partir
de un PIM.
4.4.5 ModeloEs una descripción o especificación mediante un lenguaje visual de un sistema.
4.4.6 MetamodeloEs la descripción y especificación de los elementos y reglas que se utilizan para
crear modelos semánticamente correctos para un dominio en particular. También
puede definirse como el modelo de un lenguaje de modelado.
4.4.7 Dirigido por modelosSe dice que es dirigido por modelos porque provee mecanismos que usan
modelos para dirigir el curso del diseño, la construcción, la implementación, la
operación, el mantenimiento y la modificación de una aplicación. Es decir, el
proceso depende de los modelos.
4.4.8 ArquitecturaLa arquitectura de un sistema es la especificación de las partes y conectores del
sistema, así como las reglas de interacción entre éstas.
4.4.9 Transformación de modelosLa transformación de modelos es el proceso de convertir un modelo en otro
modelo del mismo sistema. En MDA se contemplan dos tipos de transformación:
La transformación de un PIM en un PSM.
La transformación de un PSM en el código fuente de la aplicación.
4.4.10 VistaEs una representación del sistema desde la perspectiva de un punto de vista
determinado.
4.4.11 Plataforma
16
Es un conjunto de subsistemas y tecnologías que proveen un conjunto de
funcionalidades que cualquier aplicación soportada por la plataforma puede utilizar
sin preocupación sobre los detalles de implementación de dicha plataforma.
5. DISEÑO METODOLÓGICO
5.1 TIPO DE INVESTIGACION
Este trabajo es una coinvestigación de tipo instrumental.
Para la realización de este trabajo se inició con:
1. Búsqueda en internet de información que estuviera relacionada con la
metodología MDA, búsqueda que permitió obtener la Guía MDA, documento
oficial de OMG (Object Management Group), organización creadora de esta
metodología.
2. Se descargaron desde un link suministrado por la Universidad Pontificia de
Salamanca, una serie de libros que explican los conceptos teóricos de la
metodología MDA.
3. Se procedió a estudiar la documentación obtenida, con el fin de entender cuál
es el proceso de desarrollo en MDA, los estándares sobre los que se apoya y
sus conceptos.
4. Una vez entendida la metodología, se eligieron las 3 herramientas MDA a
comparar (AndroMDA, ArcStyler y OptimalJ), las cuales fueron seleccionadas
considerando elementos como la facilidad de consecución de las mismas.
5. Búsqueda de información de las herramientas MDA seleccionadas en el
comparativo.
6. Con el fin de poder adelantar el comparativo de las herramientas, se eligieron
23 criterios de comparación.
7. Se llevó a cabo el comparativo de herramientas MDA, el cual permitió
concluir que la herramienta que ofrecía mayores beneficios era AndroMDA,
17
teniendo como principal punto a favor que es una herramienta Open Source
(Código Abierto).
8. Se seleccionaron los contenidos teóricos y prácticos que se mostrarían en el
Objeto Virtual de Aprendizaje.
9. Se hizo un análisis de cuáles herramientas eran las más apropiadas para
diseñar un Objeto Virtual de Aprendizaje.
10.Se diseña el mapa de navegación del OVA, con el fin de darle un orden
lógico a la información y así facilitar la construcción del Objeto Virtual.
11.A continuación se construye del Objeto Virtual de Aprendizaje.
12.Finalmente se hacen pruebas de conectividad desde los botones y links del
OVA hacia internet y viceversa, esto con el fin de verificar y revelar la calidad
de la herramienta.
5.2 FUENTES DE INFORMACION
FUENTE TIPO QUIENES OBJETIVO
Secundaria
Bibliografía Arlow, J Recopilar información sobre los conceptos teóricos que fundamentan la metodología MDA.
Frankel, D. S.Mellor, S. J.OMG.Warmer, Jos
Trabajo de Grado
Ahsan, N. Conocer la forma como se estructura un comparativo de herramientas MDA.
5.3 POBLACIONPara efectos del comparativo se tomó como población las Herramientas MDA
(Model Driven Architecture o Arquitectura Dirigida por Modelos) más conocidas en
el desarrollo de software.
5.4 MUESTRALa muestra está representada por tres (3) herramientas MDA (AndroMDA,
ArcStyler y OptimalJ), las cuales permitirán hacer un comparativo entre ellas, para
18
determinar las ventajas ofrecidas por cada una y poder concluir cuál de las
herramientas presenta mayores beneficios en el desarrollo de software.
5.5 VARIABLES E INDICADORES
VARIABLE
DEFINICIONINDICADO
RNIVEL DE MEDICION
OBJETIVO
Registro
de
Usuarios
Es el registro que
hace el usuario en la
página de la
Universidad
Cooperativa y
corresponde a la
variable
independiente,
definida como los
datos de entrada.
Porcentual Cuantitativo Registrar
todos los
usuarios que
acceden a la
base de datos
de la
Universidad
Cooperativa.
Respuesta
del sistema
Se constituye como la
variable dependiente,
definida como la
información o datos
de salida del sistema.
Porcentual Cualitativo Informar y
actualizar los
registros de
usuarios de la
Comunidad
Educativa de
la Universidad
Cooperativa
de Colombia
Seccional
Caldas.
19
6. DESARROLLO DEL TRABAJO
6.1 METODOLOGIA MDA
La construcción de software se enfrenta a continuos cambios, los avances de
nuevas tecnologías, la gran diversidad de plataformas y los continuos cambios
tecnológicos exigen separar la especificación funcional de la especificación de la
implementación de la plataforma donde se utilizará el sistema que se está
desarrollando.
Es así como en el año 2001, el OMG (Object Management Group) propuso un
estándar de trabajo denominado MDA (Model Driven Architecture), el cual tiene
como objetivo acelerar el desarrollo de aplicaciones, simplificar la integración entre
distintas tecnologías y reducir el costo de la migración de aplicaciones a nuevas
plataformas. En esta nueva forma de crear software los modelos guían todo el
proceso de desarrollo, guiando el desarrollo con los modelos del software, se
obtienen beneficios en aspectos como la productividad, la portabilidad, la
interoperabilidad y el mantenimiento. La Figura 1 ilustra la Arquitectura Dirigida por
Modelos de OMG.
20
¿Pero qué es exactamente Model Driven Architecture? Es un framework de
desarrollo de software que establece una nueva forma de desarrollar software en
la que se usan modelos del sistema, a distintos niveles de abstracción, para guiar
el proceso de desarrollo, desde el análisis y diseño hasta el mantenimiento del
sistema y su integración con futuros sistemas. MDA permite el desarrollo de
aplicaciones empresariales potencialmente en cualquier plataforma existente,
abierta o propietaria (servicios Web, J2EE, CORBA, .Net u otras).
La clave del MDA es la importancia de los modelos en el proceso de desarrollo de
software. MDA propone la definición y uso de modelos a diferentes niveles de
abstracción para “guiar” todo el proceso de desarrollo (Análisis, diseño,
mantenimiento y hasta la integración), así mismo da la posibilidad de la
generación automática de código a partir de los modelos definidos y de las reglas
de transformación entre dichos modelos.
6.11 HERRAMIENTAS A COMPARAR
6.11.1 AndroMDA
Figura 1 Logotipo AndroMDA
Es un sistema basado en cartuchos, que admite como entrada descripciones XMI
de diagramas UML, y usa XDoclet como tecnología de marcado para el acceso a
datos desde las clases Java. Admite como entrada ficheros XMI versión 1.1, y
como herramienta de modelado la comunidad de desarrollo aconseja el uso de
Poseidon for UML, de Gentleware.
21
Admite cualquier lenguaje de programación como salida, y admite código propio
para la generación de código.
6.11.2 ArcStyler
Es un sistema basado en uso de cartuchos para descripción de transformaciones
que permite generar aplicaciones de n capas codificadas en java/J2EE y C#/.NET
a partir de diagramas UML y la especificación de los procesos del negocio.
Permite extender las capacidades de transformación, generando nuevos cartuchos
a partir de UML, cuyo objetivo sea cualquier plataforma o lenguaje.
No soporta diagramas de componentes ni diagramas de despliegue, pero admite
código propio para la generación de código. ArcStyler de iO-Software es una
herramienta MDA que también utiliza MOF para soportar estándares como UML y
XMI, y además JMI para el acceso al repositorio de modelos. Integra herramientas
de modelado (UML) y desarrollo (ingeniería inversa, explorador de modelos
basado en MOF, construcción y despliegue) con la arquitectura CARAT que
permite la creación, edición y mantenimiento de cartuchos MDA (MDA-Cartridge)
que definen transformaciones. También incluye herramientas relacionadas con el
modelado del negocio y el modelado de requisitos por lo que cubre todo el ciclo de
vida.
6.11.3 OptimalJ
Este producto de la compañía Compuware genera aplicaciones J2EE partiendo de
los modelos. Implementa completamente la especificación MDA. Está
22
desarrollado en Java, lo que le hace portable a cualquier plataforma para su
ejecución. Admite XMI versión 1.1 tanto para la importación de ficheros como
para su salida. OptimalJ es una herramienta MDA que utiliza MOF para soportar
estándares como UML y XMI. Se trata de un entorno de desarrollo que permite
generar aplicaciones J2EE completas a partir de un PIM.
Del proceso de desarrollo con OptimalJ se puede destacar:
• Generación automática a partir del PIM de los modelos PSM de la capa de
presentación (web), capa de negocio EJB y base de datos, estableciendo la
conexión (puentes) entre las tres capas
• Distinción entre bloques libres y protegidos en el código para impedir la
modificación del código generado.
6.12 OTRAS HERRAMIENTAS MDA
6.12.1 Acceleo
Acceleo es un generador de código que transforma modelos hacia código MDA.
Genera código para diferentes plataformas (JEE, .NET, PHP) y editores de
plantilla para Eclipse. Acceleo es un software de código abierto basado en la
plataforma Eclipse, es un producto de la compañía Obeo y su lenguaje de
implementación es Java.
6.12.2 Blu Age
Es un banco de trabajo de MDA que debe alimentarse con modelos UML, estos
modelos UML, asociados a la Web como los archivos de XHTML, son diseñados
23
por los analistas de negocios para ser usados como la única fuente para el
proceso de la generación. Estas entradas son independientes del ambiente
técnico y son transformadas por Blu Age a código fuente.
6.12.3 Codegen
Es una herramienta MDA que recibe diagramas de clase UML (en formatos XMI y
Dia) y genera el código en C#, Java y VB.NET. Usa plantillas de XSLT que
agregan el apoyo para casi cualquier lenguaje de programación (PHP, Pitón, C++,
etc.).
6.12.4 Constructor
Es una herramienta MDA para codificar y generar código para Microsoft.NET.
Puede usarse para construir prototipos o aplicaciones Web desde un diagrama de
clases UML, generar bases de datos MS SQL y MS Access. Puede usar C# o
VB.NET para construir aplicaciones para Windows y formularios Web
6.12.5 iQgen
Es una herramienta generadora MDA que se basa en Java y genera cualquier tipo
de artefacto textual basado en información XMI, en estructuras y plantillas escritas
como las de Servidor de Páginas de Java (JSPs). Puede genera código para
J2EE/EJB al C#, XML y COBOL.
24
Top Related