Dirección General de Servicios de Cómputo Académico (DGSCA) Modelado de Sistemas con UML Integrado por: Rebeca Núñez Alonso Eduardo A. Sánchez Rodríguez Septiembre, 2007 MODELADO DE SISTEMAS CON UML Diagramas de Actividad Secuencia y acciones paralelas MODELADO DE SISTEMAS CON UML Diagramas de Actividad El diagrama de actividad combina ideas de varias técnicas: el diagrama de eventos de John Odell, las técnicas de modelado de estados de SDL y las redes de Petri Son útiles para la descripción del comportamiento que tiene una gran cantidad de procesos paralelos Permite modelar los procesos reales de una organización humana y modelar actividades de software Permiten describir casos de uso MODELADO DE SISTEMAS CON UML Diagramas de Actividad - Perspectiva Dependiendo de la perspectiva, la actividad es interpretada de manera diferente: Perspectiva conceptual Una actividad es alguna tarea que necesita ser realizada ya sea por una persona o una computadora Perspectiva de especificación Una actividad es un método en una clase MODELADO DE SISTEMAS CON UML Diagramas de Actividad La diferencia entre los diagramas de flujo y los diagramas de actividad, es que pueden ser representadas las actividades en paralelo. Esto es importante para el modelado de negocios, cuando los procesos no son secuenciales y pueden ser representados de forma paralela. Es buena práctica asociar diagramas de actividades a los casos de uso detectados para esclarecer su comportamiento. Se puede hacer un diagrama de actividades por cada flujo de un caso de uso, pero basta con diagramar el flujo principal y en caso necesario, algunos flujos alternos. MODELADO DE SISTEMAS CON UML Diagramas de Actividad La diferencia entre los diagramas de flujo y los diagramas de actividad es que pueden ser representadas actividades en paralelo ¾ ¾ Esto es importante para el modelado de negocios, cuando los procesos no son secuenciales y pueden ser representados de forma paralela Los diagramas de actividad también son útiles para programas concurrentes. Por ejemplo en el uso de “threads” MODELADO DE SISTEMAS CON UML Diagramas de Actividad MODELADO DE SISTEMAS CON UML Diagramas de Actividad – Notación Actividad Barra de sincronización Decisión [condición de guarda ] Una actividad es una acción a realizar La barra de sincronización permite iniciar acciones una vez que se han realizado actividades concurrentes La decisión es un punto en el que se pueden seguir alternativas distintas de acuerdo al resultado de la actividad anterior Las condiciones de guarda son los posibles resultados de una acción que servirán como condición para la realización de otra MODELADO DE SISTEMAS CON UML Diagramas de Actividad – Notación (2) Estado Inicial El estado inicial indica el punto de comienzo de la ejecución. En UML el estado inicial se representa como un círculo relleno. El estado final indica que la ejecución ha terminado. En UML el estado final se representa como un círculo relleno dentro de una circunferencia. Estado Final Transición La transición representa el cambio del flujo de control de una actividad a otra. MODELADO DE SISTEMAS CON UML Diagramas de Actividad – Notación (3) Actividad 1 División Actividad 2 Una división representa la separación de un flujo de control sencillo en varios flujos de control concurrentes. Actividad 3 Unión Actividad 4 Una unión representa la sincronización de varios flujos de control concurrentes en un flujo de control sencillo. MODELADO DE SISTEMAS CON UML Diagramas de Actividad – Carriles (Swimlanes) INVOLUCRADO 1 INVOLUCRADO 2 Actividad 1 Actividad 2 Actividad 3 Un carril puede ser eventualmente implementado por una unidad organizacional o un conjunto de clases. El orden relativo de los carriles no tiene un significado. Cada actividad es asignada a un carril y las transiciones pueden atravesar carriles.. Carriles MODELADO DE SISTEMAS CON UML Diagramas de Actividad – Carriles (Swimlanes) Los diagramas de actividad mediante los “swimlanes o carriles” muestra además de qué pasa, quién lo hace Se indican con una línea vertical que separa el diagrama en zonas. Cada zona representa una clase, persona o departamento en particular Utilidad Desde la perspectiva de la implementación, permite representar qué clase es responsable de qué actividad Desde el punto de vista de dominio, permite representar qué persona o departamento es responsable de qué actividad MODELADO DE SISTEMAS CON UML Diagramas de Actividad Es una extensión a la semántica de UML. Representa un comportamiento interno del sistema. Pueden tener ESTADOS DE ACCIÓN Que representan la ejecución de una acción. Estos estados no se pueden descomponer, es decir, son atómicos. Pueden representar cálculos y el tiempo de ejecución es insignificante. Pueden tener ESTADOS DE ACTIVIDAD Que representan la ejecución de actividades. Estos estados se descomponen en estados de actividad y en estados de acción. No son atómico, pueden ser descompuestos y toma algún tiempo de ejecución para completarlo. MODELADO DE SISTEMAS CON UML Diagramas de Actividad - Ejemplo Seleccionar obra Programar obra Anunciar obra Comprar guiones y música Contratar artistas Comprar equipos Vender entradas Ensayar Ensayo general Representar la obra Diseñar iluminación Hacer vestuario MODELADO DE SISTEMAS CON UML Buscar Bebida [hay refresco] [hay café] Poner café en filtro [no hay refresco] [no hay café] Añadir agua al depósito Tomar taza Tomar refresco Poner filtro en máquina Encender máquina ^cafetera.On Café en preparación Servir café Beber MODELADO DE SISTEMAS CON UML Diagramas de Actividad - Triggers Actividad 1 Trigger 1 AND Trigger 2 2 1 3 Trigger 3 Actividad 1 Trigger 1 OR Trigger 3 Actividad 2 Trigger 2 Actividad 2 2 1 Actividad 3 MODELADO DE SISTEMAS CON UML Diagramas de Actividad - Objetos Se pueden especificar los objetos implicados en un modelo de actividades colocándolos en el diagrama, conectados con una dependencia a la actividad que los crea, los destruye o los modifica. El uso de relaciones de dependencia y de objetos se denomina flujo de objetos, porque representa la participación de un objeto en un flujo de control. . MODELADO DE SISTEMAS CON UML Diagramas de Actividad - Objetos Un flujo de objetos que parte desde una actividad a un objeto significa que la actividad crea o modifica ese objeto. Actividad 1 [ Objeto] Actividad 2 Un flujo de objetos que va desde un objeto a una actividad indica que la actividad usa el objeto. Actividad 1 [ Objeto] Actividad 2 MODELADO DE SISTEMAS CON UML Diagramas de Actividad - ¿Cuándo utilizarlos? Típicamente son usados para modelar flujos de trabajo, procesos de negocio y operaciones internas. La gran utilidad de los diagramas de actividades reside en que manejan y promueven el comportamiento en paralelo; no obstante algunos consideran que no están orientados a objetos. Se sugiere utilizarlos en: El análisis de un caso de uso En la comprensión del flujo de trabajo a través de numerosos casos de uso Aplicaciones multihilos MODELADO DE SISTEMAS CON UML Diagramas de Actividad - ¿Cuándo utilizarlos? Es útil para mostrar aspectos internos del comportamiento de sistemas dinámicos. Es útil para mostrar comportamientos significativos internos del sistema. De manera práctica, modele los Diagramas de Actividad sólo cuando se necesite mostrar un comportamiento significativo interno del sistema. NO se sugiere utilizarlos para: Ver cómo colaboran los objetos Ver el comprtamiento de un objeto MODELADO DE SISTEMAS CON UML Bibliografía y Referencias BIBLIOGRAFÍA Y REFERENCIAS •Orientación a Objetos Booch, Grady. Análisis y diseño orientado a objetos, 2ª Edición México, Addison-Wesley Iberoamericana. 1996. Jacobson, Ivar. Object oriented software engineering. EE.UU, Addison-Wesley. 1994. Rumbaugh, James y otros. Object oriented modeling and design. EE.UU, Prentice-Hall. 1991. BIBLIOGRAFÍA Y REFERENCIAS •Proceso de Desarrollo Unificado Jacobson, Ivar. El Proceso Unificado de Desarrollo de Software España, Addison-Wesley Iberoamericana. 2000. BIBLIOGRAFÍA Y REFERENCIAS •UML Booch, Grady. El Lenguaje Unificado de Modelado España, Addison-Wesley Iberoamericana. 1999. Booch, Grady. El Lenguaje Unificado de Modelado. Manual de Referencia España, Addison-Wesley Iberoamericana. 1999. Fowler, Martin UML Gota a Gota México, Addison-Wesley, 1999. BIBLIOGRAFÍA Y REFERENCIAS •Ligas de interés Objetct Management Group http://www.omg.org/technology/uml/index.htm Rational Software Corporation http://www.rational.com/uml Cetus Links - Object-Orientation http://www.cetus-links.org The Object Agency http://www.toa.com The Object-Oriented Page http://www.well.com/user/ritchie/oo.html Sinan Si Alhir’s Web Site http://home.earthlink.net/~salhir/ Object Orientation Tips http://ootips.org/