clase 14b uml_actividades

Post on 28-Jun-2015

1.221 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

UMLDiagramas de Actividades

(UML Ilustrado)

Universidad de los AndesDemián GutierrezNoviembre 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

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

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 equilibrioentre las separaciones

y las uniones

Noten el equilibrioentre las separaciones

y las uniones

11

Diagramas de Actividades(Ejemplo)

Final deFlujo

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ónEvento

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 Actividadesy Casos de Uso

18

Diagramas de Actividadesy Casos de Uso

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

19

Diagramas de Actividadesy 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 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

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

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

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

28

Gracias

¡Gracias!

top related