Manual de bouml

3,958 views
3,727 views

Published on

Herramientas de LULA

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,958
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
122
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Manual de bouml

  1. 1. UNIVERSIDAD LAICA ELOY ALFARO DE MANABIFACULTAD DE CIENCIAS INFORMÁTICAS
  2. 2. LULAEl día martes 15 de diciembre del 2009, el proyecto "Linux para las Universidades deLatinoamérica" LULA 2010 liberaron la versión definitiva como lo habían prometido, la cualestá dirigida principalmente a estudiantes y docentes de las universidades de Latinoamérica ybasada en Ubuntu. Cuenta con un conjunto de aplicaciones propias para la educación.Esta se puede descargar del portalhttp://lula.unex.es/index.php?seccion=lulaManual Didáctico, aplicaciones de software libre y multiplataforma Página 2
  3. 3. BOUMLDEFINICIONUna herramienta CASE de UML gratuitaBOUML es extensible y las herramientas externas llamadas plug-outs pueden ser escritasen C o en Java, utilizando BOUML para su definición como cualquier otro programa. Losgeneradores de código y reveses son unos de los predefinidos plug-outs incluidos en ladistribución de BOUML.CARACTERISTICAS  Es gratis.  Aunque no es JAVA, es multiplataforma: Linux, Solari, Mac Os, Windows, incluida en proyecto LULA.  Permite programar simultáneamente en C++, Java, Php y IDL.  Programa orientado a objetos.  Permite trabajar con UML 2 (ArgoUML todavía no lo permite).  Soporta gran cantidad de diagramas (incluidos los de secuencia que en el ArgoUML funcionan una versión si y otra no.  Es rápida y apenas consume memoria.  Es sencilla de utilizar.  Puedes generar código para Java, C++ e IDL (y controlar bastante la generación)  También es capaz de generar documentación en varios formatos (HTML, XMI, ...)  Puedes trabajar en grupo con sus módulos "Project Control" y "Project Synchro". Como está escrito al principio su descarga es totalmente libre, esta aplicación viene incluida en el proyecto LULA.Manual Didáctico, aplicaciones de software libre y multiplataforma Página 3
  4. 4. 1. Creando un proyectoCuando ejecutemos BOUML nos encontraremos con algo como:A la derecha será donde nos aparezca el proyecto y el modelo que vayamos creando, ala izquierda nos aparecerán los distintos diagramas, y en la parte de abajo podremoseditar la documentación del elemento que esté seleccionado.Para crear el proyecto podemos hacer: Project --> New, y nos aparecerá un diálogopreguntando el directorio donde queremos guardar el proyecto. A su elección elnombre "autentia-project".Veremos que nos saca la siguiente advertencia:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 4
  5. 5. Con esto, BOUML, nos está indicando que no tenemos definida la variable de entornoBOUML_ID, esta variable de entorno representa el id del desarrollador para trabajar deforma simultánea sobre el mismo modelo. Es decir, cada desarrollador que trabaje deforma simultánea sobre el mismo modelo debería tener un BOUML_ID diferente.Ahora no nos hace falte definir la variable (cuando se trabaja solo BOUML nos da lavariable al azar) pero si queremos trabajar en grupo y queremos usar lasherramientas "Project Control" y "Project Synchro", será necesario darle una variable.Por ahora le damos a OK y BOUML habrá elegido un número al azar como BOUML_ID.A continuación nos presenta otra alerta:Con esto nos está recordando que tenemos que indicar los lenguajes destino para losque vamos a generar código.Le damos a OK, y nos aparece la siguiente:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 5
  6. 6. Vemos que hemos vuelto a la primera pantalla, pero ya tenemos el proyecto creadocon el mismo nombre que le habíamos dado al directorio.Lo primero que vamos a hacer es lo que nos decía la segunda advertencia: fijar loslenguajes para los que se va a generar código. Así que, como nos decía la alerta, damosclic sobre el menú Miscellaneous, y seleccionamos los que nos interesen. En mi casohe marcado Java default definition.Manual Didáctico, aplicaciones de software libre y multiplataforma Página 6
  7. 7. Manual Didáctico, aplicaciones de software libre y multiplataforma Página 7
  8. 8. 2. Creando un diagrama de casos de usoSobre el nombre del proyecto damos clic con el botón derecho y nos aparece elsiguiente menú:Vemos como las primeras opciones nos permiten crear paquetes para organizarnuestro modelo, y diferentes vistas (podríamos decir que son diferentes puntos devista sobre nuestro modelo). Elegimos New use case view. Sobre el elemento que nosha aparecido pulsamos de nuevo botón derecho y seleccionamos la opción New usecase diagram para crear un nuevo diagrama de casos de uso (si diéramos clic sobreEdit podríamos cambiar el nombre al elemento)Manual Didáctico, aplicaciones de software libre y multiplataforma Página 8
  9. 9. Sobre el nuevo elemento que se ha creado, hacemos doble clic y a la derecha nosaparecerá la ventana para pintar el diagrama:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 9
  10. 10. Vemos como arriba tenemos una "paleta" con los posibles elementos que podemospintar en nuestro diagrama. Según vamos dibujamos los diferentes elementos, estosaparecen representados en el modelo de la izquierda (con doble clic sobre ellos, ya seaen el modelo o en el diagrama, podemos editar sus propiedades).Manual Didáctico, aplicaciones de software libre y multiplataforma Página 10
  11. 11. 3. Creando un diagrama de clasesDe forma similar a como hemos hecho antes, sobre el proyecto pulsamos botónderecho, y en el menú seleccionamos New class view. Ahora sobre el elemento quenos ha aparecido pulsamos con el botón derecho y seleccionamos la opción New classdiagram. Sobre el nuevo elemento que nos ha aparecido hacemos doble clic y a laderecha nos aparecerá la ventana para pintar el diagrama de clases, con lacorrespondiente paleta de elementos en su parte superior.Manual Didáctico, aplicaciones de software libre y multiplataforma Página 11
  12. 12. Fijémonos sobre la agregación entre Carrito y Producto. Si hacemos doble clic sobreesta relación nos aparecerá una ventana donde podremos cambiar las propiedades dela relación:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 12
  13. 13. Hemos indicado que el stereotypo es list, y el nombre que tendrá el atributo en la claseCarrito y la multiplicidad.4. Modificando como se genera el códigoSi en la ventana anterior damos clic sobre la pestaña Java, veremos el código que va agenerar:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 13
  14. 14. El código no me convence ya que le he dicho que el stereotype es list y que lamultiplicidad es 1..*, y a pesar de todo me está declarando una variable de tipoProducto, en vez de una lista como sería de esperar. Demos clic sobre Defaultdeclaration y veamos cómo cambia:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 14
  15. 15. OBSERVACIONESVemos que ahora le ha añadido la etiqueta ${stereotype} y que el resultado es unatributo de tipo Vector. Hemos mejorado, pero todavía no tenemos el código que nosgustaría: tiene que salir sintaxis de Java 5 y ¿por qué Vector si le indiqué list?Para definir como se genera el código lo podríamos hacer en esta ventana cambiandola macro de la opción Declaration. Pero este cambio sería local a esta agregación, ynecesitamos que el cambio afecte a todas las asociaciones. Así que debemos hacer elcambio en Project --> Edit --> Edit generation settings, y pinchamos sobre la pestañaJava[2]:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 15
  16. 16. En el cuadro de texto multilicity * or a..b es donde se define el código que nosinteresa. Lo vamos a cambiar por: ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type }> ${name}${value};En negrita he remarcado lo que he añadido para conseguir la sintaxis de Java 5.Ahora, en esta misma ventana vamos a dar clic sobre la pestaña Stereotypes. En estapestaña es donde se indica cómo se debe interpretar el stereotype list en cada uno delos lenguajes. Vemos que en Java está todo como Vector, así que lo cambiamos por List(también aprovechamos y cambiamos set por Set):Manual Didáctico, aplicaciones de software libre y multiplataforma Página 16
  17. 17. Damos a OK y volvemos a la ventana de propiedades de la agregación, nos situamos enla pestaña Java, y volvemos a pulsar sobre Default declaration y vemos que ahora elcódigo queda como nos interesa:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 17
  18. 18. 5. Generando el códigoYa hemos ajustado como queremos que se nos genere el código. Ahora vamos agenerar el código. Para ello, y siguiendo el UML, necesitamos definir un artefacto (un.java) para cada una de nuestras clases. Esto lo haremos en una vista de despliegue.Para ello vamos a crear una como hemos hecho con las anteriores: sobre el proyectobotón derecho y seleccionamos New deployment view.Ahora para vamos a indicar que nuestra vista de clases está asociada con esta nuevavista de despliegue que acabamos de crear. Para ello, sobre la vista de clases pulsamosbotón derecho y seleccionamos Edit:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 18
  19. 19. En deployment view: hemos seleccionado la vista de despliegue que acabábamos decrear. Y damos a OK.Ahora sobre cada clase de la que queremos generar código pulsamos botón derecho yseleccionamos Create source artifact. Vemos como nos van apareciendo los artefactosen la vista de despliegue que acabamos de asociar:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 19
  20. 20. Lo último que necesitamos es definir cuál será el directorio de salida del códigogenerado. Para ello pulsamos botón derecho sobre el proyecto y seleccionamos Editgeneration settings, elegimos la pestaña Directory, indicamos el directorio que nosinterese, y pulsamos OK.Ahora para hacer la generación pinchamos sobre Tools --> Generate Java. Nos apareceuna ventana con el resultado de la operación:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 20
  21. 21. Vemos que todo es correcto. Podemos comprobarlo abriendo el directorio dondehemos hecho la generación:Manual Didáctico, aplicaciones de software libre y multiplataforma Página 21
  22. 22. 6. ConclusionesCon esto, se ha explicado lo más breve posible el funcionamiento de BOUML esto es lomás básico pero también esta aplicación trae herramientas donde hay muchos másdiagramas y opciones de visualización, generación de código en otros formatos, perosu ejecución son parecida a la que está explicada en este manual.Manual Didáctico, aplicaciones de software libre y multiplataforma Página 22

×