Mudanças entre as edições de "Guilherme Anderson-PJI2-2020-1"
Ir para navegação
Ir para pesquisar
Linha 23: | Linha 23: | ||
==Casos de uso== | ==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 primário: Administrador. | ||
Linha 29: | Linha 37: | ||
Ator secundário: Sensor. | Ator secundário: Sensor. | ||
− | Sistema: Estação | + | Sistema: Estação Meteorológica |
Fluxo principal: | Fluxo principal: | ||
Linha 41: | Linha 49: | ||
Ator secundário: Sensor. | Ator secundário: Sensor. | ||
− | Sistema: Estação | + | Sistema: Estação Meteorológica |
Fluxo principal: | Fluxo principal: | ||
Linha 53: | Linha 61: | ||
Atores secundários: Broker e Sensor. | Atores secundários: Broker e Sensor. | ||
− | Sistema: Estação | + | Sistema: Estação Meteorológica |
Fluxo principal: | Fluxo principal: | ||
Linha 66: | Linha 74: | ||
Atores secundários: Broker e Sensor. | Atores secundários: Broker e Sensor. | ||
− | Sistema: Estação | + | Sistema: Estação Meteorológica |
Fluxo principal: | Fluxo principal: | ||
Linha 74: | Linha 82: | ||
====Caso de uso: Notificação==== | ====Caso de uso: Notificação==== | ||
− | Ator primário: Estação | + | Ator primário: Estação Meteorológica |
Atores secundários: Broker, Sensor e Usuário. | Atores secundários: Broker, Sensor e Usuário. |
Edição das 15h32min 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:
- HDC1080
- BMP180
- DHT11
- 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
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.