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 347: Linha 347:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightgreen | Sistema Estação Meteorológica}}
+
{{Collapse top | bg=lightgreen | Sistema Servidor}}
 
{{Collapse top | bg=lightgray | Atores}}
 
{{Collapse top | bg=lightgray | Atores}}
 
'''Admin: '''Indivíduo responsável pela administração do Sistema.
 
'''Admin: '''Indivíduo responsável pela administração do Sistema.
  
'''Sensor: '''Hardware responsável por fornecer informações de grandezas medidas para o Sistema.
+
'''Usuário: '''Indivíduo com possibilidade de realizar algumas operações no Sistema
  
'''Sistema Servidor: '''Sistema responsável pela interface WEB.
+
'''Sistema E.M.: '''Sistema Estação Meteorológica.  
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 
{{Collapse top | bg=lightgray | Diagrama de Casos de Uso}}
 
{{Collapse top | bg=lightgray | Diagrama de Casos de Uso}}
[[Arquivo:UseCase_Diagram-Felipe.png|1000px|thumb|center|<div style="TEXT-align: center;">Casos de uso do Sistema Estação Meteorológica</div>]]
+
[[Arquivo:UseCase_servidor_Felipe.png|1000px|thumb|center|<div style="TEXT-align: center;">Casos de uso do Sistema Servidor</div>]]
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
 
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
Linha 368: Linha 368:
 
'''Requisito:''' RF.01
 
'''Requisito:''' RF.01
  
'''Sumário:''' Admin utiliza o Sistema para inserir um novo módulo de um tipo de Sensor.  
+
'''Sumário:''' Admin utiliza o Sistema Servidor para inserir um novo módulo de um tipo de Sensor.  
  
 
'''Ator Primário:''' Admin
 
'''Ator Primário:''' Admin
 +
 +
'''Ator Secundário:''' Sistema EM
  
 
'''Fluxo Principal:'''
 
'''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.
+
'''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.
  
'''2.''' A instalação e validação do Módulo é executada pelo ''Sistema'' e o resultado exibido ao ''Admin''.
+
'''4.''' O ''Sistema Servidor'' envia requisição com informações do novo Módulo para o ''Sistema EM''.
  
'''Fluxo de Exceção (2):''' Validação sem sucesso.
+
'''5.''' ''Sistema EM'' executa validação do Módulo e envia resultado para ''Sistema Servidor''.
  
'''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.  
+
'''6.''' ''Sistema Servidor'' apresenta resultado para o ''Admin''.
  
'''Pós-condições:''' Módulo foi inserido no ''Sistema'' e pode ser usado para instalação de sensores.
+
'''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 bottom}}
Linha 394: Linha 404:
 
'''Requisito:''' RF.02
 
'''Requisito:''' RF.02
  
'''Sumário:''' Admin utiliza o Sistema para instalar o Sensor desejado.  
+
'''Sumário:''' Admin utiliza o Sistema Servidor para instalar o Sensor desejado.  
  
 
'''Ator Primário:''' Admin
 
'''Ator Primário:''' Admin
  
'''Ator Secundário:''' Sensor
+
'''Ator Secundário:''' Sistema EM
  
'''Precondições:''' O Módulo referente ao ''Sensor'' a ser instalado deve estar inserido no ''Sistema''.
+
'''Precondições:''' O Módulo referente ao Sensor a ser instalado deve estar inserido no ''Sistema EM''.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' A instalação física do ''Sensor'' é realizada pelo ''Admin''.
+
'''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.
  
'''2.''' O ''Admin'' envia requisição para o ''Sistema'' solicitando informações dos Módulos instalados.
+
'''5.''' O ''Admin'' informa um nome para o Sensor e o Módulo que será utilizado.
  
'''3.''' O ''Sistema'' apresenta os Módulos instalados.
+
'''6.''' ''Sistema Servidor'' solicita que o ''Admin'' instale fisicamente o Sensor (caso não tenha sido instalado).
  
'''4.''' O ''Admin'' solicita ao ''Sistema'' a instalação do ''Sensor'' informando um Nome e o Módulo que esse ''Sensor'' irá utilizar.
+
'''7.''' O ''Sistema Servidor'' envia a solicitação de instalação do Sensor para o ''Sistema EM''.
  
'''5.''' O ''Sistema'' executa uma verificação da instalação física do ''Sensor'' e realiza uma leitura inicial.
+
'''8.''' ''Sistema EM'' instala, 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''.
+
'''9.''' O ''Sistema EM'' retorna a leitura para o ''Sistema Servidor''.
  
'''7.''' ''Sistema'' exibe as informações para o ''Admin''.   
+
'''10.''' ''Sistema Servidor'' exibe as informações da instalação para o ''Admin''.   
  
'''Fluxo de Exceção (5):''' ''Sensor'' não reconhecido ou erro durante leitura inicial
+
'''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'' exibe o erro e o caso de uso retorna ao passo 2.
+
'''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'' apresenta o motivo e o caso de uso termina.
+
'''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.
+
'''Pós-condições:''' O Sensor foi instalado e está disponível para configurações.
  
 
'''Regras de Negócio:''' RN.01.
 
'''Regras de Negócio:''' RN.01.
Linha 438: Linha 454:
 
'''Requisito:''' RF.03
 
'''Requisito:''' RF.03
  
'''Sumário:''' Admin cadastra no Sistema uma grandeza a ser medida.
+
'''Sumário:''' Admin cadastra no Sistema Servidor uma grandeza a ser medida.
  
 
'''Ator Primário:''' Admin
 
'''Ator Primário:''' Admin
 +
 +
'''Ator Secundário:''' Sistema EM
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Admin'' envia uma requisição ao ''Sistema'' informando uma grandeza e unidade de medida para cadastro.
+
'''1.''' O ''Admin'' acessa ''Sistema Servidor'' para cadastrar uma grandeza.
 +
 
 +
'''2.''' O ''Sistema Servidor'' solicita as informações da grandeza.
  
'''2.''' O ''Sistema'' verifica informações e exibe resultado para o ''Admin''.
+
'''3.''' O ''Admin'' informa uma grandeza e uma unidade de medida.
  
'''Fluxo de Exceção (2):''' Grandeza já existe.
+
'''4.''' O ''Sistema Servidor'' envia informações para ''Sistema EM''
  
'''a.''' Se a grandeza desejada já estiver sido cadastrada anteriormente, o ''Sistema'' reporta o fato e o caso de uso retorna ao passo 1.
+
'''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''.
+
'''Pós-condições:''' A grandeza foi cadastrada e fica disponível para configuração do Sensor.
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
Linha 462: Linha 488:
 
'''Identificador:''' CSU04
 
'''Identificador:''' CSU04
  
'''Sumário:''' Admin realiza configurações do Sensor no Sistema
+
'''Sumário:''' Usuário realiza configurações do Sensor no Sistema
 +
 
 +
'''Ator Primário:''' Usuário
  
'''Ator Primário:''' Admin
+
'''Ator Primário:''' Sistema EM
  
'''Precondições:''' Pelo menos um ''Sensor'' instalado no ''Sistema''.
+
'''Precondições:''' Pelo menos um Sensor instalado no ''Sistema EM''.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Admin'' solicita ao ''Sistema'' uma lista com sensores instalado.
+
'''1.''' O ''Usuário'' acessa ''Sistema Servidor'' para configurar o Sensor.
 
 
'''2.''' O ''Sistema'' exibe ao ''Admin'' a lista.
 
  
'''3.''' O ''Admin'' informa ao sistema o ''Sensor'' a ser configurado.
+
'''2.''' ''Sistema Servidor'' solicita lista de Sensores instalados para o ''Sistema EM''.
  
'''4.''' ''Sistema'' apresenta ao ''Admin'' as configurações possíveis para o ''Sensor''.
+
'''3.''' O ''Sistema EM'' retorna a lista para o ''Sistema Servidor'' que exibe ao ''Usuário''.
 
'''Pós-condições:''' O ''sistema'' iniciou a etapa de configuração do ''Sensor''.  
 
  
{{Collapse bottom}}
+
'''4.''' O ''Usuário'' escolhe o Sensor a ser configurado.
  
{{Collapse top | bg=lightwhite | Configurar Limiar (CSU05) }}
+
'''5.''' ''Sistema Servidor'' solicita opções de configurações do Sensor escolhido para o ''Sistema EM''.
 
 
'''Caso de uso:''' Configurar Limiar
 
 
 
'''Identificador:''' CSU05
 
  
'''Requisito:''' RF.05
+
'''6.''' ''Sistema EM'' envia as configurações possíveis para o ''Sistema Servidor''.
  
'''Sumário:''' Admin utiliza o Sistema para efetuar a configuração de limiar (inferior e superior).  
+
'''7.''' ''Sistema Servidor'' apresenta as configurações possíveis para o ''Usuário''.
  
'''Ator Primário:''' Admin
+
'''8.''' ''Usuário'' seleciona a configuração desejada e informa valores.
  
'''Fluxo Principal:'''
+
'''9.''' ''Sistema Servidor'' envia as configurações para o ''Sistema EM''.
  
'''1.''' Herdar o caso de uso: ''CSU04''.  
+
'''10.''' ''Sistema EM'' executa a validação das configurações e envia resultado para o ''Sistema Servidor''.
  
'''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.
+
'''11.''' ''Sistema Servidor'' exibe resultado para o ''Usuário''.
  
'''3.''' O ''Sistema'' executa a validação dos valores e apresenta resultado ao ''Admin''.
+
'''Fluxo de Exceção (10):''' Configuração não suportada.
  
'''Fluxo de Exceção (3):''' ''Sensor'' não suporta valor informado.
+
'''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 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:''' As configurações do Sensor foram executadas.  
 
'''Pós-condições:''' Os limiares para envio de Notificação foram configurados.
 
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Configurar Grandeza (CSU06) }}
+
{{Collapse top | bg=lightwhite | Ler Medida Atual (CSU05)}}
  
'''Caso de uso:''' Configurar Grandeza
+
'''Caso de uso:''' Ler Medida Atual
  
'''Identificador:''' CSU06
+
'''Identificador:''' CSU05
  
'''Requisito:''' RF.04
+
'''Requisito:''' RF.07
  
'''Sumário:''' Admin utiliza o Sistema para efetuar a configuração da grandeza que será medida pelo Sensor.  
+
'''Sumário:''' Usuário utiliza Sistema Servidor para realizar leitura atual da grandeza medida pelo Sensor.  
  
'''Ator Primário:''' Admin
+
'''Ator Primário:''' Usuário
  
'''Ator Secundário:''' Sensor
+
'''Ator Primário:''' Sistema EM
  
'''Precondições:''' Pelo menos uma grandeza cadastrada no ''Sistema''.
+
'''Precondições:''' Sensor desejado instalado e configurado.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' Herdar o caso de uso: ''CSU04''.
+
'''1.''' O ''Usuário'' acessa ''Sistema Servidor'' para realizar leitura de medida atual de um Sensor.
 
 
'''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.
 
 
 
{{Collapse bottom}}
 
  
{{Collapse top | bg=lightwhite | Ler Sensor (CSU07) }}
+
'''2.''' O ''Sistema Servidor'' solicita ao ''Sistema EM'' a lista de Sensores instalados e configurados.
  
'''Caso de uso:''' Ler Sensor
+
'''3.''' ''Sistema EM'' retorna a lista para o ''Sistema Servidor'' que exibe ao ''Usuário''.
  
'''Identificador:''' CSU07
+
'''4.''' ''Usuário'' seleciona Sensor que deseja obter leitura.
  
'''Sumário:''' Sistema realiza leitura da grandeza medida pelo Sensor informado.
+
'''5.''' O ''Sistema Servidor'' envia solicitação de leitura atual ao ''Sistema EM''.
  
'''Ator Primário:''' Sensor
+
'''6.''' O ''Sistema EM'' executa a leitura da grandeza medida pelo Sensor e retorna para o ''Sistema Servidor''.
  
'''Precondições:''' Sensor informado deve estar instalado e configurado.
+
'''7.''' O ''Sistema Servidor'' apresenta leitura ao ''Usuário''.
  
'''Fluxo Principal:'''
+
'''Fluxo de Exceção (6):''' Erro ao obter leitura do Sensor.
  
'''1.''' ''Sistema'' executa leitura da medida no ''Sensor'' informado.
+
'''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.
 
 
'''2.''' O ''Sensor'' informa leitura realizada para o ''Sistema''.
 
 
   
 
   
'''Pós-condições:''' A leitura da grandeza medida pelo ''Sensor'' solicitado foi realizada.
+
'''Pós-condições:''' A leitura da medida atual foi apresentada para o ''Usuário''.
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Ler Medida Atual (CSU08)}}
+
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU07) }}
  
'''Caso de uso:''' Ler Medida Atual
+
'''Caso de uso:''' Receber Notificação
  
'''Identificador:''' CSU08
+
'''Identificador:''' CSU07
  
'''Requisito:''' RF.07
+
'''Requisito:''' RF.06
  
'''Sumário:''' Admin utiliza Sistema para realizar leitura atual da grandeza medida pelo Sensor.
+
'''Sumário:''' Sistema Servidor recebe notificação do Sistema EM
  
'''Ator Primário:''' Admin
+
'''Ator Primário:''' Sistema EM
  
'''Precondições:''' ''Sensor'' desejado instalado e configurado.
+
'''Precondições:''' Limiar de algum Sensor atingido.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Admin'' solicita ao ''Sistema'' uma lista com sensores instalado.
+
'''1.''' ''Sistema EM'' executa leitura de todos os sensores instalados e configurados.
  
'''2.''' O ''Sistema'' apresenta a lista
+
'''2.''' Se o limiar de medida de algum Sensor for atingido, ''Sistema EM'' gera a notificação para o ''Sistema Servidor''
  
'''3.''' ''Admin'' envia requisição ao ''Sistema'' informando qual ''Sensor'' deseja obter leitura.
+
'''3.''' ''Sistema Servidor'' acrescenta notificação em sua lista de notificações.
 +
 +
'''Pós-condições:''' Notificações disponíveis para ''Usuário''.
  
'''4.''' Incluir caso de uso: CSU07.
+
'''Regras de Negócio:''' RN.04.
 
 
'''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''.
 
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU09) }}
+
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU06) }}
  
'''Caso de uso:''' Gerar Notificação
+
'''Caso de uso:''' Ver Notificação
  
'''Identificador:''' CSU09
+
'''Identificador:''' CSU06
  
 
'''Requisito:''' RF.06
 
'''Requisito:''' RF.06
  
'''Sumário:''' Sistema gera notificação para Sistema Servidor caso um limiar seja atingido.
+
'''Sumário:''' Usuário utiliza o Sistema Servidor para visualizar notificação de um Sensor.
  
'''Ator Primário:''' Sistema Servidor
+
'''Ator Primário:''' Usuário
  
'''Precondições:''' Pelo menos um ''Sensor'' instalado e configurado.
+
'''Precondições:''' Limiar de algum Sensor atingido.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' ''Sistema'' verifica a lista com Sensores instalados e configurados.
+
'''1.''' O ''Usuário'' acessa ''Sistema Servidor'' para visualizar a notificação.
 
 
'''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''.
+
'''2.''' ''Sistema Servidor'' verifica se existe alguma notificação e exibe ao ''Usuário''.
 
   
 
   
'''Pós-condições:''' As leituras de cada ''Sensor'' foram realizadas e notificações necessárias enviadas.
+
'''Pós-condições:''' A visualização da notificação foi realizada pelo ''Usuário''
  
 
'''Regras de Negócio:''' RN.04.
 
'''Regras de Negócio:''' RN.04.

Edição das 22h11min de 15 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
Inserir Módulo (CSU01)

Caso de uso: Inserir Módulo

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.

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.

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.

Configurar Sensor (CSU04)

Caso de uso: Configurar Sensor

Identificador: CSU04

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

Ator Primário: Usuário

Ator Primá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 confgiuraçõ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 (CSU05)

Caso de uso: Ler Medida Atual

Identificador: CSU05

Requisito: RF.07

Sumário: Usuário utiliza Sistema Servidor para realizar leitura atual da grandeza medida pelo 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 (CSU07)

Caso de uso: Receber Notificação

Identificador: CSU07

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 (CSU06)

Caso de uso: Ver Notificação

Identificador: CSU06

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: Limiar de algum Sensor atingido.

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

Apresentações:

Slides da Apresentação do Seminário

Slides da Apresentação sobre GPIO na Raspberry PI