Sie sind auf Seite 1von 11

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Tema 8: Tcnicas de diagramas


de transicin de estados
Maria-Isabel, Sanchez Segura
Arturo, Mora-Soto

Qu hemos modelado
hasta ahora?
}

El comportamiento de un sistema software


}
}
}
}

Diagramas de interaccin
Diagramas de actividades
Diagramas de clases
Diagramas de casos de uso

Pero que hay del estado del sistema


a lo largo de su existencia?
}

Podemos modelar el estado


de los objetos (clases).

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Modelado del estado


de los objetos
}

Diagramas de transicin de estados


}

Son tiles para modelar los estados de un objeto y los eventos


que provocan cambios en esos estados.

De gran utilidad en ciertos campos de la informtica


}
}
}

Sistemas en tiempo real: software para monitorizar el corazn


Dispositivos dedicados: cajeros automticos
Juegos de primera persona: Doom, Half Life

Conceptos Bsicos
(I)
}

Diferentes nombres una misma idea


}

En espaol
}
}
}

En ingls
}
}
}

Diagramas de transicin de estados


Diagramas de estados
Mquinas de estados
State machine diagrams
State diagrams
Statechart diagrams (en desuso)

Tipos
}
}

De bucle continuo: si se vuelve al estado inicial tras la ejecucin de varios


estados.
De bucle finito: si tenemos un estado final.

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Conceptos Bsicos
(II)
}

Componentes de un diagrama de estados:


Estados

}
}

Transiciones
}
}

Es un intervalo de tiempo existente entre dos eventos recibidos por un


objeto.
Mas formalmente: es una abstraccin de los valores de los atributos de un objeto
en un instante.
Representa un cambio de estado.
Se puede decir que toda transicin de estado es producida por un evento.

Evento (trigger)
}
}
}

Algo que ocurre interna o externamente al sistema y que le afecta.


Son un medio de transmisin de mensajes de un objeto a otro.
Como consecuencia de un evento se puede activar un servicio de una clase.
Si necesita datos para la activacin de dicho servicio se incorporan como
atributos del evento.

Conceptos Bsicos
(III)
}

Elementos del diagrama de estados


NombreEstado

Estado
Estado Inicial

Estado Final
Transicin

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Conceptos Bsicos
(IV)
}

Un ejemplo sencillo

Conceptos Bsicos
(V)
}

Un ejemplo ms

Ejemplo de la clase AccountApplication (Miles, 2006)

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Estados
Un estado es una condicin la cul es
verdadera en un momento determinado.
} Un estado puede representar:
}

}
}

Cualidad pasiva (como el on/off del objeto foco)


Cualidad activa (algo que un objeto est haciendo: como una
cafetera preparando caf)
Brewing
Brewing

do/ brew coffe

La accin transcurre
mientras el estado
est activo

Transiciones
Representan un cambio de estado, desde
un estado origen a un estado destino.
} La descripcin de la transicin describe las circunstancias
que provocan el cambio de estado.
} Notacin completa
}

Evento [condicin] / accin(es)


}
}
}

Evento (trigger): es quien provoca la transicin.


Condicin: valor booleano que permite o bloquea la transicin.
Accin: actividad ininterrumpida que se ejecuta cuando ocurre la
transicin.

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Transiciones:
Variaciones (I)

Transiciones:
Variaciones (II)

Transicin solo con un evento

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Transiciones:
Variaciones (III)

Transicin con evento y condicin

Transiciones:
Variaciones (IV)

Transicin provocada por la finalizacin de una accin interna

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Transiciones:
Variaciones (V)

Uso de condiciones para modelar varias opciones

Posibles elementos en
un diagrama de estados

Nombre del evento


Parmetros
Condicin de guarda
Acciones
Estado-A
Evento1 (parmetros) [condicin] /accinA; accinB
Transicin
Accin de entrada
Accin de salida
Accin durante la vida del estado

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Estado-B
Entry/accin1
Exit/accin2
T1/accin3

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Estados en un
sistema software
}

Representar el comportamiento de una


clase.
}

Diagrama de estados del objeto


AccountApplication (Miles, 2006)

Proceso de
Construccin
Elaboracin
lista de
eventos

Identificacin de
eventos de
creacin

Determinacin de
transiciones de
salida

Especificacin
de los estados

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Ejercicio Prctico 1
Reloj
} El reloj se enciende y est visualizando las horas y los
minutos
} Pulso A: Parpadea la hora
}

Pulso A de nuevo: Parpadean los minutos


}

Pulso B: Incremento la hora


Pulso B: Incremento los minutos

Pulso A: Se queda el display sin parpadear


HH

MM

Ejercicio Prctico 1
}

Solucin
Inicio

Encenderse
VisualizandoHorasMinutos
do/ Visualizar Horas y Minutos

PulsaA
ModificandoHora
do/ MostrarHoraParpadeante

PulsaA

PulsaB
PulsaA

PulsaA

PulsaB

ModificandoMinutos
do/ MostrarMinutosParpadeantes

CambiandoHoras
PulsaA

do/ IncrementarHoraActual

PulsaB
PulsaB

CambiandoMinutos
do/ IncrementarMinutosActuales

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

10

Metodologa de Desarrollo Visual

Universidad Carlos III de Madrid

Ejercicio Prctico 2
}

Fotocopiadora
}

La fotocopiadora estar apagada durante los fines de semana.


Los lunes se enciende y se queda en modo hibernacin hasta
que llega un usuario a fotocopiar. El usuario debe introducir el
dinero y cuando lo considere oportuno pulsa el nmero de
copias que desea hacer, o simplemente pulsa fotocopiar si por
defecto quiere hacer una sola copia. Si no hubiera dinero
suficiente para hacer las copias requeridas se lo indicar al
usuario. Cuando ha terminado de hacer las copias muestra el
saldo disponible. Si el usuario ha terminado de fotocopiar debe
poder recuperar el dinero que quede en la fotocopiadora. Los
sbados a las 10 de la maana la fotocopiadora se apaga y
vuelve a encenderse los lunes a las 7 de la maana.

Ejercicio Prctico 2
}

Solucin
Inicio

Cuando en un estado llega


un evento no esperado se
ignora

Encender-fotocopiadora

Calentando

EsperandoDinero

Fotocopiadora-lista

do/ Inicializar Fotocopiadora


do/ Inicializar contadores a cero

do/ Visualiza "Introduzca Dinero"


do/ Visualiza Cantidad

Moneda

Copiando

operacin-completada

do/ Copiar

AceptandoDinero
do/ IncrementarSaldo
do/ Visualizar Saldo

Moneda
pulsa-copiar[ Dinero suficiente ]

pulsa-copiar[ Dinero no suficiente ]

PulsaCopiar

Dinero Devuelto

PidiendoNumeroCopias
do/ Visualizar "Inserte numero de copias"
do/ Visualizar Saldo

Devolver Dinero

numero de copias
numero de copias

DevolviendoDinero
do/ Contador a Cero
do/ Visualizar "Retire Dinero"
do/ Devolver Dinero

Maria-Isabel, Sanchez Segura & Arturo,


Mora-Soto

Esperando ParaCopiar
Devolver Dinero

do/ Visualiza "Pulse Copiar"


entry/ Visualiza "numero de copias"

11

Das könnte Ihnen auch gefallen