ARGOUML
ARGOUML
ARGOUML
SEPTIEMBRE DE 2013
INTRODUCCIN
ArgoUML est basado en la especificacin UML 1.4. El ncleo del modelo de repositorio es una implementacin del Java Metadata Interface (JMI) que directamente soporta MOF y usa la versin legible por mquina de la especificacin UML 1.4 proporcionada por OMG. Adems, es nuestra meta proporcionar soporte exhaustivo para OCL (el Object Constraint Language) y XMI (el formato XML Model Interchange). ArgoUML fue originariamente desarrollado por un pequeo grupo de gente como un proyecto de investigacin. ArgoUML tiene muchas caractersticas que lo hacen especial, pero no implementa todas las caractersticas que una herramienta CASE comercial proporciona. La publicacin V0.20 actual de ArgoUML, implementa todos los tipos de diagramas de UML 1.4 estndar [http://www.omg.org/cgi-bin/doc?formal/01-09-67] (versiones de
ArgoUML anteriores a 0.20 implementaban la UML 1.3 estndar [http://www.omg.org/cgibin/doc?formal/00-03-01]). Est escrito en Java y funciona en todo sistema que proporcione una plataforma Java 2 de Java 1.4 o posterior. Usa formatos de archivo abiertos XMI [http://www.omg.org/cgi-bin/doc?formal/02-01-01] (formato XML Metadata Interchange) (para la informacin de modelos) y PGML[http://www.w3.org/TR/1998/NOTEPGML] (Precisin Graphics Markup Language) (para informacin grfica) para almacenamiento. Cuando ArgoUML implemente UML 2.0, PGML ser sustituido por la especificacin UML Diagram Interchange. Para comenzar a trabajar con ArgoUML, slo es necesario abrir la aplicacin y pulsar con el botn derecho sobre el modelo en el men de la izquierda, para seleccionar el tipo de diagrama a crear (de casos de uso, de clases, de actividades, etctera). En la parte inferior derecha de la ventana, aparecen las propiedades del objeto seleccionado, las cuales se pueden modificar en cualquier momento, con slo seleccionarla. En la ventana a la izquierda de las propiedades, aparecen las crticas, que son recomendaciones que realiza la aplicacin con vistas a obtener un buen diagrama UML. Una vez creado el diagrama, para generar el cdigo fuente slo es necesario pulsar F7, o ir al men principal, opcin Generar (o Generate).
QU ES EL DIAGRAMA UML?
(Unified Modeling Language - Lenguaje Unificado de Modelado). UML es un popular lenguaje de modelado de sistemas de software. Se trata de un lenguaje grfico para construir, documentar, visualizar y especificar un sistema de software. Entre otras palabras, UML se utiliza para definir un sistema de software.
Posee la riqueza suficiente como para crear un modelo del sistema, pudiendo modelar los procesos de negocios, funciones, esquemas de bases de datos, expresiones de lenguajes de programacin, etc. Para ello utiliza varios tipos diferentes de diagramas, por ejemplo, en UML 2.0 hay 13 tipos de diagramas.
Estos diagramas se pueden diferenciar en tres categoras: - Diagramas de estructura: Diagrama de clases Diagrama de componentes Diagrama de objetos Diagrama de estructura compuesta (UML 2.0) Diagrama de despliegue Diagrama de paquetes
-Diagramas de interaccin: Diagrama de secuencia Diagrama de comunicacin Diagrama de tiempos (UML 2.0) Diagrama de vista de interaccin (UML 2.0)
Los Casos de Uso no forma parte de la llamada Fase de Diseo, sino parte de la fase de Anlisis, respondiendo el interrogante Qu? De forma que al ser parte del anlisis ayuda a describir que es lo que el sistema debe hacer.
Estos diagramas muestran operaciones que se esperan de una aplicacin o sistema y como se relaciona con su entorno, es por ello que se ve desde el punto de vista del usuario. Describen un uso del sistema y como ste interacta con el usuario.
Los casos de usos se representan en el diagrama por unas elipses la cual denota un requerimiento solucionado por el sistema.
El conjunto de casos de usos representa la totalidad de operaciones que va a desarrollar el sistema. Por ltimo a estas elipses lo acompaa un nombre significativo de manera de rtulo.
Otro elemento fundamental de estos diagramas son los actores la cual representa a un usuario del sistema, que necesita o interacta con algn caso de uso, la que tambin es acompaado por un nombre. Por ltimo tenemos los flujos de eventos que corresponde a la ejecucin normal y exitosa del caso de uso.
DIAGRAMA DE CLASES
En UML el diagrama de clases es uno de los tipos de diagramas o smbolo esttico y tiene como fin describir la estructura de un sistema mostrando sus clases, atributos y relaciones entre ellos.
Estos diagramas son utilizados durante el proceso de anlisis y diseo de los sistemas informticos, en donde se intentan conformar el diagrama conceptual de la informacin que se manejar en el sistema.
Como ya sabemos UML es un modelado de sistema Orientados a Objetos, por ende los conceptos de este paradigma se incorporan a este lenguaje de modelado.
Las clases define el mbito de definicin de un conjunto de objetos. Cada objeto pertenece a una clase. Los objetos se crean por instanciacin de las clases.
DIAGRAMA DE OBJETOS
Forma parte de la vista esttica del sistema. En este diagrama se modelan las instancias de la clase del Diagrama de Clases. Este diagrama cabe aclarar que cuenta con objetos y enlaces. En estos diagramas tambin es posible encontrar las clases para tomar como referencia su instanciacin.
En otras palabras el Diagrama de Objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. Los Diagramas de Objetos son realmente tiles para modelar estructuras de datos complejas
Un estado es una condicin durante la vida de un objeto, de forma que cuando dicha condicin se satisface se lleva a cabo alguna accin o se espera por un evento. El estado de un objeto se puede caracterizar por el valor de uno o varios de los atributos de su clase, adems, el estado de un objeto tambin se puede caracterizar por la existencia de un enlace con otro objeto.
El diagrama de estados engloba todos los mensajes que un objeto puede enviar o recibir, en otras palabras es un escenario que representa un camino dentro de un diagrama.
Como caracterstica de estos diagramas siempre cuentan con dos estados especiales, el inicial y el final, con la particularidad que este diagrama puede tener solo un estado inicial pero varios
estados finales.
Una transicin entre estados representa un cambio de un estado origen a un estado sucesor destino que podra ser el mismo que el estado origen, dicho cambio de estado puede estar aparejado con alguna accin. Adems las acciones se asocian a las transiciones y se consideran que ocurre de forma rpida e interrumpible.
Crculo lleno, apuntando el estado inicial. Crculo hueco que contiene un crculo lleno ms pequeo en el interior, indicando el estado final.
Rectngulo redondeado dividido por una lnea horizontal, indicado los estados, en la parte de arriba se encuentra el nombre del estado y abajo se indica la actividad que realiza.
Flecha, la cual denota la transicin, el nombre del evento que causa esta transicin etiqueta el cuerpo de la flecha.
Diagrama de actividad Un Diagrama de Actividades representa un flujo de trabajo paso a paso de negocio y operacionales de los componentes en un sistema.
En UML 1, un diagrama de actividades es una variacin del Diagrama de Estados UML donde los estados representan operaciones y las transiciones representan las actividades que ocurren cuando la operacin es completa.
En la actualidad, el diagrama de actividades en UML 2.0 es similar al aspecto del diagrama en UML 1, solo que ahora la semntica est basada en lo que se conoce como Redes de Petri. En UML 2.0, el diagrama general de interaccin est basado en el diagrama de Actividad.
Componentes:
Inicio: el inicio de un diagrama de actividades es representado por un crculo de color negro slido.
Actividad: Una actividad representa la accin que ser realizada por el sistema la cual representa dentro de un valo.
Transicin: Una transicin ocurre cuando se lleva acabo el cambio de una actividad a otra, la transicin es representada simplemente por una lnea con una flecha en su terminacin para indicar su direccin.
Un Diagrama de Secuencias muestra una interaccin ordenada segn la secuencia temporal de eventos y el intercambio de mensajes. Los diagramas de secuencia ponen especial nfasis en el orden y el momento en el que se envan los mensajes a los objetos.
En los diagramas de Secuencias los elementos estn representados por lneas intermitentes verticales, con el nombre del objeto en la parte ms alta.
Los mensajes pueden ser o bien sncronos, el tipo normal de llamada del mensaje donde se pasa el control a objeto llamado hasta que el mtodo finalice, o asncronos donde se devuelve el control directamente al objeto que realiza la llamada.
Los mensajes sncronos tienen una caja vertical en un lateral del objeto invocante que muestra el flujo del control del programa.
Diagrama de Colaboracin
Un diagrama de colaboracin, se puede decir que es una forma alternativa al diagrama de secuencias a la hora de mostrar un escenario. Este tipo de diagrama muestra las interacciones que ocurren entre los objetos que participan en una situacin determinada. A diferencia del diagrama de secuencia, el diagrama de colaboracin se enfoca en la relacin
En estos diagramas los mensajes enviados de un objeto a otro se representa mediante flechas, acompaado del nombre del mensaje, los parmetros y la secuencia del mensaje.
Estos diagramas estn indicados para mostrar una situacin o flujo de programa especfico y son considerados uno de los mejores diagramas para mostrar o explicar rpidamente un proceso dentro de la lgica del programa
DIAGRAMA DE IMPLEMENTACION
Diagrama de componentes
Lo que distingue el Diagrama de Componentes de otro tipo de diagramas es sin duda su contenido. Normalmente contiene componentes, interfaces y relaciones entre
ellos.Los componentes perteneces a un mundo fsico, es decir, representan a un bloque de construccin al modelar aspectos fsicos de un sistema.
Cada componente debe tener un nombre que lo distinga de los dems. Al igual que las clases los componentes pueden enriquecerse con compartimientos adicionales que muestran sus detalles.
Diagrama de Despliegue
Bsicamente este tipo de diagrama se utiliza para modelar el Hardware utilizado en la implementacin del sistema y las relaciones entre sus componentes.
Los elementos usados por este tipo de diagrama son nodos, componentes y asociaciones. En el UML 2.0 los componentes ya no estn dentro de nodos, en cambio puede haber artefactos (archivo, un programa, una biblioteca o Base de datos) u otros nodos dentro de nodos.
Adems los Diagramas de Despliegue muestran la configuracin en funcionamiento del sistema incluyendo su software y su hardware. Para cada componente de un diagrama es necesario que se deba documentar las caractersticas tcnicas requeridas, el trfico de red, el tiempo de respuesta, etc.
Cualquier sistema operativo que soporte Java 10MB de espacio libre en el disco duro. Mouse (u otro dispositivo similar) y teclado. Java 2 JRE o JDK versin 1.4 o superior.
Instalacin de software
Paso 1 Descargar ArgoUML de la direccin: http://es.kioskea.net/download/descargar-4012argouml Paso 2 Una vez descargada el archivo ejecutable debemos abrirlo y seguir los pasos correspondientes:
Paso 3
Despus de abrir el archivo ejecutable aparecer una ventana donde se deber elegir el lenguaje de instalacin.
Paso 4 Posteriormente se abrir la ventana de recomendacin para instalar el software, luego de leerlo presione siguiente.
Paso 5 En este paso deber escoger los componentes a instalar en este caso ArgoUML y luego presione siguiente.
Paso 6 Deber elegir la unidad en la que desea instalar el software y luego presione siguiente.
Paso 7 Deber elegir una carpeta para que el software se encuentre en el men inicio y luego presione instalar.
Paso 9
Una vez instalado aparecer la ventana de confirmacin y deber presionar en el botn terminar.
BARRA DE HERRAMIENTAS
En la parte superior de la ventana se puede observar en esta tenemos las siguiente herramientas de trabajo
Quitar el diagrama.- En este icono podremos quitar El diagrama ya sea Diagrama tras diagrama o todo el diagrama.
Configurar perspectiva.- Aqu podremos cambiar las perspectiva del modelo que queremos construir, como ser orientado a paquetes, a clases, herencia, estados, etc.
Configuracin.- Aqu podremos configurar nuestro modelo como ser preferencias, usuario, mdulos, c+, generador, etc.
Zoom.- Aqu podremos agrandar nuestro modelo segn al tamao que deseemos. INTERFAZ DE ARGOUML La interfaz se encuentra distribuida de la forma en que varios modeladores e IDEs se encuentran organizados. 1. Barra de mens y herramientas en la parte superior. 2. Un explorador del proyecto y los modelos a la izquierda, que permite organizar los elementos en distintas perspectivas. 3. En el centro el rea de diseo e inmediatamente sobre esta un barra de herramientas con los objetos permitidos en el diagrama. 4. La seccin inferior corresponde a las propiedades del objeto seleccionado. Dado que Uds. mismos pueden explorar la interfaz de esta herramienta podemos centrarnos en su uso y en su aplicacin al desarrollo con PHP mediante un ejemplo prctico.
ARGOUML Es un programa que sirve para crear diagramas UML (utilizados en el modelado de sistemas de software). Cumple con el estndar UML 1.4 y es de cdigo abierto, siendo gratuito. Adems, utiliza estndares abiertos: XMI, SVG y PGML. UML es un lenguaje que permite especificar, construir y documentar sistemas; y ArgoUML proporciona herramientas para disear los diagramas UML. Soporta varios tipos de diagramas: diagramas de clases, diagramas de actividad, diagramas de estados, diagramas de casos de uso, diagramas de colaboracin, diagramas de secuencia, etctera. La interfaz es bastante intuitiva, permitiendo que fcilmente se puedan agregar las clases con sus respectivos atributos y mtodos, y luego las relaciones que hay entre las distintas clases. Los diagramas obtenidos se pueden guardar como imgenes, en varios formatos, para luego poder incluir fcilmente en un documento o una pgina web, o preparar para su impresin. ArgoUML permite generar cdigo en diversos lenguajes de programacin, tales como Java, C++, C # y PHP. Tambin ofrece la posibilidad de aplicar ingeniera reversa. La aplicacin permite guardar los diagramas en archivos de tipo PGML (.pgml), la informacin de los modelos en archivos XMI (.xmi), y la informacin global del proyecto se guarda como un archivo propio, con extensin .argo. ArgoUML 0.34 es la ltima versin disponible, la cual fue actualizada en diciembre de 2011. Es multiplataforma (Windows, Linux, Mac OS X) y se puede bajar gratis. Se encuentra traducido al idioma espaol.
Antes de codificar una aplicacin, es necesario sentarse frente al bloc de notas, en lugar de frente al ordenador. Realizar el anlisis y el diseo de aplicaciones es una tarea bsica para realizar antes de la codificacin, pese a la tendencia de todos los programadores (especialmente, los inexpertos), a sentarse a programar.
El uso de herramientas como argoUML (editor de diagramas), permite realizar un diseo de la aplicacin empleando UML, de manera que se puedan generar las clases del diagrama dibujado automticamente. As, el diagrama de clases UML no es slo una ayuda al diseo de aplicaciones, sino que se convierte en una aportacin interesante a la programacin, lo cul puede ser un incentivo a tener en cuenta. INTRODUCCIN Para comenzar a trabajar con argoUML, slo es necesario arrancar la aplicacin, ya que est dedicada ntegramente al diseo de diagramas UML. Pulsando con el botn derecho sobre el modelo, podemos elegir crear diagramas de casos de uso, diagramas de secuencia... etc.
Imagen 1
CREACIN DEL DIAGRAMA DE CLASES La pantalla de comienzo es realmente muy intuitiva, conteniendo una barra de entidades que se identifican por sus propios smbolos en UML.
Imagen 2
Para comenzar a dibujar clases, se pincha en el cuadro de clase (el segundo de la paleta), y se marca algn punto del rea de dibujo. La clase aparecer, sin ninguna informacin asociada.
Imagen 3
En la parte inferior derecha de la ventana, aparecen las propiedades de la clase, que es posible modificar a nuestro gusto en cualquier momento, con slo seleccionarla. En la ventana a la izquierda de las propiedades, aparecen las crticas, que son recomendaciones que deberamos seguir para obtener un buen diagrama UML.
Imagen 4
En los apartados de "atributos" y "operaciones", colocamos todo aquello (atributos y mtodos) relativo a la clase. Es necesario especificar el nombre del atributo o mtodo, su visibilidad, su tipo, y sus parmetros (en el caso del mtodo), por
separado. En esta pestaa principal, marcamos los caractersticas de la propia clase, como que sea abstracta (tal y como aparece en la siguiente figura).
Imagen 5
Cuando se selecciona una clase, una flecha con la punta triangular hueca aparece en su parte superior, de manera que es posible estirarla hasta establecer una relacin de herencia de manera automtica:
Imagen 6
Imagen 7
Imagen 8
Generando el cdigo
Una vez creado el diagrama, para generar el cdigo fuente slo es necesario pulsar F7, o ir al men principal, opcin Generar (o Generate). Es capaz de generar, a partir de diagramas, cdigo para C++, PHP, C# o Java.
Imagen 9
A continuacin, se listan los archivos generados: ArgoUML es una aplicacin de diagramado de UML escrita en Java y publicada bajo la Licencia BSD. Dado que es una aplicacin Java, est disponible en cualquier plataforma soportada por Java. El Magazine de Desarrollo de Software entrega premios anuales a herramientas de desarrollo de software populares en varias categoras. En 2003 ArgoUML fue una de las finalistas en la categora "Design and Analysis Tools". ArgoUML recibi un premio "runner-up"(revelacin), derrotando a muchas herramientas
comerciales.
Sin embargo, desde la versin 0.20, ArgoUML est incompleto. No es conforme completamente a los estndares UML [1] y carece de soporte completo para algunos tipos de diagramas incluyendo los Diagrama de secuencia y los de colaboracin. ArgoUml maneja los siguientes tipos de diagrama:
DESVENTAJAS
No tiene botn "deshacer". Los Modelos a veces no pueden ser re-abiertos. Import/Export a Java. No hay llamadas-reflexivas en los diagramas de secuencia--> si existen las llamadas reflexivas, es un poco complejo hacerlas, pero s se pueden, se hacen al tomar una accin, partir desde el objeto que se quiere reflexivo, generar 2 puntos (como haciendo un cuadrado) fuera del objeto y luego volviendo al objeto.
Al mover una clase las relaciones no se mueven de forma correcta. Al seleccionar un rea no se seleccionan las clases de relacin. Debes de crear un diagrama de clases, para crear algn otro diagrama. No aplica ingeniera inversa.
ArgoUML tiene varios conjuntos de crticas de diseo que pueden ayudarnos a mejorar nuestros modelos y software. En el men contextual de los elementos podemos ver las crticas que son aplicables as como la gravedad de las mismas. Tambin es posible ver la cantidad total de crticas por grado de prioridad.
Podemos documentar cualquier elemento, adems de ser muy til nos permitir mantener un cdigo bien documentado y que pueda ser entendido por otros, y utilizar estos comentarios para generar documentacin de referencia con programas como
phpDocumentor.
La generacin de cdigo es unas de las caractersticas que ms me agradan de este modelador. Me permite crear rpidamente Crear las definiciones bsicas de las clases y otros elementos, que luego puedo especificar con mayor detalle de acuerdo a las necesidades. Todo sin prdida de cdigo al actualizar mi modelo.
Simplemente debemos seleccionar las clases y los lenguajes para los que generaremos el cdigo as como la ruta de destino y estamos listos para continuar programado en cuanto generamos el cdigo. Entre los lenguajes soportados estn PHP 4 y 5, Java y C++.
En el cdigo generado tendremos un archivo por cada elemento, tambin se generaran los paquetes o directorios en caso que hayamos agrupado en paquetes los elementos de nuestro modelo. Se siguen las buenas prcticas de nombrado para los archivos. Esto resulta conveniente sobre todo cuando tenemos una gran cantidad de elementos (clases, paquetes, interfaces y otros) que nos resultara difcil recordar lo que contienen labor que resultara aun ms engorrosa para otros que necesiten revisar nuestro cdigo. El cdigo generado integra los comentarios y dems elementos informativos que hayamos incluido algunos de estos pueden configurarse a nivel global, de proyecto o del elemento de diseo.
Las secciones que vemos entre estos comentarios que contienen la palabra section son las zonas donde podemos ingresar nuestro cdigo sin tener que preocuparnos porque sea sobre escrito al regenerar el cdigo una vez que hayamos realizado cambios. Dado que los se guardan archivos separados por cada elemento ArgoUML se encarga de agregar las inclusiones necesarias basadas en las relaciones entre elementos y los tipos de parmetros y atributos. Entre las herramientas de uso libre para ingeniera de software ArgoUML es una de las que ms me agrada dado que adems de ser de cdigo abierto. Me permite hacer todo lo que necesito sin tener que usar software propietario. Puedo portar mis modelos a casi cualquier otra herramienta exportndolo como un XMI. Creo que pude contribuir al uso de las caractersticas de orientacin a objetos de este lenguaje con tanto potencial y que se encuentra en evolucin constante. Caractersticas cuyo uso an no se encuentra ampliamente difundido entre muchos programadores, pese a todo el esfuerzo puesto en ello.
CONCLUSIN ArgoUML fue concebido como un entorno y herramienta para utilizar en el anlisis y diseo de sistemas de software orientados a objeto. En este sentido es similar a muchas de las herramientas CASE comerciales que son vendidas como herramientas para modelar sistemas software. ArgoUML tiene un nmero de distinciones muy importantes de muchas de esas herramientas. Al estar desarrollado en Java el programa no depende de ninguna plataforma por esa razn puede instalarse en mltiples sistemas operativos, teniendo como nica condicin previa la mquina virtual de Java instalada (JDK). Adems tiene soporte para UML 1.4 y proporciona buenas herramientas para dibujar y manipular los diagramas. Como muchas otras herramientas para el anlisis de sistemas informticos de esta potencia, ArgoUML proporciona la generacin del cdigo, el cual puede ser utilizado en los siguientes lenguajes: Java, C++, C Sharp (C#) y PHP. Como otro aspecto importante a tener en cuenta los proyectos de esta aplicacin pueden exportarse a mltiples formatos grficos mencionados con anterioridad. El uso de herramientas como ArgoUML permite realizar un diseo de la aplicacin empleando UML, de manera que se puedan generar las clases del diagrama dibujado automticamente. As, el diagrama de clases no es slo una ayuda al diseo de aplicaciones, sino que se convierte en un aporte interesante a la programacin, lo cual puede ser un incentivo a tener en cuenta a la hora de realizar el proceso de anlisis de sistemas informticos.