# Importación de código y generación de código

&umbrello; es una herramienta de modelado &UML;. Como tal, su propósito principal es servirle de ayuda en el análisis y diseño de sistemas. No obstante, para hacer la transición entre el diseño y la implementación, le permite generar código fuente en distintos lenguajes de programación para que pueda empezar con algo. Además, si desea comenzar a usar &UML; en un proyecto de C++ ya iniciado, &umbrello; le puede ayudar a crear un modelo del sistema a partir del código fuente analizando el código fuente e importando las clases que encuentre.

## Generación de código

&umbrello; puede generar código fuente para diversos lenguajes de programación basándose en su modelo &UML; para ayudarle a empezar la implementación de su proyecto. El código generado consiste en las declaraciones de las clases junto con sus métodos y atributos, de modo que pueda «rellenar los huecos» para proporcionar la funcionalidad de las operaciones de sus clases.

&umbrello; 2 permite la generación de código para ActionScript, Ada, C++, C#, D, IDL, &Java;, JavaScript, MySQL y Pascal.

### Generación de código

Para poder generar código con &umbrello;, necesita primero crear o cargar un modelo que contenga al menos una clase. Cuando esté preparado para empezar a escribir código, seleccione la entrada Asistente para generación de código en el menú Código para iniciar un asistente que le guiará durante el proceso de generación de código.

El primer paso consiste en seleccionar las clases para las que desea generar código fuente. Por omisión están seleccionadas todas las clases del modelo, aunque puede eliminar las que no desee moviéndolas a la lista de la parte izquierda.

El siguiente paso del asistente le permite modificar los parámetros que usa el generador de código para escribir el código fuente. Dispone de las siguientes opciones:

Opciones de la generación de código Opciones para la generación de código en &umbrello;

Opciones para la generación de código en &umbrello;

#### Opciones de generación

##### Detalle de los comentarios

La opción Escribir comentarios de documentación incluso si están vacíos indica al generador de código que escriba comentarios al estilo /** comentario */ incluso si los bloques de comentario están vacíos. Si ha añadido documentación a las clases, métodos o atributos del modelo, el generador de código escribirá dichos comentarios como documentación de Doxygen sin tener en cuenta lo que haya definido aquí, pero, si selecciona esta opción, &umbrello; escribirá bloques de comentarios para todas las clases, métodos y atributos, incluso si no existe documentación en el modelo, en cuyo caso usted debería documentar las clases más adelante directamente en el código fuente.

Escribir comentarios para las secciones incluso si la sección está vacía hace que &umbrello; escriba comentarios en el código fuente para delimitar las distintas secciones de una clase. Por ejemplo, «métodos públicos» o «atributos» delante de las secciones correspondientes. Si selecciona esta opción, &umbrello; escribirá comentarios para todas las secciones de una clase, incluso si la sección está vacía. Por ejemplo, escribirá un comentario «métodos protegidos» incluso si no existen métodos protegidos en la clase.

##### Carpetas

Escribir todos los archivos generados en la carpeta. Aquí debe seleccionar la carpeta en la que quiere que &umbrello; sitúe el código fuente generado.

La opción Incluir archivos de cabecera de la carpeta le permite insertar una cabecera al principio de cada archivo generado. Los archivos de cabecera pueden contener información sobre derechos de autor o sobre licencias, así como variables que se evalúan durante la generación del código. Puede examinar los archivos de plantillas de cabecera que acompañan a &umbrello; para ver cómo se usan estas variables para sustituir su nombre o la fecha actual durante la generación.

##### Política de sobrescritura

Esta opción le indica a &umbrello; qué debe hacer si ya existe el archivo que va a crear en la carpeta de destino. &umbrello; no puede modificar archivos de código fuente existentes, por lo que debe elegir entre sobrescribir el archivo existente, omitir la generación de ese archivo en particular o dejar que &umbrello; escoja un nombre distinto para el archivo. Si elige la opción de usar un nombre diferente, &umbrello; añadirá un sufijo al nombre del archivo.

##### Lenguaje

Por omisión, &umbrello; creará código en el lenguaje que haya seleccionado como activo, aunque en el asistente de generación de código tendrá la opción de usar otro lenguaje.

#### Generación de código con el asistente de generación

El tercer y último paso del asistente muestra el estado del proceso de generación de código. Solo tiene que pulsar el botón «Generar» para escribir el código de las clases seleccionadas.

Tenga en cuenta que las opciones que haya seleccionado en el asistente de generación de código solo son válidas en dicho momento. La próxima vez que ejecute el asistente tendrá que volver a seleccionar todas las opciones (carpeta de cabeceras, política de sobrescritura y demás). Puede definir los valores por omisión que use &umbrello; en la sección Generación de código de las preferencias de &umbrello;, disponible en Preferencias Configurar &umbrello;...

Si ha ajustado las opciones de generación de código de forma correcta y desea generar código inmediatamente sin recorrer todos los pasos del asistente, puede seleccionar Generar todo el código en el menú Código. Esto generará código para todas las clases del modelo usando las preferencias actuales (incluyendo la carpeta de salida y la política de sobrescritura, por lo que debería tener cuidado).

## Importación de código

&umbrello; puede importar código fuente de proyectos existentes para ayudarle a construir un modelo de sus sistemas. &umbrello; 2 permite usar código fuente de ActionScript, Ada, C++, C#, D, IDL, &Java;, Javascript, MySQL y Pascal.

Para importar clases en un modelo, seleccione la entrada Asistente de importación de código... en el menú Código. En el diálogo de archivos, seleccione los archivos que contengan declaraciones de clases y pulse Siguiente y después Iniciar importación y Terminar. Las clases se importarán y podrá encontrarlas como parte del modelo en la vista en árbol. Tenga presente que &umbrello; no creará ningún tipo de diagrama para mostrar las clases: solo las importará en su modelo par que pueda usarlas en cualquier diagrama que desee.

Importación de código Menú para importar código fuente en &umbrello;

Menú para importar código fuente en &umbrello;