Diagrama de Estados -...

21
Régis Simão – Diagrama de Estados 1/21 Diagrama de Estados Régis Patrick Silva Simão

Transcript of Diagrama de Estados -...

Page 1: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 1/21

Diagrama de Estados

Régis Patrick Silva Simão

Page 2: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 3: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 4: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 4/21

Introdução

Exemplo 2 – Classe Pessoa

parado ativo

aposentado

contratar

perder emprego

aposentar-seaposentar-se

Page 5: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 6: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 7: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 8: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 9: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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)

Page 10: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 10/21

Transição

Page 11: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 12: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 12/21

Exemplo de Atividades Internas

Atividades Internas

Page 13: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 14: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 14/21

Superestados e Subestados

Page 15: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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.

Page 16: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 17: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 17/21

Estados Concorrentes

Um superestado pode ter estados concorrentes e em paralelos.

Page 18: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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.

Page 19: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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.

Page 20: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

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

Page 21: Diagrama de Estados - regissimao.com.brregissimao.com.br/.../uploads/2014/03/UML-07-Diagrama-de-Estados.… · Régis Simão – Diagrama de Estados 2/21 Introdução Estado Inicial

Régis Simão – Diagrama de Estados 21/21

FIM!!!