Diagrama de Estados

Propaganda
Análise e Projeto de Sistemas OO
Diagrama de Máquina de Estados
§ Demonstra o comportamento de um
elemento através de um conjunto de
transições de estado.
§ Um Estado representa a situação em que
um objeto se encontra em um determinado
momento durante o período em que esse
participa de um processo.
Objetivos
§ Usado para analisar comportamento de objetos
de uma classe
§ Mostra os estados que os objetos podem assumir
e os eventos das transições de um estado para
outro
§ Exibe as ações decorrentes dos eventos
§ Apresentam as seqüências de estados que um
objeto assume em sua existência em resposta a
estímulos recebidos
§ Complemento das descrições estáticas de classes
Diagrama de Máquina de Estados
§ Dizemos que um estado descreve o conjunto de
valores dos atributos de um objeto
§ Modificação do valor de um atributo muda o
estado desse objeto
§ A criação ou destruição de objetos muda o estado
do sistema.
§ Um estado descreve uma operação que o sistema
ou um objeto esta executando, portanto chamar
uma operação ou enviar um sinal vão, também,
mudar o estado do sistema e de alguns objetos.
Diagrama de Máquina de Estados
§ Recomenda-se
que só se construam
Diagramas de Gráfico de Estados quando se
existir um certo grau
de complexidade
referente a Transição de Estados de um dos
objetos
envolvidos
no
processo
Características dos Objetos
§ Objetos de uma classe possuem um "ciclo de vida"
v
v
v
v
São gerados
Assumem posições (estados)
Dão origem a outros objetos
Deixam de existir (são destruídos)
§ O estudo dos diferentes estados de um objeto de
uma classe e das transições entre estes estados
permite o levantamento de serviços adicionais a
serem incorporados na classe
Estados
§ Um objeto pode passar por diversos estados dentro
de um processo.
§ Um estado pode demonstrar:
v
v
v
v
v
a espera pela ocorrência de um evento
a reação a um estímulo
a execução de alguma atividade ou
a satisfação de alguma condição.
Ex:
Estados
§ Segunda divisão do retângulo pode armazenar
três cláusulas:
v
v
v
v
Entry: representa as ações realizadas no momento
em que o objeto assume o Estado em questão;
Exit: identifica as ações executadas antes do objeto
mudar de Estado;
Do: ilustra as atividades executadas enquanto o
objeto se encontra em um determinado Estado.
Ex:
Estados Inicial e Final
§ Inicial: é utilizado para representar o início da
modelagem de estados de um objeto,
representado por um círculo preenchido.
§ Final: é utilizado para representar o fim dos
estados modelados, representado por um
círculo preenchido envolvido por outro círculo
não preenchido.
Estados Inicial e Final
Exemplo
Transições
§ Uma transição representa um evento que causa
uma mudança no Estado de um objeto, gerando
um novo Estado (evento de ativação).
§ Transições podem possuir condições de guarda e
descrições, se isto for considerado necessário.
§ Arco que liga dois estados:
estado origem -> estado destino
v
v
v
Evento - Provoca a transição de estado.
Guarda - Condição que restringe a ocorrência da
transição.
Ação - Operação decorrente da transição de estado.
Transições
§ Ex:
Eventos
§ Ocorrência que deve ser reconhecida e gerar
uma reação pelo sistema em estudo.
§ A ocorrência de um evento provoca a
transição entre estados de instâncias de
alguma classe pertencente ao sistema
Guarda e Ação
§ A guarda é uma expressão que resulta em um
valor booleano.
§ É representada entre colchêtes [expressão].
§ A ação é representada pela invocação de uma
operação:
operacao(parametros)
§ É precedida por uma barra inclinada ou um acento
circunflexo
Auto-Transições
§ Transições Internas ocorrem durante o
estado de um objeto sem modificá-lo
§ As Auto-Transições saem do Estado Atual
do objeto, podendo executar alguma ação
quando dessa saída e retornam ao
mesmo estado.
Exemplo Auto-Transição
Exemplo de Diagrama de Estado
Pedido de Compra
Regras para modelagem
§ Como escolher o objeto e seu atributo para
descrever em um diagrama de estado?
v
v
Preciso conhecer melhor o comportamento deste
objeto.
Descobrir o atributo de estado
§ Um diagrama de estado é ideal para modelar
objeto que tenha atributo que possua 2
características:
v
v
Atributo que possua poucos valores
Atributo que possua restrições bem definidas nas
transições entre estes valores
Exemplo
§ Class ItemDeVenda
v
v
Atributos: precoDeVenda:Dinheiro
estadoDeInspecaoCorrente:EstadoDeInspecao
§ precoDeVenda
v
v
Um número grande de possíveis valores
Não existe restrições para mudança de seus valores
§ estadoDeInspecaoCorrente
v
v
Um número pequeno de possíveis valores (Recebido,
Inspecionando, Aceito e Rejeitado)
Mudanças de valor não são diretas. Não passa de
Recebido para Aceito sem antes passar por
Inspecionando.
Exemplo
Pseudo-Estado de Escolha ou
Estado de Ponto de Escolha dinâmico
§ Representa um ponto na transição de
estados de um objeto em que deve ser
tomada uma decisão, a partir da qual um
determinado estado será ou não gerado.
Pseudo-Estado de Escolha
Exemplo
Barra Sincronização
§ Utilizada quando da ocorrências de estados
paralelos,
causados
por
transições
concorrentes.
Download