Está en la página 1de 38

1

UML
Diagramas de Estados
Diagrama de Actividades
(UML Ilustrado)
Universidad de los Andes
Demin Gutierrez
Mayo 20
2
Di agramas de Estados
Diagramas de
Estados
3
Di agramas de Estados
(Qu Muestran?)
Los Diagramas de Estados muestran una Mquina de
Estado
!on "tiles #ara modelar la vida de un o$%eto
Un diagrama de estados muestra el flujo de control
entre estados (en &u' estados #osi$les #uede estar
(cierto algo) y como se #roducen los cam$ios entre
dic*os estados)
4
Di agramas de Estados
(Mqui na de Estados)
Una m&uina de estados es un com#ortamiento &ue
es#eci+ica las secuencias de estados #or las &ue #asa
un o$%eto a lo largo de su vida en res#uesta a eventos,
%unto con sus res#uestas a esos eventos
(Booch, Rumbaugh, Jacobson)
En qu estado (de nimo) se
encuentra usted y como cambia
su estado de nimo?
5
Di agramas de Estados
(Mqui na de Estados)
normal
(vivo)
contento
triste
de#rimido
menos
de#rimido
---
$uena
noticia
mala
noticia
anti de#resivos
muc*o
menos
de#rimido antide#resivos
muerto
(so$redosis)
tiem#o
tiem#o
$uena
noticia
mala
noticia
noticia
devastadora
en
tratamiento
$usca
ayuda
evaluaci.n
+avora$le
evaluaci.n
des+avora$le
antide#resivos
$uena noticia, $uena noticia, tiem#o, noticia devastadora, $usca ayuda,
evaluaci.n +avora$le, noticia devastadora, ad, ad, ad ---
6
Di agramas de Estados
(Conceptos)
Un estado es una condicin o situacin en la vida de un
o$%eto durante la cual satisface una condicin, reali!a
alguna actividad o es"era alg#n evento
Un evento es la es#eci+icaci.n de un acontecimiento
significativo &ue ocu#a un lugar en el tiem"o y en el
es"acio- Es la a#arici.n de un est/mulo &ue #uede (o no)
activar una transici.n de estado
Una transicin es una relacin entre dos estados &ue
indica &ue un o$%eto &ue est' en el "rimer estado realizar
ciertas acciones y entrar en el segundo estado cuando
ocurra un evento es#eci+icado y se satis+agan unas
condiciones es#eci+icadas
7
Di agramas de Estados
(Mqui na de Estados)
normal
(vivo)
contento
triste
deprimido
menos
deprimido
...
buena
noticia
mala
noticia
anti depresivos
mucho
menos
deprimido
antidepresivos
muerto
(sobredosis)
tiempo
tiempo
buena
noticia
mala
noticia
noticia
devastadora
en
tratamiento
busca
ayuda
evaluacin
favorable
evaluacin
desfavorable
antidepresivos
buena noticia, buena noticia, tiempo, noticia devastadora, busca ayuda,
evaluacin favorable, noticia devastadora, ad, ad, ad ...
estados
transiciones
eventos
8
Di agrama de Estado
(Ej empl o)
Estado
0ransici.n
12omo im#lementar/a la
guarda3
En qu estado
se encuentra
la puerta
inicialmente?
9
Di agrama de Estado
(Ej empl o)
Estado
Inicial
Estado
4inal
10
Di agrama de Estado
(Ej empl o)
Do 5 seleccionar
#roducto es una
actividad
12.mo im#lementar/a
esto3
Acci.n (!e e%ecuta
cuando se dis#ara la
transici.n)
12.mo im#lementar/a
esto3
11
Di agrama de Estado
(Ej empl o)
12
Di agrama de Estado
(Ej empl o)
Estado 2om#uesto
12.mo im#lementar/a
esto3
13
Di agrama de Estado
(Ej empl o)
ostrar E!emplo de
"mplementacin
ostrar #$% de los &'(
14
Di agramas de Acti vi dades
Diagramas de
Actividades
15
Di agramas de Acti vi dades
(Qu Muestran?)
Un Diagrama de Actividades no es ms &ue un caso
es"ecial de un diagrama de estados, en el &ue todos
los estados (o la gran mayor/a) son actividades
)u es una actividad y cual es
la diferencia con un estado?
16
Di agramas de Acti vi dades
(Qu Muestran?)
'i estoy contento, eso es un
estado o una actividad?
*ul es la diferencia entre estar
contento o preparar una torta?
*mo paso de contento a
triste?
)u sucede despus de que
termino de preparar la torta?
17
Di agramas de Acti vi dades
(Qu Muestran?)
)u es una actividad y cual es la diferencia con un estado?
!uena el
0im$re
6uscando
ni7os al
colegio
8re#arando
0orta
9aciendo
2ena
Atendiendo
:isitas +,-
!e van las
visitas
contento triste
mala
noticia
Las actividades no son atmicas y
generalmente se "asa a la siguiente
actividad cuando la actividad actual termina
Los estados
generalmente son
at.micos y se #asa al
siguiente estado #or
medio de un evento
18
Di agramas de Acti vi dades
(Qu Muestran?)
!e #ueden usar #ara modelar la dinmica de una
sociedad de o$%etos o el +lu%o de control de una
o#eraci.n (Diagramas de flujo?)
El flujo de un objeto a lo largo de una serie de
estados o actividades
Tomado de Booch, Rumbaugh, Jacobson, el lenguaje unificado de modelado
19
Di agramas de Acti vi dades
(Qu Muestran?)
Los Diagramas de Actividades son usados (entre otras
cosas) #ara ela$orar modelos de flujos de trabajo$
(;or<+lo;) de un sistema-
En general, un Diagrama de Actividades muestra una
serie de acciones o tareas &ue se e%ecutan en cierto
orden (y otros elementos adicionales)
Un Diagrama de Actividades muestra el flujo de control
entre una serie de tareas o actividades
=Un flujo de trabajo se #uede ver como una serie de tareas
(acciones) &ue son e%ecutadas o realizadas #or ciertos actores en
cierto orden #reesta$lecido
20
Di agramas de Acti vi dades
(Qu Muestran?)
2on%unto de actividades 1>u' *acen las actividades3
1En &ue orden se e%ecutan3
1D.nde ocurren3 1>ui'n las e%ecuta3
1>u' insumos re&uieren3 1>u' #roductos generan3
12undo ocurren3
Los Diagramas de Actividades e%"resan&
21
Di agramas de Acti vi dades
(Conceptos si cos?)
'ctividad&
Es la es#eci+icaci.n de un com#ortamiento &ue #uede ser
#arametrizado y &ue de+ine la secuenciaci.n coordinada
de unidades su$ordinadas denominadas acciones
'ccin&
Una acci.n es la unidad +undamental de es#eci+icaci.n
de com#ortamiento- Una acci.n es generalmente
at.mica, es decir, indivisi$le
(ransiciones&
?e#resentan el #aso de una acci.n a otra
22
Di agramas de Acti vi dades
(Ej empl o)
Inicio
4in
Acci.n
E%e de
Actividad o
0ransici.n
!e#araci.n
(4or< 5 !#lit)
Uni.n
(@oin)
Decisi.n (2*oose
5 6ranc*)
Mezcla
(Merge)
Aodo
B$%eto o
8armetro
de Entrada
Aodo B$%eto o
8armetro de !alida
.ecordar Etiquetas
23
Di agramas de Acti vi dades
(Ej empl o)
Acci.n
Evento
de
0iem#o
/or qu no hay nodo de inicio?
24
Di agramas de Acti vi dades
(Ej empl o)
4inal de
4lu%o
!;imlanes
(2arrileras 5
2alles)
25
Di agramas de Acti vi dades
(Ej empl o)
El mismo diagrama anterior #ero sin carrileras 5 calles
26
Di agramas de Acti vi dades
(Ej empl o)
Acci.n
?ecurrente
(Iterativa)
Env/o de
!e7al
(Evento)
?ece#ci.n
de !e7al
(Evento)
0clarar env1o y
recepcin de se2ales
27
Di agramas de Acti vi dades
(Ej empl o)
2arrilera
(2alle)
Do$le
Aota
28
Di agramas de Acti vi dades
(Ej empl o)
Aoten el e&uili$rio
entre las se#araciones
y uniones
29
Ej empl o de !or"#l o$ (%)
(Ej empl o tomado de C&EDA)
?eci$ir B+erta
()liente)
Anlisis Legal
('nalista)
=
?ece#ci.n de
Documentos
(*ecretaria)
=
Aoti+icar
A#ro$aci.n
(*ecretaria)
Aoti+icar
?ec*azo
(*ecretaria)
8re#arar
2ontrato
(D"to+ ,egal)
Anlisis
#or @unta
(Junta)
Aoti+icar
A#ro$aci.n
(*ecretaria)
4irma de
2ontrato
()liente)
Ca#ro$arD CelseD
Ca#ro$arD
[else]
Proceso de Negocio: Proceso de Contratacin
Modelado con un Diagraa de !cti"idades
MDocB+erta
id
nom$re
a#ellido
cedula
---
;or<+lo;Eid
M?ecaudo
id
nom$re
ti#o
---

0--n
6D
30
Ej empl o de !or"#l o$ (')
(Ej empl o tomado de C&EDA)
?eci$ir !olicitud
de Inscri#ci.n
(2liente)
Ace#tar
(Analista)
?ec*azar
(Analista)

Guardar
0em#oralmente
(Analista)
Aoti+icar
?ec*azo
(!ecretaria)
?eci$ir
?ecaudo
(!ecretaria)
?ecaudos
4altantes
(!istema)
?ecaudos
2om#letos
(!istema)
?ec*azar
(@unta)
Ace#tar
(@unta)
Aoti+icar
A#ro$aci.n
(!ecretaria)
(Auto)
Aoti+icar
A#ro$aci.n
(!ecretaria)
4irmar
2ontrato
(2liente)
8re#arar
2ontrato
(D#to- Legal)
Proceso de Negocio: Proceso de Contratacin
Modelado con #edes de Petri
MDocB+erta
id
nom$re
a#ellido
cedula
---
;or<+lo;Eid
M?ecaudo
id
nom$re
ti#o
---

0--n
6D
31
(M& ()ersi *n %+ ,) (')
(Ej empl o tomado de C&EDA)
<net-petri-def name="..." doc-type="...">
<!-- *********************************** -->
<!-- The list of places in the net-petri -->
<!-- *********************************** -->
<!-- *********************************** -->
<!-- The list of trans-set and trans -->
<!-- *********************************** -->
<!-- *********************************** -->
<!-- The list of states in the net-petri -->
<!-- *********************************** -->
</net-petri-def>
32
(M& ()ersi *n %+ ,) (-)
(Ej empl o tomado de C&EDA)
<net-petri-def name="..." doc-type="...">
<!-- *********************************** -->
<!-- The list of places in the net-petri -->
<!-- *********************************** -->
<place-list>
<place name="..." />
<place name="..." />
...
</place-list>
...
</net-petri-def>
33
(M& ()ersi *n %+ ,) (.)
(Ej empl o tomado de C&EDA)
<net-petri-def name="..." doc-type="...">
...
<trans-list>
<trans-set name="...">
<agent-def time="..." class="..." method="..." />
<privilege name="..." />
<work-list name="..." />
<meta-data key="..." val="..." />
<meta-data key="..." val="..." />
...
<doc-section-state name="..." state="..." />
<doc-section-state name="..." state="..." />
...
<trans name="..." type="...">
<meta-data key="..." val="..." />
<meta-data key="..." val="..." />
...
<pre-place name="..." />
<pre-place name="..." />
...
<pos-place name="..." />
<pos-place name="..." />
...
</trans>
...
</trans-set>
...
</trans-list>
...
</net-petri-def>
34
(M& ()ersi *n %+ ,) (,)
(Ej empl o tomado de C&EDA)
<net-petri-def name="..." doc-type="...">
...
<state-list>
<state-grp name="..." terminal="...">
<meta-data key="..." val="..." />
<meta-data key="..." val="..." />
...
<doc-section-state name="..." state="..." />
<doc-section-state name="..." state="..." />
...
<state-set name="...">
<place name="..." tokens="..." />
<place name="..." tokens="..." />
...
</state-set>
...
</state-grp>
...
</state-list>
...
</net-petri-def>
35
Arqui tectura (/eneral )
(Ej empl o tomado de C&EDA)
6D
otor
de
3or4flo5
(2leda4lo;, 2leda!c*eduler y
2leda6ase)
9
i
$
e
r
n
a
t
e
@
D
6
2
Documentos
6*
2ledaM:2
(!truts)
o
Ec*o2
Modelo
de
Dominio
!ervlets
Aavegador
FE6
2leda0ags
2leda2ore
A#licaci.n
!r$uitectura a 3 ca%as &ien de'inida(
)alidada con la e*%eriencia de los %ro+ectos desarrollados(
,n constante e"olucin + re'inacin(
36
Di scusi *n
7"'*&'"89
/or qu los
dia:ramas de estados
- actividades son
importantes?
37
/raci as
-.racias/
38
$;7;+ "nvesti:ar si e<isten buenas
prcticas en cuanto a los nombres de los
eventos, acciones, transiciones, etc
$;7;+ Este e!emplo (==) es bueno, pero puede ser un poco confuso,
sobre todo porque aqu1 hay un poco de me>cla entre dia:rama de estados
(Esperando-Enviando) y dia:rama de actividades
$;7;+ (==) 9o si:ue la convencin de ?:uarda@ evento - accin de las
lminas anteriores
%a informacin en+ http+--en.5i4ipedia.or:-5i4i-&%AstateAmachine est
bastante interesante...
$;7;+ )ui>s faltan al:unas cosas, como acciones de entrada, de salida,
la evaluacin de e<presiones, maquinas de estado concurrentes y anidadas,
etctera...
(=B)$;7;+ #ay que revisar y consolidar, me parece que se habla mucho aqu1
repitiendo conceptos. Esto deber1a ser al:o mucho ms concreto y que confunda
menos a los estudiantes
(CD) $;7;+ .evisar en el estndar el final de flu!o y ver
si est bien utili>ado
(C=)$;7;+ ;!o con estos conceptos que entran en contradiccin con los conceptos
presentados en los dia:ramas de estado (E no deber1a ser)

También podría gustarte