SlideShare ist ein Scribd-Unternehmen logo
1 von 38
1
 www.dsic.upv.es/~uml
Desarrollo de Software
Orientado a Objeto usando UML
Patricio Letelier Torres
letelier@dsic.upv.es
Departamento Sistemas Informáticos y Computación (DSIC)
Universidad Politécnica de Valencia (UPV) - España
2
 www.dsic.upv.es/~uml
Diagramas de Interacción
3
 www.dsic.upv.es/~uml
Interacción
 Los objetos interactúan para realizar
colectivamente los servicios ofrecidos por las
aplicaciones. Los diagramas de interacción
muestran cómo se comunican los objetos en
una interacción
 Existen dos tipos de diagramas de
interacción: el Diagrama de Colaboración y el
Diagrama de Secuencia
III. El Paradigma OO: Diagramas de Interacción
4
 www.dsic.upv.es/~uml
Mensajes
Sintaxis para mensajes:
predecesor / guarda secuencia: retorno := msg(args)
III. El Paradigma OO: Diagramas de Interacción
5
 www.dsic.upv.es/~uml
Diagramas de interacción
 El Diagrama de Secuencia es más adecuados
para observar la perspectiva cronológica de las
interacciones
 El Diagrama de Colaboración ofrece una mejor
visión espacial mostrando los enlaces de
comunicación entre objetos
 El D. de Colaboración puede obtenerse
automáticamente a partir del correspondiente
D. de Secuencia (o viceversa)
III. El Paradigma OO: Diagramas de Interacción
6
 www.dsic.upv.es/~uml
Diagrama de Secuencia
 Muestra la secuencia de mensajes entre
objetos durante un escenario concreto
 Cada objeto viene dado por una barra
vertical
 El tiempo transcurre de arriba abajo
 Cuando existe demora entre el envío y la
atención se puede indicar usando una línea
oblicua
III. El Paradigma OO: Diagramas de Interacción
7
 www.dsic.upv.es/~uml
… Diagrama de Secuencia
III. El Paradigma OO: Diagramas de Interacción
8
 www.dsic.upv.es/~uml
Caller Exchange Receiver
a: lift receiver
b: dial tone
c: dial digit
. . .
d: route
ringing tone
stop tone
{b.receiveTime
- a.sendTime < 1 sec.}
{c.receiveTime
-b.sendTime < 10 sec.}
{d.receiveTime
-d.sendTime < 5 sec.}
The call is routed
through the network
At this point the
parties can talk
phone rings
answer phone
stop ringing
- - - - -
< 1 sec
- - - - -
… Diagrama de Secuencia
III. El Paradigma OO: Diagramas de Interacción
9
 www.dsic.upv.es/~uml
III. El Paradigma OO: Diagramas de Interacción
Diagrama de Secuencia
mostrando foco de control,
condiciones, recursión
creación y destrucción
de objetos
10
 www.dsic.upv.es/~uml
ob1 : C1
ob3 : C3
ob2 : C2
ob4 : C4
[x>0] fool(x)
[x<0] bar(x)
doit(z)
doit(w)
more( )
op( )
III. El Paradigma OO: Diagramas de Interacción
11
 www.dsic.upv.es/~uml
… Diagrama de Secuencia
III. El Paradigma OO: Diagramas de Interacción
ob1 : C1
Diagram 1
[x<0] bar(x)
Sequence Diagram:
Diagrams / Diagram 2
ob3 : C3 ob4 : C4
Diagram 2
bar(x)
doit(w)
Sequence Diagram:
Diagrams / Diagram 1
12
 www.dsic.upv.es/~uml
Diagrama de Estados
13
 www.dsic.upv.es/~uml
Diagrama de Estados
 Los Diagramas de Estados representan
autómatas de estados finitos, desde el p.d.v.
de los estados y las transiciones
 Son útiles sólo para los objetos con un
comportamiento significativo
 El formalismo utilizado proviene de los
Statecharts (Harel)
III. El Paradigma OO: Diagrama de Estados
14
 www.dsic.upv.es/~uml
 Cada objeto está en un estado en cierto instante
 El estado está caracterizado parcialmente por los
valores algunos de los atributos del objeto
 El estado en el que se encuentra un objeto
determina su comportamiento
 Cada objeto sigue el comportamiento descrito en
el D. de Estados asociado a su clase
 Los D. De Estados y escenarios son complementarios
… Diagrama de Estados
III. El Paradigma OO: Diagrama de Estados
15
 www.dsic.upv.es/~uml
 Los D. de Estados son autómatas jerárquicos
que permiten expresar concurrencia,
sincronización y jerarquías de objetos
 Los D. de Estados son grafos dirigidos
 Los D. De Estados de UML son deterministas
 Los estados inicial y final están diferenciados del
resto
 La transición entre estados es instantánea y se
debe a la ocurrencia de un evento
… Diagrama de Estados
III. El Paradigma OO: Diagrama de Estados
16
 www.dsic.upv.es/~uml
 Estados y Transiciones
A B
Evento [condición] / Acción
… Diagrama de Estados
III. El Paradigma OO: Diagrama de Estados
Tanto el evento como la acción se
consideran instantáneos
17
 www.dsic.upv.es/~uml
 Ejemplo de un Diagrama de Estados para la
clase persona:
en el paro en activo
jubilado
contratar
perder empleo
jubilarse
jubilarse
… Diagrama de Estados
III. El Paradigma OO: Diagrama de Estados
18
 www.dsic.upv.es/~uml
 Podemos especificar la solicitud de un
servicio a otro objeto como consecuencia de
la transición:
A
B
Evento [condición] / OtroObjeto.Operación
Acciones
III. El Paradigma OO: Diagrama de Estados
19
 www.dsic.upv.es/~uml
 Se puede especificar el ejecutar una acción
como consecuencia de entrar, salir, estar en
un estado, o por la ocurrencia de un evento:
estado A
entry: acción por entrar
exit: acción por salir
do: acción mientras en estado
… Acciones
III. El Paradigma OO: Diagrama de Estados
on evento: acción
20
 www.dsic.upv.es/~uml
Generalización de Estados
 Podemos reducir la complejidad de estos
diagramas usando la generalización de
estados
 Distinguimos así entre superestado y
subestados
 Un estado puede contener varios subestados
disjuntos
 Los subestados heredan las variables de
estado y las transiciones externas
III. El Paradigma OO: Diagrama de Estados
21
 www.dsic.upv.es/~uml
Generalización de Estados
 Ejemplo:
A B
C
e1
e2
e2
III. El Paradigma OO: Diagrama de Estados
22
 www.dsic.upv.es/~uml
 Quedaría como:
C
a b
A B
e1
e2
Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
23
 www.dsic.upv.es/~uml
 Las transiciones de entrada deben ir hacia
subestados específicos:
C
a b
A B
e1
e2
e0
… Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
24
 www.dsic.upv.es/~uml
 Es preferible tener estados iniciales de
entrada a un nivel de manera que desde los
niveles superiores no se sepa a qué
subestado se entra:
C
a b
A B
e1
e2
e1
e0
… Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
25
 www.dsic.upv.es/~uml
 La agregación de estados es la composición
de un estado a partir de varios estados
independientes
 La composición es concurrente por lo que el
objeto estará en alguno de los estados de
cada uno de los subestados concurrentes
… Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
26
 www.dsic.upv.es/~uml
 Ejemplo:
e1
e1
… Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
27
 www.dsic.upv.es/~uml
… Generalización de Estados
III. El Paradigma OO: Diagrama de Estados
Active
DialTone
do/ play dial tone
Timeout
do/ play message
Dialing
Invalid
do/ play message
Connecting
Busy
do/ play busy tone
Ringing
do/ play ringing tone
Talking
Pinned
Idle
DialTone
do/ play dial tone
Timeout
do/ play message
after (15 sec.)
Dialing
dial digit( n )[ incomplete ]
dial digit(n)
after (15 sec.)
Invalid
do/ play message
dial digit(n)[ invalid ]
Connecting
dial digit( n )[ valid ]
/ connect
Busy
do/ play busy tone
Ringing
do/ play ringing tone
Talking
callee answers
/ enable
speech
Pinned
callee
hang
s up
callee
hangs
up
caller hangs up
/ disconnect
lift receiver
/ get dial
tone
busy
connected
28
 www.dsic.upv.es/~uml
Historia
 Por defecto, los autómatas no tienen
memoria
 Es posible memorizar el último subestado
visitado para recuperarlo en una transición
entrante en el superestado que lo engloba
 También es posible la memorización para
cualquiera de los subestados anidados (aparece
un * junto a la H)
III. El Paradigma OO: Diagrama de Estados
29
 www.dsic.upv.es/~uml
 Ejemplo:
A
d2
d1
H*
B
C
x y
D
out
in
… Historia
III. El Paradigma OO: Diagrama de Estados
30
 www.dsic.upv.es/~uml
 Ejemplo:
Enjuague Lavado Secado
H
Enjuague Lavado Secado
H
Espera
abir puerta
cerrar puerta
… Historia
III. El Paradigma OO: Diagrama de Estados
31
 www.dsic.upv.es/~uml
Destrucción del Objeto
 La destrucción de un objeto es efectiva
cuando el flujo de control del autómata
alcanza un estado final no anidado
 La llegada a un estado final anidado implica
la “subida” al superestado asociado, no el fin
del objeto
III. El Paradigma OO: Diagrama de Estados
32
 www.dsic.upv.es/~uml
… Destrucción de Objeto
 Ejemplo:
En tierra
Crear(matricula)
En vuelo
aterrizar
despegar
crash
III. El Paradigma OO: Diagrama de Estados
33
 www.dsic.upv.es/~uml
Transiciones temporizadas
 Las esperas son actividades que tienen
asociada cierta duración
 La actividad de espera se interrumpe cuando
el evento esperado tiene lugar
 Este evento desencadena una transición que
permite salir del estado que alberga la
actividad de espera. El flujo de control se
transmite entonces a otro estado
III. El Paradigma OO: Diagrama de Estados
34
 www.dsic.upv.es/~uml
 Ejemplo:
… Transiciones temporizadas
A
esperar dinero
entry: Mostrar mensaje
exit: cerrar ranura
B
anular
transacción
/ Abrir ranura
Depósito efectuado
después de
30 segundos
III. El Paradigma OO: Diagrama de Estados
35
 www.dsic.upv.es/~uml
Diagrama de Actividad
 El Diagrama de Actividad es una especialización
del Diagrama de Estado, organizado respecto
de las acciones y usado para especificar:
• Un método
• Un caso de uso
• Un proceso de negocio (Workflow)
 Las actividades se enlazan por transiciones
automáticas. Cuando una actividad termina se
desencadena el paso a la siguiente actividad
III. El Paradigma OO: Diagrama de Estados
36
 www.dsic.upv.es/~uml
Ejemplos
III. El Paradigma OO: Diagrama de Estados
Request
service
Play
Collect
order
Take order
Deliver order
Fill order
Stockroom
Sales
Customer
37
 www.dsic.upv.es/~uml
... Ejemplos
III. El Paradigma OO: Diagrama de Estados
Request service
Play
Collect order
Order
[placed]
Order
[delivered]
Take order
Deliver order
Fill order
Order
[entered]
Order
[filled]
Stockroom
Sales
Customer
38
 www.dsic.upv.es/~uml
... Ejemplos
III. El Paradigma OO: Diagrama de Estados
Calculate
total cost
Get
authorization
Change customer's
account
[cost < $50]
[cost >= $50]

Weitere ähnliche Inhalte

Ähnlich wie AplicandoUMLcarrera de sistemas usfx.ppt

Ähnlich wie AplicandoUMLcarrera de sistemas usfx.ppt (9)

diagramas-de-secuencia-pdf_compress.pdf
diagramas-de-secuencia-pdf_compress.pdfdiagramas-de-secuencia-pdf_compress.pdf
diagramas-de-secuencia-pdf_compress.pdf
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
 
Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estado
 
Diagrama de casos de uso
Diagrama de casos de usoDiagrama de casos de uso
Diagrama de casos de uso
 
Exposicion uml parte_2 - copia
Exposicion uml parte_2 - copiaExposicion uml parte_2 - copia
Exposicion uml parte_2 - copia
 
Tipos de diagramas
Tipos de diagramasTipos de diagramas
Tipos de diagramas
 
archivodiapositiva_2022912123650.pptx
archivodiapositiva_2022912123650.pptxarchivodiapositiva_2022912123650.pptx
archivodiapositiva_2022912123650.pptx
 
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccion
 
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
 

AplicandoUMLcarrera de sistemas usfx.ppt

  • 1. 1  www.dsic.upv.es/~uml Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres letelier@dsic.upv.es Departamento Sistemas Informáticos y Computación (DSIC) Universidad Politécnica de Valencia (UPV) - España
  • 3. 3  www.dsic.upv.es/~uml Interacción  Los objetos interactúan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interacción muestran cómo se comunican los objetos en una interacción  Existen dos tipos de diagramas de interacción: el Diagrama de Colaboración y el Diagrama de Secuencia III. El Paradigma OO: Diagramas de Interacción
  • 4. 4  www.dsic.upv.es/~uml Mensajes Sintaxis para mensajes: predecesor / guarda secuencia: retorno := msg(args) III. El Paradigma OO: Diagramas de Interacción
  • 5. 5  www.dsic.upv.es/~uml Diagramas de interacción  El Diagrama de Secuencia es más adecuados para observar la perspectiva cronológica de las interacciones  El Diagrama de Colaboración ofrece una mejor visión espacial mostrando los enlaces de comunicación entre objetos  El D. de Colaboración puede obtenerse automáticamente a partir del correspondiente D. de Secuencia (o viceversa) III. El Paradigma OO: Diagramas de Interacción
  • 6. 6  www.dsic.upv.es/~uml Diagrama de Secuencia  Muestra la secuencia de mensajes entre objetos durante un escenario concreto  Cada objeto viene dado por una barra vertical  El tiempo transcurre de arriba abajo  Cuando existe demora entre el envío y la atención se puede indicar usando una línea oblicua III. El Paradigma OO: Diagramas de Interacción
  • 7. 7  www.dsic.upv.es/~uml … Diagrama de Secuencia III. El Paradigma OO: Diagramas de Interacción
  • 8. 8  www.dsic.upv.es/~uml Caller Exchange Receiver a: lift receiver b: dial tone c: dial digit . . . d: route ringing tone stop tone {b.receiveTime - a.sendTime < 1 sec.} {c.receiveTime -b.sendTime < 10 sec.} {d.receiveTime -d.sendTime < 5 sec.} The call is routed through the network At this point the parties can talk phone rings answer phone stop ringing - - - - - < 1 sec - - - - - … Diagrama de Secuencia III. El Paradigma OO: Diagramas de Interacción
  • 9. 9  www.dsic.upv.es/~uml III. El Paradigma OO: Diagramas de Interacción Diagrama de Secuencia mostrando foco de control, condiciones, recursión creación y destrucción de objetos
  • 10. 10  www.dsic.upv.es/~uml ob1 : C1 ob3 : C3 ob2 : C2 ob4 : C4 [x>0] fool(x) [x<0] bar(x) doit(z) doit(w) more( ) op( ) III. El Paradigma OO: Diagramas de Interacción
  • 11. 11  www.dsic.upv.es/~uml … Diagrama de Secuencia III. El Paradigma OO: Diagramas de Interacción ob1 : C1 Diagram 1 [x<0] bar(x) Sequence Diagram: Diagrams / Diagram 2 ob3 : C3 ob4 : C4 Diagram 2 bar(x) doit(w) Sequence Diagram: Diagrams / Diagram 1
  • 13. 13  www.dsic.upv.es/~uml Diagrama de Estados  Los Diagramas de Estados representan autómatas de estados finitos, desde el p.d.v. de los estados y las transiciones  Son útiles sólo para los objetos con un comportamiento significativo  El formalismo utilizado proviene de los Statecharts (Harel) III. El Paradigma OO: Diagrama de Estados
  • 14. 14  www.dsic.upv.es/~uml  Cada objeto está en un estado en cierto instante  El estado está caracterizado parcialmente por los valores algunos de los atributos del objeto  El estado en el que se encuentra un objeto determina su comportamiento  Cada objeto sigue el comportamiento descrito en el D. de Estados asociado a su clase  Los D. De Estados y escenarios son complementarios … Diagrama de Estados III. El Paradigma OO: Diagrama de Estados
  • 15. 15  www.dsic.upv.es/~uml  Los D. de Estados son autómatas jerárquicos que permiten expresar concurrencia, sincronización y jerarquías de objetos  Los D. de Estados son grafos dirigidos  Los D. De Estados de UML son deterministas  Los estados inicial y final están diferenciados del resto  La transición entre estados es instantánea y se debe a la ocurrencia de un evento … Diagrama de Estados III. El Paradigma OO: Diagrama de Estados
  • 16. 16  www.dsic.upv.es/~uml  Estados y Transiciones A B Evento [condición] / Acción … Diagrama de Estados III. El Paradigma OO: Diagrama de Estados Tanto el evento como la acción se consideran instantáneos
  • 17. 17  www.dsic.upv.es/~uml  Ejemplo de un Diagrama de Estados para la clase persona: en el paro en activo jubilado contratar perder empleo jubilarse jubilarse … Diagrama de Estados III. El Paradigma OO: Diagrama de Estados
  • 18. 18  www.dsic.upv.es/~uml  Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transición: A B Evento [condición] / OtroObjeto.Operación Acciones III. El Paradigma OO: Diagrama de Estados
  • 19. 19  www.dsic.upv.es/~uml  Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento: estado A entry: acción por entrar exit: acción por salir do: acción mientras en estado … Acciones III. El Paradigma OO: Diagrama de Estados on evento: acción
  • 20. 20  www.dsic.upv.es/~uml Generalización de Estados  Podemos reducir la complejidad de estos diagramas usando la generalización de estados  Distinguimos así entre superestado y subestados  Un estado puede contener varios subestados disjuntos  Los subestados heredan las variables de estado y las transiciones externas III. El Paradigma OO: Diagrama de Estados
  • 21. 21  www.dsic.upv.es/~uml Generalización de Estados  Ejemplo: A B C e1 e2 e2 III. El Paradigma OO: Diagrama de Estados
  • 22. 22  www.dsic.upv.es/~uml  Quedaría como: C a b A B e1 e2 Generalización de Estados III. El Paradigma OO: Diagrama de Estados
  • 23. 23  www.dsic.upv.es/~uml  Las transiciones de entrada deben ir hacia subestados específicos: C a b A B e1 e2 e0 … Generalización de Estados III. El Paradigma OO: Diagrama de Estados
  • 24. 24  www.dsic.upv.es/~uml  Es preferible tener estados iniciales de entrada a un nivel de manera que desde los niveles superiores no se sepa a qué subestado se entra: C a b A B e1 e2 e1 e0 … Generalización de Estados III. El Paradigma OO: Diagrama de Estados
  • 25. 25  www.dsic.upv.es/~uml  La agregación de estados es la composición de un estado a partir de varios estados independientes  La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes … Generalización de Estados III. El Paradigma OO: Diagrama de Estados
  • 26. 26  www.dsic.upv.es/~uml  Ejemplo: e1 e1 … Generalización de Estados III. El Paradigma OO: Diagrama de Estados
  • 27. 27  www.dsic.upv.es/~uml … Generalización de Estados III. El Paradigma OO: Diagrama de Estados Active DialTone do/ play dial tone Timeout do/ play message Dialing Invalid do/ play message Connecting Busy do/ play busy tone Ringing do/ play ringing tone Talking Pinned Idle DialTone do/ play dial tone Timeout do/ play message after (15 sec.) Dialing dial digit( n )[ incomplete ] dial digit(n) after (15 sec.) Invalid do/ play message dial digit(n)[ invalid ] Connecting dial digit( n )[ valid ] / connect Busy do/ play busy tone Ringing do/ play ringing tone Talking callee answers / enable speech Pinned callee hang s up callee hangs up caller hangs up / disconnect lift receiver / get dial tone busy connected
  • 28. 28  www.dsic.upv.es/~uml Historia  Por defecto, los autómatas no tienen memoria  Es posible memorizar el último subestado visitado para recuperarlo en una transición entrante en el superestado que lo engloba  También es posible la memorización para cualquiera de los subestados anidados (aparece un * junto a la H) III. El Paradigma OO: Diagrama de Estados
  • 29. 29  www.dsic.upv.es/~uml  Ejemplo: A d2 d1 H* B C x y D out in … Historia III. El Paradigma OO: Diagrama de Estados
  • 30. 30  www.dsic.upv.es/~uml  Ejemplo: Enjuague Lavado Secado H Enjuague Lavado Secado H Espera abir puerta cerrar puerta … Historia III. El Paradigma OO: Diagrama de Estados
  • 31. 31  www.dsic.upv.es/~uml Destrucción del Objeto  La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado  La llegada a un estado final anidado implica la “subida” al superestado asociado, no el fin del objeto III. El Paradigma OO: Diagrama de Estados
  • 32. 32  www.dsic.upv.es/~uml … Destrucción de Objeto  Ejemplo: En tierra Crear(matricula) En vuelo aterrizar despegar crash III. El Paradigma OO: Diagrama de Estados
  • 33. 33  www.dsic.upv.es/~uml Transiciones temporizadas  Las esperas son actividades que tienen asociada cierta duración  La actividad de espera se interrumpe cuando el evento esperado tiene lugar  Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado III. El Paradigma OO: Diagrama de Estados
  • 34. 34  www.dsic.upv.es/~uml  Ejemplo: … Transiciones temporizadas A esperar dinero entry: Mostrar mensaje exit: cerrar ranura B anular transacción / Abrir ranura Depósito efectuado después de 30 segundos III. El Paradigma OO: Diagrama de Estados
  • 35. 35  www.dsic.upv.es/~uml Diagrama de Actividad  El Diagrama de Actividad es una especialización del Diagrama de Estado, organizado respecto de las acciones y usado para especificar: • Un método • Un caso de uso • Un proceso de negocio (Workflow)  Las actividades se enlazan por transiciones automáticas. Cuando una actividad termina se desencadena el paso a la siguiente actividad III. El Paradigma OO: Diagrama de Estados
  • 36. 36  www.dsic.upv.es/~uml Ejemplos III. El Paradigma OO: Diagrama de Estados Request service Play Collect order Take order Deliver order Fill order Stockroom Sales Customer
  • 37. 37  www.dsic.upv.es/~uml ... Ejemplos III. El Paradigma OO: Diagrama de Estados Request service Play Collect order Order [placed] Order [delivered] Take order Deliver order Fill order Order [entered] Order [filled] Stockroom Sales Customer
  • 38. 38  www.dsic.upv.es/~uml ... Ejemplos III. El Paradigma OO: Diagrama de Estados Calculate total cost Get authorization Change customer's account [cost < $50] [cost >= $50]