actividad 7 diagrama de estado

17

Click here to load reader

Transcript of actividad 7 diagrama de estado

Page 1: actividad 7 diagrama de estado

Curso de UML

Actividad 7 Diagrama de estado

Dra. Anaisa Hernández González

Page 2: actividad 7 diagrama de estado

• 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 ESTADO

Page 3: actividad 7 diagrama 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 ESTADO

Page 4: actividad 7 diagrama 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”

Estado

DIAGRAMAS DE ESTADO

Page 5: actividad 7 diagrama 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 ESTADO

Page 6: actividad 7 diagrama de estado

“Un evento es un hecho que ocurre en algún momento y que es de

importancia para la aplicación”

Internos 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 [ ]

Condición guardiana

DIAGRAMAS DE ESTADO

Page 7: actividad 7 diagrama 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 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 /

Acción de una transición

DIAGRAMAS DE ESTADO

Page 8: actividad 7 diagrama de estado

Para especificar una transición se sigue el siguiente formato:

<Evento> [[Condición guardiana]][/Acción]

DIAGRAMAS DE ESTADO

Page 9: actividad 7 diagrama de estado
Page 10: actividad 7 diagrama de estado
Page 11: actividad 7 diagrama 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 ATRIBUTOS

Page 12: actividad 7 diagrama de estado

CLASIFICAR 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: actividad 7 diagrama de estado

• 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 ANIDADOS

Reglas para construir el DTE

DIAGRAMAS DE ESTADO

Page 14: actividad 7 diagrama 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 DTE

DIAGRAMAS DE ESTADO

Page 15: actividad 7 diagrama 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 ANIDADOS

Reglas para construir el DTE

DIAGRAMAS DE ESTADO

Page 16: actividad 7 diagrama 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 ESTADO

Page 17: actividad 7 diagrama 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