2. 2
Diagramas de Actividades
(¿Qué Muestran?)
Un Diagrama de Actividades no es más
que un caso especial de un diagrama de
estados, en el que todos los estados
(o la gran mayoría) son acciones
¿qué es una actividad y cuál es la
diferencia con un estado?
3. 3
Diagramas de Actividades
(Estados y Actividades)
¿si estoy contento, eso es un
estado o una actividad?
¿cuál es la diferencia entre estar
contento o preparar una torta?
¿cómo paso de contento a triste?
¿qué sucede después de que
termino de preparar la torta?
4. 4
Diagramas de Actividades
(Estados y Actividades)
¿Qué es una actividad y cual es la diferencia con un estado?
Suena el
Timbre
Buscando
niños al
colegio
Preparando
Torta
Haciendo
Cena
Atendiendo
Visitas :-/
Se van las
visitas
contento triste
mala
noticia
En las actividades generalmente se hace
algún trabajo y se pasa a la siguiente
actividad cuando la actividad actual termina
En los estados generalmente
no se hace nada,
simplemente “estoy” contento
Es común que una
actividad esté
compuesta por una
secuencia de acciones
5. 5
Diagramas de Actividades
(Estados y Actividades)
Estado
Actividad
Las actividades
pueden estar
compuestas por otras
actividades o acciones
(sub-diagramas)
6. 6
Diagramas de Actividades
(¿Qué Muestran?)
Se pueden usar para modelar la dinámica de una
sociedad de objetos
El flujo de control entre un conjunto de estados o
actividades, el flujo de control de una operación
(¿diagramas de flujo?)
Tomado de Booch, Rumbaugh, Jacobson, El Lenguaje Unificado de Modelado
La relación (de entrada / salida) de un conjunto de
objetos con una serie de estados o actividades
7. 7
Diagramas de Actividades
(¿Qué Muestran?)
Los Diagramas de Actividades son usados (entre otras
cosas) para elaborar modelos de flujos de trabajo*
(workflow) de un sistema.
*Un flujo de trabajo se puede ver como una serie de tareas
(acciones) que son ejecutadas o realizadas por ciertos actores en
cierto orden preestablecido
Se pueden usar para modelar el flujo de navegación de
una interfaz de usuario
(aunque los diagramas de estado también)
8. 8
Diagramas de Actividades
(¿Qué Muestran?)
Conjunto de actividades ¿Qué hacen las actividades?
¿En qué orden se ejecutan?
¿Dónde ocurren? ¿Quién las ejecuta?
¿Qué insumos requieren?
(entradas)
¿Qué productos generan?
(salidas)
¿Cuándo ocurren?
Los Diagramas de Actividades expresan:
15. 15
Diagramas de Actividades
(Ejemplo)
Acción Recurrente (Iterativa)
Envío de
Señal
(Evento)
Recepción
de Señal
(Evento)
¿cómo eliminaría la señal
de ingreso de repuestos
duplicada?
18. 18
Diagramas de Actividades
y Casos de Uso
Opción A:
Un caso de uso
general/abstracto para todo
el proceso (actividades
especificadas por separado)
21. 21
Ejemplo de Workflow (1)
(Ejemplo tomado de CLEDA)
Recibir Solicitud
(Cliente)
Análisis Legal
(Analista)
*
Recepción de
Documentos
(Secretaria)
*
Notificar
Aprobación
(Secretaria)
Notificar
Rechazo
(Secretaria)
Preparar
Contrato
(Dpto. Legal)
Análisis
por Junta
(Junta)
Notificar
Aprobación
(Secretaria)
Firma de
Contrato
(Cliente)
[aprobar] [else]
[aprobar]
[else]
MDocSolicitud
id
nombre
apellido
cedula
...
workflow_id
MRecaudo
id
nombre
tipo
...
1
0..n
BD
Proceso de Solicitud de Préstamo
Modelado con un Diagrama de Actividades
22. 22
Ejemplo de Workflow (2)
(Ejemplo tomado de CLEDA)
Recibir Solicitud
(Cliente)
Aceptar
(Analista)
Rechazar
(Analista)
Guardar
Temporalmente
(Analista)
Notificar
Rechazo
(Secretaria)
Recibir
Recaudo
(Secretaria)
Recaudos
Faltantes
(Sistema)
Recaudos
Completos
(Sistema)
Rechazar
(Junta)
Aceptar
(Junta)
Notificar
Aprobación
(Secretaria)
(Auto)
Notificar
Aprobación
(Secretaria)
Firmar
Contrato
(Cliente)
Preparar
Contrato
(Dpto. Legal)
MDocSolicitud
id
nombre
apellido
cedula
...
workflow_id
MRecaudo
id
nombre
tipo
...
1
0..n
BD
Proceso de Solicitud de Préstamo
Modelado con Redes de Petri
23. 23
XML (Versión 1.5) (2)
(Ejemplo tomado de CLEDA)
<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>
24. 24
XML (Versión 1.5) (3)
(Ejemplo tomado de CLEDA)
<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>
27. 27
Arquitectura (General)
(Ejemplo tomado de CLEDA)
BD
Motor
de
Workflow
(CledaFlow, CledaScheduler y
CledaBase)
Hibernate
JDBC
Documentos
MVC
CledaMVC
(Struts1)
o
Echo2
Modelo
de
Dominio
Servlets
Navegador
WEB
CledaTags
CledaCore
Aplicación
arquitectura a 3 capas bien definida,
validada con la experiencia de los proyectos desarrollados
y en constante evolución