HERRAMIENTAS CASE

97
6 ALGORÍTMICA II FISI - UNMSM “Año del deber ciudadano” UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, Decana de América) FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA E.A.P.SISTEMAS Integrantes : Salazar Reque Juan Miguel 06200036 Valderrama Torres María Esther 06200025 Curso : Algorítmica II

Transcript of HERRAMIENTAS CASE

Page 1: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

“Año del deber ciudadano”

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, Decana de América)

FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

E.A.P.SISTEMAS

Integrantes : Salazar Reque Juan Miguel

06200036

Valderrama Torres María Esther

06200025

Curso : Algorítmica II

Profesor : Herrera Ponte Arón Elías

Tema : Diagrama de clases y

generación de código

Page 2: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Ciudad universitaria, 03 de noviembre del 2007

Desde que UML ( Unified Modeling Language) se ha establecido como un estándar para el modelado orientado a objetos de sistemas informáticos, multitud de empresas se han lanzado a la carrera de conquistar el mercado de herramientas de apoyo a la ingeniería del software, de tal manera que tan sólo el número de productos existentes ya hace difícil la tarea de seleccionar el más conveniente para un uso concreto. La "guerra de los métodos" se ha transformado en una "guerra de herramientas".

Page 3: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

INDICE

I. INDICE ………………………………………………………….3

II. INTRODUCCIÓN ……………………………………………….4

III. BoUML ………………………………………………………….5

1. Características …………………………………………….5

2. Instalación …………………………………………………5

3. Generación del diagrama de clases …………………….9

IV. RATIONAL ROSE ……………………………………………25

1. Características …………………………………………..25

2. Instalación ……………………………………………….25

3. Generación del diagrama de clases …………………..29

V. JDEVELOPER ………………………………………………..43

1. Características …………………………………………..43

2. Instalación ………………………………………………..43

Page 4: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

3. Generación del diagrama de clases …………………..48

VI. ANEXO ………………………………………………………..54

VII. CONCLUSIONES …………………………………………….59

VIII. BIBLIOGRAFÍA ………………………………………………60

INTRODUCCIÓN

En el trabajo de investigación anterior mostramos una lista de Herramientas CASE y detallamos 4

de ellas, ahora en el presente trabajo nos centraremos en 3 de ellas con el objetivo de hacer un

análisis y comparación sobre ellas. En una primera parte trataremos de hacer un pequeño manual

de instalación, en una segunda parte crearemos nuestro diagrama de clase y generaremos el

código que cada herramienta nos proporcione, es en base a este código que haremos las

comparaciones entre una y otra herramienta.

En la etapa de análisis y diseño de nuestro proyecto necesitamos hacernos algunas preguntas

como por ejemplo: ¿Qué estamos construyendo? O ¿Cómo construirlo? En base a las respuestas

que obtengamos de estas dos preguntas elaboraremos un plan pero para esto es necesario

obtener una imagen global de nuestro proyecto.

Como se dijo una herramienta CASE trabaja en base a un lenguaje gráfico llamado UML, este

lenguaje fue creado con la finalidad de que el programador abstraiga completamente las

Page 5: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

características del proyecto y no se centre en sintaxis que en ese momento no es necesario siendo

esta la razón principal por la cual es necesario usar una herramienta CASE antes de empezar a

codificar pues nos brinda esa imagen total del proyecto.

I. BoUML

BoUmL es una herramienta de software libre. Pude ser redistribuida o modificada bajo los

términos de Licencia Pública General (GNU).

Es una herramienta que permite especificar y generar código en C++, Java, Php y IDL.

a) Características

Es gratis.

Es multiplataforma: Linux, Solari, Mac Os, Windows.

Permite programar simultáneamente en C++, Java, Php y IDL.

Es rápido ,no genera mucho espacio de memoria.

b) Instalación

1. Descargar la herramienta desde la página : http://bouml.free.fr/

Page 6: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Page 7: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

2. A continuación saldrá la siguiente página :

3. Se iniciará la descarga

Dar clic aquí

Dar clic aquí

Page 8: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

4. Una vez que se descargue, solo queda ejecutar. En algunos casos el cortafuego de

Windows no permite la descarga, para esto se recomienda primero guardarlo y luego

cambiarle de nombre.

5. Y a continuación procederemos a instalar el programa. Clic en Next

Page 9: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

6. A continuación direccionamos en dónde lo queremos instalar

7. Por último se genera en el escritorio los siguientes iconos :

Se direcciona en C por defecto

Se direcciona en C por defecto

Para crear nuestro diagrama de clases solo usaremos esta opción

Para crear nuestro diagrama de clases solo usaremos esta opción

Page 10: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

c) Creación del diagrama de clases

1. Damos clic al 1er icono que se instalo en el escritorio :

2. Aparecerá la siguiente ventana :

Aquí aparece el modelo de lo que vayamos creando

Aquí aparece el modelo de lo que vayamos creando

Aquí aparecen los distintos diagramas que podemos usar

Aquí aparecen los distintos diagramas que podemos usar

Aquí podemos editar la documentación del elemento seleccionado

Aquí podemos editar la documentación del elemento seleccionado

Page 11: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

3. Ahora creamos un proyecto; para eso vamos a Proyect -> New ; a continuación nos

saldrá una pantalla en la cual debemos indicar en dónde lo deseamos guardar ; yo lo

voy a guardar en una carpeta en el escritorio llamada BoUML y le pondré de nombre

al proyecto Elecciones y a continuación guardamos . Clic en guardar

4. Una vez hecho esto nos saldrá el siguiente mensaje de advertencia; con esto UML

nos indica que no tenemos definida la variable de entorno BOUML_ID ( esta variable

de entorno representa el id del desarrollador para trabajar en forma simultánea

sobre el mismo modelo – esto es algo muy importante que nos ofrece esta

herramienta). Ahora no hace falta esta opción (por que no es un proyecto grande en

la cual trabajen muchas personas) ,pero esto es necesario si se quiere trabajar con

las herramientas “Proyect Control” y “Project Synchro” que se instalaron y se ven en

el paso 1. Por ahora damos OK

Page 12: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Vemos que si no seleccionamos esta opción al usar las herramientas “Proyect

Control” y “Project Synchro” nos saldrá el siguiente mensaje

5. Al

dar clic en OK nos saldrá la siguiente advertencia; con esto BoUML nos está

recordando que tenemos que indicar los lenguajes destino para los que vamos a

generar el código. Le damos clic en OK.

6. Y tendremos una pantalla igual como en el paso 2; pero la diferencia es que ya se

creó nuestro proyecto llamado Elecciones.

7. A continuación elegimos los lenguajes en los cuales nos generará el código. Para

ello vamos a Languages ->y marcamos los lenguajes que queremos generar. Se

generará código en C++ y en Java.

Page 13: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

8. Empezamos creando nuestro diagrama de clases; para ello hacemos : clic derecho

en Elecciones -> New class view

Page 14: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

9. Damos un nombre a nuestro diagrama de clases, en este caso lo llamaremos

Ejemplo y damos OK.

10. A continuación insertaremos nuestras clases; para ello haremos clic derecho en

Ejemplo y seleccionaremos la opción New class Diagram.

11. A continuación tendremos la siguiente pantalla :

12. Hacemos doble clic en Eleccion y tendremos nuestra área de trabajo en la cual

iremos agregando clases y sus respectivas relaciones.

Page 15: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Con este botón crearemos nuestras clases

Con este botón crearemos nuestras clases

Aquí están las diferentes relaciones que usaremos

Aquí están las diferentes relaciones que usaremos

Page 16: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

13. Hacemos clic en el botón encerrado por un circulo ,luego clic en el area de trabajo;

nos saldrá la opción para nombrar a nuestra primera clase la cual llamaremos

Persona.

14. Así dibujaremos nuestras demás clases, para nuestro ejemplo se llamarán :

Candidato, ListaCandidato, Distrito, ListaDistrito y ProcesoElectoral.

15. Si seleccionamos uno de los diagramas y le damos doble clic -> Java veremos

cómo se irá

generando el

código en Java.

Page 17: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

16. A continuación estableceremos las relaciones entre cada una de las clases, para lo

cual haremos clic en las flechas que se encuentran en la parte de arriba del área de

trabajo y simplemente arrastraremos uniendo las clases que queremos relacionar. La

elección de las flechas depende de la relación que queramos :

Page 18: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

17. Se verá las diferentes relaciones en la paleta de la izquierda solo desplazando el

signo “+”en cada clase.

18. A continuación estableceremos la multiplicidad; para ello hacemos doble clic en las

líneas que unen a las clases. Por ejemplo al hacer clic en la línea de agregación

entre ListaCandidato y Candidato nos saldrá lo siguiente :

Page 19: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Aquí va la documentación para ListaCandidato

Si hacemos clic aquí veremos cómo se va generando el código etanto en C++ como en Java

Si hacemos clic aquí veremos cómo se va generando el código etanto en C++ como en Java

Clic aquí para agregar la multiplicidad

Clic aquí para agregar la multiplicidad

Page 20: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

19. Entonces ingresamos las multiplicidades en cada una de las líneas.

20. Ingresaremos

también los atributos de cada clase ; para eso clic derecho en la clase que se desea

agregar los atributos-> Add atribute

Page 21: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Aquí se verá como se genera el código en Java

Aquí se verá como se genera el código en Java

Page 22: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

21. Para ingresar métodos se hace lo siguiente: clic en la clase -> Add opperation

22. Una vez que terminamos de ingresar los atributos y la multiplicidad; tendremos algo

así :

Page 23: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

23. Ahora generaremos el código; para ello necesitamos definir un “.java” en el caso de

Java para cada una de nuestras clases, esto se hace en una lista de despliegues,

vamos a crear una. Para ello haremos clic derecho en Elecciones -> New

deployment view

Page 24: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

24. A continuación le damos nombre :

25. Y aparecerá en la lista de la izquierda.

26. Ahora vamos a indicar que nuestra vista

de clases está asociada con esta nueva vista de despliegue que acabamos de crear.

Para ello, sobre la vista de clases pulsamos botón derecho y seleccionamos Edit.

Page 25: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

27. Ahora sobre cada clase seleccionamos Create source artifact y observamos que en

seguida se va creando sobre Deyploment view 1 cada clase.

28. Por último nos queda definir cuál será el directorio de salida del código generado.

Parar ello pulsamos el botón derecho sobre el proyecto y seleccionamos Edit

generation settings, elegimos la pestaña Directory, direccionamos y pulsamos OK.

Page 26: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Page 27: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

29. Ahora generamos el código para ello pinchamos en Tools -> Generate Java o

Generate C según sea el caso.

Page 28: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

30. Si todo marcha bien nos tendrá que salir una pantalla similar la siguiente figura , en

la cual se nos indica que no se ha cometido error alguno :

Page 29: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

31. Hecho el paso 30 correctamente vamos a la dirección dónde creamos nuestras

clases; en este caso es C:/Documents and settings/User/Escritorio/elecciones/Ejemplo/Java

Vemos que efectivamente se creó nuestras 6 clases; la única observación está en el

hecho de que no se crea la función main.

32. Ahora veremos que se creó en cada una de las clases :

Clase Persona

Page 30: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Observamos que las variables miembros se hicieron protected en señal de herencia

Observamos que las variables miembros se hicieron protected en señal de herencia

Los métodos set y get se crearon, en los métodos get no se creó el return

Los métodos set y get se crearon, en los métodos get no se creó el return

Page 31: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase Candidato

Clase ListaCandidatos

Apareció el extends de herencia

Apareció el extends de herencia

Page 32: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase Distrito

Page 33: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase ListaDistritos

Clase ProcesoElectoral

Page 34: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

II.RATIONAL ROSE

Rational Rose es una herramienta de producción y

comercialización establecidas por Rational Software

Corporation( actualmente parte de IBM). Rose es un

instrumento operativo conjunto que utiliza el Lenguaje Unificado

(UML) como medio para facilitar la captura de dominio de la

semántica, la arquitectura y el diseño. Este software tiene la capacidad de :

Crear

Ver

Modificar

Manipular

1. Características

No es gratuito, se debe hacer un previo pago para poder adquirir el producto.

Incluye Java y la generación de clave de CORBA, la aplicación de ingeniería inversa y

la sincronización de modelo - para - clave configurable.

Los componentes de un modelo

Page 35: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Admite la integración con otras herramientas de desarrollo (IDEs).

Requerimientos :

Windows 2000 Professional, Service Pack 4

Windows XP Professional, Service Pack 2

Windows 2000 and 2003 Server and Advanced Server, Service Pack 3 and 4

Windows Vista

Linux

2. Instalación

1) Insertamos el Cd de instalación y a continuación nos saldrá la primera imagen de

Rational Rose :

2) A continuación nos saldrá la ventana

de setup :

Page 36: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

3) Clic en siguiente y nos saldrá la siguiente imagen, en la cual debemos seleccionar

Rational License Server y a continuación siguiente

Page 37: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

4) Aceptamos el contrato de licencia :

5) Direccionamos el lugar hacia donde lo deseamos instalar :

Page 38: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

6) Y a continuación iniciará la instalación del producto :

Page 39: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

7) Finalmente en el escritorio se creará un nuevo ícono :

3. Creación del diagrama de clases

Page 40: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

1) Hacemos doble clic en el icono que apareció en el escritorio y aparecerá la siguiente

ventana, le damos clic en Cancel y obtendremos nuestra área de trabajo.

2) La ventana de trabajo que tendremos será esta :

Espacio de trabajo, es aquí donde dibujaremos nuestras clases

Espacio de trabajo, es aquí donde dibujaremos nuestras clases

Herramientas de diseñoHerramientas de diseño

Arbol de clasesArbol de clases

Page 41: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

3) Veamos más detalladamente nuestras herramientas :

Page 42: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

4) Ahora insertaremos nuestras clases haciendo clic en la herramienta de clase de la

ventana Toolbox y luego clic en el espacio de trabajo. Acto seguido le damos un

nombre a nuestra clase :

5) Así crearemos nuestras clases :

6) Ahora ingresaremos atributos y métodos a nuestras clases, para esto iremos sobre

una de nuestras clases en el árbol de clases ,haremos clic derecho->New->Attribute

Page 43: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

7) Le damos el nombre a nuestro primer atributo, en nuestro caso será el atributo de

Pesona: nombre.

8) De la misma forma iremos insertando los métodos de cada clase, para esto hacemos

clic derecho en la clase ( en el árbol de clases) -> New -> Opertation y hacemos lo

mismo que en el paso 7.

9) Ahora editaremos nuestros atributos y métodos. Para esto hacemos doble clic en el

atributo que se desea editar y saldrá la siguiente ventana :

Page 44: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Por último le damos clic en aceptar

Nombre de la clase a editar

Nombre de la clase a editar

1) Seleccionar el grado de visibilidad del atributo

1) Seleccionar el grado de visibilidad del atributo

2) Clic aquí para seleccionar el tipo del dato

2) Clic aquí para seleccionar el tipo del dato

3) Seleccionamos el tipo de dato

3) Seleccionamos el tipo de dato

Page 45: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

10) Una vez hecho esto, les daremos atributos a cada clase :

11) Ahora ingresaremos las relaciones, haciendo clic en la barra de TolBox y uniendo

cada clase con su respectiva relación.

Page 46: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

12) Luego colocaremos las multiplicidades , para esto doble clic en la línea de la relación :

Page 47: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

13) Así ingresaremos cada

una de las multiplicidades.

A quien se le aplica la multiplicidad

A quien se le aplica la multiplicidad

Seleccionar la multiplicidad

Seleccionar la multiplicidad

Page 48: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

14) Ahora generaremos el código, para esto lo programaremos al Rational Rose para que

genere código en Java, para esto : Tools -> Options -> Notation->Default Language

15) Después de esto vamos a revisar si la

sintaxis esta correcta para eso vamos a

sintaxis check. Si todo esta correcto

debe aparecer un mensaje similar a

este :

Page 49: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

16) Hecho esto ya podremos generar nuestro código Java , direccionamos hacia donde

vamos a guardar nuestro código generado :

17) Para ello asignamos una carpeta

Page 50: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

1) Clic aquí para crear una nueva ClassPath

1) Clic aquí para crear una nueva ClassPath

2)Clic aquí para buscar en el directorio la carpeta

2)Clic aquí para buscar en el directorio la carpeta

Page 51: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

18) Seleccionamos todas las clases, vamos a Tools -> Java/J2EE-> Generate code

19) Saldrá lo siguiente; Seleccionamos todo

3)Clic para buscar en el directorio

3)Clic para buscar en el directorio

Dirección en la cual se ubica el archivo

Dirección en la cual se ubica el archivo

Page 52: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

20) Si todo es correcto entonces saldrá el siguiente mensaje :

21) Ahora ya tendremos el código generado, verificaremos esto yendo a la dirección

indicada :

Page 53: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

22) Ahora veremos el código que se generó :

Clase Persona

Page 54: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase Candidato

Page 55: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase ListaCandidato

Page 56: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase Distrito

Clase

ListaDistrito

Page 57: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Clase ProcesoElectoral

Page 58: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

III.JDEVELOPER

Page 59: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Este magnífico entorno integrado desarrollado por Oracle

trabaja con la ingeniería inversa, es decir primero se

crea él código y después el diagrama.

Es un software propietario pero gratuito desde 2005.Las primeras versiones de 1998 estaban

basadas en el entorno JBuilder de Borland, pero desde la versión 9i de 2001 está basado en

Java, no estando ya relacionado con el código anterior de JBuilder

1) Características

Es un entorno gratis, aunque previamente se debe suscribir para poder descargarlo.

Netamente desarrollado para Java.

Posee diagrama de clases (UML).

Funciona en los siguientes sistemas operativos:

Windows.Linux.Mac OSX.

2) Instalación

1. Ir a : http://www.oracle.com/technology/products/jdev/index.html; nos encontraremos

con una página como esta, para ello debemos registrarnos :

Page 60: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

2. Clic en Register for a free Oracle Web account, y nos saldrá la siguiente página, en la

cual haremos clic en Crear una cuenta Oracle ahora

3. Se ingresa una cuenta de correo electrónico y un password :

Page 61: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

4.

Después de llenar un formulario nos saldrá la siguiente página :

Page 62: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

5. Ahora nos dispondremos a descargar, para ello clic en FREE DOWNLOAD

Page 63: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

6. El enlace nos llevará a la siguiente página, haremos clic en Oracle jdeveloper 11g

7. A continuación saldrá lo siguiente

Page 64: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

8. Entonces empezará la descarga del producto :

9. Una vez

descargado en el escritorio aparecerá la siguiente carpeta, en la cual se dar{a clic.

10. A

continuación nos saldrá

la siguiente imagen :

Damos clic aquí para empezar a instalar el JDeveloper

Damos clic aquí para empezar a instalar el JDeveloper

Page 65: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

11. Enseguida JDeveloper iniciara

Page 66: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

12. Aparecerá la página de entrada de JDeveloper

Page 67: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Y asi ya tendremos instalado el JDeveloper para poder usarlo tanto para usarlo como

IDe como para usarlo como un creador de diagramas UML

3) Creación del diagrama de clases

Como se dijo anteriormente JDeveloper trabaja con la ingeniería inversa, es decir primero

crearemos nuestras clases y después generaremos nuestro diagrama de clases.

1. Primero iremos a New Application que aparece en la entrada del JDeveloper

2. Haciendo clic en New Application saldrá la siguiente ventana, en dónde tendremos

que colocar el nombre de la aplicación, la dirección dónde lo vamos a guardar y

seleccionaremos All Technologies(todas las tecnologías) en la lista de Application

Template , por último damos clic en Aceptar. Despues de hacer esto nos saldrá una

ventana en la cual tendremos que colocar el nombre a nuestro proyecto, en este

caso lo hemos llamado Elecciones

Page 68: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

3. Clic en Aceptar; tendremos una imagen como la que sigue. Para empezar a crear

nuestras clases clic derecho sobre Elecciones-> New -> General -> Simple File ->

Java Class y clic en Aceptar

Page 69: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

4. Hecho esto daremos el primer nombre a nuestra clase; al hacer clic en aceptar nos

saldrá otra ventana, en la cual daremos el nombre a nuestra clase.

5. Una vez hecho esto nos saldrá lo siguiente, y repetiremos el mismo procedimiento

para todas las demás clases que queremos agregar.

Si queremos generar el método main, debes seleccionar esta opción

Si queremos generar el método main, debes seleccionar esta opción

Page 70: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

6. Una vez creada nuestras clases tendremos algo así :

7. Ahora crearemos nuestro diagrama de clases a partir del código hecho; para lo cual

iremos a Elecciones -> new -> General-> Diagrams-> Java Class Diagram

Page 71: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Page 72: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

8. Tendremos lo siguiente :

Page 73: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

9. Para generar el diagrama de clases bastará con arrastrar nuestras clases hacia el

campo de trabajo del diagrama y veremos cómo automáticamente irán apareciendo

las líneas de relaciones así como la multiplicidad.

10. Una parte importante de esto es que si nosotros empezamos a agregar al diagrama

nuevos atributos o métodos estos se irán añadiendo automáticamente al código.

Page 74: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Page 75: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

ANEXO

A la pregunta ¿Qué podemos esperar de una herramienta CASE para UML? Lo primero que

podemos esperar de una herramienta es que facilite la tarea de dibujar diagramas, su

corrección sintáctica, y la coherencia entre los distintos diagramas.

Para nuestro estudio de evaluación hemos considerado una clasificación basada en su

capacidad a la hora de dibujar los diagramas: gráfica, sintáctica y semánticamente.

Herramientas Gráficas: Las herramientas meramente gráficas son aquéllas que

proporcionan algún tipo de ayuda para dibujar diagramas UML (como plantillas de

formas predefinidas, etc.).

El problema es que no imponen prácticamente ningún tipo de restricción en lo que el

usuario puede dibujar, de modo que se facilita la construcción de diagramas UML,

pero no se garantiza en absoluto su corrección sintáctica.

Precisamente por su ausencia de restricciones es posible en nuestra metodología

lograr una puntuación muy elevada con este tipo de herramientas; pero no debemos

dejarnos engañar por este resultado: una buena herramienta CASE no sólo debe

ayudar a dibujar diagramas, sino diagramas correctos.

Evaluación comparativa de herramientas CASE para UML

desde el punto de vista notacional

Page 76: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Por tanto, no pensamos que éstas sean buenas herramientas CASE para UML:

es más, en nuestra opinión no alcanzan ni siquiera el mínimo exigible.

Herramientas Sintácticas: Las herramientas sintácticas son aquéllas que, en

general, sólo permiten dibujar diagramas correctos según las reglas notacionales de

UML (o al menos lo intentan). Por tanto, suponen una ayuda mayor para el usuario

respecto a las herramientas meramente gráficas.

No obstante, en general estas herramientas no construyen internamente un modelo

a la vez que los diagramas que lo expresan, de modo que los diagramas quedan

desconectados unos de otros: de alguna manera, son diagramas correctos pero sin

significado, sin un referente común. Por ejemplo, no es posible exigir que, para

representar un mensaje de invocación de operación en un diagrama de interacción,

exista la correspondiente operación en un diagrama de clases. Esto constituye un

inconveniente importan- te, porque impide comprobar la coherencia entre los

distintos diagramas que expresan un mismo modelo desde distintos puntos de vista.

Por tanto, pensamos que éstas tampoco deben considerarse herramientas

CASE satisfactorias para UML.

Herramientas semánticas: El tercer grupo lo constituyen las herramientas

semánticas, es decir, aquellas que tratan de garantizar la construcción de un modelo

que esté correctamente expresado en diagramas que además sean coherentes entre

sí. Dentro de esta categoría donde encontramos las que con propiedad pueden

llamarse herramientas CASE para UML.

Las herramientas de la categoría semántica son mucho más ambiciosas que las de

la categoría gráfica y lógicamente se encuentran con mayores dificultades para

resolver adecuadamente los problemas notacionales de UML; pero, cuando lo hacen,

se ha comprobado que lo hacen mucho mejor.

Ciertamente, existen otras capacidades que habitualmente el usuario final espera

encontrar en la herramienta buscada, de modo que tenga utilidad real en su entorno de

producción. Aparte de la notacional, se podrían considerar las siguientes dimensiones:

Integración con herramientas ofimática: como copiar y pegar los diagramas en

documentos de texto).

Posibilidad de trabajo multiusuario (para que los diversos implicados en un

proyecto puedan acceder simultáneamente a distintas partes de un modelo).

Exportación en formato XMI (XML Metadata Interchange).

Integración dentro del entero proceso de desarrollo de software, desde la

obtención de requisitos de usuario hasta la generación automática de código.

Page 77: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Reutilización de todo tipo de artefactos software

1. Estudio comparativo inicial

Teniendo en cuenta el enorme número de productos existentes en el mercado, ha

sido necesario realizar una labor de selección previa a las evaluaciones. En las

cuatro fases del proyecto las herramientas han sido seleccionadas a partir del

catálogo proporcionado por Objects by Design, atendiendo a factores como

disponibilidad de versiones gratuitas de evaluación, facilidad de instalación, etc., así

como la información proporcionada por el propio fabricante, descartando

directamente, por ejemplo, aquellas herramientas que ni siquiera pretenden cubrir

todos los tipos de diagramas de UML.

Por tanto, el método seguido para encontrar un conjunto de preguntas relevantes ha

sido el siguiente:

Se selecciona un conjunto de diagramas significativos, ordenados por tipo de

diagrama, que reflejen la totalidad de la notación de UML, extraídos del estándar

de UML.

Cuando se detecta algún problema con una herramienta concreta, se

formula de modo sintético la pregunta correspondiente y se anota la respuesta

negativa proporcionada por esta herramienta.

La misma pregunta se plantea a las de- más herramientas, de modo que se

pueda establecer la comparación entre ellas.

Finalmente, se recopila en una tabla la lista de preguntas con las

correspondientes respuestas afirmativas o negativas proporcionadas por

todas las herramientas.

Si una herramienta responde afirmativamente a 35 preguntas de 100, esto no

significa que sea capaz de representar el 35% de la notación de UML,

“En las fases primera y segunda los diagramas fueron seleccionados a partir de los libros publicados por los autores originales de UML, la Guía del Usuario y el Manual de Referencia, que se corresponden aproximadamente con la versión 1.3 del Estándar. Para las fases tercera y cuarta se adoptó posteriormente la versión 1.4 del Estándar. No hemos usado versiones posteriores porque la versión 1.5 apenas aportó cambios notacionales, y la versión 2.0 de UML lleva muy poco tiempo disponible en su versión definitiva, sin contar con que no hay demasiadas herramientas todavía que pretendan ser compatibles con ella.”

Page 78: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

En las tablas 1, 2 y 3 presentamos de modo sintético los resultados numéricos obtenidos en las cuatro fases de este proyecto, expresados como porcentaje de preguntas respondidas afirmativamente por cada herramienta. Como puede observarse en la tabla 3, las herramientas no aparecen estrictamente en orden de puntuación menor a mayor, sino divididas en tres grupos remarcados con un borde más grueso, correspondientes a las tres categorías descritas en la sección 2 que hemos denominado gráfica, sintáctica y semántica, en un intento de discriminar de modo cualitativo determina- das características de las herramientas que no quedan bien reflejadas en las puntuaciones puramente numéricas.

Resultados numéricos de la primera fase

Herramienta PuntuaciónRational Rose 35

Together 41Poseidon 44

Objecteering 48Mega Suite 48Visual UML 52UmlCAKE 57

Object Domain 60Magic Draw 65

Resultados numéricos de la segunda fase

Herramienta Puntuación CategoríaProxy Designer 66

Herramienta PuntuaciónRational Rose 17Visual UML 40Magic Draw 55

Page 79: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

GráficaUML Diagrammer 89Umbrello UML Modeller 30

SintácticaVisual Paradigm 39Visible Analyst 58Microsoft Visio 63Argo UML 25

Semántica

Rational Rose 39Visual UML 54Object Domain 55seCAKE 56Objecteering 57Magic Draw 77

Resultados numéricos de la tercera fase

SistemaHerramienta 10001110 110015501730prom.Rational Rose 2002 Enterp. Ed. 32 40 32 36 35 35Visible Analyst 31 52 34 41 39 39Argo UML 33 54 34 44 40 41Objecteering Personal Ed. 49 71 56 60 59 59Visual UML Standard Ed. 59 63 60 61 61 61Poseidon for UML 54 73 55 63 60 61Visual Paradigm for UML Comm. Ed. 55 71 60 63 62 62Object Domain R3 Eval. Ed. 57 73 60 65 63 64Together Designer Comm. Ed. 62 68 65 65 65 65seCAKE 63 67 66 65 65 65Enterprise Architect 63 70 65 66 66 66Visio 2003 Profesional 66 75 67 70 69 70MagicDraw UML Enterp. Ed. 74 78 76 76 76 76

Resultados en cada sistema de puntuación y el promedio de ellos

SistemaHerramienta 1000 1110 1100 1550 1730 prom.Rational Rose 2002 Enterp. Ed. 2 1 1 1 1 1,2Visible Analyst 1 2 2 2 2 1,8Argo UML 3 3 3 3 3 3Objecteering Personal Ed. 4 8 5 4 4 5

Page 80: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Visual UML Standard Ed. 8 4 7 5 6 6Poseidon for UML 5 10 4 7 5 6,2Visual Paradigm for UML Comm. Ed. 6 9 6 6 7 6,8Object Domain R3 Eval. Ed. 9 6 9 8 9 8,2Together Designer Comm. Ed. 7 11 8 9 8 8,6seCAKE 10 5 11 10 10 9,2Enterprise Architect 11 7 10 11 11 10Visio 2003 Profesional 12 12 12 12 12 12MagicDraw UML Enterp. Ed. 13 13 13 13 13 13

Posiciones relativas conseguidas por cada herramienta en cada sistema de puntuación

y el promedio de todas ellas.

CONCLUSIONES

Nuestra primera conclusión es que no solo podemos crear nuestros diagramas de

clases y a partir de estos generar nuestro código fuente, sino que también existe lo

que se denomina ingeniería inversa, es decir crear nuestro código y luego generar el

diagrama.

El código que se genera ( en Java) es indistinta de las diferentes IDEs, aunque en

nuestro caso se generó en el JCreator, pero se puede correr en cualquier IDE.

A nuestro paracer si de diagrama se trata el JDeveloper es el mas intuitivo, pero si

buscamos algo sencillo tenemos la opción que ofrece el BoUML.

Más información de el estudio realizado en http://www.ie.inf.uc3m.es/ggenova/pub-novatica2006b.pdf

Page 81: HERRAMIENTAS CASE

6

ALGORÍTMICA II FISI - UNMSM

Por último se concluye que la fidelidad a la notación estándar de UML no lo es

todo en la tarea de seleccionar una herramienta CASE, pero parece ser un

aspecto sorprendentemente descuidado por bastantes herramientas, algunas de

ellas con una notoria implantación en el mercado

BIBLIOGRAFÍA

http://www.ie.inf.uc3m.es/ggenova/pub-novatica2006b.pdf

http://www.objectsbydesign.com/.

Desarrollos para la tecnología de información : www.reusecompany.com

Comparativa de Herramientas UML de libre distribución :

www.diatel.upm.es/malvarez/UML/comparativa.html de la Universidad politecnica de

Madrid – Departamento de >Ingeniería y Arquitecturas telemáticas