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
 
(35 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
==Responsável==
 
  
*Felipe Cardoso, e-mail: felipe.p19@aluno.ifsc.edu.br
+
== '''Responsável''' ==
  
==Etapas==
+
*Aluno: Felipe Cardoso
 +
*Email: felipe.p19@aluno.ifsc.edu.br
  
{{Collapse top |Levantamento de Requisitos}}
+
== '''Etapas''' ==
 +
 
 +
{{Collapse top | Ilustração dos Sistemas}}
 +
=== '''Ilustração dos Sistemas''' ===
 +
[[Arquivo:PJI2-DiagramaGeral-v2_Felipe.png|1000px|thumb|center|<div style="TEXT-align: center;">Visão Geral dos componentes do Sistema</div>]]
 +
 
 +
{{Collapse bottom}}
 +
{{Collapse top | Levantamento de Requisitos}}
 +
=== '''Levantamento de Requisitos''' ===
  
 
'''Requisitos Funcionais (RF):'''
 
'''Requisitos Funcionais (RF):'''
Linha 46: Linha 54:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 
{{Collapse top | Análise de Requisitos}}
 
{{Collapse top | Análise de Requisitos}}
 +
=== '''Análise de Requisitos''' ===
 +
 
{{Collapse top | bg=lightblue | Modelagem de Casos de Uso}}
 
{{Collapse top | bg=lightblue | Modelagem de Casos de Uso}}
 +
{{Collapse top | bg=lightgreen | Sistema Estação Meteorológica}}
 
{{Collapse top | bg=lightgray | Atores}}
 
{{Collapse top | bg=lightgray | Atores}}
'''Usuário: '''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.
 
'''Sensor: '''Hardware responsável por fornecer informações de grandezas medidas para o Sistema.
  
'''Servidor Mensagem: '''Sistema responsável por enviar notificação de medidas ao Usuário.
+
'''Sistema Servidor: '''Sistema responsável pela interface WEB.
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
{{Collapse top | bg=lightgray | Diagrama}}
+
{{Collapse top | bg=lightgray | Diagrama de Casos de Uso}}
[[Arquivo:UseCase_Diagram_Felipe2.png|1000px|thumb|center|<div style="TEXT-align: center;">Casos de uso do Sistema Estação Meteorológica</div>]]
+
[[Arquivo:UseCase_Diagram-Felipe.png|1000px|thumb|center|<div style="TEXT-align: center;">Casos de uso do Sistema Estação Meteorológica</div>]]
 
{{Collapse bottom}}
 
{{Collapse bottom}}
{{Collapse top | bg=lightgray | Descrição}}
+
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
 +
{{Collapse top | bg=lightwhite | Inserir Módulo (CSU01) }}
  
 
'''Caso de uso:''' Inserir Módulo
 
'''Caso de uso:''' Inserir Módulo
Linha 66: Linha 78:
 
'''Requisito:''' RF.01
 
'''Requisito:''' RF.01
  
'''Sumário:''' Usuário utiliza o Sistema para inserir um novo módulo de um tipo de Sensor.  
+
'''Sumário:''' Admin utiliza o Sistema para inserir um novo módulo de um tipo de Sensor.  
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Usuário'' acessa sistema para inserção de um novo Módulo.
+
'''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.''' O ''Sistema'' solicita as informações do novo Módulo.
 
  
'''3.''' O ''Usuário'' 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.''' Uma validação do Módulo é executada pelo ''Sistema''.
+
'''Fluxo de Exceção (2):''' Validação sem sucesso.
  
'''Fluxo de Exceção (4):''' 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.  
 
 
'''a.''' Se a validação do Módulo tiver inconsistências, o ''Sistema'' avisa ao ''Usuário'' o motivo e o caso de uso retorna ao passo 2.  
 
  
 
'''Pós-condições:''' Módulo foi inserido no ''Sistema'' e pode ser usado para instalação de sensores.
 
'''Pós-condições:''' Módulo foi inserido no ''Sistema'' e pode ser usado para instalação de sensores.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Instalar Sensor (CSU02) }}
 
 
  
 
'''Caso de uso:''' Instalar Sensor
 
'''Caso de uso:''' Instalar Sensor
Linha 96: Linha 104:
 
'''Requisito:''' RF.02
 
'''Requisito:''' RF.02
  
'''Sumário:''' Usuário utiliza o Sistema para instalar o Sensor desejado.  
+
'''Sumário:''' Admin utiliza o Sistema para instalar o Sensor desejado.  
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Ator Secundário:''' Sensor
 
'''Ator Secundário:''' Sensor
Linha 106: Linha 114:
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Usuário'' acessa sistema para instalação de um novo ''Sensor''.
+
'''1.''' A instalação física do ''Sensor'' é realizada pelo ''Admin''.
 
 
'''2.''' As informações do novo ''Sensor'' são solicitadas pelo ''Sistema''.
 
  
'''3.''' O ''Usuário'' informa um nome para o ''Sensor'' e o Módulo que esse ''Sensor'' irá utilizar.
+
'''2.''' O ''Admin'' envia requisição para o ''Sistema'' solicitando informações dos Módulos instalados.
  
'''4.''' O ''Sistema'' solicita que o ''Usuário'' instale fisicamente o ''Sensor''.
+
'''3.''' O ''Sistema'' apresenta os Módulos instalados.
  
'''5.''' A instalação física do ''Sensor'' é realizada pelo ''Usuário''.
+
'''4.''' O ''Admin'' solicita ao ''Sistema'' a instalação do ''Sensor'' informando um Nome e o Módulo que esse ''Sensor'' irá utilizar.
  
'''6.''' O ''Sistema'' executa uma verificação da instalação física do ''Sensor'' e realiza uma leitura inicial.
+
'''5.''' O ''Sistema'' executa uma verificação da instalação física do ''Sensor'' e realiza uma leitura inicial.
  
'''7.''' O ''Sensor'' retorna a leitura para o ''Sistema''.
+
'''6.''' O ''Sensor'' retorna a leitura para o ''Sistema''.
  
'''8.''' ''Sistema'' exibe as informações para o ''Usuário''.   
+
'''7.''' ''Sistema'' exibe as informações para o ''Admin''.   
  
'''Fluxo de Exceção (6):''' ''Sensor'' não reconhecido ou erro durante leitura inicial
+
'''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 4.
+
'''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.
 
'''b.''' Se a leitura inicial do ''Sensor'' falhar , o ''Sistema'' apresenta o motivo e o caso de uso termina.
Linha 132: Linha 138:
 
'''Regras de Negócio:''' RN.01.
 
'''Regras de Negócio:''' RN.01.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Cadastrar Grandeza (CSU03) }}
 
 
  
 
'''Caso de uso:''' Cadastrar Grandeza
 
'''Caso de uso:''' Cadastrar Grandeza
Linha 142: Linha 148:
 
'''Requisito:''' RF.03
 
'''Requisito:''' RF.03
  
'''Sumário:''' Usuário cadastra no Sistema uma grandeza a ser medida.
+
'''Sumário:''' Admin cadastra no Sistema uma grandeza a ser medida.
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Usuário'' acessa ''Sistema'' para cadastrar uma grandeza.
+
'''1.''' O ''Admin'' envia uma requisição ao ''Sistema'' informando uma grandeza e unidade de medida para cadastro.
 
 
'''2.''' O ''Sistema'' solicita as informações da grandeza.
 
 
 
'''3.''' O ''Usuário'' informa uma grandeza e uma unidade de medida.
 
  
'''4.''' O ''Sistema'' verifica informações e exibe resultado para o ''Usuário''.
+
'''2.''' O ''Sistema'' verifica informações e exibe resultado para o ''Admin''.
  
'''Fluxo de Exceção (4):''' Grandeza já existe.
+
'''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 2.
+
'''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''.
 
'''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
 
'''Caso de uso:''' Configurar Sensor
Linha 170: Linha 172:
 
'''Identificador:''' CSU04
 
'''Identificador:''' CSU04
  
'''Sumário:''' Usuário realiza configurações do Sensor no Sistema
+
'''Sumário:''' Admin realiza configurações do Sensor no Sistema
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Precondições:''' Pelo menos um ''Sensor'' instalado no ''Sistema''.
 
'''Precondições:''' Pelo menos um ''Sensor'' instalado no ''Sistema''.
Linha 178: Linha 180:
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Usuário'' acessa sistema para configurar o ''Sensor''.
+
'''1.''' O ''Admin'' solicita ao ''Sistema'' uma lista com sensores instalado.
  
'''2.''' O ''Sistema'' solicita ao ''Usuário'' que informe qual ''Sensor'' irá configurar.
+
'''2.''' O ''Sistema'' exibe ao ''Admin'' a lista.
  
'''3.''' O ''Usuário'' escolhe um ''Sensor'' instalado.
+
'''3.''' O ''Admin'' informa ao sistema o ''Sensor'' a ser configurado.
  
'''4.''' ''Sistema'' apresenta as configurações possíveis para o ''Sensor''.
+
'''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''.  
 
'''Pós-condições:''' O ''sistema'' iniciou a etapa de configuração do ''Sensor''.  
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Configurar Limiar (CSU05) }}
 
 
  
 
'''Caso de uso:''' Configurar Limiar
 
'''Caso de uso:''' Configurar Limiar
Linha 198: Linha 200:
 
'''Requisito:''' RF.05
 
'''Requisito:''' RF.05
  
'''Sumário:''' Usuário utiliza o Sistema para efetuar a configuração de limiar (inferior e superior).  
+
'''Sumário:''' Admin utiliza o Sistema para efetuar a configuração de limiar (inferior e superior).  
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
Linha 206: Linha 208:
 
'''1.''' Herdar o caso de uso: ''CSU04''.  
 
'''1.''' Herdar o caso de uso: ''CSU04''.  
  
'''2.''' O ''Usuário'' escolhe a configuração de limiares.
+
'''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.''' ''Sistema'' solicita valores para limiar inferior e superior.
 
 
 
'''4.''' O ''Usuário'' informa os valores dos limiares.
 
  
'''5.''' O ''Sistema'' executa a validação dos valores e apresenta resultado ao ''Usuário''.
+
'''3.''' O ''Sistema'' executa a validação dos valores e apresenta resultado ao ''Admin''.
  
'''Fluxo de Exceção (5):''' ''Sensor'' não suporta valor informado.
+
'''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 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:''' Os limiares para envio de Notificação foram configurados.
 
'''Pós-condições:''' Os limiares para envio de Notificação foram configurados.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Configurar Grandeza (CSU06) }}
 
 
  
 
'''Caso de uso:''' Configurar Grandeza
 
'''Caso de uso:''' Configurar Grandeza
Linha 230: Linha 228:
 
'''Requisito:''' RF.04
 
'''Requisito:''' RF.04
  
'''Sumário:''' Usuário utiliza o Sistema para efetuar a configuração da grandeza que será medida pelo Sensor.  
+
'''Sumário:''' Admin utiliza o Sistema para efetuar a configuração da grandeza que será medida pelo Sensor.  
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Ator Secundário:''' Sensor
 
'''Ator Secundário:''' Sensor
 +
 +
'''Precondições:''' Pelo menos uma grandeza cadastrada no ''Sistema''.
  
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
 
'''Precondições:''' Pelo menos uma grandeza cadastrada no ''Sistema''.
 
  
 
'''1.''' Herdar o caso de uso: ''CSU04''.  
 
'''1.''' Herdar o caso de uso: ''CSU04''.  
  
'''2.''' O ''Usuário'' escolhe a configuração de grandeza.
+
'''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.''' ''Sistema'' apresenta grandeza(s) cadastrada(s).
+
'''3.''' O ''Sistema'' realiza a configuração da grandeza no ''Sensor''.
  
'''4.''' O ''Usuário'' informa grandeza que será medida pelo ''Sensor''.
+
'''4.''' O ''Sistema'' exibe resultado ao ''Admin''.
  
'''5.''' O ''Sistema'' realiza a configuração da grandeza no ''Sensor''.
+
'''Fluxo de Exceção (3):''' Houve erro ao configurar grandeza.
 
 
'''6.''' O ''Sistema'' exibe resultado ao ''Usuário''.
 
 
 
'''Fluxo de Exceção (5):''' 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.
 
'''a.''' Se a configuração da grandeza no ''Sensor'' falhar, o ''Sistema'' reporta o erro e o caso de uso termina.
Linha 258: Linha 252:
 
'''Pós-condições:''' A grandeza de medida do ''Sensor'' foi configurada.
 
'''Pós-condições:''' A grandeza de medida do ''Sensor'' foi configurada.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Ler Sensor (CSU07) }}
 
 
  
 
'''Caso de uso:''' Ler Sensor
 
'''Caso de uso:''' Ler Sensor
Linha 280: Linha 274:
 
'''Pós-condições:''' A leitura da grandeza medida pelo ''Sensor'' solicitado foi realizada.
 
'''Pós-condições:''' A leitura da grandeza medida pelo ''Sensor'' solicitado foi realizada.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Ler Medida Atual (CSU08)}}
 
 
  
 
'''Caso de uso:''' Ler Medida Atual
 
'''Caso de uso:''' Ler Medida Atual
Linha 288: Linha 282:
 
'''Identificador:''' CSU08
 
'''Identificador:''' CSU08
  
'''Requisito:''' RF.06
+
'''Requisito:''' RF.07
  
'''Sumário:''' Usuário utiliza Sistema para realizar leitura atual da grandeza medida pelo Sensor.  
+
'''Sumário:''' Admin utiliza Sistema para realizar leitura atual da grandeza medida pelo Sensor.  
  
'''Ator Primário:''' Usuário
+
'''Ator Primário:''' Admin
  
 
'''Precondições:''' ''Sensor'' desejado instalado e configurado.
 
'''Precondições:''' ''Sensor'' desejado instalado e configurado.
Linha 298: Linha 292:
 
'''Fluxo Principal:'''
 
'''Fluxo Principal:'''
  
'''1.''' O ''Usuário'' acessa ''Sistema'' para realizar leitura de medida atual de um ''Sensor''.
+
'''1.''' O ''Admin'' solicita ao ''Sistema'' uma lista com sensores instalado.
  
'''2.''' O ''Sistema'' apresenta para o ''Usuário'' uma lista com os ''Sensores'' instalados.
+
'''2.''' O ''Sistema'' apresenta a lista
  
'''3.''' O ''Usuário'' informa o ''Sensor'' que deseja obter leitura.
+
'''3.''' ''Admin'' envia requisição ao ''Sistema'' informando qual ''Sensor'' deseja obter leitura.
  
 
'''4.''' Incluir caso de uso: CSU07.
 
'''4.''' Incluir caso de uso: CSU07.
  
'''5.''' O ''Sistema'' exibe ao ''Usuário'' o valor da grandeza medida.
+
'''5.''' O ''Sistema'' exibe ao ''Admin'' o valor da grandeza medida.
  
 
'''Fluxo de Exceção (4):''' Erro ao obter leitura do ''Sensor''.
 
'''Fluxo de Exceção (4):''' Erro ao obter leitura do ''Sensor''.
Linha 312: Linha 306:
 
'''a.''' Se a leitura da grandeza medida pelo ''Sensor'' falhar, o ''Sistema'' exibe o erro e o caso de uso retorna ao passo 2.
 
'''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 ''Usuário''.
+
'''Pós-condições:''' A leitura da medida atual foi apresentada para o ''Admin''.
  
 +
{{Collapse bottom}}
  
----
+
{{Collapse top | bg=lightwhite | Gerar Notificação (CSU09) }}
 
 
  
 
'''Caso de uso:''' Gerar Notificação
 
'''Caso de uso:''' Gerar Notificação
Linha 324: Linha 318:
 
'''Requisito:''' RF.06
 
'''Requisito:''' RF.06
  
'''Sumário:''' Sistema gera notificação para Servidor de Mensagem caso um limiar seja atingido.
+
'''Sumário:''' Sistema gera notificação para Sistema Servidor caso um limiar seja atingido.
  
'''Ator Primário:''' Servidor Mensagem
+
'''Ator Primário:''' Sistema Servidor
  
 
'''Precondições:''' Pelo menos um ''Sensor'' instalado e configurado.
 
'''Precondições:''' Pelo menos um ''Sensor'' instalado e configurado.
Linha 338: Linha 332:
 
'''3.''' O ''Sistema'' verifica leitura de cada ''Sensor'' e compara com seus limiares configurados.
 
'''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 ''Servidor de Mensagem''.
+
'''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''.
 
'''Fluxo de Exceção (2):''' 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 continua com a leitura do próximo ''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.
 
'''Pós-condições:''' As leituras de cada ''Sensor'' foram realizadas e notificações necessárias enviadas.
Linha 349: Linha 343:
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightgreen | Sistema Servidor}}
 +
{{Collapse top | bg=lightgray | Atores}}
 +
'''Usuário: '''Indivíduo com possibilidade de realizar algumas operações no Sistema
 +
 +
'''Sistema E.M.: '''Sistema Estação Meteorológica.
 +
 +
{{Collapse bottom}}
 +
{{Collapse top | bg=lightgray | Diagrama de Casos de Uso}}
 +
[[Arquivo:UseCase_servidor.png|1000px|thumb|center|<div style="TEXT-align: center;">Casos de uso do Sistema Servidor</div>]]
 +
{{Collapse bottom}}
 +
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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''.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | Receber 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | Visualizar 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.
 +
 +
{{Collapse bottom}}
 +
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
 
{{Collapse bottom}}
 
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightblue | Modelagem de Classes de Domínio}}
 +
{{Collapse top | bg=lightgreen | Sistema Estação Meteorológica}}
 +
[[Arquivo:Class_Estacao.png|1000px|thumb|center|<div style="TEXT-align: center;">Diagrama de classes do Sistema Estação Meteorológica</div>]]
 +
{{Collapse bottom}}
 +
{{Collapse top | bg=lightgreen | Sistema Servidor}}
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 +
=='''Apresentações:'''==
 +
[https://wiki.sj.ifsc.edu.br/images/a/af/Semin%C3%A1rio.pdf Slides da Apresentação do Seminário]
 +
 +
[https://wiki.sj.ifsc.edu.br/images/9/98/GPIO-RaspberryPi.pdf Slides da Apresentação sobre GPIO na Raspberry PI]

Edição atual tal como às 00h37min 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

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.

Receber 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.

Visualizar 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