dinâmica dos objetos - utfpr

25
Dinâmica dos Objetos

Upload: others

Post on 24-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dinâmica dos Objetos - UTFPR

Dinâmica dos Objetos

Page 2: Dinâmica dos Objetos - UTFPR

Dinâmica dos objetos

● Necessário desenvolver estudo sobre comportamento interno das classes● Permitir a especificação da dinâmica i.e. a forma como

os objetos de cada classe se comportam● A especificação da dinâmica do sistema deve ser feita através de diagramas de estado

Page 3: Dinâmica dos Objetos - UTFPR

Notação de Harel

● Um diagrama de estados é um grafo dirigido cujos nós representam os estados e cujos arcos representam as transições entre os estados

● Estado de um objeto● é um momento na vida de um objeto. Um objeto pode

passar por diferentes estados: o momento em que foi criado, momento que fez uma inicialização, momento que fez uma solicitação, momento de seu desaparecimento, etc

● Muitas vezes o nome de um estado é um verbo no gerúndio ou no particípio

● Um mesmo estado pode ser repetido em um diagrama de estados i.e. se houver dois estados com o mesmo nome trata-se, na verdade, do mesmoestado

Page 4: Dinâmica dos Objetos - UTFPR

Estados de um objeto

Page 5: Dinâmica dos Objetos - UTFPR

Transição de estado● Um objeto não fica permanentemente em um estado● Os objetos tendem a avançar de um estado para outro

● O avanço de uma situação (estado) para outra denomina-se transição de estado

● Sintaxe:

● Evento: indica o nome de um sinal, mensagem ou notificação recebida pelo objeto e que torna a transição habilitada

● Argumentos: são valores recebidos junto com o evento● [Condição]: expressão lógica que é avaliada quando o evento ocorrer

● /Ação: indica uma ação que é executada durante a transição de um estado a outro

Page 6: Dinâmica dos Objetos - UTFPR

Exemplo de diagrama de estados(com 5 estados e 4 transições)

Page 7: Dinâmica dos Objetos - UTFPR

Construções típicas● Sequências: fluxos de estados representados por encadeamentos de um estado e uma transição (figura anterior)

● Bifurcações e junções● bifurcação: duas ou mais transições partindo de

um mesmo estado● junção: duas ou mais transições conduzindo a um

mesmo estado

Page 8: Dinâmica dos Objetos - UTFPR

Conflitos● Um conflito ocorre em uma bifurcação quando duas ou mais transições partindo de um mesmo estado estão habilitadas

Page 9: Dinâmica dos Objetos - UTFPR

Construções típicas● Repetições (laços): encadeamento cíclico de estados e transições contendo um controle sobre a repetição dos ciclos

Page 10: Dinâmica dos Objetos - UTFPR

Cláusula de envio● ação de envio de uma mensagem, do objeto que se está modelando, para algum outro objeto.

● Notação: acento circunflexo seguido do nome do objeto e do nome da mensagem separados por ponto

Page 11: Dinâmica dos Objetos - UTFPR

Transições reflexivas● Transição que parte de um estado e alcança o mesmo estado

● Produz ação sem afetar o estado no qual o objeto se encontra

● Indica que o objeto recebe certas mensagens (ou percebe certos eventos) sem alterar seu estado comportamental

Page 12: Dinâmica dos Objetos - UTFPR

Ações nos estados● Sempre que o estado for alcançado, as ações serão realizadas

● dois compartimentos:● identificação: contém o nome do estado● das ações: listas das ações realizadas no interior do

estado● Categorias de ações

● Entrada: realizada exatamente no momento em que se alcança o estado (antes de qualquer outra ação)

● Saída: realizadas exatamente no momento de abandono de um estado

Page 13: Dinâmica dos Objetos - UTFPR

Ações nos estados

Page 14: Dinâmica dos Objetos - UTFPR

Ações nos estados

● Categorias de ações

● Saída: realizadas exatamente no momento de abandono de um estado

Page 15: Dinâmica dos Objetos - UTFPR

Estados compostos

● Estado constituído de um conjunto de subestados● permite que se façam construções hierarquizadas com

● estados maiores no níveis iniciais → maior nível de abstração

● estados mais específicos nos níveis seguintes● menor abstração → maior detalhamento

Page 16: Dinâmica dos Objetos - UTFPR

Concorrência

● Representam dois ou mais encadeamentos de estados e transições que são percorridos simultaneamente

● A concorrência dentro de um objeto significa que ele possui mais de um fluxo de de controle (threads, processos)

● Representação → divisão de um estado composto em regiões separadas por linhas tracejadas

● Pontos de sincronismo explícito: entrada e saída do estado composto

Page 17: Dinâmica dos Objetos - UTFPR

Concorrência

Page 18: Dinâmica dos Objetos - UTFPR

Concorrência● Sincronismo entre os estados intermediários de duas ou mais concorrências

Page 19: Dinâmica dos Objetos - UTFPR

Ex. de diagramas de estados

Page 20: Dinâmica dos Objetos - UTFPR

Ex. de diagramas de estados

Page 21: Dinâmica dos Objetos - UTFPR

Ex. de diagramas de estados

Page 22: Dinâmica dos Objetos - UTFPR

Diagramas de atividades● É um diagrama de estado no qual a maioria dos estados representa a execução de ações ou atividades

● Primitivas adicionais: estados de bifurcação e convergência

Page 23: Dinâmica dos Objetos - UTFPR

Diagramas de atividades● Primitivas adicionais

● Sincronismo de concorrências

Page 24: Dinâmica dos Objetos - UTFPR

Exercício

5) Para a especificação apresentada em aula,

a partir dos diagramas de sequência criados no exercício 3, desenhe as máquinas de estado que implementem tais sequências.

Page 25: Dinâmica dos Objetos - UTFPR

Bibliografia[1] STADZISZ, Paulo Cézar. Projeto de software usando a UML. Versão 2002. CEFET-PR