Post on 16-May-2020
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, objetoacción u objetoobjeto 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