UModel ofrece funciones para importar y exportar modelos como archivos XMI para utilizarlos en otras herramientas UML. Además, UModel es compatible con la versión más reciente de XMI (XMI 2.4), incluyendo funciones para importar archivos XMI que describan modelos UML creados en otras aplicaciones y para exportar proyectos de UModel.
La importación y exportación de XMI es particularmente útil para los equipos de desarrollo grandes. Los equipos de desarrollo pueden usar UModel junto con otras herramientas UML heredadas e incluso sustituirlas por completo, puesto que son menos asequibles y más complicadas. También puede exportar los proyectos de UModel en formato XMI y compartirlos con herramientas de ejecución y depuración de modelos usadas únicamente por algunos miembros del equipo.
XMI 2.4 es compatible con UML 2.4 y también con sus versiones anteriores: UML 2.0, UML 2.1 y UML 2.2 y UML 2.3. También importa archivos XMI que describen modelos en cualquier versión de UML 2.
Si el archivo XMI se importa correctamente, UModel crea un proyecto UML nuevo, en el que se pueden editar todos los elementos, exactamente igual que si el proyecto se creara desde cero en UModel. Puede abrir los diagramas del proyecto para ver su contenido.
Y agregar nuevas funciones o modificar características existentes, generar código y exportar el proyecto actualizado como XMI.
UModel es totalmente compatible con sistemas de control de código fuente, herramientas clave para garantizar la integridad de los proyectos de desarrollo de software.
Los archivos de proyecto de UModel y los archivos de código fuente creados o modificados por UModel se pueden proteger o desproteger directamente desde la interfaz de UModel. Durante operaciones posteriores de generación de código, se cambiarán solo los archivos de código fuente que estén desprotegidos.
Además el menú de control de código fuente de UModel incluye opciones para obtener la versión más reciente, proteger o desproteger archivos o ver un registro de los eventos de protección de archivos.
Haga clic aquí para ver la lista de sistemas de control de código fuente compatibles con UModel y otras herramientas de Altova.
Gracias a la integración de UModel con Eclipse y Visual Studio, podrá cambiar de la ventana del modelo UML a la ventana de edición de código fuente dentro del mismo entorno de desarrollo con el que desarrolla proyectos de software.
Además, en ambos entornos de desarrollo podrá usar la función de sincronización automática en tiempo real del proyecto de UModel y del código fuente para trabajar con el modelo de software UML o con el editor de código fuente, con la total seguridad de que ambas ventanas están actualizadas. Los cambios realizados en una de las dos ventanas se transmitirán inmediatamente a la otra.
UModel Enterprise Edition también se puede integrar con Eclipse o Visual Studio, lo cual permite usar las funciones integradas de estos entornos IDE para control de versiones.
UModel se puede integrar con las versiones 4.3, 4.4, 4.5 y 4.6 de Eclipse y con Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, Visual Studio 2010, Visual Studio 2008 y Visual Studio 2005. Estos prácticos módulos de integración con Eclipse y Visual Studio son totalmente gratis para las ediciones Enterprise Edition y Professional Edition de UModel y se puede descargar de la página de descargas del producto.
UModel incluye un entorno de scripting y un editor de formularios integrado con el que podrá adaptar UModel al estilo de desarrollo de su equipo. El entorno de scripting puede ayudarle a aumentar su productividad si personaliza las funciones de UModel y automatiza las operaciones periódicas.
Aproveche el entorno de scripting de UModel para automatizar operaciones, escribir y guardar macros, crear menús y diálogos personalizados o crear controladores de eventos que definan respuestas personalizadas a eventos de la aplicación.
El entorno de scripting y editor de formularios utiliza Microsoft® .NET Framework y es compatible con las versiones 2.0 - 4.0. Además, se incluyen por defecto múltiples ensamblados .NET y, si lo desea, puede agregar otros ensamblados con total facilidad. El editor de scripts también es compatible con JScript y VBScript e incluye un editor de formularios interactivo, así como una función para prueba y depuración de macros.
UModel ofrece una interfaz de automatización de nivel superior y una API de nivel inferior que permite acceder directamente a las funciones de la aplicación y al árbol de datos UML.
La interfaz de programación de aplicaciones (API) de UModel es perfecta para los desarrolladores que necesiten acceder a las funciones de UModel y manipular proyectos de UModel de forma remota. La API basada en COM y la API basada en Java de UModel permiten un control automatizado completo de UModel y la manipulación de estructuras de datos UML, clases, interfaces y diagramas. Por ejemplo, gracias a las API de UModel una aplicación externa puede iniciar UModel, abrir un proyecto de UModel y resaltar elementos de diagramas UML para ofrecer un sistema de seguimiento visual que estimule la ejecución de la aplicación de destino.
La API de automatización también permite la manipulación externa de UModel para actualizar un modelo UML y volver a generar código o aplicar ingeniería inversa a código ya existente en función de determinados eventos externos. La API permite al usuario escribir complementos de UModel para crear funciones especiales,con ventanas y cuadros de diálogo personalizados, que se puedan instalar en UModel desde el menú Personalizar. La API también permite manipular UModel con scripts externos para, por ejemplo, abrir UModel en un momento dado, aplicar ingeniería inversa a una biblioteca de código fuente y crear documentación HTML de un proyecto
UModel es compatible con la arquitectura dirigida por modelos (MDA), gracias a modelos independientes de plataformas y una función de transformación de modelos con la que podrá transformar todos los elementos de modelado relevantes para el código entre C#, Visual Basic, Java, bases de datos y XSD.
La arquitectura dirigida por modelos es un conjunto de estándares y métodos para aplicar el lenguaje unificado de modelado (UML) administrado por el Object Management Group. En la arquitectura dirigida por modelos, el modelo UML de un proyecto de software es un modelo independiente de plataformas (PIM) que puede describirse por completo independientemente del lenguaje de programación. Esta estrategia de desarrollo permite a los arquitectos y desarrolladores de software centrarse exclusivamente en la lógica de su área de especialización, en lugar de preocuparse por las características de los lenguajes de programación.
Las principales ventajas de la arquitectura dirigida por modelos en la ingeniería de software con modelos independientes de plataformas son dos: durante la fase de diseño los desarrolladores no tienen que preocuparse por los detalles y las diferencias entre lenguajes de programación y se puede transformar un proyecto de UModel de un lenguaje a otro. Por ejemplo, un modelo UML para una aplicación en C# se puede convertir en un proyecto de Java o Visual Basic.
La transformación de modelos puede aplicarse incuso a proyectos creados mediante ingeniería inversa a partir de código fuente ya existente. Por ejemplo, se puede aplicar ingeniería inversa a una aplicación de Java en UModel y después se puede transformar para generar clases de Visual Basic.
Durante la transformación de modelos, UModel realiza asignaciones entre los tipos de datos de origen y de destino para eliminar las diferencias entre los lenguajes de programación. En el cuadro de diálogo "Asignación de tipos" podrá revisar e incluso editar los pares de tipos. UModel también añade automáticamente el perfil del lenguaje de destino al proyecto transformado.
Las funciones de transformación también permiten actualizar transformaciones ya existentes y combinar las actualizaciones con los modelos de destinos. Los parámetros de transformación se almacenan en un perfil de transformación de modelos, que puede configurarse para ejecutar transformaciones automáticamente antes de realizar operaciones de ingeniería directa o ingeniería inversa o antes de actualizar elementos para un lenguaje de destino de acuerdo con los cambios realizados en elementos del modelo para otro lenguaje.
Gracias a esta función, UModel puede automatizar el mantenimiento de varios lenguajes de código fuente a medida que evoluciona su modelo de varias plataformas.
UModel ofrece funciones para ayudar a los equipos a completar con éxito proyectos de gran calibre. Las ventajas del modelado de software UML en materia de comunicación gráfica se multiplican cuando en un proyecto trabajan muchos desarrolladores porque la representación visual de los subproyectos mejora la comunicación en el equipo.
UModel es ideal para los equipos que trabajen en proyectos grandes porque permite dividir los proyectos en varios subproyectos. Cada desarrollador puede editar partes diferentes de un solo modelo de forma simultánea y cada subproyecto se puede agregar por separado al sistema de control de código fuente. El proyecto de nivel superior, es decir, el proyecto en el que se incluyen los subproyectos, es el proyecto principal. Los subproyectos son paquetes UML que se guardan como archivos de proyecto de UModel independientes y tienen la extensión *.ump.
A medida que crece su equipo y su proyecto, puede dividir su proyecto de UModel en varios subproyectos. O cada equipo puede iniciar archivos de proyecto de UModel nuevos y unirlos más tarde en subproyectos de un proyecto principal.
En UModel puede organizar los subproyectos sin imponer un estilo de desarrollo rígido. Dependiendo de los requisitos de su equipo, puede organizar los subproyectos como proyectos del mismo nivel u organizarlos jerárquicamente (cada subproyecto puede tener sus propios subproyectos o algunos subproyectos del proyecto principal pueden ser editables y otros de solo lectura).
Durante la generación de código o cuando actualice el modelo con el código, se procesan todos los subproyectos, es decir, se trata igual a un archivo de proyecto sencillo que a un archivo de proyecto que contiene varios subproyectos editables.
Si los miembros del equipo realizan cambios en varias copias del mismo archivo de proyecto, la función de fusión de proyecto de UModel permite reunir todos los cambios en un solo resultado.
La función de generación de documentación de UModel permite a los usuarios incluir los subproyectos en la documentación generada. Gracias a ello, cada desarrollador puede generar documentación para su propio subproyecto, mientras que los gestores del proyecto pueden generar documentación para toda la aplicación.