Régis Simão – Diagrama de Estados 1/21
Diagrama de Estados
Régis Patrick Silva Simão
Régis Simão – Diagrama de Estados 2/21
Introdução Estado Inicial e Estado Final Estados Transições Atividades Internas Estados de Atividades Superestados e Subestados Estados Concorrentes Pseudo-estado de Histórico Exercício Bibliografia
Agenda
Régis Simão – Diagrama de Estados 3/21
Introdução
com empréstimos
sem empréstimos
emprestar devolver[ número_empréstimos = 1 ]
emprestar
devolver[ número_empréstimos > 1 ]
número_empréstimos = 0
número_empréstimos > 0
Socionúmero : intnome : char[50]número_emprestimos : int = 0
alta()baixa()
emprestar(código_livro : int, data : date)devolver(código_livro : int, data : date)
Exemplo 1 – Classe Sócio
Régis Simão – Diagrama de Estados 4/21
Introdução
Exemplo 2 – Classe Pessoa
parado ativo
aposentado
contratar
perder emprego
aposentar-seaposentar-se
Régis Simão – Diagrama de Estados 5/21
Diagrama de Estados
Cada objeto está em um estado em certo instante e o Diagrama de Estados é utilizado para modelar os diversos estados de um objeto.
O estado está caracterizado parcialmente pelos valores de alguns atributos do objeto.
O estado em que se encontra um objeto determina o seu comportamento
Os Diagramas de Estados e os Cenários são complementares.
Representa uma máquina de estados, formada por estados, transições, eventos e ações.
Introdução
Régis Simão – Diagrama de Estados 6/21
Diagrama de Estados
Visão dinâmica do sistema.
Semelhante ao diagrama de atividades.
Indicado para classes com estados identificáveis e comportamentos complexos.
Introdução
Régis Simão – Diagrama de Estados 7/21
O Estado Inicial é reconhecido como um pseudo-estado.
O Estado Inicial indica quando um objeto é criado e onde começa o diagrama de estados.
O Estado Inicial transita automaticamente para o primeiro estado real do objeto.
O Estado Final indica que a máquina de estados está completa, chegou ao final, implicando a destruição do objeto.
Estado Inicial e Estado Final
Régis Simão – Diagrama de Estados 8/21
Condição ou situação durante a vida de um objeto no qual satisfaz alguma condição, executa alguma atividade em resposta a um evento ou espera pela ocorrência de algum evento.
O estado de um objeto pode ser definido pelos valores de seus atributos ou resumido em um único atributo.
O nome de um estado pode estar no infinitivo, gerúndio e no particípio. Procure não misturar as formas em um único diagrama, mas é possível.
Estados
aposentado
Régis Simão – Diagrama de Estados 9/21
Um transição indica um movimento de um estado para outro.
É um relacionamento entre dois estados, indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento especificado ocorrer e as condições especificadas forem satisfeitas.
Sintaxe:
Transição
evento (argumentos) [condição de guarda] / atividade ^ alvo.sendEvent (argumentos)
Régis Simão – Diagrama de Estados 10/21
Transição
Régis Simão – Diagrama de Estados 11/21
As Atividades Internas são reações a eventos sem transição de estados.
Colocam-se o evento, a condição e a atividade dentro da caixa do estado:
Tipos de Atividades On Entry: ao entrar no estado On Exit: ao sair do estado Do: enquanto estiver no estado On Event: na ocorrência de algum evento
Atividades Internas
Régis Simão – Diagrama de Estados 12/21
Exemplo de Atividades Internas
Atividades Internas
Régis Simão – Diagrama de Estados 13/21
Estado de Atividade é um estado onde uma ação é executada enquanto se estar no estado.
A ação de um Estado de Atividade pode ser interrompida.
Estados de Atividades
Régis Simão – Diagrama de Estados 14/21
Superestados e Subestados
Régis Simão – Diagrama de Estados 15/21
Superestados e Subestados
Quando vários estados compartilham transições e atividades internas comuns, pode-se transformá-los em subestados e mover o comportamento compartilhado para um superestado.
Régis Simão – Diagrama de Estados 16/21
Superestados e Subestados
A transição que chega ao superestado inicia o subdiagrama de estados no estado inicial ou a transição deve chegar até a um subestado específico.
parado ativo
aposentado
contratar
perder emprego
aposentar-se
economicamente ativo
Régis Simão – Diagrama de Estados 17/21
Estados Concorrentes
Um superestado pode ter estados concorrentes e em paralelos.
Régis Simão – Diagrama de Estados 18/21
Pseudo-estado de Histórico
Quando uma transição volta ao estado, ele continua do subestado em que estava quando saiu.
Régis Simão – Diagrama de Estados 19/21
Exercício
Considere o seguinte problema:
“Uma máquina de lavar roupa pode estar funcionando ou em pausa.
Quando funcionando, ela estará em enchimento, lavando ou centrifugando.
No entanto, se a tampa for aberta, ela deverá entrar em pausa e depois, quando a tampa for fechada, voltar a operar na
fase em que parou.”
Agora desenhe o diagrama de estados para representar o problema.
Régis Simão – Diagrama de Estados 20/21
FOWLER, Martin. UML Essencial. 3a. edição. Bookman, 2005.
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML – Guia do Usuário. Campus, 2000.
Bibliografia
Régis Simão – Diagrama de Estados 21/21
FIM!!!
Top Related