Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EMPRESARIAL SOACHA
2015
Tecnologo Analisis y Desarrollo de Sistemas
Instructora:
de Informacion
Claudia Patricia
Material de Apoyo
Ramrez Triana
1
CONCEPTOS BSICOS 01.
Un diagrama de estados muestra la secuencia de estados que un objeto una
interaccin pueden atravesar durante su existencia en respuesta a eventos
externos o internos que provocan los cambios de un estado a otro.
Un diagrama de estados es til slo para los objetos con un comportamiento
Significativo. El resto de objetos se puede considerar que tienen un nico
Estado.
Un diagrama de estados completa la definicin de los casos de uso y sirven de
base para el diseo de la interfaz de usuario. Los diagramas de estados y los
diagramas de interaccin son complementarios.
Un ejemplo de un diagrama de estados podra ser:
En un diagrama de estados el objeto analizado siempre posee un estado en un
momento determinado, caracterizado por los valores de los atributos y los
enlaces del objeto. El estado en el que se encuentra un objeto determina su
comportamiento valido.
Un diagrama de estados es un grafo dirigido y deterministico que permite
expresar concurrencia, sincronizacin (Si la comunicacin es sncrona el objeto
debe esperar la respuesta)y jerarquas de objetos. Los estados inicial y final
estn diferenciados de los dems.
Los elementos que conforman un diagrama de estados son:
Estados
Un estado se representa mediante de un rectngulo con las esquinas
redondeadas. Puede tener de forma opcional uno o ms secciones, tales
como el nombre y las transiciones internas.
En la seccin nombre se coloca el nombre del estado. Mientras que en la
seccin transiciones internas se coloca una lista de acciones realizadas
mientras el objeto estn en un estado segn el siguiente formato:
evento argumentos / accin
Cada nombre de evento puede aparecer ms de una vez en un nico
estado. Las acciones pueden utilizar los atributos y enlaces del objeto al
que pertenecen o los parmetros de transiciones de entrada. Las siguientes
acciones utilizan palabras reservadas:
entrar: ocurre a la entrada del estado
Subestados
Adems de los compartimentos de nombre y transiciones internas, cada
estado puede tener un compartimiento con un diagrama anidado.
Un estado se puede refinar ya sea mediante subestados concurrentes, a
travs de relaciones AND mediante subestados mutuamente excluyentes,
utilizando la relacin OR.
La expansin de un estado en subestados concurrentes se indica a travs
de un grfico dividido en subregiones horizontales con lneas discontinuas.
Cada una de estas subregiones horizontales puede tener un nombre
opcional y debe contener un diagrama de estados anidado, con estados
disjuntos.
La expansin de un estado en subestados sirve para determinar su
estructura en detalle.
En dichos ilustraciones, los estados iniciales y finales se consideran
Pseudoestados, es decir, son un artificio notacional, no un elemento
Significativo.
Eventos
Un evento es un suceso notable. Una situacin que puede disparar una
transicin.
Los eventos pueden ser de distintos tipos, no necesariamente excluyentes:
Seal recibida de forma explcita
Llamada a una operacin desde otro objeto.
Condicin que se verifica
Transcurso de un perodo de tiempo
Los eventos de seales ocurren cuando se recibe una seal explicita desde
otro objeto. Los eventos de llamada ocurren se recibe una llamada de
operacin por parte de otro objeto. Las seales y las llamadas se denotan
por el nombre del disparador de la transicin.
Las seales y las llamadas se definen a travs del siguiente formato:
evento ( [parametro: tipoDatos] )
Los eventos de condiciones ocurren si una condicin dada ha sido
verificada, normalmente descrita a travs de una expresin lgica. Estos
eventos se denotan como condiciones de guarda en las transiciones, y no
se les da nombre.
Un evento de condicin se representa a travs de una condicin sin evento,
utilizando por ejemplo:
when( pH>7.0 )
Los eventos de tiempo ocurren por el transcurrir de un cierto tiempo luego
de que un evento ocurre o por la ocurrencia de una determinada fecha u
hora.
Transiciones
Hay dos (2) tipos de transiciones:
a.
Transiciones simples
Una transicin simple es una relacin entre dos estados, indicando
que un objeto del primer estado entrar en el segundo estado y
realizar ciertas operaciones cuando ocurra un evento dado si
determinadas condiciones
se cumplen.
El disparador de la transicin es la ocurrencia del evento que est
etiquetando la transicin.
El evento podra tener parmetros, que se utilizarn en:
- Las acciones especificadas en la transicin
- Las acciones iniciadas en el siguiente estado
Los eventos se procesan de forma exclusiva en cada momento, nunca
concurrentemente.
Si un evento no disparara ninguna transicin, simplemente se ignora.
Las transiciones se representan por una flecha slida que va de un
estado a otro, etiquetada por un string de transicin con el siguiente
formato:
Evento ( [parametros] ) [condicin guarda] / accin
La condicin de guarda es una expresin lgica en trminos de los
parmetros del evento disparado, atributos y enlaces del objeto al que
pertenece la mquina de estados.
Transiciones complejas
Una transicin es compleja cuando posee mltiples estados fuente y
mltiples estados destino. Sirve para representar una sincronizacin
de hilos concurrentes a travs de ramas AND/OR.
Acciones
Podemos especificar la ejecucin de una accin como consecuencia de la
transicin. Por ejemplo: