Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
http://dx.doi.org/10.35265/2236-6717-213-9378
FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O
GERENCIAMENTO DE PRODUTOS QUÍMICOS NOS
LABORATÓRIOS DE UMA UNIVERSIDADE [ver artigo online]
Rodrigo Ferreira de Lucena1
RESUMO
Um gerenciamento de produtos químicos adequado consiste em identificá-los, classificá-los, registrá-
los e monitorá-los por meio de um inventário padronizado, de forma que as informações sejam
facilmente acessadas e integradas pelos profissionais responsáveis pelos produtos químicos de seu
ambiente de trabalho. Dessa forma, este trabalho teve por objetivo desenvolver uma aplicação web com
banco de dados centralizado, denominada InventárioRQ, para o gerenciamento de produtos químicos,
em que o usuário pode consultar, inserir, editar e excluir registros de produtos químicos em qualquer
lugar que tenha um computador com acesso à internet. Para isso, foram utilizadas as linguagens de
programação HTML, CSS, JavaScript, PHP e SQL e o desenvolvimento da aplicação foi orientado pelo
método ágil Scrum. A aplicação InventárioRQ demonstrou ter um ótimo potencial para a gestão de
produtos químicos em empresas, escolas e hospitais, pois seu desenvolvimento foi focado
exclusivamente na gestão de produtos químicos, o que faz com que ela tenha uma interface gráfica mais
amigável (limpa) e compreenda todas as necessidades de registro de produtos químicos de uma
instituição. Além disso, ela se adequa perfeitamente a locais onde o armazenamento dos produtos
químicos é decentralizado, já que permite que os registros inseridos em diferentes bases de dados sejam
relacionados e armazenados em um banco de dados centralizado com acesso controlado.
Palavras-chave: Gerenciamento de produtos químicos. Aplicação web. Inventário de produtos
químicos.
1 Graduado em Física pela Universidade de São Paulo - USP, São Paulo; Estudante de Engenharia da Computação pela Universidade Virtual do
Estado de São Paulo - UNIVESP, São Paulo, [email protected].
http://dx.doi.org/10.35265/2236-6717-213-9378
FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021.
IMPLEMENTATION OF A WEB APPLICATION FOR CHEMICAL
MANAGEMENT IN THE LABORATORIES OF A UNIVERSITY
ABSTRACT
Proper chemical management consists of identifying, classifying, recording and monitoring them
through a standardized inventory, so that the information is easily accessed and integrated by the
professionals responsible for the chemical products in your workplace. Thus, this work aimed to develop
a web application with a centralized database, called InventoryRQ, for the chemical management, in
which the user can consult, insert, edit and delete records of chemical anywhere that has a computer
with Internet access. For this, the programming languages HTML, CSS, JavaScript, PHP and MySQL
were used and the application development was guided by the Scrum agile method. The InventárioRQ
application has shown to have great potential for the chemical management in companies, schools and
hospitals, because its development was exclusively focused on the chemical management, which makes
it have a more user-friendly graphical interface (clean) and encompassing all needs of an institution's
chemical registration. Furthermore, it is perfectly suited to location where the storage of chemicals is
decentralized, because it allows records entered in different databases to be linked and stored in a
centralized database with controlled access.
Keywords: Chemical management. Application web. Chemical inventary.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 3
1. INTRODUÇÃO
O domínio do conhecimento das propriedades de um reagente químico, de suas características e
de seus perigos intrínsecos tornam a sua manipulação segura, assim como traz segurança a todos aqueles
que se encontram no ambiente ao seu redor (HIRATA; FILHO; HIRATA, 2017). O uso de equipamentos
de proteção individual e coletivo pelos trabalhadores (ROSSETE, 2017), a identificação adequada dos
reagentes e de seus perigos e um bom gerenciamento dos reagentes químicos e de seus resíduos
(HIRATA; FILHO; HIRATA, 2017) é fundamental para que essa segurança seja alcançada. Um bom
gerenciamento de produtos químicos implica em identificar todos os reagentes no ambiente de trabalho,
classificá-los para guardá-los em grupos separados para evitar ou reduzir riscos de reações químicas e
gerar/manter um inventário de produtos químicos para monitorar suas quantidades, registrar suas
localizações e datas de compra, vinculá-los aos seus responsáveis e realizar o controle da compra
daqueles que são controlados por entidades como a Polícia Civil, Federal e Exército (SCHNEIDER;
GAMBA; ALBERTINI, 2011), em que o responsável químico do local de trabalho deve informar a
quantidade desses reagentes a essas entidades e fazer requisições de aumento de quantidades, quando
necessário.
Locais de trabalho que possuem grandes extensões espaciais ou que se dividem em diferentes
localizações geográficas tendem a armazenar seus produtos de forma descentralizada e podem
apresentar dificuldades na padronização de seus inventários químicos e inexistência de vínculos entre
os documentos. Muitas vezes são utilizadas planilhas offline (EMPRESA BRASILEIRA DE
SERVIÇOS HOSPITALARES, 2017; FILHO, 2020; SP ALPARGATAS, 2006; SERVIÇO DE
SEGURANÇA E HIGIENTE DO TRABALHO, 2020), que periodicamente são centralizadas pelo
responsável químico e que enfrenta dificuldades em compilar todos os arquivos pela falta de
padronização entre os documentos. Este cenário é encontrado na Escola de Artes, Ciências e
Humanidades (EACH) – Universidade de São Paulo, em que vários laboratórios (EACH, 2021)
armazenam produtos químicos para finalidade didática ou de pesquisa e os técnicos de laboratório de
cada local são responsáveis pela geração e manutenção do inventário de reagentes químicos de seu
laboratório. Como não é adotado um protocolo para a padronização desses inventários químicos, o
responsável pela gestão dos reagentes químicos da escola gasta um tempo considerável de seu trabalho
na compilação desses documentos. Além disso, como esses inventários não se encontram na rede e não
estão interligados, cada técnico de laboratório, assim como os usuários de seu laboratório, não tem
acesso às informações dos produtos químicos de outro laboratório, o que restringe a troca de informações
e dificulta a realização de empréstimos e doações de produtos químicos entre laboratórios. Uma solução
para esses problemas é o uso de um único tipo de software específico para fazer a gestão dos produtos
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 4
químicos em cada laboratório, garantindo uma padronização na organização do banco de dados, e o
emprego de um sistema distribuído cliente-servidor com arquitetura centralizada (TANENBAUM;
STEEN, 2008), cujo banco de dados se concentra em um servidor remoto permitindo que as cópias do
software distribuídas em diferentes laboratórios se comuniquem com o mesmo banco de dados e possa
trocar informações entre si, o que pode ser alcançado com uma aplicação web.
1.1 APLICAÇÃO WEB
Um sistema distribuído de modelo cliente-servidor com arquitetura centralizada costuma ser
dividido em um modelo de camadas com três níveis distintos: de interface de usuário, de processamento
(gerenciamento e processamento das requisições realizadas pelo usuário) e de dados (banco de dados
acessado pelo usuário). Esses níveis são implementados dividindo-se entre a máquina do cliente e do
servidor, conforme mostra a Figura 1 (TANENBAUM; STEEN, 2008).
Figura 1 – Alternativas de organização cliente-servidor (a) – (e) (TANENBAUM; STEEN, 2008),
onde em uma aplicação web o nível de Aplicação costuma se dividir entre a máquina do cliente e do
servidor (c).
Em uma aplicação web, o nível de interface gráfica se localiza na máquina do cliente por meio
do navegador web, o nível de dados se localiza no servidor remoto e o nível de processamento pode se
encontrar na máquina do cliente e no servidor remoto (Figura 1c).
Uma aplicação web que contempla as três camadas de um sistema distribuído cliente-servidor
necessita de um conjunto de linguagens de programação para o desenvolvimento de suas camadas. Para
a interface gráfica pode ser utilizada a linguagem de marcação HTML, a principal linguagem utilizada
na web e que define como o conteúdo deve ser apresentado ao usuário. A linguagem HTML pode ser
usada em parceria com a linguagem de estilo CSS, responsável pela formatação do conteúdo (layout,
cores e fontes), e com a linguagem JavaScript, responsável por adicionar mais interatividade e controle
às páginas HTML (FLATSCHART, 2011). Essa estrutura de linguagens pode ser apoiada ainda pelo uso
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 5
de frameworks, como Bootstrap, Cordova, Pure, dentre outros, que fornecem estruturas já prontas para
a construção de sites dinâmicos (SOMMERVILLE, 2011).
A camada de aplicação pode ser contemplada pela linguagem PHP, que permite maior
dinamicidade à interface gráfica, armazenamento de informações em banco de dados, processamento
das informações trocadas entre usuário e site e manipulação de arquivos (SILVA, 2014). Por último, há
a necessidade de uma linguagem de programação dedicada a manipular bancos de dados (Sistema de
Gerenciamento de Banco de Dados), que pode ser contemplada pela linguagem SQL (base de sistemas
como MySQL e MariaDB, por exemplo), se comportando como uma linguagem para definição (Data
Definition Language), manipulação (Data Manipulation Language), controle (Data Control Language),
transação (Data Transaction Language) e consulta de dados (Data Query Language) (CARDOSO;
CARDOSO, 2013).
Para ser funcional, a aplicação web precisa essencialmente garantir ao usuário disponibilidade a
todo momento, desempenho rápido, possibilidade de acesso simultâneo ao banco de dados, segurança
de dados, bem como outros (PRESSMAN, 2011). Essa aplicação web mais sofisticada recebe o nome
de aplicação web rica (KALBACH, 2009), em que apesar de ser executada em um navegador web,
apresenta todos ou quase todos os elementos de um software convencional.
Dessa forma, o objetivo desse trabalho é desenvolver uma aplicação web com banco de dados
centralizado para o gerenciamento de produtos químicos atendendo diversos requisitos funcionais e não
funcionais encontrados em um software convencional, porém com facilidade de acesso, já que o usuário
não depende da instalação de um software em sua máquina e pode acessar/manipular o inventário
químico em qualquer lugar.
2. METODOLOGIA
Este trabalho foi orientado a partir de conceitos do método Design Thinking. De acordo com essa
metodologia, um projeto de desenvolvimento de software pode ser realizado respeitando algumas etapas
que levarão ao seu êxito, como identificação de uma necessidade do consumidor ou de um problema
estabelecido, projeção para o atendimento dessa necessidade ou solução para esse problema,
desenvolvimento de soluções abordadas e testadas por meio de prototipação e implementação da melhor
solução desenvolvida e testada (CAVALCANTI; FILATRO, 2017).
A identificação do problema de gestão de produtos químicos nos laboratórios de Pesquisa e
Didáticos da Escola de Artes, Ciências e Humanidades (Universidade de São Paulo) ocorreu pelo contato,
há mais de uma década, do autor desse projeto com esses laboratórios e seus técnicos responsáveis.
Nesse período, percebeu-se a necessidade do desenvolvimento de um sistema de gestão de produtos
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 6
químicos prático, seguro e integrado, tornando o trabalho dos técnicos de laboratório e responsável
químico mais eficaz e eficiente. A partir de entrevistas com esses usuários em potencial e de estudos
bibliográficos na área de desenvolvimento de software, foi possível elaborar um escopo do software a
ser desenvolvido com a compreensão do contexto de seu uso, objetivos, função e performance
(PRESSMAN, 2011). Dessa forma, para atender todas as necessidades encontradas, optou-se pelo
desenvolvimento de uma aplicação web com o banco de dados localizado em um servidor remoto, em
que fosse possível armazenar os registros de todos os reagentes químicos de todos os laboratórios em
um só banco de dados, permitindo a troca de informações entre laboratórios. Esse inventário químico
deveria ser de fácil acesso para que o usuário pudesse acessá-lo em qualquer lugar da Universidade, por
isso optou-se pelo seu acesso ser realizado pelo navegador web, comum a qualquer computador pessoal.
Essas especificações foram atendidas através da implementação de diferentes linguagens de
programação nas diferentes camadas da aplicação (Figura 2). O banco de dados foi desenvolvido a partir
de um modelo relacional baseado na linguagem SQL, com o uso do sistema MariaDB (MARIADB,
2019), o nível de processamento foi desenvolvido em PHP (PHP GROUP, 2021) com um pouco de
JavaScript (ORACLE, 2018) e o nível de interface foi desenvolvido em HTML (W3C, 2021a) e
CSS(W3C, 2021b), com o auxílio do framework Bootstrap (BOOTSTRAP, 2021). No desenvolvimento
do nível de processamento também foi utilizado um framework, o Slim Framework (SLIM
FRAMEWORK, 2021), para o controle de sistema de rotas das páginas HTML e bibliotecas especiais
para o envio de e-mails (PHPMailer) e para implementar um mecanismo de templates (RainTPL). Toda
essa implementação foi centralizada na ferramenta Composer (PRIVATE PACKAGIST, 2021), que
auxiliou na organização do projeto como um todo. O controle de versionamento da aplicação web foi
realizado via Git (SOFTWARE FREEDOM CONSERVANCY, 2020) e todo o projeto foi armazenado
na plataforma GitHub, que pode ser acessado por qualquer um no endereço https://github.com/rodrigo-
lucena/inventariorq.
Figura 2 – Relação entre as três camadas da aplicação web com as linguagens de programação
(em branco) e frameworks (em preto) empregados nelas.
Banco de dados
MariaDB
Processamento
PHP
Slim
Javascript
Interface gráfica
HTML
Bootstrap
CSS
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 7
O desenvolvimento da aplicação web, denominada InventárioRQ, foi orientada pelo método ágil
Scrum (Figura 3), que auxilia no desenvolvimento de software por meio de incrementos. Ele é iniciado
com um planejamento global do projeto através de um escopo, como descrito acima, depois passa por
uma fase de ciclos de desenvolvimento incremental do software (ciclo Sprint) e finaliza com o
encerramento do projeto. A fase mais característica do Scrum é a dos ciclos de desenvolvimento
incremental do software, onde a equipe se reúne entre si e com o cliente no início do ciclo para selecionar
os requisitos do software a serem desenvolvidos especificamente nesse ciclo (sprint), posteriormente
implementa esses requisitos e os revisam e por fim entrega o incremento ao cliente, onde o ciclo se
reinicia (SOMMERVILLE, 2011). Devido à indisponibilidade dos stakeholders para a avaliação dos
incrementos a cada sprint, esse ciclo foi alterado com as avaliações sendo realizadas pelo próprio
desenvolvedor, onde a validação pelos stakeholders está ocorrendo no momento atual após a versão 1.0
da aplicação ter sido finalizada.
Figura 3 – Etapas do processo Scrum (SOMMERVILLE, 2011).
Ao final de cada sprint foram realizados revisões e testes da aplicação web. A técnica de
inspeção foi adotada como uma revisão de tipo formal, onde uma análise estática (leitura) foi realizada
para a identificação de anomalias e possibilidades de melhorias no código para posteriormente serem
corrigidas e implementadas. Para os testes, foram adotadas as técnicas funcional (“caixa-preta”) e
estrutural (“caixa-branca”) (PRESSMAN, 2011), em que no funcional foram utilizados os métodos de
particionamento de equivalência e de valor limite para a entrada de dados e no estrutural foram testados
os diferentes caminhos das estruturas internas do código.
Todo o código da aplicação InventárioRQ foi implementado no Ambiente de Desenvolvimento
Sublime test (SUBLIME HQ, 2019), enquanto que o banco de dados foi desenvolvido com a ferramenta
MySQL Workbench (ORACLE, 2019). Para executar a aplicação em conjunto com o banco de dados
durante o seu desenvolvimento, foi simulado um ambiente de servidor com o pacote de programas
XAMPP (BITROCK, 2019).
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 8
3. RESULTADOS
3.1 REQUISITOS DE SOFTWARE
Na fase inicial de desenvolvimento foram definidos os escopos com os requisitos funcionais e não
funcionais de maior importância vinculados às telas da interface gráfica da aplicação web. Na medida
que os sprints do método Scrum foram realizados, outras funcionalidades foram sendo empregadas, em
que o escopo final com as telas da interface gráfica com os requisitos de software pode ser observado
na Figura 4.
Figura 4 – Hierarquia das telas da interface gráfica com os requisitos de software principais da
aplicação web InventárioRQ. As telas de nome sublinhado são de acesso exclusivo ao nível de usuário
administrador, como o responsável técnico de cada laboratório. Já os usuários comuns, como
estudantes e professores, possuem acesso restrito ao inventário.
O escopo da aplicação web (Figura 4) conta com uma tela inicial de Login para restringir o
acesso exclusivamente para usuários autorizados. Nela, o usuário pode solicitar o seu primeiro acesso e
ser direcionado para a tela de Cadastro, em que ao preencher seus dados e enviá-los, poderá visualizar
uma mensagem de êxito de recebimento dos seus dados pela plataforma, em que caso o seu cadastro for
aprovado, no futuro passará a ter acesso ao inventário de seu laboratório de interesse. Caso o usuário já
possua acesso à plataforma e tenha esquecido sua senha, pode realizar o resgate dela sendo direcionado
para a tela de Senha Esquecida, onde ao preencher alguns de seus dados, uma mensagem personalizada
é enviada ao seu email com o link da tela de troca de senhas, onde o usuário preenche uma nova senha
Login
Cadastro
- Mensagem de êxito
Senhaesquecida
- Confirmação de solicitação
- Email ao usuário
- Troca de senhas
- Mensagem de êxito
Ambienteprincipal
- Consulta
- Incluir/Editar reagentes
- Incluir/Editar usuários
- Documentos
- Backup
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 9
e é encaminhado para uma tela de mensagem de êxito, caso tudo tenha ocorrida de maneira satisfatória.
Por último, se o usuário inserir seus dados de acesso na tela de Login, será direcionado para a tela de
Ambiente principal do inventário, onde terá acesso aos recursos do inventárioRQ.
No Ambiente principal, o usuário tem acesso a diversos recursos a partir de um menu de opções
em que cada um se configura como uma subtela da tela principal. O acesso a esses recursos depende do
nível de acesso que cada usuário possui, dividindo-se entre usuário administrador e usuário comum. O
nível de usuário administrador é representado pelos responsáveis técnicos dos laboratórios e oferece
acesso completo aos recursos do inventário, como: a realização de consultas de reagentes químicos em
todos os laboratórios; inserção, edição e exclusão de reagentes químicos e usuários de seu laboratório;
tutorial do inventário, etiquetas para gestão de resíduos químicos e documentos vinculados a legislação
de gestão de produtos químicos para a realização de download e; backup do banco de dados onde o
arquivo guardado pode ser usado para o resgate de toda a lista de reagentes registrada no inventário.
3.2 IMPLEMENTAÇÃO DO BANCO DE DADOS
O banco de dados do InventárioRQ foi desenvolvido a partir de um Diagrama Entidade
Relacionamento (ER) criado no Workbench (Figura 5). Nesse diagrama, foram criadas diversas relações
e todos os vínculos existentes entre si foram dados com cardinalidade 1:n. Todas as relações possuem
chaves primárias e são vinculadas por chaves estrangeiras, quando necessário. As relações laboratório_r,
responsável_r, marca_r e controle_r apresentam respectivamente, as listas de laboratórios (laboratorio),
responsáveis pelos reagentes químicos (responsavel), marcas dos reagentes (marca) e tipos de controle
dos reagentes (controle).
A relação recup_senha é responsável por armazenar os registros de tentativas de recuperação de senha,
armazenando as informações do usuário (idusuario – relacionamento com a relação usuario), seu ip (ip)
e a data e horário da solicitação de tentativa da recuperação (registro) e da realização da mudança da
senha (usado). A relação usuario traz informações de cada usuário cadastrado no inventárioRQ, como
nome (nome), sobrenome (sobrenome), email (email), nome de usuário (login), senha (senha),
laboratório em que está alocado (idlaboratorio – relacionamento com a relação laboratorio_r), superior
responsável (idresponsavel – relacionamento com a relação responsavel_r), nível de acesso (tipo) e
situação do cadastro (situacao). Por último, a relação reagente faz o registro de todos os reagentes
químicos dos laboratórios com seus atributos de nome (nome), fórmula química (formula), marca
(idmarca – relacionamento com a relação marca_r), volume ou massa (volume_massa), quantidade de
frascos (quantidade), data de validade (validade), tipo de controle (idcontrole – relacionamento com a
relação controle_r), data de compra (compra), laboratório em que está alocado (idlaboratorio –
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 10
relacionamento com a relação laboratorio_r), local de armazenamento no laboratório (Localização) e
responsável pela sua aquisição (idresponsavel – relacionamento com a relação responsavel_r).
Figura 5 – Diagrama Entidade Relacionamento (ER) desenvolvido no software Workbench
fornecendo todas as relações que constituem o banco de dados do InventárioRQ e seus
relacionamentos, dados todos por cardinalidade 1:n.
Todos os comandos realizados no banco de dados foram implementados no código desenvolvido
em PHP. No entanto, para que o número de acesso a ele fosse reduzido para aumentar a performance
da aplicação web, foram implementadas rotinas mais complexas direto no banco de dados através do
recurso Stored Procedures. Dessa forma, ao invés do banco de dados ser acessado a cada instrução de
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 11
código PHP, que representa apenas uma parcela de uma rotina completa, um único comando é enviado
para o banco de dados e nele é rodada a rotina completa, tornando o procedimento mais rápido.
3.3 IMPLEMENTAÇÃO DA INTERFACE GRÁFICA
Toda a interface da aplicação InventárioRQ foi desenvolvida em HTML, CSS e com o auxílio
do framework Bootstrap, em que as telas foram gerenciadas e vinculadas ao banco de dados
essencialmente pela linguagem PHP. Ao acessar a página do inventário, o usuário é direcionado para a
tela de login (Figura 6), que ao inserir seus dados de usuário e de senha adequadamente é direcionado
para o ambiente principal do inventário. Esses dados inseridos são confrontados no banco de dados que
armazena diretamente o nome de usuário do usuário e indiretamente a sua senha no valor de hash para
garantir confidencialidade à sua senha e segurança de acesso ao inventário. Para a realização do valor
hash foi usado o algoritmo bcrypt (BROWN; STALLINGS, 2014), de forma que durante o cadastro, o
usuário insere uma senha, essa senha é convertida em hash por esse algoritmo e toda vez que o usuário
solicita o acesso ao inventário inserindo seus dados de usuário e de senha, a senha é convertida em um
valor de hash e comparado com o que está no banco de dados, se ambos forem iguais, o acesso é liberado.
Caso o usuário tenha esquecido sua senha, pode solicitar sua alteração pelo link Esqueceu a senha?,
fornecendo o seu email para a recuperação de sua senha. A partir desse momento, a aplicação consulta
no banco de dados se esse email é válido e um email é enviado para o usuário com um link de alteração
de senha. Ao acessar esse link, o usuário tem até uma hora para fazer a recuperação da senha, caso
contrário, sua solicitação expira. Todo esse controle é realizado pela relação recup_senha e a informação
de identificação do usuário é criptografada pela cifra simétrica AES (Advanced Encryption Standard)
de 128 bits (BROWN; STALLINGS, 2014) e enviada ao usuário em forma de link para que a partir dele
o usuário possa retornar à aplicação web e dar continuidade à recuperação de senha. Essa criptografia é
realizada para dificultar o acesso à informação no caso do email ser interceptado por terceiros.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 12
Figura 6 – Tela de acesso à aplicação web InventárioRQ.
Caso o usuário não possua cadastro, ele pode solicitá-lo como novo usuário e preencher seus
dados (Figura 7), que serão registrados no banco de dados, em que a senha escolhida será convertida em
um valor de hash e armazenada dessa maneira, como mencionado acima. O registro do cadastro não
garante acesso ao usuário, que deve ainda ser aceito pelo usuário administrador do laboratório em que
esse usuário solicitou o acesso. Dessa forma, seu cadastro ainda não está válido.
Figura 7 – Tela de cadastro de novo usuário.
Após ter seu cadastro aceito, o usuário passa a ter acesso ao ambiente principal do InventárioRQ
(Figura 8). A interface gráfica da aplicação varia de acordo com a prioridade de acesso que o usuário
adquiriu durante a aprovação de seu cadastro. O usuário administrador é aquele que administra o estoque
de reagentes químicos de seu laboratório e, portanto, tem acesso a todos os recursos da aplicação (Figura
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 13
8a a 8f). Já o usuário comum, cujo interesse é apenas realizar consultas na plataforma, tem acesso apenas
aos recursos de consulta (Figura 8a) e de documentação (Figura 8f). Um controle de verificação do
usuário durante sua navegação por diferentes recursos foi implementado via sessão, de forma que toda
vez que o usuário acessa uma página diferente no inventário, é feita uma verificação em seu acesso,
constatando se ele ainda é válido ou se expirou. O usuário pode observar se está logado em sua conta
observando o botão superior direito (Figura 8g) que mostra o seu email. Para deslogar, basta acessar
esse botão e clicar na opção Sair. A partir de então, o inventário é bloqueado e o usuário é direcionado
para a tela de login.
Figura 8 – Ambiente principal da aplicação InventárioRQ com a tela de consulta em seu centro, onde
na base lateral vertical é possível visualizar os botões dos recursos de Consulta (a), Incluir Reagente
(b), Usuários (c), Solicitações de usuários (d), Documentos (e) e Backup (f) da aplicação. Para
deslogar, basta o usuário clicar no botão com seu email (g) e solicitar a sua saída.
Na Figura 8 é possível observar ainda a tela de consulta do inventário. Nela, o usuário pode
realizar consultas de reagentes químicos pelo seu nome ou pelo seu responsável com diferentes filtros,
como pela base de dados (seu laboratório ou a totalidade dos laboratórios), pela validade do reagente e
pelo controle ou não de entidades como Polícia Civil, Polícia Federal e Exército. Aqui o usuário
administrador pode também fazer a busca de um ou mais reagentes para excluir ou editar o seu registro.
Toda consulta realizada pode ainda ser exportada em um arquivo de extensão CSV.
Ao clicar no botão Incluir Reagentes, a interface de entrada de reagentes químicos é aberta
(Figura 9) e o usuário pode dar a entrada nos registros dos reagentes químicos de forma individual
(Figura 9a) ou coletiva (Figura 9b). Na entrada individual, o usuário preenche individualmente os dados
de cada reagente químico e os salva, liberando a entrada para inserir o próximo reagente. Caso o usuário
tenha a necessidade de inserir um grande número de registros, ele pode optar por importar um arquivo
de extensão CSV com a lista de registros de reagentes para que a entrada seja feita de uma vez só. Aqui
também é possível a exclusão total dos reagentes químicos do laboratório do usuário administrador para
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 14
o caso em que ele deseje recomeçar um novo banco de dados de seu laboratório (um usuário
administrador só pode realizar inclusões, edições e exclusões de reagentes de seu laboratório).
Figura 9 – Interface do recurso Incluir Reagente, onde o usuário administrador pode inserir reagentes
individualmente (a) ou coletivamente (b).
O usuário administrador é responsável por gerenciar os demais usuários do laboratório que
possuem acesso ao inventárioRQ e aqueles que possuem cadastro, mas que ainda não foi validado
(Figura 10). Para isso, o usuário administrador pode acessar o recurso Usuários (Figura 10a), onde é
possível editar o cadastro dos usuários ou excluí-los, ou acessar o recurso Solicitações (Figura 10b),
onde é possível validar ou recusar o cadastro de um novo usuário.
Figura 10 – Interfaces referentes aos recursos Usuários (a) e Solicitações (b) para o usuário
administrador realizar a gestão dos usuários que possuem acesso ao inventário e aqueles que
solicitaram o acesso via cadastro.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 15
Alguns documentos são disponibilizados para os usuários do InventárioRQ (Figura 11). Ao
acessar o recurso Documentos, o usuário pode baixar arquivos que contém etiquetas para rotular frascos
de resíduos químicos, informações sobre classificações de reagentes químicos segundo a NBR 10004 e
NBR 12235, listas de reagentes químicos controlados pela Polícia Civil e Federal da escola e um tutorial
para o uso de todos os recursos do InventárioRQ.
Figura 11 – Interface com diversos documentos de consulta para os usuários da aplicação
InventárioRQ.
Por último, o usuário administrador pode manter a segurança do banco de dados de seu
laboratório, criando um backup dos registros de todos os reagentes químicos. Ao clicar no botão Backup,
o usuário baixa uma lista atualizada de todos os reagentes químicos em um formato CSV e pode guardá-
lo para utilizá-lo futuramente em um caso de emergência. A organização desses dados no arquivo é
compatível com a entrada de reagentes químicos via importação de dados (Figura 9b), ou seja, o arquivo
criado aqui pode ser utilizado na interface de entrada de reagentes.
3.4 REALIZAÇÃO DE INSPEÇÃO E TESTES
A técnica de revisão de inspeção foi adotada não só ao final de cada sprint de desenvolvimento, mas
também após a criação de cada estrutura de classe. Ao final, a inspeção foi realizada para todo o recurso
implementado, considerando a interação de todas as classes. A inspeção foi muito importante para
detectar erros de digitação, otimizar estruturas de controle e uso de heranças, corrigir classes
implementadas de maneira incompleta e erros de interação entre classes.
Já os testes foram executados manualmente a partir da entrada de dados para a implementação das
técnicas funcional (“caixa-preta”) e estrutural (“caixa-branca”). Inicialmente, foram escolhidos
conjuntos de dados para desenvolver a técnica estrutural, de forma que fosse possível percorrer cada
caminho da estrutura interna do código e verificar a presença de erros e inconsistências. Aqui foram
realizadas poucas correções, já que a inspeção já havia detectado a maior parte dos problemas. Com a
implementação da técnica funcional, foram selecionados conjuntos de dados para atender os métodos
de particionamento de equivalência e de valor limite. Com isso, foi possível testar o retorno dos dados
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 16
e de exceções provocadas pela inserção errônea de dados pelo usuário. O tratamento das exceções
provocadas por inserções de tipos ou caracteres errados digitados pelo usuário foi implementado via
JavaScript e foi avaliado inserindo conjuntos de tipos e valores válidos e inválidos, em que algumas
entradas se concentravam no limite entre esses valores. O mesmo foi realizado para a entrada de dados
de acesso ao banco de dados, em que o tratamento de exceções foi realizado via PHP. Por diversas vezes,
foram encontrados e corrigidos problemas principalmente no domínio de valores limites e inválidos.
Isso é compreensível, pois o desenvolvimento inicial do software é realizado imaginando-se um domínio
de valores válidos para que ele funcione da forma desejada e posteriormente pensa-se em que situações
o software não se comportará bem. Por isso, as técnicas de revisão e de teste possuem uma importância
vital para o comportamento do software em diversas situações a princípio não planejadas.
4. CONSIDERAÇÕES FINAIS
A aplicação web InventárioRQ demonstrou ter um ótimo potencial para a gestão de produtos
químicos em empresas, escolas e hospitais. Diferente de outras aplicações, que buscam um alcance mais
amplo fazendo um controle de estoque de materiais em geral, o InventárioRQ foi todo desenvolvido
especificamente para a gestão de produtos químicos, o que faz com que ele tenha uma interface gráfica
mais amigável (limpa) e compreenda todas as necessidades de registro de produtos químicos de uma
instituição. No momento, ele se encontra em fase de validação, em que alguns usuários administradores
estão migrando os bancos de dados de seus laboratórios para ele e testando todos os seus recursos. Após
essa fase de validação, novos recursos sugeridos pelos usuários serão implementados e os erros
encontrados corrigidos. Ao final dessa fase, a aplicação será disponibilizada oficialmente para todos os
stakeholders e a gestão de produtos químicos da escola poderá ser centralizada no inventárioRQ, em
que todos os usuários terão acesso, à distância, a um inventário químico padronizado e integrado
facilitando a inserção e consulta de dados e permitindo um gerenciamento centralizado por parte do
responsável químico da instituição.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 17
REFERÊNCIAS
BITROCK. XAMPP. Versão 3.2.4, 2019.
BOOTSTRAP. Bootstrap framework. Versão 5.0.2, 2021.
BROWN, L.; STALLINGS, W. Segurança de computadores: princípios e práticas. 2. ed. Rio de
Janeiro: Elsevier, 2014.
CARDOSO, V.; CARDOSO, G. Linguagem SQL: fundamentos e práticas. 1 ed. São Paulo: Saraiva,
2013.
CAVALCANTI, C. C.; FILATRO, A. C. Design thinking: na educação presencial, a distância e
corporativa. 1. ed. São Paulo: Saraiva, 2017.
EACH. Escola de artes, ciências e humanidades. Setores administrativos – laboratórios. São Paulo,
2021. Disponível em: http://www5.each.usp.br/setores-administrativos-contatos/. Acesso em: 08 jul.
2021.
EMPRESA BRASILEIRA DE SERVIÇOS HOSPITALARES. Procedimento operacional padrão:
gestão de produtos químicos. Brasil: Hospitais Universitários Federais, 2017. Disponível em: https://
www.gov.br/ebserh/pt-br/hospitais-universitarios/regiao-nordeste/hu-ufma/governanca/gerencia-
administrativa/gestao-de-pessoas/POPSOST0072017_GestodeProdutosQumicosrev.01.pdf. Acesso em:
11 jul. 2021.
FILHO, H. D. Implantação de um sistema de gestão de reagentes e resíduos químicos em laboratórios
universitários. Latin American Journal of Business Management, São Paulo, v. 11, n.1, p. 124-131,
2020.
FLATSCHART, F. HTML5: embarque imediato. Rio de Janeiro: Brasport, 2011.
HIRATA, M.; FILHO, J. M.; HIRATA, R. D. C. Manual de biossegurança. 3 ed. São Paulo: Manole,
2017.
KALBACH, J. Design de navegação web. 1 ed. Rio Grande do Sul: Bookman, 2009.
MARIADB. MariaDB. Versão 10.4.6, 2019.
ORACLE. JavaScript. Versão ES6, 2018.
ORACLE. MySQL workbench. Versão 8.0, 2019.
PHP GROUP. PHP. Versão 7.4.6, 2021.
PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7 ed. Rio Grande do Sul:
Bookman, 2011.
PRIVATE PACKAGIST. Composer. Versão 2.1.5, 2021.
ROSSETE, C. A. Biossegurança. 1 ed. São Paulo: Pearson, 2017.
SCHNEIDER, R. P.; GAMBA, R.C.; ALBERTINI, L.B. Manuseio de produtos químicos: manuseio
seguro de produtos químicos perigosos. ICBII USP, São Paulo, 2011. Disponível em: https://
ww3.icb.usp.br/wp-content/uploads/2019/11/Manuseio_Seguro_Prod_Quim_Perigosos.pdf. Acesso em:
10 jul. 2021.
SERVIÇO DE SEGURANÇA E HIGIENTE DO TRABALHO. Inventário de produtos químicos.
Minas Gerais: Universidade Federal de Viçosa, 2020. Disponível em: https://
www.segurancadotrabalho.ufv.br/inventario-de-produtos-quimicos. Acesso em: 11 jul. 2021.
IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE
PRODUTOS QUÍMICOS NOS LABORATÓRIOS DE UMA UNIVERSIDADE)
REVISTA CIENTÍFICA SEMANA ACADÊMICA. FORTALEZA-CE. EDIÇÃO 213. V.9. ANO 2021. 18
SILVA, J. M. C. PHP na prática. 1 ed. São Paulo: Elsevier, 2014.
SLIM FRAMEWORK. Slim framework. Versão 4.8.0, 2021.
SOFTWARE FREEDOM CONSERVANCY. Git. Versão 2.26.2, 2020.
SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Editora Pearson, 2011.
SP ALPARGATAS. Modelo proposto para a elaboração do programa de gerenciamento de
produtos químicos. São Paulo, 2006. Disponível em: https://ri.alpargatas.com.br/
Download.aspx?Arquivo=5qVn4RdCmax30U8+MvJE1g==. Acesso em: 11 jul. 2021.
SUBLIME HQ. Sublime text. Versão 3.2.2, 2019.
TANENBAUM, A. S.; STEEN, M. V. Sistemas distribuídos: princípios e paradigmas. 2 ed. São Paulo:
Pearson, 2008.
W3C. HTML. Versão 5, 2021a.
W3C. CSS. Versão 3, 2021b.