36
Análisis y Diseño de Sistemas de Información UML Lenguaje de Modelado Unificado Parte Dinámica

UML Diagrama Secuencia 2012

  • Upload
    frc9

  • View
    87

  • Download
    1

Embed Size (px)

Citation preview

Page 1: UML Diagrama Secuencia 2012

Análisis y Diseño de Sistemas de Información

UML

Lenguaje de Modelado Unificado

Parte Dinámica

Page 2: UML Diagrama Secuencia 2012

UML - Lenguaje de Modelado Unificado

Parte Dinámica

The Unified Modeling Language User Guide, second edition

Grady Booch, James Rumbaugh, Ivar Jacobson

Addison Wesley Professional

ISBN: 0-321-26797-4

2005 http://www.uml.org/UML Resource PageUML 2.1.2 (Nov. 2007)UML 2.1.2 (Nov. 2007)

UML infrastructure UML Superstructure

The Unified Modeling Language Reference Manual,

Second edition

James Rumbaugh, Ivar Jacobson, Grady Booch

Addison Wesley Professional

ISBN: 0321245628

2004

Page 3: UML Diagrama Secuencia 2012

Diagrama de EstadosDiagrama de EstadosDiagrama de Diagrama de SecuenciaSecuencia

Diagrama de Diagrama de ClasesClases

Diagrama deDiagrama deComponentesComponentes

Diagrama de Diagrama de Casos de UsoCasos de Uso

Diagrama de Diagrama de ComunicaciónComunicación

Tipos de Diagramas en UML

Diagrama de DespliegueDiagrama de Despliegue

ClasesClases ComponentesComponentesComunicaciónComunicación

Diagrama de ActividadDiagrama de Actividad

Page 4: UML Diagrama Secuencia 2012

Vista de Interacciones

� Los objetos interactúan para implementar un comportamiento.

� Esta interacción se puede describir en dos formas complementarias, focalizándose:

� en una colección de objetos cooperantes - Colaboración

� en objetos individuales – Máquinas de Estados

� Una colaboración tiene aspectos:Una colaboración tiene aspectos:

� estático (define el contexto del comportamiento)

� de comportamiento (el conjunto de mensajes que se intercambian los

objetos - Interacción)

� Una Interacción puede representarse con dos tipos de diagramas:

� de secuencia

� de comunicación

Page 5: UML Diagrama Secuencia 2012

Diagrama de EstadosDiagrama de EstadosDiagrama de Diagrama de SecuenciaSecuencia

Diagrama de Diagrama de ClasesClases

Diagrama deDiagrama deComponentesComponentes

Diagrama de Diagrama de Casos de UsoCasos de Uso

Diagrama de Diagrama de ComunicaciónComunicación

Tipos de Diagramas en UML

Diagrama de DespliegueDiagrama de Despliegue

ClasesClases ComponentesComponentesComunicaciónComunicación

Diagrama de ActividadDiagrama de Actividad

Page 6: UML Diagrama Secuencia 2012

Los Diagramas de Secuencia representan

explícitamente

la secuencia ordenada de interacciones (mediante el

envío de mensajes) descriptas en un Caso de Uso.

Identificación de las Características de las Clases

Diagrama de Secuencia

Identificación de las Características de las Clases

Los Diagramas de Secuencia pueden ser empleados para

conocer las responsabilidades de las clases y objetos.

Los Diagramas de Secuencia permiten identificar los objetos

e interacciones necesarias para brindar algún servicio.

Page 7: UML Diagrama Secuencia 2012

Diagrama de Secuencia

� Un Diagrama de Secuencia se compone de:

� Un conjunto de objetos (clase o instancia).

� Un conjunto de mensajes que comunican pares de

objetos.

� Secuencias de comportamiento de los objetos.

� Información de control (Condicional, Repetición, etc.)

Page 8: UML Diagrama Secuencia 2012

Actividad: Controlar Temperatura

Diagrama de Secuencia

ControlarTemperaturasd

Controlador SensorT ValvulaVapor

1 : obtenerTemperatura()

objetos

mensajes

lifeline, indica la

controlTemperaturaalt

[temp > 70]

[temp < 60] 2 : abrir()

3 : cerrar()

tiempo

tiempo que está activo un método del objeto

indica la existencia del objeto

Page 9: UML Diagrama Secuencia 2012

(1,3)loop

Xalt

ObjectoA ObjectoB ObjectoC

1 : mensaje1()Creación de

instancias

Diagrama de SecuenciaEstructura

de control

iterativa

Xalt

[else]

[expBooleana]ObjectoD

2 : crear()

<<create>>

3 : destruir()

<<destroy>>

Destrucción

de instancias

Ejecución

condicional

Page 10: UML Diagrama Secuencia 2012

Diagrama de Secuencia.

Alternativa

Page 11: UML Diagrama Secuencia 2012

Diagrama de Secuencia. Iteración (loop o bucle)

Page 12: UML Diagrama Secuencia 2012

Diagrama de Secuencia. Anidamiento

Estructura

opcional

Anidamiento de

diagramas

Page 13: UML Diagrama Secuencia 2012

Preguntas que se deben realizar continuamente al revisar

un Escenario

� ¿Qué objeto debe ser responsable de una acción

determinada?

� ¿Posee el objeto suficiente conocimiento para realizar la

acción?, o debe delegar ese comportamiento a otro acción?, o debe delegar ese comportamiento a otro

objeto.

� ¿No se le están asignando demasiadas acciones al

objeto?

� ¿Qué podría fallar?

Page 14: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

Las interacciones comienzan con la

ocurrencia de algún requerimiento externo

al sistema.

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 15: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

Las interacciones se llevan a cabo a

medida que los objetos se envíanmensajes.

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 16: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

El orden de las barras que representan a

los objetos es indistinto.

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 17: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

Gonnet-Leone, 2009

Si es necesario representar más de una

instancia de una clase dada, puedendibujarse una o más barras, según resulte

más claro.

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 18: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

El eje temporal se mueve en forma

descendente. No es lineal sino controlado

por eventos.

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 19: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion

: PlanDeProduccion

: ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

3 : requerimientos()4 : crear()

<<create>>

5 : planear()

La barra (sobre la línea de un objeto), que representa

a una secuencia de comportamientos, permite

identificar el conjunto de actividades que se llevan a

cabo como consecuencia de un evento dado.

5 : planear()6 : elaborar()

Page 20: UML Diagrama Secuencia 2012

¿Cómo se Interpreta un Diagrama de Secuencia?

: UnCliente

Jose : Vendedor : Inventario : ResponsablePlanificacion : ResponsableManufactura : Producto

1 : pedido()2 : hayStock?()

A la izquierda de la Barra de Borde del Sistema,

se pueden documentar las actividades (en

aquello casos que sea necesario).

: PlanDeProduccion3 : requerimientos()

4 : crear()

<<create>>

5 : planear()6 : elaborar()

Page 21: UML Diagrama Secuencia 2012

� Se originan de manera “forward”.

� Puede ser empleado para verificar los requerimientos

de un sistema.

Diagramas de Secuencia

� Tiene una naturaleza funcional.

� No siempre se dispone de información acerca de la

manera en que deben interactuar un conjunto de

objetos para cumplir un objetivo.

Page 22: UML Diagrama Secuencia 2012

Diagrama de EstadosDiagrama de EstadosDiagrama de Diagrama de SecuenciaSecuencia

Diagrama de Diagrama de ClasesClases

Diagrama deDiagrama deComponentesComponentes

Diagrama de Diagrama de Casos de UsoCasos de Uso

Diagrama de Diagrama de ComunicaciComunicacióónn

Tipos de Diagramas en UML

Diagrama de DespliegueDiagrama de Despliegue

ClasesClases ComponentesComponentesComunicaciComunicacióónn

Diagrama de ActividadDiagrama de Actividad

Page 23: UML Diagrama Secuencia 2012

El Diagrama de Comunicación modela los objetos y los enlaces (“links”)

que son significativos para una interacción determinada.

El Diagrama de Comunicación muestra las interacciones entre los

objetos, representando además las relaciones estructurales que permiten

la colaboración del grupos de objetos.

Diagrama de Comunicación (Diagrama de Colaboración previamente a UML 2.0)

links

mensajes

Page 24: UML Diagrama Secuencia 2012

En el diagrama de comunicación se muestran los enlaces que representaninstancias de las asociaciones, así como los vínculos temporarios (representandoargumentos de métodos, variables locales y referencias a sí mismo).

Ascensor

Puerta

Cabina

Luz

componente

iluminación parte

es-instancia-de

Diagrama de comunicación

: Ascensor

r1 : componente

1: Subir

es-instancia-de

: Cabina

: Puerta

3: Cerrar

r1 : componente

: Luz

i1 : iluminación 2: Encender

Page 25: UML Diagrama Secuencia 2012

Diagrama de Comunicación

: AgenteAlumnado : Universidad

1 : crear()

<<create>>

2 : agregarEstudiante()

3 : registrar()

e : Estudiante c : Curso

4 : cursos := obtenerPlanificación()

5 *[c in cursos] : inscribir()

retorno claúsula de iteración

Page 26: UML Diagrama Secuencia 2012

Los objetos que participan pueden ser especificados a

través de:

I Sólo el nombre de la instancia

:C Sólo el nombre de la clase

I:C Los nombres de la instancia y clase

Los enlaces se representan por líneas entre los objetos.

Diagrama de comunicación

Los enlaces se representan por líneas entre los objetos.

Los mensajes se representan a través de flechas sobre

el enlace.

Un mensaje se compone de:

� Un número de secuencia

� Un símbolo de sincronización

� Una etiqueta que identifica al mensaje

Page 27: UML Diagrama Secuencia 2012

Se trabaja sobre el SI de una biblioteca, en la cual se manejara

por separado el concepto de título y los distintos ejemplares que

de un determinado título existen en el inventario

Diagrama de comunicación: Ejemplo

Titulo

crearEjemplar()catalogo

Ejemplarvolumen

Usuario

reserva

prestamo

LibroBiblioteca

prestamo

inventario

Page 28: UML Diagrama Secuencia 2012

Se desea representar la incorporación de un nuevo ejemplar al

inventario de la biblioteca. Se utiliza un diagrama decomunicación para representar el caso de uso.

� El empleado interactúa con el SI, ingresando el nuevo

ejemplar.� Por razones de eficiencia se requiere que se pueda acceder

directamente a cada ejemplar, sin recurrir a título.

Diagrama de comunicación: Ejemplo

empleado :actor

:Biblioteca

:Ejemplar

: Libro

1: Ingresar( )

2: crearEjemplar( )

4: incorporarInventario(Ejemplar)

3: crear(Bibloteca)

Page 29: UML Diagrama Secuencia 2012

Diagramas de Secuencia y comunicación

Ambos diagramas muestran interaccionesinteracciones, aunqueenfatizan aspectos diferentes.

: AgenteAlumnado : Universidad

e : Estudiante c : Curso

1 : crear()<<create>>

2 : agregarEstudiante()

3 : registrar()

4 : cursos := obtenerPlanificación()

5 *[c in cursos] : inscribir()

: AgenteAlumnado : Universidad c : Curso

for each c in cursosloop

: AgenteAlumnado : Universidad

e : Estudiante

c : Curso

1 : crear()<<create>>

2 : agregarEstudiante(e)

3 : registrar()4 : cursos := obtenerPlanificación()

5 : inscribir(e)

Page 30: UML Diagrama Secuencia 2012

Diagramas de Secuencia y comunicación

Ambos diagramas muestran interaccionesinteracciones, aunqueenfatizan aspectos diferentes.

: AgenteAlumnado : Universidad

e : Estudiante c : Curso

1 : crear()<<create>>

2 : agregarEstudiante()

3 : registrar()

4 : cursos := obtenerPlanificación()

5 *[c in cursos] : inscribir()

Los Diagramas de comunicación muestran

explícitamente las relacionesrelaciones entreentre loslos objetosobjetos,

y la secuencia temporal debe ser inducida a partir

de la numeración de los mensajes.

Page 31: UML Diagrama Secuencia 2012

Los Diagramas de Secuencia muestran claramente la secuencia temporalsecuencia temporal, pero no las relaciones entre los objetos.

Diagramas de Secuencia y comunicación

Ambos diagramas muestran interaccionesinteracciones, aunqueenfatizan aspectos diferentes.

: AgenteAlumnado : Universidad c : Curso

for each c in cursosloop

: AgenteAlumnado : Universidad

e : Estudiante

c : Curso

1 : crear()<<create>>

2 : agregarEstudiante(e)

3 : registrar()4 : cursos := obtenerPlanificación()

5 : inscribir(e)

Page 32: UML Diagrama Secuencia 2012

Los Diagramas de Secuen-cia muestran claramente la secuencia temporalsecuencia temporal, pero no las relaciones entre los objetos.

Diagramas de Secuencia y comunicación

Ambos diagramas muestran interaccionesinteracciones, aunqueenfatizan aspectos diferentes.

: AgenteAlumnado : Universidad

e : Estudiante c : Curso

1 : crear()<<create>>

2 : agregarEstudiante()

3 : registrar()

4 : cursos := obtenerPlanificación()

5 *[c in cursos] : inscribir()

: AgenteAlumnado : Universidad c : Curso

Los Diagramas decomunicación muestran

explícitamente las relacionesrelacionesentreentre loslos objetosobjetos, y la

secuencia temporal debe ser

inducida a partir de la

numeración de los mensajes.

for each c in cursosloop

: AgenteAlumnado : Universidad

e : Estudiante

c : Curso

1 : crear()<<create>>

2 : agregarEstudiante(e)

3 : registrar()4 : cursos := obtenerPlanificación()

5 : inscribir(e)

Page 33: UML Diagrama Secuencia 2012

Guía de Ejercicios

Marque las afirmaciones que considere correctas

En la definición de un Caso de Uso, un actor es parte del sistema

Un actor no puede vincularse a más de un Caso de Uso

Dos actores pueden vincularse mediante una relación de especialización

Un caso de uso no puede vincularse a más de un actorUn caso de uso no puede vincularse a más de un actor

Ninguna de las afirmaciones anteriores es correcta

Page 34: UML Diagrama Secuencia 2012

Guía de Ejercicios

Marque las afirmaciones que considere correctas

Los actores deben aparecer como clases con atributos y métodos dentro del diagrama de clases.

Los actores pueden aparecer como clases con atributos y métodos dentro del diagrama de clases.

Los actores pueden aparecer como clases sin atributos ni Los actores pueden aparecer como clases sin atributos ni métodos dentro del diagrama de clases.

Los actores no aparecen en el diagrama de clases.

Ninguna de las afirmaciones anteriores es correcta

Page 35: UML Diagrama Secuencia 2012

Guía de Ejercicios

En un diagrama de secuencia

deben aparecer clases y métodos

puede describir varios casos de uso simultáneamente

puede describir un mensaje

puede incluir interfaces

Ninguna de las afirmaciones anteriores es correcta

Page 36: UML Diagrama Secuencia 2012

en un diagrama de secuencia aparecen asociaciones

si existe un mensaje en un diagrama de secuencia, debe existir una asociación entre las clases de los objetos vinculados al mensaje

en un diagrama de secuencias un objeto puede enviarle un

Guía de Ejercicios

Marque las afirmaciones que considere correctas

en un diagrama de secuencias un objeto puede enviarle un mensaje a una interfaz

el mismo objeto no puede aparecer en diferentes diagramas de secuencia

Ninguna de las afirmaciones anteriores es correcta