SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS – UNILESTE MG
CURSO DE COMPUTAÇÃO – SISTEMAS DE INFORMAÇÃO
GABRIELA SILVA LISBOA E ALMEIDA
ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE
ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO
Coronel Fabriciano, 2017
GABRIELA SILVA LISBOA E ALMEIDA
ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE
ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO
Monografia apresentada ao curso de
graduação do Centro Universitário do Leste de
Minas Gerais, como requisito à obtenção de
título de bacharel em Computação – Sistemas
de Informação.
Professor Orientador: Marcos Vinícius da Silva
Coronel Fabriciano, 2017
GABRIELA SILVA LISBOA E ALMEIDA
ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE
ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO
Monografia submetida à comissão
examinadora designada pelo curso de
graduação em Computação – Sistemas de
Informação como requisito parcial para
obtenção do título de bacharel. Aprovada em
09 de dezembro de 2017.
_______________________________________________________________
Professor Orientador: Marcos Vinícius da Silva
Titulação: Mestre em Ciência da Computação
Instituição: Centro Universitário do Leste de Minas Gerais
_______________________________________________________________
Professor de Metodologia: Eduardo Siqueira Martins
Titulação: Mestre em Ciência da Computação
Instituição: Centro Universitário do Leste de Minas Gerais
_______________________________________________________________
Professor de Convidado: Demétrio Renó Magalhães
Titulação: Mestre em Engenharia Elétrica
Instituição: Centro Universitário do Leste de Minas Gerais
DEDICATÓRIA
Dedico este trabalho ao Governo do Brasil,
pelo investimento financeiro. Dedico à minha mãe,
irmã e sobrinhos pelo amor e paciência. Aos amigos
da turma de 2011, principalmente ao meu amigo
Maxswel Corrêa Rodrigues, por serem a base da
minha história acadêmica. Aos bons professores por
todo bom ensinamento. Dedico ao meu atual
namorado Filipe Souza Almeida, criador do
equipamento e mentor de todo o processo.
AGRADECIMENTOS
Primeiramente ao Governo Brasileiro pelo pagamento integral da bolsa Prouni,
sem atrasos e sem complicações. Ao Governo também agradeço pelo
Programa Ciências sem Fronteiras, que me possibilitou experiências culturais e
profissionais que levarei comigo por toda a vida.
À minha mãe Jackeline Silva que me ensinou a não desistir, mesmo que tudo
pareça impossível, sem comida, sem água, sem luz, mas nunca sem amor e
trabalho duro.
À minha irmã Maria Luiza por acreditar em mim, por sempre me dar forças, me
ajudando a ver a vida com outros olhos. Agradeço a ela e ao seu esposo pelos
sobrinhos, que são parte da minha alegria.
Ao meu atual namorado Filipe, que construiu o equipamento e dividiu o sonho
dele comigo, confiando no meu trabalho. Agradeço também por toda paciência,
e por sempre falar “Seja qual for sua decisão, estarei do seu lado”. Obrigada
por realmente sempre estar ao meu lado.
Ao meu amigo e irmão Matheus Assis Domingues por todas as pizzas e
churrascos que comemos juntos neste tempo de Unileste. Obrigada por
sempre me perguntar “Como vai? ”. Obrigada por me ajudar a ver os meus
problemas, aceitando que eles existem, e melhorando cada dia minhas
habilidades em resolvê-los.
Agradeço aos chefes que tive e tenho, por me ensinarem como seguir os meus
sonhos. Obrigada Macone Drumond, Bernardus, Nadiele e Jean Barbosa.
Agradeço ao meu melhor gerente, exemplo e líder Adonhiram por sempre me
ensinar, estando literalmente ao meu lado todo o tempo.
Agradeço ao meu amigo Max, que aceitou ser minha dupla de TCC e que
sonhou comigo a possibilidade de pegarmos nosso diploma no fim do ano.
Obrigada por ter feito a diferença, e por ter sonhado comigo em vida.
Agradeço em especial ao professor Eduardo Siqueira Martins, por ser um
exemplo, mostrando como é possível adquirir conhecimento com muito esforço
e trabalho.
Finalmente agradeço a todos os meus amigos do Ciências sem Fronteiras, que
foram uma família para mim, e parte importante desta caminhada. Agradeço
aos que abriram as portas para que eu entrasse, e fizesse da casa deles a
minha casa, da família deles a minha família, dos sonhos deles, os meus
sonhos. Obrigada principalmente à minha amiga e irmã Marianna Murbach
Fasano por sempre estar disponível, e por andar ao meu lado, mesmo distante.
Muito obrigada!
"As pessoas gostam de levar em conta
somente as amarguras. Não levam em conta sua
felicidade. Se raciocinassem corretamente, veriam
que para todos está reservada uma porção de tudo."
(Fyodor Dostoyevsky)
RESUMO
Este trabalho apresenta o desenvolvimento de um sistema online que
possibilita a utilização e o controle de um espectrofotômetro construído de
forma independente, otimizando a forma em que o processo é realizado
atualmente. O objetivo deste trabalho é apresentar uma solução acessível,
eficiente, educativa e de código aberto para técnicos, estudantes, professores e
especialistas no uso de um espectrofotômetro, além de incentivar o trabalho
interdisciplinar. O processo de desenvolvimento deste sistema teve como base
a utilização de técnicas de desenvolvimento ágil. Para o desenvolvimento do
sistema foi necessária a interação com o formando em Engenharia Química e
construtor do equipamento, Filipe Souza Almeida, responsável pelo papel de
cliente. Dos processos envolvidos estão a entrevista direta com o cliente,
possibilitando o levantamento inicial de requisitos e a programação das
funcionalidades. As linguagens de programação utilizadas foram C++ e PHP, e
a comunicação entre elas é possibilitada pela utilização de Sockets. Os dados
gerados são armazenados online em banco de dados MariaDB e podem ser
acessados e controlados pelo sistema online. A interface gráfica foi
desenvolvida em linguagem web HTML 5, os estilos foram definidos seguindo o
padrão do Framework Bootstrap e os gráficos são exibidos utilizando a
biblioteca JQuery Canvas. O funcionamento do equipamento depende apenas
da conexão do mesmo com a internet. Os conceitos de desenvolvimento ágil
de software e gerenciamento de projetos foram essenciais para a conclusão
deste trabalho, assim como os conceitos de Engenharia Química e processos,
fornecidos pelo cliente. Pode-se concluir após o término deste trabalho que é
possível e muito eficiente a interação entre profissionais de diferentes áreas em
prol de um objetivo em comum possibilitando a automação de um processo que
antes era realizado de forma manual, cara e pouco eficiente, agora sendo
realizado de forma econômica e informatizada.
Palavras-chave: espectrofotômetro, PHP, Arduino, sockets, desenvolvimento
ágil.
ABSTRACT
This paper presents the development of an online system, which is responsible
for the use, and control of an independently constructed spectrophotometer,
optimizing the actual process. This paper aims to present an accessible,
efficient, educational and open source solution for technicians, students,
teachers and specialists on the uses of a spectrophotometer, as well as
encouraging interdisciplinary work. The system’s development process was
based on the use of agile development techniques. In order to succeed while
developing the system it was necessary to interact with Filipe Souza Almeida, a
Chemical Engineer student, who is responsible for constructing the equipment.
He assumed the role of client on this paper. Among the development process,
there is a direct interview with the client, which enabled the requirements
gathering, as well as the development of the functionalities. Programming
languages such as C++ and PHP were necessary for the development, and
their communication is controlled through Sockets. The generated data is stored
online in the database MariaDB and can be accessed and controlled by the
online system. The graphical interface was developed in HTML 5 web
language, styles were defined following the Bootstrap Framework standard and
the graphics are displayed using the JQuery Canvas library. The equipment
only depends on its connection to the internet. The concepts of agile software
development and project management were essential for the conclusion of this
paper, as well as the concepts of Chemical Engineering and processes,
provided by the client. It can be concluded after the completion of this paper
that it is possible and very efficient the interaction between professionals from
different areas in favor of a common goal enabling the automation of a process
that was previously performed in a manual, expensive and inefficient way, now
being carried out in an economical and computerized way.
Key words: spectrophotometer, PHP, Arduino, sockets, agile software
development.
LISTA DE FIGURAS
Figura 1 - Exemplo de Gráfico Concentração x Absorbância........................... 14
Figura 2 - Arduino Uno ..................................................................................... 17
Figura 3 - Arduino Ethernet Shield ................................................................... 17
Figura 4 - LED de luz branca............................................................................ 18
Figura 5 - Sensor LDR ..................................................................................... 18
Figura 6 - Servomotor ...................................................................................... 19
Figura 7 - Comunicação Requisição - Resposta .............................................. 21
Figura 8 - Diagrama de Caso de Uso............................................................... 23
Figura 9 - Diagrama de Atividades................................................................... 24
Figura 10 - Diagrama de Implantação.............................................................. 25
Figura 11 - Diagrama Entidade e Relacionamento........................................... 26
Figura 12 - Função PHP - socket_create ......................................................... 33
Figura 13 - Circuito Eletrônico.......................................................................... 36
Figura 14 - Controle de Acesso........................................................................ 38
Figura 15 - Página Inicial.................................................................................. 39
Figura 16 - Cadastro de Substâncias............................................................... 40
Figura 17 - Cadastro de Solvente..................................................................... 41
Figura 18 - Cadastro de Solução Conhecida - Substância............................... 42
Figura 19 - Amostras de Soluções Conhecidas ............................................... 43
Figura 20 - Cadastro Solução Conhecida - Solvente ....................................... 43
Figura 21 - Leitura do Branco........................................................................... 44
Figura 22 - Cadastro de Solução Conhecida - Solução 01 .............................. 45
Figura 23 - Cubeta - Solução Conhecida ......................................................... 46
Figura 24 - Cubeta posicionada ....................................................................... 46
Figura 25 - Seguir Cadastro de Solução Desconhecida................................... 47
Figura 26 - Cadastro Solução Desconhecida - Solução Conhecida................. 48
Figura 27 - Leitura de Solução Desconhecida.................................................. 49
Figura 28 - Cadastro de Solução Desconhecida - Resultado........................... 50
Figura 29 - Curva de Comprimento de Onda x Absorbância............................ 51
Figura 30 - Comportamento das Amostras Desconhecidas ............................. 52
SUMÁRIO
1 INTRODUÇÃO .............................................................................................. 11
2 CENÁRIO DE SOFTWARE .......................................................................... 13
3 DESENVOLVIMENTO DO SISTEMA ........................................................... 16
3.1 AUTOMAÇÃO ........................................................................................ 16
3.1.1 Arduino – Ethernet......................................................................... 16
3.1.2 Arduino LED e Sensor de Luz....................................................... 18
3.1.3 Arduino – Servomotor ................................................................... 19
3.2 Sistemas Distribuídos .......................................................................... 19
3.2.1 Sockets ........................................................................................... 20
3.3 Linguagens de Programação............................................................... 21
3.3.1 C++ .................................................................................................. 21
3.3.2 PHP.................................................................................................. 22
3.4 Engenharia de Software....................................................................... 23
3.4.1 Diagrama de Caso de Uso ............................................................. 23
3.4.2 Diagrama de Atividades................................................................. 24
3.4.3 Diagrama de Implantação.............................................................. 25
3.4.4 Diagrama Entidade Relacionamento – DER................................. 26
3.4.6 Metodologias Ágeis ....................................................................... 26
3.5 Ferramentas Utilizadas......................................................................... 27
3.5.1 XAMPP ............................................................................................ 27
3.5.2 Sublime Text................................................................................... 27
3.5.3 Arduino IDE .................................................................................... 28
3.5.4 Banco de Dados – MariaDB........................................................... 28
3.5.5 Sistema Gerenciador de Banco de Dados - phpMyAdmin ......... 28
3.5.6 Astah Community........................................................................... 29
4 METODOLOGIA DE PESQUISA.................................................................. 30
4.1 Desenvolvimento ágil de software ...................................................... 30
4.2 Modelos Comportamentais.................................................................. 30
4.3 Interface Homem Máquina (IHM) ......................................................... 31
4.4 Modelagem de Banco de Dados.......................................................... 31
4.5 Programação de funcionalidades – Cliente........................................ 31
4.6 Integração Cliente – Servidor .............................................................. 32
4.7 Programação de funcionalidades – Servidor ..................................... 34
4.8 Testes de software ............................................................................... 36
5 RESULTADOS E DISCUSSÕES.................................................................. 37
5.1 Cadastros – Fluxo Básico.................................................................... 37
5.2 Cadastros – Fluxo Principal................................................................. 37
5.3 Espect – Demonstração ....................................................................... 38
5.4 Dificuldades .......................................................................................... 53
6 CONCLUSÃO ............................................................................................... 54
REFERÊNCIAS................................................................................................ 56
ANEXOS .......................................................................................................... 58
Lista de Funções – Espect......................................................................... 58
Premissas do Projeto ................................................................................. 60
Restrições do Projeto................................................................................. 60
Análise de risco do Projeto........................................................................ 60
Descrição dos Atores................................................................................. 61
Caso de Uso – Espect ................................................................................ 62
Requisitos Funcionais - Espect................................................................. 63
Requisitos Não Funcionais – Espect ........................................................ 69
Diagrama de Implantação .......................................................................... 71
Diagrama de Atividades ............................................................................. 72
Diagrama Entidade e Relacionamento...................................................... 81
Dicionário de Dados ................................................................................... 82
11
1 INTRODUÇÃO
Um espectrofotômetro é um equipamento eletrônico, presente em várias áreas,
tais como Química, Física, Bioquímica, e biologia molecular. É utilizado para
medir a concentração de determinadas substâncias em soluções químicas,
dependendo da coloração particular de cada substância. Este equipamento
possui uma gama de aplicações nas áreas em que está relacionado, sendo
muito útil e até mesmo essencial para a indústria e para a pesquisa.
O problema atual em relação ao espectrofotômetro, não tanto na indústria, mas
no ambiente acadêmico e de pesquisa é a falta de investimento financeiro em
equipamentos como este, com valor cotado em média de seis mil reais,
podendo chegar a valores de até sessenta mil reais.
A escassez de recursos financeiros para aquisição de novos equipamentos em
laboratórios de pesquisa, incentiva então os alunos a construírem seus próprios
equipamentos, aproveitando de matérias obrigatórias como os trabalhos de
conclusão de curso para investirem tempo e conhecimento no desenvolvimento
tecnológico brasileiro.
Segundo Castro (2008, p.1):
O resultado de nossas escolhas históricas é que temos uma ciência
relativamente avançada para nossa realidade, mas a tecnologia anda
a passo de tartaruga.
Outro problema também relacionado ao desenvolvimento tecnológico brasileiro
e mundial é a questão da sustentabilidade. Espectrofotômetros são
equipamentos de construção simples, mas como qualquer aparelho eletrônico,
são muito poluentes por envolverem em sua estrutura componentes como
lâmpadas, micro controladores e telas digitais.
Com o objetivo de reduzir o impacto negativo das pegadas ecológicas, o
equipamento apresentado neste trabalho foi construído com materiais
recicláveis, e seu controle é feito utilizando um único Arduino Uno. Além de
reduzir o impacto negativo, a utilização de matérias recicláveis torna o
equipamento mais acessível e barato, orçado em um valor de
aproximadamente cem reais.
12
Outro fator que torna o equipamento mais barato e acessível é o engajamento
dos alunos envolvidos tanto no processo de construção do equipamento
eletrônico quanto do software que torna o mesmo utilizável por qualquer
pessoa que tenha acesso à internet.
Para amenizar os problemas apresentados, foi então realizado um trabalho
envolvendo alunos de diferentes cursos, enfatizando a ideia de que o
desenvolvimento acadêmico depende fortemente da integração entre diferentes
áreas científicas e tecnológicas. É de extrema importância o relacionamento
interdisciplinar dentro de instituições de ensino, seguindo a premissa de que os
alunos recebem tarefas de conclusão obrigatória durante o curso, para que
obtenham o diploma.
Grillo (2008, p. 79) diz que:
Todo aluno traz para sala de aula uma história pessoal, com
experiências particulares vividas na família, na sociedade, com
disposições e condições diversas para realizar seu percurso de
estudante, e expectativas diferenciadas com relação a um projeto de
vida.
Considerando que cada aluno carrega consigo um conhecimento específico, e
que as ciências, segundo Aristóteles (REALE, 2017) são baseadas em
Produtivas, Práticas e Teoréticas, é importante então integrar os
conhecimentos e experiências de cada um em prol da criação de produtos,
colocando em prática a teoria aprendida em sala de aula.
A eficácia na construção de produtos modernos e otimizados permite às
instituições de ensino aproveitamento destes equipamentos em seus
laboratórios de pesquisa, a um custo financeiro baixo, ou até mesmo nulo,
possibilitando a continuação do fluxo de conhecimento e desenvolvimento
tecnológico; área que não recebe grande incentivo financeiro.
13
2 CENÁRIO DE SOFTWARE
O espectrofotômetro é um equipamento eletrônico capaz de diferenciar
comprimentos de onda, por meio da decomposição de cores em prismas ou
redes de difração. Este equipamento é importante em laboratórios de Química
e Física pois possibilita de forma prática demonstrar aos alunos que é possível
caracterizar compostos na natureza segundo a sua cor.
O mesmo é também importante na indústria, e em laboratórios industriais que
necessitam saber a concentração de determinada substância em uma solução
química, e até mesmo verificar qual é a substância em questão, dependendo
do comprimento de onda que a representa.
Atualmente o controle do espectrofotômetro construído pelo cliente não é
informatizado. O equipamento é integrado à ferramenta MATLAB, para geração
de gráficos e relatórios, mas ainda assim está muito limitado ao conhecimento
técnico avançado de seus usuários.
O processo de utilização de um espectrofotômetro deve seguir algumas
premissas, para que os resultados sejam eficientes:
 Leitura do branco: o usuário prepara uma amostra do solvente
utilizado na solução, coloca esta amostra na cubeta e faz a leitura do
mesmo, utilizando o equipamento. Assim, ele separa a curva do
branco, que será subtraída de cada uma das curvas lidas das soluções
conhecidas.
 Leitura de amostras de soluções conhecidas: o usuário prepara pelo
menos cinco amostras conhecidas, coloca cada uma destas amostras
na cubeta e faz leitura destas utilizando o equipamento.
A solução conhecida tem esse nome porque se conhece qual a substância
presente, qual o solvente utilizado para dissolvê-la e qual a concentração desta
substância neste solvente.
 Preparo da curva de calibração: o usuário, manualmente, após fazer
leitura das cinco amostras conhecidas, verifica todos os valores de
14
absorbância de cada amostra, encontrando em qual comprimento de
onda a absorbância teve seu pico máximo.
 Montagem do gráfico da relação de Concentração x Absorbância:
Obtido o pico máximo de cada uma das curvas, o usuário desenha
também manualmente, um gráfico com a relação da absorbância com
a concentração no mesmo comprimento de onda.
Na Figura 1, tem-se um exemplo do gráfico, para três amostras conhecidas:
Figura 1 - Exemplo de Gráfico Concentração x Absorbância
Fonte: O Autor.
 Cálculo da regressão linear da reta: Após encontrar a reta de relação
de Concentração x Absorbância, o usuário faz a regressão linear da
mesma, objetivando encontrar o coeficiente angular da reta, que
corresponde ao ε da Lei de Beer.
Lei de Beer (Skoog, 2009, p. 350):
𝐴 = 𝜀. 𝑏. 𝑐
Onde A é a absorbância, ε é o coeficiente de cada substância, b é o caminho
ótico da cubeta em cm e C é a concentração da substância em mol/L.
 Leitura de amostras de soluções desconhecidas: o usuário após fazer
todos os cálculos manualmente, agora pode fazer a leitura das
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0 0.001 0.002 0.003 0.004 0.005 0.006
15
soluções desconhecidas, pois já tem as informações necessárias para
encontrar a concentração de determinada substância na mesma.
A solução desconhecida tem esse nome porque se conhece qual a substância
presente, qual o solvente utilizado para dissolve-la, desconhecendo-se a
concentração desta substância neste solvente.
Com o ε da Lei de Beer em mãos, o usuário pode então analisar qualquer
amostra da mesma substância, pois assim saberá qual a sua concentração.
Além da demonstração dos gráficos e cálculos de regressão linear, o
equipamento exige que após descoberta a curva de calibração, o motor seja
configurado para leitura das soluções desconhecidas, na posição que
representa o comprimento de onda particular da substância da solução. A partir
deste momento, o motor não deve mover, pois o espectro de luz refletido não
pode ser alterado. Este controle eletrônico também está atualmente integrado
ao MATLAB, que por meio de bibliotecas, faz integração com o Arduino.
Durante o processo de utilização deste equipamento, o usuário não tem
possibilidade de salvar os dados com os quais trabalha em um banco de
dados. Consequentemente, a cada vez que deseja descobrir a concentração
de uma substância em uma solução desconhecida, ele precisa realizar
novamente a leitura das cinco soluções conhecidas, o que gera retrabalho e
desperdício de material.
16
3 DESENVOLVIMENTO DO SISTEMA
Esta seção apresentará os referenciais teóricos, conceitos e técnicas que
foram essenciais para a construção do projeto, mostrando em que foi baseado
o desenvolvimento deste trabalho.
3.1 AUTOMAÇÃO
Em busca de maior desempenho e maior produtividade as indústrias e o setor
de pesquisa no último século têm se adaptado a equipamentos automatizados,
envolvendo o uso de computadores de grande porte e de microcomputadores.
“Os controles de processos industriais e a automação da manufatura é sem
dúvida uma das aplicações de maior impacto. ” (NATALE, 2004, p. 12)
3.1.1 Arduino – Ethernet
O Arduino é uma placa de prototipagem eletrônica, utilizado na automação de
processos, podendo ser denominado um microcomputador.
Natale (2004, p. 1) define um microcomputador:
Os microcomputadores, podem ser classificados segundo as
aplicações específicas. Desenvolvidos por meio de
microprocessadores e micro controladores, resolvem problemas
similares aos de grande porte, porém menos complexos e com
menos quantidade de dados.
Seguindo esta definição o Arduino foi considerado a forma mais eficiente de
automatizar o processo de utilização do espectrofotômetro, que é um
equipamento industrial, mas seu problema não é complexo e envolve
quantidades razoáveis de dados a serem processados.
17
Na Figura 2, tem-se uma foto representativa de um Arduino Uno:
Figura 2 - Arduino Uno
Fonte: Arduino (2017)
Oliveira (2010, p.51), cita duas opções de implementação da Ethernet, sendo
elas: interfaceamento da unidade de controle com uma placa de rede de
computador diretamente ou interfaceamento de algum sistema embarcado com
um circuito integrado dedicado para o controle da Ethernet.
Na Figura 3, temos uma foto da interface que se conecta ao Arduino,
permitindo a integração do mesmo com a Ethernet:
Figura 3 - Arduino Ethernet Shield
Fonte: Gravitech (2017)
18
3.1.2 Arduino LED e Sensor de Luz
LEDs e sensores de luz são dispositivos semicondutores de estado sólido,
sendo que “o semicondutor mais simples é conhecido como diodo. ” (LAMB,
2015, p. 35)
Segundo Lamb (2015): “Certos tipos de diodo servem também para detectar
luz (fotodiodos) ou para gerar luz (LEDs) ”.
O sensor de luminosidade LDR é um componente cuja resistência varia de
acordo com a intensidade de luz, sendo que a resistência é diminuída de
acordo com a quantidade de luz que incide sobre ele. O LED é uma pequena
lâmpada, que emite luz.
A Figura 4 representa um LED de luz branca, e a Figura 5 representa um
sensor LDR, utilizado para detectar a luz:
Figura 4 - LED de luz branca
Fonte: Amazonaws (2017)
Figura 5 - Sensor LDR
Fonte: Potentiallabs (2017)
19
3.1.3 Arduino – Servomotor
Segundo Lamb (2015): “Os servomotores são especialmente desenvolvidos e
construídos para uso em sistemas de controle de retroalimentação. ”, assim
como: “Os servomotores são acionados por servoacionamentos, que fornecem
velocidade precisa, torque e controle de posição ao utilizar um codificador. ”
Servomotores são motores de rotação, sendo que suas posições podem ser
controladas via código.
A Figura 6 ilustra um servomotor:
Figura 6 - Servomotor
Fonte: Ssl-images-amazon (2017)
3.2 Sistemas Distribuídos
Uma caracterização não muito específica de sistemas distribuídos é feita por
Tanembaum (2008, p.1): “Um sistema distribuído é um conjunto de
computadores independentes que se apresenta aos seus usuários como um
sistema único e coerente. ”.
Lages (1986. p.209) diz que “Uma das áreas em que os sistemas distribuídos
têm encontrado melhores perspectivas de aplicação é a automação. ”.
Como o desenvolvimento deste trabalho envolve a integração de um
microcomputador e um sistema web, localizado em um servidor, podendo ser
acessado por diferentes computadores pessoais, por meio da internet, ele
segue a definição de sistema distribuído de Tanembaum.
20
O acesso ao sistema de controle e análise dos dados é feito via internet, e
pode ser acessado por qualquer pessoa que possuir seu endereço de acesso.
O controle dos equipamentos eletrônicos envolvidos no processo de leitura dos
dados acontece de forma transparente para o usuário, que não precisa ter
conhecimento em como um motor ou um sensor funcionam. Coulourius (2007,
p. 16) define os sistemas distribuídos como:
Aquele no qual os componentes de hardware ou software localizados
em computadores interligados em rede, se comunicam e coordenam
suas ações apenas enviando mensagens entre si. (...) A motivação
para construir e usar sistemas distribuídos é proveniente do desejo de
compartilhar recursos.
Da forma em que o sistema foi construído, tanto as comunicações entre os
componentes assim como o controle dos equipamentos eletrônicos acontecem
de forma independente e ao mesmo tempo compartilhada. Este
compartilhamento é possível com a utilização da tecnologia de Sockets, com
relacionamento cliente-servidor entre Arduino e sistema web.
3.2.1 Sockets
A tecnologia de sockets é utilizada para estabelecer o relacionamento de
comunicação cliente-servidor entre um sistema de controle e uma Interface
Homem Máquina.
21
A Figura 7 representa a comunicação cliente-servidor:
Figura 7 - Comunicação Requisição - Resposta
Fonte: COULOURIS et Al (2017, p. 147) adaptado
3.3 Linguagens de Programação
É de extrema importância que os desenvolvedores de software saibam
reconhecer as melhores linguagens de programação a serem utilizadas em um
determinado sistema, levando em consideração as velocidades de resposta e
também o nível de modernização destas.
Sebesta (2011, p. 24) confirma esta importância:
Software de sistema são aplicativos usados quase continuamente e,
dessa forma, devem ser eficientes. Além disso, tais aplicativos devem
ter recursos de baixo nível que permitam aos aplicativos de software
se comunicarem com dispositivos externos a serem escritos.
3.3.1 C++
Segundo Sebesta (2011), a linguagem C++ é uma linguagem que “evoluiu a
partir do C com uma série de modificações para melhorar seus recursos
imperativos e adicionar construções para suporte à programação orientada a
objetos. ”
Esta é a linguagem utilizada para o controle do Arduino. Por ser uma
linguagem orientada a objetos, seu funcionamento depende da importação de
22
bibliotecas que realizam funcionalidades específicas dependendo das
necessidades de cada programa.
 SPI (Serial Peripheral Interface): protocolo de dados usado por micro
controladores para comunicação com um ou mais dispositivos
periféricos de forma rápida sobre pequenas distâncias. Pode também
ser usado para a comunicação entre dois micro controladores.
(ARDUINO, 2017)
 UPIEthernet: biblioteca independente responsável pelo
empacotamento dos dados de forma madura, que provê
implementação de baixo nível para todos os protocolos suportados. É
compatível com o Internet Shield ENC28J60 utilizado no projeto,
disponibilizando interface para o seu controle. (ARDUINO, 2017)
 Servo.h: biblioteca nativa do Arduino que permite o controle de servo
motores. (ARDUINO, 2017)
3.3.2 PHP
A linguagem PHP é uma linguagem de script, que funciona de forma
interpretada. Ela é amplamente utilizada para o desenvolvimento web em todo
o mundo e possui vasta documentação por toda a internet.
Sebesta (2011, p. 25) afirma:
Dada a necessidade universal por conteúdo dinâmico na Web,
alguma capacidade de computação geralmente é incluída na
tecnologia de apresentação de conteúdo. Essa funcionalidade pode
ser fornecida por código de programação embarcado em um
documento XHTML. Tal código é normalmente escrito com uma
linguagem de scripting, como JavaScript ou PHP.
A linguagem PHP é facilmente integrada à linguagem HTML, responsável pela
marcação e estilização das páginas do sistema, e também à linguagem
JavaScript, responsável pelo controle dos gráficos e de permissões do sistema.
O sistema desenvolvido em PHP tem acesso ao banco de dados MariaDB,
possibilitando a realização de consultas e modificações nas tabelas de forma
rápida e transparente ao usuário.
23
3.4 Engenharia de Software
Pressman e Maxim (2016, p. 106) afirmam que existem oito princípios
fundamentais para a engenharia de software:
A engenharia de software é norteada por um conjunto de princípios
fundamentais que ajudam na aplicação de um processo de software
significativo e na execução de métodos de engenharia de software
eficazes.
Estes princípios são:
(1) Seja ágil; (2) Concentre-se na qualidade em todas as etapas; (3) Esteja
pronto para adaptações; (4) Monte uma equipe eficiente; (5) Estabeleça
mecanismos para comunicação e coordenação; (6) Gerencie mudanças; (7)
Avalie os riscos; (8) Gere artefatos que forneçam valor para os outros.
3.4.1 Diagrama de Caso de Uso
O diagrama de caso de uso é um diagrama proveniente da linguagem UML
(Unified Modeling Language) utilizado para representar uma sequência de
atividades que envolvem atores e o sistema. Ele é caracterizado como um
modelo comportamental, que “indica como o software vai responder a
estímulos ou eventos externos”. (PRESSMAN; MAXIM, 2016, p. 203).
A Figura 8 apresenta um exemplo de diagrama de caso de uso:
Figura 8 - Diagrama de Caso de Uso
Fonte: O Autor.
24
3.4.2 Diagrama de Atividades
“Um diagrama de atividades UML complementa o caso de uso por meio de
uma representação gráfica do fluxo de interação em um cenário específico. ”
(PRESSMAN; MAXIM, 2016, p. 179).
A Figura 9 representa um diagrama de atividades:
Figura 9 - Diagrama de Atividades
Fonte: O Autor.
25
3.4.3 Diagrama de Implantação
“O diagrama de implantação em UML pode ser utilizado em situações em que
complexas arquiteturas de configuração tem de ser consideradas. ”
(PRESSMAN; MAXIM, 2016, p. 203).
A Figura 10 representa um diagrama de Implantação:
Figura 10 - Diagrama de Implantação
Fonte: O Autor.
26
3.4.4 Diagrama Entidade Relacionamento – DER
“ O diagrama ER é apenas uma descrição aproximada dos dados, criada
através de uma avaliação subjetiva das informações coletadas durante a
análise de requisitos. ” (RAMAKRISHNAN; GEHRKE, 2008).
Esta etapa é a de projeto físico do banco de dados. Segundo Ramakrishnan e
Gehrke (2008):
Nesta etapa, consideramos as cargas típicas esperadas que nosso
banco de dados deve suportar e refinamos ainda mais o projeto de
banco de dados para assegurar que ele satisfaça os critérios de
desempenho desejados. Esta etapa pode apenas envolver a criação
de índices em algumas tabelas e agrupamento de tabelas, ou pode
envolver um reprojeto substancial de partes do esquema de banco de
dados obtido das etapas anteriores de projeto.
A Figura 11 demonstra um exemplo de Diagrama Entidade e Relacionamento:
Figura 11 - Diagrama Entidade e Relacionamento
Fonte: O Autor.
3.4.6 Metodologias Ágeis
O processo escolhido e abordado no desenvolvimento do sistema não deve ser
considerado ágil, seguindo a premissa de que metodologias ágeis devem ser
aplicadas em sua totalidade, para que sejam efetivas.
De acordo com Pressman e Maxim (2016, p. 106): “Não importa se o modelo
de processo que você escolheu é prescritivo ou ágil, os princípios básicos do
desenvolvimento ágil devem comandar sua abordagem. ”. Sendo assim alguns
princípios de metodologias ágeis foram abordados no desenvolvimento do
sistema. Tais princípios são descritos por Beck et al. (2001):
27
Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.
Processos ágeis se adequam a mudanças para que o cliente possa
tirar vantagens competitivas; Pessoas relacionadas a negócios e
desenvolvedores devem trabalhar em conjunto e diariamente, durante
todo o curso do projeto; O método mais eficiente e eficaz de transmitir
informações para, e por dentro de um time de desenvolvimento, é
através de uma conversa cara a cara; Simplicidade: a arte de
maximizar o trabalho que não precisou ser feito.
3.5 Ferramentas Utilizadas
As ferramentas utilizadas no desenvolvimento de um sistema definem o
ambiente de programação em que tal sistema foi desenvolvido. Sebesta (2011,
p. 52) afirma:
Um ambiente de programação é a coleção de ferramentas usadas no
desenvolvimento de software. Essa coleção pode consistir em apenas
um sistema de arquivos, um editor de textos, um ligado e um
compilador. Ou pode incluir uma grande coleção de ferramentas
integradas, cada uma acessada por meio de uma interface de usuário
uniforme. No último caso, o desenvolvimento e a manutenção de
software é enormemente melhorada. Logo, as características de uma
linguagem de programação não são a única medida da capacidade
de desenvolvimento de um sistema.
Nesta seção, serão descritos todos os diversos ambientes de programação
utilizados neste trabalho.
3.5.1 XAMPP
Esta é uma ferramenta multiplataforma e gratuita que consiste em uma pilha de
servidores web, desenvolvida pela Apache Friends. É responsável pela
instalação e funcionamento do servidor HTTP Apache, do banco de dados
MariaDB, e por interpretar códigos escritos em PHP.
3.5.2 Sublime Text
Este é um editor de texto otimizado para desenvolvimento de sistemas web e
para desenvolvimento de linguagens de marcação, como HTML. Ele permite a
edição dos códigos de forma intuitiva e interativa, é fácil de instalar e de utilizar.
Este editor é muito popular entre os desenvolvedores web PHP, por ser gratuito
e por não ser muito pesado, sendo essencial apenas para o que é necessário:
criação de códigos.
28
3.5.3 Arduino IDE
Esta é uma ferramenta multiplataforma, de código aberto, utilizada para criação
de códigos C++, compilação e carregamento dos códigos para o sistema
embarcado. Ela é disponibilizada gratuitamente pela Arduino, em seu website.
A Arduino IDE foi construída em linguagem Java e é integrada à placa Arduino
por meio de comunicação de portas seriais. Desta forma, após o código ser
editado e compilado, esta ferramenta também permite que o usuário carregue o
código para a placa, com o clique de apenas um botão. A placa Arduino deve
estar conectada em uma das portas seriais do computador que realiza o
carregamento do código para que a comunicação aconteça.
A comunicação serial também permite ao programador verificar as saídas do
programa por meio de um monitor serial, também parte da Arduino IDE. Desta
forma, a visualização de entrada e saída de dados no servidor acontece de
forma fácil e intuitiva.
3.5.4 Banco de Dados – MariaDB
Heuser (2009, p. 23) descreve banco de dados como “conjunto de dados
integrados que tem por objetivo atender a uma comunidade de usuários. ”. A
necessidade de integração do sistema com um banco de dados decorre da
necessidade de compartilhamento dos dados mantidos pelo sistema entre
todos os usuários do mesmo.
O MariaDB é uma versão aprimorada do banco de dados MySQL. Ele é
mantido atualizado com a versão mais recente do banco de dados MySQL, de
forma que todos os comandos, interfaces, bibliotecas e APIs que existem no
MySQL também existem no MariaDB.
3.5.5 Sistema Gerenciador de Banco de Dados - phpMyAdmin
Naturalmente o banco de dados MySQL é acessado e controlado por janela de
comando, e em decorrência da dificuldade dos usuários em não ter uma
interface gráfica para isso, foi criado o phpMyAdmin, um SGBD (Sistema
Gerenciador de Banco de Dados) gratuito.
29
Este SGBD foi escrito principalmente em linguagem PHP, e funciona como
uma aplicação web por meio de navegadores de internet, o que o tronou uma
das ferramentas mais populares para o desenvolvimento web, especialmente
para serviços de hospedagem online.
3.5.6 Astah Community
Os diagramas citados nos itens 3.4.1, 3.4.2 e 3.4.3 foram construídos utilizando
esta ferramenta. Ela está disponível para download online, e permite a criação
de diagramas UML de forma gratuita.
30
4 METODOLOGIA DE PESQUISA
Este trabalho foi desenvolvido com base na metodologia de pesquisa aplicada,
que segundo Prodanov e Freitas (2013, p. 51) sua natureza “objetiva gerar
conhecimentos para aplicação prática dirigidos à solução de problemas
específicos. Envolve verdades e interesses locais. ”.
4.1 Desenvolvimento ágil de software
Baseando-se nas técnicas de pesquisa aplicada, e nas bases teóricas das
metodologias de desenvolvimento ágil de software, foram realizadas
entrevistas e conversas com o cliente, para o levantamento dos requisitos
iniciais do software, como funcionamento básico de um espectrofotômetro.
Durante o processo a aluna se concentrou em todos os princípios fundamentais
da engenharia de software, procurando agir de forma coerente com as boas
práticas desta. Em consequência disto a aluna, em parceria com o cliente
esteve dentro dos prazos para a entrega das partes desenvolvidas do software,
se atentando às necessidades dos usuários, realizando mudanças sempre que
necessário.
O relacionamento entre a aluna e o cliente foi diário. O processo de
levantamento de requisitos e testes foi feito pessoalmente, fazendo com que as
entregas contínuas fossem avaliadas, podendo ser alteradas segundo as
necessidades do cliente, o que otimizou o tempo de entrega de
funcionalidades.
4.2 Modelos Comportamentais
Posterior ao levantamento inicial de requisitos, foram projetados: um diagrama
de caso de uso; um diagrama de atividades; um diagrama de implantação. Tais
diagramas auxiliaram a comunicação entre a aluna responsável pelo
desenvolvimento e o cliente, de forma que este conseguiu visualizar todas as
funcionalidades específicas do software, assim como associá-las aos atores,
usuários do sistema.
O diagrama de caso de uso foi utilizado para representar dois diferentes atores
usuários do sistema: Aluno e Técnico, indicando as funcionalidades que são
responsabilidade ou não de cada um deles.
31
Adicional ao diagrama de caso de uso, foi projetado o diagrama de atividades
do sistema, importante por demonstrar com clareza a interação entre os atores,
a interface homem máquina e os dispositivos eletrônicos.
O diagrama de Implantação permite a identificação dos dispositivos
responsáveis pelos papeis de cliente e servidor, assim como permite a
identificação do protocolo utilizado para comunicação entre eles. No caso deste
trabalho, o protocolo de comunicação utilizado foi o TCP/IP.
4.3 Interface Homem Máquina (IHM)
Assim que os requisitos básicos foram aprovados pelo cliente, iniciou-se então
a fase de criação da interface gráfica do sistema, utilizando-se um template
baseado em Bootstrap próprio para apresentação de Dashboard. A
participação do cliente também foi ativa nesta fase, visando sempre a
simplicidade das funcionalidades e a apresentação destas de forma didática e
intuitiva a seus usuários.
O desenvolvimento da IHM do software foi realizado em linguagens próprias
para web HTML e JavaScript. A linguagem HTML é responsável pela marcação
e estilização das páginas do sistema, e a linguagem JavaScript é responsável
pela exibição e controle dos gráficos, assim como é responsável por indicar de
forma clara ao usuário as permissões do sistema.
4.4 Modelagem de Banco de Dados
Concluída a fase de desenvolvimento gráfico, iniciou-se o projeto das tabelas
de banco de dados e seus relacionamentos. Depois de projetadas, as tabelas e
seus relacionamentos foram criados em banco de dados MariaDB, com o
auxílio da ferramenta phpMyAdmin, em linguagem SQL.
O banco de dados MariaDB é utilizado no desenvolvimento deste sistema por
ter sua versão nativa na ferramenta XAMPP, previamente apresentada no item
3.5.1.
4.5 Programação de funcionalidades – Cliente
Com o modelo relacional do banco de dados construído e projetado para se
adaptar às mudanças, iniciou-se o processo de programação de cadastros
32
básicos, permitindo tanto a inserção de dados nas tabelas, quando sua edição
e a exclusão, por meio do sistema.
Em sequência à finalização do desenvolvimento das funcionalidades básicas
do sistema, e da programação do controle dos componentes eletrônicos, foi
desenvolvido o fluxo principal do programa, o qual utiliza os dados cadastrados
pelas funcionalidades básicas para o tratamento destes nas telas responsáveis
pela comunicação entre o sistema e o Arduino. Ao fim desta fase, as telas
funcionais foram apresentadas ao cliente, para realização de testes e
aprovação.
A linguagem PHP foi escolhida para o desenvolvimento do sistema que
interage com o usuário por ser confiável e popular. Por ser uma linguagem
baseada em servidor, sua integração com dispositivos embarcados é simples e
intuitiva.
A linguagem PHP é facilmente integrada à linguagem HTML. O sistema
desenvolvido em PHP também tem acesso ao banco de dados MariaDB,
possibilitando a realização de consultas e modificações nas tabelas de forma
rápida, segura e transparente ao usuário.
4.6 Integração Cliente – Servidor
Paralelo ao desenvolvimento das funcionalidades básicas, foi realizada uma
pesquisa em relação às formas de comunicação da linguagem PHP com o
Arduino. Durante esta pesquisa, foram encontradas duas soluções de
comunicação: via serial e via Ethernet.
Em razão da linguagem PHP ser uma linguagem baseada em servidores e não
em sistemas operacionais, adotou-se então a comunicação via Ethernet, por
meio de Sockets. Desta forma o sistema estabelece um relacionamento que
segue a natureza da linguagem na qual foi desenvolvido.
Tomou-se então a decisão de desenvolver um sistema online para controle de
um equipamento eletrônico que tem como base o Arduino seguindo a premissa
de que este é programado em linguagem de alto nível (C++) e possui fácil
33
integração a aplicações desenvolvidas fora de seu sistema embarcado por
meio de comunicação Ethernet.
Neste trabalho o Arduino assume o papel de servidor enquanto o sistema
online realiza o papel de cliente.
A tecnologia adotada para a comunicação entre o Arduino e o sistema online
foi a de Sockets, onde é estabelecida uma comunicação cliente-servidor entre
o sistema de controle, programado no Arduino, e o sistema de IHM,
programado em linguagem própria para web, PHP.
A configuração do Arduino como servidor acontece de forma que é necessário
configurar seu endereço MAC, e seu endereço de IP, os quais serão
referenciados pelo sistema web, no momento da comunicação. O protocolo de
comunicação utilizado para a construção do socket é o TCP, referenciado na
função PHP de criação do mesmo. Esta função está representada na Figura
12:
Figura 12 - Função PHP - socket_create
Fonte: O Autor.
Com a chamada desta função:
 AF_INET especifica a família de protocolo utilizada pelo socket.
IPv4 Protocolo baseado em Internet;
 SOCKET_STREAM seleciona o tipo de comunicação a ser
utilizada pelo socket. O protocolo TCP/IP é baseado neste tipo de
protocolo;
 SOL_TCP configura o protocolo específico, sob o domínio
específico a ser usado quando as comunicações provem do
retorno do socket. TCP garante que todos os pacotes enviados
serão recebidos, sem erros ou inconsistências.
34
As linguagens de programação escolhidas para o desenvolvimento deste
sistema foram desde o início do projeto estudadas para que fosse possível a
comunicação entre elas de forma transparente aos usuários.
4.7 Programação de funcionalidades – Servidor
Segundo Oliveira (2010, p.51):
Dependendo da complexidade da Interface Homem Máquina (IHM)
que a aplicação necessita, pode ser mais vantajoso utilizar uma já
pronta (de um computador) do que implementar uma para um sistema
embarcado. Por mais complicado e diversificado que seja o método
de integração de um dispositivo eletrônico com um computador, ele
não passa de um caminho de dados que envia e recebe bits.
Desta forma, as linguagens de desenvolvimento web são utilizadas para a
programação da aplicação que faz interface entre o usuário e o computador,
enquanto o controle do motor, lâmpada e sensor do espectrofotômetro é feito
pelo Arduino. Como a IHM foi desenvolvida em plataforma web, a comunicação
entre esta e o Arduino é feita pela tecnologia Ethernet, seguindo o modelo de
comunicação TCP/IP.
A comunicação entre o Arduino e o Ethernet Shield é realizada por meio da
ligação entre as portas digitais do Arduino, acompanhando a seguinte tabela de
referência:
Tabela 1 - Relação de portas digitais ENC28J60 - Arduino
Ethernet Shield
ENC28J60
Arduino
CS D10
ST D11
SO D12
SCK D13
VCC 5V
GND GND
Fonte: O Autor
35
Seguindo a tabela de referência, é necessário então realizar a ligação das
portas indicadas na coluna da esquerda, pertencentes ao Ethernet Shield, com
as portas indicadas na coluna da direita, pertencentes ao Arduino.
O controle de LED ligado e desligado também é realizado por meio do Arduino.
O sistema online envia uma requisição para o Arduino, que se encarrega de
ligar e desligar o LED. O LED se conecta ao Arduino por meio de uma porta
digital, que no caso deste trabalho está conectado à porta D7.
O controle do sensor fotossensível (LDR), que reconhece a quantidade de luz
absorvida pela solução também é realizado por meio de requisições enviadas
pelo sistema online ao Arduino. O sensor se conecta ao Arduino por meio de
uma porta analógica, que no caso deste trabalho está conectado à porta A0.
Desta forma, o Arduino recebe uma requisição do sistema online que indica
que o mesmo deverá enviar o valor lido na porta analógica a que o sensor está
conectado. Este valor é exibido na tela, e salvo em banco de dados.
O controle de movimentação do elemento dispersor da luz é realizado com a
utilização de um servomotor. Esta movimentação também é solicitada pelo
sistema online, mas o controle é realizado pelo Arduino, responsável por enviar
comandos elétricos à porta digital na qual o motor está conectado, que é a
porta D3.
O motor se movimenta, de forma estável e confiável entre as posições 10 e
170. Desta forma tem uma amplitude de 160 graus de coleta de espectro de luz
absorvida.
No cadastro do branco da solução e no cadastro da solução conhecida, o
motor se move da posição 170 até a posição 10, coletando em cada uma das
posições o valor de leitura do sensor que atravessa a amostra.
A Figura 13 demonstra o desenho do circuito eletrônico envolvendo o Arduino e
todos os elementos utilizados para controle já descritos neste trabalho:
36
Figura 13 - Circuito Eletrônico
Fonte: O Autor.
4.8 Testes de software
Os testes de software foram realizados juntamente com o cliente, para que este
tivesse contato direto com as funcionalidades desenvolvidas no decorrer do
desenvolvimento do sistema.
As funcionalidades de cadastros, alterações e exclusões foram testadas e
validadas semanalmente pelo cliente.
Os testes finais foram realizados no Laboratório de Química Orgânica do
Unileste MG. Foram utilizadas soluções de Permanganato de Potássio
(KMnO4) em Água (H2O). As soluções conhecidas 01, 02, 03, 04 e 05 foram
preparadas com concentrações (em mol / L) de 0.001, 0.0005, 0.0001, 0.00005
respectivamente.
37
5 RESULTADOS E DISCUSSÕES
“Um sistema de software existe por um motivo: agregar valor para seus
usuários. ” (PRESSMAN; MAXIM, 2016, p. 21). Desta forma, o sistema
apresentado neste trabalho cumpre o seu papel de agregar valor a seus
usuários, automatizando um processo que antes exigia muito conhecimento
técnico de seus usuários e era realizado de forma manual e lenta.
O sistema Espect permite o controle e a análise de soluções químicas em
relação à concentração de determinada substância em determinado solvente.
Ele permite que o usuário tenha um banco de dados bem definido de
substâncias e solventes, que serão utilizados no cadastro de soluções.
Por ser uma solução inovadora, o Espect não se relaciona a nenhum programa
de controle de espectrofotômetro já construído. Suas funcionalidades são
divididas em dois grupos: (1) Fluxo básico; (2) Fluxo principal.
O fluxo básico consiste em cadastros, alterações e exclusões que servem
como base para o funcionamento do fluxo principal:
5.1 Cadastros – Fluxo Básico
São inseridas as informações básicas para o funcionamento do fluxo principal.
Esta seção inclui também as alterações e exclusões, e inativações.
 Cadastro de Usuário
 Cadastro de Substância
 Cadastro de Solvente
5.2 Cadastros – Fluxo Principal
São inseridas as informações relevantes para o fluxo principal. Esta seção
inclui também as alterações e exclusões.
 Cadastro de Solução Conhecida
 Cadastro de Solução Desconhecida
38
5.3 Espect – Demonstração
O contato inicial dos usuários do Espect é com uma tela de login, pela qual é
realizado o controle de acesso. As funcionalidades do sistema são exibidas de
acordo com o tipo de usuário, Técnico ou Aluno. A tela de controle de acesso
está representada na Figura 14:
Figura 14 - Controle de Acesso
Fonte: O Autor.
Após realizar o acesso o usuário é redirecionado para a tela principal. Os
exemplos demonstrados nesta seção serão baseados no acesso permitido aos
usuários de nível Técnico, que podem acessar todas as funcionalidades do
sistema.
39
A Figura 15 demonstra a página inicial do sistema. O usuário Técnico tem
acesso aos menus de:
 Cadastros
 Listas
Figura 15 - Página Inicial
Fonte: O Autor.
A partir desta tela, o usuário pode seguir para os cadastros básicos
necessários para o funcionamento do fluxo principal.
Dentre os cadastros básicos, o primeiro a ser realizado é o cadastro de
Substâncias, pois estas irão compor os solventes e as soluções.
40
Este cadastro de substâncias é representado pela Figura 16:
Figura 16 - Cadastro de Substâncias
Fonte: O Autor.
Este formulário de cadastro permite que o usuário defina as características da
substância cadastrada e não possui nenhum requisito de cadastros anteriores.
Após realizar o cadastro de pelo menos uma substância, o usuário tem a
possibilidade de cadastrar os solventes, que podem ser constituídos por uma
ou mais substâncias.
41
O cadastro de Solventes está representado pela Figura 17:
Figura 17 - Cadastro de Solvente
Fonte: O Autor.
Nesta tela o usuário tem a possibilidade de selecionar as Substâncias que
compõe este solvente, assim como deve indicar o percentual de volume desta
substância. Por exemplo, caso o solvente seja apenas Água, ele deve indicar
100% em Percentual Vol/Vol (%), mas se o solvente for formado por duas
substâncias, é necessário indicar qual a porcentagem de cada uma destas.
O cadastro de solventes exige o cadastramento prévio de Substâncias.
Assim que os cadastros de substância e solvente já foram realizados, o usuário
pode prosseguir para o cadastro de Solução Conhecida. Esta etapa permitirá
ao usuário cadastrar uma base de cinco amostras de soluções conhecidas. Os
dados gerados por este processo são essenciais para a análise de
concentração de soluções desconhecidas, pois é a partir destes dados que o
sistema realizará os cálculos necessários.
42
A tela de Cadastro de Solução Desconhecida está representada abaixo:
Figura 18 - Cadastro de Solução Conhecida - Substância
Fonte: O Autor.
A Figura 18 demonstra o primeiro passo do processo de cadastro de solução
conhecida, onde o usuário deve selecionar a substância que compõe as
soluções preparadas. É recomendado ao usuário que já tenha preparado as
cinco soluções conhecidas, pois este processo depende da preparação destas.
43
A Figura 19 representa cinco amostras previamente preparadas:
Figura 19 - Amostras de Soluções Conhecidas
Fonte: O Autor.
Figura 20 - Cadastro Solução Conhecida - Solvente
Fonte: O Autor
44
A Figura 20 representa o segundo passo do processo de cadastro de solução
conhecida, onde o usuário seleciona o solvente desta solução.
Após indicar qual a solução e qual o solvente, previamente cadastrados, o
usuário aperta o botão “Cadastrar” e é redirecionado para a tela demonstrada
na Figura 21:
Figura 21 - Leitura do Branco
Fonte: O Autor.
Neste momento, o usuário deve ter em mãos uma cubeta, contendo o solvente
utilizado na solução, e indicado no cadastro base.
Assim que o usuário posicionar a cubeta com o solvente no equipamento, ele
pode então realizar a Leitura do Branco, que enviará para o banco de dados os
valores de leitura enviados pelo sensor. Estes valores representam os valores
de leitura do sensor nas cento e sessenta posições percorridas pelo motor.
Devido às limitações mecânicas do equipamento, o usuário deve aguardar
aproximadamente quatro minutos para que a leitura do branco seja realizada e
salva em banco de dados.
45
Quando a leitura é finalizada, o usuário é redirecionado para a tela de Leitura
de Solução 01, representada pela Figura 22:
Figura 22 - Cadastro de Solução Conhecida - Solução 01
Fonte: O Autor.
Neste momento, o usuário deve ter em mãos uma cubeta contendo uma
amostra da solução cadastrada como base. Como esta solução é conhecida,
sabe-se a concentração em mol/L de substância. O usuário deve então indicar
esta concentração antes de iniciar a leitura.
46
A Figura 23 representa uma cubeta contento amostra de solução conhecida:
Figura 23 - Cubeta - Solução Conhecida
Fonte: O Autor.
A Figura 24 mostra uma cubeta contendo uma amostra de solução conhecida
posicionada no equipamento:
Figura 24 - Cubeta posicionada
Fonte: O Autor.
47
Assim como o processo de leitura do branco, o usuário deve posicionar a
cubeta contendo a solução conhecida no local indicado no equipamento. Após
posicionamento da cubeta no local indicado, o usuário deve apertar o botão
para Fazer Leitura e aguardar redirecionamento para próxima tela.
Este processo deve ser repetido para cada uma das cinco soluções
conhecidas, e o tempo médio de espera para a leitura de cada uma é de
aproximadamente quatro minutos.
Após a realização da leitura das cinco soluções conhecidas, o usuário tem sua
base pronta para a leitura de soluções desconhecidas, e descoberta de
concentrações nestas.
Caso o usuário já tenha em mãos as amostras de solução desconhecidas, ele
pode seguir o fluxo do programa, para o Cadastro de Solução Desconhecida,
como representado pela Figura 25:
Figura 25 - Seguir Cadastro de Solução Desconhecida
Fonte: O Autor.
O sistema exibe esta tela para que o usuário siga para a próxima etapa de
maneira intuitiva.
Caso o usuário ainda não tenha em mãos as amostras de soluções
desconhecidas, o sistema exibe uma lista com todas as bases de soluções
conhecias já cadastradas, permitindo que o usuário selecione a sua base para
leitura de soluções desconhecidas no futuro, como mostrado na Figura 26:
48
Figura 26 - Cadastro Solução Desconhecida - Solução Conhecida
Fonte: O Autor.
Neste momento, o usuário seleciona a base, com a Substância, Solvente, e
concentrações conhecidas e aperta o botão “Prosseguir” e é redirecionado para
a tela de leitura de solução desconhecida, onde deve digitar um nome de
referência, como mostrado na Figura 27.
49
Figura 27 - Leitura de Solução Desconhecida
Fonte: O Autor.
Neste momento, o usuário deve ter preparado pelo menos uma amostra de
solução da qual desconhece o valor de concentração para realizar a análise.
Após preencher o campo “Nome” com o nome de referência desta solução
desconhecida, ele deve posicionar a cubeta contendo a amostra desconhecida
no local indicado no equipamento.
Ao apertar o botão “Fazer Leitura” o usuário deve aguardar o retorno do
sistema, que mostrará a tela de Resultado, contendo o valor calculado de
concentração nesta solução. Em função das limitações mecânicas do
equipamento, o tempo de espera para o resultado é de aproximadamente um
minuto. Este tempo é menor, se comparado às leituras do Cadastro de Solução
Conhecida porque a partir deste momento o motor não tem necessidade de
percorrer todas as posições. Após realizar os cálculos necessários, o sistema
tem em sua base a posição exata do motor para realizar a leitura de solução
desconhecida.
50
A tela de resultado está representada na Figura 28:
Figura 28 - Cadastro de Solução Desconhecida - Resultado
Fonte: O Autor.
O resultado demonstrado na Figura 28 foi referente à uma solução de 0.0001
mol/L, podendo-se então perceber a eficácia do equipamento e a eficiência do
software.
Depois de realizar os cadastros do Fluxo Básico e do Fluxo Principal, o usuário
tem a possibilidade de visualizar gráficos que são importantes para a análise
quantitativa em Engenharia Química:
 Curva de Absorbância em relação ao Comprimento de onda;
 Gráfico de comportamento das amostras de Solução
Desconhecida.
51
A Curva de Absorbância da Solução representa um gráfico de Comprimento de
onda versus Absorbância, e pode ser visualizado como representado pela
Figura 29:
Figura 29 - Curva de Comprimento de Onda x Absorbância
Fonte: O Autor.
Este gráfico demonstra a curva característica da substância presente na
solução conhecida cadastrada. O usuário tem a possibilidade de percorrer por
todos os valores de absorbância calculados pelo sistema e principalmente, tem
acesso visual ao valor de absorbância no pico máximo do gráfico.
52
Figura 30 - Comportamento das Amostras Desconhecidas
Fonte: O Autor.
A Figura 30 demonstra um gráfico da relação de concentração de cada
amostra lida. A leitura de concentração em amostras desconhecidas é
cadastrada como um grupo. Dentro deste grupo, o usuário consegue visualizar
o comportamento que essas amostras seguem dependendo do gráfico
demonstrado por suas concentrações. Sendo assim, o usuário tem a
possibilidade de verificar, por exemplo, queda ou aumento de concentração de
determinada substância em uma amostra.
Este gráfico também exibe um relatório da solução base de referência, onde
são conhecidas as soluções, os solventes e as concentrações de 01 a 05.
53
5.4 Dificuldades
Durante o desenvolvimento do sistema, algumas dificuldades foram
encontradas, e estas estão listadas a seguir:
 Por se tratar de um sistema integrado a um dispositivo mecânico, foram
encontradas dificuldades na movimentação do motor em suas posições
iniciais e finais. Este não respondia aos comandos de maneira estável das
posições 0 a 10 e das posições 170 a 180. Sempre que uma destas
posições era referenciada pelo sistema, este parava o seu funcionamento.
 A integração via rede Ethernet do Espect com o Arduino surgiu pelas
dificuldades encontradas em realizar a comunicação via serial. Esta
dificuldade foi, no entanto, positiva, pois incentivou o desenvolvimento do
sistema de forma mais compatível à linguagem de programação utilizada, o
PHP.
 Os cálculos de regressão linear e de absorbância foram uma dificuldade
encontrada pois estes conhecimentos são específicos, e não foram
abordados no curso de Sistemas de Informação. Esta dificuldade foi sanada
com o auxílio do cliente, que possui tais conhecimentos e por isso foi
contatado pela desenvolvedora diversas vezes para confirmação de
resultados e cálculos.
 O desenvolvimento deste sistema não seguiu nenhuma documentação, por
se tratar de uma solução inovadora. Em consequência, as dificuldades em
relação às referências cadastrais foram apresentadas ao cliente, que
especificou detalhadamente como o processo é realizado atualmente.
 A automação industrial não é uma matéria do curso de Sistemas de
Informação, e seus conceitos e definições foram buscados pela
desenvolvedora no decorrer do desenvolvimento, se tornando um desafio
para a mesma.
 O equipamento foi construído com materiais de baixo custo, e alguns
resultados gerados não são compatíveis com os resultados fornecidos por
equipamentos caros.
54
6 CONCLUSÃO
Este trabalho cumpriu com seu objetivo de automatizar um processo que
atualmente é realizado de forma lenta e trabalhosa, permitindo a seus usuários
controlar um espectrofotômetro via internet, analisando as soluções em uma
interface gráfica intuitiva.
O custo de implementação do sistema foi nulo, utilizando-se mão de obra
voluntária.
Com o desenvolvimento deste sistema, o usuário tem a possibilidade de
integrar um espectrofotômetro de baixo custo a um sistema que torna as
análises mais eficientes, de forma que:
 Os usuários fazem a leitura do branco apenas uma vez, e o sistema se
encarrega de percorrer os quatrocentos comprimentos de onda, movendo o
motor das posições 10 a 170.
 Os usuários realizam a leitura de soluções conhecidas apenas uma vez para
cada amostra, e o sistema se encarrega de percorrer os quatrocentos
comprimentos de onda, movendo o motor das posições 10 a 170.
 Os usuários evitam o desperdício de soluções, pois quando realizam o
cadastro de Solução Conhecida, os dados ficam guardados em banco de
dados, e podem ser reutilizados.
 O cadastro de Soluções Desconhecidas agrupa as amostras lidas, para que
seja possível aos usuários visualizar de forma gráfica o comportamento
destas soluções em relação às concentrações.
 Os usuários têm retorno imediato de gráficos, e não precisam mais realizar
cálculos manualmente.
 A interface com o usuário é realizada de forma intuitiva, e os processos são
demonstrados na tela de forma que o usuário entenda qual a próxima etapa.
 As descrições das atividades nas telas são didáticas e auxiliam os usuários
a utilizar o equipamento da forma correta.
Acredita-se que o Espect é uma solução inovadora em controle e análise de
espectrofotômetros, além de ser uma solução de baixo custo financeiro. Este
sistema está apto a receber melhorias, dependendo das necessidades que
55
surgirem de seus usuários, mas sobre ao seu objetivo principal de fornecer
resultados eficientes e rápidos em relação às concentrações de soluções
desconhecidas, tem o seu funcionamento segundo o esperado.
Este trabalho contribuiu para o crescimento técnico e profissional da aluna, que
utilizou seus conhecimentos em programação para desenvolver o Espect, e
acima de tudo utilizou de suas habilidades como analista de sistemas para
resolver um problema de outra área científica.
Este trabalho comprova que o relacionamento intercursos pode auxiliar o
desenvolvimento tecnológico brasileiro, de forma que alunos com diferentes
conhecimentos técnicos e científicos se unem com um mesmo objetivo,
obtendo resultados válidos e úteis às instituições de ensino e às indústrias.
56
REFERÊNCIAS
BECK, Kent et al. Manifesto para o desenvolvimento ágil de software. 2001.
Disponível em: <https://www.manifestoagil.com.br/>. Acesso em: 25 set. 2017.
COLOURIUS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas
Distribuídos: Conceitos e Projeto. 4. ed. Porto Alegre: Bookman, 2007.
GRILLO, Marlene et al. Ser Professor. 6. ed. Porto Alegre: Edipucrs, 2008.
HEUSER, Carlos Alberto. Projeto de banco de dados. Porto Alegre:
Bookman, 2009.
LAGES, Newton Alberto de Castilho; NOGUEIRA, José Marcos Silva.
Introdução aos Sistemas Distribuídos. Campinas: Papirus, 1986.
LAMB, Frank. Automação industrial na prática. Porto Alegre: Bookman, 2015.
NATALE, Ferdinando. Automação Industrial. 6. ed. São Paulo: Érica, 2004.
OLIVEIRA, André Schneider de; ANDRADE, Fernando Souza de. Sistemas
Embarcados: Hardware e Firmware na Prática. 2. ed. São Paulo: Érica, 2010.
PRESSMAN, Roger S.; MAXIM, Bruce R.. Engenharia de Software: Uma
abordagem profissional. Porto Alegre: Bookman, 2016.
PRODANOV, Cleber Cristiano; FREITAS, Ernani Cesar de. Metodologia do
trabalho científico: Métodos e técnicas da pesquisa e do trabalho acadêmico.
2. ed. Novo Hamburgo: Feevale, 2013.
RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de Gerenciamento de
Banco de Dados. Porto Alegre: Mc Graw Hill, 2008.
REALI, Giovanni. Metafísica de Aristóteles. São Paulo: Loyola, 2017.
SEBESTA, Robert W. Conceitos de Linguagens de Programação. Porto
Alegre: Bookman, 2011.
57
SKOOG, Douglas A.; HOLLER, F. James; R.CROUCH, Stanley. Princípios de
Análise Instrumental. 6. ed. Campinas: Artmed, 2009.
TANENBAUM, Andrew S.; VAN STEEN, Maarten. Sistemas Distribuídos:
Princípios e Paradigmas. 2. ed. São Paulo: Pearson, 2008.
ARDUINO. Libraries. Disponível em:
<https://www.arduino.cc/en/Reference/Libraries>. Acesso em: 13 nov. 2017.
DEFASAGEM BRASILEIRA EM TECNOLOGIA É RESULTADO DE
ESCOLHAS ERRADAS. São Paulo: Exame, 09 out. 2008. Disponível em:
<https://exame.abril.com.br/tecnologia/defasagem-brasileira-em-tecnologia-e-
resultado-de-nbsp-span-escolhas-erradas-span-m0076474/#>. Acesso em: 25
set. 2017.
ARDUINO. A000066_featured.jpg. Disponível em: <https://store-
cdn.arduino.cc/usa/catalog/product/cache/1/image/520x330/604a3538c15e081
937dbfbd20aa60aad/a/0/a000066_featured.jpg>. Acesso em: 10 nov. 2017.
AMAZONAWS. 450xN. Disponível em: <
http://s3.amazonaws.com/img.iluria.com/product/1C4632/42A5BB/450xN.jpg>.
Acesso em: 10 nov. 2017.
POTENTIALLABS. LDR. Disponível em: <
https://potentiallabs.com/cart/image/cache/catalog/LDR%20(BIG)-
500x416.jpg>. Acesso em 10 nov. 2017.
SSL-IMAGES-AMAZON. 41Y5VW. Disponível em: < https://images-na.ssl-
images-amazon.com/images/I/41Y5VWjAeQL._SX342_.jpg>. Acesso em 10
nov. 2017.
58
ANEXOS
Lista de Funções – Espect
ID Tipo Requisito Descrição
Tempo
Estimado
(horas)
Tempo
Realizado
(horas)
3
Controle de
acesso
Exibição ou não de
determinadas
funcionalidades,
dependendo do grau
de acesso do usuário.
16 16
1
Cadastro de
Usuário
Inclusão, alteração e
desativação de
usuários do sistema.
40 44
2
Lista de
Usuários
Lista todos os usuários
cadastrados
8 8
1
Cadastro de
Substância
Inclusão, alteração e
exclusão de
substâncias.
40 40
2
Lista de
Substâncias
Lista todas as
substâncias
cadastradas no
sistema.
8 8
1
Cadastro de
solvente
Inclusão, alteração e
exclusão de solventes.
80 160
2
Lista de
Solventes
Lista todos os
solventes cadastrados
no sistema, com lista
de substâncias que o
compõe.
40 40
1
Cadastro base
de Solução
Conhecida
Inclusão básica de
substância e solvente
da solução conhecida.
120 160
1
Leitura do
branco da
Solução
Conhecida
Inclusão de valores
lidos no sensor que
irão compor os valores
de absorbância do
branco.
16 16
1
Controle do
branco da
solução
conhecida
Atualização dos
valores da leitura do
branco da solução
conhecida.
16 16
1
Leitura de
Solução 01
Inclusão de valores
lidos no sensor que
irão compor os valores
de absorbância da
Solução 01.
16 16
1 Leitura de Inclusão de valores 14 12
59
Solução 02 lidos no sensor que
irão compor os valores
de absorbância da
Solução 02.
1
Leitura de
Solução 03
Inclusão de valores
lidos no sensor que
irão compor os valores
de absorbância da
Solução 03.
12 12
1
Leitura de
Solução 04
Inclusão de valores
lidos no sensor que
irão compor os valores
de absorbância da
Solução 04.
12 12
1
Leitura de
Solução 05
Inclusão de valores
lidos no sensor que
irão compor os valores
de absorbância da
Solução 05.
12 12
1
Controle de
Solução
Conhecida
Atualização dos
valores de
absorbância das
leituras de Soluções
01, 02, 03, 04 e 05.
16 16
1
Leitura de
Solução
Desconhecida
Leitura de valor lido no
sensor, cálculo da
regressão linear e
aplicação da Lei de
Beer para cálculo da
concentração.
20 20
2
Gráfico de
relação das
soluções
conhecidas
Exibição de gráfico
com relação de
Comprimento de Onda
x Absorbância.
40 44
2
Gráfico de
relação da reta
de absorbância
Exibição da reta com
relação Concentração
x Absorbância nos
pontos máximos de
absorbância.
40 20
Legenda:
1- Cadastro
2- Relatório
3- Controle
60
Premissas do Projeto
O custo do equipamento será inferior ao dos vendidos em loja;
O equipamento é reprogramável.
Restrições do Projeto
Como o Espect e o Arduino se conectam via rede Ethernet, este não funcionará
sem a conexão de ambos na rede.
Análise de risco do Projeto
Riscos
Probabilidade de
Ocorrer
Estratégias de
Redução
Atraso na entrega de
equipamentos
eletrônicos.
Alta
Planejar a construção do
projeto com
antecedência, de forma
que seja viável esperar
de trinta a noventa dias
úteis para o início das
atividades que envolvem
os equipamentos
eletrônicos.
Mal funcionamento de
equipamentos
eletrônicos e
necessidade de troca.
Média
Ter no mínimo dois de
cada equipamento
disponíveis no
desenvolvimento de um
mesmo projeto.
Indisponibilidade de
ferramentas que auxiliam
na construção do
sistema.
Baixa
Pesquisar por
ferramentas alternativas.
Dificuldade de
configuração dos
equipamentos
eletrônicos.
Média
Pesquisar na biblioteca
Arduino por soluções
dependendo do
equipamento.
Dificuldade de
agendamento de
laboratórios de
Engenharia Química
para testes.
Média
Agendar com
antecedência os
laboratórios acadêmicos.
61
Descrição dos Atores
Ator Descrição
TÉCNICO
Usuários do sistema que tem acesso à
todas as funcionalidades do Espect.
Eles têm conhecimento técnico
avançado, necessário para os
cadastros base do sistema.
ALUNO
Usuários do sistema que têm acesso
ao Cadastro de Soluções, e à
visualização de gráficos e Relatório de
Soluções. Eles não têm conhecimento
técnico necessário para povoar os
cadastros base, mas tem permissão
de seguir o fluxo principal do Espect,
analisando a concentração de
substância em solução.
62
Caso de Uso – Espect
63
Requisitos Funcionais - Espect
[RF 001] Cadastro de Usuário
Pré-condições:
1. O usuário deve estar conectado, com permissão de técnico.
Fluxo Principal:
1. O técnico acessa o menu Cadastros, sub menu Usuário
2. O sistema exibe a interface de cadastro de usuário
3. O técnico informa os dados de cadastro: Nome, Tipo, Nome de usuário e
Senha
4. O técnico aperta o botão “Cadastrar”
5. O sistema valida os dados:
5.1 Caso o técnico não preencha algum campo, é dada uma mensagem
de erro.
5.2 Caso os campos estejam todos preenchidos, salva os dados no
banco e emite uma mensagem informativa
Fluxo Alternativo – Lista de Usuários
1. O técnico acessa o menu Listas, sub menu Usuário
Fluxo Alternativo – Ativação / Desativação de Usuários
1. O técnico acessa o menu Listas, sub menu Usuário
2. O técnico aperta o botão “Desativar”
3. O sistema altera a situação do Usuário no banco de dados para Inativo
ou Ativo
Fluxo Alternativo – Trocar Senha
1. O técnico acessa o menu Listas, sub menu Usuário
2. O técnico aperta o botão “Alterar Senha”
3. O sistema direciona o técnico para exibição da tela de alteração de
senha
4. O técnico digita a nova senha
5. O sistema atualiza a senha do usuário no banco de dados
64
[RF 002] Cadastro de Substancia
Pré-condições:
1. O usuário deve estar conectado, com permissão de técnico.
Fluxo Principal:
1. O técnico acessa o menu Cadastros, sub menu Substância
2. O sistema exibe a interface de cadastro de substância
3. O técnico informa os dados de cadastro: Nome, Fórmula química, Nível
de toxicidade e Descrição de Toxicidade.
4. O técnico aperta o botão “Cadastrar”
5. O sistema valida os dados:
a. Caso o técnico não preencha algum campo, é dada uma
mensagem de erro.
b. Caso os campos estejam todos preenchidos, salva os dados no
banco e emite uma mensagem informativa
Fluxo Alternativo – Lista de Substâncias
1. O técnico acessa o menu Listas, sub menu Substância
Fluxo Alternativo – Excluir Substância
1. O técnico acessa o menu Listas, sub menu Substância
2. O técnico aperta o botão “Excluir”
3. O sistema exclui a substância no banco de dados. Caso alguma
substância esteja associada a outras tabelas a exclusão acontece em
cascata.
Fluxo Alternativo – Alterar Substância
1. O técnico acessa o menu Listas, sub menu Substância
2. O técnico aperta o botão “Alterar”
3. O sistema direciona o técnico para exibição da tela de alteração de
substancia
4. O técnico digita os novos dados
5. O sistema atualiza os dados de substancia no banco de dados
65
[RF 003] Cadastro de Solvente
Pré-condições:
1. O usuário deve estar conectado, com permissão de técnico.
Fluxo Principal:
1. O técnico acessa o menu Cadastros, sub menu Solvente
2. O sistema exibe uma lista de substancias cadastradas
3. O técnico seleciona todas as substâncias que compõe o solvente
4. Para cada substância selecionada, o técnico informa seu Percentual Vol
/ Vol
5. O técnico aperta o botão “Cadastrar”
6. O sistema valida os dados:
a. Caso o técnico não preencha algum campo, é dada uma
mensagem de erro.
b. Caso os campos estejam todos preenchidos, salva os dados no
banco e emite uma mensagem informativa
[RF 004] Cadastro de Solução Conhecida
Pré-condições:
1. O usuário deve estar conectado, com permissão de acesso, tanto de
aluno quanto de técnico.
Fluxo Principal:
1. O usuário acessa o menu Cadastros, sub menu Solução Conhecida
2. O sistema exibe uma lista de substâncias cadastradas
3. O usuário seleciona a substância
4. O sistema exibe uma lista de solventes cadastrados
5. O usuário seleciona o solvente
6. O usuário aperta o botão “Cadastrar”
7. O sistema guarda os dados de Cadastro Base no banco de dados
66
[RF 005] Cadastro do Branco
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 004]
Fluxo Principal:
1. O sistema exibe interface de Leitura do Branco
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário aperta o botão “Fazer Leitura”
4. O sistema guarda em banco de dados os valores de leitura referentes ao
solvente
[RF 006] Leitura de Solução 01
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 005]
Fluxo Principal:
1. O sistema exibe interface de leitura de Solução 01
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário informa a concentração desta solução
4. O usuário aperta o botão “Fazer Leitura”
5. O sistema guarda em banco de dados os valores de leitura referentes à
Solução 01
67
[RF 007] Leitura de Solução 02
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 006]
Fluxo Principal:
1. O sistema exibe interface de leitura de Solução 02
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário informa a concentração desta solução
4. O usuário aperta o botão “Fazer Leitura”
5. O sistema guarda em banco de dados os valores de leitura referentes à
Solução 02
[RF 008] Leitura de Solução 03
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 007]
Fluxo Principal:
1. O sistema exibe interface de leitura de Solução 03
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário informa a concentração desta solução
4. O usuário aperta o botão “Fazer Leitura”
5. O sistema guarda em banco de dados os valores de leitura referentes à
Solução 03
68
[RF 009] Leitura de Solução 04
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 008]
Fluxo Principal:
1. O sistema exibe interface de leitura de Solução 04
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário informa a concentração desta solução
4. O usuário aperta o botão “Fazer Leitura”
5. O sistema guarda em banco de dados os valores de leitura referentes à
Solução 04
[RF 010] Leitura de Solução 05
Pré-condições:
1. O usuário deve estar conectado e ter permissão de acesso
2. O usuário deve ter realizado o requisito [RF 009]
Fluxo Principal:
1. O sistema exibe interface de leitura de Solução 05
2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço
reservado para ela a cubeta contendo o solvente
3. O usuário informa a concentração desta solução
4. O usuário aperta o botão “Fazer Leitura”
5. O sistema guarda em banco de dados os valores de leitura referentes à
Solução 05
69
Requisitos Não Funcionais – Espect
[NF 001] Usabilidade
O sistema deve apresentar as telas de forma intuitiva, e didática. Não deve ser
exigido do usuário conhecimento técnico avançado para utilização do sistema.
Os processos devem ser apresentados de forma sequencial, para que o
usuário esteja familiarizado com os ambientes antigos de análise.
Prioridade: Essencial.
[NF 002] Disponibilidade
O sistema deve estar disponível, seguindo a disponibilidade do equipamento
eletrônico. Caso manutenções sejam necessárias, estas devem ser feitas em
ambiente de desenvolvimento, para que quando finalizadas, sejam aplicadas
no ambiente de produção. Desta forma o usuário não é afetado pelas
manutenções, e o sistema mantém sua integridade.
Prioridade: Essencial.
[NF 003] Tempo de retorno após falha
O sistema não tem prioridade de utilização. Consequentemente, caso
apresente falhas de funcionamento, deve voltar à produção em até dez dias.
Prioridade: Desejável.
[NF 004] Desempenho
O tempo de resposta para os usuários não é uma premissa para este sistema.
Os usuários estão conscientes de que o equipamento necessita de movimentos
mecânicos, no entanto está preparado para tempos de resposta de até 5
minutos.
Prioridade: Importante.
70
[NF 005] Controle de Acesso
Os usuários deverão informar dados de acesso previamente cadastrados para
que tenham permissão de utilizar o sistema. O controle de acesso é baseado
em tipos de usuários, dependendo de seus papeis. O sistema deverá permitir
acesso às funcionalidades apenas aos usuários autorizados.
Prioridade: Essencial.
[NF 006] Linguagens de Implementação
O sistema deverá ter implementação em duas linguagens de programação
distintas. O controle do Arduino deverá ser programado em linguagem C++. O
controle de telas e dados deverá ser programado em linguagem PHP.
Prioridade: Importante.
[NF 007] Banco de Dados
O banco de dados utilizado será o MariaDB.
Prioridade: Essencial.
[NF 008] Plataforma de Funcionamento
O sistema deverá funcionar em plataforma web, podendo ser acessado por
qualquer navegador de internet.
Prioridade: Essencial.
71
Diagrama de Implantação
72
Diagrama de Atividades
73
74
75
76
,
77
78
79
80
81
Diagrama Entidade e Relacionamento
82
Dicionário de Dados
ENTIDADE: TCC_SUBSTANCIA
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código da Substância NOT NULL
NOME VARCHAR Nome da Substância NOT NULL
FORMULAQUIMICA VARCHAR Fórmula Química NOT NULL
TOXICIDADE INT Nível de Toxicidade NOT NULL
DESCTOXICIDADE TEXT Descrição de Toxicidade NOT NULL
ENTIDADE: TCC_NIVEL_TOXICIDADE
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código da Toxicidade NOT NULL
DESCRIÇÃO VARCHAR Descrição da Toxicidade NOT NULL
ENTIDADE: TCC_SOLVENTE
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código Do Solvente NOT NULL
NOME VARCHAR Nome do Solvente NOT NULL
ABSORBANCIA INT Código de referência da
entidade
tcc_absorbancia_solvente
NOT NULL
ENTIDADE: SUBSTANCIA_SOLVENTE
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
IDSUBSTANCIA INT Código da Substância
que compõe a chave
primária composta
NOT NULL
IDSOLVENTE INT Código do Solvente que
compõe a chave primária
composta
NOT NULL
CONCENTRACAO INT Porcentagem de
Concentração
NOT NULL
SUBSTANCIA INT Código de referência da
entidade tcc_substancia
NOT NULL
SOLVENTE INT Código de referência da
entidade tcc_solvente
NOT NULL
83
ENTIDADE: TCC_SOLUCAO_CONHECIDA
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Id da Solução Conhecida NOT NULL
SUBSTANCIA INT Código de referência da
entidade tcc_substancia
NOT NULL
SOLVENTE INT Código de referência da
entidade tcc_solvente
NOT NULL
CONCENTRACAO01 FLOAT Valor de Concentração 01
ABSORBANCIA01 INT Código de referência da
entidade
tcc_absorbancia_solucao
CONCENTRACAO02 FLOAT Valor de Concentração 01
ABSORBANCIA02 INT Código de referência da
entidade
tcc_absorbancia_solucao
CONCENTRACAO03 FLOAT Valor de Concentração 01
ABSORBANCIA03 INT Código de referência da
entidade
tcc_absorbancia_solucao
CONCENTRACAO04 FLOAT Valor de Concentração 01
ABSORBANCIA04 INT Código de referência da
entidade
tcc_absorbancia_solucao
CONCENTRACAO05 FLOAT Valor de Concentração 01
ABSORBANCIA05 INT Código de referência da
entidade
tcc_absorbancia_solucao
ENTIDADE: TCC_SOLUCAO_DESCONHECIDA
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código da Solução
Desconhecida
NOT NULL
SOLUCAO_CONHECIDA INT Código de referência da
entidade
tcc_solucao_conhecida
NOT NULL
NOME VARCHAR Nome da Solução
Desconhecida.
NOT NULL
ENTIDADE: TCC_SOLUCAODESCONHECIDA_CONCENTRAÇÃO
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código Concentração de
Solução Desconhecida
NOT NULL
SOLUCAO_DESCONHECIDA INT Código de referência da
entidade
tcc_solucao_desconhecida
NOT NULL
CONCENTRACAO FLOAT Concentração da Solução
Desconhecida
ABSORBANCIA FLOAT Absorbância da Solução
Desconhecida
84
ENTIDADE: TCC_USUARIO
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código do Usuário NOT NULL
NOME VARCHAR Nome do Usuário NOT NULL
TIPO INT Tipo do Usuário NOT NULL
SENHA VARCHAR Senha do Usuário NOT NULL
NOMEUSUARIO VARCHAR Nome para login NOT NULL
ESTADO INT Estado do usuário (ativo
ou inativo)
NOT NULL
ENTIDADE: TCC_TIPO_USUARIO
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código Do Tipo de
Usuário
NOT NULL
DESCRIÇÃO VARCHAR Descrição do Tipo de
Usuário.
NOT NULL
ENTIDADE: TCC_ABSORBANCIA_SOLUCAO_CONHECIDA
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código para referência da
solução conhecida
NOT NULL
ENTIDADE: TCC_ABSORBANCIA_BRANCO
NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA
VALIDAÇÃO
ID INT Código para referência do
branco da solução
conhecida
NOT NULL

Mais conteúdo relacionado

Mais procurados

Construção da proposta pedagógica da escola
Construção da proposta pedagógica da escolaConstrução da proposta pedagógica da escola
Construção da proposta pedagógica da escolaMarcelo Assis
 
Colegiado Escolar e Grêmio Estudantil
Colegiado Escolar e Grêmio EstudantilColegiado Escolar e Grêmio Estudantil
Colegiado Escolar e Grêmio EstudantilMaisaro
 
Como a conectividade nos desconecta da vida real
Como a conectividade nos desconecta da vida realComo a conectividade nos desconecta da vida real
Como a conectividade nos desconecta da vida realPedro Cordier
 
Direito Constitucional - Das atribuições do Presidente da República
Direito Constitucional - Das atribuições do Presidente da RepúblicaDireito Constitucional - Das atribuições do Presidente da República
Direito Constitucional - Das atribuições do Presidente da RepúblicaMentor Concursos
 
Diretrizes curriculares nacionais para a educação
Diretrizes curriculares nacionais para a educaçãoDiretrizes curriculares nacionais para a educação
Diretrizes curriculares nacionais para a educaçãoElicio Lima
 
Direito civil ponto 1 tabela dos desesperados - pf
Direito civil  ponto 1  tabela dos desesperados - pfDireito civil  ponto 1  tabela dos desesperados - pf
Direito civil ponto 1 tabela dos desesperados - pfEsdrasArthurPessoa
 
Relatório estágio de observação edição 2 1
Relatório estágio de observação edição 2 1Relatório estágio de observação edição 2 1
Relatório estágio de observação edição 2 1Arivaldo Bispo
 
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...profamiriamnavarro
 
A importância de trabalhar com projetos
A importância de trabalhar com projetosA importância de trabalhar com projetos
A importância de trabalhar com projetosdalvabambil
 

Mais procurados (14)

Construção da proposta pedagógica da escola
Construção da proposta pedagógica da escolaConstrução da proposta pedagógica da escola
Construção da proposta pedagógica da escola
 
Colegiado Escolar e Grêmio Estudantil
Colegiado Escolar e Grêmio EstudantilColegiado Escolar e Grêmio Estudantil
Colegiado Escolar e Grêmio Estudantil
 
Improbidade+administrativa
Improbidade+administrativaImprobidade+administrativa
Improbidade+administrativa
 
Como a conectividade nos desconecta da vida real
Como a conectividade nos desconecta da vida realComo a conectividade nos desconecta da vida real
Como a conectividade nos desconecta da vida real
 
PPP da EEEP MARIA CÉLIA
PPP da EEEP MARIA CÉLIAPPP da EEEP MARIA CÉLIA
PPP da EEEP MARIA CÉLIA
 
Direito Constitucional - Das atribuições do Presidente da República
Direito Constitucional - Das atribuições do Presidente da RepúblicaDireito Constitucional - Das atribuições do Presidente da República
Direito Constitucional - Das atribuições do Presidente da República
 
Relatorio de estagio
Relatorio de estagio Relatorio de estagio
Relatorio de estagio
 
Autoavaliação
AutoavaliaçãoAutoavaliação
Autoavaliação
 
Diretrizes curriculares nacionais para a educação
Diretrizes curriculares nacionais para a educaçãoDiretrizes curriculares nacionais para a educação
Diretrizes curriculares nacionais para a educação
 
Direito civil ponto 1 tabela dos desesperados - pf
Direito civil  ponto 1  tabela dos desesperados - pfDireito civil  ponto 1  tabela dos desesperados - pf
Direito civil ponto 1 tabela dos desesperados - pf
 
Relatório estágio de observação edição 2 1
Relatório estágio de observação edição 2 1Relatório estágio de observação edição 2 1
Relatório estágio de observação edição 2 1
 
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...
EJA AULA 10: Currículo, Avaliação do ensino e aprendizagem e as Diretrizes Op...
 
Aula 7 ato administrativo
Aula 7   ato administrativoAula 7   ato administrativo
Aula 7 ato administrativo
 
A importância de trabalhar com projetos
A importância de trabalhar com projetosA importância de trabalhar com projetos
A importância de trabalhar com projetos
 

Semelhante a Monografia final - Trabalho de Conclusão de Curso

SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...
SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...
SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...João Gabriel Lima
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...Paulo Steinhauser
 
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...Anuska Rehn
 
Monografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoMonografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoThiago Ghizzo de Campos
 
Arca Sistema Gerencial
Arca Sistema GerencialArca Sistema Gerencial
Arca Sistema GerencialRicardo Júlio
 
Viabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoViabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoRogério Cardoso
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoDaniel Brandão
 
Curso de Multimídia na Educação.
Curso de Multimídia na Educação.Curso de Multimídia na Educação.
Curso de Multimídia na Educação.Luiz Avelar
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração DigitalLuiz Avelar
 
Curso de Construção de Web Sites.
Curso de Construção de Web Sites. Curso de Construção de Web Sites.
Curso de Construção de Web Sites. Luiz Avelar
 
Apostila criação de web sites
Apostila   criação de web sitesApostila   criação de web sites
Apostila criação de web sitesLiana Leuck
 
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...Marcelo Eden
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção FonograficaLuiz Avelar
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetClaudeir Novais
 
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc   Fernando & LeonardoEstudo De Aplicabilidade Do PadrãO Mvc   Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & LeonardoFernando A. Barbeiro Campos
 
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...Reestruturação da arquitetura de informação e a otimização do conteúdo para o...
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...Paula Ramos
 
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...Paula Ramos
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...Felipe Nascimento
 

Semelhante a Monografia final - Trabalho de Conclusão de Curso (20)

SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...
SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...
SISTEMA WEB PARA ADMINISTRAÇÃO, GERENCIAMENTO E SUPORTE À DECISÃO EM PROJETOS...
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
 
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
E-OBRAS: Proposta de Desenvolvimento do Protótipo de Sistema para Secretarias...
 
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...
Nuki's Brechó: Sistema Colaborativo em um Cenário de Moda Sustentável - Anusk...
 
Monografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoMonografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de Informação
 
Arca Sistema Gerencial
Arca Sistema GerencialArca Sistema Gerencial
Arca Sistema Gerencial
 
Viabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoViabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenho
 
Apostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a EducaçãoApostila Multimidia Aplicada a Educação
Apostila Multimidia Aplicada a Educação
 
Curso de Multimídia na Educação.
Curso de Multimídia na Educação.Curso de Multimídia na Educação.
Curso de Multimídia na Educação.
 
Curso de ilustração Digital
Curso de ilustração DigitalCurso de ilustração Digital
Curso de ilustração Digital
 
Curso de Construção de Web Sites.
Curso de Construção de Web Sites. Curso de Construção de Web Sites.
Curso de Construção de Web Sites.
 
67286679 web-sites
67286679 web-sites67286679 web-sites
67286679 web-sites
 
Apostila criação de web sites
Apostila   criação de web sitesApostila   criação de web sites
Apostila criação de web sites
 
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
 
Curso de Produção Fonografica
Curso de Produção FonograficaCurso de Produção Fonografica
Curso de Produção Fonografica
 
TCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para InternetTCC Tecnologia em Sistemas para Internet
TCC Tecnologia em Sistemas para Internet
 
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc   Fernando & LeonardoEstudo De Aplicabilidade Do PadrãO Mvc   Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
 
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...Reestruturação da arquitetura de informação e a otimização do conteúdo para o...
Reestruturação da arquitetura de informação e a otimização do conteúdo para o...
 
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...
Comparativo de usabilidade nos websites do sistema ACAFE do oeste de Santa Ca...
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
 

Mais de Gabriela Almeida

Mais de Gabriela Almeida (11)

Reviewing
ReviewingReviewing
Reviewing
 
Marketing e Empreendedorismo - YouTube
Marketing e Empreendedorismo - YouTubeMarketing e Empreendedorismo - YouTube
Marketing e Empreendedorismo - YouTube
 
Introdução à arquitetura de computadores
Introdução à arquitetura de computadoresIntrodução à arquitetura de computadores
Introdução à arquitetura de computadores
 
A essência do marketing
A essência do marketingA essência do marketing
A essência do marketing
 
Universo Simbólico Religioso
Universo Simbólico ReligiosoUniverso Simbólico Religioso
Universo Simbólico Religioso
 
Web analytics
Web analyticsWeb analytics
Web analytics
 
India
IndiaIndia
India
 
Super Bowl Metrics
Super Bowl MetricsSuper Bowl Metrics
Super Bowl Metrics
 
Silicon Valley
Silicon ValleySilicon Valley
Silicon Valley
 
Gerencia de Memoria Virtual
Gerencia de Memoria VirtualGerencia de Memoria Virtual
Gerencia de Memoria Virtual
 
Scrum
ScrumScrum
Scrum
 

Monografia final - Trabalho de Conclusão de Curso

  • 1. CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS – UNILESTE MG CURSO DE COMPUTAÇÃO – SISTEMAS DE INFORMAÇÃO GABRIELA SILVA LISBOA E ALMEIDA ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO Coronel Fabriciano, 2017
  • 2. GABRIELA SILVA LISBOA E ALMEIDA ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO Monografia apresentada ao curso de graduação do Centro Universitário do Leste de Minas Gerais, como requisito à obtenção de título de bacharel em Computação – Sistemas de Informação. Professor Orientador: Marcos Vinícius da Silva Coronel Fabriciano, 2017
  • 3. GABRIELA SILVA LISBOA E ALMEIDA ESPECT – SISTEMA DE CONTROLE E ANÁLISE DE ESPECTROFOTÔMETRO DE BAIXO CUSTO UTILIZANDO ARDUÍNO Monografia submetida à comissão examinadora designada pelo curso de graduação em Computação – Sistemas de Informação como requisito parcial para obtenção do título de bacharel. Aprovada em 09 de dezembro de 2017. _______________________________________________________________ Professor Orientador: Marcos Vinícius da Silva Titulação: Mestre em Ciência da Computação Instituição: Centro Universitário do Leste de Minas Gerais _______________________________________________________________ Professor de Metodologia: Eduardo Siqueira Martins Titulação: Mestre em Ciência da Computação Instituição: Centro Universitário do Leste de Minas Gerais _______________________________________________________________ Professor de Convidado: Demétrio Renó Magalhães Titulação: Mestre em Engenharia Elétrica Instituição: Centro Universitário do Leste de Minas Gerais
  • 4. DEDICATÓRIA Dedico este trabalho ao Governo do Brasil, pelo investimento financeiro. Dedico à minha mãe, irmã e sobrinhos pelo amor e paciência. Aos amigos da turma de 2011, principalmente ao meu amigo Maxswel Corrêa Rodrigues, por serem a base da minha história acadêmica. Aos bons professores por todo bom ensinamento. Dedico ao meu atual namorado Filipe Souza Almeida, criador do equipamento e mentor de todo o processo.
  • 5. AGRADECIMENTOS Primeiramente ao Governo Brasileiro pelo pagamento integral da bolsa Prouni, sem atrasos e sem complicações. Ao Governo também agradeço pelo Programa Ciências sem Fronteiras, que me possibilitou experiências culturais e profissionais que levarei comigo por toda a vida. À minha mãe Jackeline Silva que me ensinou a não desistir, mesmo que tudo pareça impossível, sem comida, sem água, sem luz, mas nunca sem amor e trabalho duro. À minha irmã Maria Luiza por acreditar em mim, por sempre me dar forças, me ajudando a ver a vida com outros olhos. Agradeço a ela e ao seu esposo pelos sobrinhos, que são parte da minha alegria. Ao meu atual namorado Filipe, que construiu o equipamento e dividiu o sonho dele comigo, confiando no meu trabalho. Agradeço também por toda paciência, e por sempre falar “Seja qual for sua decisão, estarei do seu lado”. Obrigada por realmente sempre estar ao meu lado. Ao meu amigo e irmão Matheus Assis Domingues por todas as pizzas e churrascos que comemos juntos neste tempo de Unileste. Obrigada por sempre me perguntar “Como vai? ”. Obrigada por me ajudar a ver os meus problemas, aceitando que eles existem, e melhorando cada dia minhas habilidades em resolvê-los. Agradeço aos chefes que tive e tenho, por me ensinarem como seguir os meus sonhos. Obrigada Macone Drumond, Bernardus, Nadiele e Jean Barbosa. Agradeço ao meu melhor gerente, exemplo e líder Adonhiram por sempre me ensinar, estando literalmente ao meu lado todo o tempo. Agradeço ao meu amigo Max, que aceitou ser minha dupla de TCC e que sonhou comigo a possibilidade de pegarmos nosso diploma no fim do ano. Obrigada por ter feito a diferença, e por ter sonhado comigo em vida. Agradeço em especial ao professor Eduardo Siqueira Martins, por ser um exemplo, mostrando como é possível adquirir conhecimento com muito esforço e trabalho.
  • 6. Finalmente agradeço a todos os meus amigos do Ciências sem Fronteiras, que foram uma família para mim, e parte importante desta caminhada. Agradeço aos que abriram as portas para que eu entrasse, e fizesse da casa deles a minha casa, da família deles a minha família, dos sonhos deles, os meus sonhos. Obrigada principalmente à minha amiga e irmã Marianna Murbach Fasano por sempre estar disponível, e por andar ao meu lado, mesmo distante. Muito obrigada!
  • 7. "As pessoas gostam de levar em conta somente as amarguras. Não levam em conta sua felicidade. Se raciocinassem corretamente, veriam que para todos está reservada uma porção de tudo." (Fyodor Dostoyevsky)
  • 8. RESUMO Este trabalho apresenta o desenvolvimento de um sistema online que possibilita a utilização e o controle de um espectrofotômetro construído de forma independente, otimizando a forma em que o processo é realizado atualmente. O objetivo deste trabalho é apresentar uma solução acessível, eficiente, educativa e de código aberto para técnicos, estudantes, professores e especialistas no uso de um espectrofotômetro, além de incentivar o trabalho interdisciplinar. O processo de desenvolvimento deste sistema teve como base a utilização de técnicas de desenvolvimento ágil. Para o desenvolvimento do sistema foi necessária a interação com o formando em Engenharia Química e construtor do equipamento, Filipe Souza Almeida, responsável pelo papel de cliente. Dos processos envolvidos estão a entrevista direta com o cliente, possibilitando o levantamento inicial de requisitos e a programação das funcionalidades. As linguagens de programação utilizadas foram C++ e PHP, e a comunicação entre elas é possibilitada pela utilização de Sockets. Os dados gerados são armazenados online em banco de dados MariaDB e podem ser acessados e controlados pelo sistema online. A interface gráfica foi desenvolvida em linguagem web HTML 5, os estilos foram definidos seguindo o padrão do Framework Bootstrap e os gráficos são exibidos utilizando a biblioteca JQuery Canvas. O funcionamento do equipamento depende apenas da conexão do mesmo com a internet. Os conceitos de desenvolvimento ágil de software e gerenciamento de projetos foram essenciais para a conclusão deste trabalho, assim como os conceitos de Engenharia Química e processos, fornecidos pelo cliente. Pode-se concluir após o término deste trabalho que é possível e muito eficiente a interação entre profissionais de diferentes áreas em prol de um objetivo em comum possibilitando a automação de um processo que antes era realizado de forma manual, cara e pouco eficiente, agora sendo realizado de forma econômica e informatizada. Palavras-chave: espectrofotômetro, PHP, Arduino, sockets, desenvolvimento ágil.
  • 9. ABSTRACT This paper presents the development of an online system, which is responsible for the use, and control of an independently constructed spectrophotometer, optimizing the actual process. This paper aims to present an accessible, efficient, educational and open source solution for technicians, students, teachers and specialists on the uses of a spectrophotometer, as well as encouraging interdisciplinary work. The system’s development process was based on the use of agile development techniques. In order to succeed while developing the system it was necessary to interact with Filipe Souza Almeida, a Chemical Engineer student, who is responsible for constructing the equipment. He assumed the role of client on this paper. Among the development process, there is a direct interview with the client, which enabled the requirements gathering, as well as the development of the functionalities. Programming languages such as C++ and PHP were necessary for the development, and their communication is controlled through Sockets. The generated data is stored online in the database MariaDB and can be accessed and controlled by the online system. The graphical interface was developed in HTML 5 web language, styles were defined following the Bootstrap Framework standard and the graphics are displayed using the JQuery Canvas library. The equipment only depends on its connection to the internet. The concepts of agile software development and project management were essential for the conclusion of this paper, as well as the concepts of Chemical Engineering and processes, provided by the client. It can be concluded after the completion of this paper that it is possible and very efficient the interaction between professionals from different areas in favor of a common goal enabling the automation of a process that was previously performed in a manual, expensive and inefficient way, now being carried out in an economical and computerized way. Key words: spectrophotometer, PHP, Arduino, sockets, agile software development.
  • 10. LISTA DE FIGURAS Figura 1 - Exemplo de Gráfico Concentração x Absorbância........................... 14 Figura 2 - Arduino Uno ..................................................................................... 17 Figura 3 - Arduino Ethernet Shield ................................................................... 17 Figura 4 - LED de luz branca............................................................................ 18 Figura 5 - Sensor LDR ..................................................................................... 18 Figura 6 - Servomotor ...................................................................................... 19 Figura 7 - Comunicação Requisição - Resposta .............................................. 21 Figura 8 - Diagrama de Caso de Uso............................................................... 23 Figura 9 - Diagrama de Atividades................................................................... 24 Figura 10 - Diagrama de Implantação.............................................................. 25 Figura 11 - Diagrama Entidade e Relacionamento........................................... 26 Figura 12 - Função PHP - socket_create ......................................................... 33 Figura 13 - Circuito Eletrônico.......................................................................... 36 Figura 14 - Controle de Acesso........................................................................ 38 Figura 15 - Página Inicial.................................................................................. 39 Figura 16 - Cadastro de Substâncias............................................................... 40 Figura 17 - Cadastro de Solvente..................................................................... 41 Figura 18 - Cadastro de Solução Conhecida - Substância............................... 42 Figura 19 - Amostras de Soluções Conhecidas ............................................... 43 Figura 20 - Cadastro Solução Conhecida - Solvente ....................................... 43 Figura 21 - Leitura do Branco........................................................................... 44 Figura 22 - Cadastro de Solução Conhecida - Solução 01 .............................. 45 Figura 23 - Cubeta - Solução Conhecida ......................................................... 46 Figura 24 - Cubeta posicionada ....................................................................... 46 Figura 25 - Seguir Cadastro de Solução Desconhecida................................... 47 Figura 26 - Cadastro Solução Desconhecida - Solução Conhecida................. 48 Figura 27 - Leitura de Solução Desconhecida.................................................. 49 Figura 28 - Cadastro de Solução Desconhecida - Resultado........................... 50 Figura 29 - Curva de Comprimento de Onda x Absorbância............................ 51 Figura 30 - Comportamento das Amostras Desconhecidas ............................. 52
  • 11. SUMÁRIO 1 INTRODUÇÃO .............................................................................................. 11 2 CENÁRIO DE SOFTWARE .......................................................................... 13 3 DESENVOLVIMENTO DO SISTEMA ........................................................... 16 3.1 AUTOMAÇÃO ........................................................................................ 16 3.1.1 Arduino – Ethernet......................................................................... 16 3.1.2 Arduino LED e Sensor de Luz....................................................... 18 3.1.3 Arduino – Servomotor ................................................................... 19 3.2 Sistemas Distribuídos .......................................................................... 19 3.2.1 Sockets ........................................................................................... 20 3.3 Linguagens de Programação............................................................... 21 3.3.1 C++ .................................................................................................. 21 3.3.2 PHP.................................................................................................. 22 3.4 Engenharia de Software....................................................................... 23 3.4.1 Diagrama de Caso de Uso ............................................................. 23 3.4.2 Diagrama de Atividades................................................................. 24 3.4.3 Diagrama de Implantação.............................................................. 25 3.4.4 Diagrama Entidade Relacionamento – DER................................. 26 3.4.6 Metodologias Ágeis ....................................................................... 26 3.5 Ferramentas Utilizadas......................................................................... 27 3.5.1 XAMPP ............................................................................................ 27 3.5.2 Sublime Text................................................................................... 27 3.5.3 Arduino IDE .................................................................................... 28 3.5.4 Banco de Dados – MariaDB........................................................... 28 3.5.5 Sistema Gerenciador de Banco de Dados - phpMyAdmin ......... 28 3.5.6 Astah Community........................................................................... 29 4 METODOLOGIA DE PESQUISA.................................................................. 30
  • 12. 4.1 Desenvolvimento ágil de software ...................................................... 30 4.2 Modelos Comportamentais.................................................................. 30 4.3 Interface Homem Máquina (IHM) ......................................................... 31 4.4 Modelagem de Banco de Dados.......................................................... 31 4.5 Programação de funcionalidades – Cliente........................................ 31 4.6 Integração Cliente – Servidor .............................................................. 32 4.7 Programação de funcionalidades – Servidor ..................................... 34 4.8 Testes de software ............................................................................... 36 5 RESULTADOS E DISCUSSÕES.................................................................. 37 5.1 Cadastros – Fluxo Básico.................................................................... 37 5.2 Cadastros – Fluxo Principal................................................................. 37 5.3 Espect – Demonstração ....................................................................... 38 5.4 Dificuldades .......................................................................................... 53 6 CONCLUSÃO ............................................................................................... 54 REFERÊNCIAS................................................................................................ 56 ANEXOS .......................................................................................................... 58 Lista de Funções – Espect......................................................................... 58 Premissas do Projeto ................................................................................. 60 Restrições do Projeto................................................................................. 60 Análise de risco do Projeto........................................................................ 60 Descrição dos Atores................................................................................. 61 Caso de Uso – Espect ................................................................................ 62 Requisitos Funcionais - Espect................................................................. 63 Requisitos Não Funcionais – Espect ........................................................ 69 Diagrama de Implantação .......................................................................... 71 Diagrama de Atividades ............................................................................. 72 Diagrama Entidade e Relacionamento...................................................... 81
  • 13. Dicionário de Dados ................................................................................... 82
  • 14. 11 1 INTRODUÇÃO Um espectrofotômetro é um equipamento eletrônico, presente em várias áreas, tais como Química, Física, Bioquímica, e biologia molecular. É utilizado para medir a concentração de determinadas substâncias em soluções químicas, dependendo da coloração particular de cada substância. Este equipamento possui uma gama de aplicações nas áreas em que está relacionado, sendo muito útil e até mesmo essencial para a indústria e para a pesquisa. O problema atual em relação ao espectrofotômetro, não tanto na indústria, mas no ambiente acadêmico e de pesquisa é a falta de investimento financeiro em equipamentos como este, com valor cotado em média de seis mil reais, podendo chegar a valores de até sessenta mil reais. A escassez de recursos financeiros para aquisição de novos equipamentos em laboratórios de pesquisa, incentiva então os alunos a construírem seus próprios equipamentos, aproveitando de matérias obrigatórias como os trabalhos de conclusão de curso para investirem tempo e conhecimento no desenvolvimento tecnológico brasileiro. Segundo Castro (2008, p.1): O resultado de nossas escolhas históricas é que temos uma ciência relativamente avançada para nossa realidade, mas a tecnologia anda a passo de tartaruga. Outro problema também relacionado ao desenvolvimento tecnológico brasileiro e mundial é a questão da sustentabilidade. Espectrofotômetros são equipamentos de construção simples, mas como qualquer aparelho eletrônico, são muito poluentes por envolverem em sua estrutura componentes como lâmpadas, micro controladores e telas digitais. Com o objetivo de reduzir o impacto negativo das pegadas ecológicas, o equipamento apresentado neste trabalho foi construído com materiais recicláveis, e seu controle é feito utilizando um único Arduino Uno. Além de reduzir o impacto negativo, a utilização de matérias recicláveis torna o equipamento mais acessível e barato, orçado em um valor de aproximadamente cem reais.
  • 15. 12 Outro fator que torna o equipamento mais barato e acessível é o engajamento dos alunos envolvidos tanto no processo de construção do equipamento eletrônico quanto do software que torna o mesmo utilizável por qualquer pessoa que tenha acesso à internet. Para amenizar os problemas apresentados, foi então realizado um trabalho envolvendo alunos de diferentes cursos, enfatizando a ideia de que o desenvolvimento acadêmico depende fortemente da integração entre diferentes áreas científicas e tecnológicas. É de extrema importância o relacionamento interdisciplinar dentro de instituições de ensino, seguindo a premissa de que os alunos recebem tarefas de conclusão obrigatória durante o curso, para que obtenham o diploma. Grillo (2008, p. 79) diz que: Todo aluno traz para sala de aula uma história pessoal, com experiências particulares vividas na família, na sociedade, com disposições e condições diversas para realizar seu percurso de estudante, e expectativas diferenciadas com relação a um projeto de vida. Considerando que cada aluno carrega consigo um conhecimento específico, e que as ciências, segundo Aristóteles (REALE, 2017) são baseadas em Produtivas, Práticas e Teoréticas, é importante então integrar os conhecimentos e experiências de cada um em prol da criação de produtos, colocando em prática a teoria aprendida em sala de aula. A eficácia na construção de produtos modernos e otimizados permite às instituições de ensino aproveitamento destes equipamentos em seus laboratórios de pesquisa, a um custo financeiro baixo, ou até mesmo nulo, possibilitando a continuação do fluxo de conhecimento e desenvolvimento tecnológico; área que não recebe grande incentivo financeiro.
  • 16. 13 2 CENÁRIO DE SOFTWARE O espectrofotômetro é um equipamento eletrônico capaz de diferenciar comprimentos de onda, por meio da decomposição de cores em prismas ou redes de difração. Este equipamento é importante em laboratórios de Química e Física pois possibilita de forma prática demonstrar aos alunos que é possível caracterizar compostos na natureza segundo a sua cor. O mesmo é também importante na indústria, e em laboratórios industriais que necessitam saber a concentração de determinada substância em uma solução química, e até mesmo verificar qual é a substância em questão, dependendo do comprimento de onda que a representa. Atualmente o controle do espectrofotômetro construído pelo cliente não é informatizado. O equipamento é integrado à ferramenta MATLAB, para geração de gráficos e relatórios, mas ainda assim está muito limitado ao conhecimento técnico avançado de seus usuários. O processo de utilização de um espectrofotômetro deve seguir algumas premissas, para que os resultados sejam eficientes:  Leitura do branco: o usuário prepara uma amostra do solvente utilizado na solução, coloca esta amostra na cubeta e faz a leitura do mesmo, utilizando o equipamento. Assim, ele separa a curva do branco, que será subtraída de cada uma das curvas lidas das soluções conhecidas.  Leitura de amostras de soluções conhecidas: o usuário prepara pelo menos cinco amostras conhecidas, coloca cada uma destas amostras na cubeta e faz leitura destas utilizando o equipamento. A solução conhecida tem esse nome porque se conhece qual a substância presente, qual o solvente utilizado para dissolvê-la e qual a concentração desta substância neste solvente.  Preparo da curva de calibração: o usuário, manualmente, após fazer leitura das cinco amostras conhecidas, verifica todos os valores de
  • 17. 14 absorbância de cada amostra, encontrando em qual comprimento de onda a absorbância teve seu pico máximo.  Montagem do gráfico da relação de Concentração x Absorbância: Obtido o pico máximo de cada uma das curvas, o usuário desenha também manualmente, um gráfico com a relação da absorbância com a concentração no mesmo comprimento de onda. Na Figura 1, tem-se um exemplo do gráfico, para três amostras conhecidas: Figura 1 - Exemplo de Gráfico Concentração x Absorbância Fonte: O Autor.  Cálculo da regressão linear da reta: Após encontrar a reta de relação de Concentração x Absorbância, o usuário faz a regressão linear da mesma, objetivando encontrar o coeficiente angular da reta, que corresponde ao ε da Lei de Beer. Lei de Beer (Skoog, 2009, p. 350): 𝐴 = 𝜀. 𝑏. 𝑐 Onde A é a absorbância, ε é o coeficiente de cada substância, b é o caminho ótico da cubeta em cm e C é a concentração da substância em mol/L.  Leitura de amostras de soluções desconhecidas: o usuário após fazer todos os cálculos manualmente, agora pode fazer a leitura das 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0.001 0.002 0.003 0.004 0.005 0.006
  • 18. 15 soluções desconhecidas, pois já tem as informações necessárias para encontrar a concentração de determinada substância na mesma. A solução desconhecida tem esse nome porque se conhece qual a substância presente, qual o solvente utilizado para dissolve-la, desconhecendo-se a concentração desta substância neste solvente. Com o ε da Lei de Beer em mãos, o usuário pode então analisar qualquer amostra da mesma substância, pois assim saberá qual a sua concentração. Além da demonstração dos gráficos e cálculos de regressão linear, o equipamento exige que após descoberta a curva de calibração, o motor seja configurado para leitura das soluções desconhecidas, na posição que representa o comprimento de onda particular da substância da solução. A partir deste momento, o motor não deve mover, pois o espectro de luz refletido não pode ser alterado. Este controle eletrônico também está atualmente integrado ao MATLAB, que por meio de bibliotecas, faz integração com o Arduino. Durante o processo de utilização deste equipamento, o usuário não tem possibilidade de salvar os dados com os quais trabalha em um banco de dados. Consequentemente, a cada vez que deseja descobrir a concentração de uma substância em uma solução desconhecida, ele precisa realizar novamente a leitura das cinco soluções conhecidas, o que gera retrabalho e desperdício de material.
  • 19. 16 3 DESENVOLVIMENTO DO SISTEMA Esta seção apresentará os referenciais teóricos, conceitos e técnicas que foram essenciais para a construção do projeto, mostrando em que foi baseado o desenvolvimento deste trabalho. 3.1 AUTOMAÇÃO Em busca de maior desempenho e maior produtividade as indústrias e o setor de pesquisa no último século têm se adaptado a equipamentos automatizados, envolvendo o uso de computadores de grande porte e de microcomputadores. “Os controles de processos industriais e a automação da manufatura é sem dúvida uma das aplicações de maior impacto. ” (NATALE, 2004, p. 12) 3.1.1 Arduino – Ethernet O Arduino é uma placa de prototipagem eletrônica, utilizado na automação de processos, podendo ser denominado um microcomputador. Natale (2004, p. 1) define um microcomputador: Os microcomputadores, podem ser classificados segundo as aplicações específicas. Desenvolvidos por meio de microprocessadores e micro controladores, resolvem problemas similares aos de grande porte, porém menos complexos e com menos quantidade de dados. Seguindo esta definição o Arduino foi considerado a forma mais eficiente de automatizar o processo de utilização do espectrofotômetro, que é um equipamento industrial, mas seu problema não é complexo e envolve quantidades razoáveis de dados a serem processados.
  • 20. 17 Na Figura 2, tem-se uma foto representativa de um Arduino Uno: Figura 2 - Arduino Uno Fonte: Arduino (2017) Oliveira (2010, p.51), cita duas opções de implementação da Ethernet, sendo elas: interfaceamento da unidade de controle com uma placa de rede de computador diretamente ou interfaceamento de algum sistema embarcado com um circuito integrado dedicado para o controle da Ethernet. Na Figura 3, temos uma foto da interface que se conecta ao Arduino, permitindo a integração do mesmo com a Ethernet: Figura 3 - Arduino Ethernet Shield Fonte: Gravitech (2017)
  • 21. 18 3.1.2 Arduino LED e Sensor de Luz LEDs e sensores de luz são dispositivos semicondutores de estado sólido, sendo que “o semicondutor mais simples é conhecido como diodo. ” (LAMB, 2015, p. 35) Segundo Lamb (2015): “Certos tipos de diodo servem também para detectar luz (fotodiodos) ou para gerar luz (LEDs) ”. O sensor de luminosidade LDR é um componente cuja resistência varia de acordo com a intensidade de luz, sendo que a resistência é diminuída de acordo com a quantidade de luz que incide sobre ele. O LED é uma pequena lâmpada, que emite luz. A Figura 4 representa um LED de luz branca, e a Figura 5 representa um sensor LDR, utilizado para detectar a luz: Figura 4 - LED de luz branca Fonte: Amazonaws (2017) Figura 5 - Sensor LDR Fonte: Potentiallabs (2017)
  • 22. 19 3.1.3 Arduino – Servomotor Segundo Lamb (2015): “Os servomotores são especialmente desenvolvidos e construídos para uso em sistemas de controle de retroalimentação. ”, assim como: “Os servomotores são acionados por servoacionamentos, que fornecem velocidade precisa, torque e controle de posição ao utilizar um codificador. ” Servomotores são motores de rotação, sendo que suas posições podem ser controladas via código. A Figura 6 ilustra um servomotor: Figura 6 - Servomotor Fonte: Ssl-images-amazon (2017) 3.2 Sistemas Distribuídos Uma caracterização não muito específica de sistemas distribuídos é feita por Tanembaum (2008, p.1): “Um sistema distribuído é um conjunto de computadores independentes que se apresenta aos seus usuários como um sistema único e coerente. ”. Lages (1986. p.209) diz que “Uma das áreas em que os sistemas distribuídos têm encontrado melhores perspectivas de aplicação é a automação. ”. Como o desenvolvimento deste trabalho envolve a integração de um microcomputador e um sistema web, localizado em um servidor, podendo ser acessado por diferentes computadores pessoais, por meio da internet, ele segue a definição de sistema distribuído de Tanembaum.
  • 23. 20 O acesso ao sistema de controle e análise dos dados é feito via internet, e pode ser acessado por qualquer pessoa que possuir seu endereço de acesso. O controle dos equipamentos eletrônicos envolvidos no processo de leitura dos dados acontece de forma transparente para o usuário, que não precisa ter conhecimento em como um motor ou um sensor funcionam. Coulourius (2007, p. 16) define os sistemas distribuídos como: Aquele no qual os componentes de hardware ou software localizados em computadores interligados em rede, se comunicam e coordenam suas ações apenas enviando mensagens entre si. (...) A motivação para construir e usar sistemas distribuídos é proveniente do desejo de compartilhar recursos. Da forma em que o sistema foi construído, tanto as comunicações entre os componentes assim como o controle dos equipamentos eletrônicos acontecem de forma independente e ao mesmo tempo compartilhada. Este compartilhamento é possível com a utilização da tecnologia de Sockets, com relacionamento cliente-servidor entre Arduino e sistema web. 3.2.1 Sockets A tecnologia de sockets é utilizada para estabelecer o relacionamento de comunicação cliente-servidor entre um sistema de controle e uma Interface Homem Máquina.
  • 24. 21 A Figura 7 representa a comunicação cliente-servidor: Figura 7 - Comunicação Requisição - Resposta Fonte: COULOURIS et Al (2017, p. 147) adaptado 3.3 Linguagens de Programação É de extrema importância que os desenvolvedores de software saibam reconhecer as melhores linguagens de programação a serem utilizadas em um determinado sistema, levando em consideração as velocidades de resposta e também o nível de modernização destas. Sebesta (2011, p. 24) confirma esta importância: Software de sistema são aplicativos usados quase continuamente e, dessa forma, devem ser eficientes. Além disso, tais aplicativos devem ter recursos de baixo nível que permitam aos aplicativos de software se comunicarem com dispositivos externos a serem escritos. 3.3.1 C++ Segundo Sebesta (2011), a linguagem C++ é uma linguagem que “evoluiu a partir do C com uma série de modificações para melhorar seus recursos imperativos e adicionar construções para suporte à programação orientada a objetos. ” Esta é a linguagem utilizada para o controle do Arduino. Por ser uma linguagem orientada a objetos, seu funcionamento depende da importação de
  • 25. 22 bibliotecas que realizam funcionalidades específicas dependendo das necessidades de cada programa.  SPI (Serial Peripheral Interface): protocolo de dados usado por micro controladores para comunicação com um ou mais dispositivos periféricos de forma rápida sobre pequenas distâncias. Pode também ser usado para a comunicação entre dois micro controladores. (ARDUINO, 2017)  UPIEthernet: biblioteca independente responsável pelo empacotamento dos dados de forma madura, que provê implementação de baixo nível para todos os protocolos suportados. É compatível com o Internet Shield ENC28J60 utilizado no projeto, disponibilizando interface para o seu controle. (ARDUINO, 2017)  Servo.h: biblioteca nativa do Arduino que permite o controle de servo motores. (ARDUINO, 2017) 3.3.2 PHP A linguagem PHP é uma linguagem de script, que funciona de forma interpretada. Ela é amplamente utilizada para o desenvolvimento web em todo o mundo e possui vasta documentação por toda a internet. Sebesta (2011, p. 25) afirma: Dada a necessidade universal por conteúdo dinâmico na Web, alguma capacidade de computação geralmente é incluída na tecnologia de apresentação de conteúdo. Essa funcionalidade pode ser fornecida por código de programação embarcado em um documento XHTML. Tal código é normalmente escrito com uma linguagem de scripting, como JavaScript ou PHP. A linguagem PHP é facilmente integrada à linguagem HTML, responsável pela marcação e estilização das páginas do sistema, e também à linguagem JavaScript, responsável pelo controle dos gráficos e de permissões do sistema. O sistema desenvolvido em PHP tem acesso ao banco de dados MariaDB, possibilitando a realização de consultas e modificações nas tabelas de forma rápida e transparente ao usuário.
  • 26. 23 3.4 Engenharia de Software Pressman e Maxim (2016, p. 106) afirmam que existem oito princípios fundamentais para a engenharia de software: A engenharia de software é norteada por um conjunto de princípios fundamentais que ajudam na aplicação de um processo de software significativo e na execução de métodos de engenharia de software eficazes. Estes princípios são: (1) Seja ágil; (2) Concentre-se na qualidade em todas as etapas; (3) Esteja pronto para adaptações; (4) Monte uma equipe eficiente; (5) Estabeleça mecanismos para comunicação e coordenação; (6) Gerencie mudanças; (7) Avalie os riscos; (8) Gere artefatos que forneçam valor para os outros. 3.4.1 Diagrama de Caso de Uso O diagrama de caso de uso é um diagrama proveniente da linguagem UML (Unified Modeling Language) utilizado para representar uma sequência de atividades que envolvem atores e o sistema. Ele é caracterizado como um modelo comportamental, que “indica como o software vai responder a estímulos ou eventos externos”. (PRESSMAN; MAXIM, 2016, p. 203). A Figura 8 apresenta um exemplo de diagrama de caso de uso: Figura 8 - Diagrama de Caso de Uso Fonte: O Autor.
  • 27. 24 3.4.2 Diagrama de Atividades “Um diagrama de atividades UML complementa o caso de uso por meio de uma representação gráfica do fluxo de interação em um cenário específico. ” (PRESSMAN; MAXIM, 2016, p. 179). A Figura 9 representa um diagrama de atividades: Figura 9 - Diagrama de Atividades Fonte: O Autor.
  • 28. 25 3.4.3 Diagrama de Implantação “O diagrama de implantação em UML pode ser utilizado em situações em que complexas arquiteturas de configuração tem de ser consideradas. ” (PRESSMAN; MAXIM, 2016, p. 203). A Figura 10 representa um diagrama de Implantação: Figura 10 - Diagrama de Implantação Fonte: O Autor.
  • 29. 26 3.4.4 Diagrama Entidade Relacionamento – DER “ O diagrama ER é apenas uma descrição aproximada dos dados, criada através de uma avaliação subjetiva das informações coletadas durante a análise de requisitos. ” (RAMAKRISHNAN; GEHRKE, 2008). Esta etapa é a de projeto físico do banco de dados. Segundo Ramakrishnan e Gehrke (2008): Nesta etapa, consideramos as cargas típicas esperadas que nosso banco de dados deve suportar e refinamos ainda mais o projeto de banco de dados para assegurar que ele satisfaça os critérios de desempenho desejados. Esta etapa pode apenas envolver a criação de índices em algumas tabelas e agrupamento de tabelas, ou pode envolver um reprojeto substancial de partes do esquema de banco de dados obtido das etapas anteriores de projeto. A Figura 11 demonstra um exemplo de Diagrama Entidade e Relacionamento: Figura 11 - Diagrama Entidade e Relacionamento Fonte: O Autor. 3.4.6 Metodologias Ágeis O processo escolhido e abordado no desenvolvimento do sistema não deve ser considerado ágil, seguindo a premissa de que metodologias ágeis devem ser aplicadas em sua totalidade, para que sejam efetivas. De acordo com Pressman e Maxim (2016, p. 106): “Não importa se o modelo de processo que você escolheu é prescritivo ou ágil, os princípios básicos do desenvolvimento ágil devem comandar sua abordagem. ”. Sendo assim alguns princípios de metodologias ágeis foram abordados no desenvolvimento do sistema. Tais princípios são descritos por Beck et al. (2001):
  • 30. 27 Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças para que o cliente possa tirar vantagens competitivas; Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto; O método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara; Simplicidade: a arte de maximizar o trabalho que não precisou ser feito. 3.5 Ferramentas Utilizadas As ferramentas utilizadas no desenvolvimento de um sistema definem o ambiente de programação em que tal sistema foi desenvolvido. Sebesta (2011, p. 52) afirma: Um ambiente de programação é a coleção de ferramentas usadas no desenvolvimento de software. Essa coleção pode consistir em apenas um sistema de arquivos, um editor de textos, um ligado e um compilador. Ou pode incluir uma grande coleção de ferramentas integradas, cada uma acessada por meio de uma interface de usuário uniforme. No último caso, o desenvolvimento e a manutenção de software é enormemente melhorada. Logo, as características de uma linguagem de programação não são a única medida da capacidade de desenvolvimento de um sistema. Nesta seção, serão descritos todos os diversos ambientes de programação utilizados neste trabalho. 3.5.1 XAMPP Esta é uma ferramenta multiplataforma e gratuita que consiste em uma pilha de servidores web, desenvolvida pela Apache Friends. É responsável pela instalação e funcionamento do servidor HTTP Apache, do banco de dados MariaDB, e por interpretar códigos escritos em PHP. 3.5.2 Sublime Text Este é um editor de texto otimizado para desenvolvimento de sistemas web e para desenvolvimento de linguagens de marcação, como HTML. Ele permite a edição dos códigos de forma intuitiva e interativa, é fácil de instalar e de utilizar. Este editor é muito popular entre os desenvolvedores web PHP, por ser gratuito e por não ser muito pesado, sendo essencial apenas para o que é necessário: criação de códigos.
  • 31. 28 3.5.3 Arduino IDE Esta é uma ferramenta multiplataforma, de código aberto, utilizada para criação de códigos C++, compilação e carregamento dos códigos para o sistema embarcado. Ela é disponibilizada gratuitamente pela Arduino, em seu website. A Arduino IDE foi construída em linguagem Java e é integrada à placa Arduino por meio de comunicação de portas seriais. Desta forma, após o código ser editado e compilado, esta ferramenta também permite que o usuário carregue o código para a placa, com o clique de apenas um botão. A placa Arduino deve estar conectada em uma das portas seriais do computador que realiza o carregamento do código para que a comunicação aconteça. A comunicação serial também permite ao programador verificar as saídas do programa por meio de um monitor serial, também parte da Arduino IDE. Desta forma, a visualização de entrada e saída de dados no servidor acontece de forma fácil e intuitiva. 3.5.4 Banco de Dados – MariaDB Heuser (2009, p. 23) descreve banco de dados como “conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. ”. A necessidade de integração do sistema com um banco de dados decorre da necessidade de compartilhamento dos dados mantidos pelo sistema entre todos os usuários do mesmo. O MariaDB é uma versão aprimorada do banco de dados MySQL. Ele é mantido atualizado com a versão mais recente do banco de dados MySQL, de forma que todos os comandos, interfaces, bibliotecas e APIs que existem no MySQL também existem no MariaDB. 3.5.5 Sistema Gerenciador de Banco de Dados - phpMyAdmin Naturalmente o banco de dados MySQL é acessado e controlado por janela de comando, e em decorrência da dificuldade dos usuários em não ter uma interface gráfica para isso, foi criado o phpMyAdmin, um SGBD (Sistema Gerenciador de Banco de Dados) gratuito.
  • 32. 29 Este SGBD foi escrito principalmente em linguagem PHP, e funciona como uma aplicação web por meio de navegadores de internet, o que o tronou uma das ferramentas mais populares para o desenvolvimento web, especialmente para serviços de hospedagem online. 3.5.6 Astah Community Os diagramas citados nos itens 3.4.1, 3.4.2 e 3.4.3 foram construídos utilizando esta ferramenta. Ela está disponível para download online, e permite a criação de diagramas UML de forma gratuita.
  • 33. 30 4 METODOLOGIA DE PESQUISA Este trabalho foi desenvolvido com base na metodologia de pesquisa aplicada, que segundo Prodanov e Freitas (2013, p. 51) sua natureza “objetiva gerar conhecimentos para aplicação prática dirigidos à solução de problemas específicos. Envolve verdades e interesses locais. ”. 4.1 Desenvolvimento ágil de software Baseando-se nas técnicas de pesquisa aplicada, e nas bases teóricas das metodologias de desenvolvimento ágil de software, foram realizadas entrevistas e conversas com o cliente, para o levantamento dos requisitos iniciais do software, como funcionamento básico de um espectrofotômetro. Durante o processo a aluna se concentrou em todos os princípios fundamentais da engenharia de software, procurando agir de forma coerente com as boas práticas desta. Em consequência disto a aluna, em parceria com o cliente esteve dentro dos prazos para a entrega das partes desenvolvidas do software, se atentando às necessidades dos usuários, realizando mudanças sempre que necessário. O relacionamento entre a aluna e o cliente foi diário. O processo de levantamento de requisitos e testes foi feito pessoalmente, fazendo com que as entregas contínuas fossem avaliadas, podendo ser alteradas segundo as necessidades do cliente, o que otimizou o tempo de entrega de funcionalidades. 4.2 Modelos Comportamentais Posterior ao levantamento inicial de requisitos, foram projetados: um diagrama de caso de uso; um diagrama de atividades; um diagrama de implantação. Tais diagramas auxiliaram a comunicação entre a aluna responsável pelo desenvolvimento e o cliente, de forma que este conseguiu visualizar todas as funcionalidades específicas do software, assim como associá-las aos atores, usuários do sistema. O diagrama de caso de uso foi utilizado para representar dois diferentes atores usuários do sistema: Aluno e Técnico, indicando as funcionalidades que são responsabilidade ou não de cada um deles.
  • 34. 31 Adicional ao diagrama de caso de uso, foi projetado o diagrama de atividades do sistema, importante por demonstrar com clareza a interação entre os atores, a interface homem máquina e os dispositivos eletrônicos. O diagrama de Implantação permite a identificação dos dispositivos responsáveis pelos papeis de cliente e servidor, assim como permite a identificação do protocolo utilizado para comunicação entre eles. No caso deste trabalho, o protocolo de comunicação utilizado foi o TCP/IP. 4.3 Interface Homem Máquina (IHM) Assim que os requisitos básicos foram aprovados pelo cliente, iniciou-se então a fase de criação da interface gráfica do sistema, utilizando-se um template baseado em Bootstrap próprio para apresentação de Dashboard. A participação do cliente também foi ativa nesta fase, visando sempre a simplicidade das funcionalidades e a apresentação destas de forma didática e intuitiva a seus usuários. O desenvolvimento da IHM do software foi realizado em linguagens próprias para web HTML e JavaScript. A linguagem HTML é responsável pela marcação e estilização das páginas do sistema, e a linguagem JavaScript é responsável pela exibição e controle dos gráficos, assim como é responsável por indicar de forma clara ao usuário as permissões do sistema. 4.4 Modelagem de Banco de Dados Concluída a fase de desenvolvimento gráfico, iniciou-se o projeto das tabelas de banco de dados e seus relacionamentos. Depois de projetadas, as tabelas e seus relacionamentos foram criados em banco de dados MariaDB, com o auxílio da ferramenta phpMyAdmin, em linguagem SQL. O banco de dados MariaDB é utilizado no desenvolvimento deste sistema por ter sua versão nativa na ferramenta XAMPP, previamente apresentada no item 3.5.1. 4.5 Programação de funcionalidades – Cliente Com o modelo relacional do banco de dados construído e projetado para se adaptar às mudanças, iniciou-se o processo de programação de cadastros
  • 35. 32 básicos, permitindo tanto a inserção de dados nas tabelas, quando sua edição e a exclusão, por meio do sistema. Em sequência à finalização do desenvolvimento das funcionalidades básicas do sistema, e da programação do controle dos componentes eletrônicos, foi desenvolvido o fluxo principal do programa, o qual utiliza os dados cadastrados pelas funcionalidades básicas para o tratamento destes nas telas responsáveis pela comunicação entre o sistema e o Arduino. Ao fim desta fase, as telas funcionais foram apresentadas ao cliente, para realização de testes e aprovação. A linguagem PHP foi escolhida para o desenvolvimento do sistema que interage com o usuário por ser confiável e popular. Por ser uma linguagem baseada em servidor, sua integração com dispositivos embarcados é simples e intuitiva. A linguagem PHP é facilmente integrada à linguagem HTML. O sistema desenvolvido em PHP também tem acesso ao banco de dados MariaDB, possibilitando a realização de consultas e modificações nas tabelas de forma rápida, segura e transparente ao usuário. 4.6 Integração Cliente – Servidor Paralelo ao desenvolvimento das funcionalidades básicas, foi realizada uma pesquisa em relação às formas de comunicação da linguagem PHP com o Arduino. Durante esta pesquisa, foram encontradas duas soluções de comunicação: via serial e via Ethernet. Em razão da linguagem PHP ser uma linguagem baseada em servidores e não em sistemas operacionais, adotou-se então a comunicação via Ethernet, por meio de Sockets. Desta forma o sistema estabelece um relacionamento que segue a natureza da linguagem na qual foi desenvolvido. Tomou-se então a decisão de desenvolver um sistema online para controle de um equipamento eletrônico que tem como base o Arduino seguindo a premissa de que este é programado em linguagem de alto nível (C++) e possui fácil
  • 36. 33 integração a aplicações desenvolvidas fora de seu sistema embarcado por meio de comunicação Ethernet. Neste trabalho o Arduino assume o papel de servidor enquanto o sistema online realiza o papel de cliente. A tecnologia adotada para a comunicação entre o Arduino e o sistema online foi a de Sockets, onde é estabelecida uma comunicação cliente-servidor entre o sistema de controle, programado no Arduino, e o sistema de IHM, programado em linguagem própria para web, PHP. A configuração do Arduino como servidor acontece de forma que é necessário configurar seu endereço MAC, e seu endereço de IP, os quais serão referenciados pelo sistema web, no momento da comunicação. O protocolo de comunicação utilizado para a construção do socket é o TCP, referenciado na função PHP de criação do mesmo. Esta função está representada na Figura 12: Figura 12 - Função PHP - socket_create Fonte: O Autor. Com a chamada desta função:  AF_INET especifica a família de protocolo utilizada pelo socket. IPv4 Protocolo baseado em Internet;  SOCKET_STREAM seleciona o tipo de comunicação a ser utilizada pelo socket. O protocolo TCP/IP é baseado neste tipo de protocolo;  SOL_TCP configura o protocolo específico, sob o domínio específico a ser usado quando as comunicações provem do retorno do socket. TCP garante que todos os pacotes enviados serão recebidos, sem erros ou inconsistências.
  • 37. 34 As linguagens de programação escolhidas para o desenvolvimento deste sistema foram desde o início do projeto estudadas para que fosse possível a comunicação entre elas de forma transparente aos usuários. 4.7 Programação de funcionalidades – Servidor Segundo Oliveira (2010, p.51): Dependendo da complexidade da Interface Homem Máquina (IHM) que a aplicação necessita, pode ser mais vantajoso utilizar uma já pronta (de um computador) do que implementar uma para um sistema embarcado. Por mais complicado e diversificado que seja o método de integração de um dispositivo eletrônico com um computador, ele não passa de um caminho de dados que envia e recebe bits. Desta forma, as linguagens de desenvolvimento web são utilizadas para a programação da aplicação que faz interface entre o usuário e o computador, enquanto o controle do motor, lâmpada e sensor do espectrofotômetro é feito pelo Arduino. Como a IHM foi desenvolvida em plataforma web, a comunicação entre esta e o Arduino é feita pela tecnologia Ethernet, seguindo o modelo de comunicação TCP/IP. A comunicação entre o Arduino e o Ethernet Shield é realizada por meio da ligação entre as portas digitais do Arduino, acompanhando a seguinte tabela de referência: Tabela 1 - Relação de portas digitais ENC28J60 - Arduino Ethernet Shield ENC28J60 Arduino CS D10 ST D11 SO D12 SCK D13 VCC 5V GND GND Fonte: O Autor
  • 38. 35 Seguindo a tabela de referência, é necessário então realizar a ligação das portas indicadas na coluna da esquerda, pertencentes ao Ethernet Shield, com as portas indicadas na coluna da direita, pertencentes ao Arduino. O controle de LED ligado e desligado também é realizado por meio do Arduino. O sistema online envia uma requisição para o Arduino, que se encarrega de ligar e desligar o LED. O LED se conecta ao Arduino por meio de uma porta digital, que no caso deste trabalho está conectado à porta D7. O controle do sensor fotossensível (LDR), que reconhece a quantidade de luz absorvida pela solução também é realizado por meio de requisições enviadas pelo sistema online ao Arduino. O sensor se conecta ao Arduino por meio de uma porta analógica, que no caso deste trabalho está conectado à porta A0. Desta forma, o Arduino recebe uma requisição do sistema online que indica que o mesmo deverá enviar o valor lido na porta analógica a que o sensor está conectado. Este valor é exibido na tela, e salvo em banco de dados. O controle de movimentação do elemento dispersor da luz é realizado com a utilização de um servomotor. Esta movimentação também é solicitada pelo sistema online, mas o controle é realizado pelo Arduino, responsável por enviar comandos elétricos à porta digital na qual o motor está conectado, que é a porta D3. O motor se movimenta, de forma estável e confiável entre as posições 10 e 170. Desta forma tem uma amplitude de 160 graus de coleta de espectro de luz absorvida. No cadastro do branco da solução e no cadastro da solução conhecida, o motor se move da posição 170 até a posição 10, coletando em cada uma das posições o valor de leitura do sensor que atravessa a amostra. A Figura 13 demonstra o desenho do circuito eletrônico envolvendo o Arduino e todos os elementos utilizados para controle já descritos neste trabalho:
  • 39. 36 Figura 13 - Circuito Eletrônico Fonte: O Autor. 4.8 Testes de software Os testes de software foram realizados juntamente com o cliente, para que este tivesse contato direto com as funcionalidades desenvolvidas no decorrer do desenvolvimento do sistema. As funcionalidades de cadastros, alterações e exclusões foram testadas e validadas semanalmente pelo cliente. Os testes finais foram realizados no Laboratório de Química Orgânica do Unileste MG. Foram utilizadas soluções de Permanganato de Potássio (KMnO4) em Água (H2O). As soluções conhecidas 01, 02, 03, 04 e 05 foram preparadas com concentrações (em mol / L) de 0.001, 0.0005, 0.0001, 0.00005 respectivamente.
  • 40. 37 5 RESULTADOS E DISCUSSÕES “Um sistema de software existe por um motivo: agregar valor para seus usuários. ” (PRESSMAN; MAXIM, 2016, p. 21). Desta forma, o sistema apresentado neste trabalho cumpre o seu papel de agregar valor a seus usuários, automatizando um processo que antes exigia muito conhecimento técnico de seus usuários e era realizado de forma manual e lenta. O sistema Espect permite o controle e a análise de soluções químicas em relação à concentração de determinada substância em determinado solvente. Ele permite que o usuário tenha um banco de dados bem definido de substâncias e solventes, que serão utilizados no cadastro de soluções. Por ser uma solução inovadora, o Espect não se relaciona a nenhum programa de controle de espectrofotômetro já construído. Suas funcionalidades são divididas em dois grupos: (1) Fluxo básico; (2) Fluxo principal. O fluxo básico consiste em cadastros, alterações e exclusões que servem como base para o funcionamento do fluxo principal: 5.1 Cadastros – Fluxo Básico São inseridas as informações básicas para o funcionamento do fluxo principal. Esta seção inclui também as alterações e exclusões, e inativações.  Cadastro de Usuário  Cadastro de Substância  Cadastro de Solvente 5.2 Cadastros – Fluxo Principal São inseridas as informações relevantes para o fluxo principal. Esta seção inclui também as alterações e exclusões.  Cadastro de Solução Conhecida  Cadastro de Solução Desconhecida
  • 41. 38 5.3 Espect – Demonstração O contato inicial dos usuários do Espect é com uma tela de login, pela qual é realizado o controle de acesso. As funcionalidades do sistema são exibidas de acordo com o tipo de usuário, Técnico ou Aluno. A tela de controle de acesso está representada na Figura 14: Figura 14 - Controle de Acesso Fonte: O Autor. Após realizar o acesso o usuário é redirecionado para a tela principal. Os exemplos demonstrados nesta seção serão baseados no acesso permitido aos usuários de nível Técnico, que podem acessar todas as funcionalidades do sistema.
  • 42. 39 A Figura 15 demonstra a página inicial do sistema. O usuário Técnico tem acesso aos menus de:  Cadastros  Listas Figura 15 - Página Inicial Fonte: O Autor. A partir desta tela, o usuário pode seguir para os cadastros básicos necessários para o funcionamento do fluxo principal. Dentre os cadastros básicos, o primeiro a ser realizado é o cadastro de Substâncias, pois estas irão compor os solventes e as soluções.
  • 43. 40 Este cadastro de substâncias é representado pela Figura 16: Figura 16 - Cadastro de Substâncias Fonte: O Autor. Este formulário de cadastro permite que o usuário defina as características da substância cadastrada e não possui nenhum requisito de cadastros anteriores. Após realizar o cadastro de pelo menos uma substância, o usuário tem a possibilidade de cadastrar os solventes, que podem ser constituídos por uma ou mais substâncias.
  • 44. 41 O cadastro de Solventes está representado pela Figura 17: Figura 17 - Cadastro de Solvente Fonte: O Autor. Nesta tela o usuário tem a possibilidade de selecionar as Substâncias que compõe este solvente, assim como deve indicar o percentual de volume desta substância. Por exemplo, caso o solvente seja apenas Água, ele deve indicar 100% em Percentual Vol/Vol (%), mas se o solvente for formado por duas substâncias, é necessário indicar qual a porcentagem de cada uma destas. O cadastro de solventes exige o cadastramento prévio de Substâncias. Assim que os cadastros de substância e solvente já foram realizados, o usuário pode prosseguir para o cadastro de Solução Conhecida. Esta etapa permitirá ao usuário cadastrar uma base de cinco amostras de soluções conhecidas. Os dados gerados por este processo são essenciais para a análise de concentração de soluções desconhecidas, pois é a partir destes dados que o sistema realizará os cálculos necessários.
  • 45. 42 A tela de Cadastro de Solução Desconhecida está representada abaixo: Figura 18 - Cadastro de Solução Conhecida - Substância Fonte: O Autor. A Figura 18 demonstra o primeiro passo do processo de cadastro de solução conhecida, onde o usuário deve selecionar a substância que compõe as soluções preparadas. É recomendado ao usuário que já tenha preparado as cinco soluções conhecidas, pois este processo depende da preparação destas.
  • 46. 43 A Figura 19 representa cinco amostras previamente preparadas: Figura 19 - Amostras de Soluções Conhecidas Fonte: O Autor. Figura 20 - Cadastro Solução Conhecida - Solvente Fonte: O Autor
  • 47. 44 A Figura 20 representa o segundo passo do processo de cadastro de solução conhecida, onde o usuário seleciona o solvente desta solução. Após indicar qual a solução e qual o solvente, previamente cadastrados, o usuário aperta o botão “Cadastrar” e é redirecionado para a tela demonstrada na Figura 21: Figura 21 - Leitura do Branco Fonte: O Autor. Neste momento, o usuário deve ter em mãos uma cubeta, contendo o solvente utilizado na solução, e indicado no cadastro base. Assim que o usuário posicionar a cubeta com o solvente no equipamento, ele pode então realizar a Leitura do Branco, que enviará para o banco de dados os valores de leitura enviados pelo sensor. Estes valores representam os valores de leitura do sensor nas cento e sessenta posições percorridas pelo motor. Devido às limitações mecânicas do equipamento, o usuário deve aguardar aproximadamente quatro minutos para que a leitura do branco seja realizada e salva em banco de dados.
  • 48. 45 Quando a leitura é finalizada, o usuário é redirecionado para a tela de Leitura de Solução 01, representada pela Figura 22: Figura 22 - Cadastro de Solução Conhecida - Solução 01 Fonte: O Autor. Neste momento, o usuário deve ter em mãos uma cubeta contendo uma amostra da solução cadastrada como base. Como esta solução é conhecida, sabe-se a concentração em mol/L de substância. O usuário deve então indicar esta concentração antes de iniciar a leitura.
  • 49. 46 A Figura 23 representa uma cubeta contento amostra de solução conhecida: Figura 23 - Cubeta - Solução Conhecida Fonte: O Autor. A Figura 24 mostra uma cubeta contendo uma amostra de solução conhecida posicionada no equipamento: Figura 24 - Cubeta posicionada Fonte: O Autor.
  • 50. 47 Assim como o processo de leitura do branco, o usuário deve posicionar a cubeta contendo a solução conhecida no local indicado no equipamento. Após posicionamento da cubeta no local indicado, o usuário deve apertar o botão para Fazer Leitura e aguardar redirecionamento para próxima tela. Este processo deve ser repetido para cada uma das cinco soluções conhecidas, e o tempo médio de espera para a leitura de cada uma é de aproximadamente quatro minutos. Após a realização da leitura das cinco soluções conhecidas, o usuário tem sua base pronta para a leitura de soluções desconhecidas, e descoberta de concentrações nestas. Caso o usuário já tenha em mãos as amostras de solução desconhecidas, ele pode seguir o fluxo do programa, para o Cadastro de Solução Desconhecida, como representado pela Figura 25: Figura 25 - Seguir Cadastro de Solução Desconhecida Fonte: O Autor. O sistema exibe esta tela para que o usuário siga para a próxima etapa de maneira intuitiva. Caso o usuário ainda não tenha em mãos as amostras de soluções desconhecidas, o sistema exibe uma lista com todas as bases de soluções conhecias já cadastradas, permitindo que o usuário selecione a sua base para leitura de soluções desconhecidas no futuro, como mostrado na Figura 26:
  • 51. 48 Figura 26 - Cadastro Solução Desconhecida - Solução Conhecida Fonte: O Autor. Neste momento, o usuário seleciona a base, com a Substância, Solvente, e concentrações conhecidas e aperta o botão “Prosseguir” e é redirecionado para a tela de leitura de solução desconhecida, onde deve digitar um nome de referência, como mostrado na Figura 27.
  • 52. 49 Figura 27 - Leitura de Solução Desconhecida Fonte: O Autor. Neste momento, o usuário deve ter preparado pelo menos uma amostra de solução da qual desconhece o valor de concentração para realizar a análise. Após preencher o campo “Nome” com o nome de referência desta solução desconhecida, ele deve posicionar a cubeta contendo a amostra desconhecida no local indicado no equipamento. Ao apertar o botão “Fazer Leitura” o usuário deve aguardar o retorno do sistema, que mostrará a tela de Resultado, contendo o valor calculado de concentração nesta solução. Em função das limitações mecânicas do equipamento, o tempo de espera para o resultado é de aproximadamente um minuto. Este tempo é menor, se comparado às leituras do Cadastro de Solução Conhecida porque a partir deste momento o motor não tem necessidade de percorrer todas as posições. Após realizar os cálculos necessários, o sistema tem em sua base a posição exata do motor para realizar a leitura de solução desconhecida.
  • 53. 50 A tela de resultado está representada na Figura 28: Figura 28 - Cadastro de Solução Desconhecida - Resultado Fonte: O Autor. O resultado demonstrado na Figura 28 foi referente à uma solução de 0.0001 mol/L, podendo-se então perceber a eficácia do equipamento e a eficiência do software. Depois de realizar os cadastros do Fluxo Básico e do Fluxo Principal, o usuário tem a possibilidade de visualizar gráficos que são importantes para a análise quantitativa em Engenharia Química:  Curva de Absorbância em relação ao Comprimento de onda;  Gráfico de comportamento das amostras de Solução Desconhecida.
  • 54. 51 A Curva de Absorbância da Solução representa um gráfico de Comprimento de onda versus Absorbância, e pode ser visualizado como representado pela Figura 29: Figura 29 - Curva de Comprimento de Onda x Absorbância Fonte: O Autor. Este gráfico demonstra a curva característica da substância presente na solução conhecida cadastrada. O usuário tem a possibilidade de percorrer por todos os valores de absorbância calculados pelo sistema e principalmente, tem acesso visual ao valor de absorbância no pico máximo do gráfico.
  • 55. 52 Figura 30 - Comportamento das Amostras Desconhecidas Fonte: O Autor. A Figura 30 demonstra um gráfico da relação de concentração de cada amostra lida. A leitura de concentração em amostras desconhecidas é cadastrada como um grupo. Dentro deste grupo, o usuário consegue visualizar o comportamento que essas amostras seguem dependendo do gráfico demonstrado por suas concentrações. Sendo assim, o usuário tem a possibilidade de verificar, por exemplo, queda ou aumento de concentração de determinada substância em uma amostra. Este gráfico também exibe um relatório da solução base de referência, onde são conhecidas as soluções, os solventes e as concentrações de 01 a 05.
  • 56. 53 5.4 Dificuldades Durante o desenvolvimento do sistema, algumas dificuldades foram encontradas, e estas estão listadas a seguir:  Por se tratar de um sistema integrado a um dispositivo mecânico, foram encontradas dificuldades na movimentação do motor em suas posições iniciais e finais. Este não respondia aos comandos de maneira estável das posições 0 a 10 e das posições 170 a 180. Sempre que uma destas posições era referenciada pelo sistema, este parava o seu funcionamento.  A integração via rede Ethernet do Espect com o Arduino surgiu pelas dificuldades encontradas em realizar a comunicação via serial. Esta dificuldade foi, no entanto, positiva, pois incentivou o desenvolvimento do sistema de forma mais compatível à linguagem de programação utilizada, o PHP.  Os cálculos de regressão linear e de absorbância foram uma dificuldade encontrada pois estes conhecimentos são específicos, e não foram abordados no curso de Sistemas de Informação. Esta dificuldade foi sanada com o auxílio do cliente, que possui tais conhecimentos e por isso foi contatado pela desenvolvedora diversas vezes para confirmação de resultados e cálculos.  O desenvolvimento deste sistema não seguiu nenhuma documentação, por se tratar de uma solução inovadora. Em consequência, as dificuldades em relação às referências cadastrais foram apresentadas ao cliente, que especificou detalhadamente como o processo é realizado atualmente.  A automação industrial não é uma matéria do curso de Sistemas de Informação, e seus conceitos e definições foram buscados pela desenvolvedora no decorrer do desenvolvimento, se tornando um desafio para a mesma.  O equipamento foi construído com materiais de baixo custo, e alguns resultados gerados não são compatíveis com os resultados fornecidos por equipamentos caros.
  • 57. 54 6 CONCLUSÃO Este trabalho cumpriu com seu objetivo de automatizar um processo que atualmente é realizado de forma lenta e trabalhosa, permitindo a seus usuários controlar um espectrofotômetro via internet, analisando as soluções em uma interface gráfica intuitiva. O custo de implementação do sistema foi nulo, utilizando-se mão de obra voluntária. Com o desenvolvimento deste sistema, o usuário tem a possibilidade de integrar um espectrofotômetro de baixo custo a um sistema que torna as análises mais eficientes, de forma que:  Os usuários fazem a leitura do branco apenas uma vez, e o sistema se encarrega de percorrer os quatrocentos comprimentos de onda, movendo o motor das posições 10 a 170.  Os usuários realizam a leitura de soluções conhecidas apenas uma vez para cada amostra, e o sistema se encarrega de percorrer os quatrocentos comprimentos de onda, movendo o motor das posições 10 a 170.  Os usuários evitam o desperdício de soluções, pois quando realizam o cadastro de Solução Conhecida, os dados ficam guardados em banco de dados, e podem ser reutilizados.  O cadastro de Soluções Desconhecidas agrupa as amostras lidas, para que seja possível aos usuários visualizar de forma gráfica o comportamento destas soluções em relação às concentrações.  Os usuários têm retorno imediato de gráficos, e não precisam mais realizar cálculos manualmente.  A interface com o usuário é realizada de forma intuitiva, e os processos são demonstrados na tela de forma que o usuário entenda qual a próxima etapa.  As descrições das atividades nas telas são didáticas e auxiliam os usuários a utilizar o equipamento da forma correta. Acredita-se que o Espect é uma solução inovadora em controle e análise de espectrofotômetros, além de ser uma solução de baixo custo financeiro. Este sistema está apto a receber melhorias, dependendo das necessidades que
  • 58. 55 surgirem de seus usuários, mas sobre ao seu objetivo principal de fornecer resultados eficientes e rápidos em relação às concentrações de soluções desconhecidas, tem o seu funcionamento segundo o esperado. Este trabalho contribuiu para o crescimento técnico e profissional da aluna, que utilizou seus conhecimentos em programação para desenvolver o Espect, e acima de tudo utilizou de suas habilidades como analista de sistemas para resolver um problema de outra área científica. Este trabalho comprova que o relacionamento intercursos pode auxiliar o desenvolvimento tecnológico brasileiro, de forma que alunos com diferentes conhecimentos técnicos e científicos se unem com um mesmo objetivo, obtendo resultados válidos e úteis às instituições de ensino e às indústrias.
  • 59. 56 REFERÊNCIAS BECK, Kent et al. Manifesto para o desenvolvimento ágil de software. 2001. Disponível em: <https://www.manifestoagil.com.br/>. Acesso em: 25 set. 2017. COLOURIUS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribuídos: Conceitos e Projeto. 4. ed. Porto Alegre: Bookman, 2007. GRILLO, Marlene et al. Ser Professor. 6. ed. Porto Alegre: Edipucrs, 2008. HEUSER, Carlos Alberto. Projeto de banco de dados. Porto Alegre: Bookman, 2009. LAGES, Newton Alberto de Castilho; NOGUEIRA, José Marcos Silva. Introdução aos Sistemas Distribuídos. Campinas: Papirus, 1986. LAMB, Frank. Automação industrial na prática. Porto Alegre: Bookman, 2015. NATALE, Ferdinando. Automação Industrial. 6. ed. São Paulo: Érica, 2004. OLIVEIRA, André Schneider de; ANDRADE, Fernando Souza de. Sistemas Embarcados: Hardware e Firmware na Prática. 2. ed. São Paulo: Érica, 2010. PRESSMAN, Roger S.; MAXIM, Bruce R.. Engenharia de Software: Uma abordagem profissional. Porto Alegre: Bookman, 2016. PRODANOV, Cleber Cristiano; FREITAS, Ernani Cesar de. Metodologia do trabalho científico: Métodos e técnicas da pesquisa e do trabalho acadêmico. 2. ed. Novo Hamburgo: Feevale, 2013. RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de Gerenciamento de Banco de Dados. Porto Alegre: Mc Graw Hill, 2008. REALI, Giovanni. Metafísica de Aristóteles. São Paulo: Loyola, 2017. SEBESTA, Robert W. Conceitos de Linguagens de Programação. Porto Alegre: Bookman, 2011.
  • 60. 57 SKOOG, Douglas A.; HOLLER, F. James; R.CROUCH, Stanley. Princípios de Análise Instrumental. 6. ed. Campinas: Artmed, 2009. TANENBAUM, Andrew S.; VAN STEEN, Maarten. Sistemas Distribuídos: Princípios e Paradigmas. 2. ed. São Paulo: Pearson, 2008. ARDUINO. Libraries. Disponível em: <https://www.arduino.cc/en/Reference/Libraries>. Acesso em: 13 nov. 2017. DEFASAGEM BRASILEIRA EM TECNOLOGIA É RESULTADO DE ESCOLHAS ERRADAS. São Paulo: Exame, 09 out. 2008. Disponível em: <https://exame.abril.com.br/tecnologia/defasagem-brasileira-em-tecnologia-e- resultado-de-nbsp-span-escolhas-erradas-span-m0076474/#>. Acesso em: 25 set. 2017. ARDUINO. A000066_featured.jpg. Disponível em: <https://store- cdn.arduino.cc/usa/catalog/product/cache/1/image/520x330/604a3538c15e081 937dbfbd20aa60aad/a/0/a000066_featured.jpg>. Acesso em: 10 nov. 2017. AMAZONAWS. 450xN. Disponível em: < http://s3.amazonaws.com/img.iluria.com/product/1C4632/42A5BB/450xN.jpg>. Acesso em: 10 nov. 2017. POTENTIALLABS. LDR. Disponível em: < https://potentiallabs.com/cart/image/cache/catalog/LDR%20(BIG)- 500x416.jpg>. Acesso em 10 nov. 2017. SSL-IMAGES-AMAZON. 41Y5VW. Disponível em: < https://images-na.ssl- images-amazon.com/images/I/41Y5VWjAeQL._SX342_.jpg>. Acesso em 10 nov. 2017.
  • 61. 58 ANEXOS Lista de Funções – Espect ID Tipo Requisito Descrição Tempo Estimado (horas) Tempo Realizado (horas) 3 Controle de acesso Exibição ou não de determinadas funcionalidades, dependendo do grau de acesso do usuário. 16 16 1 Cadastro de Usuário Inclusão, alteração e desativação de usuários do sistema. 40 44 2 Lista de Usuários Lista todos os usuários cadastrados 8 8 1 Cadastro de Substância Inclusão, alteração e exclusão de substâncias. 40 40 2 Lista de Substâncias Lista todas as substâncias cadastradas no sistema. 8 8 1 Cadastro de solvente Inclusão, alteração e exclusão de solventes. 80 160 2 Lista de Solventes Lista todos os solventes cadastrados no sistema, com lista de substâncias que o compõe. 40 40 1 Cadastro base de Solução Conhecida Inclusão básica de substância e solvente da solução conhecida. 120 160 1 Leitura do branco da Solução Conhecida Inclusão de valores lidos no sensor que irão compor os valores de absorbância do branco. 16 16 1 Controle do branco da solução conhecida Atualização dos valores da leitura do branco da solução conhecida. 16 16 1 Leitura de Solução 01 Inclusão de valores lidos no sensor que irão compor os valores de absorbância da Solução 01. 16 16 1 Leitura de Inclusão de valores 14 12
  • 62. 59 Solução 02 lidos no sensor que irão compor os valores de absorbância da Solução 02. 1 Leitura de Solução 03 Inclusão de valores lidos no sensor que irão compor os valores de absorbância da Solução 03. 12 12 1 Leitura de Solução 04 Inclusão de valores lidos no sensor que irão compor os valores de absorbância da Solução 04. 12 12 1 Leitura de Solução 05 Inclusão de valores lidos no sensor que irão compor os valores de absorbância da Solução 05. 12 12 1 Controle de Solução Conhecida Atualização dos valores de absorbância das leituras de Soluções 01, 02, 03, 04 e 05. 16 16 1 Leitura de Solução Desconhecida Leitura de valor lido no sensor, cálculo da regressão linear e aplicação da Lei de Beer para cálculo da concentração. 20 20 2 Gráfico de relação das soluções conhecidas Exibição de gráfico com relação de Comprimento de Onda x Absorbância. 40 44 2 Gráfico de relação da reta de absorbância Exibição da reta com relação Concentração x Absorbância nos pontos máximos de absorbância. 40 20 Legenda: 1- Cadastro 2- Relatório 3- Controle
  • 63. 60 Premissas do Projeto O custo do equipamento será inferior ao dos vendidos em loja; O equipamento é reprogramável. Restrições do Projeto Como o Espect e o Arduino se conectam via rede Ethernet, este não funcionará sem a conexão de ambos na rede. Análise de risco do Projeto Riscos Probabilidade de Ocorrer Estratégias de Redução Atraso na entrega de equipamentos eletrônicos. Alta Planejar a construção do projeto com antecedência, de forma que seja viável esperar de trinta a noventa dias úteis para o início das atividades que envolvem os equipamentos eletrônicos. Mal funcionamento de equipamentos eletrônicos e necessidade de troca. Média Ter no mínimo dois de cada equipamento disponíveis no desenvolvimento de um mesmo projeto. Indisponibilidade de ferramentas que auxiliam na construção do sistema. Baixa Pesquisar por ferramentas alternativas. Dificuldade de configuração dos equipamentos eletrônicos. Média Pesquisar na biblioteca Arduino por soluções dependendo do equipamento. Dificuldade de agendamento de laboratórios de Engenharia Química para testes. Média Agendar com antecedência os laboratórios acadêmicos.
  • 64. 61 Descrição dos Atores Ator Descrição TÉCNICO Usuários do sistema que tem acesso à todas as funcionalidades do Espect. Eles têm conhecimento técnico avançado, necessário para os cadastros base do sistema. ALUNO Usuários do sistema que têm acesso ao Cadastro de Soluções, e à visualização de gráficos e Relatório de Soluções. Eles não têm conhecimento técnico necessário para povoar os cadastros base, mas tem permissão de seguir o fluxo principal do Espect, analisando a concentração de substância em solução.
  • 65. 62 Caso de Uso – Espect
  • 66. 63 Requisitos Funcionais - Espect [RF 001] Cadastro de Usuário Pré-condições: 1. O usuário deve estar conectado, com permissão de técnico. Fluxo Principal: 1. O técnico acessa o menu Cadastros, sub menu Usuário 2. O sistema exibe a interface de cadastro de usuário 3. O técnico informa os dados de cadastro: Nome, Tipo, Nome de usuário e Senha 4. O técnico aperta o botão “Cadastrar” 5. O sistema valida os dados: 5.1 Caso o técnico não preencha algum campo, é dada uma mensagem de erro. 5.2 Caso os campos estejam todos preenchidos, salva os dados no banco e emite uma mensagem informativa Fluxo Alternativo – Lista de Usuários 1. O técnico acessa o menu Listas, sub menu Usuário Fluxo Alternativo – Ativação / Desativação de Usuários 1. O técnico acessa o menu Listas, sub menu Usuário 2. O técnico aperta o botão “Desativar” 3. O sistema altera a situação do Usuário no banco de dados para Inativo ou Ativo Fluxo Alternativo – Trocar Senha 1. O técnico acessa o menu Listas, sub menu Usuário 2. O técnico aperta o botão “Alterar Senha” 3. O sistema direciona o técnico para exibição da tela de alteração de senha 4. O técnico digita a nova senha 5. O sistema atualiza a senha do usuário no banco de dados
  • 67. 64 [RF 002] Cadastro de Substancia Pré-condições: 1. O usuário deve estar conectado, com permissão de técnico. Fluxo Principal: 1. O técnico acessa o menu Cadastros, sub menu Substância 2. O sistema exibe a interface de cadastro de substância 3. O técnico informa os dados de cadastro: Nome, Fórmula química, Nível de toxicidade e Descrição de Toxicidade. 4. O técnico aperta o botão “Cadastrar” 5. O sistema valida os dados: a. Caso o técnico não preencha algum campo, é dada uma mensagem de erro. b. Caso os campos estejam todos preenchidos, salva os dados no banco e emite uma mensagem informativa Fluxo Alternativo – Lista de Substâncias 1. O técnico acessa o menu Listas, sub menu Substância Fluxo Alternativo – Excluir Substância 1. O técnico acessa o menu Listas, sub menu Substância 2. O técnico aperta o botão “Excluir” 3. O sistema exclui a substância no banco de dados. Caso alguma substância esteja associada a outras tabelas a exclusão acontece em cascata. Fluxo Alternativo – Alterar Substância 1. O técnico acessa o menu Listas, sub menu Substância 2. O técnico aperta o botão “Alterar” 3. O sistema direciona o técnico para exibição da tela de alteração de substancia 4. O técnico digita os novos dados 5. O sistema atualiza os dados de substancia no banco de dados
  • 68. 65 [RF 003] Cadastro de Solvente Pré-condições: 1. O usuário deve estar conectado, com permissão de técnico. Fluxo Principal: 1. O técnico acessa o menu Cadastros, sub menu Solvente 2. O sistema exibe uma lista de substancias cadastradas 3. O técnico seleciona todas as substâncias que compõe o solvente 4. Para cada substância selecionada, o técnico informa seu Percentual Vol / Vol 5. O técnico aperta o botão “Cadastrar” 6. O sistema valida os dados: a. Caso o técnico não preencha algum campo, é dada uma mensagem de erro. b. Caso os campos estejam todos preenchidos, salva os dados no banco e emite uma mensagem informativa [RF 004] Cadastro de Solução Conhecida Pré-condições: 1. O usuário deve estar conectado, com permissão de acesso, tanto de aluno quanto de técnico. Fluxo Principal: 1. O usuário acessa o menu Cadastros, sub menu Solução Conhecida 2. O sistema exibe uma lista de substâncias cadastradas 3. O usuário seleciona a substância 4. O sistema exibe uma lista de solventes cadastrados 5. O usuário seleciona o solvente 6. O usuário aperta o botão “Cadastrar” 7. O sistema guarda os dados de Cadastro Base no banco de dados
  • 69. 66 [RF 005] Cadastro do Branco Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 004] Fluxo Principal: 1. O sistema exibe interface de Leitura do Branco 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário aperta o botão “Fazer Leitura” 4. O sistema guarda em banco de dados os valores de leitura referentes ao solvente [RF 006] Leitura de Solução 01 Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 005] Fluxo Principal: 1. O sistema exibe interface de leitura de Solução 01 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário informa a concentração desta solução 4. O usuário aperta o botão “Fazer Leitura” 5. O sistema guarda em banco de dados os valores de leitura referentes à Solução 01
  • 70. 67 [RF 007] Leitura de Solução 02 Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 006] Fluxo Principal: 1. O sistema exibe interface de leitura de Solução 02 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário informa a concentração desta solução 4. O usuário aperta o botão “Fazer Leitura” 5. O sistema guarda em banco de dados os valores de leitura referentes à Solução 02 [RF 008] Leitura de Solução 03 Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 007] Fluxo Principal: 1. O sistema exibe interface de leitura de Solução 03 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário informa a concentração desta solução 4. O usuário aperta o botão “Fazer Leitura” 5. O sistema guarda em banco de dados os valores de leitura referentes à Solução 03
  • 71. 68 [RF 009] Leitura de Solução 04 Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 008] Fluxo Principal: 1. O sistema exibe interface de leitura de Solução 04 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário informa a concentração desta solução 4. O usuário aperta o botão “Fazer Leitura” 5. O sistema guarda em banco de dados os valores de leitura referentes à Solução 04 [RF 010] Leitura de Solução 05 Pré-condições: 1. O usuário deve estar conectado e ter permissão de acesso 2. O usuário deve ter realizado o requisito [RF 009] Fluxo Principal: 1. O sistema exibe interface de leitura de Solução 05 2. O usuário se dirige ao espectrofotômetro, e posiciona no espaço reservado para ela a cubeta contendo o solvente 3. O usuário informa a concentração desta solução 4. O usuário aperta o botão “Fazer Leitura” 5. O sistema guarda em banco de dados os valores de leitura referentes à Solução 05
  • 72. 69 Requisitos Não Funcionais – Espect [NF 001] Usabilidade O sistema deve apresentar as telas de forma intuitiva, e didática. Não deve ser exigido do usuário conhecimento técnico avançado para utilização do sistema. Os processos devem ser apresentados de forma sequencial, para que o usuário esteja familiarizado com os ambientes antigos de análise. Prioridade: Essencial. [NF 002] Disponibilidade O sistema deve estar disponível, seguindo a disponibilidade do equipamento eletrônico. Caso manutenções sejam necessárias, estas devem ser feitas em ambiente de desenvolvimento, para que quando finalizadas, sejam aplicadas no ambiente de produção. Desta forma o usuário não é afetado pelas manutenções, e o sistema mantém sua integridade. Prioridade: Essencial. [NF 003] Tempo de retorno após falha O sistema não tem prioridade de utilização. Consequentemente, caso apresente falhas de funcionamento, deve voltar à produção em até dez dias. Prioridade: Desejável. [NF 004] Desempenho O tempo de resposta para os usuários não é uma premissa para este sistema. Os usuários estão conscientes de que o equipamento necessita de movimentos mecânicos, no entanto está preparado para tempos de resposta de até 5 minutos. Prioridade: Importante.
  • 73. 70 [NF 005] Controle de Acesso Os usuários deverão informar dados de acesso previamente cadastrados para que tenham permissão de utilizar o sistema. O controle de acesso é baseado em tipos de usuários, dependendo de seus papeis. O sistema deverá permitir acesso às funcionalidades apenas aos usuários autorizados. Prioridade: Essencial. [NF 006] Linguagens de Implementação O sistema deverá ter implementação em duas linguagens de programação distintas. O controle do Arduino deverá ser programado em linguagem C++. O controle de telas e dados deverá ser programado em linguagem PHP. Prioridade: Importante. [NF 007] Banco de Dados O banco de dados utilizado será o MariaDB. Prioridade: Essencial. [NF 008] Plataforma de Funcionamento O sistema deverá funcionar em plataforma web, podendo ser acessado por qualquer navegador de internet. Prioridade: Essencial.
  • 76. 73
  • 77. 74
  • 78. 75
  • 79. 76 ,
  • 80. 77
  • 81. 78
  • 82. 79
  • 83. 80
  • 84. 81 Diagrama Entidade e Relacionamento
  • 85. 82 Dicionário de Dados ENTIDADE: TCC_SUBSTANCIA NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código da Substância NOT NULL NOME VARCHAR Nome da Substância NOT NULL FORMULAQUIMICA VARCHAR Fórmula Química NOT NULL TOXICIDADE INT Nível de Toxicidade NOT NULL DESCTOXICIDADE TEXT Descrição de Toxicidade NOT NULL ENTIDADE: TCC_NIVEL_TOXICIDADE NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código da Toxicidade NOT NULL DESCRIÇÃO VARCHAR Descrição da Toxicidade NOT NULL ENTIDADE: TCC_SOLVENTE NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código Do Solvente NOT NULL NOME VARCHAR Nome do Solvente NOT NULL ABSORBANCIA INT Código de referência da entidade tcc_absorbancia_solvente NOT NULL ENTIDADE: SUBSTANCIA_SOLVENTE NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO IDSUBSTANCIA INT Código da Substância que compõe a chave primária composta NOT NULL IDSOLVENTE INT Código do Solvente que compõe a chave primária composta NOT NULL CONCENTRACAO INT Porcentagem de Concentração NOT NULL SUBSTANCIA INT Código de referência da entidade tcc_substancia NOT NULL SOLVENTE INT Código de referência da entidade tcc_solvente NOT NULL
  • 86. 83 ENTIDADE: TCC_SOLUCAO_CONHECIDA NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Id da Solução Conhecida NOT NULL SUBSTANCIA INT Código de referência da entidade tcc_substancia NOT NULL SOLVENTE INT Código de referência da entidade tcc_solvente NOT NULL CONCENTRACAO01 FLOAT Valor de Concentração 01 ABSORBANCIA01 INT Código de referência da entidade tcc_absorbancia_solucao CONCENTRACAO02 FLOAT Valor de Concentração 01 ABSORBANCIA02 INT Código de referência da entidade tcc_absorbancia_solucao CONCENTRACAO03 FLOAT Valor de Concentração 01 ABSORBANCIA03 INT Código de referência da entidade tcc_absorbancia_solucao CONCENTRACAO04 FLOAT Valor de Concentração 01 ABSORBANCIA04 INT Código de referência da entidade tcc_absorbancia_solucao CONCENTRACAO05 FLOAT Valor de Concentração 01 ABSORBANCIA05 INT Código de referência da entidade tcc_absorbancia_solucao ENTIDADE: TCC_SOLUCAO_DESCONHECIDA NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código da Solução Desconhecida NOT NULL SOLUCAO_CONHECIDA INT Código de referência da entidade tcc_solucao_conhecida NOT NULL NOME VARCHAR Nome da Solução Desconhecida. NOT NULL ENTIDADE: TCC_SOLUCAODESCONHECIDA_CONCENTRAÇÃO NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código Concentração de Solução Desconhecida NOT NULL SOLUCAO_DESCONHECIDA INT Código de referência da entidade tcc_solucao_desconhecida NOT NULL CONCENTRACAO FLOAT Concentração da Solução Desconhecida ABSORBANCIA FLOAT Absorbância da Solução Desconhecida
  • 87. 84 ENTIDADE: TCC_USUARIO NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código do Usuário NOT NULL NOME VARCHAR Nome do Usuário NOT NULL TIPO INT Tipo do Usuário NOT NULL SENHA VARCHAR Senha do Usuário NOT NULL NOMEUSUARIO VARCHAR Nome para login NOT NULL ESTADO INT Estado do usuário (ativo ou inativo) NOT NULL ENTIDADE: TCC_TIPO_USUARIO NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código Do Tipo de Usuário NOT NULL DESCRIÇÃO VARCHAR Descrição do Tipo de Usuário. NOT NULL ENTIDADE: TCC_ABSORBANCIA_SOLUCAO_CONHECIDA NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código para referência da solução conhecida NOT NULL ENTIDADE: TCC_ABSORBANCIA_BRANCO NOME DO ATRIBUTO TIPO DESCRIÇÃO REGRA VALIDAÇÃO ID INT Código para referência do branco da solução conhecida NOT NULL