Manual de Umbrello UML Modeller

# Manual de Umbrello UML Modeller

### Umbrello UML Modeller Autores

Traductor: Marcos Fouces Lago
revisión 2.11.0 (2013-06-01)

Copyright © 2001 Paul Hensgen

Copyright © 2002-2020 Umbrello UML Modeller Autores

Umbrello UML Modeller ayuda en el proceso de desarrollo de software usando el estándar «Unified Modelling Language» (UML) que le permitirá crear diagramas para diseñar y documentar sus sistemas.

Capítulo 1. Introducción
Introducción

# Capítulo 1. Introducción

Umbrello UML Modeller es una herramientas de diagramas UML que puede ayudarle durante el proceso de desarrollo de software. En especial, durante las fases de análisis y de diseño de este proceso, Umbrello UML Modeller le ayudará a obtener un producto de alta calidad. También puede usar UML para documentar sus diseños de software para ayudarle a usted y a sus colegas de desarrollo.

Tener un buen modelo de su software es la mejor manera de comunicarse con otros desarrolladores que trabajen en el proyecto y con sus clientes. Un buen modelo resulta extremadamente importante para proyectos de medio o gran tamaño, aunque también resulta muy útil para proyectos menores. Incluso si está trabajando en un proyecto pequeño de una sola persona, se beneficiará de disponer de un buen modelo, ya que le proporcionará un resumen que le ayudará a programar cosas correctamente la primera vez.

UML es el lenguaje de diagramas que se usa para describir estos modelos. Puede representar sus ideas en UML usando distintos tipos de diagramas. Umbrello UML Modeller 2.11 le permite usar los siguientes tipos:

- Diagrama de clase

- Diagrama de secuencias

- Diagrama de colaboraciones

- Diagrama de caso de uso

- Diagrama de estados

- Diagrama de actividades

- Diagrama de componentes

- Diagrama de despliegue

- Diagrama de relación de entidades

Puede obtener más información sobre UML en el sitio web de OMG, http://www.omg.org, creador del estándar UML.

Esperamos que disfrute de Umbrello UML Modeller y que le ayude a crear software de calidad. Umbrello UML Modeller es software libre y está disponible de forma gratuita. Lo único que le pedimos es que informe de cualquier error, problema o sugerencia a los desarrolladores de Umbrello UML Modeller usando `(umbrello-devel AT kde.org)` o https://bugs.kde.org.

Capítulo 2. Las bases de UML
Las bases de UML

# Capítulo 2. Las bases de UML

## Acerca de UML

Este capítulo le proporciona un rápido resumen de las bases de UML. Tenga en cuenta que no se trata de un completo manual sobre UML sino de una breve introducción a UML que se puede leer como un tutorial sobre UML. Si desea aprender más sobre el Lenguaje Unificado de Modelado, o sobre el análisis y diseño de software en general, consulte cualquiera de los numerosos libros disponibles sobre este asunto. También existen muchos tutoriales en Internet que pude tomar como punto de partida.

El Lenguaje Unificado de Modelado (UML) es un lenguaje o notación basada en diagramas para especificar, visualiza y documentar modelos de sistemas de software orientado a objetos. UML no es un método de desarrollo, lo que significa que no le indica qué debe hacer primero y qué debe hacer después, ni cómo debe diseñar su sistema, sino que le ayuda a visualizar su diseño y a comunicarse con otras personas. UML está respaldado por el «Object Management Group» (OMG) y es el estándar del sector para el software de descripción gráfica.

UML está diseñado para diseñar software orientado a objetos y tiene un uso limitado para otros modelos de programación.

UML se compone de muchos elementos de modelo que representan las distintas partes de un sistema de software. Los elementos de UML se usan para crear diagramas, que representan cierta parte o un punto de vista del sistema. Umbrello UML Modeller permite usar los siguientes tipos de diagramas:

- Diagramas de casos de uso, que muestran actores (personas u otros usuarios del sistema), casos de uso (los escenarios donde se usa el sistema) y sus relaciones.

- Diagramas de clases, que muestran clases y las relaciones entre ellas.

- Diagramas de secuencia, que muestran objetos y una secuencia de las llamadas a métodos que hacen a otros objetos.

- Diagramas de colaboración, que muestran objetos y sus relaciones, poniendo énfasis en los objetos que participan en el intercambio de mensajes.

- Diagramas de estados, que muestran estados, cambios de estado y eventos de un objeto o de una parte del sistema.

- Diagramas de actividades, que muestran actividades y los cambios de una actividad a otra con los eventos que ocurren en alguna parte del sistema.

- Diagramas de componentes, que muestran los componentes de programación de alto nivel (como KParts o Java Beans).

- Diagramas de despliegue, que muestran las instancias de los componentes y sus relaciones.

- Diagrama entidad-relación, que muestran datos y las relaciones y restricciones entre dichos datos.

Elementos de UML
Elementos de UML

## Elementos de UML

### Diagrama de casos de uso

Los diagramas de casos de uso describen las relaciones y las dependencias entre un grupo de casos de uso y los actores que participan en el proceso.

Es importante tener en cuenta que los diagramas de casos de uso no son apropiados para representar el diseño y que no pueden describir las interioridades de un sistema. Los diagramas de casos de uso sirven para facilitar la comunicación con los futuros usuarios del sistema y con el cliente, y resultan de especial interés para determinar las funciones que debe poseer el sistema. Los diagramas de casos de uso revelan qué debe hacer el sistema, pero no (ni pueden especificar) cómo deben hacerlo.

Umbrello UML Modeller mostrando un diagrama de casos de uso

#### Caso de uso

Un caso de uso describe (desde el punto de vista de los actores) un grupo de actividades en un sistema que produce un resultado concreto y tangible.

Los casos de uso son descripciones de las interacciones típicas entre los usuarios de un sistema y el mismo sistema. Representan la interfaz externa del sistema y especifican una forma de los requisitos que el sistema debe cumplir (recuerde, solo lo que debe hacer, no cómo debe hacerlo).

Cuando trabaje con casos de uso es importante que recuerde algunas reglas simples:

- Cada caso de uso está relacionado con al menos un actor

- Cada caso de uso posee un iniciador (es decir, un actor)

- Cada caso de uso lleva a un resultado relevante (un resultado con «valor de negocio»)

Los casos de uso también pueden tener relaciones con otros casos de uso. Los tres tipos más frecuentes de relaciones entre casos de uso son:

- <<inclusión>>, que indica que un caso de uso tiene lugar dentro de otro caso de uso.

- <<extensión>>, que indica que en cierta situación o en algún punto (denominado punto de extensión), un caso de uso será extendido por otro.

- Generalización, que indica que un caso de uso hereda las características de otro «supercaso de uso» y puede redefinir algunas de ellas o añadir otras nuevas de un modo similar a la herencia entre clases.

#### Actor

Un actor es una entidad externa (situada fuera del sistema) que interactúa con el sistema participando en (y a menudo iniciando) un caso de uso. Los actores pueden ser personas de la vida real (por ejemplo, los usuarios del sistema), sistemas de computadoras o eventos externos.

Los actores no representan a personas físicas ni a sistemas, sino a su rol. Esto significa que cuando una persona interactúa con el sistema de formas distintas (asumiendo diferentes roles), estará representada por varios actores. Por ejemplo, una persona que da soporte telefónico al cliente e introduce pedidos del cliente en el sistema estaría representada por un actor «Equipo de apoyo» y un actor «Agente de ventas».

#### Descripción del caso de uso

Las descripciones de los casos de uso son narraciones textuales de los mismos. Suelen adoptar la forma de una nota o de un documento enlazado de algún modo con el caso de uso y explican los procesos o las actividades que tienen lugar en el caso de uso.

### Diagrama de clase

Los diagramas de clase muestran las distintas clases que componen un sistema y cómo se relacionan entre sí. Se dice que los diagramas de clase son «estáticos» porque muestran las clases, junto a sus métodos y atributos, así como las relaciones estáticas entre ellos: qué clases «conocen» a otras clases, o qué clases «son parte» de otra clase, aunque no muestran las llamadas a los métodos entre ellas.

Umbrello UML Modeller mostrando un diagrama de clase

#### Clase

Una clase define los atributos y los métodos de un conjunto de objetos. Todos los objetos de una clase (instancias de la clase) comparten el mismo comportamiento y poseen el mismo conjunto de atributos (cada objeto tiene su propio conjunto). A veces se usa el término «tipo» en lugar de «clase», pero es importante tener presente que no son lo mismo, ya que «tipo» es un término más general.

En UML, las clases se representan por rectángulos con el nombre de la clase, que pueden mostrar los atributos y las operaciones de la clase en dos «compartimentos» dentro del rectángulo.

Representación visual de una clase en UML

##### Atributos

En UML, los atributos se muestran como mínimo con su nombre, aunque también pueden mostrar su tipo, su valor inicial y otras propiedades. Los atributos también se pueden mostrar con su visibilidad:

- `+` representa atributos públicos

- `#` representa atributos protegidos

- `-` representa atributos privados

##### Operaciones

Las operaciones (métodos) también se muestran como mínimo con su nombre, aunque pueden mostrar también sus parámetros y los tipos que devuelven. Las operaciones pueden, al igual que los atributos, mostrar su visibilidad:

- `+` representa operaciones públicas

- `#` representa operaciones protegidas

- `-` representa operaciones privadas

##### Plantillas

Las clases pueden tener plantillas, un valor que se usa para una clase o un tipo sin especificar. El tipo de la plantilla se especifica cuando se inicia la clase (es decir, cuando se crea un objeto). Las plantillas existen en C++ moderno y se introducirán en Java 1.5, donde se llamarán «genéricas».

#### Asociaciones de clases

Las clases se pueden relacionar (estar asociadas) con otras de diferentes modos:

##### Generalización

La herencia es uno de los conceptos fundamentales de la programación orientada a objetos, en la que una clase «gana» todos los atributos y las operaciones de la clase de la que hereda, y puede redefinir o modificar algunos de ellos, así como añadir más atributos y operaciones propios.

En UML, una asociación de generalización entre dos clases las coloca en una jerarquía que representa el concepto de herencia de una clase derivada a partir de una clase base. En UML, las generalizaciones se representan con una línea que conecta las dos clases, con una flecha en el lado de la clase base.

Representación visual de una generalización en UML

##### Asociaciones

Una asociación representa una relación entre clases, y proporciona la semántica y estructura común para muchos tipos de «conexiones» entre objetos.

Las asociaciones son el mecanismo que permite que los objetos se comuniquen entre sí. Describe la conexión entre diferentes clases (la conexión entre objetos reales se denomina «conexión de objetos» o enlace).

Las asociaciones pueden tener un rol que indica el propósito de la asociación y pueden ser unidireccionales o bidireccionales (indica si los dos objetos que participan en la relación pueden enviar mensajes del uno al otro, o si solo uno de ellos tiene conocimiento del otro). Cada extremo de la asociación también posee un valor de multiplicidad, que dicta cuántos objetos a dicho lado de la asociación pueden relacionarse con un objeto del otro lado.

En UML, las asociaciones se representan con líneas que conectan las clases que participan en la relación, y que también pueden mostrar el rol y la multiplicidad de cada uno de los participantes. La multiplicidad se muestra como un intervalo [mín..máx] de valores no negativos, con una estrella (`*`) en el extremo máximo para representar el infinito.

Representación visual de una asociación en UML

##### Agregación

Una agregación es un tipo especial de asociación en la que las dos clases participantes no poseen un estado de igualdad, aunque forman una relación «completa». Una agregación describe cómo la clase que tiene el papel del todo se compone de otras clases (las posee), que tienen el papel de las partes. Para las agregaciones, las clases que actúan como el todo siempre tienen una multiplicidad de uno.

En UML, las agregaciones se representan mediante una asociación que muestra un rombo en la parte del todo.

Representación visual de una relación de agregación en UML

##### Composición

Las composiciones son asociaciones que representan agregaciones muy fuertes. Esto significa que las composiciones también forman relaciones todo-parte, aunque la relación es tan fuerte que las partes no pueden existir por sí mismas: solo pueden existir dentro del todo y, si el todo se destruye, las partes también se destruirían.

En UML, las composiciones se representan con un rombo sólido en la parte del todo.

#### Otros elementos de los diagramas de clases

Los diagramas de clases pueden contener otros elementos distintos las clases.

##### Interfaces

Las interfaces son clases abstractas, lo que significa que no se pueden crear directamente instancias de ellas. Pueden contener operaciones, pero no atributos. Las clases pueden heredar de interfaces (mediante una asociación de realización), en cuyo caso se pueden crear instancias de estas clases.

##### Tipo de datos

Los tipos de datos son primitivas que se se suelen integrar en los lenguajes de programación. Ejemplos típicos son los enteros y los booleanos. No pueden tener relaciones con las clases, aunque las clases sí pueden tener relaciones con ellos.

##### Enumeraciones

Una enumeración es una simple lista de valores. Un ejemplo típico es una enumeración de los días de la semana. Las opciones de una enumeración se llaman «literales de enumeración». Como los tipos de datos, no pueden tener relaciones con las clases, aunque las clases sí pueden tener relación con ellas.

##### Paquetes

Los paquetes representan un espacio de nombres de un lenguaje de programación. Se usan en los diagramas para representar partes de un sistema que contienen más de una clase (posiblemente cientos de clases).

### Diagramas de secuencia

Los diagramas de secuencia muestran el intercambio de mensajes (es decir, llamadas a métodos) entre varios objetos en una situación específica delimitada por un tiempo. Los objetos son instancias de clases. Los diagramas de secuencia ponen especial énfasis en el orden y en las veces que se envían mensajes a los objetos.

En los diagramas de secuencia, los objetos se representan mediante líneas discontinuas verticales con el nombre de los objetos en la parte superior. El eje del tiempo también es vertical, incrementándose hacia abajo, de modo que los mensajes se envían de un objeto a otro en forma de flechas, con el nombre de la operación y los parámetros.

Umbrello UML Modeller mostrando un diagrama de secuencia

Los mensajes pueden ser sincrónicos, el tipo normal de llamada de mensaje donde el control se pasa al objeto llamado hasta que dicho método haya terminado su ejecución, o asincrónicos, donde el control se devuelve directamente al objeto que realiza la llamada. Los mensajes sincrónicos disponen de un rectángulo vertical en el lado del objeto llamado para mostrar el flujo del control del programa.

### Diagramas de colaboración

Los diagramas de colaboración muestran las interacciones que ocurren entre los objetos que participan en una determinada situación. Esta es más o menos la misma información que muestran los diagramas de secuencia, aunque en ellos el énfasis recae en cómo ocurren las interacciones con el paso del tiempo, mientras que los diagramas de colaboración ponen de relieve las relaciones entre los objetos y su topología.

En los diagramas de colaboración, los mensajes enviados de un objeto a otro se representan mediante flechas que muestran el nombre del mensaje, sus parámetros y su secuencia. Los diagramas de colaboración son apropiados para mostrar el flujo específico de un programa o de una situación y son uno de los mejores tipos de diagramas para mostrar o explicar rápidamente un proceso con la lógica del programa.

Umbrello UML Modeller mostrando un diagrama de colaboración

### Diagrama de estados

Los diagramas de estados muestran los diferentes estados de un objeto durante su vida y los estímulos que hacen que el objeto cambie su estado.

Los diagramas de estados ven los objetos como máquinas de estados o autómatas finitos que pueden estar en uno de un conjunto finito de estados y que pueden cambiar su estado mediante uno de un conjunto finito de estímulos. Por ejemplo, un objeto de tipo ServidorDeRed puede estar en uno de los siguientes estados durante su vida:

- Preparado

- A la escucha

- Trabajando

- Detenido

y los eventos que pueden hacer que el objeto cambie de estado son

- El objeto se ha creado

- El objeto recibe un mensaje de escucha

- Un cliente solicita una conexión a través de la red

- Un cliente termina una petición

- La petición se ejecuta y termina

- El objeto recibe un mensaje de detención

- etc.

Umbrello UML Modeller mostrando un diagrama de estados

#### Estado

Los estados son las piezas fundamentales de los diagramas de estado. Un estado pertenece a exactamente una clase y representa un resumen de los valores que pueden tener los atributos de una clase. Un estado de UML describe el estado interno de un objeto de una determinada clase.

Tenga en cuenta que no todos los cambios en uno de los atributos de un objeto se deben representar mediante un estado, sino solo aquellos cambios que puedan afectar significativamente el funcionamiento de dicho objeto.

Existen dos tipo especiales de estados: «Inicial» y «Final». Son especiales porque no existe ningún evento que pueda hacer que un objeto vuelva a su estado inicial ni que pueda sacarlo de su estado final una vez lo haya alcanzado.

### Diagrama de actividades

Los diagramas de actividades describen la secuencia de actividades de un sistema con la ayuda de actividades. Los diagramas de actividades son una forma especial de los diagramas de estados que solo (o principalmente) contienen actividades.

Umbrello UML Modeller mostrando un diagrama de actividades

Los diagramas de actividades son similares a los diagramas procedimentales de flujo, con la diferencia de que todas las actividades están claramente conectadas con los objetos.

Los diagramas de actividades están siempre asociados a una clase, a una operación o a un caso de uso.

Los diagramas de actividades permiten el uso de actividades secuenciales o en paralelo. La ejecución en paralelo se representa mediante iconos de bifurcación y de espera. Para las actividades que se ejecutan en paralelo, no es importante el orden en que se llevan a cabo (ya que se pueden ejecutar al mismo tiempo o una tras la otra).

#### Actividad

Una actividad es un paso único de un proceso. Una actividad es un estado de un sistema con actividad interna y, al menos, una transición de salida. Las actividades también pueden tener más de una transición de salida si poseen distintas condiciones.

Las actividades pueden formar jerarquías, lo que significa que una actividad se puede componer de varias actividades «detalladas», en cuyo caso las transiciones de entrada y de salida deben corresponderse con las transiciones de entrada y de salida del diagrama detallado.

### Elementos auxiliares

Existen varios elementos en UML que no poseen un valor semántico real para el modelo, sino que ayudan a clarificar partes del diagrama. Estos elementos son:

- Líneas de texto

- Notas de texto y anclajes

- Cuadros

Las líneas de texto son útiles para añadir cortas informaciones de texto a un diagrama. Son textos libres y no poseen ningún significado para el modelo.

Las notas son útiles para añadir información más detallada sobre un objeto o sobre una situación determinada. Tienen la gran ventaja de que se pueden asociar a elementos de UML para mostrar que la nota «pertenece» a un determinado objeto o situación.

Los cuadros son rectángulos libres que se pueden usar para agrupar elementos para facilitar la legibilidad de los diagramas. No poseen ningún significado lógico en el modelo.

### Diagramas de componentes

Los diagramas de componentes muestran los componentes de software (ya sean tecnologías de componentes, como KParts, CORBA o Java Beans, o solo secciones de un sistema que se puedan distinguir claramente) y los artefactos de los que se componen, como archivos de código fuente, bibliotecas de programación o tablas de bases de datos relacionales.

Los componentes pueden tener interfaces (es decir, clases abstractas con operaciones) que permiten asociaciones entre componentes.

### Diagramas de despliegue

Los diagramas de despliegue muestran las instancias de los componentes en tiempo de ejecución y sus asociaciones. Incluyen nodos, que son recursos físicos (normalmente, una única computadora). También muestran interfaces y objetos (instancias de clases).

### Diagramas entidad-relación

Los diagramas entidad-relación (diagramas ER) muestran el diseño conceptual de aplicaciones de bases de datos. Describen las distintas entidades (conceptos) del sistema de información y las relaciones y restricciones existentes entre ellos. Una extensión de los diagramas entidad-relación, denominada «diagramas entidad-relación extendidos» o «diagramas entidad-relación avanzados» (EER), se usa para incorporar técnicas de diseño orientadas a objetos en los diagramas ER.

Umbrello mostrando un diagrama entidad-relación

#### Entidad

Una entidad es cualquier concepto del mundo real con una existencia independiente. Puede ser un objeto con una existencia física (por ejemplo, una computadora o un robot) o un objeto con una existencia conceptual (por ejemplo, un curso universitario). Cada entidad posee un conjunto de atributos que describen sus propiedades.

Nota: No existe una notación estándar para representar diagramas ER. Diferentes textos sobre este tema usan distintas notaciones. Los conceptos y notaciones para los diagramas ER que usa Umbrello se han tomado del libro Fundamentos de sistemas de bases de datos, 4ª edición, de Elmasri R. y Navathe S. (2004), Addison Wesley.

En un diagrama ER, las entidades se representan mediante rectángulos, con el nombre de la entidad en la parte superior. También pueden mostrar los atributos de la entidad en otro «compartimento» dentro del rectángulo.

Representación visual de una entidad en un diagrama ER

##### Atributos de las entidades

En los diagramas ER, los atributos de las identidades se muestran con su nombre en un compartimento distinto de la entidad a la que pertenecen.

##### Restricciones

Las restricciones de los diagramas ER indican las restricciones de los datos en el esquema de información.

Existen cuatro tipos de restricciones que permite usar Umbrello:

- Clave primaria: El conjunto de atributos declarado como clave primaria es único para la entidad. Solo puede existir una clave primaria en una entidad y ninguno de los atributos que la constituyen puede ser nulo.

- Clave única: El conjunto de atributos declarado como clave única es único para la entidad. Pueden existir varias restricciones únicas en una entidad. Los atributos que la constituyen pueden ser nulos. Las claves únicas y las claves primarias identifican unívocamente una fila de una tabla (entidad).

- Clave externa: Una clave externa es una restricción referencial entre dos tablas. La clave externa identifica a una columna o a un conjunto de columnas de una tabla que hacen referencia a una columna o a un conjunto de columnas de otra tabla. Las columnas de la tabla referenciada deben formar una clave primaria o una clave única.

- Restricción de comprobación: Una restricción de comprobación (también conocida como «restricción de comprobación de tabla») es una condición que define datos válidos cuando se añade o se actualiza una entrada de un a tabla de una base de datos relacional. Se aplica una restricción de comprobación a cada rila de la tabla. La restricción debe ser un predicado. Se puede referir a una o a varias columnas de la tabla.

  Ejemplo: precio >= 0

### Conceptos de diagramas entidad-relación extendidos (EER)

#### Especialización

La especialización es un modo de formar nuevas entidades usando entidades ya definidas. Las nuevas entidades, conocidas como entidades derivadas, poseen (o heredan) los atributos de las entidades preexistentes, a las que se refieren como entidades base. Están pensadas para ayudar a reutilizar los datos existentes con pocas o ninguna modificaciones.

En Umbrello se puede especificar especialización de disyunción y de solapamiento.

##### Especialización de disyunción

La especialización de disyunción indica que las subclases de la especialización deben ser disyuntivas. Esto significa que una entidad puede ser miembro de un máximo de una de las entidades derivadas de la especialización.

Representación visual de una especialización de disyunción en un diagrama EER

##### Especialización de solapamiento

Cuando las entidades derivadas no están restringidas para ser disyuntivas, se dice que su conjunto de entidades está en una especialización de solapamiento. Esto significa que la misma entidad del mundo real puede ser miembro de más de una entidad derivada de la especialización.

Representación visual de una especialización de solapamiento en un diagrama EER

##### Categoría

Se dice que una entidad derivada es una categoría cuando representa a una colección de objetos que es un subconjunto de la unión de los distintos tipos de entidades. Una categoría se modela cuando existe la necesidad de una relación de una superclase/subclase con más de una superclase, donde las superclases representan distintos tipos de entidades (muy parecido a la herencia múltiple de la programación orientada a objetos).

Representación visual de una categoría en un diagrama EER

Capítulo 3. Trabajar con Umbrello UML Modeller
Trabajar con Umbrello UML Modeller

# Capítulo 3. Trabajar con Umbrello UML Modeller

Este capítulo le introducirá en la interfaz de usuario de Umbrello UML Modeller y le indicará todo lo que necesita saber sobre modelado. Puede acceder a todas las acciones de Umbrello UML Modeller usando el menú y las barras de herramientas, aunque Umbrello UML Modeller también hace un uso extenso de los menús de contexto del botón derecho del ratón. Puede hacer clic con el botón derecho del ratón en casi cualquier elemento del área de trabajo de Umbrello UML Modeller o de la vista en árbol para mostrar un menú con las funciones más útiles que se pueden aplicar a dicho elemento. Algunos usuarios encuentran esto un poco confuso al principio porque están más acostumbrados a trabajar con el menú y con las barras de herramientas, aunque en cuanto empiezan a usar el clic derecho aceleran de forma visible su trabajo.

## Interfaz del usuario

La ventana principal de Umbrello UML Modeller está dividida en tres áreas que le permiten tener a la vista todo el sistema y acceder a los distintos diagramas de forma rápida mientras trabaja en un modelo.

Estas áreas se denominan:

- Vista en árbol

- Área de trabajo

- Ventana de documentación e historial de órdenes

Interfaz de usuario de Umbrello UML Modeller

### Vista en árbol

La vista de árbol suele estar ubicada en el lado superior izquierdo de la ventana y muestra todos los diagramas, clases, actores y casos de uso que constituyen el modelo. Esta vista de árbol le permite disponer de un rápido resumen de todos los elementos del modelo. También le proporciona un modo rápido de cambiar entre distintos diagramas del modelo e insertar elementos del modelo en el diagrama actual.

Si está trabajando en un modelo que contiene más de unas pocas clases y diagramas, la vista de árbol le puede ayudar a organizar el modelo usando carpetas. Puede crear carpetas seleccionando la correspondiente opción en el menú de contexto (haga clic con el botón derecho del ratón en cualquiera de las carpetas de la vista de árbol). Puede organizar los elementos moviéndolos a la carpeta adecuada (arrastrando y soltando).

### Ventana de documentación e historial de órdenes

La ventana de documentación e historial de órdenes está situada en la parte inferior izquierda de la ventana principal de Umbrello UML Modeller y le proporciona una rápida vista previa de la documentación sobre el elemento seleccionado y el historial de órdenes de la sesión de trabajo actual. La ventana de documentación es pequeña porque está pensada para permitirle seleccionar rápidamente la documentación del elemento y el historial de órdenes ocupando el mínimo espacio posible de la pantalla. Si necesita consultar la documentación con más detalle, puede abrir las propiedades del elemento.

### Área de trabajo

El área de trabajo es la ventana principal de Umbrello UML Modeller y es donde tiene lugar la acción real. Se usa para ver y editar los diagramas del modelo. El área de trabajo muestra el diagrama activo. Solo se puede mostrar un único diagrama a la vez en el área de trabajo.

Crear, cargar y guardar modelos
Crear, cargar y guardar modelos

## Crear, cargar y guardar modelos

Lo primero que necesita para empezar a hacer algo útil en Umbrello UML Modeller es crear un modelo sobre el que trabajar. Tras iniciar Umbrello UML Modeller, siempre se carga el último modelo usado o se crea uno nuevo vacío (según las preferencias seleccionadas en el diálogo de configuración). Esto le permite comenzar a trabajar enseguida.

### Nuevo modelo

Cuando necesite crear un nuevo modelo, seleccione la entrada Nuevo en el menú Archivo o pulse el icono Nuevo que hay en la barra de herramientas de la aplicación. Si estaba trabajando en un modelo que contenía modificaciones, Umbrello UML Modeller le preguntará si debe guardar los cambios antes de cargar el nuevo modelo.

### Guardar modelo

Puede guardar el modelo actual en cualquier momento usando la opción Guardar del menú Archivo o pulsando el botón Guardar que hay en la barra de herramientas de la aplicación. Si necesita guardar el modelo con otro nombre, use la opción Guardar como del menú Archivo.

Para su comodidad, Umbrello UML Modeller también le ofrece la opción de guardar automáticamente su trabajo cada cierto periodo de tiempo. Puede configurar este comportamiento así como los intervalos de tiempo en las Preferencias de Umbrello UML Modeller.

### Cargar modelo

Para cargar un modelo existente, seleccione la opción Abrir en el menú Archivo o pulse el icono Abrir de la barra de herramientas de la aplicación. Dispone de una lista de los últimos modelos que haya usado en el submenú Abrir reciente del menú Archivo para acelerar el acceso a los modelos que use con más frecuencia.

Umbrello UML Modeller solo puede trabajar con un único modelo a la vez. Por lo tanto, si le pide al programa que cargue un modelo y el actual contiene modificaciones desde la última vez que lo guardó, Umbrello UML Modeller le preguntará si debe guardar dichos cambios para impedir que pierda su trabajo. Lo que sí puede hacer es lanzar dos o más instancias de Umbrello UML Modeller a la vez y copiar y pegar datos entre ellas.

Edición de modelos
Edición de modelos

## Edición de modelos

Umbrello UML Modeller dispone básicamente de dos modos para editar los elementos de un modelo.

- Editar los elementos del modelo directamente en la vista de árbol

- Editar los elementos del modelo mediante un diagrama

Usando el menú de contexto de los distintos elementos de la vista de árbol podrá añadir, eliminar y modificar casi cualquier elemento del modelo. Si hace clic con el botón derecho del ratón en las carpetas de la vista de árbol, dispondrá de opciones para crear distintos tipos de diagramas así como (dependiendo de si la carpeta es un caso de uso o una vista lógica) actores, casos de uso, clases, etc.

Tras añadir elementos al modelo, podrá editarlos accediendo a su diálogo de propiedades. Para ello, seleccione la opción Propiedades en el menú de contexto que se muestra al hacer clic con el botón derecho en los elementos de la vista de árbol.

También puede editar un modelo creando o modificando elementos mediante diagramas. En las siguientes secciones se dan más detalles sobre cómo funciona este método.

Añadir y eliminar diagramas
Añadir y eliminar diagramas

## Añadir y eliminar diagramas

Un modelo UML consiste en un conjunto de elementos de UML y de asociaciones entre ellos. No obstante, el modelo no se visualiza directamente. Debe usar diagramas para verlo.

### Creación de diagramas

Para crear un nuevo diagrama en un modelo, seleccione el tipo de diagrama que necesita en el submenú Nuevo del menú Diagrama y proporcione un nombre para él. Se creará y se activará el nuevo diagrama, por lo que lo verá inmediatamente en la vista de árbol.

Recuerde que Umbrello UML Modeller hace un extenso uso de menús de contexto: también puede hacer clic con el botón derecho del ratón sobre una carpeta en la vista de árbol y seleccionar el tipo de diagrama apropiado en el submenú Nuevo del menú de contexto. Tenga en cuenta que solo puede crear diagramas de casos de uso en las carpetas de vistas de casos de uso y que el resto de tipos de diagramas solo se pueden crear en las carpetas de vistas lógicas.

### Eliminación de diagramas

Si tiene que eliminar un diagrama de un modelo, márquelo para hacerlo activo y seleccione Borrar en el menú Diagrama. También puede hacer lo mismo seleccionando Borrar en el menú de contexto de los diagramas en la vista de árbol.

Umbrello UML Modeller le pedirá confirmación antes de borrar un diagrama, ya que esta operación es algo peligroso que puede causar una pérdida accidental del trabajo realizado. Tras borrar un diagrama y guardar el archivo que lo contenía, no existe modo alguno de deshacer esta acción.

### Cambiar el nombre de diagramas

Si desea cambiar el nombre de un diagrama existente, puede hacerlo con la opción «Cambiar nombre» del menú del botón derecho del ratón en la vista de árbol.

Otra forma de cambiar el nombre de un diagrama es desde el diálogo de sus propiedades, que puede mostrar seleccionando «Propiedades» en su menú de contexto o haciendo doble clic sobre él en la vista de árbol.

Edición de diagramas
Edición de diagramas

## Edición de diagramas

Cuando trabaje en un diagrama, Umbrello UML Modeller tratará de guiarlo aplicando algunas reglas sencillas a los elementos válidos en los distintos tipos de diagramas, así como a las relaciones que pueden existir entre ellos. Si usted es un experto en UML, tal vez no lo note, aunque será de gran ayuda para los menos expertos en UML a la hora de crear diagramas que cumplan los estándares.

Una vez creado el diagrama, llega el momento de empezar a editarlo. Aquí debería notar la diferencia (sutil para los principiantes) entre editar el diagrama y editar el modelo. Como ya sabe, los diagramas son vistas de un modelo. Por ejemplo, si crea una clase mientras edita un diagrama de clases, estará editando ambos, tanto el diagrama como el modelo. Si modifica el color u otras opciones de visualización de una clase del diagrama, estará editando el diagrama, pero no el modelo.

### Insertar elementos

Una de las primeras cosas que hará cuando edite un nuevo diagrama será insertar elementos en él (clases, actores, casos de uso, etc.). Básicamente, existen dos formas de hacerlo:

- Arrastrar elementos existentes desde la vista de árbol hasta el modelo.

- Crear nuevos elementos en el modelo y añadirlos al diagrama al mismo tiempo usando una de las herramientas de edición disponibles en la barra de herramientas de trabajo.

Para insertar elementos existentes en el modelo, arrástrelos desde la vista de árbol y suéltelos en el lugar del diagrama donde quiera colocarlos. Siempre puede mover los elementos dentro del diagrama usando la herramienta de selección.

El segundo modo de añadir elementos al diagrama consiste en usar las herramientas de edición de la barra de herramientas de trabajo (tenga en cuenta que esto también añadirá los elementos al modelo).

La barra de herramientas de trabajo está ubicada por omisión en la parte superior de la ventana. Las herramientas disponibles en ella (es decir, los botones que contiene) cambian según el tipo de diagrama en el que esté trabajando en cada momento. El botón de la herramienta seleccionada estará activado en la barra de herramientas. Puede cambiar a la herramienta seleccionada pulsando la tecla Esc.

Tras seleccionar una herramienta de edición en la barra de herramientas de trabajo (por ejemplo, la herramienta para insertar clases), el puntero del ratón cambia a una cruz y podrá insertar elementos en el modelo con solo hacer clic en el diagrama. Tenga en cuenta que los elementos de UML deben tener un nombre único. Así, si tiene una clase llamada «ClaseA» en un diagrama y usa la herramienta para insertar una clase en otro diagrama, no podrá usar el nombre «ClaseA» para la nueva clase. Si se supone que ambas clases son elementos diferentes, debe darle un nombre único a cada una. Si está intentando añadir el mismo elemento al diagrama, la herramienta para insertar clases no es la correcta para ello. En este caso debería arrastrar y soltar la clase desde la vista de árbol.

### Borrar elementos

Puede borrar cualquier elemento seleccionando la opción Borrar en su menú de contexto.

De nuevo, existe una gran diferencia entre eliminar un objeto de un diagrama y borrarlo de un modelo: cuando borra un objeto de un diagrama, solo está eliminándolo de dicho diagrama, aunque el elemento seguirá siendo parte del modelo (si existen otros diagramas que usan el mismo elemento, no sufrirán ningún cambio). Si, por el contrario, borra el elemento en la vista de árbol, está borrando realmente dicho elemento del modelo. Como el elemento dejará de existir en el modelo, se eliminará automáticamente de todos los diagramas en los que aparece.

### Editar elementos

Puede editar la mayoría de los elementos UML de un modelo y de sus diagramas abriendo su diálogo de propiedades y seleccionando las opciones apropiadas. Para editar las propiedades de un objeto, seleccione Propiedades en su menú de contexto (clic con el botón derecho del ratón). Cada elemento posee un diálogo con varias páginas donde podrá configurar las correspondientes opciones de dicho elemento. En el caso de algunos elementos (como los actores), solo podrá ajustar algunas opciones, como su nombre y su documentación, mientras que para otros elementos (como las clases), podrá editar sus atributos y sus operaciones, seleccionar lo que se va a mostrar en el diagrama (la firma completa de la operación o solo el nombre de la operación, etc.) e incluso los colores que quiera usar para la línea y el relleno de la representación de la clase en el diagrama.

Si está usando la herramienta de selección (la flecha), también puede abrir el diálogo de propiedades de los elementos UML haciendo doble clic sobre ellos.

Tenga en cuenta que también puede seleccionar la opción de las propiedades de un elemento en su menú de contexto en la vista de árbol. Esto también le permite editar las propiedades de los diagramas, así como ajustar si se debe mostrar o no la cuadrícula.

### Editar clases

Aunque en las secciones anteriores ya se ha cubierto la edición de las propiedades de todos los objetos, la edición de clases merece una sección especial porque son un poco más complejas y tienen más opciones que la mayor parte de los elementos UML.

En el diálogo de propiedades de una clase podrá ajustar todo, desde el color que usa hasta las operaciones y atributos que posee.

#### Preferencias generales de la clase

La página de preferencias generales del diálogo de propiedades es autoexplicativa. En ella puede cambiar el nombre de la clase, su visibilidad, su documentación, etc. Esta página siempre está disponible.

#### Preferencias de los atributos de la clase

En la página de preferencias de los atributos puede añadir, editar y borrar los atributos (variables) de la clase. Puede moverlos arriba y abajo usando los botones de las flechas que hay al lado. Esta página siempre está disponible.

#### Preferencias de las operaciones de la clase

Al igual que en la página de preferencias de los atributos, en la página de preferencias de las operaciones puede añadir, editar y eliminar operaciones de la clase. Cuando añada o edite una operación, introduzca los datos básicos en el diálogo Propiedades de la operación. Si desea añadir parámetros a la operación, pulse el botón Nuevo parámetro para mostrar el diálogo de Propiedades del parámetro. Esta página siempre está disponible.

#### Preferencias de plantillas de la clase

Esta página le permite añadir plantillas de la clase, que son clases o tipos de datos sin especificar. En Java 1.5 reciben el nombre de «genéricos».

#### Página de asociaciones de la clase

La página de Asociaciones de la clase muestra todas las asociaciones de la clase en el diagrama actual. Haga doble clic en una asociación para mostrar sus propiedades y, según el tipo de asociación, modificar algunos de sus parámetros, como su multiplicidad y el nombre de su rol. Si la asociación no permite modificar estas opciones, el diálogo de propiedades de la asociación será de solo lectura y solo podrá modificar en él la documentación de la asociación.

Esta página solo está disponible si ha abierto las propiedades de la clase desde un diagrama. Si lo hizo desde el menú de contexto de la vista de árbol, está página no estará disponible.

#### Página de visualización de la clase

En la página de Opciones de visualización podrá ajustar lo que se muestra en el diagrama. Una clase se puede mostrar usando solo un rectángulo con su nombre (útil si tiene muchas clases en el diagrama o si no tiene interés mostrar sus detalles) o en su totalidad, mostrando paquetes, estereotipos, atributos y operaciones con firma y visibilidad completas.

En esta página puede seleccionar las opciones correspondientes a la información que desee mostrar. Los cambios que haga aquí son solo opciones de visualización para el diagrama. Esto quiere decir que si «oculta» operaciones de una clase, dejarán de ser visibles solo en el diagrama, aunque dichas operaciones seguirán siendo parte del modelo. Esta opción solo está disponible si ha seleccionado las propiedades de la clase desde el interior de un diagrama. Si ha abierto las propiedades de la clase desde la vista de árbol, esta página no estará disponible, ya que estas opciones de visualización no tienen sentido en este caso.

#### Página de estilo de la clase

En la página Estilo del widget podrá configurar los colores que desee usar en la línea y en el relleno del widget. Esta opción, obviamente, solo tiene sentido para las clases que se muestran en los diagramas, por lo que no estará presente si ha abierto el diálogo de propiedades de la clase desde la vista de árbol.

### Asociaciones

Las asociaciones relacionan dos objetos UML entre sí. Normalmente, las asociaciones se definen entre dos clases, aunque algunos tipos de asociaciones también pueden existir entre casos de uso y actores.

Para crear una asociación, seleccione la herramienta apropiada en la barra de herramientas de trabajo (asociación genérica, generalización, agregación, etc.), haga clic en el primer elemento que participa en la asociación y luego vuelva a hacer clic en el segundo elemento de la misma. Observe que se necesitan dos clics, uno en cada uno de los objetos que participan en la asociación (no se trata de arrastrar un objeto sobre el otro).

Si está intentando usar una asociación de un modo que va contra la especificación de UML, Umbrello UML Modeller se negará a crearla y le mostrará un mensaje de error. Este será el caso si, por ejemplo, existe una generalización desde la «clase A» hasta la «clase B» y luego intenta crear otra generalización desde la «clase B» hasta la «clase A».

Si hace clic con el botón derecho del ratón en una asociación, se mostrará un menú de contexto con las acciones que puede aplicar sobre ella. Si necesita borrar una asociación, seleccione la opción Borrar en este menú de contexto. También puede seleccionar la opción Propiedades y, según el tipo de asociación, editar sus atributos, como sus roles y su multiplicidad.

#### Puntos de anclaje

Las asociaciones se muestran, por omisión, como una línea recta que conecta los dos objetos del diagrama.

Puede añadir puntos de anclaje para doblar una asociación haciendo doble clic en algún punto de la línea de la asociación. Esto insertará un punto de anclaje (que se muestra como un punto azul al seleccionar la línea de la asociación) que podrá mover para dar forma a la asociación.

Si necesita eliminar un punto de anclaje, vuelva a hacer doble clic sobre él para eliminarlo.

Recuerde que el único modo de editar las propiedades de una asociación es a través el menú de contexto. Si prueba a hacer doble clic sobre ella como con el resto de objetos UML, solo conseguirá insertar otro punto de anclaje.

### Notas, textos y cuadros

Las notas, las líneas de texto y los cuadros son elementos que pueden estar presentes en cualquier tipo de diagramas y no poseen ningún valor semántico real, aunque resultan útiles para añadir comentarios adicionales o explicaciones que pueden facilitar la comprensión de un diagrama.

Para añadir una nota o una línea de texto, seleccione la correspondiente herramienta en la barra de herramientas de trabajo y haga clic en el punto del diagrama donde quiera situar el comentario. Puede editar su texto abriendo las propiedades del elemento mediante su menú de contexto o, en el caso de las notas, haciendo doble clic sobre ellas.

#### Anclajes

Los anclajes se usan para enlazar una nota de texto y otro elemento UML. Por ejemplo, seguramente usará una nota de texto para explicar o hacer algún comentario sobre una clase o una asociación en concreto, en cuyo caso puede usar un anclaje para dejar claro que la nota «pertenece» al elemento en cuestión.

Para añadir un anclaje entre una nota y otro elemento UML, use el botón de anclaje que hay en la barra de herramientas de trabajo. Primero debe hacer clic en la nota y luego en el elemento UML con el que quiera enlazar la nota.

Capítulo 4. Importación de código y generación de código
Importación de código y generación de código

# Capítulo 4. Importación de código y generación de código

Umbrello UML Modeller 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 UML Modeller 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 UML Modeller 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 UML Modeller 2 permite la generación de código para ActionScript, Ada, C++, C#, D, IDL, Java™, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala y XMLSchema.

### Generación de código

Para poder generar código con Umbrello UML Modeller, 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 para la generación de código en Umbrello UML Modeller

#### 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 UML Modeller 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 UML Modeller 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 UML Modeller 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 UML Modeller 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 UML Modeller 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 UML Modeller qué debe hacer si ya existe el archivo que va a crear en la carpeta de destino. Umbrello UML Modeller 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 UML Modeller escoja un nombre distinto para el archivo. Si elige la opción de usar un nombre diferente, Umbrello UML Modeller añadirá un sufijo al nombre del archivo.

##### Lenguaje

Por omisión, Umbrello UML Modeller 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 UML Modeller en la sección Generación de código de las preferencias de Umbrello UML Modeller, disponible en Preferencias → Configurar Umbrello UML Modeller…

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
Importación de código

## Importación de código

Umbrello UML Modeller puede importar código fuente de proyectos existentes para ayudarle a construir un modelo de sus sistemas. Umbrello UML Modeller 2 permite usar código fuente de ActionScript, Ada, C++, C#, D, IDL, Java™, Javascript, MySQL, Pascal, PHP y Vala.

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 UML Modeller 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.

Menú para importar código fuente en Umbrello UML Modeller

Capítulo 5. Otras funciones
Otras funciones

# Capítulo 5. Otras funciones

## Otras funciones de Umbrello UML Modeller

Este capítulo explicará brevemente otras funciones que le ofrece Umbrello UML Modeller.

### Copiar objetos como imágenes PNG

Además de ofrecerle las típicas funciones de copiar, cortar y pegar que esperaría para copiar objetos entre diferentes diagramas, Umbrello UML Modeller puede copiar objetos como imágenes PNG, por lo que podrá insertarlos en otros tipos de documentos. No necesita hacer nada especial para usar esta función: solo tiene que seleccionar un objeto de un diagrama (clase, actor, etc.) y copiarlo (Ctrl+C o usando el menú); después puede abrir un documento de Calligra Words (o de cualquier otro programa en el que pueda pegar imágenes) y seleccionar Pegar. Esta es una poderosa función para exportar partes de sus diagramas como simples imágenes.

### Exportar a una imagen

También puede exportar un diagrama completo como una imagen. Lo único que tiene que hacer es seleccionar el diagrama que desee exportar y usar la opción Exportar como imagen… del menú Diagrama.

Puede exportar múltiples diagramas a la vez usando la opción Exportar diagramas como imágenes… del menú Archivo. Con ella también puede definir la resolución de la imagen para que no se muestre borrosa.

### Imprimir

Umbrello UML Modeller le permite imprimir diagramas individuales. Pulse el botón Imprimir de la barra de herramientas de la aplicación o seleccione la opción Imprimir en el menú Archivo para mostrar el diálogo estándar de impresión de KDE, desde el que podrá imprimir sus diagramas.

### Carpetas lógicas

Para organizar mejor su modelo, especialmente en grandes proyectos, puede crear carpetas lógicas en la vista de árbol. Solo tiene que seleccionar la opción Nueva → Carpeta en el menú de contexto de las carpetas por omisión de la vista de árbol para crearlas. Las carpetas se pueden anidar y puede mover objetos arrastrándolos de una a otra.

Organizar un modelo con carpetas lógicas en Umbrello UML Modeller

Capítulo 6. Preferencias
Preferencias

# Capítulo 6. Preferencias

## Preferencias generales

Opciones para las preferencias generales de Umbrello UML Modeller

### Varios

- La opción Activar deshacer permite deshacer una acción anterior.

- Usar nuevos generadores C++/Java/Ruby permite seleccionar los generadores de código antiguos o los nuevos.

- Si se selecciona Activar pie de página y números de página al imprimir, se muestra la información del diagrama que se está imprimiendo y el número de página.

- Usar diagramas en pestañas proporciona la opción de tener múltiples ventanas de diagramas en pestañas abiertas a la vez.

### Guardar automáticamente

- Guardar automáticamente permite guardar el archivo automáticamente.

- Seleccionar intervalo para guardar automáticamente (mins): permite definir el tiempo antes de que se guarde el archivo de forma automática.

- Definir sufijo para guardar automáticamente: es .xmi por omisión, pero permite definir otras extensiones de archivos.

### Arranque

- Si está marcado Cargar el último proyecto, se cargará siempre el último proyecto en el que se ha trabajado cuando el programa se inicie.

- Iniciar nuevo proyecto con: permite iniciar un nuevo proyecto con un tipo de diagrama UML.

- Lenguaje por omisión: permite definir el lenguaje de programación a usar por omisión.

### Notificaciones

- Activar todos los mensajes es una opción para ver todas las notificaciones o un conjunto reducido de ellas.

- Activar los mensajes relacionados con «borrar asociación» se asegura de que reciba todos los mensajes de este tipo, si está marcada.

- Activar los mensajes relacionados con «borrar diagrama» activará todos los mensajes de este tipo, si está marcada.

Preferencias del tipo de letra
Preferencias del tipo de letra

## Preferencias del tipo de letra

Opciones para los tipos de letra de los diagramas de Umbrello UML Modeller

Estas preferencias de tipos de letra definen las características del texto en los diagramas. Las únicas opciones que puede seleccionar son el estilo y el tamaño del tipo de letra.

Preferencias de la interfaz de usuario
Preferencias de la interfaz de usuario

## Preferencias de la interfaz de usuario

Opciones para la interfaz de usuario de Umbrello UML Modeller

### General

Interfaz de usuario de derecha a izquierda configura la interfaz para los idiomas que se escriben de derecha a izquierda.

### Asociaciones

Crear nuevas líneas de asociación como: proporciona la posibilidad de cambiar el estilo de las líneas de asociación.

### Color

La sección sobre el color proporciona varias opciones para cambiar los colores del texto, de las líneas, del relleno, de la rejilla y del fondo, así como la anchura de las líneas.

Preferencias de las clases
Preferencias de las clases

## Preferencias de las clases

Opciones para las preferencias de las clases de Umbrello UML Modeller

### Mostrar

La sección «Mostrar» contiene las preferencias que determinan las características de las clases que se muestran en el diagrama de clases.

### Alcance inicial

Las posibilidades para las preferencias predeterminadas de atributo y operación son: público, privado y protegido.

Preferencias de importación de código
Preferencias de importación de código

## Preferencias de importación de código

Opciones para las preferencias de importación de código de Umbrello UML Modeller

### Rutas de búsqueda de cabeceras

Se proporciona una recomendación general para mejorar la búsqueda incluyendo UMBRELLO INCPATH como variable de entorno.

### Importación de C++

- Crear un artefacto en la vista del componente para cada archivo importado Se puede arrastrar el artefacto creado a la vista del diagrama de clases, donde se pueden ver sus dependencias con facilidad junto a los atributos y funciones de cada archivo.

- Resolver las dependencias (reduce la velocidad de importación) Asegura que todas las dependencias de archivos se resuelven, que luego se muestran en las dependencias de la clase en el diagrama de clases.

- Activar el estándar C++11 (experimental) Una funcionalidad experimental para satisfacer el estándar C++11. Desactívela si no la necesita.

Preferencias de generación de código
Preferencias de generación de código

## Preferencias de generación de código

### Pestaña de preferencias de generación de código

Opciones para las preferencias generales de generación de código de Umbrello UML Modeller

El modelador UML Umbrello puede generar código fuente para diversos lenguajes de programación basándose en el modelo UML para ayudarle a empezar con la implementación de su proyecto. El código generado contiene las declaraciones de las clases, con sus métodos y atributos, para que pueda «rellenar los espacios en blanco» y así proporcionar funcionalidad a las operaciones de sus clases.

#### Lenguaje

Escoger el lenguaje de programación a usar en los proyectos. Las posibilidades que se ofrecen son ActionScript, Ada, C++, C#, D, IDL, Java, JavaScript, MYSQL, Pascal, Perl, PHP, PHP5, PastgreSQL, Python, Ruby, SQL, Tcl, Vala y XMLSchema.

#### Carpetas

Escribir todos los archivos generados en la carpeta: contiene un campo que puede modificar para indicar la ruta para los archivos generados; también puede usar el botón de navegación para seleccionar esta ruta.

a

#### Política de sobrescritura

Cuando se genera el código en la carpeta indicada, esta preferencia determina lo que ocurre si se encuentra un archivo con el mismo nombre.

- Sobrescribir el archivo sin mostrar ninguna advertencia ni ofrecer otra opción.

- Preguntar si se debe sobrescribir el archivo o cambiar su nombre.

- Usar un nombre distinto cuando existe un archivo, cambiando su nombre con un sufijo.

### Pestaña de preferencias del formato de la generación de código

Opciones para las preferencias del formato de la generación de código de Umbrello UML Modeller

#### Verbosidad de los comentarios

Escribir comentarios de documentación incluso si está vacíos Genera comentarios para las clases y funciones, incluso si están vacíos.

Write section comments allow users to choose whether to write section comments. The possible values are: None, When section is non empty, Always.

#### Líneas

Tipo de sangrado: ofrece las posibilidades de no usar sangrado, usar tabuladores o usar espacios.

Cantidad de sangrado: le permite indicar el número de espacios para el sangrado de tabuladores o de espacios de su elección.

Estilo de fin de línea: puede optar entre los estilos de fin de línea de *NIX, Windows y Mac.

### Opciones del lenguaje

Opciones para las preferencias del lenguaje para la generación de código de Umbrello UML Modeller

Esta página cambia para cada lenguaje de programación seleccionado en la pestaña «General». En la actualidad solo existen opciones para el lenguaje C++.

#### Generación de código C++

##### Documentación

Estilo: le da la opción de usar «/** */» o «//» como estilo para la documentación.

##### General

En la pestaña General de Opciones del lenguaje se muestran varias opciones para la generación de código.

- Prefijo de miembro de clase

  Esta opción permite al usuario indicar el prefijo a añadir a los miembros de las clases a la hora de generar código.

- El paquete es un espacio de nombres

  Los espacios de nombres proporcionan un método para prevenir conflictos de nombres en grandes proyectos. Los símbolos declarados dentro del bloque de un espacio de nombres se sitúan en un ámbito con nombre que impide confundirlos con otros símbolos de nombre idéntico definidos en otros ámbitos.

- Destructores virtuales

  Incluso aunque los destructores no se hereden, si una clase base declara su destructor como virtual, el destructor derivado siempre tiene preferencia sobre él. Esto hace posible el borrado de objetos de tipo polimórfico asignados de forma dinámica mediante punteros a la base.

- Generar constructores vacíos

  Esto generará constructores que solo tendrán llaves vacías.

- Generar métodos accesores

  Esto generará métodos para accedes a los tipos de datos.

- Las operaciones son en línea

  Generar los métodos en línea, aunque los compiladores tienen libertad para decidir si un método no se declarará en línea.

- Los accesores son en línea

  Los métodos que acceden a los datos de la clase se generarán en línea, aunque los compiladores tienen libertad para decidir si un método no se declarará en línea.

- Los accesores son públicos

  Los métodos que se generan como públicos estarán disponibles para cualquier instancia que se cree de la clase.

- Crear «getters» con el prefijo «get»

  Esto antepondrá el prefijo «get» a los métodos que obtienen o devuelven datos de la clase.

- Eliminar el prefijo «[a-zA-Z]_» de los nombres de los métodos de acceso

  Si se ha introducido un prefijo en Prefijo de miembros de la clase, esto lo eliminará.

- Los métodos accesores empiezan con letras mayúsculas

  Esto pone en mayúscula la primera letra del nombre del método.

- Usar «\» como etiqueta de documentación en lugar de «@»

  Una elección de etiquetas a usar cuando se documentan los parámetros de un método.

##### Generación del cuerpo del método

Opciones para las preferencias del cuerpo del método del lenguaje para la generación de código de Umbrello UML Modeller

Lista

Contiene las opciones de «QPtrList», «vector» y «std::vector» para el tipo de lista. Sigue un campo editable para indicar el archivo a incluir junto con un botón de navegación para buscar y seleccionar el archivo a incluir. También existe una opción para hacer que la lista sea global.

Cadenas de texto

Contiene las opciones de «string» y «QString» para el tipo de cadena de texto. Sigue un campo editable para indicar el archivo a incluir junto con un botón de navegación para buscar y seleccionar el archivo a incluir. También existe una opción para hacer que la cadena de texto sea global.

Preferencias del visor de código
Preferencias del visor de código

## Preferencias del visor de código

Opciones para las preferencias del visor de código de Umbrello UML Modeller

Permite la personalización del visor de código. La sección Tipo de letra solicitado permite seleccionar el tipo de letra, su estilo y su tamaño. Debajo de las opciones se muestra una representación de su selección.

En la sección Colores se pueden realizar cambios en el papel, el tipo de letra, la selección, el bloque de objetos UML, el bloque oculto, el texto editable y el texto no editable. Puede cambiar los colores haciendo clic en la caja de color de su respectiva etiqueta.

Preferencias de esquema automático
Preferencias de esquema automático

## Preferencias de esquema automático

Opciones para las preferencias de esquema automático de Umbrello UML Modeller

Detectar automáticamente el generador de esquemas

La funcionalidad de esquema automático depende de los generadores de esquemas proporcionados por el paquete GraphViz, que normalmente se instala junto a Umbrello al usar el gestor de paquetes. Umbrello puede detectar la ubicación en la que se han instalado dichos generadores de esquemas. Para los casos en los que esta dependencia no está disponible o no es posible, se puede seleccionar una ruta de instalación distinta.

Mostrar el esquema de exportación en el menú de contexto del diagrama

La exportación del archivo «dot» se realiza usando el esquema de exportación. Si se marca esta opción, el esquema de exportación se añade a la lista de esquemas de diagramas disponibles y se activa una vista previa rápida de la exportación «dot».

Capítulo 7. Autores e historial
Autores e historial

# Capítulo 7. Autores e historial

Este proyecto fue iniciado por Paul Hensgen como uno de sus trabajos universitarios. El nombre original de la aplicación era Modelador UML. Paul realizó todo el desarrollo hasta finales de 2001, cuando el programa alcanzó la versión 1.0.

La versión 1.0 ya ofrecía gran cantidad de funcionalidades, aunque tras revisar el proyecto en la universidad de Paul, otros desarrolladores se pudieron unir al equipo y comenzaron a realizar valiosas colaboraciones con el Modelador UML, como el cambio de un formato de archivo binario a un archivo UML, el uso de más tipos de diagramas UML, la generación de código o la importación de código, por nombrar algunas de ellas.

Paul tuvo que dejar el equipo de desarrollo durante el verano de 2002. Pero, como el programa era software de código abierto, continúa mejorando y evolucionando y sigue mantenido por un grupo de desarrolladores de diferentes partes del mundo. En septiembre de 2002 el proyecto cambió su nombre de Modelador UML a Umbrello UML Modeller. Existían varios motivos para el cambio de nombre, aunque el más importante era que “uml” (como se conocía en la práctica) era un nombre demasiado genérico y causaba problemas con algunas distribuciones. Otro motivo importante era que los desarrolladores pensaban que Umbrello era un nombre más atractivo.

El desarrollo de Umbrello UML Modeller, así como las discusiones sobre hacia dónde se debe dirigir el programa en futuras versiones, está abierto y tiene lugar en Internet. Si desea colaborar con el proyecto, no dude en contactar con sus desarrolladores. Existen muchas formas en las que puede ayudar a Umbrello UML Modeller:

- Informando de errores o sugiriendo mejoras

- Corrigiendo errores o añadiendo funciones

- Escribiendo buena documentación o traduciéndola a otros idiomas

- Y, por supuesto… ¡programando con nosotros!

Como ve, puede colaborar de muchos modos. Todos ellos son muy importantes y todo el mundo es bienvenido para participar.

Puede contactar con los desarrolladores de Umbrello UML Modeller en `(umbrello-devel AT kde.org)`.

Capítulo 8. Copyright
Copyright

# Capítulo 8. Copyright

Copyright 2001, Paul Hensgen

Copyright 2002-2020 Los autores de Umbrello UML Modeller.

Esta documentación está sujeta a los términos de la Licencia de Documentación Libre GNU.

Este programa está sujeto a los términos de la Licencia Pública General GNU.