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 29: Linha 29:
  
  
<span style="font-size: 16.24px; font-weight: bold;">Caso de uso: Adicionar um novo sensor</span><br  />Ator primário: usuário admin.<br  />
+
<span style="font-size: 16.24px; font-weight: bold;">Caso de uso: Registrar sensor</span><br  />Ator primário: usuário.<br  />
Ator secundário: sistema.<br  />
 
Sumário: Ter acesso de usuário root no sistema.<br  />
 
Pré condição: Estar conectado ao sistema com permissões de administrador.<br  />
 
 
Fluxo principal:
 
Fluxo principal:
* O usuário conecta o sensor na placa da Raspberry Pi.
+
* O usuário faz a conexão física do sensor na placa da Raspberry Pi.
* O sistema exibe a página principal da GUI (interface gráfica) com a lista dos sensores.
+
* O usuário envia uma requisição HTTP contendo os dados do sensor a ser registrado;
* O usuário seleciona a opção Adicionar.
+
* O sistema responde o usuário uma mensagem HTTP de sucesso;
* O usuário preenche os campos de cadastro do sensor.
 
* O sistema valida os campos preenchidos.
 
* O sistema retorna para o usuário a confirmação de adição do sensor.
 
* O sistema abre a página principal.
 
  
 
====Caso de uso: Remover sensor====
 
====Caso de uso: Remover sensor====
Linha 51: Linha 44:
 
* O usuário faz desconexão física do sensor na placa da Raspberry Pi.
 
* O usuário faz desconexão física do sensor na placa da Raspberry Pi.
  
====Caso de uso: Configurar Sensor====
+
====Caso de uso: Alterar registro<br  />====
Ator primário: usuário admin.<br  />
+
Ator primário: usuário<br  />
Ator secundário: sistema.<br  />
 
Sumário: Ter acesso de administrador no sistema.<br  />
 
Pré condição: Estar autenticado no sistema com permissões de administrador.<br  />
 
 
Fluxo principal:
 
Fluxo principal:
* O sistema exibe a página principal da GUI com a lista dos sensores.
+
* O usuário envia uma requisição HTTP contendo os dados do sensor a ser atualizado;
* O usuário seleciona o sensor desejado na opção referente a configurar.
+
* O sistema responde o usuário uma mensagem HTTP de sucesso;
* O sistema abre uma página com as configurações do sensor selecionado.
 
* O usuário faz configuração do sensor.
 
* O usuário confirma a configuração do sensor.
 
* O sistema retorna para a página principal.
 
  
====Caso de uso: Visualizar leituras armazenadas====
+
====Caso de uso: Requisitar dados<br  />====
 
Ator primário: usuário.<br  />
 
Ator primário: usuário.<br  />
Ator secundário: sistema.<br  />
 
Sumário: O sistema solicita autenticação do usuário.<br  />
 
Pré condição: Está conectado ao sistema.<br  />
 
 
Fluxo principal:
 
Fluxo principal:
* O sistema exibe a página principal da GUI com a lista dos sensores.
+
* O usuário envia uma requisição HTTP contendo o identificador do sensor que deseja-se obter as leituras;
* O usuário seleciona o sensor desejado na opção referente a visualizar.
+
* O sistema responde o usuário com uma mensagem HTTP contendo as leituras solicitadas;
* O sistema abre uma página com as leituras do sensor.
 
  
====Caso de uso: Notificação de usuário====
+
====Caso de uso: Notificação<br  />====
Ator primário: sistema.<br  />
+
Ator primário: usuário.<br  />
Ator secundário: usuário.<br  />
 
Sumário: O usuário precisa ter configurado um valor limite de leitura e um e-mail para que o sistema gere notificação.<br  />
 
Pré condição: Estar conectado a Internet.<br  />
 
 
Fluxo principal:
 
Fluxo principal:
 
* O sistema registra uma leitura maior que o valor limite especificado na configuração do sensor.
 
* O sistema registra uma leitura maior que o valor limite especificado na configuração do sensor.
* O sistema envia uma notificação registrado na configuração do sensor para o usuário.
+
* Assim que possível o sistema envia uma notificação para o servidor de fila de mensagens;
 +
* Assim que possível o servidor de fila de mensagens envia a notificação para o usuário;
  
 
Diagrama de Casos de uso:
 
Diagrama de Casos de uso:

Edição das 21h50min de 9 de junho 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

Descrição dos casos de uso:



Caso de uso: Registrar sensor
Ator primário: usuário.
Fluxo principal:

  • O usuário faz a conexão física do sensor na placa da Raspberry Pi.
  • O usuário envia uma requisição HTTP contendo os dados do sensor a ser registrado;
  • O sistema responde o usuário uma mensagem HTTP de sucesso;

Caso de uso: Remover sensor

Ator primário: usuário


Fluxo principal:

  • O usuário envia uma requisição HTTP contendo o identificador do sensor a ser removido.
  • O sistema responde o usuário uma mensagem HTTP de sucesso.
  • O usuário faz desconexão física do sensor na placa da Raspberry Pi.

Caso de uso: Alterar registro

Ator primário: usuário
Fluxo principal:

  • O usuário envia uma requisição HTTP contendo os dados do sensor a ser atualizado;
  • O sistema responde o usuário uma mensagem HTTP de sucesso;

Caso de uso: Requisitar dados

Ator primário: usuário.
Fluxo principal:

  • O usuário envia uma requisição HTTP contendo o identificador do sensor que deseja-se obter as leituras;
  • O sistema responde o usuário com uma mensagem HTTP contendo as leituras solicitadas;

Caso de uso: Notificação

Ator primário: usuário.
Fluxo principal:

  • O sistema registra uma leitura maior que o valor limite especificado na configuração do sensor.
  • Assim que possível o sistema envia uma notificação para o servidor de fila de mensagens;
  • Assim que possível o servidor de fila de mensagens envia a notificação para o usuário;

Diagrama de Casos de uso:


Diagrama de casos de uso