html5-img
1 / 24

12. Estados

12. Estados. Em estado de sono!. Acordando aluno. do / Despertar (). [Se necessário] Acordar Aluno. Objetivo: compreender a notação do diagrama de estados ou de máquina de estados. Para o LARMAN, há necessidade de algumas definições Evento – ocorrência significativa ou que merece explicação

fay-hart
Download Presentation

12. Estados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 12. Estados Em estado de sono! Acordando aluno do / Despertar () [Se necessário] Acordar Aluno Objetivo: compreender a notação do diagrama de estados ou de máquina de estados

  2. Para o LARMAN, há necessidade de algumas definições • Evento – ocorrência significativa ou que merece explicação • Estado – condição de um objeto em certo momento no tempo • Transição – relacionamento entre dois estados • Vocês acham que há a necessidade de representar todos os eventos?

  3. Tipos de DE • 1) casos de uso • 2) o “sistema” • 3) classes • 1) DE’s de casos de uso – sequência de eventos externa reconhecida e tratada pelo sistema • A sequência define o momento • A sequência define em que momento uma operação ou caso de uso é válido

  4. No projeto, para que o aluno se matricule em uma turma, que outras operações são válidas? • Utilidade dos DE’s nos casos de uso • Prover o projeto e a implementação de garantias de que não ocorreram eventos fora da sequência • Desenvolvimento de um projeto que garanta a ordem correta dos eventos do sistema • Testes condicionais • Uso de padrões • Evitar eventos ilegais • Interpretador de máquina de estados que executa uma tabela de estado

  5. 2) DE’s do sistema • Variante da dos casos de uso • União de todos os diagramas de estados de casos de uso para eventos do sistema

  6. Que outros elementos necessitam de diagramas de estado? • Tipos dependentes de estado – reagem de maneiras diferentes a eventos de acordo com o estado • Devem ser criados DE’s para tipos que não tenham comportamento simples • Casos de uso – Comprar Itens reage diferentemente ao evento terminarVenda • Sistemas • Janelas – Quando editar e colar vale? • ...

  7. Tipos de eventos – SUPER-DICAS!! • Externo – fora da fronteira do sistema • Diagramas de sequência ilustram eventos externos • Ex.: quando o caixa aperta “entrarItem” • Interno – causado dentro da fronteira (mensagem ou sinal) • Diagramas de colaboração ilustram eventos internos • Ex.: Venda recebe a mensagem criarLinhadeItem • Temporal – ocorrido devido a uma data e hora específicos • Um relógio • Após a operação terminarVenda, uma operação registrarPagamento deve ocorrer em 5 min

  8. Vocês acham que devem ser usados diagramas para que tipos de eventos? • O LARMAN diz que deve ser dada preferência à utilização de diagramas de estado para ilustrar eventos externos e temporais e a reação a eles, em vez de usá-los para projetar o comportamento de objetos baseado em eventos internos • Outros autores, como Guedes, usam mais para entender as mensagens e a relação com os métodos • E no projeto, como deve ser usado? Deve ser usado? Ignorado no projeto e na disciplina? Utilizado na disciplina em exercícios descontextualizados?

  9. Guedes afirma que os DE’s devem ser utilizados para mostrar as mudanças sofridas por um objeto dentro de um processo • Acompanhando estados pelos quais passam uma ou mais instâncias de uma classe • Representando estados de caso de uso • Representando estados gerais de um sistema ou subsistema • Vejamos como Guedes define os termos... • Estado – situação em que um objeto se encontra em um determinado momento • Espera pela ocorrência de um evento • Reação a um estímulo • Execução de uma atividade • Satisfação de uma condição

  10. Elementos do estado: • Descrição – Indicam realização de atividade (em gerúndio) ou esperando um evento • Atividades - possuem um tempo de execução maior • Métodos • Associada a um estado • Cláusula Do Consultando matrícula Ocioso Suspenso Consultando matrícula do / ConCPF ()

  11. Ações – possuem um tempo de execução pequeno • Atribuição a um atributo ou geração de uma saída • Associada a uma transição • Cláusulas Entry e Exit • Transições – evento que causa mudança de um estado para outro • Transições não ativadas são simples conclusões de atividades Consultando matrícula Atualizando aluno do / ConNUMMAT () do / Gravar () [Se necessário] Atualizar Aluno

  12. Estado inicial – abstração de determinar o início do gráfico • Transição de um estado inicial pode ou não conter uma descrição • Estado final – abstração de determinar o final do gráfico

  13. Transições internas – não produzem modificações no estado de um objeto

  14. Auto-transição – saem do estado atual de um objeto, podendo ou não realizar uma ação, e retornam ao mesmo estado

  15. Estado de ponta de escolha dinâmico – toma-se uma decisão a partir da qual um estado será ou não gerado

  16. Barra de sincronização – para estados paralelos ou transições concorrentes • Junção ou ponto de junção – união de dois ou mais processos paralelos

  17. Estado composto – contêm dentro de si dois ou mais estados denominados sub-estados

  18. Para o LARMAN, estado composto é aninhado

  19. Estado de história – representa o último sub-estado

  20. Estado concorrente – é um composto com estados paralelos • Estado de sicronismo – necessário à espera de um estado por outro

  21. Estado de sub-máquina – indica que os sub-estados serão representados em outro diagrama

  22. EXEMPLO: encerramento de conta comum

  23. EXEMPLO: controle de cursos • Faça um diagrama de estados para um sistema de um curso de informática equivalente ao módulo de matrícula do aluno em uma turma de determinado curso, enfocando os estados de um objeto da classe Matrícula, de acordo com o seguinte: • 1) o usuário deve selecionar o curso ao qual a matrícula se refere • 2) deve selecionar a turma da matrícula em questão • 3) o atendente deve selecionar o aluno que deseja realizar a matrícula e então registrar a matrícula

More Related