Buscar

Aula 23

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Diagrama de Máquina de Estados
Diagrama de Máquina de Estados
Procura acompanhar as mudanças de estado sofridas por um objeto dentro de um determinado processo;
O fato de o Diagrama de Estados estar geralmente associado a uma classe, ou mesmo aos objetos de uma classe envolvidos em um determinado processo, faz com que possa haver diversos Diagramas de Estados referentes ao mesmo processo;
É recomendado que só se construa Diagramas de Estados quando existir um certo grau de complexidade referente à Transição de Estados de um objeto envolvidos no processo;
Diagrama de Máquina de Estados
Pode ser usada para especificar o comportamento de vários elementos do modelo;
O elemento modelado muitas vezes é uma instância de uma classe;
No entanto, pode-se usar esse diagrama para modelar o comportamento de um caso de uso;
Estado
Um estado representa a situação em que um elemento (muitas vezes um objeto) se encontra em um determinado momento durante o período em que este participa de um processo;
Um objeto passa por diversos estados dentro de um mesmo processo;
Um estado pode representar:
A espera pela ocorrência de um evento;
A reação a um estímulo;
A execução de alguma atividade;
A satisfação de alguma condição;
Estado simples
Um estado simples é aquele que não possui sub-estados, ou seja, não possui estados internos;
É o tipo mais comum de estado;
É representado por um retângulo com os cantos arredondados armazenando a descrição do estado;
Normalmente, descrito no gerúndio, pois representa que está executando uma atividade;
Consultando Conta
Estado simples
Porém, se o objeto está esperando por um evento, estará em um estado estático e portanto, não se deve usar o gerúndio;
No exemplo abaixo, o produto foi suspenso por algum motivo e está esperando por um evento que o tire do estado atual;
Produto suspenso
Transição
Representa um evento que causa uma mudança no estado de um objeto, gerando um novo estado;
Este tipo de evento é conhecido como Evento de Ativação;
Uma Transição é representada por uma reta ligando dois estados, contendo uma seta em uma das extremidades;
A ponta da seta indica o novo estado gerado pelo evento;
Transição
Consultando Conta
Validando Senha
Senha informada
Estado Inicial
É um estado abstrato cuja função é determinar o início de um Diagrama de Estados;
O Estado Inicial é representa por círculo preenchido, a partir do qual é gerada uma transição que determina o início do processo;
Estado Inicial
Consultando Conta
Validando Senha
Senha informada
Conta informada
Estado Final
Assim como o Estado Inicial, também é um estado abstrato cuja função é indicar o final do Diagrama de Estados;
O Estado Final é representado por um círculo não preenchido envolvendo um outro círculo preenchido;
Estado Final
Consultando Conta
Validando Senha
Senha informada
Conta informada
Consultando saldo
Emitir saldo
Saldo
Atividades internas
Os estados podem possuir uma segunda divisão, além de seu título;
Representa as atividades que um objeto pode executar quando em um estado;
Podem ser detalhadas em:
Entry: identifica que a atividade é executada quando o objeto entra em um estado. Sempre que o estado é assumido, ele executa o comportamento desta cláusula;
Exit: identifica que a atividade é executada quando o objeto sai de um estado. Sempre que o estado é abandonado, ele executa o comportamento desta cláusula;
Do: identifica que a atividade é executada durante o tempo em que o objeto se encontra em um estado. Também são chamadas de atividades de estado;
Atividades internas
As cláusulas Entry e Exit estão mais associadas às transições do que ao estado propriamente dito, já que são executadas quando o objeto assume um novo estado ou quando está mudando de estado;
Além disso, seu tempo de execução costuma ser menor, representando normalmente uma simples atribuição de valores ou geração de saída;
Estas cláusulas não são obrigatórias e nem sempre um estado conterá qualquer uma delas;
Atividades internas
São representadas em uma segunda divisão do estado;
Consultando Conta
+ do / consultar_conta( )
Diagrama de máquina de estados
Consultando Conta
Solicitando Senha
Conta encontrada
Conta informada
Validando senha
Senha informada
Senha correta
Consultando saldo
Saldo
Apresentando saldo
+ do / consultar_conta( )
+ do / validar_senha( )
+ do / saldo_conta( )
Diagrama de máquina de estados
No exemplo anterior, enquanto o objeto estiver no estado Consulta Conta, ele executará o método consultar_conta();
Já no estado Solicitando Senha não está sendo representada nenhuma atividade, uma vez que esse estado representa a espera para que o cliente informe a senha e Apresentando Saldo representa a simples apresentação do valor do saldo na interface;
Poderia-se inserir uma cláusula Entry no último estado Apresentando Senha, mas ficaria redundante, pois seu título já mostra isso;
Transições internas
No exemplo abaixo, a cláusula do determina que deverá ser executado o método regPes de registro da pessoa, quando o objeto se encontra neste estado;
A segunda cláusula representa uma transição interna, onde o CPF deverá ser validado;
Embora esteja validando o CPF, ele ainda se encontra no estado Registrando Pessoa, não havendo mudança de estado;
Registrando Pessoa
+ do / regPes( )
+ valCPF( )
Autotransições
Apresenta pequenas diferenças em relação às transições internas;
Transições internas ocorrem durante um estado do objeto, sem modificá-lo, enquanto autotransições saem do estado atual do objeto, podendo executar alguma ação dessa saída, retornando ao mesmo estado;
É representada por uma seta que parte do objeto e retorna ao próprio objeto;
Autotransições
Registrando pedido
Atendendo pedido
Atender pedido
Finalizando pedido
Finalizar pedido
[todos os itens disponíveis]
Item adquirido
[nem todos os itens disponíveis]
Pseudoestado de Escolha
Representa um ponto na transição de estados de um objeto em que deve ser tomada uma decisão, a partir do qual, um determinado estado será ou não gerado;
É representado por um losango, de onde partem duas ou mais possíveis transições;
Pseudoestado de Escolha
Consultando Conta
Apresentando Dados
Pessoa
CPF informado
Recebendo Dados 
Pessoa
Dados recebidos
Apresentando saldo
+ do / consCPF( )
Se encontrado
Não encontrado
Encerrar
Se necessário, incluir ou alterar
Exercício 1
Desenvolva o Diagrama de Máquina de Estados referente ao processo de venda de ingressos para um sistema de controle de cinema:
Ao selecionar a opção de venda de ingressos, o sistema irá selecionar todas as sessões ainda não encerradas. Cada sessão deve consultar a sala e o filme que será selecionado;
A partir da listagem apresentada, o funcionário deverá escolher a sessão desejada pelo cliente;
Finalmente, o funcionário deverá gerar o ingresso referente à sessão escolhida;
Exercício 2
Faça o Diagrama de Máquina de Estados para o pagamento de mensalidades de um clube social:
Primeiramente é necessário consultar o sócio que deseja pagar mensalidades através do número do cartão;
Após a consulta do sócio, deve-se consultar as mensalidades que ele está devendo;
Se houver alguma mensalidade em atraso, é preciso calcular os juros do atraso do pagamento;
Em seguida, as mensalidades são apresentadas e o cliente escolhe as que deseja pagar;
Finalmente, deve-se quitar as mensalidades e emitir o recibo;

Outros materiais