Guilherme Anderson-PJI2-2020-1

De MediaWiki do Campus São José
Revisão de 15h00min de 19 de setembro de 2020 por Guilherme.lr (discussão | contribs)
Ir para navegação Ir para pesquisar

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

Diagrama de casos de uso




Diagrama de sequência de leitura de dados do usuário

Diagrama de Sequência Requisição de Dados

Diagrama de sequência de leitura de dados do Administrador
Diagrama de sequência de leitura de dados do Administrador

Diagrama de Sequência de Notificação

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