<chapter id="working-with-umbrello">
<title
>Trabajar con &umbrello;</title>
<!-- Umbrello basics: creating diagrams, creating classes, adding objects to diagrams,
   associations, editing properties, anchor points in associations, removing objects, removing
   diagrams
-->

<para
>Este capítulo le introducirá en la interfaz de usuario de &umbrello; y le indicará todo lo que necesita saber sobre modelado. Puede acceder a todas las acciones de &umbrello; usando el menú y las barras de herramientas, aunque &umbrello; también hace un uso extenso de los menús de contexto del &RMB;. Puede hacer clic con el &RMB; en casi cualquier elemento del área de trabajo de &umbrello; 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 <mousebutton
>derecho</mousebutton
> aceleran de forma visible su trabajo. </para>

<sect1 id="user-interface">
<title
>Interfaz del usuario</title>
<para
>La ventana principal de &umbrello; 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. </para>
<para
>Estas áreas se denominan:</para>
<itemizedlist>
<listitem
><para
>Vista en árbol</para
></listitem>
<listitem
><para
>Área de trabajo</para
></listitem>
<listitem
><para
>Ventana de documentación e historial de órdenes</para
></listitem>
</itemizedlist>

<screenshot>
<screeninfo
>Interfaz de usuario de &umbrello;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="umbrello-ui.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Interfaz de usuario de &umbrello;</phrase>
	  </textobject>
	  <caption>
	    <para
>Interfaz de usuario de &umbrello; </para>
	  </caption>
	</mediaobject>
</screenshot>

<sect2 id="tree-view">
<title
>Vista en árbol</title>
<para
>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. </para>
<para
>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 &RMB; en cualquiera de las carpetas de la vista de árbol). Puede organizar los elementos moviéndolos a la carpeta adecuada (arrastrando y soltando). </para>
</sect2>

<sect2 id="documentation-window">
<title
>Ventana de documentación e historial de órdenes</title>
<para
>La ventana de documentación e historial de órdenes está situada en la parte inferior izquierda de la ventana principal de &umbrello; 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. </para>
</sect2>
<sect2 id="work-area">
<title
>Área de trabajo</title>
<para
>El área de trabajo es la ventana principal de &umbrello; 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. </para>
</sect2>
</sect1
> <!--user-interface-->
<sect1 id="load-save">
<title
>Crear, cargar y guardar modelos</title>
<para
>Lo primero que necesita para empezar a hacer algo útil en &umbrello; es crear un modelo sobre el que trabajar. Tras iniciar &umbrello;, 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. </para>
<sect2 id="new-model">
<title
>Nuevo modelo</title>
<para
>Cuando necesite crear un nuevo modelo, seleccione la entrada <guimenuitem
>Nuevo</guimenuitem
> en el menú <guimenu
>Archivo</guimenu
> o pulse el icono <guiicon
>Nuevo</guiicon
> que hay en la barra de herramientas de la aplicación. Si estaba trabajando en un modelo que contenía modificaciones, &umbrello; le preguntará si debe guardar los cambios antes de cargar el nuevo modelo. </para>
</sect2>
<sect2 id="save-model">
<title
>Guardar modelo</title>
<para
>Puede guardar el modelo actual en cualquier momento usando la opción <guimenuitem
>Guardar</guimenuitem
> del menú <guimenu
>Archivo</guimenu
> o pulsando el botón <guiicon
>Guardar</guiicon
> que hay en la barra de herramientas de la aplicación. Si necesita guardar el modelo con otro nombre, use la opción <guimenuitem
>Guardar como</guimenuitem
> del menú <guimenu
>Archivo</guimenu
>. </para>
<para
>Para su comodidad, &umbrello; 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 <guimenu
>Preferencias</guimenu
> de &umbrello;.</para>
</sect2>
<sect2 id="load-model">
<title
>Cargar modelo</title>
<para
>Para cargar un modelo existente, seleccione la opción <guimenuitem
>Abrir</guimenuitem
> en el menú <guimenu
>Archivo</guimenu
> o pulse el icono <guiicon
>Abrir</guiicon
> de la barra de herramientas de la aplicación. Dispone de una lista de los últimos modelos que haya usado en el submenú <guimenuitem
>Abrir reciente</guimenuitem
> del menú <guimenu
>Archivo</guimenu
> para acelerar el acceso a los modelos que use con más frecuencia. </para>
<para
>&umbrello; 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; 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; a la vez y copiar y pegar datos entre ellas. </para>
</sect2>
</sect1
>  <!--load-save-->
<sect1 id="edit-model">
<title
>Edición de modelos</title>
<para
>&umbrello; dispone básicamente de dos modos para editar los elementos de un modelo. <itemizedlist>
<listitem
><para
>Editar los elementos del modelo directamente en la vista de árbol</para
></listitem>
<listitem
><para
>Editar los elementos del modelo mediante un diagrama</para
></listitem>
</itemizedlist>
</para>
<para
>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 <mousebutton
>derecho</mousebutton
> 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 <emphasis
>caso de uso</emphasis
> o una <emphasis
>vista lógica</emphasis
>) actores, casos de uso, clases, etc. </para>
<para
>Tras añadir elementos al modelo, podrá editarlos accediendo a su diálogo de propiedades. Para ello, seleccione la opción <emphasis
>Propiedades</emphasis
> en el menú de contexto que se muestra al hacer clic con el botón <mousebutton
>derecho</mousebutton
> en los elementos de la vista de árbol. </para>
<para
>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. </para>
</sect1>
<sect1 id="add-remove-diagrams">
<title
>Añadir y eliminar diagramas</title>
<para
>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 <emphasis
>diagramas</emphasis
> para verlo. </para>
<sect2 id="create-diagram">
<title
>Creación de diagramas</title>
<para
>Para crear un nuevo diagrama en un modelo, seleccione el tipo de diagrama que necesita en el submenú <guimenuitem
>Nuevo</guimenuitem
> del menú <guimenu
>Diagrama</guimenu
> 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. </para>
<para
>Recuerde que &umbrello; hace un extenso uso de menús de contexto: también puede hacer clic con el &RMB; sobre una carpeta en la vista de árbol y seleccionar el tipo de diagrama apropiado en el submenú <guisubmenu
>Nuevo</guisubmenu
> 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. </para>
</sect2>
<sect2 id="remove-diagram">
<title
>Eliminación de diagramas</title>
<para
>Si tiene que eliminar un diagrama de un modelo, márquelo para hacerlo activo y seleccione <guimenuitem
>Borrar</guimenuitem
> en el menú <guimenu
>Diagrama</guimenu
>. También puede hacer lo mismo seleccionando <guimenuitem
>Borrar</guimenuitem
> en el menú de contexto de los diagramas en la vista de árbol. </para>
<para
>&umbrello; 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. </para>
</sect2>
<sect2 id="rename-diagram">
<title
>Cambiar el nombre de diagramas</title>
<para
>Si desea cambiar el nombre de un diagrama existente, puede hacerlo con la opción «Cambiar nombre» del menú del &RMB; en la vista de árbol. </para>
<para
>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. </para>
</sect2>
</sect1>
<sect1 id="edit-diagram">
<title
>Edición de diagramas</title>
<para
>Cuando trabaje en un diagrama, &umbrello; 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. </para>
<para
>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 <emphasis
>modelo</emphasis
>. Como ya sabe, los diagramas son <emphasis
>vistas</emphasis
> 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. </para>
<sect2 id="insert-elements">
<title
>Insertar elementos</title>
<para
>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:</para>
<itemizedlist>
<listitem
><para
>Arrastrar elementos existentes desde la vista de árbol hasta el modelo.</para
></listitem>
<listitem
><para
>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
></listitem>
</itemizedlist>
<para
>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. </para>
<para
>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). </para>
<para
>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;. </para>
<para
>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 <emphasis
>nombre único</emphasis
>. 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 <emphasis
>mismo</emphasis
> 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. </para>
</sect2>
<sect2 id="delete-elements">
<title
>Borrar elementos</title>
<para
>Puede borrar cualquier elemento seleccionando la opción <guimenuitem
>Borrar</guimenuitem
> en su menú de contexto. </para>
<para
>De nuevo, existe una <emphasis
>gran</emphasis
> 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 <emphasis
>modelo</emphasis
>. Como el elemento dejará de existir en el modelo, se eliminará automáticamente de todos los diagramas en los que aparece. </para>
</sect2>
<sect2 id="edit-elements">
<title
>Editar elementos</title>
<para
>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 <guimenuitem
>Propiedades</guimenuitem
> en su menú de contexto (clic con el &RMB;). 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. </para>

<para
>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. </para>

<para
>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. </para>
</sect2>
<sect2 id="edit-classes">
<title
>Editar clases</title>
<para
>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;. </para>
<para
>En el diálogo de propiedades de una clase podrá ajustar todo, desde el color que usa hasta las operaciones y atributos que posee. </para>
<sect3 id="class-general-settings">
<title
>Preferencias generales de la clase</title>
<para
>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. </para>
</sect3>
<sect3 id="class-attributes-settings">
<title
>Preferencias de los atributos de la clase</title>
<para
>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. </para>
</sect3>
<sect3 id="class-operations-settings">
<title
>Preferencias de las operaciones de la clase</title>
<para
>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 <emphasis
>Propiedades de la operación</emphasis
>. Si desea añadir parámetros a la operación, pulse el botón <guibutton
>Nuevo parámetro</guibutton
> para mostrar el diálogo de <emphasis
>Propiedades del parámetro</emphasis
>. Esta página siempre está disponible. </para>
</sect3>
<sect3 id="class-template-settings">
<title
>Preferencias de plantillas de la clase</title>
<para
>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». </para>
</sect3>
<sect3 id="class-associations-page">
<title
>Página de asociaciones de la clase</title>
<para
>La página de <guilabel
>Asociaciones de la clase</guilabel
> 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. </para>
<para
>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. </para>
</sect3>
<sect3 id="class-display-page">
<title
>Página de visualización de la clase</title>
<para
>En la página de <guilabel
>Opciones de visualización</guilabel
> 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. </para>
<para
>En esta página puede seleccionar las opciones correspondientes a la información que desee mostrar. Los cambios que haga aquí son solo <emphasis
>opciones de visualización</emphasis
> 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.</para>
</sect3>
<sect3 id="class-color-page">
<title
>Página de estilo de la clase</title>
<para
>En la página <guilabel
>Estilo del widget</guilabel
> 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. </para>
</sect3>
</sect2>

<sect2 id="associations">
<title
>Asociaciones</title>
<para
>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>
<para
>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 (<emphasis
>no</emphasis
> se trata de arrastrar un objeto sobre el otro). </para>
<para
>Si está intentando usar una asociación de un modo que va contra la especificación de &UML;, &umbrello; 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». </para>
<para
>Si hace clic con el botón <mousebutton
>derecho</mousebutton
> 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 <guimenuitem
>Borrar</guimenuitem
> en este menú de contexto. También puede seleccionar la opción <guimenuitem
>Propiedades</guimenuitem
> y, según el tipo de asociación, editar sus atributos, como sus roles y su multiplicidad. </para>
<sect3 id="anchor-points">
<title
>Puntos de anclaje</title>
<para
>Las asociaciones se muestran, por omisión, como una línea recta que conecta los dos objetos del diagrama. </para>
<para
>Puede añadir puntos de anclaje para doblar una asociación haciendo <mousebutton
>doble</mousebutton
> 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. </para>
<para
>Si necesita eliminar un punto de anclaje, vuelva a hacer <mousebutton
>doble</mousebutton
> clic sobre él para eliminarlo. </para>
<para
>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 <mousebutton
>doble</mousebutton
> clic sobre ella como con el resto de objetos &UML;, solo conseguirá insertar otro punto de anclaje. </para>
</sect3>
</sect2>

<sect2 id="notes">
<title
>Notas, textos y cuadros</title>
<para
>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>
<para
>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 <mousebutton
>doble</mousebutton
> clic sobre ellas. </para>
<sect3 id="anchors">
<title
>Anclajes</title>
<para
>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>
<para
>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. </para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--edit-diagram-->
