Curso de UML
Actividad 7 Diagrama de estado
Dra. Anaisa Hernández González
• Los Diagramas de Estados representan autómatas de estados finitos, desde el punto de vista de los estados y las transiciones
• Son útiles sólo para los objetos con un comportamiento significativo.
• Cada objeto está en un estado en cierto instante El estado está caracterizado parcialmente por los
valores algunos de los atributos del objeto El estado en el que se encuentra un objeto
determina su comportamiento Cada objeto sigue el comportamiento descrito en
el Diagrama de Estados asociado a su clase
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
“Se usa para mostrar la historia de la vida de un objeto de una clase, los eventos que causan una
transición de un estado a otro y las acciones que resultan de
un cambio de estado”
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
“Es una de las posibles situaciones en la cual un objeto puede existir y representa
una combinación de todas las propiedades de un objeto”
EstadoDIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
Cuando se está en un estado se pueden ejecutar actividades que requieren de un
tiempo de ejecucion mayor que el instantáneo que transcurre cuando se
produce la transición hacía él. También pueden validarse restricciones, que de
incumplirse provocan que el objeto salga de ese estado.
Estado
Nombre del estado
Comportamiento interno
Transiciones internas
Provoca una reacción interna, pero no
cambia el estado del objeto
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
“Un evento es un hecho que ocurre en algún momento y que es de importancia para la
aplicación”Internos Externos TemporalesInternos Externos Temporales
Evento
“Una condición guardián es una expresión booleana de los valores de los atributos.
Permite transiciones sólo si la condición es true”Se encierra entre [ ]Se encierra entre [ ]
Condición guardiana
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
“Es una relación entre dos estados que indica que cuando el evento ocurra pasa del
estado anterior al siguiente.”Es una flecha con orientación hacía el estado Es una flecha con orientación hacía el estado
siguiente, con una etiqueta para el evento.siguiente, con una etiqueta para el evento.
Transición
“Una acción es una operación que se ejecuta instantáneamente y es no
interrumpible”Los nombres se muestran precedidas por un /Los nombres se muestran precedidas por un /
Acción de una transición
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
Para especificar una transición se Para especificar una transición se sigue el siguiente formato:sigue el siguiente formato:
<Evento> [[Condición guardiana]][/Acción]
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
No cambia de valor en el tiempo por lo tanto no puede ser actualizado. El único evento que lo afecta es el que provoca la creación de la clase que como consecuencia le da valor.
Cambian cuando se modifican otros atributos. Estos otros atributos integran la fórmula de derivación y pueden pertenecer o no a la clase a la que pertenece el atributo derivado.
Son afectados por otros eventos que son los que hacen que cambie de valor.
CLASIFICAR ATRIBUTOSCLASIFICAR ATRIBUTOS
CLASIFICAR ATRIBUTOSCLASIFICAR ATRIBUTOS
Clasificación de atributos dinámicos en:El efecto en el atributo es el
incremento /decremento en 1 o una cantidad dada. Identificar los eventos que provocan el incremento, decremento o reinicio de su valor.El atributo adquiere un valor que es independiente del valor que haya tenido con anterioridad. Hay que identificar evento que provoca el cambio.Toman valor en un dominio limitado. El nuevo valor dependen del valor anterior, es decir, estando en un estado dado solo se pueden tomar determinados valores.
• Si el atributo es del tipo cardinal, se identifiquen los eventos que lo afectan teniendo en cuenta cuáles aumenta su valor, cuáles lo decrementan y cuáles lo reinicializan. Se deben agrupar todos los eventos que tengan el mismo efecto y el mismo tipo de acción (incrementadora, decrementadora y reinicializadora), y definir un estado que refleje esta situación. Si hay más de un evento en está unión, se relacionan usando el operador OR.
FUENTE PARA DEFINIR ESTADOS ANIDADOSFUENTE PARA DEFINIR ESTADOS ANIDADOS
Reglas para construir el DTEDIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
• Si el atributo se clasifica del tipo característico de un estado, una vez identificados los eventos y el efecto que provocan, se agrupan usando OR los eventos que provocan una misma forma de obtener el nuevo valor, y se define un estado para ellos.
Reglas para construir el DTEDIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
• Si el atributo es del tipo perteneciente a una situación, se identifican todos los eventos, el nuevo valor que provocan y el valor del atributo para el cual ese evento tiene sentido. Se definen tantos estados, como posibles valores existan.
FUENTE PARA DEFINIR ESTADOS ANIDADOSFUENTE PARA DEFINIR ESTADOS ANIDADOS
Reglas para construir el DTEDIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
Estado inicial
Estado 1
entry/ Acción de entrada 1do/ Acción interna 1event Evento 1/ Acción en respuesta a evento 1exit/ Acción de salida 1
Estado 2
entry/ Acción de entrada 2do/ Acción interna 2event Evento 2/ Acción en respuesta a evento 2exit/ Acción de salida 2
Estado final
Evento que provoca transición[ Condición necesaria para el cambio de estado ] /
Acción instantánea
Notación
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
CE-ClienteNombre : StringCarné de Usuario : IntegerEstado : BooleanCantidad de Préstamos : IntegerFecha Fin de Sanción : Date
CambiarEstado()ActualizarFechaFinSanción()CherquerFinSanción()IncrementarCantidadPréstamos()
Cliente válido
entry/ CambiarEstado(´Válido´ )
Cliente se inscribe
Registrando préstamo
do/ IncrementarCantidadPréstamos(Cantidad)
Cliente moroso
entry/ CambiarEstado(´Moroso´ )entry/ ActualizaeFechaFinSanción(Fecha)do/ ChequearFechaFinSanción()exit/ ActualizaFechaFinSanción(0)
Cliente retira inscripción
Cliente pide libro
Cliente se excede de plazo de entrega
ChequerFechaFinSanción()=True
Ejemplo
Top Related