18
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 Lucena 1 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].

IMPLEMENTAÇÃO DE UMA APLICAÇÃO WEB PARA O GERENCIAMENTO DE

  • Upload
    others

  • View
    1

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