Você está na página 1de 13

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 São gerados
v Assumem posições (estados)
v Dão origem a outros objetos
v 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 a espera pela ocorrência de um evento
v a reação a um estímulo
v a execução de alguma atividade ou
v a satisfação de alguma condição.
v Ex:

Estados
§ Segunda divisão do retângulo pode armazenar
três cláusulas:
v Entry: representa as ações realizadas no momento
em que o objeto assume o Estado em questão;
v Exit: identifica as ações executadas antes do objeto
mudar de Estado;
v Do: ilustra as atividades executadas enquanto o
objeto se encontra em um determinado Estado.
v 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 Evento - Provoca a transição de estado.


v Guarda - Condição que restringe a ocorrência da
transição.
v 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 Preciso conhecer melhor o comportamento deste
objeto.
v Descobrir o atributo de estado
§ Um diagrama de estado é ideal para modelar
objeto que tenha atributo que possua 2
características:
v Atributo que possua poucos valores
v Atributo que possua restrições bem definidas nas
transições entre estes valores

Exemplo
§ Class ItemDeVenda
v Atributos: precoDeVenda:Dinheiro
v estadoDeInspecaoCorrente:EstadoDeInspecao
§ precoDeVenda
v Um número grande de possíveis valores
v Não existe restrições para mudança de seus valores
§ estadoDeInspecaoCorrente
v Um número pequeno de possíveis valores (Recebido,
Inspecionando, Aceito e Rejeitado)
v 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.

Você também pode gostar