Altova UModel 2026

Al importar código de programa a un proyecto de UModel, es posible que tenga que configurar o modificar las opciones que se indican a continuación. Estas opciones están disponibles en el cuadro de diálogo que aparece al ejecutar el comando de menú Proyecto | Importar proyecto de código fuente o Proyecto | Importar directorio de código fuente.

um_dlg_import_source_project

Cuadro de diálogo Importar proyecto de código fuente

La mayoría de las opciones del cuadro de diálogo anterior también se pueden modificar más adelante; consulte la sección Configurar la sincronización del código.

 

Las siguientes opciones pueden aplicarse a todos los tipos de proyectos, independientemente del lenguaje o la plataforma:

 

Opción

Descripción

Importar proyecto relativo al archivo de proyecto de UModel

Esta opción está seleccionada de forma predeterminada, lo que significa que se establecerá una dependencia de ruta relativa entre el proyecto de UModel y el proyecto de código fuente importado.

 

Una vez importado el código fuente, se genera automáticamente un componente UML en el proyecto de UModel (que se encuentra disponible en la estructura de árbol de modelos, como elemento secundario de «Component view»). Este componente implementa las interfaces o clases que se van a procesar; además, especifica las opciones de procesamiento del código, incluida la ruta al proyecto o directorio de código fuente. Esta será una ruta relativa si se ha seleccionado la opción Importar proyecto relativo al archivo de proyecto de UModel; de lo contrario, será una ruta absoluta.

Combinar el código con el modelo / Sobrescribir el modelo con el código

Si se selecciona Combinar el código con el modelo, los posibles conflictos de nombres (como los nombres de paquetes o clases) se resolverán añadiendo un número al elemento que se está importando.

 

Si se selecciona Sobrescribir el modelo con el código y se producen conflictos de nombres, el elemento importado tendrá prioridad sobre el que ya existe en el proyecto (lo sobrescribirá).

Habilitar la generación de diagramas

Marque esta casilla si desea generar diagramas de clases y paquetes a partir de las clases importadas. Cuando se marca esta casilla, el asistente de importación incluye pasos adicionales que le permiten personalizar el aspecto de los diagramas generados.

 

Las siguientes opciones solo están disponibles para proyectos de C++:

um_dlg_import_source_project_cpp

Cuadro de diálogo Configuración de proyecto C++

Opción

Descripción

Compatibilidad con Microsoft Visual C++

Esta opción solo es aplicable al importar código C++ compilado con Visual Studio; le permite especificar la compatibilidad con el compilador Microsoft Visual C++. Configure este valor con la versión del compilador (dialecto de código) que utilice su proyecto de Visual Studio C++. Tenga en cuenta que esta configuración se refiere al dialecto de programación de los archivos de código fuente; el proyecto (o solución) de Visual Studio en sí debe haberse guardado con Visual Studio 2010 o una versión posterior para que pueda importarse. Para importar código fuente creado en un IDE distinto de Visual Studio, utilice el comando Proyecto | Importar directorio de código fuente.

Opciones adicionales del compilador (clang)

A nivel interno, UModel utiliza el compilador clang, versión 11.1.0, para leer código C++. Si es necesario, se pueden especificar opciones adicionales de análisis de código en este cuadro de texto (si es aplicable a UModel); consulte también la documentación de clang (https://releases.llvm.org/11.1.0/tools/clang/docs/UsersManual.html#command-line-options).

Directorios de inclusión

Utilice esta opción para especificar cualquier directorio adicional en el que UModel deba buscar clases de C++ al realizar la ingeniería inversa del código C++. Especificar los directorios de inclusión es opcional si el proyecto de origen es un proyecto de Visual Studio.

 

Si marca la casilla Detectar automáticamente y usar directorios de inclusión del sistema, UModel intentará detectar cualquier directorio de inclusión definido a nivel del sistema, además de los mencionados explícitamente en este cuadro de diálogo.

 

También es posible definir las rutas de los directorios de inclusión mediante la variable de entorno del sistema UMODEL_CPP_INCLUDE; consulte la sección Ingeniería inversa de proyectos C++. En este caso, los directorios de inclusión definidos en la variable de entorno del sistema UMODEL_CPP_INCLUDE sustituirán a los que se incluirían de otro modo si se marcara la casilla Detectar automáticamente y usar directorios de inclusión del sistema.

Definiciones del preprocesador

Utilice esta opción para especificar las directivas del preprocesador de C++ necesarias para compilar el código. Si el proyecto de origen es un proyecto de Visual Studio, las directivas del preprocesador se detectan automáticamente.

Modo de importación

La opción leer archivos de código fuente C++ analizará todos los archivos del proyecto de código fuente. Esta es la opción predeterminada. Si desea importar únicamente bibliotecas de C++, seleccione la opción leer solo encabezados de C++, lo que además agilizará la operación de importación.

 
Por defecto, los archivos .h se tratan como encabezados de C++. Desactive la casilla tratar archivos .h como encabezados de C++ si el proyecto de código fuente utiliza otra extensión para los archivos de encabezado.

 

Las siguientes opciones solo están disponibles para proyectos de C# y VB.NET:

 

Opción

Descripción

DocComments como documentación

Marque esta casilla para convertir los comentarios que se encuentren en el código C# en documentación de elementos de UModel (ver también Documentación).

Resolver los alias

 

 

 

Esta casilla está activada por defecto. Si su código C# o VB.NET contiene alias de espacios de nombres o clases, como en el fragmento de código que se muestra a continuación, se recomienda dejar esta casilla marcada. De lo contrario, es posible que UModel no detecte automáticamente durante la importación las asociaciones y dependencias que impliquen clases y espacios de nombres con alias en su código (y, por lo tanto, no aparecerían en el modelo).

 

using Q = System.Collections.Generic.Queue<String>;
Q myQueue;

Ejemplo de un alias en código C#

Durante la importación del código fuente, cualquier alias que pueda dar lugar a conflictos se añade al paquete «Elementos externos desconocidos» del proyecto UModel si su uso no está claro.

 

Cuando se actualice el código a partir del modelo (ingeniería de ida y vuelta), los alias se mantendrán tal y como aparecen en el código generado.

 

La opción Resolver los alias se puede modificar en cualquier momento más adelante; consulte Configurar la sincronización del código. Si activa esta opción después (y no antes) de la operación de importación, UModel le pedirá que vuelva a actualizar el proyecto a partir del código, ya que la opción también tiene consecuencias para la ingeniería inversa.

Símbolos definidos

Si su código C# o VB.NET incluye símbolos definidos mediante directivas del preprocesador, como #if o #endif, puede indicar a UModel que los tenga en cuenta al realizar la ingeniería inversa del código.

 

#if DEBUG        

       static void DisplayMessage()

       {

           Console.WriteLine("Please wait...");            

       }

#endif

Ejemplo de un símbolo de compilación condicional en código C#

Por ejemplo, si se realiza ingeniería inversa en el código anterior, el método DisplayMessage() solo se importará al modelo si se ha especificado el símbolo DEBUG.

 

Para especificar símbolos de compilación condicional, introdúzcalos en el cuadro de texto «Símbolos definidos», separados por un punto y coma.

 

Durante el proceso de ingeniería inversa, UModel muestra todos los símbolos utilizados en el código fuente en la ventana Mensajes.

 

La siguiente opción solo está disponible para proyectos Java:

 

Opción

Descripción

JavaDocs como documentación

Marque esta casilla para convertir los comentarios estilo JavaDocs que se encuentren en el código en documentación de elementos de UModel (véase también Documentación).

 

Nota: Solo se convierten los comentarios aplicables a clases, interfaces, operaciones y propiedades de Java.

© 2020-2026 Altova GmbH