SlideShare una empresa de Scribd logo
1 de 24
1
UML
Diagrama de Secuencia
Universidad de los Andes
Demián Gutierrez
Mayo 2011
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 diferencia
entre una clase y un objeto
3
Diagramas de Secuencia
(Los tres cerditos)
¿Qué tiene que ver un diagrama de secuencias
con la fábula de los tres cerditos?
(Gracias Ken Howard)
http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html
4
Diagramas de Secuencia
(Los tres cerditos)
Los diagramas
de Secuencias
“cuentan” historias
5
Diagramas de Secuencia
(Los tres cerditos)
Fuente: http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html
6
Diagramas de Secuencia
(Los tres cerditos)
Ejecución en
Paralelo
Actores
Involucrados
Objeto
Instanciación
Objeto
(Ejecución)
Activo
Separador de
las ejecuciones
concurrentes
Línea de Vida
de un Actor
u Objeto
Recordar Etiquetas
Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/
7
Diagramas de Secuencia
(Los tres cerditos)
Fin de la vida
de un objeto
Mensaje
Comentario
Retorno
Explícito
Pila de
Llamada
Recordar
Etiquetas
Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/
8
Diagramas de Secuencia
(Los tres cerditos)
Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/
Ojo, aquí
hay un error
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.
10
Descripción Textual de un Caso de Uso
(Requerimientos: ¿Qué debe hacer el sistema?)
Distintos símbolos
usados para diferenciar
distintos tipos de
objetos
Numeración
(Orden)
de los
Mensajes
Mensaje
a si mismo
Mensaje
Asíncrono
Recordar
Etiquetas
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
12
Diagramas de Secuencia
(Implementación)
Origen del
Mensaje
Indeterminado
Destino del
Mensaje
Indeterminado
Argumentos
del Mensaje
Repetición *
mientras / para
[condición]Recordar
Etiquetas
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);
}
14
Diagramas de Secuencia
(Implementación)
Lazo / Repetición
Explícito de
más de una
instrucción
Mientras / para
[condición]
Valor de
Retorno
Marco
Compuesto
Recordar
Etiquetas
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);
}
}
16
Diagramas de Secuencia
(Implementación)
Condicional
[condición]
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);
}
}
18
Diagramas de Secuencia
(Implementación)
Condicional
(Opcional)
[condición]
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);
}
}
20
Diagramas de Secuencia
(Implementación)
Flujos
Alternativos
(if/else)
[condición]
Se pueden
tener todos los
compartimientos
que sean
necesarios
21
Diagramas de Secuencia
(Implementación)
Identificación
del diagrama
22
Diagramas de Secuencia
(Implementación)
Identificación
del diagrama
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
24
Gracias
¡Gracias!

Más contenido relacionado

La actualidad más candente

Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
 
casos de uso
casos de usocasos de uso
casos de uso
still01
 
Base de datos de una pizzeria
Base de datos de una pizzeriaBase de datos de una pizzeria
Base de datos de una pizzeria
Lupithaa Guerrero
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
Xochitl Saucedo Muñoz
 

La actualidad más candente (20)

IT MARK
IT MARK IT MARK
IT MARK
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
casos de uso
casos de usocasos de uso
casos de uso
 
Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos Comparticion de recursos- Sistemas Distribuidos
Comparticion de recursos- Sistemas Distribuidos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Modelo V
Modelo VModelo V
Modelo V
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Base de datos de una pizzeria
Base de datos de una pizzeriaBase de datos de una pizzeria
Base de datos de una pizzeria
 
Arquitectura en Capas
Arquitectura en CapasArquitectura en Capas
Arquitectura en Capas
 
Base de datos colegio
Base de datos colegioBase de datos colegio
Base de datos colegio
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Introduccion bases de datos
Introduccion bases de datosIntroduccion bases de datos
Introduccion bases de datos
 

Destacado

Destacado (6)

Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Guia de Usuario Lego NXT
Guia de Usuario Lego NXTGuia de Usuario Lego NXT
Guia de Usuario Lego NXT
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Practicas con LEGO NXT
Practicas con LEGO NXTPracticas con LEGO NXT
Practicas con LEGO NXT
 

Similar a Uml clase 06_uml_secuencia

diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
jent46
 
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.pptDiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
JoseChaaparroo1
 
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
Vanessa Santiago
 
Diagrama de secuencia 2
Diagrama de secuencia 2Diagrama de secuencia 2
Diagrama de secuencia 2
evelyn alvarez
 
Semana6_Grupo3_AndrésCabrera.pdf
Semana6_Grupo3_AndrésCabrera.pdfSemana6_Grupo3_AndrésCabrera.pdf
Semana6_Grupo3_AndrésCabrera.pdf
jimmychango
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia java
orus004
 

Similar a Uml clase 06_uml_secuencia (20)

diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
 
Elementos de comportamiento
Elementos de comportamientoElementos de comportamiento
Elementos de comportamiento
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS CLASES DE DIAGRAMAS
CLASES DE DIAGRAMAS
 
Clase diagramas desecuencia
Clase diagramas desecuenciaClase diagramas desecuencia
Clase diagramas desecuencia
 
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.pptDiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
 
Desarrollo de ejercicios básicos en matlab
Desarrollo de ejercicios básicos en matlabDesarrollo de ejercicios básicos en matlab
Desarrollo de ejercicios básicos en matlab
 
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
Modelos%20 Geom% C3% A9tricos%20y%20 Fractales[1]
 
Modelos GeoméTricos Y Fractales
Modelos GeoméTricos Y FractalesModelos GeoméTricos Y Fractales
Modelos GeoméTricos Y Fractales
 
Diagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosDiagramas de Interaccion de Objetos
Diagramas de Interaccion de Objetos
 
Colabora2
Colabora2Colabora2
Colabora2
 
Diagrama de secuencia 2
Diagrama de secuencia 2Diagrama de secuencia 2
Diagrama de secuencia 2
 
Diagrama de secuencia 2
Diagrama de secuencia 2Diagrama de secuencia 2
Diagrama de secuencia 2
 
Semana6_Grupo3_AndrésCabrera.pdf
Semana6_Grupo3_AndrésCabrera.pdfSemana6_Grupo3_AndrésCabrera.pdf
Semana6_Grupo3_AndrésCabrera.pdf
 
Sobre rectas y funciones lineales
Sobre rectas y funciones linealesSobre rectas y funciones lineales
Sobre rectas y funciones lineales
 
Funciones
FuncionesFunciones
Funciones
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia java
 
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
Del análisis al diseño. conclusión de la fase del análisis. diagramas de cola...
 
Diagramas de UML ingeniería
Diagramas de UML  ingenieríaDiagramas de UML  ingeniería
Diagramas de UML ingeniería
 
ingenieria1
ingenieria1ingenieria1
ingenieria1
 

Uml clase 06_uml_secuencia

  • 1. 1 UML Diagrama de Secuencia Universidad de los Andes Demián Gutierrez Mayo 2011
  • 2. 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 diferencia entre una clase y un objeto
  • 3. 3 Diagramas de Secuencia (Los tres cerditos) ¿Qué tiene que ver un diagrama de secuencias con la fábula de los tres cerditos? (Gracias Ken Howard) http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html
  • 4. 4 Diagramas de Secuencia (Los tres cerditos) Los diagramas de Secuencias “cuentan” historias
  • 5. 5 Diagramas de Secuencia (Los tres cerditos) Fuente: http://kenhoward01.blogspot.com/2008/06/three-little-pigs-in-uml.html
  • 6. 6 Diagramas de Secuencia (Los tres cerditos) Ejecución en Paralelo Actores Involucrados Objeto Instanciación Objeto (Ejecución) Activo Separador de las ejecuciones concurrentes Línea de Vida de un Actor u Objeto Recordar Etiquetas Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/
  • 7. 7 Diagramas de Secuencia (Los tres cerditos) Fin de la vida de un objeto Mensaje Comentario Retorno Explícito Pila de Llamada Recordar Etiquetas Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/
  • 8. 8 Diagramas de Secuencia (Los tres cerditos) Fuente: http://www.tracemodeler.com/articles/pimp-my-diagram-three-little-pigs/ Ojo, aquí hay un error
  • 9. 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.
  • 10. 10 Descripción Textual de un Caso de Uso (Requerimientos: ¿Qué debe hacer el sistema?) Distintos símbolos usados para diferenciar distintos tipos de objetos Numeración (Orden) de los Mensajes Mensaje a si mismo Mensaje Asíncrono Recordar Etiquetas
  • 11. 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
  • 12. 12 Diagramas de Secuencia (Implementación) Origen del Mensaje Indeterminado Destino del Mensaje Indeterminado Argumentos del Mensaje Repetición * mientras / para [condición]Recordar Etiquetas
  • 13. 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); }
  • 14. 14 Diagramas de Secuencia (Implementación) Lazo / Repetición Explícito de más de una instrucción Mientras / para [condición] Valor de Retorno Marco Compuesto Recordar Etiquetas
  • 15. 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); } }
  • 17. 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); } }
  • 19. 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); } }
  • 20. 20 Diagramas de Secuencia (Implementación) Flujos Alternativos (if/else) [condición] Se pueden tener todos los compartimientos que sean necesarios
  • 23. 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