SECUENCIA Y DESPLIEGUE EN UML Introduccin a UML 2 Diagramas en UML El bloque de construccin bsico de UML es un Diagrama Introduccin a UML 3 Diagrama de Objetos en UML Se utilizan para visualizar, especificar, construir y documentar la existencia de ciertas instancias de elementos contenidos en los diagramas de clases.
En general los diagramas de objetos se utilizan para modelar estructuras de objetos, lo que implica tomar una instantnea de los objetos de un sistema en un cierto momento.
Los diagramas de objetos se emplean para modelar la vista de diseo esttica o la vista de procesos esttica de un sistema al igual que se hace con los diagramas de clases, pero desde la perspectiva de instancias reales o prototpicas.
En un diseo podemos encontrar varios diagramas de objetos, cada uno de ellos representando diferentes estados del sistema. Introduccin a UML 4 Diagrama de Objetos: Sistema de Alquiler de Vehculos Introduccin a UML 5 Diagrama de Secuencia en UML Muestra los objetos que se encuentran en el escenario y la secuencia de mensajes (es decir la forma en que se invocan) intercambiados entre los objetos para llevar a cabo la funcionalidad descrita por el escenario.
El diagrama de secuencia describe la dinmica del sistema. A menos que se modele un sistema muy pequeo, resulta difcil representar toda la dinmica de un sistema en un nico diagrama. Por tanto, la dinmica completa se representar mediante un conjunto de diagramas de secuencia, cada uno de ellos vinculado generalmente a una subfuncin del sistema.
Los diagramas de secuencia ponen especial nfasis en el orden y el momento en que se envan los mensajes a los objetos.
El diagrama de secuencia forma parte del modelado dinmico del sistema. Se modelan las llamadas entre clases desde un punto concreto del sistema. Es til para observar la vida de los objetos en sistema, identificar llamadas a realizar o posibles errores del modelado esttico, que imposibiliten el flujo de informacin o de llamadas entre los componentes del sistema. Introduccin a UML 6 Diagrama de Secuencia en UML En el diagrama de secuencia se muestra el orden de las llamadas en el sistema. Se utiliza un diagrama para cada llamada a representar. Es imposible representar en un solo diagrama de secuencia todas las secuencias posibles del sistema, por ello se escoge un punto de partida.
En los diagramas de secuencia, los objetos estn representados por lneas intermitentes verticales, con el nombre del objeto en la parte superior. El eje de tiempo tambin es vertical, incrementndose hacia abajo, de forma que los mensajes son enviados de un objeto a otro en forma de flechas con los nombres de la operacin y los parmetros.
Los diagramas de secuencia, formalmente diagramas de traza de eventos o de interaccin de objetos, se utilizan con frecuencia para validar los casos de uso; es decir, documentan el diseo desde el punto de vista de los casos de uso. Observando qu mensajes se envan a los objetos, componentes o casos de uso y viendo a grosso modo cuanto tiempo consume el mtodo invocado, los diagramas de secuencia nos ayudan a comprender los cuellos de botella potenciales, para as poder eliminarlos. Introduccin a UML 7 Diagrama de Secuencia en UML Los conceptos ms importantes relacionados con los diagramas de secuencia son:
Lnea de vida de un objeto (lifeline): Representa la vida del objeto durante la interaccin. En un diagrama de secuencia un objeto se representa como una lnea vertical punteada con un rectngulo de encabezado y con rectngulos a travs de la lnea principal que denotan la ejecucin de mtodos (activacin). El rectngulo de encabezado contiene el nombre del objeto y el de su clase, en un formato nombreObjeto : nombreClase). Activacin: Muestra el perodo de tiempo en el cual el objeto se encuentra desarrollando alguna operacin, bien sea por s mismo o por medio de delegacin a alguno de sus atributos. Se denota como un rectngulo delgado sobre la lnea de vida del objeto. Caminos alternativos de ejecucin y concurrencia: En algunos casos sencillos los caminos alternativos pueden expresarse en un diagrama de secuencias alternativas de ejecucin. Estas alternativas pueden representar condiciones en la ejecucin o diferentes hilos de ejecucin (threads). Destruccin de un objeto Se representa como una X al final de la lnea de ejecucin del objeto. Mtodos recursivos: Es un rectngulo adyacente a la activacin principal y con lneas de llamada de mensajes, que indican la entrada y salida de la recursin.
Introduccin a UML 8 Diagrama de Secuencia en UML Mensaje: El envo de mensajes entre objetos se denota mediante una lnea slida dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta. Existen diferentes tipos de envos de mensajes. El mensaje sincrnico es el utilizado con mayor frecuencia. Su uso significa que el expedidor del mensaje espera que la activacin del mtodo mencionado por el destinatario finalice antes de continuar su actividad. En los mensajes asincrnicos, el expedidor no espera el trmino de la activacin invocada por el destinatario. Esto se produce al modelar sistemas en los que los objetos pueden funcionar en paralelo (es el caso de los sistemas multi-thread, donde los tratamientos se efectan en paralelo).
Introduccin a UML 9 Ejemplo: Diagrama de Secuencia: Realizar Registro Introduccin a UML 10 Ejemplo: Diagrama de Secuencia: Realizar Reserva Introduccin a UML 11 Diagrama de Despliegue en UML Un diagrama de despliegue es un diagrama que muestra la configuracin de los nodos que participan en la ejecucin y de los componentes que residen en ellos. Los diagramas de despliegue se utilizan para modelar la vista de despliegue esttica de un sistema. Esto implica modelar la topologa del hardware sobre el que se ejecuta el sistema. Un diagrama de despliegue muestra las relaciones fsicas entre los componentes hardware y software en el sistema final, es decir, la configuracin de los elementos de procesamiento en tiempo de ejecucin y los componentes software (procesos y objetos que se ejecutan en ellos). Estarn formados por instancias de los componentes software que representan manifestaciones del cdigo en tiempo de ejecucin (los componentes que slo sean utilizados en tiempo de compilacin deben mostrarse en el diagrama de componentes). Un diagrama de despliegue es un grafo de nodos unidos por conexiones de comunicacin. Un nodo puede contener instancias de componentes software, objetos, procesos (caso particular de un objeto). Introduccin a UML 12 Diagrama de Despliegue en UML Algunos de los usos que se les da a los diagramas de despliegue son para modelar: Sistemas empotrados: Un sistema empotrado es una coleccin de hardware con una gran cantidad de software que interacta con el mundo fsico. Sistemas cliente-servidor: Los sistemas cliente-servidor son un extremo del espectro de los sistemas distribuidos y requieren tomar decisiones sobre la conectividad de red de los clientes a los servidores y sobre la distribucin fsica de los componentes software del sistema a travs de nodos. Sistemas completamente distribuidos: En el otro extremo encontramos aquellos sistemas que son ampliamente o totalmente distribuidos y que normalmente incluyen varios niveles de servidores. Tales sistemas contienen a menudo varias versiones de componentes software, alguno de los cuales pueden incluso migrar de un nodo a otro. El diseo de tales sistemas requiere tomar decisiones que permitan un cambio continuo de la topologa del sistema.
Introduccin a UML 13 Ejemplo: Diagrama de Despliegue del Sistema de Alquiler de Vehculos