Diagramas da UML 2.0 | editar |
Diagramas estruturais | |
Diagramas comportamentais ou dinâmicos
|
Em engenharia de software e eletrônica digital, um Diagrama de Transição de Estados, ou Diagrama de Máquina de Estados, é uma representação do estado ou situação em que um objeto pode se encontrar no decorrer da execução de processos de um sistema.[1][2] Com isso, o objeto pode passar de um estado inicial para um estado final através de uma transição.[1][2]
Conceitos
- Estado: Condição ou situação durante a vida de um objeto na qual ele satisfaz algumas condições, executa algumas atividades ou espera por eventos.[1]
- Transição: O relacionamento entre dois estados, indicando que o objeto que está no primeiro estado irá passar para o segundo estado mediante a ocorrência de um determinado evento e em certos casos uma condição.[1]
- Condição: causa necessária para que haja a transição de estado. Decorre da ocorrência de um evento ou circunstância que propicia a transição de estado.
- Estado inicial: Estado por onde se começa a leitura de um diagrama de estado.
- Estado final: Estado que representa o fim de uma máquina.
- Barra de Sincronização: Semelhante a um Fork do Diagrama de atividade.
- Estado composto: Estado composto por outras máquinas de estado organizadas em regiões que são executadas em paralelo.
- Sincronização: permite que os relógios de dois ou mais processos paralelos estejam sincronizados em um determinado momento do processo.
- Ação: atividade do sistema que efetua a transição de estado.
Exemplo
Um exemplo simples seria um semáforo (sinal de trânsito).
Cada estado corresponde a uma situação que ocorrerá. Quando verde, os carros podem prosseguir na via. Passado um tempo, é acionada a tarefa de mudar para amarelo. Então o semáforo passa de verde para amarelo. Aqui os carros ficam em estado de atenção e já aguardam a próxima transição.
O próximo passo é passar para vermelho. Nesse estado, os carros estão parados na via. De vermelho, o próximo estado somente será verde, assim, os carros podem voltar a trafegar na via.
Ver também
Referências
- ↑ 1,0 1,1 1,2 1,3 Um guia para o Corpo de Conhecimento de Análise de Negócios(TM) (Guia BABOK®). Oakville: IIBA. 2011. pp. 215–216
- ↑ 2,0 2,1 Sebesta, Robert W. (2018). Conceitos de Linguagens de Programação 11.ª ed. Porto Alegre: Bookman Editora. p. 165