jueves, 4 de diciembre de 2014

Diagramas UML de un caso de uso


Actividad semana tres

1.    Utilizando Internet, el material del curso y Libros de UML, investigue:
·         Que es un Diagrama de Interacción
·         Qué elementos participan en un Diagrama de Interacción
·         Cómo se obtiene o desarrolla un Diagrama de Interacción
2.    Usando Internet y revistas de software y el material del curso, busque al menos 3 herramientas de software que sirvan para  el desarrollo de diagramas UML. Redacte un documento comparativo de las 3 herramientas y establezca 5 criterios como mínimo para su evaluación (Ejemplo: Facilidad de uso, soporte del proveedor, plantillas de ejemplo, costo, etc.)
3.    En base a la información estudiada hasta el momento y a la información que se encuentra en el documento Práctica Caso uso  U3, realiza los diagramas de casos de uso correspondientes a la situación descrita en el documento.

Desarrollo

1.   
Diagramas de interacción
Todos los sistemas tienen una estructura estática y un comportamiento dinámico, y el UML proporciona diagramas para capturar y describir ambos aspectos. Los diagramas de clases se usan para documentar y expresar la estructura estática de un sistema, es decir, las clases y sus relaciones. Los diagramas de estado y los diagramas de interacción describen el comportamiento de un sistema, para demostrar cómo los objetos interactúan dinámicamente en diferentes momentos durante la ejecución del sistema.
El diagrama de interacción, representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre sí en petición a un evento. Esto implica recorrer toda la secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Estático de Clases o el de Casos de Uso (son diferentes).
Los componentes de un diagrama de interacción son:
Elementos














El rectángulo representa una instancia de un Objeto en particular, y la línea punteada representa las llamadas a métodos del objeto.














Se representa por una flecha entre un objeto y otro, representa la llamada de un método (operación) de un objeto en particular.















No solo llamadas a métodos de objetos externos pueden realizarse, también es posible visualizar llamadas a métodos desde el mismo objeto en estudio.

Ejemplo
En el presente ejemplo, tenemos el diagrama de interacción proveniente del siguiente modelo estático:

Aquí se representa una aplicación que posee una Ventana gráfica, y ésta a su vez posee internamente un botón.
Entonces el diagrama de interacción para dicho modelo es:


En donde se hacen notar las sucesivas llamadas a Draw() (entre objetos) y la llamada a Paint() por el objeto Botón.
Los objetos dentro de un sistema se comunican unos con otros, enviándose mensajes. Un mensaje es justo una operación donde un objeto llama a otro objeto. Así pues la dinámica de un sistema se refiere a cómo los objetos dentro del sistema cambian de estado durante el ciclo de vida del mismo y también a cómo dichos objetos colaboran a través de la comunicación. En el primer caso se utilizan los diagramas de estado y los diagramas de actividad. En el segundo caso, la comunicación entre los objetos se representa mediante los diagramas de interacción, que a su vez agrupan a dos tipos de diagramas: secuencia y colaboración.

Diagrama de Secuencia
Un diagrama de Secuencia muestra una interacción ordenada según la secuencia temporal de eventos. En particular, muestra los objetos participantes en la interacción y los mensajes que intercambian ordenados según su secuencia en el tiempo.
El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interacción, sin un orden prefijado. Cada objeto o actor tiene una línea vertical, y los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba abajo.
Se pueden colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transiciones o activaciones a las que se refieren.










            Diagrama de secuencia










Para hacer un diagrama de secuencia
   ·         Colocar los objetos que participan en la interacción en la parte de arriba del diagrama, a través del eje de las X.
   ·         Colocar los objetos que inician la interacción a la izquierda y los objetos más subordinados a la derecha.
   ·         Colocar los mensajes que estos objetos envían y reciben junto al eje de las Y, en orden de incremento de tiempo de arriba hacia abajo.
   ·         Existe la línea de vida del objeto, que representa la existencia de un objeto en un período de tiempo.
   ·         Existe el foco de control, que muestra el período de tiempo en el que el objeto se encuentra representando una acción

Diagrama de Colaboración
Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere). A diferencia de los Diagramas de Secuencia, los Diagramas de Colaboración muestran las relaciones entre los roles de los objetos. La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente mediante números de secuencia.









        Diagrama de colaboración









En cuanto a la representación, un Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre los mismos, y con los mensajes que se intercambian dichos objetos. Los mensajes son flechas que van junto al enlace por el que “circulan”, y con el nombre del mensaje y los parámetros (si los tiene) entre paréntesis.
Cada mensaje lleva un número de secuencia que denota cuál es el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no lleva número de secuencia. Se pueden indicar alternativas con condiciones entre corchetes (por ejemplo 3 [condición_de_test]:
nombre_de_método() ), tal y como aparece en el ejemplo de la Figura 17. También se puede mostrar el anidamiento de mensajes con números de secuencia como 2.1, que significa que el mensaje con número de secuencia 2 no acaba de ejecutarse hasta que no se han ejecutado todos los 2. x.

Para hacer un diagrama de colaboración
   ·         Colocar los objetos que participan en la interacción como los vértices en una gráfica.
   ·         Interpretar las ligas que conectan a estos objetos como los arcos de la gráfica.
   ·         Adornar estas ligas con los mensajes que los objetos envían y reciben.
   ·         Establecer una ruta, para indicar como un objeto es ligado a otro. Podemos unirle un estereotipo al final de una liga.
   ·         Establecer un número de secuencia, para indicar el orden de tiempo de un mensaje. Éste debe ser único.

     
     2.   
ArgoUML
"Un Modelador UML alternativo y limpio"
El análisis y el diseño de las aplicaciones es una tarea fundamental a realizar antes de llevar a cabo la codificación de cualquier aplicación. Con Argo UML tenemos a nuestra disposición una herramienta para el diseño de aplicaciones empleando diagramas UML. Al haber sido desarrollada en JAVA, todos los modelos creados serán compatibles con los estándares de este lenguaje de programación.
Entre sus características más destacadas está la generación del código para los lenguajes JAVA, C++, PHP4 y PHP 5 a partir de los diagramas generados con Argo UML. Una de las cualidades que más útiles resulta para aquello que quieren realizar un correcto diseño de su aplicación antes de lanzarse a la codificación.
ArgoUML es un editor UML gratuito. Sus puntos fuertes son la compatibilidad con el estándar UML 1.4, la exportación a varios formatos gráficos y la disponibilidad de perfiles para varios lenguajes de programación.
La ventana de ArgoUML se divide en cuatro secciones: un explorador de elementos, una lista "To Do", un panel de detalles con pestañas y el área de dibujo. Desde Generar puedes elegir uno de los siete tipos de diagrama UML que ArgoUML permite diseñar.
Aunque tenga muchos puntos fuertes a su favor, como la generación de código en varios lenguajes, la compatibilidad con OCL y la disponibilidad de perfiles UML, ArgoUML también tiene carencias: el soporte para el estándar UML es limitado y la función deshacer no aparece en el Editor.
Hecha en Java cuenta con una mejor interfaz muy atractiva al usuario, sin embargo, su debilidad son las limitantes de guardar con extenciones .zargo .uml .xmi solamente. 
También tiene herramientas para generar casi todos los tipos de diagramas UML que conocemos. 
ArgoUML soporta los siguientes formatos: GIF, PNG, PS, EPS, PGML, SVG
Pros
   ·         Soporte fiel del estándar UML 1.4
   ·         Exportación a seis formatos gráficos
   ·         Documentación y comunidad de usuarios
   ·         Multiplataforma
   ·         Buen manejo de la interface
   ·         7 casos de uso diferente
   ·         Zona de trabajo limpia
Contras
   ·         Sin soporte para UML 2
   ·         Función deshacer incompleta
   ·         Aspecto metálico

Calificación:
   ·         Usabilidad 8,7
   ·         Estabilidad 9,9
   ·         Instalación 9,3
   ·         Funciones 8,0
   ·         Apariencia 3,5
www.softonic.com/s/para-hacer-diagramas-uml

StarUML
Modelador de diagramas UML
StarUML genera todo tipo de diagramas compatibles con la plataforma de programas Microsoft Office. 
StarUML se maneja con facilidad. En un vistazo a la interfaz se ven las funciones principales del programa. Otra característica importante del programa es que su código es compatible con C++ y Java. 
Con StarUML puedes traspasar toda la documentación generada a cualquier programa de suite de Microsoft Office ya sea Word, Excel o PowerPoint.
En definitiva, StartUML es rápido, flexible, extensible y una plataforma UML/MDA muy fácil de utilizar.
Puedes comenzar a dibujar los gráficos manualmente o seleccionar las plantillas que contiene el archivo de instalación para modificarlas. Esta última opción es muy recomendable para quien no ha trabajado con archivos UML / MDA. Para este caso quizá te convenga buscar en la página del autor los módulos y plantillas más adecuados para tu proyecto.
Contras
   ·         El instalador de Softonic, que insiste en instalar una barra que no se requiere.

Calificación
  ·         Usabilidad 9,0
  ·         Estabilidad 9,0
  ·         Instalación 5,0
  ·         Funciones 10
  ·         Apariencia 9,0
www.softonic.com/s/para-hacer-diagramas-uml

Enterprise Architect
Útil herramienta para crear todo tipos de Diagramas UML, para los que trabajan creando sistemas, o bien analizándolos o los que estudian ingeniería.
Enterprise Architect combina el poder de la última especificación UML con alto rendimiento, interfaz intuitiva, para traer modelado avanzado al escritorio, y para el equipo completo de desarrollo e implementación. Con un gran conjunto de características y un valor sin igual para el dinero, EA puede equipar a su equipo entero, incluyendo analistas, evaluadores, administradores de proyectos, personal del control de calidad, equipo de desarrollo y más, por una fracción del costo de algunos productos competitivos. Verifique el rango completo de las herramientas y características case en detalle.
Soporte para los 13 diagramas de UML 2 y más.
EA soporta transformaciones de Arquitectura avanzada dirigida por Modelos (MDA) usando plantillas de transformaciones de desarrollo y fáciles de usar. Con transformaciones incorporadas para DDL, C#, Java, EJB y XSD, usted puede rápidamente desarrollar soluciones complejas desde los simples "modelos independientes de plataforma" (MIP) que son el objetivo en "modelos específicos de plataforma" (MEP). Un MIP se puede usar para generar y sincronizar múltiples MIP's - proveyendo un aumento de productividad significativo.
www.identi.li/index.php?topic=124314


    
    3.   
Práctica Casos de Uso

Caja “Self checkout” de Wal-Mart

A continuación se detallan los pasos a seguir, para poder realizar la transacción de “compras” de artículos en los supermercados de Wal-Mart en los Estados Unidos, por el mismo cliente, sin necesidad de que una cajera realice este proceso:
  1.    El cliente llega a la caja, tiene que elegir el idioma que desea que se despliegue en la pantalla; los idiomas disponibles son inglés o español.
  2.    A continuación, el cliente debe de pasar el código de barras del artículo por el lector (escanear), e inmediatamente después, debe colocar el artículo sobre la balanza de la caja, para que se pueda comprobar que sea verdaderamente el artículo que se pasó sobre el scanner. Si no se pone el artículo sobre la balanza, se bloquea el sistema y se pide la autorización de un supervisor, una vez que esté lo ha autorizado, se puede proseguir con el escaneo de los demás artículos.
  3.    Cuando se hayan terminado de escanear todos los artículos, el cliente debe presionar la opción de “Pagar”.
  4.    A continuación, el sistema pide que el cliente seleccione el tipo de pago, los cuales son: “Efectivo”, “Tarjeta de Crédito”, “Tarjeta de Débito”.
                    a.        Si el pago es en “Efectivo”, el sistema pide que se introduzcan primero las monedas y posteriormente los billetes.
                    b.        Si el pago es con “Tarjeta de crédito o Débito”, se pide que se deslice la tarjeta, se ponga la firma en el tablero electrónico y se de clik en la opción de “Enviar”, para que el banco pueda autorizar la transacción y acreditarse el  pago.
  5.    Una vez que se efectuó correctamente el pago, el sistema regresa el cambio de dinero (si es necesario), imprime el recibo de la compra y despide al cliente con la frase de “Gracias por realizar su compra”.


    Casos de uso:


                     

No hay comentarios.: