SlideShare a Scribd company logo
1 of 28
Download to read offline
1
UML
Diagramas de Actividades
(UML Ilustrado)
Universidad de los Andes
Demián Gutierrez
Noviembre 2012
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
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
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
Diagramas de Actividades
(Estados y Actividades)
Estado
Actividad
Las actividades
pueden estar
compuestas por otras
actividades o acciones
(sub-diagramas)
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
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
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:
9
Diagramas de Actividades
(Ejemplo)
Inicio
Fin
Acción/Actividad
Eje de
Actividad o
Transición
Actividad
Separación
(Fork / Split)
Unión (Join)
Decisión
(Choose /
Branch)
Mezcla
(Merge)
Nodo Objeto
o Parámetro
de Entrada
Nodo Objeto o
Parámetro de SalidaRecordar Etiquetas
10
Diagramas de Actividades
(Ejemplo)
Noten el equilibrio
entre las separaciones
y las uniones
Noten el equilibrio
entre las separaciones
y las uniones
11
Diagramas de Actividades
(Ejemplo)
Final de
Flujo
Swimlanes
(Carrileras /
Calles)
12
Diagramas de Actividades
(Ejemplo)
El mismo diagrama anterior pero sin carrileras / calles, ver:
http://www.jot.fm/issues/issue_2004_07/column4/
13
Diagramas de Actividades
(Ejemplo)
Acción
Evento
de
Tiempo
¿por qué no hay nodo de inicio?
14
Diagramas de Actividades
(Ejemplo)
Nota
Swimlanes Doble
(Carrileras /
Calles)
Documento / Objeto
Señal (Recepción)
Señal (Emisión)
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?
16
Diagramas de Actividades
diagramas de actividades y
casos de uso
17
Diagramas de Actividades
y Casos de Uso
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)
19
Diagramas de Actividades
y Casos de Uso
Opción B:
Casos de Uso separados para
las actividades más significativas
20
Implementación
¿implementación?
a continuación una de muchas
formas de implementar estos
conceptos
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
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
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
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>
25
XML (Versión 1.5) (4)
(Ejemplo tomado de CLEDA)
<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>
26
XML (Versión 1.5) (5)
(Ejemplo tomado de CLEDA)
<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>
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
28
Gracias
¡Gracias!

More Related Content

What's hot

Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
ani_tuza
 
Teoria 01 bases de datos 9 3 limites de mapeo
Teoria 01 bases de datos 9 3 limites de mapeoTeoria 01 bases de datos 9 3 limites de mapeo
Teoria 01 bases de datos 9 3 limites de mapeo
nileyna
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
sarai0000
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
Robedgar MX
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
JosepSalvadorSotoObregon
 

What's hot (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Modelo entidad relación de base de datos
Modelo entidad relación de base de datosModelo entidad relación de base de datos
Modelo entidad relación de base de datos
 
Teoria 01 bases de datos 9 3 limites de mapeo
Teoria 01 bases de datos 9 3 limites de mapeoTeoria 01 bases de datos 9 3 limites de mapeo
Teoria 01 bases de datos 9 3 limites de mapeo
 
Algebra relacional (operaciones)
Algebra relacional (operaciones)Algebra relacional (operaciones)
Algebra relacional (operaciones)
 
Programación del lado del cliente
Programación del lado del clienteProgramación del lado del cliente
Programación del lado del cliente
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
MODELO OSI PDU
MODELO OSI PDUMODELO OSI PDU
MODELO OSI PDU
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Estilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorEstilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-Computador
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Algebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datosAlgebra relacional fundamentos de base de datos
Algebra relacional fundamentos de base de datos
 
¿Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter...
¿Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter...¿Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter...
¿Qué SGBD (Sistema de Gestor de BD) y tecnologías utilizan: Facebook, Twitter...
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"Bases De Datos "Conceptos Basicos"
Bases De Datos "Conceptos Basicos"
 
TUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCHTUTORIAL DE MySQL WORKBENCH
TUTORIAL DE MySQL WORKBENCH
 
Pseudocodigo pptx
Pseudocodigo pptxPseudocodigo pptx
Pseudocodigo pptx
 

Viewers also liked

Clase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplosClase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplos
Demián Gutierrez
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccion
Demián Gutierrez
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemplo
Demián Gutierrez
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacion
Demián Gutierrez
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigo
Demián Gutierrez
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
Demián Gutierrez
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
Demián Gutierrez
 

Viewers also liked (20)

Clase 13 uml_paquetes
Clase 13 uml_paquetesClase 13 uml_paquetes
Clase 13 uml_paquetes
 
Clase 09c seleccion
Clase 09c seleccionClase 09c seleccion
Clase 09c seleccion
 
Clase 14a uml_estados
Clase 14a uml_estadosClase 14a uml_estados
Clase 14a uml_estados
 
Clase 04 diseno_ui
Clase 04 diseno_uiClase 04 diseno_ui
Clase 04 diseno_ui
 
Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)
 
Clase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplosClase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplos
 
Clase 02 Scrum
Clase 02 ScrumClase 02 Scrum
Clase 02 Scrum
 
Hg mini manual
Hg mini manualHg mini manual
Hg mini manual
 
Clase 01 agilidad
Clase 01 agilidadClase 01 agilidad
Clase 01 agilidad
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccion
 
Clase 03 XP
Clase 03 XPClase 03 XP
Clase 03 XP
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemplo
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacion
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigo
 
Clase 09a frameworks
Clase 09a frameworksClase 09a frameworks
Clase 09a frameworks
 
Clase 01 presentacion
Clase 01 presentacionClase 01 presentacion
Clase 01 presentacion
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
 

Similar to Clase 14b uml_actividades

Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
camiloan40
 
Actividad III Interpretar diagramas
Actividad III Interpretar diagramasActividad III Interpretar diagramas
Actividad III Interpretar diagramas
gamma_destro
 

Similar to Clase 14b uml_actividades (20)

Uml clase 03_uml_actividades_estados
Uml clase 03_uml_actividades_estadosUml clase 03_uml_actividades_estados
Uml clase 03_uml_actividades_estados
 
Clase 6 contexto y procesos
Clase 6 contexto y procesosClase 6 contexto y procesos
Clase 6 contexto y procesos
 
Manual de trello
Manual de trello Manual de trello
Manual de trello
 
DIAGRAMA DE ACTIVIDADES UML
DIAGRAMA DE ACTIVIDADES UMLDIAGRAMA DE ACTIVIDADES UML
DIAGRAMA DE ACTIVIDADES UML
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
Clase 12
Clase 12Clase 12
Clase 12
 
Diagramas de flujo
Diagramas de flujo Diagramas de flujo
Diagramas de flujo
 
Modelo de análisis Estructurado
Modelo de análisis Estructurado Modelo de análisis Estructurado
Modelo de análisis Estructurado
 
Flujogramas
FlujogramasFlujogramas
Flujogramas
 
Taller Tecnología 1 .pdf
Taller Tecnología 1 .pdfTaller Tecnología 1 .pdf
Taller Tecnología 1 .pdf
 
Taller Tecnología .pdf
Taller Tecnología .pdfTaller Tecnología .pdf
Taller Tecnología .pdf
 
Taller #1 Tecnología 2022.docx
Taller #1 Tecnología 2022.docxTaller #1 Tecnología 2022.docx
Taller #1 Tecnología 2022.docx
 
Taller Tecnología .docx
Taller Tecnología .docxTaller Tecnología .docx
Taller Tecnología .docx
 
¿Qué es un diagrama de flujo.docx
¿Qué es un diagrama de flujo.docx¿Qué es un diagrama de flujo.docx
¿Qué es un diagrama de flujo.docx
 
Uml
UmlUml
Uml
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Clase 25
Clase 25Clase 25
Clase 25
 
Actividad III Interpretar diagramas
Actividad III Interpretar diagramasActividad III Interpretar diagramas
Actividad III Interpretar diagramas
 
Flujogramas 2021
Flujogramas 2021Flujogramas 2021
Flujogramas 2021
 

More from Demián Gutierrez

Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
Demián Gutierrez
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
Demián Gutierrez
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
Demián Gutierrez
 
Clase 05c niveles de pruebas
Clase 05c niveles de pruebasClase 05c niveles de pruebas
Clase 05c niveles de pruebas
Demián Gutierrez
 
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacionClase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Demián Gutierrez
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
Demián Gutierrez
 

More from Demián Gutierrez (8)

Clase 11 uml_casos_de_uso
Clase 11 uml_casos_de_usoClase 11 uml_casos_de_uso
Clase 11 uml_casos_de_uso
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
 
Clase 07a patrones_diseno
Clase 07a patrones_disenoClase 07a patrones_diseno
Clase 07a patrones_diseno
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
 
Clase 05c niveles de pruebas
Clase 05c niveles de pruebasClase 05c niveles de pruebas
Clase 05c niveles de pruebas
 
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacionClase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Recently uploaded (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Clase 14b uml_actividades

  • 1. 1 UML Diagramas de Actividades (UML Ilustrado) Universidad de los Andes Demián Gutierrez Noviembre 2012
  • 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:
  • 9. 9 Diagramas de Actividades (Ejemplo) Inicio Fin Acción/Actividad Eje de Actividad o Transición Actividad Separación (Fork / Split) Unión (Join) Decisión (Choose / Branch) Mezcla (Merge) Nodo Objeto o Parámetro de Entrada Nodo Objeto o Parámetro de SalidaRecordar Etiquetas
  • 10. 10 Diagramas de Actividades (Ejemplo) Noten el equilibrio entre las separaciones y las uniones Noten el equilibrio entre las separaciones y las uniones
  • 11. 11 Diagramas de Actividades (Ejemplo) Final de Flujo Swimlanes (Carrileras / Calles)
  • 12. 12 Diagramas de Actividades (Ejemplo) El mismo diagrama anterior pero sin carrileras / calles, ver: http://www.jot.fm/issues/issue_2004_07/column4/
  • 14. 14 Diagramas de Actividades (Ejemplo) Nota Swimlanes Doble (Carrileras / Calles) Documento / Objeto Señal (Recepción) Señal (Emisión)
  • 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?
  • 16. 16 Diagramas de Actividades diagramas de actividades y casos de uso
  • 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)
  • 19. 19 Diagramas de Actividades y Casos de Uso Opción B: Casos de Uso separados para las actividades más significativas
  • 20. 20 Implementación ¿implementación? a continuación una de muchas formas de implementar estos conceptos
  • 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>
  • 25. 25 XML (Versión 1.5) (4) (Ejemplo tomado de CLEDA) <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>
  • 26. 26 XML (Versión 1.5) (5) (Ejemplo tomado de CLEDA) <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>
  • 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