jueves, 8 de diciembre de 2016

Diagrama de Estado

En el diagrama de estados se indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustra qué eventos pueden cambiar el estado de los objetos de la clase. En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones.

Eventos (2)

Un evento es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una:
·         Condición que toma el valor de verdadero (normalmente descrita como una expresión booleana). Es un EventoCambio.
·         Recepción de una señal explícita de un objeto a otro. Es un EventoSeñal.
·         Recepción de una llamada a una operación. Es un EventoLlamada.
·         paso de cierto período de tiempo, después de entrar al estado actual, o de cierta hora y fecha concretas. Es un EventoTiempo.
El nombre de un evento tiene alcance dentro del paquete en el cual está definido y puede ser usado en los diagramas de estado por las clases que tienen visibilidad dentro del paquete. Un evento no es local a la clase donde está declarado.

Acciones

Una acción es una operación atómica, que no se puede interrumpir por un evento y que se ejecuta hasta su finalización. Una acción puede ser:
·         Una llamada a una operación (al objeto al cual pertenece el diagrama de estado o también a otro objeto visible),
·         La creación o la destrucción de otro objeto,
·         El envío de una señal a un objeto.


Actividades

Cuando un objeto está en un estado, generalmente está esperando a que suceda algún evento. Sin embargo, a veces, queremos modelar una actividad que se está ejecutando. Es decir, mientras un objeto está en un estado, dicho objeto realiza un trabajo que continuará hasta que sea interrumpido por un evento.
Por lo tanto, una acción contrasta con una actividad, ya que ésta última puede ser interrumpida por otros eventos.

Transición (3)

Transición Simple

Una transición simple es una relación entre dos estados, indicando que un objeto del primer estado entrará en el segundo estado y realizar ciertas operaciones cuando ocurra un evento dado si determinadas condiciones se cumplen.
·         El disparador de la transición es la ocurrencia del evento que etiquetando la transición.
·         El evento podría tener parámetros, que se utilizarán en las acciones especificadas en la transición o en las acciones iniciadas en el siguiente estado.
·         Los eventos se procesan de forma exclusiva en cada momento, (nunca concurrentemente).
·         Si un evento no disparara ninguna transición, simplemente se ignora.
Las transiciones se representan por una flecha sólida que va de un estado a otro, etiquetada por un string de transición con el siguiente formato: signatura del evento ‘[‘condición guardián] ‘/’ expresión de acción
·         La signatura del evento describe el evento y sus argumentos: nombre del evento ‘(‘parámetro ‘,’... ‘)’
·         La condición guardián es una expresión lógica escrita en términos de los parámetros del evento disparado, y de los atributos y enlaces del objeto al que pertenece la máquina de estados.
·        La expresión de acción es una expresión procedural que se ejecuta cuando la transición se dispara; esta expresión se escribe en términos de operaciones, atributos, y enlaces del objeto al que pertenecen, y de parámetros del evento disparado.


Transición Compleja

•Una transición general puede tener múltiples estados fuente y múltiples estados destino.
•Representa una sincronización de threads concurrentes
•A través de ramas and/or.
•Cada uno de los threads no tendrían a su vez subestados concurrentes

En conclusion, a todos los diagramas UML se les debe de dar un gran importancia, ya que nos sirve para poder presentar mejor nuestros proyecto y asi puedan ser evaluados y a su vez aceptados. Aun asi con este video sabremos mas sobre los diagramas de estado y sus elementos.




Diagrama de Colaboracion

Un Diagrama de Colaboración describe en forma de un grafo el comportamiento de sistemas, subsistemas y operaciones, representando los objetos que intervienen, así como los mensajes que intercambian, enumerados en el tiempo. Un diagrama de colaboración es un tipo de diagrama que muestra las interacciones entre objetos organizadas y enlazados entre ellos.
Los diagramas de colaboración muestran las interacciones que ocurren entre los objetos que participan en una situación determinada. Esta es más o menos la misma información que la mostrada por los diagramas de secuencia, pero destacando la forma en que las operaciones se producen en el tiempo, mientras que los diagramas de colaboración fijan el interés en las relaciones entre los objetos y su topología.

En cuanto a la representación, un Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre los mismos, y con los mensajes que se intercambian dichos objetos. Los mensajes son flechas que van junto al enlace por el que “circulan”, y con el nombre del mensaje y los parámetros (si los tiene) entre paréntesis. Cada mensaje lleva un número de secuencia que denota cuál es el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no lleva número de secuencia.

Consiste en:
*Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común.

*Consiste especificar un contrato entre objetos

*Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace".


Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere).

En este video se explica mejor los diagramas de colaboracion: