Na modelagem UML, os estados representam o comportamento de alteração de um objeto. Uma alteração de estado é descrita utilizando uma transição para mostrar um caminho entre dois estados.
Um estado pode conter outros estados, normalmente chamados de estados aninhados ou subestados. Se estiver modelando máquinas de estado complexas, utilize estados aninhados para separar o comportamento detalhado em múltiplos níveis. Os estados também podem conter ações que identifiquem as tarefas que podem ocorrer quando um objeto possui um estado específico.
Tipo de estado | Descrição | Elemento do diagrama |
---|---|---|
Simples | Um estado sem regiões | ![]() |
Composto | Um estado com uma região | ![]() |
Ortogonal | Um estado com duas ou mais regiões | ![]() |
Final | Um estado que é colocado na região de um estado composto para indicar que a atividade na região está concluída | ![]() |
Estado da submáquina | Um estado que faz referência a outra máquina de estado | ![]() |
Uma transição mostra um caminho entre estados que indica que está ocorrendo uma alteração de estado. Um acionador, uma condição de proteção e um efeito são as três partes de uma transição, todas as quais são opcionais.
Tipo de evento | Descrição | Ícone |
---|---|---|
Chamada | Um objeto recebe um pedido para chamar uma operação. A chamada da operação aciona uma transição. | ![]() |
Alteração | Uma condição booleana é especifica para acionar uma transição quando a condição for verdadeira. | ![]() |
Sinal | Uma mensagem especificada que aciona uma transição quando é recebida por um objeto. | ![]() |
Tempo | Um período de tempo especificado que deve decorrer ou um tempo absoluto que aciona uma transição. | ![]() |