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

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

UML Statechart CIn-UFPE.

Apresentações semelhantes


Apresentação em tema: "UML Statechart CIn-UFPE."— Transcrição da apresentação:

1 UML Statechart CIn-UFPE

2 Modelagem Comportamental
Diagramas de Use Case Diagramas de Seqüência Diagramas de Colaboração Statecharts Diagramas de Atividades CIn-UFPE

3 Máquinas de Estado Podem ser aplicadas para modelar o comportamento de vários elementos de UML: casos de uso específicos, objetos individuais, conjuntos de objetos, ou um sistema por completo. Especificam as seqüências de estados de um elemento em resposta aos eventos. Estado Transição Evento Ação e Atividade CIn-UFPE

4 Estado É uma situação durante a vida de um elemento, na qual ele satisfaz alguma condição, executa alguma atividade, ou espera por algum evento. Exemplos: Ocioso Recebendo Pagamento Entregando item CIn-UFPE

5 Máquina de Vendas Ociosa Recebendo R$ Oferendo serviços
Entregando Troco Despachando Item entrada de moedas(quant.) cancelar / devolver moedas [ item vazio ] [ troco < 0 ] selecionar (item) [ troco > 0 ] [ troco = 0 ] CIn-UFPE

6 Estado inicial É um estado especial que, explicitamente, mostra o início da máquina de estado. Pode existir exatamente um estado inicial em cada diagrama de estado. O ícone de estado inicial é um círculo compacto com uma flecha. CIn-UFPE

7 Estado final O estado de parada é um círculo englobando um círculo compacto com uma flecha. Normalmente, você pode assumir que a máquina de estado associada a uma classe sairá de sua existência quando o estado final é atingido. CIn-UFPE

8 Estados CIn-UFPE

9 Partes de um Estado Nome Ações de entrada (entry):
Quando entrar no estado, a ação será executada Ações da saída (exit): Quando sair do estado, a ação será executada. Atividades (do): Enquanto no estado, o objeto faz algo que continuará a ser executado até ser interrompido por um evento CIn-UFPE

10 Partes de um estado: exemplo
Nome-do-estado entry/ação-de-entrada exit/ação-de-saída do/atividade CIn-UFPE

11 Transição É um relacionamento entre dois estados, indicando que o objeto no primeiro estado irá executar certas ações e entrar no segundo estado quando o evento especificado ocorrer e as condições especificadas forem satisfeitas. Uma transição de estado é uma mudança de estado causada por um evento. Utiliza-se transições de estado para conectar dois estados em um diagrama de estado ou para mostrar transições de um estado para ele mesmo. CIn-UFPE

12 Transição Pode-se mostrar uma ou mais transições de estado desde que cada transição seja única. O ícone para uma transição de estado é uma linha com uma ponta de flecha apontando para o próximo estado. Ocioso Esfriando Quente demais CIn-UFPE

13 Partes da transição Estado fonte Evento de disparo Condição de guarda
Ação Estado alvo CIn-UFPE

14 Evento de disparo Ocorrência de um estímulo que pode disparar uma transição de estado. Ex: Apertar o botão do mouse; Discar um dígito (número) É possível haver uma transição sem um evento de disparo. CIn-UFPE

15 Condição de guarda Expressão booleana entre [ ], colocada após o evento de disparo. A condição de guarda é avaliada apenas após a ocorrência do evento de disparo da transição. CIn-UFPE

16 Exemplo: Sinal de trânsito
Norte/Sul seguir em frente Norte/Sul virar à esquerda encerrado o tempo [carros na via N/S esq.] encerrado o tempo [sem carros na via N/S esq.] encerrado o tempo encerrado o tempo encerrado o tempo [sem carros na via L/O esq.] Leste/Oeste virar à esquerda Leste/Oeste seguir em frente encerrado o tempo [carros na via L/O esq.] CIn-UFPE

17 Ação e Atividade Ação: uma resposta instantânea a uma transição
Usualmente associada a uma transição, embora possa ser associada a um estado Atividade (do): Uma operação que tem uma certa duração, normalmente associada a um estado. CIn-UFPE

18 Problemas com Maq. Estados
Máquinas de estados não estruturadas não possuem bom poder de expressão e tornam-se impraticáveis para problemas grandes. As formas de estruturação: Subestados seqüenciais Subestados concorrentes CIn-UFPE

19 Subestado seqüencial Ocioso Manutenção Validando Selecionando
fazerManutenção Validando Selecionando Processando Imprimindo H entry / lerCartão exit / ejetarCartão cartãoInserido cancelar Ativo CIn-UFPE

20 Subestado concorrente
Pode ser mostrado com partições pontilhadas. Relógio alarmeON alarmeOFF 12hs 24hs Acabou Bateria Inserir Bateria CIn-UFPE

21 Subestado concorrente
Divisão do Controle: Subestado 1 Subestado 2 Subestado 4 Subestado 3 evento 0 evento 1 evento 2 evento 3 evento 4 CIn-UFPE

22 Transições e Estados Compostos
De um estado para um estado no mesmo nível. Diretamente para um subestado, ou diretamente de um subestado. Diretamente de um superestado, o que significa que a transição de estado aplica-se para cada subestado do superestado (Supertransição). Diretamente para um superestado com subestados, o que significa transição para o estado inicial do superestado. CIn-UFPE

23 História Freqüentemente, quando transiciona-se diretamente para um estado com subestados, você quer retornar ao estado visitado mais recentemente no super-estado. Use a letra H dentro de um círculo para representar o log da história. H CIn-UFPE

24 História Neste exemplo, quando ocorrer uma falha,
o super-estado Failure poderá começar em qualquer dos subestados, dependendo da última visita ao super-estado. CIn-UFPE

25 Relação entre diagrama de classes e statecharts
Statecharts especificam uma seqüência permitida de mudanças de estado nos objetos associados às classes do Diagrama de Classes. Constrói-se um Statechart para cada classe com comportamento temporal significativo. Objetos se comunicam pelo envio e resposta a eventos. CIn-UFPE

26 Relação entre diagrama de classes e statecharts
Eventos, ações e atividades podem ser representados como operações das Classes. Diferenças temporais de estado de um objeto são apropriadamente modeladas através de estados diferentes de uma mesma classe. CIn-UFPE

27 Dicas Digramas de Use Cases e Interação ajudam o início do processo de construção de Statecharts. Somente construa Statecharts para classes de objetos com um comportamento dinâmico significativo. Nem todas as classes de objeto necessitam de um Statechart. Somente considere os atributos relevantes quando da definição de um estado. Nem todos os atributos mostrados nas classes precisam ser usados num Statechart. CIn-UFPE


Carregar ppt "UML Statechart CIn-UFPE."

Apresentações semelhantes


Anúncios Google