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

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 361: Linha 361:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
 
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
{{Collapse top | bg=lightwhite | Inserir Módulo (CSU01) }}
+
{{Collapse top | bg=lightwhite | Configurar Sensor (CSU01) }}
  
'''Caso de uso:''' Inserir Módulo
+
'''Caso de uso:''' Configurar Sensor
  
 
'''Identificador:''' CSU01
 
'''Identificador:''' CSU01
 
'''Requisito:''' RF.01
 
 
'''Sumário:''' Admin utiliza o Sistema Servidor para inserir um novo módulo de um tipo de Sensor.
 
 
'''Ator Primário:''' Admin
 
 
'''Ator Secundário:''' Sistema EM
 
 
'''Fluxo Principal:'''
 
 
'''1.''' O ''Admin'' acessa ''Sistema Servidor'' para inserir um novo Módulo.
 
 
'''2.''' O ''Sistema Servidor'' solicita as informações do novo Módulo.
 
 
'''3.''' O ''Admin'' informa um nome e o código fonte do Módulo.
 
 
'''4.''' O ''Sistema Servidor'' envia requisição com informações do novo Módulo para o ''Sistema EM''.
 
 
'''5.''' ''Sistema EM'' executa validação do Módulo e envia resultado para ''Sistema Servidor''.
 
 
'''6.''' ''Sistema Servidor'' apresenta resultado para o ''Admin''.
 
 
'''Fluxo de Exceção (5):''' Validação sem sucesso.
 
 
'''a.''' Se a validação do Módulo tiver inconsistências, o ''Sistema Servidor'' avisa ao ''Admin'' o motivo e o caso de uso retorna ao passo 2.
 
 
'''Pós-condições:''' Módulo foi inserido no ''Sistema EM'' e pode ser usado para instalação de sensores.
 
 
{{Collapse bottom}}
 
 
{{Collapse top | bg=lightwhite | Instalar Sensor (CSU02) }}
 
 
'''Caso de uso:''' Instalar Sensor
 
 
'''Identificador:''' CSU02
 
 
'''Requisito:''' RF.02
 
 
'''Sumário:''' Admin utiliza o Sistema Servidor para instalar o Sensor desejado.
 
 
'''Ator Primário:''' Admin
 
 
'''Ator Secundário:''' Sistema EM
 
 
'''Precondições:''' O Módulo referente ao Sensor a ser instalado deve estar inserido no ''Sistema EM''.
 
 
'''Fluxo Principal:'''
 
 
'''1.''' O ''Admin'' acessa ''Sistema Servidor'' para instalação de um novo Sensor.
 
 
'''2.''' O ''Sistema Servidor'' solicita lista com Módulos instalados ao ''Sistema EM''.
 
 
'''3.''' ''Sistema EM'' retorna com a lista dos Módulos.
 
 
'''4.''' ''Sistema Servidor'' apresenta lista ao ''Admin'' e solicita informações do novo Sensor.
 
 
'''5.''' O ''Admin'' informa um nome para o Sensor e o Módulo que será utilizado.
 
 
'''6.''' ''Sistema Servidor'' solicita que o ''Admin'' instale fisicamente o Sensor (caso não tenha sido instalado).
 
 
'''7.''' O ''Sistema Servidor'' envia a solicitação de instalação do Sensor para o ''Sistema EM''.
 
 
'''8.''' ''Sistema EM'' instala, executa uma verificação da instalação física do Sensor e realiza uma leitura inicial.
 
 
'''9.''' O ''Sistema EM'' retorna a leitura para o ''Sistema Servidor''.
 
 
'''10.''' ''Sistema Servidor'' exibe as informações da instalação para o ''Admin''. 
 
 
'''Fluxo de Exceção (8):''' Sensor não reconhecido ou erro durante leitura inicial
 
 
'''a.''' Se a verificação da instalação física do Sensor não for positiva, o ''Sistema Servidor'' exibe o erro e o caso de uso retorna ao passo 4.
 
 
'''b.''' Se a leitura inicial do Sensor falhar , o ''Sistema Servidor'' apresenta o motivo e o caso de uso termina.
 
 
'''Pós-condições:''' O Sensor foi instalado e está disponível para configurações.
 
 
'''Regras de Negócio:''' RN.01.
 
 
{{Collapse bottom}}
 
 
{{Collapse top | bg=lightwhite | Cadastrar Grandeza (CSU03) }}
 
 
'''Caso de uso:''' Cadastrar Grandeza
 
 
'''Identificador:''' CSU03
 
 
'''Requisito:''' RF.03
 
 
'''Sumário:''' Admin cadastra no Sistema Servidor uma grandeza a ser medida.
 
 
'''Ator Primário:''' Admin
 
 
'''Ator Secundário:''' Sistema EM
 
 
'''Fluxo Principal:'''
 
 
'''1.''' O ''Admin'' acessa ''Sistema Servidor'' para cadastrar uma grandeza.
 
 
'''2.''' O ''Sistema Servidor'' solicita as informações da grandeza.
 
 
'''3.''' O ''Admin'' informa uma grandeza e uma unidade de medida.
 
 
'''4.''' O ''Sistema Servidor'' envia informações para ''Sistema EM''
 
 
'''5.''' Uma verificação das informações é executada pelo ''Sistema EM'' e o resultado é retornado para o ''Sistema Servidor''.
 
 
'''6.''' O ''Sistema Servidor'' exibe resultado para o ''Admin''.
 
 
'''Fluxo de Exceção (5):''' Grandeza já existe.
 
 
'''a.''' Se a grandeza desejada já estiver sido cadastrada anteriormente, o ''Sistema Servidor'' reporta o fato e o caso de uso retorna ao passo 2.
 
 
'''Pós-condições:''' A grandeza foi cadastrada e fica disponível para configuração do Sensor.
 
 
{{Collapse bottom}}
 
 
{{Collapse top | bg=lightwhite | Configurar Sensor (CSU04) }}
 
 
'''Caso de uso:''' Configurar Sensor
 
 
'''Identificador:''' CSU04
 
  
 
'''Sumário:''' Usuário realiza configurações do Sensor no Sistema
 
'''Sumário:''' Usuário realiza configurações do Sensor no Sistema
Linha 493: Linha 371:
 
'''Ator Primário:''' Usuário
 
'''Ator Primário:''' Usuário
  
'''Ator Primário:''' Sistema EM
+
'''Ator Secundário:''' Sistema EM
  
 
'''Precondições:''' Pelo menos um Sensor instalado no ''Sistema EM''.
 
'''Precondições:''' Pelo menos um Sensor instalado no ''Sistema EM''.
Linha 523: Linha 401:
 
'''Fluxo de Exceção (10):''' Configuração não suportada.
 
'''Fluxo de Exceção (10):''' Configuração não suportada.
  
'''a.''' Se a validação das confgiurações não for positiva, o ''Sistema Servidor'' exibe o erro e o caso de uso retorna ao passo 3.
+
'''a.''' Se a validação das configurações não for positiva, o ''Sistema Servidor'' exibe o erro e o caso de uso retorna ao passo 3.
  
 
'''Pós-condições:''' As configurações do Sensor foram executadas.  
 
'''Pós-condições:''' As configurações do Sensor foram executadas.  
Linha 529: Linha 407:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Ler Medida Atual (CSU05)}}
+
{{Collapse top | bg=lightwhite | Ler Medida Atual (CSU02)}}
  
 
'''Caso de uso:''' Ler Medida Atual
 
'''Caso de uso:''' Ler Medida Atual
  
'''Identificador:''' CSU05
+
'''Identificador:''' CSU02
  
 
'''Requisito:''' RF.07
 
'''Requisito:''' RF.07
  
'''Sumário:''' Usuário utiliza Sistema Servidor para realizar leitura atual da grandeza medida pelo Sensor.  
+
'''Sumário:''' Usuário utiliza Sistema Servidor para realizar leitura atual da grandeza medida por um Sensor.  
  
 
'''Ator Primário:''' Usuário
 
'''Ator Primário:''' Usuário
Linha 569: Linha 447:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU06) }}
+
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU03) }}
  
 
'''Caso de uso:''' Receber Notificação
 
'''Caso de uso:''' Receber Notificação
  
'''Identificador:''' CSU06
+
'''Identificador:''' CSU03
  
 
'''Requisito:''' RF.06
 
'''Requisito:''' RF.06
Linha 597: Linha 475:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU07) }}
+
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU04) }}
  
 
'''Caso de uso:''' Ver Notificação
 
'''Caso de uso:''' Ver Notificação
  
'''Identificador:''' CSU07
+
'''Identificador:''' CSU04
  
 
'''Requisito:''' RF.06
 
'''Requisito:''' RF.06
Linha 609: Linha 487:
 
'''Ator Primário:''' Usuário
 
'''Ator Primário:''' Usuário
  
'''Precondições:''' Limiar de algum Sensor atingido.
+
'''Precondições:''' Pelo menos uma Notificação de limiar atingido disponível na lista de notificações.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''

Edição das 00h28min de 17 de junho de 2020

Responsável

  • Aluno: Felipe Cardoso
  • Email: felipe.p19@aluno.ifsc.edu.br

Etapas

Ilustração dos Sistemas

Ilustração dos Sistemas

Visão Geral dos componentes do Sistema
Levantamento de Requisitos

Levantamento de Requisitos

Requisitos Funcionais (RF):

RF.01 - Permitir que sejam inseridos módulos/drivers para novos sensores;

RF.02 - Possibilitar a instalação de sensor(es);

RF.03 - Permitir cadastrar grandezas a serem medidas;

RF.04 - Permitir a configuração do sensor e da grandeza a ser medida;

RF.05 - Possibilitar a configuração de limiar (inferior e superior) da grandeza medida pelo sensor;

RF.06 - Gerar notificações de medidas;

RF.07 - Permitir a leitura da grandeza medida pelo sensor;


Requisitos não funcionais (RNF):

RNF.01 - As funcionalidades do sistema devem ser acessadas através de uma API REST;

RNF.02 - O sistema deve possuir módulos/drivers para os sensores: HDC1080, BMP180, DHT11 e Presença PIR;

RNF.03 - O Sistema deve ser implementado em uma RaspBerry PI;


Regras de Negócio (RN):

RN.01 - Somente sensor com módulo/driver previamente inserido poderá ser instalado;

RN.02 - Uma mesma grandeza poderá ser medida por mais de um sensor;

RN.03 - Poderá ser instalado mais de um sensor do mesmo tipo;

RN.04 - As notificações só serão geradas para medidas que atingirem os limiares configurados;


Análise de Requisitos

Análise de Requisitos

Modelagem de Casos de Uso
Sistema Estação Meteorológica
Atores

Admin: Indivíduo responsável pela administração do Sistema.

Sensor: Hardware responsável por fornecer informações de grandezas medidas para o Sistema.

Sistema Servidor: Sistema responsável pela interface WEB.

Diagrama de Casos de Uso
Casos de uso do Sistema Estação Meteorológica
Descrição dos Casos de Uso
Inserir Módulo (CSU01)

Caso de uso: Inserir Módulo

Identificador: CSU01

Requisito: RF.01

Sumário: Admin utiliza o Sistema para inserir um novo módulo de um tipo de Sensor.

Ator Primário: Admin

Fluxo Principal:

1. O Admin envia ao Sistema uma requisição com as informações (Nome e Código Fonte) para inserir um novo Módulo.

2. A instalação e validação do Módulo é executada pelo Sistema e o resultado exibido ao Admin.

Fluxo de Exceção (2): Validação sem sucesso.

a. Se a validação do Módulo tiver inconsistências, o Sistema avisa ao Admin o motivo e o caso de uso retorna ao passo 1.

Pós-condições: Módulo foi inserido no Sistema e pode ser usado para instalação de sensores.

Instalar Sensor (CSU02)

Caso de uso: Instalar Sensor

Identificador: CSU02

Requisito: RF.02

Sumário: Admin utiliza o Sistema para instalar o Sensor desejado.

Ator Primário: Admin

Ator Secundário: Sensor

Precondições: O Módulo referente ao Sensor a ser instalado deve estar inserido no Sistema.

Fluxo Principal:

1. A instalação física do Sensor é realizada pelo Admin.

2. O Admin envia requisição para o Sistema solicitando informações dos Módulos instalados.

3. O Sistema apresenta os Módulos instalados.

4. O Admin solicita ao Sistema a instalação do Sensor informando um Nome e o Módulo que esse Sensor irá utilizar.

5. O Sistema executa uma verificação da instalação física do Sensor e realiza uma leitura inicial.

6. O Sensor retorna a leitura para o Sistema.

7. Sistema exibe as informações para o Admin.

Fluxo de Exceção (5): Sensor não reconhecido ou erro durante leitura inicial

a. Se a verificação da instalação física do Sensor não for positiva, o Sistema exibe o erro e o caso de uso retorna ao passo 2.

b. Se a leitura inicial do Sensor falhar , o Sistema apresenta o motivo e o caso de uso termina.

Pós-condições: O Sensor foi instalado e está disponível para configurações.

Regras de Negócio: RN.01.

Cadastrar Grandeza (CSU03)

Caso de uso: Cadastrar Grandeza

Identificador: CSU03

Requisito: RF.03

Sumário: Admin cadastra no Sistema uma grandeza a ser medida.

Ator Primário: Admin

Fluxo Principal:

1. O Admin envia uma requisição ao Sistema informando uma grandeza e unidade de medida para cadastro.

2. O Sistema verifica informações e exibe resultado para o Admin.

Fluxo de Exceção (2): Grandeza já existe.

a. Se a grandeza desejada já estiver sido cadastrada anteriormente, o Sistema reporta o fato e o caso de uso retorna ao passo 1.

Pós-condições: A grandeza foi cadastrada e fica disponível para configuração do Sensor.

Configurar Sensor (CSU04)

Caso de uso: Configurar Sensor

Identificador: CSU04

Sumário: Admin realiza configurações do Sensor no Sistema

Ator Primário: Admin

Precondições: Pelo menos um Sensor instalado no Sistema.

Fluxo Principal:

1. O Admin solicita ao Sistema uma lista com sensores instalado.

2. O Sistema exibe ao Admin a lista.

3. O Admin informa ao sistema o Sensor a ser configurado.

4. Sistema apresenta ao Admin as configurações possíveis para o Sensor.

Pós-condições: O sistema iniciou a etapa de configuração do Sensor.

Configurar Limiar (CSU05)

Caso de uso: Configurar Limiar

Identificador: CSU05

Requisito: RF.05

Sumário: Admin utiliza o Sistema para efetuar a configuração de limiar (inferior e superior).

Ator Primário: Admin

Fluxo Principal:

1. Herdar o caso de uso: CSU04.

2. O Admin envia uma requisição ao Sistema com as informações do Sensor que deseja configurar e os valores para limiar inferior e superior.

3. O Sistema executa a validação dos valores e apresenta resultado ao Admin.

Fluxo de Exceção (3): Sensor não suporta valor informado.

a. Se a validação dos valores de limiar não for positiva, o Sistema exibe o erro e o caso de uso retorna ao passo 2.

Pós-condições: Os limiares para envio de Notificação foram configurados.

Configurar Grandeza (CSU06)

Caso de uso: Configurar Grandeza

Identificador: CSU06

Requisito: RF.04

Sumário: Admin utiliza o Sistema para efetuar a configuração da grandeza que será medida pelo Sensor.

Ator Primário: Admin

Ator Secundário: Sensor

Precondições: Pelo menos uma grandeza cadastrada no Sistema.

Fluxo Principal:

1. Herdar o caso de uso: CSU04.

2. O Admin envia uma requisição ao Sistema com as informações do Sensor que deseja configurar e a grandeza que será medida.

3. O Sistema realiza a configuração da grandeza no Sensor.

4. O Sistema exibe resultado ao Admin.

Fluxo de Exceção (3): Houve erro ao configurar grandeza.

a. Se a configuração da grandeza no Sensor falhar, o Sistema reporta o erro e o caso de uso termina.

Pós-condições: A grandeza de medida do Sensor foi configurada.

Ler Sensor (CSU07)

Caso de uso: Ler Sensor

Identificador: CSU07

Sumário: Sistema realiza leitura da grandeza medida pelo Sensor informado.

Ator Primário: Sensor

Precondições: Sensor informado deve estar instalado e configurado.

Fluxo Principal:

1. Sistema executa leitura da medida no Sensor informado.

2. O Sensor informa leitura realizada para o Sistema.

Pós-condições: A leitura da grandeza medida pelo Sensor solicitado foi realizada.

Ler Medida Atual (CSU08)

Caso de uso: Ler Medida Atual

Identificador: CSU08

Requisito: RF.07

Sumário: Admin utiliza Sistema para realizar leitura atual da grandeza medida pelo Sensor.

Ator Primário: Admin

Precondições: Sensor desejado instalado e configurado.

Fluxo Principal:

1. O Admin solicita ao Sistema uma lista com sensores instalado.

2. O Sistema apresenta a lista

3. Admin envia requisição ao Sistema informando qual Sensor deseja obter leitura.

4. Incluir caso de uso: CSU07.

5. O Sistema exibe ao Admin o valor da grandeza medida.

Fluxo de Exceção (4): Erro ao obter leitura do Sensor.

a. Se a leitura da grandeza medida pelo Sensor falhar, o Sistema exibe o erro e o caso de uso retorna ao passo 2.

Pós-condições: A leitura da medida atual foi apresentada para o Admin.

Gerar Notificação (CSU09)

Caso de uso: Gerar Notificação

Identificador: CSU09

Requisito: RF.06

Sumário: Sistema gera notificação para Sistema Servidor caso um limiar seja atingido.

Ator Primário: Sistema Servidor

Precondições: Pelo menos um Sensor instalado e configurado.

Fluxo Principal:

1. Sistema verifica a lista com Sensores instalados e configurados.

2. Incluir o caso de uso CSU07 e realizar leitura para cada Sensor da lista.

3. O Sistema verifica leitura de cada Sensor e compara com seus limiares configurados.

4. Se algum limiar for atingido, o Sistema envia notificação para o Sistema Servidor.

Fluxo de Exceção (2): Erro ao obter leitura do Sensor.

a. Se a leitura da grandeza medida por um Sensor falhar, o Sistema exibe o erro e o caso de uso continua com a leitura do próximo Sensor.

Pós-condições: As leituras de cada Sensor foram realizadas e notificações necessárias enviadas.

Regras de Negócio: RN.04.

Sistema Servidor
Atores

Admin: Indivíduo responsável pela administração do Sistema.

Usuário: Indivíduo com possibilidade de realizar algumas operações no Sistema

Sistema E.M.: Sistema Estação Meteorológica.

Diagrama de Casos de Uso
Casos de uso do Sistema Servidor
Descrição dos Casos de Uso
Configurar Sensor (CSU01)

Caso de uso: Configurar Sensor

Identificador: CSU01

Sumário: Usuário realiza configurações do Sensor no Sistema

Ator Primário: Usuário

Ator Secundário: Sistema EM

Precondições: Pelo menos um Sensor instalado no Sistema EM.

Fluxo Principal:

1. O Usuário acessa Sistema Servidor para configurar o Sensor.

2. Sistema Servidor solicita lista de Sensores instalados para o Sistema EM.

3. O Sistema EM retorna a lista para o Sistema Servidor que exibe ao Usuário.

4. O Usuário escolhe o Sensor a ser configurado.

5. Sistema Servidor solicita opções de configurações do Sensor escolhido para o Sistema EM.

6. Sistema EM envia as configurações possíveis para o Sistema Servidor.

7. Sistema Servidor apresenta as configurações possíveis para o Usuário.

8. Usuário seleciona a configuração desejada e informa valores.

9. Sistema Servidor envia as configurações para o Sistema EM.

10. Sistema EM executa a validação das configurações e envia resultado para o Sistema Servidor.

11. Sistema Servidor exibe resultado para o Usuário.

Fluxo de Exceção (10): Configuração não suportada.

a. Se a validação das configurações não for positiva, o Sistema Servidor exibe o erro e o caso de uso retorna ao passo 3.

Pós-condições: As configurações do Sensor foram executadas.

Ler Medida Atual (CSU02)

Caso de uso: Ler Medida Atual

Identificador: CSU02

Requisito: RF.07

Sumário: Usuário utiliza Sistema Servidor para realizar leitura atual da grandeza medida por um Sensor.

Ator Primário: Usuário

Ator Primário: Sistema EM

Precondições: Sensor desejado instalado e configurado.

Fluxo Principal:

1. O Usuário acessa Sistema Servidor para realizar leitura de medida atual de um Sensor.

2. O Sistema Servidor solicita ao Sistema EM a lista de Sensores instalados e configurados.

3. Sistema EM retorna a lista para o Sistema Servidor que exibe ao Usuário.

4. Usuário seleciona Sensor que deseja obter leitura.

5. O Sistema Servidor envia solicitação de leitura atual ao Sistema EM.

6. O Sistema EM executa a leitura da grandeza medida pelo Sensor e retorna para o Sistema Servidor.

7. O Sistema Servidor apresenta leitura ao Usuário.

Fluxo de Exceção (6): Erro ao obter leitura do Sensor.

a. Se a leitura da grandeza medida pelo Sensor falhar, o Sistema Servidor exibe o erro e o caso de uso retorna ao passo 2.

Pós-condições: A leitura da medida atual foi apresentada para o Usuário.

Gerar Notificação (CSU03)

Caso de uso: Receber Notificação

Identificador: CSU03

Requisito: RF.06

Sumário: Sistema Servidor recebe notificação do Sistema EM

Ator Primário: Sistema EM

Precondições: Limiar de algum Sensor atingido.

Fluxo Principal:

1. Sistema EM executa leitura de todos os sensores instalados e configurados.

2. Se o limiar de medida de algum Sensor for atingido, Sistema EM gera a notificação para o Sistema Servidor

3. Sistema Servidor acrescenta notificação em sua lista de notificações.

Pós-condições: Notificações disponíveis para Usuário.

Regras de Negócio: RN.04.

Gerar Notificação (CSU04)

Caso de uso: Ver Notificação

Identificador: CSU04

Requisito: RF.06

Sumário: Usuário utiliza o Sistema Servidor para visualizar notificação de um Sensor.

Ator Primário: Usuário

Precondições: Pelo menos uma Notificação de limiar atingido disponível na lista de notificações.

Fluxo Principal:

1. O Usuário acessa Sistema Servidor para visualizar a notificação.

2. Sistema Servidor verifica se existe alguma notificação e exibe ao Usuário.

Pós-condições: A visualização da notificação foi realizada pelo Usuário

Regras de Negócio: RN.04.

Modelagem de Classes de Domínio
Sistema Estação Meteorológica
Diagrama de classes do Sistema Estação Meteorológica
Sistema Servidor

Apresentações:

Slides da Apresentação do Seminário

Slides da Apresentação sobre GPIO na Raspberry PI