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

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

Diagramas de Estado.

Apresentações semelhantes


Apresentação em tema: "Diagramas de Estado."— Transcrição da apresentação:

1 Diagramas de Estado

2 Tópicos Abordados Diagramas de Estado Introdução Conceitos
Estados Aninhados Estados Concorrentes e Sincronização

3 Introdução Diagramas de Estado de David Harel (statecharts)
avanço às máquinas de estado tradicionais planas Proporcionam uma definição formal explícita de comportamento, permitindo uma verificação dos eventos e transições de estados aos quais um sistema está sujeito.

4 Diagramas de Estado Mostra os estados que os objetos de uma classe podem assumir Mostra as transições permitidas entre pares de estados Ideal para objetos que possuem poucos estados

5 Diagramas de Estado Estado em objeto  a ordem na qual as operações são executadas é importante (idéia de objetos como máquinas independentes). Quando a ordem das operações no tempo é importante, pode-se formalizar o comportamento de um objeto em termos de uma máquina de estado finito equivalente.

6 Diagramas de Estado Desvantagem  é necessário definir todos os possíveis estados de um sistema, o que pode levar a uma “explosão” no número de estado para sistemas complexos. Na UML contorna-se o problema empregando -se um diagrama de estado individualizado, para cada classe.

7 Exemplo Classe Pedido Ciclo de vida para um objeto pedido: é gerado, e pode passar por uma série de estados: em análise, pendente, alterado, aprovado, atendido (e daí gera-se faturas), rejeitado ou cancelado (deixando de existir) Operações subjacentes: registrar pedido alterar pedido

8 Exemplo Classe Pedido - operações subjacentes:
a) Registrar pedido h) Colocar pedido em pendência b) alterar pedido i) Tirar pedido de pendência c) Cancelar pedido j) Colocar pedido para atendimento d) colocar pedido em análise k) Atender pedido e) Analisa pedido f) Colocar pedido para aprovação g) Aprovar pedido

9 Diagrama de Estado para a classe Pedido
Alteração de pedido solicitada Pedido enviado Cancelamento de pedido solicitado Alterando pedido Registrando pedido Cancelando pedido Pedido para análise requisitado Pedido será cancelado Pedido cancelado Analisando pedido Aprovando pedido Pedido para aprovação Pedido não pode ser atendido no momento Pedido será atendido Pedido já pode ser atendido Pedido atendido Colocando pedido em pendência Atendendo pedido

10 Estados Aninhados Alguns diagramas requerem estados internos a outros estados Exemplo: Máquina de uma fábrica Classe Máquina atributo statusDeOperação // estado de operação atual atributo statusDeManutenção // estado de manutenção

11 Notações do diagrama de estado UML
Notação definidas por Harel (Statecharts) Entrar: ação de entrada fazer: atividade-A no evento 1: ação-1 ... Sair: saída-da-ação Nome-do-estado Estado inicial Estado final Assinatura-de-evento[condição de guarda]/ expressão-de-ação ^ cláusula-de-envio

12 Estados aninhados Subestado 2 Subestado 1 Subestado 3 superestado

13 Indicador de história Interrompe B A A1 Retorna H A2
Obs: O indicador de história pode ser H*, que indica história recursiva.

14 Subestado concorrente
Itens selecionados Carga montada montando carga selecionando itens de carga Romaneio emitido Emitindo romaneio Preparando despacho de mercadoria

15 Subestado seqüêncial Fechamento de negócio Crédito OK Analisando itens
de compra Analisando crédito do associado Itens analisados Negócio fechado Negociando condição de compra

16 Transição complexa A1 A4 B1 B2

17 Exemplo -Diagrama de Estado para o objeto MáquinaAgrícola

18 Exemplo - Diagrama de Estado para o objeto Máquina

19 Exemplo -Diagrama de Estado Aninhado

20 Exemplo - Símbolo de História (Máquina de lavar)

21 Exemplo - Estados Concorrentes e Sincronização

22 Exemplo - Diagrama de estados para objeto OfertaCurso
Do/ Inicialize dados oferta de curso Inicialização Do/ Finalize curso Fechada Adicinar estudante/faça cont =0 ^TarefaCurso.create [cont = 10] cancelar Entrada/ Registrar estudante saída/ ^TarefaCurso.Adicione_ Estudante(estudante) Aberta cancelar Cancelado TarefaCurso.remove Adicionar estudante[cont < 10]

23 Considerações finais Os diagramas de estado são usados para modelar o comportamento interno de um objeto, mostrando os seus estados. São usados apenas para modelar o comportamento de classes com comportamento dinâmico “significativo” Os diagramas de interação podem ser estudados para determinar os objetos dinâmicos do sistema (aqueles que recebem e enviam muitas mensagens)


Carregar ppt "Diagramas de Estado."

Apresentações semelhantes


Anúncios Google