Buscar

Aula 07 teletransmitida

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Modelagem de Sistemas
Marcelo Vasques de Oliveira
Aula 7
Aula 7 – Diagrama de Transição de Estado
Entender os conceitos e elementos do diagrama de transição de estados (DTE)
Aplicar a construção do diagrama de estados.
2
O Estado de um Objeto
O estado de um objeto é determinado pelos valores de seus atributos, em dado momento.
Garantia do encapsulamento: apenas os métodos da classe podem alterar os seus seus próprios atributos. Dessa forma apenas os métodos da própria classe devem alterar o seu estado.
Ciclo de vida do objeto: tempo que o objeto permanece vivo e ativo – vários estados
3
O Estado de um Objeto
Pela análise das transições de estados é possível identificar as operações que precisam ser realizadas para responder aos eventos. E tais operações estarão mapeadas em métodos da classe a que o objeto pertence.
O Diagrama da UML que ajuda na análise das transições entre os estados de um objeto é o DTE ou DE.
4
Diagrama de Transição de Estados
DTE descreve: 
o ciclo de vida de objetos de uma classe, 
os eventos que causam as transições entre estados e 
as operações resultantes
Mostra o comportamento de objetos de uma única classe.
DTE – 1 para cada classe com 2 ou mais estados
5
Estado
Segundo a definição de UML Guia de Usuário[Booch, Rumbauch e Jaconson, 2006], estado é uma condição ou situação na vida de um objeto durante o qual o objeto satisfaz alguma condição, realiza alguma atividade ou aguarda um evento. Um objeto permanece em um estado por um tempo finito.
6
Evento
Um evento é a ocorrência (interna ou externa) de um estímulo gerado para o objeto, capaz de mudar o seu estado atual.
Uma transição indica um movimento de um estado para o outro, pela ocorrência de um evento.
7
Pseudo estado: Inicial
Denota o estado (pseudo estado) de um objeto no momento de sua criação, no momento em que ele é instanciado na memória. Só há um estado INICIAL em um DTE, mostrando o inicio de sua leitura 
8
Pseudo estado: Final
Denota o estado (pseudo estado) do fim do ciclo de vida de um objeto. É um estado opcional, no DTE, e também pode-se ter mais um. 
9
10
11
Conclusões do DTE
Os estados determinam e delimitam as operações passíveis com aquele objeto. 
Um hóspede não pode chegar ao hotel e hospedar-se sem que tenha feito uma reserva: sem transição entre Disponível e Ocupado. 
Somente existe transição para o estado de Ocupado, estando no estado Reservado. 
12
Conclusões do DTE
Como acabamos com a obrigação de reservar um quarto para pode ocupa-lo ?
13
Detalhando a transição 
Cada transição possui três partes: 
Assinatura do gatilho, é um único evento que demanda a mudança de estado. Usamos apenas assinatura do gatilho (Cliente Faz Reserva, Cliente Faz Checkin e etc), ou seja o evento que ocasiona a transição de estado. A ausência, denota que a transição é feita imediatamente.
14
Detalhando a transição 
Cada transição possui três partes: 
Sentinela: se estiver presente, é uma condição que deve ser verdadeira para que a transição ocorra. Se ausente, indica que a transição sempre acontece. Representada entre colchetes [..], com a condição dentro.
Atividade é um comportamento executado durante a transição. A ausência diz que nada é feito durante a transição. 
15
Detalhando a transição 
Assinatura do gatilho: Saque de R$
Sentinela: [Saldo < 0]
Atividade: Aguardar depósito
Leitura: ao realizar um “Saque de R$” e o saldo ficar < ZERO, a conta transita para estado de Bloqueada, onde “aguarda um depósito”, que torne o saldo zerado ou positivo (maior ou igual a zero).
16
Otimizando o DTE
Ajudam a otimizar e reduzir a quantidade de estados e complexidade do DTE.
Ações de Entrada e Saída (entry / exit)
Atividades (do)
Transição interna (evento)
17
Ações de Entrada e Saída
Ações realizadas dentro do estado, assim que entra (entrada) e antes de sair (saída), independente da transição. 
A cláusula ENTRY (ação de entrada)
A cláusula EXIT (ações de saída).
A clausula ENTRY - ação no momento em que o objeto entra no respectivo estado
A cláusula EXIT - ação sempre que o objeto sai de determinado estado.
18
Transição Interna
Os estados pode reagir a eventos, que não ocasionam transição, usando atividades internas. 
São eventos que precisam ser tratados, mas que não ocasionam transição de estado. 
 
19
Atividades 
Em geral, objeto fica ocioso em um estado até que um evento ocorra. 
Porém pode ser que você deseje que um objeto permaneça realizando uma tarefa até que determinado evento ocorra. 
executa uma atividade enquanto está nesse estado. A cláusula DO indica que há uma atividade naquele estado.
20
Otimizando o Caso Hotel
21
Eliminar o estado EM LIMPEZA, e criar uma Ação de Saída (Exit) do estado OCUPADO e assim reduziremos o número de estados. 
Superestados
22
Um superestado ajuda a simplificar a modelagem de comportamentos complexos, sendo composto de vários estados . 
Um superestado é composto de subestados e é chamado de estado composto. 
Um estado composto pode ser sequencial ou concorrente
Superestados
23
Regra: Todos os estados dentro de um estado composto herdam suas transições.
Passo a passo para construir o DTE
24
1. Identifique os estados relevantes da classe
2. Analise possíveis eventos (mudança estado)
	Para cada evento, identifique transição
3. Para cada estado: 
	identifique as transições de um evento
	identifique os eventos internos e ações
4. Para cada transição 
	verifique condições de guarda e ações.
5. Para cada condição de guarda e para cada ação, 
	identifique os atributos e ligações
6. Defina o estado inicial e os eventuais estados finais. 
7. Desenhe o diagrama
Contribuições :DTE ao diagrama de classes
25
O DTE é feito com base nas especificações de casos de uso, nos diagramas de interação e nos diagramas de classes. 
Novos atributos e métodos podem ser descobertos ao elaboramos DTE e são adicionados ao diagrama de classes.
Pode ser necessária a atualização de métodos de uma classe para refletir o comportamento nos respectivos estados
Por exemplo, o comportamento do método sacar() da classe ContaBancária varia em função do estado no qual esta classe se encontra: saques não podem ser realizados em uma conta BLOQUEADA.
Modelagem de Sistemas
Marcelo Vasques de Oliveira
Atividades
Estudo de Caso
O Pedido pode ter vários estados 
Ao ser inserido, o status é EM ESPERA. 
Com o sinal pago, o status é PRONTO PARA PRODUÇÃO
Ao iniciar a produção da faixa, o status é EM PRODUÇÃO. 
Ao ser finalizado o status passa a ser PRONTO. 
Ao ser entregue o status passa a ser ENTREGUE. Para estar ENTREGUE o pedido tem que ter o saldo de pagamento confirmado. 
27
Estudo de Caso
28
Estudo de Caso
E se o pedido puder ser cancelado enquanto não entrar em produção
29
Estudo de Caso
30
Atividade
Questão 3: (Eletrobrás) Observe o diagrama de transição de estados a seguir. Suponha que, num dado momento, o sistema se encontra no Estado0 e que ocorra a seguinte sequencia de eventos: e c b a a 
 
O estado do sistema após a ocorrência desses eventos, será ?
( ) Estado0
( ) Estado3
( ) Estado1
( ) Estado4
( ) Estado final
31
Estudo de Caso
32

Outros materiais