Está en la página 1de 29

DTE

Diagramas de Transicin de
Estados
Universidad de Oviedo
Departamento de Informtica
Contenidos
Introduccin
Estados, eventos y acciones
Notacin Grfica
Notacin Bsica
Ejemplo
Resumen de smbolos
Construccin del DTE
Comprobaciones
Introduccin
Modelos tratados hasta el momento
Modelo funcional (dinmico)
Modelo de Datos (esttico)
Objetivo
Visualizar los cambios que sufren las entidades en el tiempo
(evolutivo)
Relacionarlos con los procesos o Casos de Uso
Asegurar la coherencia entre ambos
Tcnica:
Diagramas de Transicin de Estados
Notacin usada en otros mbitos de la informtica como el diseo de
protocolos de comunicaciones y los procesadores de lenguaje,
entre otros
Estados, eventos y acciones
Estados
Las entidades pasan por varios estados. En cada uno de ellos pueden
suceder determinados eventos que provoquen efectos o acciones
sobre la entidad
El primer evento que afecta a una entidad, crea una instancia de dicha
entidad
Cuando una entidad llega a su estado final, se "destruye" la instancia
de la entidad
NOTA: Una instancia de una entidad es, la mayor parte de las veces,
un registro en una tabla
Entidades
Eventos Procesos DTE
Estados, eventos y acciones (cont.)
Eventos
Algo que sucede en el mundo real y como consecuencia
se ejecuta un proceso o un caso de uso
Eventos de Actualizacin
Eventos de Consulta (no considerados en DTE)
Acciones (Efectos)
Descripcin del resultado de un evento sobre una entidad
(el cambio producido en la entidad):
Insercin (Creacin)
Modificacin
Borrado
NOTA: No se consideran como acciones las consultas
Notacin Grfica
Un DTE describe el conjunto de transiciones (parejas evento/accin)
que pueden suceder sobre una entidad
El estado en que se encuentra una entidad es el resultado de todas las
transiciones sucedidas durante su "vida"
Sintaxis
Secuencia
Seleccin
Iteracin
Estructuras paralelas
Notacin Grfica. Notacin Bsica
Secuencia
NOTA:
El DTE representa la secuencia de estados y transiciones para CADA
INSTANCIA de una entidad. Cada instancia puede estar en un estado
distinto
Tarjeta
Usada
Tarjeta
Activa
FIN
INICIO
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Realizar Cargo
Cargo Tarjeta
Notacin Grfica. Notacin Bsica (cont.)
Seleccin
Las transiciones que provienen del mismo estado NO pueden tener el
mismo evento
Tarjeta
Usada
Tarjeta
Activa
FIN
INICIO
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Realizar Cargo
Cargo Tarjeta
Realizar Abono
AbonoTarjeta
Notacin Grfica. Notacin Bsica (cont.)
Ciclos
Transiciones que tienen como destino el estado actual o un estado
anterior al actual
Tarjeta
Usada
Tarjeta
Activa
FIN
INICIO
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Realizar Abono
AbonoTarjeta
Realizar Abono
AbonoTarjeta
Realizar Cargo
Cargo Tarjeta
Notacin Grfica. Notacin Bsica (cont.)
Ciclos (cont.)
Este diagrama representa lo mismo que el anterior?
Tarjeta
Activa
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Realizar Cargo
Cargo Tarjeta
Realizar Abono
AbonoTarjeta
Notacin Grfica. Notacin Bsica (cont.)
Estructuras paralelas
Cuando no se puede predecir el orden de los eventos (vidas paralelas)
Ejemplo: antes de realizar transacciones se requieren dos autorizaciones
FIN
Tarjeta
Activa
Autorizada
por Banco
Autorizada
por Entidad
Pendiente
Autorizar
INICIO
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Autorizar Banco
Marcar Aut Banco
Autorizar Entidad
Marcar Aut Entidad
Autorizar Entidad
Marcar Aut Entidad
Autorizar Banco
Marcar Aut Banco
Notacin Grfica. Notacin Bsica (cont.)
Estructuras paralelas (cont.)
Otro ejemplo
Bloqueada
Tarjeta
Activa
FIN
INICIO
Cancelar Tarjeta
Borrar Tarjeta
Solicitar Tarjeta
CrearTarjeta
Realizar Cargo
Cargo Tarjeta
Cancelar Tarjeta
Borrar Tarjeta
Realizar Abono
AbonoTarjeta
Notif icar Perdida
Bloquear Tarjeta
Notif icar Hallazgo
Desbloquear Tarjeta
Notacin Grfica. Notacin Bsica (cont.)
Resumen de smbolos
Estado
FIN
INICIO
Evento 1
Accion 1
Evento 2
Accion 2
Estado Final Estado Inicial
Secuencia
Ciclos
Seleccin
Construccin del DTE
1 - Identificacin de eventos
Ejemplo: Alquiler de vehculos con conductor opcional
Modelo de Casos de Uso
Asignacin Conductor
Trabajador Agencia
Reserva
Cliente
Confirmacin Reserva
Construccin del DTE (cont.)
1 - Identificacin de eventos (cont.)
Eventos y Casos de Uso asociados:
Modelo de Datos:
Asignacin Conductor Asignar Conductor E3
Confirmacin Reserva Confirmar Reserva E2
Reserva Solicitar Reserva E1
CU Asociado Evento
Cliente
reserva
Conductor
.
Construccin del DTE (cont.)
2 - Construccin Matriz Entidad-Evento
Objetivo
Representar de forma resumida las acciones que ejercen los eventos
sobre las entidades
Revisar
Se crea una entidad (I = Insercin)
Se modifica una entidad (M = Modificacin)
Se borra una entidad (B = Borrado)
Se han utilizado todas las entidades y eventos
Conductor
M M I Reserva
I Cliente
E3 E2 E1
Construccin del DTE (cont.)
3 - Construccin del DTE
Para cada entidad, crear un DTE, cada pareja "evento-accin" ser una
transicin entre dos estados
Tener en cuenta el orden temporal
Recomendacin:
Comenzar por entidades detalle, hacia arriba
Despus se revisarn comenzando por maestros, hacia abajo
Solicitada
Confirmada
Conductor
Asignado
INICIO
Solicitar Reserva
Crear Reserva
Confirmar Reserva
Marcar Confirmada
Asignar Conductor
Poner Conductor
Construccin del DTE (cont.)
4 - Comprobacin de atributos
Anteriormente: Se han considerado los tres tipos de acciones para las
entidades
Ahora: Para cada entidad, considerar la modificacin de atributos
Reserva = @NumReserva
+ NumCliente
+ ClaseVehiculo
+ FechaReserva
+ FechaConfirmacin
+ FechaComienzo
+ FechaFin
+ CoductorRequerido
+ (NumConductor)
+ NumFactura
Construccin del DTE (cont.)
A) Comprobar que todos los atributos son creados por alguno de los eventos
Reserva = @NumReserva E1
+ NumCliente E1
+ ClaseVehiculo E1
+ FechaReserva E1
+ FechaConfirmacin E2
+ FechaComienzo E1 (E2)
+ FechaFin E1 (E2)
+ CoductorRequerido E1
+ (NumConductor) E3
+ NumFactura ??
Falta crear:
un atributo una accin un evento un CU
Construccin del DTE (cont.)
Solucin
El evento "Facturar Reserva" interviene tambien en el DTE
correspondiente a la entidad Factura
Solicitada
Confirmada
Conductor
Asignado
Facturada
INICIO
Solicitar Reserva
Crear Reserva
Confirmar Reserva
Marcar Confirmada
Asignar Conductor
Poner Conductor
Facturar Reserva
Poner Num Factura
Creada
Facturar Reserva
Crear Factura
Construccin del DTE (cont.)
B) Atributos opcionales
Considerar aquellos atributos que no son obligatorios (en este caso el
nmero del conductor)
Solicitada
Conf irmada
Conductor
Asignado
Facturada
INICIO
Solicitar Reserva
Crear Reserva
Conf irmar Reserva
Marcar Conf irmada
Asignar Conductor
Poner Conductor
Facturar Reserva
Poner Num Factura
Facturar Reserva
Poner Num Factura
Construccin del DTE (cont.)
C) Considerar cambios de las entidades
Se puede cambiar una reserva?
Cundo?
Antes de confirmar
Despus de confirmar
Despus de asignar conductor
Suposicin
Cambio antes de confirmacin
Cambio tras asignacin de conductor cmo se hara?
Construccin del DTE (cont.)
C) Considerar cambios de las entidades (cont.)
Solicitada
Conf irmada
Conductor
Asignado
Facturada
Solicitar Reserva
Crear Reserva
Conf irmar Reserva
Marcar Conf irmada
Asignar Conductor
Poner Conductor
Facturar Reserva
Poner Num Factura
Facturar Reserva
Poner Num Factura
Modif icar Reserva
Cambio Reserva No Conf
Construccin del DTE (cont.)
D) Considerar borrado de Entidades
No hay eventos que eliminen reservas.
Aadir uno, tras la facturacin
Facturada
FIN
Archivar Reserva
Borrar Reserva
No ponemos todo lo anterior...
Construccin del DTE (cont.)
E) Considerar efecto del borrado de unas Entidades sobre otras (top
down)
Si se hace lo mismo para la entidad Cliente
Pero Cliente es maestro de Reserva.
Hay que borrar todas sus reservas para mantener la integridad
referencial
Cliente
Activo
FIN
Archivar Cliente
Borrar Cliente
No ponemos todo lo anterior...
Construccin del DTE (cont.)
E) Considerar efecto del borrado de unas Entidades sobre otras (cont.)
Dos eventos realizan la misma accin
Tres casos:
Borrar maestro implica que hay que borrar detalles (figura)
No se puede borrar maestro si no se han borrado antes los detalles
(poner borrado de maestro tras el borrado del detalle)
No importa (cuidado con las relaciones)
IMPORTANTE: Reflejar la integridad referencial en el modelado dinmico
puede complicar mucho su estructura
Algunos autores no lo hacen (Hares en "SSADM for the advanced
Practitioner")
Facturada
FIN
Archivar Reserva
Borrar Reserva
Archivar Cliente
Borrar Reserva
Construccin del DTE (cont.)
E) Considerar efecto del borrado de unas Entidades sobre otras (cont.)
Influencia del tipo de relacin
Qu ocurre con el borrado de las entidades en los cuatro casos
anteriores?
Cliente
Reserva
Cliente
Reserva
Cliente
Reserva
Cliente
Reserva
1 2
3
4
Construccin del DTE (cont.)
F) Otras consideraciones
Creacin de maestros en "cascada"
Cuando se crea una reserva se crea (opcionalmente) un cliente
Cliente
Activo
INICIO
Alta de un Cliente
Crea Cliente
Solicitar Reserva
Crea Cliente
Comprobaciones
Existe un DTE por cada entidad??
Todos los Casos de Uso tienen asociado un evento
Todos los eventos aparecen en un DTE

También podría gustarte