Diagrama de secuencia - DSS ( diagrama de secuencia del sistema)

Los diagramas de clases y los de objetos representan información estática. No obstante, en un sistema funcional, los objetos interactúan entre sí, y tales interacciones suceden con el tiempo. El diagrama de secuencias UML muestra la mecánica de la interacción con base en tiempos. 

Modelado dinámico / Propósito

  • Captar el comportamiento de los objetos identificados en el modelo de clase.
  • Identificar los elementos básicos del comportamiento:


    • Eventos.
    • Estados.
    • Transiciones de estados.
    • Funciones (acciones, actividades, servicios).
  • Completar el diagrama de clases. 


Los Diagramas de Secuencia  son usados para describir gráficamente un caso de uso o un escenario.

Muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos.

Los mensajes son dibujados cronológicamente desde arriba hacia abajo.
Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos.




Hay un (al menos) diagrama de secuencia para cada caso de uso.

Componenetes

Objetos: Son representados usualmente en forma de rectángulos con nombre y subrayado, se colocan cerca de la parte superior del diagrama de izquierda a derecha y se acomodan de forma que simplifiquen el diagrama, están acompañados de una línea discontinua que representa la línea de vida de un objeto. Sobre la línea discontinua se ubica una barra llamada barra de activación que interpreta la duración de activación del objeto.

Mensajes: Los mensajes son enviados de una línea de vida a otra aunque también se pueden enviar a sí mismo. Los mensajes pueden ser simple, síncronos o asíncronos, el simple es la trasferencia de control de un objeto a otro, el síncrono espera respuesta a un mensaje para poder continuar y el asíncrono no necesita saber si el mensaje que envió es respondido o no, la diferencia gráfica radica en la punta de la flecha.

Tiempo: el diagrama representa el tiempo desde arriba hacia abajo en dirección vertical. El diagrama de secuencia tiene dos dimensiones, la horizontal que es la disposición de los objetos y la vertical que muestra el paso del tiempo.







El DSS, muestra la secuencia de mensajes entre objetos durante un escenario concreto, se genera para el estudio de un caso de uso.
Cada objeto viene dado por una barra vertical.
El tiempo transcurre de arriba abajo.
Cuando existe demora entre el envío y la atención se puede indicar usando una línea oblicua.

Destrucción de Objetos

Los objetos del diagrama, pueden ser eliminados tempranamente usando una flecha etiquetada "<>" que apunta a una X.




Loops
Una repetición o loop en un diagrama de secuencias, es representado como un rectángulo. La condición para abandonar el loop se coloca en la parte inferior entre corchetes [ ]. 



Es cierto que existen muchos modelos de diagramas de casos pero para escoger un modelo se debe analizar la situación que se desea reflejar para elegir el tipo de diagrama y realizar el modelado.

Es importante recordar que los diagramas de secuencia son diagramas de comportamiento, por lo tanto este tipo de diagrama es ideal para representar de forma exacta y ordenada el comportamiento completo de un escenario plateado, es por esto que generalmente se utilizan en casos en que se necesite solucionar un problema ya que estos permiten observar de forma clara y precisa lo que pasa en dicho escenario

Para la elaboración de un diagrama de secuencia se debe tener en cuenta los pasos para realizar el modelado, lo primero que se debe hacer es analizar el problema, luego identificar los actores, clases y mensajes se van a pasar de un objeto a otro, y finalmente culminado lo anterior se pasa a la fase de modelado.


Recursos

Descargar DOCx Hora 9

Descargar PPTx Hora 9
Diagramas de secuencia

Recursos

Descargar DOCx Hora 9
Descargar PPTx Hora 9

Entre los diagramas para representar comportamiento, se destacan los diagramas que hacen énfasis en aspectos de interacción entre los objetos. A ésta clasificación pertenecen  los diagramas de secuencia.  

El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según UML. Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso.

Permite modelar en detalle de los escenarios en el funcionamiento de una aplicación , incluyendo a los actores de la misma (objetos), como así también la secuencia de interacciones entre distintos objetos para lograr alguna tarea ya sea un escenario de un caso de uso, la lógica de un método o la lógica de un servicio.

Estructura

Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria.

Notación




Se examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Si se dispone de la descripción de cada caso de uso como una secuencia de varios pasos, entonces se puede "caminar sobre" esos pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. 
Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.

Ejemplo: Diagrama de secuencia a partir de un DCU



Requerimientos / DCU / ¿Qué debe hacer el sistema?

Los Diagramas de Secuencias muestran la forma en que un grupo de objetos se comunican (interactúan) entre sí a lo largo del tiempo.

Un Diagrama de Secuencia consta de objetos, mensajes entre estos objetos y una línea de vida, mensajes entre estos objetos y una línea de vida del objeto representada por una línea vertical.


Tipos de mensajes

Existen dos tipos de mensajes: síncronos y asíncronos.

Los mensajes síncronos se corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la punta rellena. 
Los mensajes asíncronos terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la punta hueca.
También se representa la respuesta a un mensaje con una flecha discontinua.

Pueden ser usados en dos formas


  • De instancia: describe un escenario específico (un escenario es una instancia de la ejecución de un caso de uso).
  • Genérico: describe la interacción para un caso de uso. 



Para resguardar la condición de regular, los sgtes. alumnos deberán entregar el
día miércoles 25/09/19, el sgte. TP sobre diagrama de actividades.  Se evaluará la
exposición oral sobre el tema desarrollado en las clases 31 a 35.





Se encuentran afectados:


    RUIZ, Agostina
    BELIZAN, Silvia
    BONFIETTI, Melina


Acceder al recurso: 
https://drive.google.com/file/d/1Y5ulUrbm8w-pLVgK1awFkMd9GeUDFb9r/view

Recursos previos

Descargar DOCx Hora 11

Descargar PPTx Hora 11



Diagrama de Actividades

El Diagrama de Actividad es una especialización del Diagrama de Estado, organizado respecto de las acciones.

Describe un sistema desde el punto de vista de las actividades. Dichas actividades son la representación de la ejecución de un conjunto de operaciones.

Los Diagramas de Actividades son utilizados para especificar:

  • Un Método
  • Un caso de uso
  • Un proceso de negocio (Workflow)

Un diagrama de actividad es utilizado en conjunción de un diagrama caso de uso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos.

Componentes

  • Inicio: El inicio de un diagrama de actividad es representado por un círculo de color negro sólido. Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo. 
  • Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una línea con una flecha en su terminación para indicar dirección.
  • Ramificación (Branch): Una ramificación ocurre cuando existe la posibilidad que ocurra más de una transición (resultado) al terminar determinada actividad. Este elemento es representado a través de un rombo.
  • Unión (Merge): Una unión ocurre al fusionar dos o más transiciones en una sola transición o actividad. Este elemento también es representado a través de un rombo 
  • Fork: Un fork representa una necesidad de ramificar una transición en más de una posibilidad. Aunque similar a una ramificación (Branch) la diferencia radica en que un fork representa más de una ramificación obligada, esto es, la actividad debe proceder por ambos o más caminos, mientras que una ramificación (Branch) representa una transición u otra para la actividad (como una condicional). Un fork es representado por una línea negra sólida, perpendicular a las líneas de transición . 
  • Fin: El fin de un diagrama de actividad es representado por un círculo, con otro circulo concéntrico de color negro sólido.

Respecto a los diagramas de flujo,  su similitud radica en que ambos pueden ser utilizados para representar un flujo de control (es decir, el orden en que suceden las operaciones) y el flujo de datos ( que son los objetos que se intercambian en las operaciones).


Características de los diagramas de actividad 


  • Un diagrama de actividades es provechoso para entender el comportamiento de alto nivel de la ejecución de un sistema, sin profundizar en los detalles internos de los mensajes. Los parámetros de entrada y salida de una acción se pueden mostrar usando las relaciones de flujo que conectan la acción y un estado de flujo de objeto. 
  • Un grafo de actividades contiene estados de actividad que representa la ejecución de una secuencia en un procedimiento, o el funcionamiento de una actividad en un flujo de trabajo. En vez de esperar un evento, como en un estado de espera normal, un estado de actividad espera la terminación de su cómputo. Cuando la actividad termina, entonces la ejecución procede al siguiente estado de actividad dentro del diagrama. 
  • Un grafo de actividades puede contener también estados de acción, que son similares a los de actividad pero son atómicos y no permiten transiciones mientras están activos. Los estados de acción se deben utilizar para las operaciones cortas de mantenimiento. 
  • Un diagrama de actividades puede contener bifurcaciones, así como divisiones de control en hilos concurrentes. los hilos concurrentes representan actividades que se pueden realizar concurrentemente por los diversos objetos o personas. La concurrencia se representa a partir de la agregación, en la cual cada objeto tiene su propio hilo. Las actividades concurrentes se pueden realizar simultáneamente o en cualquier orden. 


Representaciones 

Un estado de actividad se representa como una caja con los extremos redondeados que contiene una descripción de actividad. Las transacciones simples de terminación se muestran como flechas. Las ramas se muestran como condiciones de guarda en transiciones o como diamantes con múltiples flechas de salida etiquetadas. Una división o una unión de control se representa con múltiples flechas que entran o salen de la barra gruesa de sincronización.




Ejercicio: Traducir las operaciones indicadas en la sgte. ficha de documentación del caso de uso "Añadir nuevo enlace" a un diagrama de actividades.




Para resguardar la condición de regular, los sgtes. alumnos deberán entregar el día miércoles 25/09/19, el sgte. TP sobre diagrama de actividades.  Se evaluará la exposición oral sobre el tema desarrollado en las clases 31 a 35.

Se encuentran afectados:


    RUIZ, Agostina
    BELIZAN, Silvia
    BONFIETTI, Melina
Recursos

Descargar DOCx Hora 11
Descargar PPTx Hora 11
Escuela cerrada por duelo
UML / Modelos / Diagramas

Un modelo representa a un sistema software desde una perspectiva específica. Al igual que la planta y el alzado de una figura en dibujo técnico nos muestran la misma figura vista desde distintos ángulos, cada modelo nos permite fijarnos en un aspecto distinto del sistema.
Un diagrama es una presentación gráfica de un conjunto de elementos, que la mayoría de las veces se dibuja como un conjunto de elementos relacionados. Los diagramas se utilizan para representar un sistema desde diferentes perspectivas, por esto UML ha definido varios diagramas que permiten centrarse en diferentes aspectos del sistema de manera independiente.

Un diagrama es una proyección gráfica de los elementos que configuran un sistema. Por ejemplo, se podría tener cientos de clases en el diseño de un sistema de recursos humanos de un empresa, pero no se podría ver la estructura o el comportamiento de ese sistema observando un gran diagrama con todas sus clases y relaciones, es entonces preferible realizar varios diagramas que especifiquen las vistas relevantes solamente a ese subsistema definido, este tipo de manejo de diagramas representativos por clases permite realizar agrupaciones que muestran el funcionamiento general del sistema de forma particular pero denotando el funcionamiento general del sistema con todos sus elementos constitutivos.

Con el modelado de sistemas se obtienen deferentes tipos de vistas, las vistas estáticas de los sistemas en UML se representan con 4 tipos de diagramas que se describen a continuación:

Diagramas Estructurales
Los cuales comprenden los siguientes diagramas:

Diagramas de Clases
Representa un conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas. Los diagramas de clases los diagramas más comunes en el modelado de sistemas orientados a objetos. Estos diagramas se utilizan para describir las vista de diseño estática de un sistema, incluyen clases activas se utilizan para cubrir la vista de procesos estática de un sistema

Diagramas de Objetos
Representa un conjunto de objetos y sus relaciones. Se utiliza para describir estructuras de datos y las instancias de los elementos encontrados en los diagramas de clases. Cubren la vista de diseño estática o la vista de proceso estática de un sistema al igual que los diagramas de clases. Pero desde la perspectiva de casos reales prototipos.

Diagramas de Componentes
Muestra un conjunto de componentes y relaciones, se utilizan para describir la vista de implementación estática de un sistema, se relacionan con los diagramas de clases en que un componente normalmente se corresponde con una o más clases. Interfaces o colaboraciones

Diagramas de Despliegue
Muestra un conjunto de nodos y sus relaciones, se utilizan para describir la vista de despliegue estática de una arquitectura, se relacionan con los diagramas de componentes en que un nodo normalmente incluye uno o más componentes.

Las vistas dinámicas en UML se representan con los diagramas que se describen a continuación:

Diagramas de Comportamiento
Los cuales están compuestos por los siguientes diagramas

Diagramas de Casos de uso
En el modelado orientado a objetos los diagramas de casos de uso, son los que representan en general el funcionamiento del sistema siendo estos los más utilizados como base del desarrollo de un modelo real, representan casos de uso, actores y relaciones, se utilizan especialmente para organizar y modelar el comportamiento de un sistema.

Diagramas de Secuencia
Es un diagrama de interacción que resalta la ordenación temporal de los mensajes, este presenta un conjunto de objetos y los mensajes enviados por ellos. Los objetos suelen ser instancias con nombre, pueden representar instancias de otros elementos, tales como colaboraciones, componentes y nodos, se utilizan para describir la vista dinámica de un sistema.

Diagramas de Colaboración
Son diagramas de interacción que resalta la organización estructural de los objetos que envían y reciben mensajes, pueden representar instancias de otros elementos como colaboraciones, componentes y nodos. Se utilizan para describir la vista dinámica de un sistema.

Diagramas de Estado
Representan una máquina de estados constituida por estados, transacciones, eventos y actividades, se utilizan para representar la vista dinámica de un sistema son especialmente importantes para modelar el comportamiento de una interfaz, clase o una colaboración, resaltan en comportamiento dirigido por eventos de un objeto.

Diagrama de Actividades
Muestra el flujo de actividades en un sistema, muestra el flujo secuencial o ramificado de actividades y los objetos en los que actúa, son importantes para modelar la función de un sistema así como para resaltar el flujo de control entre objetos

Diagramas de Actividades / Activity Diagrams

Recursos

Descargar DOCx Hora 11
Descargar PPTx Hora 11

Un diagrama de actividades muestra el flujo de actividades, siendo un actividad una ejecución general entre los objetos que se está ejecutando en un momento dado dentro de una máquina de estados, el resultado de un actividad es una acción que producen un cambio en el estado del sistema o la devolución de un valor. Las acciones incluyen llamadas a otras operaciones, envío de señales, creación o destrucción de objetos o simples cálculos. Gráficamente un diagrama de actividades será un conjunto de arcos y nodos. Desde un punto de vista conceptual, el diagrama de actividades muestra cómo fluye el control de unas clases a otras con la finalidad de culminar con un flujo de control total que se corresponde con la consecución de un proceso más complejo. Por este motivo, en un diagrama de actividades aparecerán acciones y actividades correspondientes a distintas clases. Colaborando todas ellas para conseguir un mismo fin. Ejemplo: Hacer un pedido.

Contenido del diagrama de actividades

Básicamente un diagrama de actividades contiene:
  • Estados de actividad
  • Estados de acción
  • Transiciones
  • Objetos
Estados de actividad y estados de acción

La representación de ambos es un rectángulo con las puntas redondeadas, en cuyo interior se representa bien una actividad o bien una acción. La forma de expresar tanto una actividad como una acción, no queda impuesta por UML, se podría utilizar lenguaje natural, una especificación formal de expresiones, un metalenguaje, etc. La idea central es la siguiente: “Un estado que represente una acción es atómico, lo que significa que su ejecución se puede considerar instantánea y no puede ser interrumpida”, Al igual que en el diagrama de estados, el de actividad cuenta con un punto inicial (representado por un círculo) y uno final (representado como dos círculos concéntricos). En la siguiente figura, podemos ver ejemplos de estados de acción.

Figura 46: Estados de Acción

En cambio un estado de actividad, sí puede descomponerse en más sub- actividades representadas a través de otros diagramas de actividades. Además estos estados sí pueden ser interrumpidos y tardan un cierto tiempo en completarse. En los estados de actividad podemos encontrar otros elementos adicionales como son: acciones de entrada (entry) y de salida (exit) del estado en cuestión, así como definición de submáquinas, como podemos ver en la figura siguiente:




Figura 47: Submaquinas

Transiciones

Las transiciones reflejan el paso de un estado a otro, bien sea de actividad o de acción. Esta transición se produce como resultado de la finalización del estado del que parte el arco dirigido que marca la transición. Como todo flujo de control debe empezar y terminar en algún momento, podemos indicar esto utilizando dos disparadores de inicio y fin tal y como queda reflejado en el ejemplo siguiente.


                                                                                 Figura 48: Transiciones

Bifurcaciones

Un flujo de control no tiene porqué ser siempre secuencial, puede presentar caminos alternativos. Para poder representar dichos caminos alternativos o bifurcación se utilizará como símbolo el rombo. Dicha bifurcación tendrá una transición de entrada y dos o más de salida. En cada transición de salida se colocará una expresión booleana que será evaluada una vez al llegar a la bifurcación, las guardas de la bifurcación han de ser excluyentes y contemplar todos los casos ya que de otro modo la ejecución del flujo de control quedaría interrumpida. Para poder cubrir todas las posibilidades se puede utilizar la palabra ELSE, para indicar una transición obligada a un determinado estado cuando el resto de guardas han fallado. Veamos un ejemplo de bifurcación.



Figura 49: Bifurcaciones

División y unión

No sólo existe el flujo secuencial y la bifurcación, también hay algunos casos en los que se requieren tareas concurrentes. UML representa gráficamente el proceso de división, que representa la concurrencia, y el momento de la unión de nuevo al flujo de control secuencial, por una línea horizontal ancha. Podemos ver cómo se representa gráficamente.




Figura 50: División y unión

Calles

Cuando se modelan flujos de trabajo de organizaciones, es especialmente útil dividir los estados de actividades en grupos, cada grupo tiene un nombre concreto y se denominan calles. Cada calle representa a la parte de la organización responsable de las actividades que aparecen en esa calle. Gráficamente quedaría como se muestra a continuación.


Figura 51: Calles






Diagramas de Actividades / Activity Diagrams

Recursos

Descargar DOCx Hora 11


Descargar PPTx Hora 11


Un diagrama de Actividad demuestra la serie de actividades que deben ser realizadas en un uso-caso, así como las distintas rutas que pueden irse desencadenando en el uso-caso.




Es importante recalcar que aunque un diagrama de actividad es muy similar en definición a un diagrama de flujo (típicamente asociado en el diseño de Software), estos no son lo mismo. Un diagrama de actividad es utilizado en conjunción de un diagrama uso-caso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos.Lo anterior, en contraste con un diagrama de flujo que ayuda a un programador a desarrollar código a través de una descripción lógica de un proceso. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución.


Composición

            
  • Inicio: El inicio de un diagrama de actividad es representado por un círculo de color negro sólido.
  • Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo.
  • Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una linea con una flecha en su terminación para indicar dirección.


  • Ramificación  / Decisión (Branch) : Una ramificación ocurre cuando existe la posiblidad que ocurra más de una transición (resultado) al terminar determinada actividad.Este elemento es representado a través de un rombo.
  • Unión (Merge) : Una unión ocurre al fusionar dos o más transiciones en una sola transición o actividad.Este elemento también es representado a través de un rombo.
  • Expresiones Resguardadas (Guard Expressions) : Una expresió resguardada es utilizada para indicar una descripción explicita acerca de una transición. Este tipo de expresión es representada mediante corchetes ([...] y es colocada sobre la linea de transición.
       
  •  Fork : Un fork representa una necesidad de ramificar una transición en más de una posibilidad. Aunque similar a una ramificación (Branch) la diferencia radica en que un fork representa más de una ramificación obligada, esto es, la actividad debe proceder por ambos o más caminos, mientras que una ramificación (Branch) representa una transición u otra para la actividad (como una condicional). Un fork es representado por una linea negra solida, perpendicular a las lineas de transición .


  • Join : Una join ocurre al fusionar dos o más transiciones provenientes de un fork, y es empleado para dichas transiciones en una sola,tal y como ocurria antes de un fork .Un fork es representado por una linea negra solida, perpendicular a las lineas de transición .
  • Fin : El fin de un diagrama de actividad es representado por un círculo, con otro circulo concentrico de color negro sólido.
  • Canales (Swimlanes) : En determinadas ocasiones ocurre que un diagrama de actividad se expanda a lo largo de más de un entidad o actor, cuando esto ocurre el diagrama de actividad es particionada en canales (swimlines), donde cada canal representa la entidad o actor que esta llevando acabo la actividad.
Es decir, en UML un diagrama de actividades se usa para graficar una  secuencia de actividades. Muestran el flujo de trabajo desde el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que existen en el progreso de eventos contenidos en la actividad. 

Estos también pueden usarse para detallar situaciones donde el proceso paralelo puede ocurrir en la ejecución de algunas actividades. Son útiles para el Modelado de Negocios donde se usan para detallar el proceso involucrado en las actividades de negocio.





La imagen puede contener: una o varias personas e interior


Desarrollo Web: Sitio institucional

Plan de negocio: Estrategia, análisis del mercado, plan de acción. Implementación de la propuesta de negocio. Visión, plan de crecimiento.

Nuestros emprendedores transforman economías, fomentan la creación de empleo e inspiran a las nuevas promociones de estudiantes!



Felicitaciones a Ezequiel y Gianluca por la exposición!

Trabajo de campo: Relevamiento in situ. Ver lista de preguntas.
Temario
Diagramas UML: Casos de uso, clases, objetos y estados. Ver texto.

Lista de alumnos aprobados
BONFIETTI, Melina
CALLEJAS BORETTO, Nicolas
OCAMPO, Felipe
RUIZ, Agostina
SOLDO, Emanuel
SOTTI, Santiago





Sin alumnos - Parcial Estadística

 
|