Curso Uml 2.4 Diagramas De Comportamiento

33,128 views

Published on

Capítulo 2.4 Diagramas de Comportamiento (Estado y Actividades) del workshop de 20 horas de UML y Proceso Unificado

Published in: Technology
3 Comments
29 Likes
Statistics
Notes
No Downloads
Views
Total views
33,128
On SlideShare
0
From Embeds
0
Number of Embeds
1,074
Actions
Shares
0
Downloads
0
Comments
3
Likes
29
Embeds 0
No embeds

No notes for slide

Curso Uml 2.4 Diagramas De Comportamiento

  1. 1. Curso UML Emilio Avilés Ávila http://www.techmi.es
  2. 2. Workshop (20 horas) Workshop UML y Proceso Unificad para empresas y profesionales
  3. 3. Temario <ul><li>Introducción </li></ul><ul><li>Diagramas </li></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Diagramas de Clases </li></ul></ul><ul><ul><li>Diagramas de Interacción </li></ul></ul><ul><ul><li>Diagramas de Comportamiento </li></ul></ul><ul><ul><li>Diagramas de implementación </li></ul></ul><ul><ul><li>Otros diagramas </li></ul></ul><ul><li>Proceso Unificado </li></ul>
  4. 4. Tema 2 Diagramas
  5. 5. Objetivos <ul><li>Introducción </li></ul><ul><li>Diagramas </li></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Diagramas de Clases </li></ul></ul><ul><ul><li>Diagramas de Interacción </li></ul></ul><ul><ul><li>Diagramas de Comportamiento </li></ul></ul><ul><ul><li>Diagramas de implementación </li></ul></ul><ul><ul><li>Otros diagramas </li></ul></ul><ul><li>Proceso Unificado </li></ul><ul><li>Identificar escenarios donde aplican los diagramas de comportamiento. </li></ul><ul><li>Describir los elementos UML de un diagrama de Estados. </li></ul><ul><li>Diferencias entre estado y actividad. </li></ul><ul><li>Elementos UML de los diagramas de actividad. </li></ul><ul><li>Prácticas y Ejercicios. </li></ul>
  6. 6. Tema 2.4 Diagramas de Comportamiento
  7. 7. 2.4 – Diagramas de Comportamiento <ul><li>Introducción </li></ul><ul><ul><li>Def. Comportamiento que expresa la secuencia de estados por los que pasa un objeto a lo largo de su vida en respuesta a eventos . </li></ul></ul><ul><ul><li>Contienen estados simples y compuestos y transiciones con eventos y acciones. </li></ul></ul><ul><ul><li>Usos comunes: </li></ul></ul><ul><ul><ul><li>Modelar objetos reactivos. </li></ul></ul></ul>
  8. 8. 2.4 – Diagramas de Comportamiento <ul><li>Estados </li></ul><ul><ul><li>Def. Situación dentro de la vida de un objeto en la cual se satisface alguna condición, se realiza alguna actividad o se espera algún evento. </li></ul></ul><ul><ul><li>Un evento puede causar la transición de estado a otro de un objeto. </li></ul></ul><ul><ul><li>Estado de un objeto -> Valores de uno o varios atributos de la clase </li></ul></ul><ul><ul><li>Existen dos estados especiales, estado inicial y estado final/finales . </li></ul></ul>
  9. 9. 2.4 – Diagramas de Comportamiento <ul><li>Estados: Elementos </li></ul><ul><ul><li>Nombre : Le distingue de otros estados </li></ul></ul><ul><ul><li>Acciones de entrada y salida : acciones ejecutadas en la entrada y salida del estado. </li></ul></ul><ul><ul><li>Transiciones internas : Transiciones que no producen un cambio de estado. </li></ul></ul><ul><ul><li>Subestados : Estructura anidada de un estado, secuencial o concurrente. </li></ul></ul><ul><ul><li>Eventos diferidos : Eventos que no son gestionados por el estado pero que serán pospuesto a otro estado. </li></ul></ul>
  10. 10. 2.4 – Diagramas de Comportamiento <ul><li>Transición ( o evento ) </li></ul><ul><ul><li>Def. Relación entre dos estados que indica que un objeto en un primer estado ejecutará ciertas acciones y pasará a un segundo estado. </li></ul></ul><ul><ul><li>Una transición puede tener múltiples orígenes o destinos, en ese caso usaremos uniones (join) y divisiones (fork). </li></ul></ul>
  11. 11. 2.4 – Diagramas de Comportamiento <ul><li>Transición: Elementos </li></ul><ul><ul><li>Estado origen </li></ul></ul><ul><ul><li>Evento de disparo </li></ul></ul><ul><ul><ul><li>E. Disparo representa el evento que causa una transición. </li></ul></ul></ul><ul><ul><ul><li>T. sin disparador es una transición lambda. (actividad completada) ( Automática ) </li></ul></ul></ul><ul><ul><li>Condición </li></ul></ul><ul><ul><li>Acción o mensaje </li></ul></ul><ul><ul><li>Estado destino </li></ul></ul>
  12. 12. 2.4 – Diagramas de Comportamiento <ul><li>Notación UML </li></ul><ul><ul><li>Estado : rectángulo con los bordes redondeados, que puede tener tres compartimentos: </li></ul></ul><ul><ul><ul><li>nombre </li></ul></ul></ul><ul><ul><ul><li>el valor característico de los atributos del objeto en ese estado </li></ul></ul></ul><ul><ul><ul><li>las acciones que se realizan al entrar, salir o do. </li></ul></ul></ul><ul><ul><li>Estado final e inicial : mediante círculos. </li></ul></ul><ul><ul><li>Transición: Línea continua con dirección. </li></ul></ul><ul><ul><ul><li>Guarda: condición para que se ejecute la transición </li></ul></ul></ul>
  13. 13. 2.4 – Diagramas de Comportamiento <ul><li>Resumen Notación </li></ul>
  14. 14. 2.4 – Diagramas de Comportamiento <ul><li>Diagrama de estados y transiciones </li></ul><ul><ul><li>Engloba todos los mensajes que un objeto puede enviar o recibir. </li></ul></ul><ul><ul><li>Un escenario representa un camino dentro del diagrama. </li></ul></ul><ul><ul><li>Generalmente el intervalo entre dos envíos de mensajes representa un estado, se pueden utilizar los diagramas de secuencia para buscar los diferentes estados de un objeto. </li></ul></ul>
  15. 15. 2.4 – Diagramas de Comportamiento <ul><li>Diagrama de estados y transiciones </li></ul><ul><ul><li>Muestran el comportamiento de los objeto. </li></ul></ul><ul><ul><li>Conjunto de estados por los cuales pasa un objeto durante su vida </li></ul></ul><ul><ul><li>Además de los cambios ( transiciones) que permiten pasar de un estado a otro . </li></ul></ul><ul><ul><li>No nos debemos plantear el diseñar diagramas de estados para todas las clases en el sistema, sino sólo para aquellas que exhiban un comportamiento interesante </li></ul></ul>
  16. 16. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Modelar el diagrama de estados para una persona y su vida laboral </li></ul></ul><ul><ul><ul><li>Suponer solo tres estados: </li></ul></ul></ul><ul><ul><ul><ul><li>Activo </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Parado </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Jubilado </li></ul></ul></ul></ul><ul><ul><ul><li>…. Suerte!!! </li></ul></ul></ul>
  17. 17. 2.4 – Diagramas de Comportamiento <ul><li>Solución: persona y su vida laboral </li></ul>
  18. 18. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Definir el diagrama de estados para un Objeto de la Clase Socio Biblioteca </li></ul></ul><ul><ul><ul><li>…. Suerte!!! </li></ul></ul></ul>
  19. 19. 2.4 – Diagramas de Comportamiento <ul><li>Solución: Socio Biblioteca </li></ul>
  20. 20. 2.4 – Diagramas de Comportamiento <ul><li>Subestados </li></ul><ul><ul><li>Def. estado anidado dentro de otro. </li></ul></ul><ul><ul><li>Permiten la agrupación de estados. </li></ul></ul><ul><ul><li>Tipos según su forma de ejecución: </li></ul></ul><ul><ul><ul><li>Secuenciales. Tendrán un estado inicial y otro final. </li></ul></ul></ul><ul><ul><ul><li>Concurrentes. La ejecución se produce en paralelo. </li></ul></ul></ul>
  21. 21. 2.4 – Diagramas de Comportamiento <ul><li>Subestado: Secuencial </li></ul>
  22. 22. 2.4 – Diagramas de Comportamiento <ul><li>Subestados: Concurrente </li></ul>
  23. 23. 2.4 – Diagramas de Comportamiento <ul><li>Subestados: Con Historia </li></ul><ul><ul><li>Permite que un estado compuesto que contiene subestados recuerde el último subestado activo antes de la transición que provocó la salida del estado compuesto. </li></ul></ul>
  24. 24. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicio práctico </li></ul><ul><ul><li>Modelar el comportamiento de una cadena de música. Esta puede estar encendida (ON) o apagada (Standby). La cadena tiene reproductor de CD, Radio y Cinta. Se cambia de uno a otro con el botón “mode”. Cuando se enciende la cadena se recuerda el último estado en el que estuvo. </li></ul></ul><ul><ul><li>… . Suerte!!! </li></ul></ul>
  25. 25. 2.4 – Diagramas de Comportamiento <ul><li>Solución: Cadena de Música </li></ul>
  26. 26. 2.4 – Diagramas de Comportamiento <ul><li>Solución: Cadena de Música (sin histórico) </li></ul>
  27. 27. 2.4 – Diagramas de Comportamiento <ul><li>Conectores </li></ul>
  28. 28. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicios práctico: Biblioteca </li></ul><ul><ul><li>…. Suerte!!! </li></ul></ul>
  29. 29. 2.4 – Diagramas de Comportamiento <ul><li>Solución </li></ul>
  30. 30. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicios práctico </li></ul><ul><ul><li>…. Suerte!!! </li></ul></ul>
  31. 31. 2.4 – Diagramas de Comportamiento <ul><li>Solución </li></ul>
  32. 32. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicios práctico: Reloj </li></ul><ul><ul><li>…. Suerte!!! </li></ul></ul>
  33. 33. 2.4 – Diagramas de Comportamiento <ul><li>Ejercicios práctico: Reloj </li></ul>
  34. 34. 2.4 – Diagramas de Comportamiento <ul><li>Solución: Reloj </li></ul>
  35. 35. Tema 2.4.b Diagramas de Comportamiento Diagrama de actividad
  36. 36. 2.4 – Diagramas de Comportamiento <ul><li>Estados vs Actividades </li></ul><ul><ul><li>Los diagramas de estado resultan adecuados para describir el comportamiento de un objeto a través de diferentes casos de uso . </li></ul></ul><ul><ul><li>NO resultan del todo adecuados para describir el comportamiento que incluye a una serie de objetos colaborando entre sí . </li></ul></ul><ul><ul><li>Los diagramas de actividades muestran de forma adecuada la secuencia general de acciones en diferentes objetos y casos de uso </li></ul></ul>
  37. 37. 2.4 – Diagramas de Comportamiento <ul><li>Diagrama de Actividades </li></ul><ul><ul><li>Muestra la secuencia de actividades. </li></ul></ul><ul><ul><li>Muestran el flujo de trabajo desde el punto de inicio hasta el final detallando muchas rutas de decisiones que existen en el proceso de eventos de la actividad. </li></ul></ul><ul><ul><li>También pueden usarse para detallar el proceso paralelo de un actividad. </li></ul></ul>
  38. 38. 2.4 – Diagramas de Comportamiento <ul><li>Introducción </li></ul><ul><ul><li>Técnica que permite describir lógica procedimental, procesos de negocio y flujos de trabajo. </li></ul></ul><ul><ul><li>Similares a los diagramas de flujo, pero permiten el paralelismo. </li></ul></ul><ul><ul><li>En UML 2.0, los diagramas de actividad son bastante diferentes de las versiones anteriores. </li></ul></ul><ul><ul><li>Basadas en redes de Petri. </li></ul></ul>
  39. 39. 2.4 – Diagramas de Comportamiento <ul><li>Actividad </li></ul><ul><ul><li>Fundamentalmente son redes de nodos y arcos. </li></ul></ul><ul><ul><li>Nodos: </li></ul></ul><ul><ul><ul><li>de acción : Representan unidades discretas de trabajo que son atómicas dentro de la actividad. </li></ul></ul></ul><ul><ul><ul><li>de control : Controlan el flujo a través de la actividad. </li></ul></ul></ul><ul><ul><ul><li>de objeto : Representan objetos utilizados en la actividad. </li></ul></ul></ul><ul><ul><li>Arcos: </li></ul></ul><ul><ul><ul><li>Flujos de control </li></ul></ul></ul><ul><ul><ul><li>Flujos de objetos </li></ul></ul></ul>
  40. 40. 2.4 – Diagramas de Comportamiento <ul><li>Ejemplo </li></ul>
  41. 41. 2.4 – Diagramas de Comportamiento <ul><li>Actividades : Secuencia parametrizada de comportamiento: </li></ul><ul><li>Acción: </li></ul><ul><li>Un sólo paso dentro de la actividad. </li></ul><ul><li>Restricciones de Objetos </li></ul><ul><li>la acción </li></ul>
  42. 42. 2.4 – Diagramas de Comportamiento <ul><li>Flujo de control: </li></ul><ul><li>de una acción a otra. </li></ul><ul><li>Nodo inicial Nodo Final </li></ul><ul><li>Nodos de decisión Nodos de bifurcación </li></ul>
  43. 43. 2.4 – Diagramas de Comportamiento
  44. 44. 2.4 – Diagramas de Comportamiento <ul><li>Gestión de Excepciones </li></ul>
  45. 45. 2.4 – Diagramas de Comportamiento <ul><li>Regiones de expansión </li></ul><ul><ul><li>Cada entrada es una colección de valores </li></ul></ul><ul><ul><li>La región de expansión es ejecutada una vez por cada elemento de la colección </li></ul></ul><ul><ul><li>En cada ejecución de la región, un valor de salida es insertado en la colección de salida en la misma posición que el elemento de entrada </li></ul></ul>
  46. 46. 2.4 – Diagramas de Comportamiento <ul><li>Regiones de expansión </li></ul><ul><ul><li>Hay 3 tipos de interacción entre ejecuciones: </li></ul></ul><ul><ul><ul><li>Paralelo. Concurrente. Todas las interacciones son independientes </li></ul></ul></ul><ul><ul><ul><li>Iterativo. Secuencial. La iteración se ejecuta en el orden de los elementos. </li></ul></ul></ul><ul><ul><ul><li>Flujo. Hay una única ejecución de la región. Los valores de la colección son extraídos y colocados para la ejecución </li></ul></ul></ul>
  47. 47. 2.4 – Diagramas de Comportamiento <ul><li>Interpretación Diagramas de Actividad. </li></ul><ul><ul><li>Perspectiva diagrama conceptual: </li></ul></ul><ul><ul><ul><li>La actividad es una tarea que debe ser realizada. </li></ul></ul></ul><ul><ul><li>Perspectiva implementación: </li></ul></ul><ul><ul><ul><li>La actividad es el método de una clase. </li></ul></ul></ul>
  48. 48. 2.4 – Diagramas de Comportamiento <ul><li>Uso Diagramas de Actividad. </li></ul><ul><ul><li>En general resulta adecuado utilizar diagramas de actividades para: </li></ul></ul><ul><ul><ul><li>Análisis de casos de uso : Entender qué acciones se necesitan llevar a cabo y cuales son las dependencias en el comportamiento. </li></ul></ul></ul><ul><ul><ul><li>Comprensión del flujo de trabajo a lo largo de diferentes casos de uso. </li></ul></ul></ul><ul><ul><ul><li>Modelado de aplicaciones multihilo . </li></ul></ul></ul><ul><ul><ul><li>Modelado de organizaciones y programas concurrentes. </li></ul></ul></ul>
  49. 49. 2.4 – Diagramas de Comportamiento <ul><li>Pros y Contras Diagramas de Actividad. </li></ul><ul><ul><li>Pro: </li></ul></ul><ul><ul><ul><li>Como modelado del comportamiento que es, soportan el comportamiento paralelo, lo que resulta adecuado para el modelado de flujo de trabajo ( workflow ) y programación multihilo. </li></ul></ul></ul><ul><ul><li>Contra: </li></ul></ul><ul><ul><ul><li>No muestran de una forma clara los enlaces existentes entre las acciones y los objetos, siendo mucho más apropiado para ello los diagramas de interacción . </li></ul></ul></ul>
  50. 50. 2.4 – Diagramas de Comportamiento: Ejemplo Diagrama Actividad
  51. 51. Conclusiones <ul><li>Introducción </li></ul><ul><ul><li>Introducción </li></ul></ul><ul><ul><li>Introducción a UML </li></ul></ul><ul><ul><li>Notación y Modelo </li></ul></ul><ul><ul><li>Orientación a Objetos </li></ul></ul><ul><li>Diagramas </li></ul><ul><li>Proceso Unificado </li></ul><ul><li>Identificar escenarios donde aplican los diagramas de comportamiento. </li></ul><ul><li>Describir los elementos UML de un diagrama de Estados. </li></ul><ul><li>Diferencias entre estado y actividad. </li></ul><ul><li>Elementos UML de los diagramas de actividad. </li></ul><ul><li>Prácticas y Ejercicios. </li></ul>
  52. 52. Referencias <ul><li>Curso UML.pdf (Páginas de la 36 a 44) </li></ul><ul><li>Tutorial Diagrama actividad </li></ul><ul><ul><li>http://www.sparxsystems.com.ar/resources/tutorial/uml2_activitydiagram.html </li></ul></ul><ul><li>Tutorial Ingeniera Software: Diagrama de estados y actividades </li></ul><ul><ul><li>http://www.monografias.com/trabajos34/ingenieria-software/ingenieria-software.shtml#destados </li></ul></ul>

×