Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UML Clase 03 UML Actividades Estados
UML Clase 03 UML Actividades Estados
Diagramas de Estados
Diagrama de Actividades
(UML Ilustrado)
Diagramas de Estados
Diagramas de
Estados
2
Diagramas de Estados
(Qu Muestran?)
Los Diagramas de Estados muestran una Mquina de
Estado
Diagramas de Estados
(Mquina de Estados)
Una mquina de estados es un comportamiento que
especifica las secuencias de estados por las que pasa
un objeto a lo largo de su vida en respuesta a eventos,
junto con sus respuestas a esos eventos
(Booch, Rumbaugh, Jacobson)
Diagramas de Estados
(Mquina de Estados)
busca
ayuda
buena
noticia
contento
deprimido
en
tratamiento
evaluacin
favorable
evaluacin
desfavorable
buena
noticia
tiempo
normal
(vivo)
mala
noticia
antidepresivos
anti depresivos
tiempo
triste
muerto
(sobredosis)
noticia
devastadora
mucho
menos
deprimido
mala
noticia
antidepresivos
menos
deprimido
...
Diagramas de Estados
(Conceptos)
Un estado es una condicin o situacin en la vida de un
objeto durante la cual satisface una condicin, realiza
alguna actividad o espera algn evento
Un evento es la especificacin de un acontecimiento
significativo que ocupa un lugar en el tiempo y en el
espacio. Es la aparicin de un estmulo que puede (o no)
activar una transicin de estado
Una transicin es una relacin entre dos estados que
indica que un objeto que est en el primer estado realizar
ciertas acciones y entrar en el segundo estado cuando
ocurra un evento especificado y se satisfagan unas
condiciones especificadas
6
Diagramas de Estados
(Mquina de Estados)
busca
ayuda
buena
noticia
contento
deprimido
en
tratamiento
evaluacin
favorable
buena
noticia
tiempo
noticia
devastadora
normal
(vivo)
evaluacin
desfavorable
estados
mala
noticia
tiempo
transiciones
eventos
muerto
(sobredosis)
antidepresivos
anti depresivos
triste
mucho
menos
deprimido
mala
noticia
antidepresivos
menos
deprimido
...
Diagrama de Estado
(Ejemplo)
Transicin
Como implementara la
guarda?
En qu estado
se encuentra
la puerta
inicialmente?
Estado
Diagrama de Estado
(Ejemplo)
Estado
Inicial
Estado
Final
9
Diagrama de Estado
(Ejemplo)
Accin (Se ejecuta
cuando se dispara la
transicin)
Cmo implementara
esto?
Do / seleccionar
producto es una
actividad
Cmo implementara
esto?
10
Diagrama de Estado
(Ejemplo)
11
Diagrama de Estado
(Ejemplo)
Estado Compuesto
Cmo implementara
esto?
12
Diagrama de Estado
(Ejemplo)
Mostrar Ejemplo de
Implementacin
Mostrar HTML de los USB
13
Diagramas de Actividades
Diagramas de
Actividades
14
Diagramas de Actividades
(Qu Muestran?)
Un Diagrama de Actividades no es ms que un caso
especial de un diagrama de estados, en el que todos
los estados (o la gran mayora) son actividades
15
Diagramas de Actividades
(Qu Muestran?)
Diagramas de Actividades
(Qu Muestran?)
contento
Los estados
generalmente son
atmicos y se pasa al
siguiente estado por
medio de un evento
mala
noticia
triste
Buscando
nios al
colegio
Preparando
Torta
Suena el
Timbre
Haciendo
Cena
Se van las
visitas
Atendiendo
Visitas :-/
17
Diagramas de Actividades
(Qu Muestran?)
18
Diagramas de Actividades
(Qu Muestran?)
Un Diagrama de Actividades muestra el flujo de control
entre una serie de tareas o actividades
Los Diagramas de Actividades son usados (entre otras
cosas) para elaborar modelos de flujos de trabajo*
(workflow) de un sistema.
En general, un Diagrama de Actividades muestra una
serie de acciones o tareas que se ejecutan en cierto
orden (y otros elementos adicionales)
*Un flujo de trabajo se puede ver como una serie de tareas
(acciones) que son ejecutadas o realizadas por ciertos actores en
19
cierto orden preestablecido
Diagramas de Actividades
(Qu Muestran?)
Cundo ocurren?
Dnde ocurren?
Qu insumos requieren?
Qu productos generan?
20
Diagramas de Actividades
(Conceptos Bsicos?)
Actividad:
Es la especificacin de un comportamiento que puede ser
parametrizado y que define la secuenciacin coordinada
de unidades subordinadas denominadas acciones
Accin:
Una accin es la unidad fundamental de especificacin
de comportamiento. Una accin es generalmente
atmica, es decir, indivisible
Transiciones:
Representan el paso de una accin a otra
21
Diagramas de Actividades
(Ejemplo)
Separacin
(Fork / Split)
Accin
Unin
(Join)
Inicio
Eje de
Actividad o
Transicin
Fin
Nodo
Objeto o
Parmetro
de Entrada
Decisin (Choose
/ Branch)
Nodo Objeto o
Parmetro de Salida
Mezcla
(Merge)
22
Recordar Etiquetas
Diagramas de Actividades
(Ejemplo)
Accin
Evento
de
Tiempo
Diagramas de Actividades
(Ejemplo)
Final de
Flujo
Swimlanes
(Carrileras /
Calles)
24
Diagramas de Actividades
(Ejemplo)
Diagramas de Actividades
(Ejemplo)
Accin
Recurrente
(Iterativa)
Aclarar envo y
recepcin de seales
Envo de
Seal
(Evento)
Recepcin
de Seal
(Evento)
26
Diagramas de Actividades
(Ejemplo)
Nota
Carrilera
(Calle)
Doble
27
Diagramas de Actividades
(Ejemplo)
Noten el equilibrio
entre las separaciones
y uniones
28
Recibir Oferta
(Cliente)
Notificar
Aprobacin
(Secretaria)
Anlisis Legal
(Analista)
[aprobar]
[else]
id
nombre
apellido
cedula
...
workflow_id
Notificar
Rechazo
(Secretaria)
MRecaudo
0..n
id
nombre
tipo
...
BD
Recepcin de
Documentos
(Secretaria)
Preparar
Contrato
(Dpto. Legal)
[else]
Anlisis
por Junta
(Junta)
[aprobar]
Notificar
Aprobacin
(Secretaria)
Firma de
Contrato
(Cliente)
29
MDocOferta
Guardar
Temporalmente
(Analista)
Notificar
Rechazo
(Secretaria)
id
nombre
apellido
cedula
...
workflow_id
Aceptar
(Analista)
MRecaudo
0..n
Rechazar
(Analista)
id
nombre
tipo
...
Firmar
Contrato
(Cliente)
Preparar
Contrato
(Dpto. Legal)
Notificar
Aprobacin
(Secretaria)
Recibir
Recaudo
(Secretaria)
Recaudos
Faltantes
(Sistema)
BD
Rechazar
(Junta)
Aceptar
(Junta)
(Auto)
Notificar
Aprobacin
(Secretaria)
Recaudos
Completos
(Sistema)
30
<netpetridefname="..."doctype="...">
<!***********************************>
<!Thelistofplacesinthenetpetri>
<!***********************************>
<!***********************************>
<!Thelistoftranssetandtrans>
<!***********************************>
<!***********************************>
<!Thelistofstatesinthenetpetri>
<!***********************************>
</netpetridef>
31
<netpetridefname="..."doctype="...">
<!***********************************>
<!Thelistofplacesinthenetpetri>
<!***********************************>
<placelist>
<placename="..."/>
<placename="..."/>
...
</placelist>
...
</netpetridef>
32
33
<netpetridefname="..."doctype="...">
...
<statelist>
<stategrpname="..."terminal="...">
<metadatakey="..."val="..."/>
<metadatakey="..."val="..."/>
...
<docsectionstatename="..."state="..."/>
<docsectionstatename="..."state="..."/>
...
<statesetname="...">
<placename="..."tokens="..."/>
<placename="..."tokens="..."/>
...
</stateset>
...
</stategrp>
...
</statelist>
...
</netpetridef>
34
Arquitectura (General)
(Ejemplo tomado de CLEDA)
Aplicacin
Navegador
WEB
MVC
CledaMVC
(Struts1)
o
Echo2
CledaCore
Documentos
JDBC
CledaTags
Modelo
de
Dominio
Hibernate
Servlets
BD
Motor
de
Workflow
(CledaFlow, CledaScheduler y
CledaBase)
Discusin
DISCUSIN
Por qu los
diagramas de estados
/ actividades son
importantes?
36
Gracias
Gracias!
37
(21)TODO: Ojo con estos conceptos que entran en contradiccin con los conceptos
presentados en los diagramas de estado (Y no debera ser)
(24) TODO: Revisar en el estndar el final de flujo y ver
si est bien utilizado
TODO: Investigar si existen buenas
prcticas en cuanto a los nombres de los
eventos, acciones, transiciones, etc
TODO: Quizs faltan algunas cosas, como acciones de entrada, de salida,
la evaluacin de expresiones, maquinas de estado concurrentes y anidadas,
etctera...
TODO: Este ejemplo (11) es bueno, pero puede ser un poco confuso,
sobre todo porque aqu hay un poco de mezcla entre diagrama de estados
(Esperando/Enviando) y diagrama de actividades
TODO: (11) No sigue la convencin de [guarda] evento / accin de las
lminas anteriores
La informacin en: http://en.wikipedia.org/wiki/UML_state_machine est
bastante interesante...
(18)TODO: Hay que revisar y consolidar, me parece que se habla mucho aqu
repitiendo conceptos. Esto debera ser algo mucho ms concreto y que confunda
menos a los estudiantes
38