Seminario de Magic Draw -...

40
Ingeniero en Informática. Facultad de Informática. Arquitectura del Software. Prácticas. 2006/2007. Seminario de Magic Draw Miguel Ángel Orenes Fernández Pedro Luis Mateo Navarro ______________________________________________________________________ Guía de MagicDraw  Página 1

Transcript of Seminario de Magic Draw -...

Ingeniero en Informática. Facultad de Informática. Arquitectura del Software. Prácticas. 2006/2007. 

Seminario de Magic Draw

Miguel Ángel Orenes FernándezPedro Luis Mateo Navarro

______________________________________________________________________Guía de MagicDraw  Página 1

 

ÍndiceObjetivos ...........................................................................................................................3Consejos para el uso de esta guía......................................................................................4Desarrollo..........................................................................................................................5

El proyecto de Magic Draw..........................................................................................5Crear un proyecto nuevo...............................................................................................5

Diagramas UML................................................................................................................6Diagrama de Casos de Uso...........................................................................................6

Elementos más importantes de este tipo de diagrama..............................................6Pasos para llevar a cabo la realización del diagrama...............................................7

Diagrama de Clases....................................................................................................10Elementos más importantes de este tipo de diagrama............................................10Pasos para llevar a cabo la realización del diagrama.............................................11

Modelo conceptual......................................................................................................13Elementos más importantes de este tipo de diagrama............................................13Pasos para llevar a cabo la realización del diagrama.............................................14

Diagrama de Secuencia...............................................................................................17Elementos más importantes de este tipo de diagrama............................................17Pasos para llevar a cabo la realización del diagrama.............................................19

Diagrama de Colaboración.........................................................................................25Elementos más importantes de este tipo de diagrama............................................25Pasos para llevar a cabo la realización del diagrama.............................................26

Diagrama de Estados..................................................................................................29Elementos más importantes de este tipo de diagrama............................................29Pasos para llevar a cabo la realización del diagrama.............................................31

Diagrama de Actividades............................................................................................34Elementos más importantes de este tipo de diagrama............................................34Pasos para llevar a cabo la realización del diagrama.............................................35

Generar Código...............................................................................................................36Generar Informes.............................................................................................................37Referencias......................................................................................................................40

______________________________________________________________________Guía de MagicDraw  Página 2

Objetivos

– Aprender a manejar los fundamentos de Magic Draw, la herramienta de soporte al modelado con UML que vamos a utilizar en prácticas.

– Comprender la estructura de un modelo UML en Magic Draw

– Crear los elementos de los modelos y diagramas de UML

– Estructurar los elementos anteriores a través de paquetes

– Generar código automáticamente a partir de los modelos 

______________________________________________________________________Guía de MagicDraw  Página 3

Consejos para el uso de esta guía

En esta guía se explica el desarrollo de los diferentes diagramas UML utilizando la herramienta de modelado Magic Draw.

Para cada uno de los diferentes tipos de diagramas, encontraremos la siguiente información:

– pasos iniciales para la creación del diagrama

– elementos más importantes que aparecen en el diagrama (cabe señalar que en este apartado solamente hemos incluido los elementos más importantes, aunque la herramienta Magic Draw, en la mayoría de las ocasiones, proporciona un abanico más amplio para la realización de los mismos)

– creación de un diagrama de ejemplo, en el que se explican los pasos más importantes

Al final de la guía, encontraremos dos apartados finales, correspondientes con la generación de informes y la generación de código.

______________________________________________________________________Guía de MagicDraw  Página 4

Desarrollo

El proyecto de Magic DrawToda la información del proyecto se guarda en un único fichero.El nuevo proyecto creado estará formado por los siguientes paquetes:

­ Paquete de datos inicialmente vacío, que guardará todos los elementos del modelo.

­ Paquete de visualización de las vistas (File View) que contendrá los elementos creados durante la implementación del código. Básicamente contendrá los ficheros fuente.

­ UML Standard Profile contiene los estereotipos que son necesario para trabajar con MagicDraw, tipos de datos primitivos, y sus restricciones, que son del estándar de UML, y los elementos del meta modelo de UML 2.0.

Para utilizar Magic Draw Y empezar a trabajar con la herramienta, es necesario crear un proyecto sobre el que iremos trabajando. 

Crear un proyecto nuevoPara crearlo, seguiremos los siguientes pasos:

1. crearemos una carpeta con el nombre que queramos. Ésta será la carpeta contenedora de nuestro proyecto

2. con la herramienta ya abierta, haremos clic en la opción “File ­> New Project”. La aplicación procederá a crear un nuevo proyecto

3. una vez termine de crear el proyecto, usaremos la opción “File ­> Save Project As...” para guardarlo. Seleccionaremos la carpeta contenedora que hemos creado en el paso 1, pondremos un nombre al proyecto y pulsaremos el botón de “Save”.

Ya tendremos creado un proyecto vacío sobre el cual poder trabajar.

______________________________________________________________________Guía de MagicDraw  Página 5

Diagramas UML

Diagrama de Casos de Uso

Para crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Use Case Diagram”.

Elementos más importantes de este tipo de diagrama

Actor

Representa los roles que juegan los usuarios en el sistema 

Caso de Uso

Especifica un comportamiento en particular del sistema

Asociación

Participación de un actor en un caso de uso

Generalización

______________________________________________________________________Guía de MagicDraw  Página 6

Pasos para llevar a cabo la realización del diagrama

1 Añadir elementos al diagrama

Para añadir un nuevo elemento al diagrama debemos hacer clic derecho sobre la carpeta Data del árbol de contenidos (Containment tree) y seleccionar "New Element ­­> X", donde X será el elemento que queramos crear (actor, caso de uso,...). Le asiganaremos un nombre único.

De este modo se añadirá a la lista del árbol de contenidos el nuevo elemento creado.

El resto de los elementos que compondrán el diagrama los crearemos de la misma forma.

Una vez creados todos los elementos que participarán en el diagrama, los añadiremos simplemente haciendo clic con el botón izquierdo sobre ellos y arrastrándolos hacia el “grid” del diagrama.

Como ya habrás observado, en la parte inferior izquierda de la vista del diagrama de casos de uso aparecen los símbolos de los diferentes elementos que se pueden crear. Se recomienda que se creen de la manera vista anteriormente, ya que nos dará la seguridad de tener sólo los elementos necesarios para nuestro diagrama.A la hora de borrar un elemento del diagrama se debe ser cauto, ya que si lo eliminas de la vista grafica, no desaparece del modelo, es decir, lo quitamos del diagrama pero no de los elementos que forman el proyecto. Para eliminar cualquier elemento del proyecto habrá que hacer clic derecho sobre dicho 

______________________________________________________________________Guía de MagicDraw  Página 7

elemento en del árbol de contenidos (Containment tree) y selecionar la opción eliminar (delete).

2 Establecer relaciones entre los elementos del diagrama

Podemos observar como cuando seleccionamos un elemento ( en este caso un actor) aparecen a su derecha los símbolos de las posibles relaciones en las que puede participar, lo que nos dará la facilidad de no tener que ir a buscarlas a una paleta de herramientas, ya que con sólo hacer clic sobre la relación, podremos establecerla simplemente arrastrando el puntero del ratón hacia el elemento destino.

Ejemplo de diagrama de Casos de Uso:

______________________________________________________________________Guía de MagicDraw  Página 8

Para guardar el diagrama simplemente tendremos que hacer clic sobre el menú “File ­> Save project”, y el nuevo diagrama que hemos creado quedará guardado en nuestro proyecto. 

______________________________________________________________________Guía de MagicDraw  Página 9

Diagrama de Clases

Para crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Class Diagram”.

Elementos más importantes de este tipo de diagrama

Clase

Enumeración              

Interfaz 

Paquete

Generalización

Asociación

Relación de implementación con interfaz

______________________________________________________________________Guía de MagicDraw  Página 10

Pasos para llevar a cabo la realización del diagrama

1 Añadir elementos al diagrama

Crearemos los elementos de la misma forma que se explicó en el apartado anterior.

Para añadir un nuevo elemento al diagrama debemos hacer clic derecho sobre la carpeta Data del árbol de contenidos (Containment tree) y seleccionar "New Element ­­> X", donde X será el elemento que queramos crear (clase, interfaz,...). Le asiganaremos un nombre único.

Una vez creados todos los elementos que participarán en el diagrama, los añadiremos haciendo clic con el botón izquierdo sobre ellos y arrastrándolos hacia el “grid” del diagrama.

Ya tendremos el diagrama preparado para establecer todas las relaciones necesarias.

2 Establecer relaciones entre los elementos del diagrama

Una vez que tengamos todos los elementos colocados en el diagrama, empezaremos a establecer las relaciones entre ellos. Para ello, seguiremos el mismo método explicado antes: hacer clic con el botón izquierdo sobre el elemento, seleccionar la relación que queramos establecer y arrastrar el puntero del ratón hasta el elemento destino de la relación.

3 Insertar métodos y atributos a las clases

Para insertar nuevos métodos a una clase/interfaz, haremos clic con el botón derecho sobre el elemento objetivo y seleccionaremos en el menú contextual la opción “Insert  New Operation”. Introduciremos el nombre correspondiente y aceptaremos pulsando la tecla intro. Ya tendremos añadido un nuevo método para esa clase o interfaz.

Para insertar nuevos atributos procederemos de la misma forma, aunque lo haremos seleccionando la opción “Insert New Atribute”

______________________________________________________________________Guía de MagicDraw  Página 11

Ejemplo de diagrama de clases:

______________________________________________________________________Guía de MagicDraw  Página 12

Modelo conceptual

Para crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Class Diagram” (notar que el modelado conceptual también consiste en un diagrama de clases, pero un tanto especial).

Elementos más importantes de este tipo de diagrama

Clase

Asociación

Notas

______________________________________________________________________Guía de MagicDraw  Página 13

Pasos para llevar a cabo la realización del diagrama

La forma de llevar a cabo la realización de esta diagrama es similar a la del diagrama de clases, pero cabe añadir la forma en que introduciremos las cardinalidades entre las clases que componen nuestro modelado conceptual.

Una vez creadas todas las clases, comenzaremos a crear todas las relaciones.Para crear relaciones, a las que posteriormente añadiremos cardinalidades, usaremos el tipo de relación sin dirección  .

Para añadir cardinalidades a las asociaciones, haremos clic con el botón derecho del raton sobre la linea que representa la asociación, apareciéndonos el siguiente menú contextual:

Las dos opciones de abajo corresponden con las cardinalidades a ambos extremos de la relación, que en este ejemplo se tratan de las clases “Venta” y “Linea de Venta”. Si ahora situamos el puntero del ratón sobre alguna de las dos opciones, se nos aparecerá otro menú contextual en el que podremos elegir la cardinalidad que deseemos.

______________________________________________________________________Guía de MagicDraw  Página 14

Como podemos observar, en el menú de la izquierda, en la parte de abajo, encontramos las cardinalidades disponibles. Para seleccionar una de ellas, simplemente haremos clic con el botón izquierdo sobre una de las opciones disponibles y automáticamente se añadirá al diagrama que estamos creando, como se muestra en la imagen a continuación:

El resto de las cardinalidades las introduciremos siguiendo los mismos pasos.

______________________________________________________________________Guía de MagicDraw  Página 15

Por último, en estos tipos de diagramas es muy común añadir notas para aclarar los conceptos.

Para ello, simplemente añadiremos una nueva nota al diagrama haciendo clic sobre el botón   y haciendo clic de nuevo en la zona del diagrama donde queramos 

añadirla.Introduciremos el texto correspondiente por teclado y llevaremos a cabo la asociación de la nota con el elemento al que se refiere. Haremos clic sobre la nota que acabamos de crear, y se nos presentará la siguiente situación:

Haremos clic sobre el botón que nos aparece situado a la derecha de la nota y arrastraremos hasta el elemento con el cual queramos relacionarla.El resultado es el siguiente:

______________________________________________________________________Guía de MagicDraw  Página 16

Diagrama de SecuenciaPara crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Sequence Diagram”.

Una vez creado aparecerá como parte del caso de uso, y lo único que tenemos que hacer es cambiarle el nombre:

Elementos más importantes de este tipo de diagrama

Linea de vida de un objeto

Mensaje

Automensaje

Mensaje Recursivo

______________________________________________________________________Guía de MagicDraw  Página 17

Mensaje Diagonal

______________________________________________________________________Guía de MagicDraw  Página 18

Pasos para llevar a cabo la realización del diagrama

Una vez creado el diagrama de secuencia para el caso de uso Realizar Venta, debemos de crear la clase Sistema. Para ello hacemos clic derecho sobre la carpeta Data del Containment tree y seleccionamos New Element ­­> Class.

Una vez creada la clase, procedemos a introducir el actor Cajero y la clase Sistema  en el diagrama de secuencia creado. Para ello los arrastraremos con el ratón:

Como se puede observar en la parte izquierda de la vista del diagrama de secuencia, aparecen los elementos para este tipo de diagrama.

Ahora proseguimos introduciendo los mensajes. Para ello seleccionamos el elemento Message :

______________________________________________________________________Guía de MagicDraw  Página 19

Y hacemos clic sobre la línea de tiempo del Cajero y seguidamente sobre la clase sistema. 

Podemos observar que hemos creado un nuevo mensaje entre los dos elementos que acabábamos de introducir.Una vez echo esto, haremos clic derecho sobre el nuevo mensaje creado y seleccionamos Specification:

Y nos aparecerá la siguiente ventana, donde aparecen todas las propiedades relacionadas con el mensaje que acabamos de crear:

______________________________________________________________________Guía de MagicDraw  Página 20

Tendremos que realizar los siguiente pasos:­ El campo Message Type contendrá el tipo "Send Message".­ En el campo Name, introduciremos el nombre del mensaje correspondiente, en 

nuestro caso introducirItem.­ Pulsar Close para confirmar los cambios.

Como se puede observar, el mensaje aparecerá ahora con nombre:

En el caso de que al mensaje creado queramos añadirle parámetros, debemos hacer lo siguiente:

1­ Volvemos a abrir la especificación (clic derecho y seleccionamos Specification).

2­ Seleccionamos la opción Arguments que aparece en la parte izquierda de la ventana.

3­ Pulsar Create

______________________________________________________________________Guía de MagicDraw  Página 21

4­ En el menú que se despliega, seleccionamos la opción que queramos., en nuestro caso elegiremos Element Value, ya que queremos pasarle dos enteros como parámetros. El tipo tendremos que buscarlo entre los predefinidos por UML.

5­ Buscamos la clase int en la ventana que aparece y hacemos clic sobre OK:

Repetiremos el proceso para añadir otro parámetro entero.

______________________________________________________________________Guía de MagicDraw  Página 22

La ventana de argumentos quedará de la siguiente manera:

Seleccionamos Close para confirmar los cambios y nos quedará el siguiente diagrama de secuencias:

 

______________________________________________________________________Guía de MagicDraw  Página 23

Ahora solamente nos quedará crear otros dos mensajes (terminarVenta() y  realizarPago()) de igual forma que acabamos de crear este mensaje, quedándonos el diagrama como se muestra en la siguiente imagen:

______________________________________________________________________Guía de MagicDraw  Página 24

Diagrama de Colaboración

Para crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Communication Diagram”.

Elementos más importantes de este tipo de diagrama

Objeto participante

Conector

Autoconector

Mensaje a la derecha

Mensaje a la izquierda

Mensaje de llamada a la derecha

Mensaje de llamada a la izquierda

______________________________________________________________________Guía de MagicDraw  Página 25

Pasos para llevar a cabo la realización del diagrama

Para ilustrar como se crean este tipo de diagramas, vamos realizar el diagrama de colaboración de la operación del sistema IntroducirItem .Seguiremos los siguientes pasos:

– Se añaden las clases necesarias (que fueron creadas ya con el diagrama de clases) y el actor (creado al hacer el diagrama de casos de uso) al diagrama arrastrándolos desde el Containment Tree. Si no están creadas creamos las clases TPV, Venta, LineaVenta, CatalogoProducto y producto; y el actor cajero.

– Ahora pasamos a crear los mensajes. Para ello primero es necesario crear un conector entre los dos elementos que se comunican, que lo haremos haciendo clic 

sobre el icono   que aparece en la ventana del diagrama de colaboración. Haremos clic sobre el actor Cajero y arrastraremos hasta la clase TPV, por lo que ya quedarán conectados, como se muestra en la imagen:

– Una vez conectados, añadiremos un nuevo mensaje haciendo clic sobre el icono   y posteriormente haciendo clic sobre el conector que acabamos de crear, con el fin de asociar el mensaje que nos disponemos a crear con el conector que creamos anteriormente. El resultado es el siguiente:

______________________________________________________________________Guía de MagicDraw  Página 26

Introducimos el nombre correspondiente al mensaje, y para añadirle argumentos lo haremos del mismo modo que lo hicimos para el diagrama de secuencias.Tras añadirle un nombre y los correspondientes argumentos al mensaje, su especificación quedaría de la siguiente manera:

______________________________________________________________________Guía de MagicDraw  Página 27

Aceptaremos los cambios haciendo clic sobre el botón “Close”, siendo el resultado el siguiente:

Donde podemos apreciar dos elementos:– el conector que asocia a Cajero y a TPV– el mensaje que representa la comunicación entre ellos

Ahora, continuaremos introduciendo el resto de conectores y mensajes del mismo modo que acabamos de explicar, siendo el resultado el siguiente: 

______________________________________________________________________Guía de MagicDraw  Página 28

Diagrama de Estados

Para crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> State Diagram”.

Elementos más importantes de este tipo de diagrama

Estado

Estado compuesto

Estado ortogonal

Estado Inicial

Estado final

Punto de entrada

Punto de salida

Transición de estado

______________________________________________________________________Guía de MagicDraw  Página 29

Autotransición

Unión/división de transiciones   

______________________________________________________________________Guía de MagicDraw  Página 30

Pasos para llevar a cabo la realización del diagrama

Comenzaremos introduciendo los estados inicial y final, que siempre deben de estar presentes en un diagrama de estado (también en los estados compuestos). Para ello, primero haremos clic en los iconos correspondientes y luego clic en el diagrama, en la posición en la que queramos insertarlos.Para añadirles un nombre que los identifique, haremos doble clic sobre ellos, con lo que nos aparecerá la siguiente ventana:

Introduciremos el nombre que queramos en el campo “name” y confirmaremos los cambios haciendo clic sobre el botón “Close”. El nombre se añadirá al diagrama de forma automática.

______________________________________________________________________Guía de MagicDraw  Página 31

El resto de los elementos los introduciremos de la misma forma.

Cabe destacar un tipo de elemento especial, que son los estados compuestos. Los estados compuestos podríamos considerarlos como subdiagramas de estado que se incluyen en un StateChart.

Para crear un estado compuesto (en el ejemplo se incluye uno), simplemente lo crearemos como un elemento normal del diagrama, sólo que dentro de este podremos insertar nuevos elementos, como por ejemplo estados, flujos, agregaciones de flujos, ...Todo estado compuesto posee uno o más estados iniciales y uno o más estados finales; y se relacionará con otros elementos del diagrama como si de un elemento básico se tratara.

Una vez hayamos incluido y nombrado todos los elementos que formarán parte del diagrama de estado, tendremos que incluir todas las relaciones, que representarán el posible cambio de un estado a otro.

Para ello, seguiremos el mismo proceso que hemos seguido hasta el momento:

1. haremos clic izquierdo sobre el elemento origen del flujo2. cuando aparezca el icono de la asociación a su derecha, haremos clic sobre él y 

lo arrastraremos hacia el elemento que será el extremo final de la misma.

______________________________________________________________________Guía de MagicDraw  Página 32

Repetiremos el proceso para cada una de las asociaciones que queramos establecer, siendo el resultado el siguiente:

______________________________________________________________________Guía de MagicDraw  Página 33

Diagrama de ActividadesPara crear un nuevo diagrama de este tipo, haremos clic con el botón derecho sobre la carpeta “Data” situada en el “Containment Tree”, y seleccionaremos la opción “New Diagram ­> Activity Diagram”.

Elementos más importantes de este tipo de diagrama

Acción

Llamada

Objeto

Flujo de control

Nodo inicial

Nodo final

Nodo decisión

Unión/división de flujo de control   

______________________________________________________________________Guía de MagicDraw  Página 34

Pasos para llevar a cabo la realización del diagramaLa creación del diagrama de actividades es directa a partir de la barra de herramientas, salvo en un detalle:

­ Si queremos que el flujo de control vaya desde una acción hacia otra acción, 

tendremos que hacer clic en el icono    de la barra de herramientas ­ Mientras que si queremos que sea un flujo de objetos, la relación sea acción­

objeto, objeto­acción u objeto­objeto tendremos que hacer clic sobre  .

No obstante para mayor facilidad, si hacemos clic sobre una acción, en la parte derecha de la acción nos aparecerán los posibles elementos que pueden hacer referencia, al igual que si se hace clic sobre un objeto:

Acción:                           Objeto:                                       

                   

Realizamos un diagrama de actividades de ejemplo:

______________________________________________________________________Guía de MagicDraw  Página 35

Generar Código

Para generar código seguiremos los siguientes pasos:

1. en el menú correspondiente a las opciones de código, seleccionaremos la opción “Generate”, y nos aparecerá el diálogo de “Opciones de generación de código”, mostrado en la siguiente imagen:

2. definiremos en este diálogo las opciones de la generación, seleccionando las correspondientes. Entre ellas podemos encontrar la opción “Output Directory”, correspondiente al directorio donde se guardarán los ficheros generados.

3. haremos clic en el botón OK.4. si queremos modificar el código generado, podemos utilizar la opción “Edit 

Source” en el menú correspondiente a las opciones de código.

______________________________________________________________________Guía de MagicDraw  Página 36

Generar Informes

Para generar informes seguiremos los siguientes pasos:

1. Seleccionaremos la opción del menú “Tools ­> Report”, con lo que se nos abrirá el diálogo correspondiente con la elección de informe:

2. Pestaña “Template Management”. En el árbol que está situado a la derecha escogeremos la plantilla correspondiente al tipo de informe que queramos generar. En el campo “Description” aparecerá una descripción con las características más importantes de cada una de las plantillas que aparecen.

3. En la pestaña “Select Packages” podremos escoger el ámbito que abarcará el informe que nos disponemos a generar. Para ello seleccionaremos los paquetes que estimemos conveniente, y la opción “Generate Recursively” si queremos activar una generación recursiva del informe.

______________________________________________________________________Guía de MagicDraw  Página 37

4. En la pestaña “Select Diagrams” seleccionaremos los diagramas que abarcará el informe.

______________________________________________________________________Guía de MagicDraw  Página 38

5. Por último, en la pestaña “Outputs Options” seleccionaremos las opciones finales del informe, como por ejemplo el directorio de salida, formatos de salida, ...

6. seleccionaremos la opción “Generate”. 

______________________________________________________________________Guía de MagicDraw  Página 39

Referencias

Para la elaboración de esta guía hemos utilizado los recursos disponibles en la página web oficial de la herramienta Magic Draw (www.magicdraw.com), basándonos principalmente en:

– Documento “Magic Draw Tutorials”– Documento “Magic Draw User Manual”– Ejemplos de diagramas

Para cualquier duda, omisión o error sobre esta guía, se recomienda la consulta de este material.

______________________________________________________________________Guía de MagicDraw  Página 40