Tutorial Visual Paradigm

25
Eduardo León http://www.slion2000.blogspot.com Tutorial Visual Paradigm for UML

Transcript of Tutorial Visual Paradigm

Page 1: Tutorial Visual Paradigm

Eduardo León

http://www.slion2000.blogspot.com

Tutorial Visual Paradigm for UML

Page 2: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 2 / 25

CONTENIDO

1. INTRODUCCIÓN ................................................................................................................................. 4

2. ¿POR QUÉ UTILIZAR UML? ............................................................................................................ 5

3. CASO DE ESTUDIO: MULTICINES XTERIA................................................................................. 6

4. MODELO DE CASOS DE USO ........................................................................................................... 8

5. DIAGRAMA DE CLASES .................................................................................................................. 13

6. DIAGRAMA ENTIDAD-INTERRELACIÓN .................................................................................. 16

7. GENERANDO CÓDIGO Y BASE DE DATOS................................................................................ 19

8. OTRAS CARACTERÍSTICAS DE VISUAL PARADIGM ............................................................ 25

Page 3: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 3 / 25

LISTA DE FIGURAS

FIGURA 1. INTERFAZ DE USUARIO DE VISUAL PARADIGM .......................................................... 8

FIGURA 2. NUEVO DIAGRAMA DE CASOS DE USO ............................................................................ 9

FIGURA 3. EDITOR DE DIAGRAMA DE CASOS DE USO. ................................................................... 9

FIGURA 4. BARRA DE HERRAMIENTAS DE DIAGRAMAS DE CASOS DE USO. ........................ 10

FIGURA 5. DIAGRAMA DE CASOS DE USO ......................................................................................... 11

FIGURA 6. DESCRIPCIÓN DE CASOS DE USO. ................................................................................... 12

FIGURA 7. NUEVO DIAGRAMA DE CLASES ....................................................................................... 13

FIGURA 8. ÁREA DE TRABAJO DE DIAGRAMA DE CLASES ......................................................... 14

FIGURA 9. DIAGRAMA DE CLASES ...................................................................................................... 15

FIGURA 10. SINCRONIZAR DIAGRAMA ENTIDAD-INTERRELACIÓN ........................................ 16

FIGURA 11. ASIGNACIÓN DE CAMPO ID A LAS CLASES................................................................ 17

FIGURA 12. DIAGRAMA ENTIDAD-INTERRELACIÓN ..................................................................... 18

FIGURA 13. GENERACIÓN DE CÓDIGO ............................................................................................... 19

FIGURA 14. GENERACIÓN DE CÓDIGO. .............................................................................................. 20

FIGURA 15. GENERACIÓN DE BASE DE DATOS. ............................................................................... 21

FIGURA 16. PARÁMETROS DE LA BASE DE DATOS. ....................................................................... 22

FIGURA 17. GENERACIÓN DE CÓDIGO Y BASE DE DATOS ACABADA. ..................................... 23

FIGURA 18. CARPETAS GENERADAS. .................................................................................................. 23

FIGURA 19. TABLAS CREADAS AUTOMÁTICAMENTE. .................................................................. 24

Page 4: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 4 / 25

1. INTRODUCCIÓN

En la actualidad, muchos son los desarrollos en los que por falta de tiempo

y/o recursos no se aplican los principios básicos que aconseja la doctrina de la

Ingeniería del Software.

Debido a la heterogeneidad en el sector de las nuevas tecnologías y al

constante cambio que se producen en tecnologías y sistemas, pocas son las

prácticas de Ingeniería del Software que se afianzan e institucionalizan en la

organización. Además, la falta de herramientas que asistieran la implantación de

estas prácticas y la poca cobertura que ofrecían las existentes han hecho que el

desarrollo de software fuera considerado por la sociedad una actividad artesanal.

Afortunadamente fabricantes como Microsoft o IBM han apostado fuerte

por el desarrollo de software guiado por modelos orientando así el desarrollo de

software hacia un enfoque ingenieril y disciplinado; en este sentido IBM desarrolló

Rational Rose como herramienta CASE1 recomendada para la aplicación y

seguimiento del Proceso Unificado de Desarrollo.

El presente documento pretende ser una introducción al uso de una

herramienta CASE para el desarrollo con UML2.

Los objetivos que se persiguen con la lectura de este documento son los

siguientes:

Familiarización del desarrollador en entornos CASE.

Adquisición de destreza en la generación de código.

Conocer la arquitectura de n-capas.

Explotar la potencia de la orientación a objetos.

Apreciar las ventajas de usar herramientas CASE en labores de

mantenimiento.

Comprender UML como medio de comunicación dentro del equipo.

Documentar el ciclo de vida del software.

1 CASE: Computer Aided Software Engineering

2 UML: Unified Modeling Language

Page 5: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 5 / 25

2. ¿POR QUÉ UTILIZAR UML?

Hoy en día, UML está consolidado como el lenguaje estándar en el

análisis y diseño de sistemas de cómputo. Mediante UML es posible establecer

la serie de requerimientos y estructuras necesarias para plasmar un sistema de

software previo al proceso intensivo de escribir código.

En otros términos, así como en la construcción de un edificio se realizan

planos previo a su construcción, en Software se deben realizar diseños en UML

previa codificación de un sistema.

Los beneficios que se consiguen al utilizar UML son varios, por un lado el

uso de lenguajes visuales facilitan su asimilación y entendimiento por parte del

equipo de desarrollo; el tiempo invertido en el desarrollo de la arquitectura se

minimiza; la detección y resolución de errores se agiliza siempre y cuando se

haga uso de herramientas adecuadas de diagnóstico y depuración; y la

trazabilidad y documentación del proyecto se realiza de una forma ordenada y

guiada por los casos de uso. Pero si hay una ventaja que destaca sobre todas

las demás es la notable efectividad y productividad que se consigue en labores

de diseño arquitectónico y mantenimiento haciendo uso de UML frente a la

realización de las mismas tareas en ausencia de modelos.

En definitiva, implantar metodologías de desarrollo con UML en la

organización es una práctica que convierte a los desarrolladores en

profesionales más competitivos y eficaces en sus proyectos Software.

Page 6: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 6 / 25

3. CASO DE ESTUDIO: MULTICINES XTERIA

Para iniciarnos en el modelado con Visual Paradigm, realizaremos el

análisis y diseño de un sencillo caso de estudio que nos permitirá explorar las

características de esta herramienta CASE.

Supongamos la siguiente descripción de nuestro sistema:

Los multicines XTERIA nos han encargado que implementemos una

aplicación Web que permita la venta de entradas por Internet. XTERIA nos ha

dicho que en sus multicines cuenta con 14 salas, y que en cada sala se

proyecta al día la misma película en tres sesiones distintas. Cada sala tiene

distinto número de butacas.

Por otro lado, XTERIA quiere tener registrados a sus clientes para poder

ofrecerles pases VIP a estrenos o eventos que proponga ocasionalmente. El

multicine distingue a sus clientes en dos tipos: clientes VIP y clientes normales.

Los datos necesarios que se han de almacenar para la implementación

del sistema son los siguientes:

Entidad Campos Descripción

Sala ID_Sala : tipo autonumérico

Número_Butacas: tipo int

Título_Película: tipo string

Se almacena la información correspondiente a una sala del cine y la película que se proyecta.

Sesión ID_Sesión: tipo autonumérico

Hora_Sesión: tipo string

Se almacena la hora de cada sesión

Entrada ID_Entrada: tipo autonumérico

Fila: tipo int

Se almacena la información referente a la entrada.

Page 7: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 7 / 25

Columna: tipo int

Precio: tipo double

Cliente VIP

ID_Cliente: tipo autonumérico

Nombre: tipo string

Apellidos: tipo string

E_Mail: tipo string

Número_Pases_VIP: tipo int

Se almacena la información de los clientes VIP del multicine.

Cliente normal

ID_Cliente: tipo autonumérico

Nombre: tipo string

Apellidos: tipo string

E_Mail: tipo string

Fecha_Última_Compra: tipo datetime

Se almacena la información necesaria de los clientes normales del multicine.

A continuación, realizaremos los principales diagramas para modelar el

sistema descrito.

Page 8: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 8 / 25

4. MODELO DE CASOS DE USO

Para realizar el diagrama de casos de uso, primeramente crearemos un

proyecto nuevo en Visual Paradigm. Arrancaremos la aplicación y se nos

mostrará la interfaz de usuario como se muestra en la figura 1.

Figura 1. Interfaz de usuario de Visual Paradigm

En la ventana de la aplicación se muestra un árbol desplegado al lado

izquierdo con todos los tipos de diagramas de UML que se pueden definir con la

herramienta.

Page 9: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 9 / 25

Sobre los diagramas de tipo Casos de Uso, haremos clic con el botón

derecho del ratón y seleccionamos “New Use Case Diagram”.

Figura 2. Nuevo diagrama de casos de uso

Se mostrará la ventana de edición de diagramas de casos de uso.

Figura 3. Editor de diagrama de casos de uso.

Page 10: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 10 / 25

Sobre el lateral izquierdo, seleccionamos los elementos de nuestro diagrama

como los actores del sistema o los globos que definirán cada caso de uso.

Figura 4. Barra de herramientas de Diagramas de Casos de Uso.

Contamos con una completa barra de herramientas para decorar con todo detalle

los diagramas de caso de uso; así por ejemplo, además de la típica asociación

entre casos de uso, disponemos de relaciones de inclusión, extensión,

dependencia y generalización para modelar nuestro sistema.

Page 11: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 11 / 25

El diagrama de casos de uso se representa en la figura 5. En dicho

diagrama aparecen los actores de nuestro sistema como el Administrador del

sistema y los diferentes tipos de clientes que heredan características de un cliente

genérico. Por simplicidad, se muestran los casos de uso más importantes del

sistema.

Figura 5. Diagrama de casos de uso

Page 12: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 12 / 25

Haciendo clic con el botón derecho sobre cada caso de uso y

seleccionando “Open Specification” se nos mostrará un formulario donde

podremos añadir información más detallada acerca del caso de uso.

Figura 6. Descripción de casos de uso.

Page 13: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 13 / 25

5. DIAGRAMA DE CLASES

Un tipo de diagrama de vital importancia para la definición del sistema es el

diagrama de clases. En este diagrama se representan las entidades de forma

estática en forma de clases. Una clase puede contener atributos, propiedades y

métodos.

Para crear un nuevo diagrama de clases, haremos clic sobre el árbol de

diagramas de la izquierda de la ventana y seleccionaremos sobre el ítem “Class

Diagram” e indicaremos la creación de nuevo diagrama de clases.

Figura 7. Nuevo diagrama de clases

Page 14: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 14 / 25

Una vez creado un nuevo diagrama de clases, se mostrará el área de trabajo. De

nuevo, contamos con una barra de herramientas en el lado izquierdo con todos

los elementos necesarios para modelar el diagrama de clases.

Figura 8. Área de trabajo de diagrama de clases

En esta barra de herramientas lateral aparecen agrupados los botones por tipo de

elemento; por ejemplo, en el grupo “Class” podemos hacer clic

sobre la clase básica o seleccionar alguna clase ya estereotipada

por el sistema.

Page 15: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 15 / 25

Para dibujar el diagrama de clases, utilizaremos las clases estereotipadas

como “ORM-Persistable Class” ya que las entidades que vamos a incluir han de

ser almacenadas en alguna base de datos. Seguidamente estableceremos las

relaciones existentes entre las entidades como relaciones de herencia o

relaciones de asociación “uno a muchos”. El diagrama de clases queda como el

de la figura.

Figura 9. Diagrama de clases

En el diagrama de clases se observa que las clases no contienen un campo ID

para identificar los objetos; en realidad un objeto no requiere información extra

para distinguirse unívocamente en el sistema ya que un objeto posee

identificación implícita por el mero hecho de existir, sin embargo al tratarse de

clases persistentes, deberemos incluir un campo ID para poder almacenar y

recuperar posteriormente el objeto de la base de datos.

Page 16: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 16 / 25

La elección del campo de identificación del objeto la puede realizar el modelador

del sistema o dejar que Visual Paradigm asigne automáticamente un campo

autogenerado. En cualquier caso Visual Paradigm necesitará de un campo de

identificación que de ahora en adelante conoceremos como ORMID3 para la

gestión de la persistencia de este tipo de clases.

6. DIAGRAMA ENTIDAD-INTERRELACIÓN

En el diagrama entidad-interrelación representaremos la estructura que debe

tener la base de datos para almacenar los objetos persistentes del sistema. En

este diagrama conectaremos las entidades haciendo uso de claves ajenas para

mantener la semántica descrita en el diagrama de clases.

Para generar automáticamente el diagrama entidad-interrelación a partir del

diagrama de clases navegaremos por:

Menú Tools->Object Relational Mapping (ORM) -> Synchronize to Entity

Relationship Diagram

Figura 10. Sincronizar diagrama entidad-interrelación

3 ORMID: Object Relational Mapping ID

Page 17: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 17 / 25

Una vez seleccionada la opción, se mostrará un formulario en el que se debe

indicar los campos que van a actuar como identificadores de los objetos.

Figura 11. Asignación de campo ID a las clases

En el formulario aparecen listadas las clases del diagrama de clases y la clave

primaria asociada a cada clase. Por defecto Visual Paradigm autogenerará una

clave primaria para cada clase, o bien, podremos seleccionar uno de los atributos

de la clase para que actúe como clave principal.

Page 18: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 18 / 25

Una vez seleccionadas las claves primarias, aceptamos para completar el

proceso. Se mostrará el diagrama entidad-interrelación como el de la figura.

Figura 12. Diagrama entidad-interrelación

Page 19: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 19 / 25

7. GENERANDO CÓDIGO Y BASE DE DATOS

Una vez completada la fase de modelado conceptual del sistema,

procederemos a la generación automática del código de las clases persistentes y

la base de datos.

Visual Paradigm hace uso del framework NHIbernate4 para gestionar la

persistencia de los objetos ORM.

Para iniciar la generación automática deberemos navegar por el menú:

Tools -> Object-Relational Mapping (ORM) -> Generate Code…

Figura 13. Generación de código

4 NHibernate: framework encargado de gestionar la persistencia. Mapea las clases con su equivalente tabla en

la base de datos. Actualmente tanto NHibernate como su versión para J2EE, Hibernate, son compatibles con

los principales gestores de bases de datos del mercado.

Page 20: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 20 / 25

A continuación se mostrará el siguiente formulario:

Figura 14. Generación de código.

En este formulario se parametriza la generación tanto del código como de la

base de datos. La configuración de la generación de código y la base de datos

aparecen en pestañas diferentes. En la pestaña de código podemos seleccionar

el lenguaje de programación en el que va a generar el código, la versión del

framework en caso de ser un lenguaje .NET e incluso obtener un proyecto de

ejemplo compatible con las versiones 2003 y 2005 de Visual Studio.

Page 21: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 21 / 25

En la pestaña de configuración de la base de datos deberemos adjuntar la

información necesaria referente al gestor de base de datos utilizado, usuario,

contraseña, etc.

Figura 15. Generación de base de datos.

Para introducir la información de la base de datos, deberemos hacer clic en el botón “Database Options”.

Page 22: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 22 / 25

Se mostrará el siguiente formulario:

Figura 16. Parámetros de la base de datos.

En este formulario podemos seleccionar uno o varios gestores de bases de

datos en los que crear la base de datos de nuestro sistema. En este punto

deberemos seleccionar el adaptador y driver adecuado para el gestor

seleccionado; en caso de no disponer del driver adecuado, Visual Paradigm se

conectará a Internet y se descargará automáticamente la versión más reciente

para el gestor deseado. Por último y una vez configurada la conexión, es

recomendable realizar una prueba de la conexión haciendo clic en el botón “Test

Connection” antes de lanzar la creación de la base de datos.

Page 23: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 23 / 25

Una vez configurada la generación tanto del código como de la base de

datos, aceptaremos la ejecución del proceso y si todo ha ido bien, se mostrará el

siguiente diálogo.

Figura 17. Generación de código y base de datos acabada.

Por último, examinamos los productos generados por la herramienta. El

código generado se habrá guardado en el directorio que hayamos indicado

previamente. Automáticamente se habrán creado dos carpetas denominadas “src”

y “lib” en la que encontraremos código fuente y librerías de NHibernate

respectivamente.

Figura 18. Carpetas generadas.

Page 24: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 24 / 25

Y en el gestor de base de datos comprobamos que se han creado las

tablas satisfactoriamente.

Figura 19. Tablas creadas automáticamente.

Page 25: Tutorial Visual Paradigm

Tutorial Visual Paradigm for UML

http://www.slion2000.blogspot.com 25 / 25

8. OTRAS CARACTERÍSTICAS DE VISUAL PARADIGM

En este tutorial hemos puesto en práctica una de las funcionalidades más

importantes si cabe de Visual Paradigm como es la generación de código y la

base de datos a partir de los diagramas UML realizados, pero esta herramienta

aporta más características no menos interesantes para el desarrollador como es

la realización de Ingeniería Inversa5, generación automática de informes en

formato PDF, Word o HTML; generación de máquinas de estados, integración con

Visio y Rational Rose, etc.

Para obtener una descripción más detallada de estas funcionalidades se invita

al lector a que examine la bibliografía oficial de la herramienta disponible de forma

gratuita en la web: http://www.visual-paradigm.com/

5 Ingeniería Inversa: proceso ingenieril en el que se obtienen modelos conceptuales a partir de los artefactos

software como código fuente, ejecutables, binarios y ficheros intermedios.