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 56: Linha 56:
 
=== '''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}}
 +
'''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.
 +
 +
{{Collapse bottom}}
 +
{{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>]]
 +
{{Collapse bottom}}
 +
{{Collapse top | bg=lightgray | Descrição dos Casos de Uso}}
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{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 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.
 +
 +
{{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 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''.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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''.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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''.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse top | bg=lightwhite | 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.
 +
 +
{{Collapse bottom}}
 +
 +
{{Collapse bottom}}
 +
 
{{Collapse top | bg=lightgreen | Sistema Estação Meteorológica}}
 
{{Collapse top | bg=lightgreen | Sistema Estação Meteorológica}}
 
{{Collapse top | bg=lightgray | Atores}}
 
{{Collapse top | bg=lightgray | Atores}}

Edição das 19h50min 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 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.

Modelagem de Classes de Domínio

Apresentações:

Slides da Apresentação do Seminário

Slides da Apresentação sobre GPIO na Raspberry PI