clase 14b uml_actividades

28
1 UML Diagramas de Actividades (UML Ilustrado) Universidad de los Andes Demián Gutierrez Noviembre 2012

Upload: demian-gutierrez

Post on 28-Jun-2015

1.221 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Clase 14b uml_actividades

1

UMLDiagramas de Actividades

(UML Ilustrado)

Universidad de los AndesDemián GutierrezNoviembre 2012

Page 2: Clase 14b uml_actividades

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?

Page 3: Clase 14b uml_actividades

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?

Page 4: Clase 14b uml_actividades

4

Diagramas de Actividades(Estados y Actividades)

¿Qué es una actividad y cual es la diferencia con un estado?

Suena el Timbre

Buscandoniños alcolegio

PreparandoTorta

HaciendoCena

AtendiendoVisitas :-/

Se van las visitas

contento tristemala

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

Page 5: Clase 14b uml_actividades

5

Diagramas de Actividades(Estados y Actividades)

Estado

Actividad

Las actividades pueden estar

compuestas por otras actividades o acciones

(sub-diagramas)

Page 6: Clase 14b uml_actividades

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

Page 7: Clase 14b uml_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)

Page 8: Clase 14b uml_actividades

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:

Page 9: Clase 14b uml_actividades

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

Page 10: Clase 14b uml_actividades

10

Diagramas de Actividades(Ejemplo)

Noten el equilibrioentre las separaciones

y las uniones

Noten el equilibrioentre las separaciones

y las uniones

Page 11: Clase 14b uml_actividades

11

Diagramas de Actividades(Ejemplo)

Final deFlujo

Swimlanes (Carrileras /

Calles)

Page 12: Clase 14b uml_actividades

12

Diagramas de Actividades(Ejemplo)

El mismo diagrama anterior pero sin carrileras / calles, ver:

http://www.jot.fm/issues/issue_2004_07/column4/

Page 13: Clase 14b uml_actividades

13

Diagramas de Actividades(Ejemplo)

AcciónEvento

de Tiempo

¿por qué no hay nodo de inicio?

Page 14: Clase 14b uml_actividades

14

Diagramas de Actividades(Ejemplo)

Nota

Swimlanes Doble (Carrileras /

Calles)

Documento / Objeto

Señal (Recepción)

Señal (Emisión)

Page 15: Clase 14b uml_actividades

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?

Page 16: Clase 14b uml_actividades

16

Diagramas de Actividades

diagramas de actividades y casos de uso

Page 17: Clase 14b uml_actividades

17

Diagramas de Actividadesy Casos de Uso

Page 18: Clase 14b uml_actividades

18

Diagramas de Actividadesy Casos de Uso

Opción A:Un caso de uso general/abstracto para todo el proceso (actividades especificadas por separado)

Page 19: Clase 14b uml_actividades

19

Diagramas de Actividadesy Casos de Uso

Opción B:Casos de Uso separados para

las actividades más significativas

Page 20: Clase 14b uml_actividades

20

Implementación

¿implementación?

a continuación una de muchas formas de implementar estos

conceptos

Page 21: Clase 14b uml_actividades

21

Ejemplo de Workflow (1)(Ejemplo tomado de CLEDA)

Recibir Solicitud(Cliente)

Análisis Legal(Analista)

*

Recepción deDocumentos(Secretaria)

*

NotificarAprobación(Secretaria)

NotificarRechazo

(Secretaria)

PrepararContrato

(Dpto. Legal)

Análisispor Junta(Junta)

NotificarAprobación(Secretaria)

Firma deContrato(Cliente)

[aprobar] [else]

[aprobar]

[else]

MDocSolicitud

idnombreapellidocedula...workflow_id

MRecaudo

idnombretipo...

1

0..n

BD

Proceso de Solicitud de PréstamoModelado con un Diagrama de Actividades

Page 22: Clase 14b uml_actividades

22

Ejemplo de Workflow (2)(Ejemplo tomado de CLEDA)

Recibir Solicitud(Cliente)

Aceptar(Analista)

Rechazar(Analista)

GuardarTemporalmente

(Analista)

NotificarRechazo

(Secretaria)

RecibirRecaudo

(Secretaria)

RecaudosFaltantes(Sistema)

RecaudosCompletos(Sistema)

Rechazar(Junta)

Aceptar(Junta)

NotificarAprobación(Secretaria)

(Auto)Notificar

Aprobación(Secretaria)

FirmarContrato(Cliente)

PrepararContrato

(Dpto. Legal)

MDocSolicitud

idnombreapellidocedula...workflow_id

MRecaudo

idnombretipo...

1

0..n

BD

Proceso de Solicitud de PréstamoModelado con Redes de Petri

Page 23: Clase 14b uml_actividades

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>

Page 24: Clase 14b uml_actividades

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>

Page 25: Clase 14b uml_actividades

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>

Page 26: Clase 14b uml_actividades

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>

Page 27: Clase 14b uml_actividades

27

Arquitectura (General)(Ejemplo tomado de CLEDA)

BD

Motorde

Workflow(CledaFlow, CledaScheduler y

CledaBase)

Hib

erna

te

JDB

C

Documentos

MVCCledaMVC(Struts1)

oEcho2

Modelode

Dominio

Servlets

NavegadorWEB

CledaTags

CledaCore

Aplicación

arquitectura a 3 capas bien definida,validada con la experiencia de los proyectos desarrollados

y en constante evolución

Page 28: Clase 14b uml_actividades

28

Gracias

¡Gracias!