1 - lafayette b. melo – análise e projeto de sistemas para a internet – coinfo – cefet-pb 12....

24
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados 12. Estados Objetivo: compreender a notação do diagrama Objetivo: compreender a notação do diagrama de estados ou de máquina de estados de estados ou de máquina de estados Em estado de sono! Acordando aluno do / Despertar () [Se necessário] Acordar Aluno

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

12. Estados12. Estados

Objetivo: compreender a notação do diagrama de Objetivo: compreender a notação do diagrama de estados ou de máquina de estadosestados ou de máquina de estados

Em estado de sono!

Acordando aluno

do / Despertar ()[Se necessário] Acordar Aluno

Page 2: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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?

Page 3: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

33 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 4: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

44 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Nos projetos da disciplina, que estados são interessantes?

• 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

Page 5: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

55 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 6: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

66 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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 – Casos de uso – Comprar ItensComprar Itens reage diferentemente ao reage diferentemente ao evento evento terminarVendaterminarVenda

– SistemasSistemas– Janelas – Quando editar e colar vale?Janelas – Quando editar e colar vale?– ......

Page 7: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

77 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Tipos de eventos– Externo – fora da fronteira do sistema

• Diagramas de sequência ilustram eventos externos– Ex.: quando o caixa aperta “entrarItem”Ex.: quando o caixa aperta “entrarItem”

– Interno – causado dentro da fronteira (mensagem ou sinal)• Diagramas de colaboração ilustram eventos internos

– Ex.: Ex.: VendaVenda recebe a mensagem recebe a mensagem criarLinhadeItemcriarLinhadeItem

– Temporal – ocorrido devido a uma data e hora específicos• Um relógio

– Após a operação Após a operação terminarVendaterminarVenda, uma operação , uma operação registrarPagamentoregistrarPagamento deve ocorrer em 5 min deve ocorrer em 5 min

Page 8: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

88 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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?

Page 9: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

99 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 10: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1010 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

do / ConCPF ()

SuspensoOciosoConsultando matrícula

Page 11: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1111 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

– 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

do / ConNUMMAT ()

Atualizando aluno

do / Gravar ()

[Se necessário] Atualizar Aluno

Page 12: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1212 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 13: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1313 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 14: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1414 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 15: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1515 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 16: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1616 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 17: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1717 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 18: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1818 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Para o LARMAN, estado composto é aninhado

Page 19: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

1919 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 20: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

2020 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• Estado concorrente – é um composto com estados paralelos

• Estado de sicronismo – necessário à espera de um estado por outro

Page 21: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

2121 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

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

Page 22: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

2222 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• EXEMPLO: encerramento de conta comum

Page 23: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

2323 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB

• 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

Page 24: 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados

2424 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB