Mudanças entre as edições de "Guilherme Anderson-PJI2-2020-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 92: Linha 92:
 
===Notificação===
 
===Notificação===
  
[[Arquivo:notify.png |center| Diagrama de casos de uso]]
+
[[Arquivo:notify.png |center| Notificação]]
 
 
 
 
 
 
 
 
:
 
::
 
:::
 
::::
 
:::::
 
::::::
 
:::::::
 
::::::::
 
:::::::::
 
::::::::::
 
:::::::::::
 
::::::::::::
 
:::::::::::::
 
::::::::::::::
 
:::::::::::::::
 
::::::::::::::::
 
:::::::::::::::::
 
::::::::::::::::::
 
:::::::::::::::::::
 
::::::::::::::::::::
 
:::::::::::::::::::::
 
::::::::::::::::::::::
 
:::::::::::::::::::::::
 
::::::::::::::::::::::::
 
:::::::::::::::::::::::::
 
::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: <br  />
 
 
 
:
 
::
 
:::
 
::::
 
:::::
 
::::::
 
:::::::
 
::::::::
 
:::::::::
 
::::::::::
 
:::::::::::
 
::::::::::::
 
:::::::::::::
 
::::::::::::::
 
:::::::::::::::
 
::::::::::::::::
 
:::::::::::::::::
 
::::::::::::::::::
 
:::::::::::::::::::
 
::::::::::::::::::::
 
:::::::::::::::::::::
 
::::::::::::::::::::::
 
:::::::::::::::::::::::
 
::::::::::::::::::::::::
 
:::::::::::::::::::::::::
 
::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Diagrama de sequência de leitura de dados do usuário
 
  
 
===Leitura|Configuração externa===
 
===Leitura|Configuração externa===

Edição das 15h20min de 19 de setembro de 2020

Responsaveis

  • Anderson Gaspar, e-mail: andersongasparm@gmail.com
  • Guilherme Lopes Roque, email: guilherme.lroque@gmail.com

Levantamento de Requisitos

Funcionais:

  • RF.01 O sistema deve possuir uma estação Raspberry que servirá como gerenciador de sensores.
  • RF.02 O sistema deve permitir a instalação e remoção física de sensores da estação;
  • RF.03 O sistema deve possuir uma API Rest para servir de interface do usuário com o sistema;
  • RF.04 O sistema deve possuir um servidor de fila de mensagens para as notificações.
  • RF.05 O sistema deve permitir a configuração valores limites de leitura dos sensores para gatilho das notificações da estação.
  • RF.06 O sistema deve permitir a configuração do tempo do ciclo de leitura dos sensores;
  • RF.06 O sistema suportar inicialmente os seguintes sensores:
  1. HDC1080
  2. BMP180
  3. DHT11
  4. Presença PIR

Não funcionais:

  • RNF.01 - O usuário deve estar conectado à Internet para receber as notificações geradas pelo sistema
  • RNF.02 - O usuário deve estar no mesmo enlace de rede para acessar o sistema;
  • RNF.03 - O software desenvolvido para a estação Raspberry deve ser modular, prevendo futuras melhorias incrementais, como a compatibilidade com outros sensores;

Casos de uso

Caso de uso: Registrar sensor

Ator primário: Administrador.

Ator secundário: Sensor.

Sistema: Estação Metereológica

Fluxo principal:

  • O Administrador faz a instalação física do sensor na placa da Raspberry Pi.
  • O Administrador envia uma requisição HTTP contendo os dados do sensor a ser registrado para a Estação Metereológica;
  • O sistema configura e ativa o sensor e responde ao Administrador uma mensagem HTTP de sucesso;

Caso de uso: Remover sensor

Ator primário: Administrador

Ator secundário: Sensor.

Sistema: Estação Metereológica

Fluxo principal:

  • O Administrador envia uma requisição HTTP contendo o identificador do sensor a ser removido.
  • O sistema remove o sensor de seus registros e rotinas e responde o Administrador uma mensagem HTTP de sucesso.
  • O Administrador faz desconexão física do sensor na placa da Raspberry Pi

Caso de uso: Alterar registro

Ator primário: Usuário

Atores secundários: Broker e Sensor.

Sistema: Estação Metereológica

Fluxo principal:

  • O usuário envia uma requisição HTTP contendo os dados do sensor a ser atualizado para o Broker;
  • O Broker executa suas rotinas internas de enfileiramento e roteamento e repassa a requisição para o sistema.
  • O sistema configura o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;

Caso de uso: Requisitar dados

Ator primário: Usuário

Atores secundários: Broker e Sensor.

Sistema: Estação Metereológica

Fluxo principal:

  • O usuário envia uma requisição HTTP contendo os dados do sensor a ser lido para o Broker;
  • O Broker executa suas rotinas internas de enfileiramento e roteamento e repassa a requisição para o sistema.
  • O sistema lê o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;

Caso de uso: Notificação

Ator primário: Estação Metereológica

Atores secundários: Broker, Sensor e Usuário.

Fluxo principal:

  • O sistema identifica um valor fora dos limites configurados para o sensor através de sua rotina interna de leitura.
  • O sistema envia para o Broker a notificação que deve ser repassada para todos os usuários (broadcast)
  • O Broker executa suas rotinas internas de enfileiramento e roteamento e repassa a notificação para todos os usuários.

Diagrama de casos de uso

Diagrama de casos de uso

Diagrama de classes

Diagrama de casos de uso

Diagramas de sequência

Notificação

Notificação

Leitura|Configuração externa

Configuração externa

Diagrama de Sequência de Notificação

Diagrama de sequência de notificação
Diagrama de sequência de notificação