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.
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.:
Publicar un comentario