SlideShare una empresa de Scribd logo
1 de 22
UNIVERSIDAD LAICA ELOY
  ALFARO DE MANABI

FACULTAD DE CIENCIAS
   INFORMÁTICAS
LULA

El día martes 15 de diciembre del 2009, el proyecto "Linux para las Universidades de
Latinoamérica" LULA 2010 liberaron la versión definitiva como lo habían prometido, la cual
está dirigida principalmente a estudiantes y docentes de las universidades de Latinoamérica y
basada en Ubuntu. Cuenta con un conjunto de aplicaciones propias para la educación.

Esta se puede descargar del portal
http://lula.unex.es/index.php?seccion=lula




Manual Didáctico, aplicaciones de software libre y multiplataforma                  Página 2
BOUML


DEFINICION



Una herramienta CASE de UML gratuita
BOUML es extensible y las herramientas externas llamadas plug-outs pueden ser escritas
en C o en Java, utilizando BOUML para su definición como cualquier otro programa. Los
generadores de código y reveses son unos de los predefinidos plug-outs incluidos en la
distribució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
1. Creando un proyecto

Cuando ejecutemos BOUML nos encontraremos con algo como:




A la derecha será donde nos aparezca el proyecto y el modelo que vayamos creando, a
la izquierda nos aparecerán los distintos diagramas, y en la parte de abajo podremos
editar la documentación del elemento que esté seleccionado.

Para crear el proyecto podemos hacer: Project --> New, y nos aparecerá un diálogo
preguntando el directorio donde queremos guardar el proyecto. A su elección el
nombre "autentia-project".

Veremos que nos saca la siguiente advertencia:




Manual Didáctico, aplicaciones de software libre y multiplataforma          Página 4
Con esto, BOUML, nos está indicando que no tenemos definida la variable de entorno
BOUML_ID, esta variable de entorno representa el id del desarrollador para trabajar de
forma simultánea sobre el mismo modelo. Es decir, cada desarrollador que trabaje de
forma 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 la
variable al azar) pero si queremos trabajar en grupo y queremos usar las
herramientas "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 los
que 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
Vemos que hemos vuelto a la primera pantalla, pero ya tenemos el proyecto creado
con 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 los
lenguajes para los que se va a generar código. Así que, como nos decía la alerta, damos
clic sobre el menú Miscellaneous, y seleccionamos los que nos interesen. En mi caso
he marcado Java default definition.




Manual Didáctico, aplicaciones de software libre y multiplataforma             Página 6
Manual Didáctico, aplicaciones de software libre y multiplataforma   Página 7
2. Creando un diagrama de casos de uso

Sobre el nombre del proyecto damos clic con el botón derecho y nos aparece el
siguiente menú:




Vemos como las primeras opciones nos permiten crear paquetes para organizar
nuestro modelo, y diferentes vistas (podríamos decir que son diferentes puntos de
vista sobre nuestro modelo). Elegimos New use case view. Sobre el elemento que nos
ha aparecido pulsamos de nuevo botón derecho y seleccionamos la opción New use
case diagram para crear un nuevo diagrama de casos de uso (si diéramos clic sobre
Edit podríamos cambiar el nombre al elemento)


Manual Didáctico, aplicaciones de software libre y multiplataforma        Página 8
Sobre el nuevo elemento que se ha creado, hacemos doble clic y a la derecha nos
aparecerá la ventana para pintar el diagrama:




Manual Didáctico, aplicaciones de software libre y multiplataforma     Página 9
Vemos como arriba tenemos una "paleta" con los posibles elementos que podemos
pintar en nuestro diagrama. Según vamos dibujamos los diferentes elementos, estos
aparecen representados en el modelo de la izquierda (con doble clic sobre ellos, ya sea
en el modelo o en el diagrama, podemos editar sus propiedades).




Manual Didáctico, aplicaciones de software libre y multiplataforma           Página 10
3. Creando un diagrama de clases

De forma similar a como hemos hecho antes, sobre el proyecto pulsamos botón
derecho, y en el menú seleccionamos New class view. Ahora sobre el elemento que
nos ha aparecido pulsamos con el botón derecho y seleccionamos la opción New class
diagram. Sobre el nuevo elemento que nos ha aparecido hacemos doble clic y a la
derecha nos aparecerá la ventana para pintar el diagrama de clases, con la
correspondiente paleta de elementos en su parte superior.




Manual Didáctico, aplicaciones de software libre y multiplataforma       Página 11
Fijémonos sobre la agregación entre Carrito y Producto. Si hacemos doble clic sobre
esta relación nos aparecerá una ventana donde podremos cambiar las propiedades de
la relación:




Manual Didáctico, aplicaciones de software libre y multiplataforma        Página 12
Hemos indicado que el stereotypo es list, y el nombre que tendrá el atributo en la clase
Carrito y la multiplicidad.



4. Modificando como se genera el código

Si en la ventana anterior damos clic sobre la pestaña Java, veremos el código que va a
generar:




Manual Didáctico, aplicaciones de software libre y multiplataforma            Página 13
El código no me convence ya que le he dicho que el stereotype es list y que la
multiplicidad es 1..*, y a pesar de todo me está declarando una variable de tipo
Producto, en vez de una lista como sería de esperar. Demos clic sobre Default
declaration y veamos cómo cambia:




Manual Didáctico, aplicaciones de software libre y multiplataforma     Página 14
OBSERVACIONES

Vemos que ahora le ha añadido la etiqueta ${stereotype} y que el resultado es un
atributo de tipo Vector. Hemos mejorado, pero todavía no tenemos el código que nos
gustarí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 cambiando
la macro de la opción Declaration. Pero este cambio sería local a esta agregación, y
necesitamos que el cambio afecte a todas las asociaciones. Así que debemos hacer el
cambio en Project --> Edit --> Edit generation settings, y pinchamos sobre la pestaña
Java[2]:




Manual Didáctico, aplicaciones de software libre y multiplataforma          Página 15
En el cuadro de texto multilicity '*' or 'a..b' es donde se define el código que nos
interesa. 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 esta
pestaña es donde se indica cómo se debe interpretar el stereotype list en cada uno de
los 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
Damos a OK y volvemos a la ventana de propiedades de la agregación, nos situamos en
la pestaña Java, y volvemos a pulsar sobre Default declaration y vemos que ahora el
código queda como nos interesa:




Manual Didáctico, aplicaciones de software libre y multiplataforma        Página 17
5. Generando el código

Ya hemos ajustado como queremos que se nos genere el código. Ahora vamos a
generar 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 proyecto
botón derecho y seleccionamos New deployment view.

Ahora para 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:



Manual Didáctico, aplicaciones de software libre y multiplataforma           Página 18
En deployment view: hemos seleccionado la vista de despliegue que acabábamos de
crear. Y damos a OK.

Ahora sobre cada clase de la que queremos generar código pulsamos botón derecho y
seleccionamos Create source artifact. Vemos como nos van apareciendo los artefactos
en la vista de despliegue que acabamos de asociar:




Manual Didáctico, aplicaciones de software libre y multiplataforma        Página 19
Lo último que necesitamos es definir cuál será el directorio de salida del código
generado. Para ello pulsamos botón derecho sobre el proyecto y seleccionamos Edit
generation settings, elegimos la pestaña Directory, indicamos el directorio que nos
interese, y pulsamos OK.

Ahora para hacer la generación pinchamos sobre Tools --> Generate Java. Nos aparece
una ventana con el resultado de la operación:




Manual Didáctico, aplicaciones de software libre y multiplataforma        Página 20
Vemos que todo es correcto. Podemos comprobarlo abriendo el directorio donde
hemos hecho la generación:




Manual Didáctico, aplicaciones de software libre y multiplataforma   Página 21
6. Conclusiones

Con esto, se ha explicado lo más breve posible el funcionamiento de BOUML esto es lo
más básico pero también esta aplicación trae herramientas donde hay muchos más
diagramas y opciones de visualización, generación de código en otros formatos, pero
su ejecución son parecida a la que está explicada en este manual.




Manual Didáctico, aplicaciones de software libre y multiplataforma         Página 22

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Fundamentos basicos de visual basic
Fundamentos basicos de visual basicFundamentos basicos de visual basic
Fundamentos basicos de visual basic
 
Visual basic
Visual basicVisual basic
Visual basic
 
Entorno de desarrollo integrado de Visual Basic .NET
Entorno de desarrollo integrado de Visual Basic .NETEntorno de desarrollo integrado de Visual Basic .NET
Entorno de desarrollo integrado de Visual Basic .NET
 
Generalidades de Visual Basic
Generalidades de Visual BasicGeneralidades de Visual Basic
Generalidades de Visual Basic
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Trabajo
TrabajoTrabajo
Trabajo
 
Elysaul yoris
Elysaul yorisElysaul yoris
Elysaul yoris
 
Introducion visual II
Introducion visual IIIntroducion visual II
Introducion visual II
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosProgramación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos Básicos
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Presentacion de Visual Basic
Presentacion de Visual BasicPresentacion de Visual Basic
Presentacion de Visual Basic
 
Eymi paredes informe programacion
Eymi paredes informe programacionEymi paredes informe programacion
Eymi paredes informe programacion
 
Fundamentos de Visual Basic
Fundamentos de Visual BasicFundamentos de Visual Basic
Fundamentos de Visual Basic
 
Visual basic
Visual basicVisual basic
Visual basic
 
Instituto universitario politecnico
Instituto universitario politecnicoInstituto universitario politecnico
Instituto universitario politecnico
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando Espinoza
 
Programacion 5% Karolayn Cardozo 28.252.584
Programacion 5% Karolayn Cardozo 28.252.584Programacion 5% Karolayn Cardozo 28.252.584
Programacion 5% Karolayn Cardozo 28.252.584
 
ATIX20
ATIX20ATIX20
ATIX20
 

Similar a Manual de bouml

tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipseTania Tellez
 
Estructura general de una app
Estructura general de una app Estructura general de una app
Estructura general de una app Angel Ayala
 
programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4LuiS YmAY
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 appletsUniversidad
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Vicente Gerardo Guzman Lucio
 
56874982 curso-de-delphi-7
56874982 curso-de-delphi-756874982 curso-de-delphi-7
56874982 curso-de-delphi-7Ismael Batista
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)javier_ot99
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminadoLEFR202
 
entorno de desarrollo de eclipse
entorno de desarrollo de eclipseentorno de desarrollo de eclipse
entorno de desarrollo de eclipseKeevynMoreno
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdfAnaLpez275
 
Programa 12 Ciclo do
Programa 12 Ciclo doPrograma 12 Ciclo do
Programa 12 Ciclo doEsmedc20
 
fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0eduardsoler1
 
fundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASICfundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASIC25309816
 

Similar a Manual de bouml (20)

tutorial de eclipse
tutorial de eclipsetutorial de eclipse
tutorial de eclipse
 
Estructura general de una app
Estructura general de una app Estructura general de una app
Estructura general de una app
 
programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 applets
 
Curso de power cobol
Curso de power cobolCurso de power cobol
Curso de power cobol
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#Desarrollando mi primera App para Windows 8 con C#
Desarrollando mi primera App para Windows 8 con C#
 
56874982 curso-de-delphi-7
56874982 curso-de-delphi-756874982 curso-de-delphi-7
56874982 curso-de-delphi-7
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
entorno de desarrollo de eclipse
entorno de desarrollo de eclipseentorno de desarrollo de eclipse
entorno de desarrollo de eclipse
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdf
 
Programa 12 Ciclo do
Programa 12 Ciclo doPrograma 12 Ciclo do
Programa 12 Ciclo do
 
Pg12
Pg12Pg12
Pg12
 
fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0fundamentos basicos de Visual Basic 6.0
fundamentos basicos de Visual Basic 6.0
 
fundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASICfundamentos basicos de VISUAL BASIC
fundamentos basicos de VISUAL BASIC
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
Tutorial eclipse
Tutorial eclipse Tutorial eclipse
Tutorial eclipse
 

Más de ULEAM

Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_Jess
Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_JessSistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_Jess
Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_JessULEAM
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDFULEAM
 
capitulo5-2011-110612183514-phpapp01
capitulo5-2011-110612183514-phpapp01capitulo5-2011-110612183514-phpapp01
capitulo5-2011-110612183514-phpapp01ULEAM
 
CAPITULO-2-2011
CAPITULO-2-2011CAPITULO-2-2011
CAPITULO-2-2011ULEAM
 
CAP-3
CAP-3CAP-3
CAP-3ULEAM
 
Linux basico-5.PDF
Linux basico-5.PDFLinux basico-5.PDF
Linux basico-5.PDFULEAM
 
Linux basico-3.PDF
Linux basico-3.PDFLinux basico-3.PDF
Linux basico-3.PDFULEAM
 
Linux basico-1.PDF
Linux basico-1.PDFLinux basico-1.PDF
Linux basico-1.PDFULEAM
 
Linux basico-2.PDF
Linux basico-2.PDFLinux basico-2.PDF
Linux basico-2.PDFULEAM
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDFULEAM
 
Linux basico-7.PDF
Linux basico-7.PDFLinux basico-7.PDF
Linux basico-7.PDFULEAM
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDFULEAM
 
Linux basico-4.PDF
Linux basico-4.PDFLinux basico-4.PDF
Linux basico-4.PDFULEAM
 
UBUNTU-1
UBUNTU-1UBUNTU-1
UBUNTU-1ULEAM
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1ULEAM
 
Instalación de Ubuntu
Instalación de UbuntuInstalación de Ubuntu
Instalación de UbuntuULEAM
 
Manual de kicad
Manual de kicadManual de kicad
Manual de kicadULEAM
 
Manual de python
Manual de pythonManual de python
Manual de pythonULEAM
 

Más de ULEAM (19)

Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_Jess
Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_JessSistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_Jess
Sistemas_OperativosLibro__Una_Vision_Aplicada__Carretero_Jess
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
 
capitulo5-2011-110612183514-phpapp01
capitulo5-2011-110612183514-phpapp01capitulo5-2011-110612183514-phpapp01
capitulo5-2011-110612183514-phpapp01
 
CAPITULO-2-2011
CAPITULO-2-2011CAPITULO-2-2011
CAPITULO-2-2011
 
CAP-3
CAP-3CAP-3
CAP-3
 
Linux basico-5.PDF
Linux basico-5.PDFLinux basico-5.PDF
Linux basico-5.PDF
 
Linux basico-3.PDF
Linux basico-3.PDFLinux basico-3.PDF
Linux basico-3.PDF
 
Linux basico-1.PDF
Linux basico-1.PDFLinux basico-1.PDF
Linux basico-1.PDF
 
Linux basico-2.PDF
Linux basico-2.PDFLinux basico-2.PDF
Linux basico-2.PDF
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
Linux basico-7.PDF
Linux basico-7.PDFLinux basico-7.PDF
Linux basico-7.PDF
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
 
Linux basico-4.PDF
Linux basico-4.PDFLinux basico-4.PDF
Linux basico-4.PDF
 
UBUNTU-1
UBUNTU-1UBUNTU-1
UBUNTU-1
 
W7
W7W7
W7
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
Instalación de Ubuntu
Instalación de UbuntuInstalación de Ubuntu
Instalación de Ubuntu
 
Manual de kicad
Manual de kicadManual de kicad
Manual de kicad
 
Manual de python
Manual de pythonManual de python
Manual de python
 

Último

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 

Manual de bouml

  • 1. UNIVERSIDAD LAICA ELOY ALFARO DE MANABI FACULTAD DE CIENCIAS INFORMÁTICAS
  • 2. LULA El día martes 15 de diciembre del 2009, el proyecto "Linux para las Universidades de Latinoamérica" LULA 2010 liberaron la versión definitiva como lo habían prometido, la cual está dirigida principalmente a estudiantes y docentes de las universidades de Latinoamérica y basada en Ubuntu. Cuenta con un conjunto de aplicaciones propias para la educación. Esta se puede descargar del portal http://lula.unex.es/index.php?seccion=lula Manual Didáctico, aplicaciones de software libre y multiplataforma Página 2
  • 3. BOUML DEFINICION Una herramienta CASE de UML gratuita BOUML es extensible y las herramientas externas llamadas plug-outs pueden ser escritas en C o en Java, utilizando BOUML para su definición como cualquier otro programa. Los generadores de código y reveses son unos de los predefinidos plug-outs incluidos en la distribució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. 1. Creando un proyecto Cuando ejecutemos BOUML nos encontraremos con algo como: A la derecha será donde nos aparezca el proyecto y el modelo que vayamos creando, a la izquierda nos aparecerán los distintos diagramas, y en la parte de abajo podremos editar la documentación del elemento que esté seleccionado. Para crear el proyecto podemos hacer: Project --> New, y nos aparecerá un diálogo preguntando el directorio donde queremos guardar el proyecto. A su elección el nombre "autentia-project". Veremos que nos saca la siguiente advertencia: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 4
  • 5. Con esto, BOUML, nos está indicando que no tenemos definida la variable de entorno BOUML_ID, esta variable de entorno representa el id del desarrollador para trabajar de forma simultánea sobre el mismo modelo. Es decir, cada desarrollador que trabaje de forma 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 la variable al azar) pero si queremos trabajar en grupo y queremos usar las herramientas "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 los que 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. Vemos que hemos vuelto a la primera pantalla, pero ya tenemos el proyecto creado con 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 los lenguajes para los que se va a generar código. Así que, como nos decía la alerta, damos clic sobre el menú Miscellaneous, y seleccionamos los que nos interesen. En mi caso he marcado Java default definition. Manual Didáctico, aplicaciones de software libre y multiplataforma Página 6
  • 7. Manual Didáctico, aplicaciones de software libre y multiplataforma Página 7
  • 8. 2. Creando un diagrama de casos de uso Sobre el nombre del proyecto damos clic con el botón derecho y nos aparece el siguiente menú: Vemos como las primeras opciones nos permiten crear paquetes para organizar nuestro modelo, y diferentes vistas (podríamos decir que son diferentes puntos de vista sobre nuestro modelo). Elegimos New use case view. Sobre el elemento que nos ha aparecido pulsamos de nuevo botón derecho y seleccionamos la opción New use case diagram para crear un nuevo diagrama de casos de uso (si diéramos clic sobre Edit podríamos cambiar el nombre al elemento) Manual Didáctico, aplicaciones de software libre y multiplataforma Página 8
  • 9. Sobre el nuevo elemento que se ha creado, hacemos doble clic y a la derecha nos aparecerá la ventana para pintar el diagrama: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 9
  • 10. Vemos como arriba tenemos una "paleta" con los posibles elementos que podemos pintar en nuestro diagrama. Según vamos dibujamos los diferentes elementos, estos aparecen representados en el modelo de la izquierda (con doble clic sobre ellos, ya sea en el modelo o en el diagrama, podemos editar sus propiedades). Manual Didáctico, aplicaciones de software libre y multiplataforma Página 10
  • 11. 3. Creando un diagrama de clases De forma similar a como hemos hecho antes, sobre el proyecto pulsamos botón derecho, y en el menú seleccionamos New class view. Ahora sobre el elemento que nos ha aparecido pulsamos con el botón derecho y seleccionamos la opción New class diagram. Sobre el nuevo elemento que nos ha aparecido hacemos doble clic y a la derecha nos aparecerá la ventana para pintar el diagrama de clases, con la correspondiente paleta de elementos en su parte superior. Manual Didáctico, aplicaciones de software libre y multiplataforma Página 11
  • 12. Fijémonos sobre la agregación entre Carrito y Producto. Si hacemos doble clic sobre esta relación nos aparecerá una ventana donde podremos cambiar las propiedades de la relación: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 12
  • 13. Hemos indicado que el stereotypo es list, y el nombre que tendrá el atributo en la clase Carrito y la multiplicidad. 4. Modificando como se genera el código Si en la ventana anterior damos clic sobre la pestaña Java, veremos el código que va a generar: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 13
  • 14. El código no me convence ya que le he dicho que el stereotype es list y que la multiplicidad es 1..*, y a pesar de todo me está declarando una variable de tipo Producto, en vez de una lista como sería de esperar. Demos clic sobre Default declaration y veamos cómo cambia: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 14
  • 15. OBSERVACIONES Vemos que ahora le ha añadido la etiqueta ${stereotype} y que el resultado es un atributo de tipo Vector. Hemos mejorado, pero todavía no tenemos el código que nos gustarí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 cambiando la macro de la opción Declaration. Pero este cambio sería local a esta agregación, y necesitamos que el cambio afecte a todas las asociaciones. Así que debemos hacer el cambio en Project --> Edit --> Edit generation settings, y pinchamos sobre la pestaña Java[2]: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 15
  • 16. En el cuadro de texto multilicity '*' or 'a..b' es donde se define el código que nos interesa. 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 esta pestaña es donde se indica cómo se debe interpretar el stereotype list en cada uno de los 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. Damos a OK y volvemos a la ventana de propiedades de la agregación, nos situamos en la pestaña Java, y volvemos a pulsar sobre Default declaration y vemos que ahora el código queda como nos interesa: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 17
  • 18. 5. Generando el código Ya hemos ajustado como queremos que se nos genere el código. Ahora vamos a generar 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 proyecto botón derecho y seleccionamos New deployment view. Ahora para 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: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 18
  • 19. En deployment view: hemos seleccionado la vista de despliegue que acabábamos de crear. Y damos a OK. Ahora sobre cada clase de la que queremos generar código pulsamos botón derecho y seleccionamos Create source artifact. Vemos como nos van apareciendo los artefactos en la vista de despliegue que acabamos de asociar: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 19
  • 20. Lo último que necesitamos es definir cuál será el directorio de salida del código generado. Para ello pulsamos botón derecho sobre el proyecto y seleccionamos Edit generation settings, elegimos la pestaña Directory, indicamos el directorio que nos interese, y pulsamos OK. Ahora para hacer la generación pinchamos sobre Tools --> Generate Java. Nos aparece una ventana con el resultado de la operación: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 20
  • 21. Vemos que todo es correcto. Podemos comprobarlo abriendo el directorio donde hemos hecho la generación: Manual Didáctico, aplicaciones de software libre y multiplataforma Página 21
  • 22. 6. Conclusiones Con esto, se ha explicado lo más breve posible el funcionamiento de BOUML esto es lo más básico pero también esta aplicación trae herramientas donde hay muchos más diagramas y opciones de visualización, generación de código en otros formatos, pero su ejecución son parecida a la que está explicada en este manual. Manual Didáctico, aplicaciones de software libre y multiplataforma Página 22