Clase 14b uml_actividades

1,582 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,582
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
108
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Clase 14b uml_actividades

  1. 1. 1UMLDiagramas de Actividades(UML Ilustrado)Universidad de los AndesDemián GutierrezNoviembre 2012
  2. 2. 2Diagramas de Actividades(¿Qué Muestran?)Un Diagrama de Actividades no es másque un caso especial de un diagrama deestados, en el que todos los estados(o la gran mayoría) son acciones¿qué es una actividad y cuál es ladiferencia con un estado?
  3. 3. 3Diagramas de Actividades(Estados y Actividades)¿si estoy contento, eso es unestado o una actividad?¿cuál es la diferencia entre estarcontento o preparar una torta?¿cómo paso de contento a triste?¿qué sucede después de quetermino de preparar la torta?
  4. 4. 4Diagramas de Actividades(Estados y Actividades)¿Qué es una actividad y cual es la diferencia con un estado?Suena elTimbreBuscandoniños alcolegioPreparandoTortaHaciendoCenaAtendiendoVisitas :-/Se van lasvisitascontento tristemalanoticiaEn las actividades generalmente se hacealgún trabajo y se pasa a la siguienteactividad cuando la actividad actual terminaEn los estados generalmenteno se hace nada,simplemente “estoy” contentoEs común que unaactividad estécompuesta por unasecuencia de acciones
  5. 5. 5Diagramas de Actividades(Estados y Actividades)EstadoActividadLas actividadespueden estarcompuestas por otrasactividades o acciones(sub-diagramas)
  6. 6. 6Diagramas de Actividades(¿Qué Muestran?)Se pueden usar para modelar la dinámica de unasociedad de objetosEl flujo de control entre un conjunto de estados oactividades, el flujo de control de una operación(¿diagramas de flujo?)Tomado de Booch, Rumbaugh, Jacobson, El Lenguaje Unificado de ModeladoLa relación (de entrada / salida) de un conjunto deobjetos con una serie de estados o actividades
  7. 7. 7Diagramas de Actividades(¿Qué Muestran?)Los Diagramas de Actividades son usados (entre otrascosas) 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 encierto orden preestablecidoSe pueden usar para modelar el flujo de navegación deuna interfaz de usuario(aunque los diagramas de estado también)
  8. 8. 8Diagramas 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. 9Diagramas de Actividades(Ejemplo)InicioFinAcción/ActividadEje deActividad oTransiciónActividadSeparación(Fork / Split)Unión (Join)Decisión(Choose /Branch)Mezcla(Merge)Nodo Objetoo Parámetrode EntradaNodo Objeto oParámetro de SalidaRecordar Etiquetas
  10. 10. 10Diagramas de Actividades(Ejemplo)Noten el equilibrioentre las separacionesy las unionesNoten el equilibrioentre las separacionesy las uniones
  11. 11. 11Diagramas de Actividades(Ejemplo)Final deFlujoSwimlanes(Carrileras /Calles)
  12. 12. 12Diagramas de Actividades(Ejemplo)El mismo diagrama anterior pero sin carrileras / calles, ver:http://www.jot.fm/issues/issue_2004_07/column4/
  13. 13. 13Diagramas de Actividades(Ejemplo)AcciónEventodeTiempo¿por qué no hay nodo de inicio?
  14. 14. 14Diagramas de Actividades(Ejemplo)NotaSwimlanes Doble(Carrileras /Calles)Documento / ObjetoSeñal (Recepción)Señal (Emisión)
  15. 15. 15Diagramas de Actividades(Ejemplo)Acción Recurrente (Iterativa)Envío deSeñal(Evento)Recepciónde Señal(Evento)¿cómo eliminaría la señalde ingreso de repuestosduplicada?
  16. 16. 16Diagramas de Actividadesdiagramas de actividades ycasos de uso
  17. 17. 17Diagramas de Actividadesy Casos de Uso
  18. 18. 18Diagramas de Actividadesy Casos de UsoOpción A:Un caso de usogeneral/abstracto para todoel proceso (actividadesespecificadas por separado)
  19. 19. 19Diagramas de Actividadesy Casos de UsoOpción B:Casos de Uso separados paralas actividades más significativas
  20. 20. 20Implementación¿implementación?a continuación una de muchasformas de implementar estosconceptos
  21. 21. 21Ejemplo 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]MDocSolicitudidnombreapellidocedula...workflow_idMRecaudoidnombretipo...10..nBDProceso de Solicitud de PréstamoModelado con un Diagrama de Actividades
  22. 22. 22Ejemplo 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)NotificarAprobación(Secretaria)FirmarContrato(Cliente)PrepararContrato(Dpto. Legal)MDocSolicitudidnombreapellidocedula...workflow_idMRecaudoidnombretipo...10..nBDProceso de Solicitud de PréstamoModelado con Redes de Petri
  23. 23. 23XML (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. 24XML (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. 25XML (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. 26XML (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. 27Arquitectura (General)(Ejemplo tomado de CLEDA)BDMotordeWorkflow(CledaFlow, CledaScheduler yCledaBase)HibernateJDBCDocumentosMVCCledaMVC(Struts1)oEcho2ModelodeDominioServletsNavegadorWEBCledaTagsCledaCoreAplicaciónarquitectura a 3 capas bien definida,validada con la experiencia de los proyectos desarrolladosy en constante evolución
  28. 28. 28Gracias¡Gracias!

×