·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

PRS3S4 Especificação do trabalho Datas importantes Entrega do trabalho Objetivo Este trabalho tem como objetivo que os alunos organizado em grupos aproprie os conceitos teóricos apresentados em aula e apliqueos no desenvolvimento de uma aplicação na linguagem C que realize as funcionalidades de um cadastro básico inserir listar atualizar e remover funcionalidades estas denominadas pela palavra CRUD Create Read Update Delete em um ambiente distribuído Assim neste trabalho a aplicação deverá 1 utilizar conexão socket para obter os dados e comunicar como o servidor de Banco de Dados 2 utilizar Gerenciador de Banco de Dados para armazenar as informações e 3 uma interface gráfica opcional para apresentar informações relevantes sobre os dados coletados Visão Geral da Arquitetura da Aplicação Cliente x Servidor Componentes da arquitetura 1 Coletor de Dados Elemento Arduíno que realiza a aquisição de dados por meio de um sensor e envia ao Servidor de Coleta de Dados Este elemento deve conectarse ao Servidor de Coleta de Dados por meio de uma conexão socket Como alternativa ao Arduíno é permitido criar ao menos 3 programas ClienteColetorDados onde cada um deles leem um arquivo contendo os dados para serem enviados ao Servidor de Coleta de Dados ver formato do arquivo em ArquivoSimuladorDeColeta 2 Servidor de Coleta de Dados Elemento responsável por receber os dados enviados pelo elemento Coletor de Dados e enviar ao servidor de Banco de Dados por meio de uma comunicação provido por um conector 3 Servidor de Banco de Dados Elemento responsável por armazenar num Bando de Dados Relacional os dados recebidos pelo Servidor de Coleta de Dados 4 Aplicação Este elemento deve obter os dados do Servidor de Coleta de Dados e apresentar os dados de modo já tratados tabela gráficos médias e outros aos usuários de maneira que o usuário possa a partir desse dados realizar uma tomada de decisão API SQL conector API SQL conector Socket 1 Coletor de Dados 3 Servidor Banco Dados 4 Aplicação Relatório 2 Servidor de Coleta de Dados Este documento está organizado com os seguintes tópico Objetivo Arquitetura da Aplicação Requisitos Funcionais da aplicação Requisitos NÃO Funcionais da aplicação Critérios para avaliação do trabalho Data de EntregaO Que EntregarOnde Entregar Organização dos Grupos Dicas 3 Servidor Banco Dados Requisitos Funcionais da aplicação A aplicação deve conter as seguintes funcionalidades 1 Enviar os dados obtidos pelos Coletores de Dados Enviar informações dos dados coletados ao Servidor de Coleta de Dados Pode ser implementada em Arduino mas pode ser simulada por meio de leitura de um arquivo que seria os mesmo a serem enviados caso fosse realizado por um Arduino Deverá ter ao menos 3 elementos Coletores de Dados Ver formato do arquivo em ArquivoSimuladorDeColeta 2 Enviar os dados ao Servidor de Banco de Dados O Servidor de Coleta de Dados deve receber os dados dos coletores e reenviar ao Servidor de Banco de Dados para serem persistidos em tabelas no banco de dados Cada vez que um dado for enviado ao Servidor de Banco de Dados este também ser armazenado em um arquivo de nome dadosEnviadobackup Este arquivo é um registro de todos os dados recebidos pelos coletores e registrados no banco de dados Tem a finalidade de auditoria Deve ter o mesmo formato do arquivo ArquivoSimuladorDeColeta 3 Aplicação Cliente o cliente deve mostrar ao mínimo os seguintes informação 1 Listar em formato tabular todos os itens cadastrados Deve conter um cabeçalho indicando os nomes das colunas visão de cada coletor 2 Listar os dados agrupados por diaperíodo de cada coletor O que for relevante para a aplicação visão de cada coletor 3 Listagem que possa comparar os dados dos coletores para uma tomada de decisão buscando relacionar os coletores com os dados coletados visão de todos coletores Outras informação que forem mostradas serão consideradas Requisitos NÃO funcionais Características da Aplicação Arquitetura da aplicação A aplicação deverá respeitar cada elemento e a maneira de comunicação entre eles apresentado Atributos do objeto cadastrado O objeto de armazenamento VO as informações cadastradas no banco de dados são livres mas devem ter ao mínimo os atributos descrito no ArquivoSimuladorDeColeta Ao serem obtidas pela aplicação cliente do banco de dados estas devem ser representadas por objetos e seus atributos devem ser compatíveis com os do banco de dados Armazenamento dos objetos A aplicação deverá realizar Armazenamento dos dados no Banco de Dados MysSQL MariaDB ou outro banco que desejar Utilizar somente recursos SQL padrão Importante que os dados armazenado no Banco de Dados devem ser mapeados para objetos na aplicação cliente respeitando os tipos dos atributos no banco de maneira adequada pelos objetos em linguagem C tratar data adequadamente em C Interface Gráfica A aplicação cliente poderáopcional ter uma interface gráfica que permite ao usuário acessar as informações do banco de dados Mas seu uso será reconhecido Dados coletados Os dados coletados devem ser valores reais de acordo com o indicador que o dados representa Assim se o dado coletado for umidade de ser um valor relativo de umidade Adicionalmente os dados coletados caso não sejam coletados pelo grupo devem ser obtidos de algum órgão de fonte de dados confiável Documentação O trabalho deverá possuir dois tipos de documentos Um que apresente os nomes dos programas de cada elemento instruções para compilação linkagem e execução da aplicação como um todo As bibliotecas utilizadas e necessárias O órgão da fonte de dados representado pelos coletores O segundo é uma documentação interna dos programas com um breve resumo em cada programa juntamente com a documentação das principais funções e o que mais julgar necessário para o entendimento dos programas Critérios para avaliação A pontuação dos requisitos funcionais 1 15 Enviar os dados obtidos pelos Coletores de Dados 2 25 Enviar os dados ao Servidor de Banco de Dados 3 35 Aplicação Cliente A pontuação dos requisitos NÃO funcionais 1 10 Documentação interna dos métodos classes e trechos essenciais da aplicação 2 15 Documentação externa com descrição da aplicação e fonte de dados Pontuação dos problemas retirada de nota 1 até 20 O objeto de armazenamento VO não respeitar os atributos mínimos e suas características no banco e no objeto 2 até 30 Não respeitar a Arquitetura proposta não implementar utilizando a arquitetura 3 até 20 Consistência nas informações e mensagens que ocorrem em cada programa 4 até 50 Erro de sintaxe no código e execução do aplicativo 5 até 30 Qualidade nas informações apresentadas ao usuário alinhamento e posicionamento dos elementos da gráficos cores fontes localização valores 6 até 20 Qualidade do código da aplicação identação organização dos métodos nomes dos métodos e variáveis Datas de Entregas e o Que Entregar e Onde Entregar Data de Entrega às O Que Entregar 1 Deve ser entre os arquivos cpp h e exe 2 Bibliotecas necessárias para execução aplicação dll lib 3 Arquivos de criação da tabela create table Como entregar Os arquivos devem ser compactado em apenas um arquivo Identificar os elementos do grupo em todos os arquivos com Prontuário Nome e Turma Onde entregar No item de entrega de tarefa Trabalho no Moodle no tópico Avaliação Disciplina Trabalhos e Notas Organização dos Grupos Os grupos poderão ser de até 2 alunos Dicas 1 Utilizar os horários de atendimento para dúvidas e desenvolver o trabalho 2 Guie o seu desenvolvimento pelos requisitos funcionais e não funcionais 4 Faça testes exaustivos e controlados de todas as funcionalidades 5 Em caso de surgimento de alguma dúvida procure o professor BOM TRABALHO Formato do ArquivoSimuladorDeColeta Este arquivo deve estar em formato texto UTF8 com as seguintes informações apresentadas a seguir outras informações poder ser inseridas de acordo com o contexto da aplicação id do Coletor indica qual o coletor que este dado representa Datada Coleta representa a data que foi realizada a coleta formato americano Hora da Coleta representa a hora da coleta com hora minuto e segundo hhmmss Valor Coletado indica o valor coletado pelo sensor o tipo int floatchardouble depende do tipo de dado coletado A maneira que esta arquivo organiza o dados é livre Mas a seguir é sugerido um forma com separador de espaço poderia ser ponto e vírgula idColetor DataColeta HoraColeta ValorColetador 1 20231001 103001 2 1 20231001 113003 15 1 20231001 123001 18