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 21: Linha 21:
  
 
===Definições===
 
===Definições===
 +
 
* Administrador: Ator primário representado por uma pessoa física no ambiente local do sistema de estação meteorológica.  
 
* Administrador: Ator primário representado por uma pessoa física no ambiente local do sistema de estação meteorológica.  
 
* Usuário: Ator primário representado por uma pessoa física em ambiente externo do sistema de estação meteorológica.
 
* Usuário: Ator primário representado por uma pessoa física em ambiente externo do sistema de estação meteorológica.
Linha 27: Linha 28:
 
* Broker: Ator secundário que apenas realiza interface do Usuário com o Sistema.
 
* Broker: Ator secundário que apenas realiza interface do Usuário com o Sistema.
  
====Caso de uso: Registrar sensor====
+
===Caso de uso: Registrar sensor===
 
Ator primário: Administrador.
 
Ator primário: Administrador.
  
Linha 39: Linha 40:
 
* O sistema configura e ativa o sensor e responde ao Administrador uma mensagem HTTP de sucesso;
 
* O sistema configura e ativa o sensor e responde ao Administrador uma mensagem HTTP de sucesso;
  
====Caso de uso: Remover sensor====
+
===Caso de uso: Remover sensor===
 
Ator primário: Administrador
 
Ator primário: Administrador
  
Linha 51: Linha 52:
 
* O Administrador faz desconexão física do sensor na placa da Raspberry Pi
 
* O Administrador faz desconexão física do sensor na placa da Raspberry Pi
  
====Caso de uso: Alterar registro====
+
===Caso de uso: Alterar registro===
 
Ator primário: Usuário
 
Ator primário: Usuário
  
Linha 64: Linha 65:
 
* O sistema configura o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;
 
* O sistema configura o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;
  
====Caso de uso: Requisitar dados====
+
===Caso de uso: Requisitar dados===
 
Ator primário: Usuário
 
Ator primário: Usuário
  
Linha 76: Linha 77:
 
* O sistema lê o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;
 
* O sistema lê o sensor e responde o usuário uma mensagem HTTP de sucesso através do Broker;
  
====Caso de uso: Notificação====
+
===Caso de uso: Notificação===
 
Ator primário: Estação Meteorológica
 
Ator primário: Estação Meteorológica
  

Edição das 15h46min 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. DHT11

Não funcionais:

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

Casos de uso

Definições

  • Administrador: Ator primário representado por uma pessoa física no ambiente local do sistema de estação meteorológica.
  • Usuário: Ator primário representado por uma pessoa física em ambiente externo do sistema de estação meteorológica.
  • Sensor: Ator secundário que apenas executa rotinas solicitadas inicialmente pelos atores primários.
  • Sistema: Representado pela estação meteorológica, este atende as requisições dos usuários primários (atua como sistema na linguagem UML) e exclusivamente no caso de uso Notificação atua como ator primário, sendo o iniciador da interação entre os sujeitos.
  • Broker: Ator secundário que apenas realiza interface do Usuário com o Sistema.

Caso de uso: Registrar sensor

Ator primário: Administrador.

Ator secundário: Sensor.

Sistema: Estação Meteoroló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 Meteoroló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 Meteoroló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 Meteoroló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 Meteoroló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

Leitura|Configuração Local

LeituraConfiguração Local