Buscar

10 - Diagramas de Estado

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

* - 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 ou de máquina de estados
Em estado de sono! 
Acordando aluno
do / Despertar ()
[Se necessário] Acordar Aluno
* - 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?
* - 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
* - 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
* - 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
* - 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 – Comprar Itens reage diferentemente ao evento terminarVenda
Sistemas
Janelas – Quando editar e colar vale?
...
* - 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”
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
* - 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?
* - 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
* - 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 ()
Suspenso
Ocioso
Consultando matrícula
* - 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
* - 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
* - 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
* - 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
* - 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
* - 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
* - 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
* - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 
Para o LARMAN, estado composto é aninhado
* - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 
Estado de história – representa o último sub-estado
* - 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
* - 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
* - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 
EXEMPLO: encerramento de conta comum
* - 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
* - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas Recentes