17
Curso de UML Actividad 7 Diagrama de estado Dra. Anaisa Hernández González

Curso de UML

Embed Size (px)

DESCRIPTION

Curso de UML. Actividad 7 Diagrama de estado Dra. Anaisa Hernández González. DIAGRAMAS DE ESTADO. Los Diagramas de Estados representan autómatas de estados finitos, desde el punto de vista de los estados y las transiciones - PowerPoint PPT Presentation

Citation preview

Page 1: Curso de UML

Curso de UML

Actividad 7 Diagrama de estado

Dra. Anaisa Hernández González

Page 2: Curso de UML

• 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

Page 3: Curso de UML

“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

Page 4: Curso de UML

“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

Page 5: Curso de UML

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

Page 6: Curso de UML

“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

Page 7: Curso de UML

“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

Page 8: Curso de UML

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

Page 9: Curso de UML
Page 10: Curso de UML
Page 11: Curso de UML

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

Page 12: Curso de UML

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.

Page 13: Curso de UML

• 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

Page 14: Curso de UML

• 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

Page 15: Curso de UML

• 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

Page 16: Curso de UML

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

Page 17: Curso de UML

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