Top Banner
1 UML Diagrama de Secuencia Universidad de los Andes Demián Gutierrez Mayo 2011
24

UML Clase 06 UML Secuencia

Aug 11, 2015

Download

Documents

Diagrama de secuencia
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UML Clase 06 UML Secuencia

1

UMLDiagrama de Secuencia

Universidad de los AndesDemián Gutierrez

Mayo 2011

Page 2: UML Clase 06 UML Secuencia

2

Diagramas de Secuencia

Los Diagramas de Secuencias muestran la forma en que un grupo de objetos se comunican (interactúan)

entre sí a lo largo del tiempo

Un Diagrama de Secuencia consta de objetos, mensajes entre estos objetos y una línea de vida del

objeto representada por una línea vertical

pedro = new Persona()

Es importante recordar la diferenciaentre una clase y un objeto

Page 3: UML Clase 06 UML Secuencia

3

Diagramas de Secuencia(Los tres cerditos)

¿Qué tiene que ver un diagrama de secuenciascon la fábula de los tres cerditos?

(Gracias Ken Howard)http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html

Page 4: UML Clase 06 UML Secuencia

4

Diagramas de Secuencia(Los tres cerditos)

Los diagramasde Secuencias

“cuentan” historias

Page 5: UML Clase 06 UML Secuencia

5

Diagramas de Secuencia(Los tres cerditos)

Fuente: http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html

Page 6: UML Clase 06 UML Secuencia

6

Diagramas de Secuencia(Los tres cerditos)

Ejecución enParalelo

ActoresInvolucrados

ObjetoInstanciación

Objeto(Ejecución)

Activo

Separador delas ejecucionesconcurrentes

Línea de Vidade un Actor

u Objeto

Recordar Etiquetas

Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/

Page 7: UML Clase 06 UML Secuencia

7

Diagramas de Secuencia(Los tres cerditos)

Fin de la vidade un objeto

Mensaje

Comentario

RetornoExplícito

Pila deLlamada

RecordarEtiquetas

Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/

Page 8: UML Clase 06 UML Secuencia

8

Diagramas de Secuencia(Los tres cerditos)

Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/

Ojo, aquíhay un error

Page 9: UML Clase 06 UML Secuencia

9

Diagramas de Secuencia(Relación con Casos de Uso)

Flujo Normal:

Flujo Alternativo:

1.- El actor pulsa sobre el botón para crear un nuevo mensaje.2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de mayor tamaño para introducir el cuerpo del mensaje.3.- El actor introduce el título del mensaje y el cuerpo del mismo.4.- El sistema comprueba la validez de los datos y los almacena.5.- El moderador recibe una notificación de que hay un nuevo mensaje.6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador.

4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija.

7.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario.

Page 10: UML Clase 06 UML Secuencia

10

Descripción Textual de un Caso de Uso(Requerimientos: ¿Qué debe hacer el sistema?)

Distintos símbolosusados para diferenciar

distintos tipos deobjetos

Numeración(Orden)de los

Mensajes

Mensajea si mismo

MensajeAsíncrono

RecordarEtiquetas

Page 11: UML Clase 06 UML Secuencia

11

Diagramas de Secuencia(Implementación)

protected void doPaint(Painter painter) { painter.drawRect(x, y, width, height); // Cause painting of shapes to be relative to this shape painter.translate(x, y);

for (Shape s : shapes) { s.paint(painter); }}

Es posible utilizar un diagrama de secuencia para modelar el método anterior

Page 12: UML Clase 06 UML Secuencia

12

Diagramas de Secuencia(Implementación)

Origen delMensaje

Indeterminado

Destino delMensaje

Indeterminado

Argumentosdel Mensaje

Repetición *mientras / para

[condición]RecordarEtiquetas

Page 13: UML Clase 06 UML Secuencia

13

Diagramas de Secuencia(Implementación)

protected void doPaint(Painter painter, Config config) { painter.drawRect(x, y, width, height); // Cause painting of shapes to be relative to this shape painter.translate(x, y);

for (Shape s : shapes) { Rectangle clip = s.getClip(); painter.setClip(clip); s.paint(painter); }

// Restore graphics origin painter.translate(-x, -y);}

Page 14: UML Clase 06 UML Secuencia

14

Diagramas de Secuencia(Implementación)

Lazo / RepeticiónExplícito demás de unainstrucción

Mientras / para[condición]

Valor deRetorno

MarcoCompuesto

RecordarEtiquetas

Page 15: UML Clase 06 UML Secuencia

15

Diagramas de Secuencia(Implementación)

protected void doPaint(Painter painter, Config config) { painter.drawRect(x, y, width, height); // Cause painting of shapes to be relative to this shape boolean translate = config.needsTranslation();

if (translate) { painter.translate(x, y); }

for (Shape s : shapes) { s.paint(painter); }}

Page 16: UML Clase 06 UML Secuencia

16

Diagramas de Secuencia(Implementación)

Condicional[condición]

Page 17: UML Clase 06 UML Secuencia

17

Diagramas de Secuencia(Implementación)

protected void doPaint(Painter painter, Config config) { painter.drawRect(x, y, width, height); // Cause painting of shapes to be relative to this shape boolean translate = config.needsTranslation();

if (translate) { painter.setTransformsEnabled(true); painter.translate(x, y); }

for (Shape s : shapes) { s.paint(painter); }}

Page 18: UML Clase 06 UML Secuencia

18

Diagramas de Secuencia(Implementación)

Condicional(Opcional)

[condición]

Page 19: UML Clase 06 UML Secuencia

19

Diagramas de Secuencia(Implementación)

protected void doPaint(Painter painter, Config config) { painter.drawRect(x, y, width, height); // Cause painting of shapes to be relative to this shape boolean translate = config.needsTranslation();

if (translate) { painter.setTransformsEnabled(true); painter.translate(x, y); } else { painter.setTransformsEnabled(false); painter.translate(0, 0); }

for (Shape s : shapes) { s.paint(painter); }}

Page 20: UML Clase 06 UML Secuencia

20

Diagramas de Secuencia(Implementación)

FlujosAlternativos

(if/else)[condición]

Se puedentener todos los

compartimientosque sean

necesarios

Page 21: UML Clase 06 UML Secuencia

21

Diagramas de Secuencia(Implementación)

Identificacióndel diagrama

Page 22: UML Clase 06 UML Secuencia

22

Diagramas de Secuencia(Implementación)

Identificacióndel diagrama

Page 23: UML Clase 06 UML Secuencia

23

Diagramas de Secuencia(Implementación)

Una referencia rápida de UML

http://www.holub.com/goodies/uml/

Tutorial de Diagramas de Secuencia (IBM)http://www.ibm.com/developerworks/rational/library/3101.html

Tutorial de Diagramas de Secuencia (Trace Modeler)http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/index.html

Page 24: UML Clase 06 UML Secuencia

24

Gracias

¡Gracias!