Diagrama de Transição Estados

Joziel Oliveira Santos
Documentaçao UML
Published in
3 min readOct 3, 2019

Introdução

Diagrama de estado é utilizado para modelar um comportamento discreto em sistema de transição entre estados finitos. Existem basicamente dois usos para máquinas de estado.

O que é?

É um diagrama para representar os comportamentos de objeto no sistema, conforme as ações executadas sobre ele.

Notação

  • Estado inicial: o símbolo de círculo preenchido é onde inicia-se o diagrama de estado.
  • Estado: este símbolo de retângulo com bordas arredondadas representa o estado da máquina e seus momentos, no topo tem o nome do estado, logo abaixo tem os momentos como entry que é o quando o estado inicia, o momento do que é o estado propriamente dito e o exit é momento em que o estado termina, lembrando que estes momentos não são obrigatórios.
  • Ponto de saída : este símbolo de círculo com um x no meio representa a saída de um processo, geralmente usado quando um processo não está concluído mas tem que sair por algum erro.
  • Estado final: este símbolo de círculo com outro círculo preenchido dentro representa o fim de um processo bem sucedido.
  • Transição: o símbolo de flecha representa a transição de estado. Geralmente com um descrição, lembrando que não é obrigatório, mas é importante para a leitura.
  • Condicional: este símbolo abaixo representa um pseudo estado de escolha, ou seja uma condicional, como por exemplo um if e else na programação.

Aplicabilidade

Imagine que queremos construir um APP de musica e pra isso precisamos saber o que pode acontecer com a música dentro de nosso APP, por exemplo, o usuário poderá pausar, dar play, pular de música e voltar. Abaixo será apresentado os comportamento de play e pause:

Analogia com mundo real

Para um exemplo mais simples e do dia a dia das pessoas, abaixo trago um exemplo de semáfaro, onde mostro a o comportamento do mesmo.

Prós

  • Ajuda a simplificar o entendimento de comportamentos complexos.
  • Descreve os estados possíveis de um objeto assim com as mudanças a partir de eventos, prevendo assim possíveis novos cenários.

Contras

  • Comumente confundido com diagrama defluxo, porém o de fluxo tem como objetivos descrever o controle de atividades (ex.: o que fazer), já o de estado é para descrever os comportamentos do objeto a cada transições entre estados.
  • Não são bons para descrever um comportamento que envolve vários objetos em colaboração, por isso é recomendado projetar para uma única classe.

--

--