A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem Orientada a Objetos Modelagem Dinâmica Diagrama de Estados.

Apresentações semelhantes


Apresentação em tema: "Modelagem Orientada a Objetos Modelagem Dinâmica Diagrama de Estados."— Transcrição da apresentação:

1 Modelagem Orientada a Objetos Modelagem Dinâmica Diagrama de Estados

2 Objetivos de um diagrama de estados n Representar o comportamento dinâmico de classes individuais n Representar o comportamento dinâmico de colaboração entre classes

3 Elementos de um diagrama de estados n os estados possíveis para os objetos de uma certa classe n as transições de estado n os eventos que causam transições de estados n as ações decorrentes de –uma transição de estado –entrada em um estado –saída de um estado n as ações realizadas por objetos enquanto estão em um certo estado –durante todo o tempo em que o objeto está no estado –decorrente de algum evento n as condições para ocorrer uma transição de estado ou para a execução de uma ação.

4 Diagramas de Estados n Relaciona eventos e estados n Um objeto muda de estado dependendo do evento e do estado atual. n Transição: modificação de estado causada por um evento (mesmo quando estado final e inicial coincidem). n Um evento pode ser irrelevante para um objeto em um certo estado. n Exemplo: linha telefônica

5 Diagramas de Estados Exemplo : Linha telefônica Inativa Sinal de discar Ligando Tocando Interligando Desligando Queda- da-linha Mensagem gravada Sinal de ocupado Sinal de ocu- pado rápido no-gancho dígito( n ) no-gancho Discando Mensagem terminada encaminhado telefone chamado atende telefone chamado desliga número válido número invalido fora-do-gancho dígito( n ) número ocupado tronco ocupado queda-da-linha

6 Diagramas de Estados Exemplo : jogo de xadrez Vez das brancas Vez das pretas brancas jogam pretas jogam Início cheque-mate empate forçado cheque-mate Pretas vencem Brancas vencem Empate Diagrama de estados de uma só passagem para um jogo de xadrez

7 Tipos de diagramas de estados n Diagrama de laço contínuo: representa um ciclo de vida; sem estado inicial ou final. Exemplo: linha telefônica. n Diagrama de uma só passagem: representa objetos com vida finita; possuem um estado inicial (criação do objeto) e um estado final (destruição do objeto). n Exemplo: jogo de xadrez

8 Condições n Uma condição é uma função booleana de valores, válida dentro de um intervalo de tempo. n Condições funcionam como guardas nas transições: uma transição só dispara quando ocorre o evento e a condição de guarda for verdadeira. n Exemplo: Veículo em um cruzamento.

9 Diagramas de Estados Exemplo: Veículo em um cruzamento Leste / Oeste podem dobrar à esquerda tempo decorrido Diagrama de estados com transições guardadas Leste / Oeste podem ir em frente Norte / Sul podem ir em frente tempo decorrido [ carros nas vias esquerdas N / S ] tempo decorrido [ carros nas vias esquerdas L / O ] tempo decorrido tempo decorrido [ sem carros nas vias esquerdas N / S ] Norte / Sul podem dobrar à esquerda tempo decorrido [ sem carros nas vias esquerdas L / O ]

10 Controle de Operações n Atividades e ações podem ser vinculadas a estados e eventos a fim de se especificar o que faz o objeto quando está em um determinado estado e o que faz em resposta a estímulos externos. n Definem o comportamento do objeto!

11 Atividade n Está sempre vinculada a um estado n Consome tempo para se completar n É executada continuamente durante o tempo em que o objeto está num certo estado n Notação:faça: atividade n Exemplo: Um vendedor logo após ter recebido dinheiro para pagamento do item vendido deve calcular o troco. faça: calcular troco

12 Ação n Está normalmente vinculada a um evento, mas também pode estar vinculada a um estado (ações de entrada, saída e internas) n É executada "instantaneamente" n Notação:evento / ação n Exemplo: Exibir um menu quando o botão direito do mouse é pressionado. botão direito pressionado / exibir menu

13 Controle de Operações Ações para um menu instantâneo Inativo botão direito pressionado / exibir menu instantâneo Menu visível botão direito liberado / apagar menu instantâneo cursor movimentado / iluminar item do menu

14 Diagrama de Estados com Operações Notação Estado 1 faça : atividade 1 Evento 1 ( atributos ) [ condição 1 ] / ação 1 Estado 2... Exercício: reescrever o diagrama de uma chamada telefônica utilizando a notação acima

15 Diagramas de Estados Nivelados n Permitem refinamentos sucessivos do modelo dinâmico n Permitem uma descrição estruturada do sistema n Pode-se expandir: –um evento e sua correspondente ação –uma atividade realizada em um certo estado n Exemplo: Máquina de vender

16 Diagramas de Estados Nivelados Exemplo : máquina de vender Inativa moedas introduzidas ( quantia ) verificar saldo Recolhendo dinheiro moedas introduzidas ( quantia ) / acrescentar ao saldo faça : entregar item faça : preparar troco faça : testar item e calcular troco [ troco = 0 ] [ troco < 0 ] Selecionar ( item ) [ item vazio ] cancelar / devolver moedas

17 Diagramas de Estados Nivelados Exemplo : máquina de vender Faça : mover braço para a fileira correta faça : preparar item Faça : mover braço para a coluna correta faça : empurrar item para fora da prateleira braço pronto empurrado dígito( n ) clear faça : acrescentar dígito dígito( n ) enter Selecionar( item ) Atividade entregar item da máquina de vender Transição selecionar item da máquina de vender

18 Generalização de Estados n Os estados de um objeto podem ser organizados de forma hierárquica, em super-estados e sub-estados. n Um sub-estado é um refinamento de um super-estado, i.e., um sub-estado é um dos possíveis estados do objeto dentro daquele super-estado. n Um sub-estado herda as transições do super-estado; transições que se aplicam ao super-estado também se aplicam ao sub-estado. n Exemplos: linha telefônica, transmissão automática de um automóvel

19 Generalização de Estados Exemplo : transmissão de um carro Primeira SegundaTerceira sobe Neutro Ré apertar R apertar N reduz sobe reduz Para a frente pára apertar F apertar N

20 Generalização de Eventos n Os eventos que ocorrem em um sistema podem ser organizados de forma hierárquica, em super-eventos e sub-eventos. n Um sub-evento herda atributos do super-evento. n Onde um evento é descrito qualquer sub-evento seu é implicitamente descrito. n A generalização de eventos facilita a abstração e permite concisão na representação de diagramas. n Exemplo: Entrada do usuário.

21 Generalização de Eventos Exemplo : eventos de teclado evento Entrada do usuário Botão do mouse apertado controlegráfico espaçoalfanuméricopontuação tempo dispositivo Botão do mouse localização caracter do teclado caracter Botão do mouse liberado Hierarquia parcial de eventos para eventos de teclado

22 Concorrência de Agregação n O estado de um objeto composto (um agregado) é determinado pelos estados dos objetos que o compõem. n Exemplo: O estado de um carro é determinado pelo estado da ignição, da transmissão, do freio, do acelerador, do motor,... n Os componentes de um agregado normalmente interagem entre si: a mudança de estado de um componente pode disparar uma transição em outro componente. n A interação entre diagramas de estados de componentes é representada através de eventos compartilhados e/ou condições de guarda.

23 Concorrência de Agregação Carro IgniçãoTransmissãoFreioAcelerador Desligada PartidaLigada Girar chave para dar partida [ transmissão em Neutro ] desligar a chave liberar chave Ignição Desligado Ligado apertar acelerador apertar freio liberar aceleradorliberar freio Acelerador Freio Desligado Partido

24 Concorrência Interna de Objetos n O diagrama de estados de um objeto pode ser particionado de acordo com atributos e ligações em sub-diagramas. n O estado do objeto compreende um estado de cada sub-diagrama. n Um mesmo evento pode causar transições em mais de um sub-diagrama. n Exemplo: Jogo de bridge rubber.

25 Concorrência Interna de Objetos Não vulnerável Vulnerável N-S vence rubber L - O vence rubber Vulnerabilidade N - S jogo N - S Vulnerabilidade L - O jogo L - O jogo N - S jogo L - O Jogando rubber Jogo de bridge com estados concorrentes

26 Transição Automática n Disparada quando a atividade vinculada a um estado termina n O "evento" que causa a transição é o término da atividade n Exemplo: Máquina de vender no estado correspondente a atividade testar item e calcular troco pode disparar uma de quatro transições automáticas.

27 Ações de Entrada e de Saída n Ações vinculadas ao ato de entrar ou sair de um estado n Não adicionam poder de expressão, mas permitem uma representação mais concisa n Exemplo: Controle de uma porta de garagem (p. 135)

28 Envio de Eventos n Uma ação pode ser especificada como enviar um certo evento para outro objeto. n Notação:enviar E (atributos) (palavra enviar pode ser omitida) n Exemplo: Uma linha telefônica envia o evento ligar(número-de-telefone) para o comutador quando um número completo é discado. número completo / ligar(número-de-telefone)

29 Sincronização de Eventos Concorrentes n Um objeto pode executar várias atividades de forma concorrente (paralela). n As atividades não são necessariamente sincronizadas, mas todas devem terminar para que ocorra transição de estado. n Exemplo: Caixa automática.

30 Sincronização de Eventos Concorrentes Faça : entregar dinheiro Faça : ejetar cartão Pronta para reinicializar Emitindo cartão recolhido dinheiro recolhido Preparação


Carregar ppt "Modelagem Orientada a Objetos Modelagem Dinâmica Diagrama de Estados."

Apresentações semelhantes


Anúncios Google