You are on page 1of 36

Anlisis y Diseo de Sistemas de Informacin

UML Lenguaje de Modelado Unificado Parte Dinmica

UML - Lenguaje de Modelado Unificado Parte Dinmica


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 Page 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

Tipos de Diagramas en UML


Diagrama de Estados Diagrama de Casos de Uso Diagrama de Secuencia

Diagrama de Comunicacin

Diagrama de Clases

Diagrama de Componentes

Diagrama de Actividad

Diagrama de Despliegue

Vista de Interacciones
Los objetos interactan para implementar un comportamiento. Esta interaccin se puede describir en dos formas complementarias, focalizndose:
en una coleccin de objetos cooperantes - Colaboracin en objetos individuales Mquinas de Estados

Una colaboracin tiene aspectos:


esttico (define el contexto del comportamiento) de comportamiento (el conjunto de mensajes que se intercambian los objetos - Interaccin)

Una Interaccin puede representarse con dos tipos de diagramas:


de secuencia de comunicacin

Tipos de Diagramas en UML


Diagrama de Estados Diagrama de Casos de Uso Diagrama de Secuencia

Diagrama de Comunicacin

Diagrama de Clases

Diagrama de Componentes

Diagrama de Actividad

Diagrama de Despliegue

Diagrama de Secuencia
Los Diagramas de Secuencia representan explcitamente la secuencia ordenada de interacciones (mediante el envo de mensajes) descriptas en un Caso de Uso. Identificacin de las Caractersticas 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 algn servicio.

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. Informacin de control (Condicional, Repeticin, etc.)

Diagrama de Secuencia
Actividad: Controlar Temperatura objetos
sd ControlarTemperatura

mensajes

Controlador

SensorT

ValvulaVapor

1 : obtenerTemperatura()

alt controlTemperatura [temp < 60]


2 : abrir()

lifeline, indica la existencia del objeto

[temp > 70]


3 : cerrar()

tiempo

tiempo que est activo un mtodo del objeto

Diagrama de Secuencia
Estructura de control ObjectoA iterativa
ObjectoB ObjectoC

loop (1,3)

1 : mensaje1()

Creacin de instancias

alt X [expBooleana]
<<destroy>> 3 : destruir() <<create>> 2 : crear()

ObjectoD

[else]

Ejecucin condicional

Destruccin de instancias

Diagrama de Secuencia. Alternativa

Diagrama de Secuencia. Iteracin (loop o bucle)

Diagrama de Secuencia. Anidamiento


Anidamiento de diagramas

Estructura opcional

Preguntas que se deben realizar continuamente al revisar un Escenario Qu objeto debe ser responsable de una accin determinada? Posee el objeto suficiente conocimiento para realizar la accin?, o debe delegar ese comportamiento a otro objeto. No se le estn asignando demasiadas acciones al objeto? Qu podra fallar?

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

Las interacciones comienzan con la ocurrencia de algn requerimiento externo al sistema.

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

Las interacciones se llevan a cabo a medida que los objetos se envan mensajes.

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

El orden de las barras que representan a los objetos es indistinto.

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

Si es necesario representar ms de una instancia de una clase dada, pueden dibujarse una o ms barras, segn resulte ms claro. Gonnet-Leone, 2009

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

El eje temporal se mueve en forma descendente. No es lineal sino controlado por eventos.

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

La barra (sobre la lnea 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.

Cmo se Interpreta un Diagrama de Secuencia?

Jose : Vendedor

: Inventario

: ResponsablePlanificacion

: ResponsableManufactura

: Producto

: UnCliente
1 : pedido() 2 : hayStock?()

3 : requerimientos()

<<create>> : PlanDeProduccion 4 : crear() 5 : planear()

6 : elaborar()

A la izquierda de la Barra de Borde del Sistema, se pueden documentar las actividades (en aquello casos que sea necesario).

Diagramas de Secuencia
Se originan de manera forward. Puede ser empleado para verificar los requerimientos de un sistema. Tiene una naturaleza funcional. No siempre se dispone de informacin acerca de la manera en que deben interactuar un conjunto de objetos para cumplir un objetivo.

Tipos de Diagramas en UML


Diagrama de Estados Diagrama de Casos de Uso Diagrama de Secuencia

Diagrama de Comunicaci Comunicaci n

Diagrama de Clases

Diagrama de Componentes

Diagrama de Actividad

Diagrama de Despliegue

Diagrama de Comunicacin (Diagrama de Colaboracin previamente a UML 2.0)


El Diagrama de Comunicacin modela los objetos y los enlaces (links) que son significativos para una interaccin determinada. El Diagrama de Comunicacin muestra las interacciones entre los objetos, representando adems las relaciones estructurales que permiten la colaboracin del grupos de objetos.

mensajes

links

Diagrama de comunicacin
En el diagrama de comunicacin se muestran los enlaces que representan instancias de las asociaciones, as como los vnculos temporarios (representando argumentos de mtodos, variables locales y referencias a s mismo).
Ascensor componente Cabina

es-instancia-de
parte Puerta 1: Subir r1 : componente : Ascensor

iluminacin Luz

es-instancia-de
: Cabina 3: Cerrar : Puerta

i1 : iluminacin 2: Encender

: Luz

Diagrama de Comunicacin

2 : agregarEstudiante() : AgenteAlumnado <<create>> 3 : registrar() 1 : crear() : Universidad

5 *[c in cursos] : inscribir() e : Estudiante 4 : cursos := obtenerPlanificacin() c : Curso

retorno

clasula de iteracin

Diagrama de comunicacin Los objetos que participan pueden ser especificados a travs de: I Slo el nombre de la instancia :C Slo el nombre de la clase I:C Los nombres de la instancia y clase Los enlaces se representan por lneas entre los objetos. Los mensajes se representan a travs de flechas sobre el enlace. Un mensaje se compone de: Un nmero de secuencia Un smbolo de sincronizacin Una etiqueta que identifica al mensaje

Diagrama de comunicacin: Ejemplo Se trabaja sobre el SI de una biblioteca, en la cual se manejara por separado el concepto de ttulo y los distintos ejemplares que de un determinado ttulo existen en el inventario
Titulo
catalogo
crearEjemplar()

volumen

Ejemplar

Biblioteca

Libro reserva prestamo

prestamo

Usuario
inventario

Diagrama de comunicacin: Ejemplo Se desea representar la incorporacin de un nuevo ejemplar al inventario de la biblioteca. Se utiliza un diagrama de comunicacin para representar el caso de uso. El empleado interacta con el SI, ingresando el nuevo ejemplar. Por razones de eficiencia se requiere que se pueda acceder directamente a cada ejemplar, sin recurrir a ttulo.
2: crearEjemplar( ) 1: Ingresar( ) : empleado : actor : Libro 3: crear(Bibloteca)

Biblioteca
4: incorporarInventario(Ejemplar) :

Ejemplar

Diagramas de Secuencia y comunicacin Ambos diagramas muestran interacciones, aunque enfatizan aspectos diferentes.
: AgenteAlumnado 2 : agregarEstudiante() : Universidad

<<create>> 1 : crear() 3 : registrar() 5 *[c in cursos] : inscribir()

e : Estudiante

c : Curso

4 : cursos := obtenerPlanificacin()
: AgenteAlumnado <<create>> e : Estudiante 1 : crear() 2 : agregarEstudiante(e) 3 : registrar() : Universidad c : Curso

4 : cursos := obtenerPlanificacin()

loop for each c in cursos

5 : inscribir(e)

Diagramas de Secuencia y comunicacin Ambos diagramas muestran interacciones, aunque enfatizan aspectos diferentes.
: AgenteAlumnado 2 : agregarEstudiante() : Universidad

<<create>> 1 : crear() 3 : registrar() 5 *[c in cursos] : inscribir()

e : Estudiante

c : Curso

4 : cursos := obtenerPlanificacin()

Los Diagramas de comunicacin muestran explcitamente las relaciones entre los objetos, y la secuencia temporal debe ser inducida a partir de la numeracin de los mensajes.

Diagramas de Secuencia y comunicacin Ambos diagramas muestran interacciones, aunque enfatizan aspectos diferentes. Los Diagramas de Secuencia muestran claramente la secuencia temporal, pero no las relaciones entre los objetos.
: AgenteAlumnado <<create>> e : Estudiante 1 : crear() 2 : agregarEstudiante(e) 3 : registrar() : Universidad c : Curso

4 : cursos := obtenerPlanificacin()

loop for each c in cursos

5 : inscribir(e)

Diagramas de Secuencia y comunicacin Ambos diagramas muestran interacciones, aunque enfatizan aspectos diferentes.
: AgenteAlumnado 2 : agregarEstudiante() : Universidad

<<create>> 1 : crear() 3 : registrar() 5 *[c in cursos] : inscribir()

e : Estudiante

c : Curso

4 : cursos := obtenerPlanificacin()

Los Diagramas de Secuencia muestran claramente la secuencia temporal, pero no las relaciones entre los objetos.
: Universidad c : Curso <<create>> e : Estudiante 1 : crear() 2 : agregarEstudiante(e) 3 : registrar()

: AgenteAlumnado

Los Diagramas de comunicacin muestran explcitamente las relaciones entre los objetos, y la secuencia temporal debe ser inducida a partir de la numeracin de los mensajes.

4 : cursos := obtenerPlanificacin()

loop for each c in cursos

5 : inscribir(e)

Gua de Ejercicios
Marque las afirmaciones que considere correctas En la definicin de un Caso de Uso, un actor es parte del sistema Un actor no puede vincularse a ms de un Caso de Uso Dos actores pueden vincularse mediante una relacin de especializacin Un caso de uso no puede vincularse a ms de un actor Ninguna de las afirmaciones anteriores es correcta

Gua de Ejercicios
Marque las afirmaciones que considere correctas Los actores deben aparecer como clases con atributos y mtodos dentro del diagrama de clases. Los actores pueden aparecer como clases con atributos y mtodos dentro del diagrama de clases. Los actores pueden aparecer como clases sin atributos ni mtodos dentro del diagrama de clases. Los actores no aparecen en el diagrama de clases. Ninguna de las afirmaciones anteriores es correcta

Gua de Ejercicios
En un diagrama de secuencia deben aparecer clases y mtodos puede describir varios casos de uso simultneamente puede describir un mensaje puede incluir interfaces Ninguna de las afirmaciones anteriores es correcta

Gua de Ejercicios
Marque las afirmaciones que considere correctas en un diagrama de secuencia aparecen asociaciones si existe un mensaje en un diagrama de secuencia, debe existir una asociacin entre las clases de los objetos vinculados al mensaje 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

You might also like