Artigo+ +Eduardo+Karoly
Artigo+ +Eduardo+Karoly
Artigo+ +Eduardo+Karoly
*eduardokaroly@gmail.com
Abstract: This article describes the development of a support system for database
management systems. Speeding up simple processes of record keeping, database
structure maintenance, and data importation and exportation. The choice of system
is due to the lack of agility found in managing multiple databases. The aim is to
inform the measures that have been taken to develop the desktop system, from its
conception to implementation, how open source availability was possible, as well as
the results obtained. The methodology used was to present the gains of the
practicality of using a generic system with support to multiple databases. The results
obtained with the development of the system presented good performance,
attending to the objectives defined before the problem. However, limitations were
encountered during development. Therefore, one can not conceive that the
proposed project ends in itself, but is the propulsion for new proposals and
investigations.
INTRODUÇÃO
Com o avanço das tecnologias digitais, a expansão do uso de sites e
aplicações para gerenciamento de negócios cresce de forma acentuada.
Consequência disso é a demanda de produção e manutenção dos desenvolvedores
de sistemas, os quais dedicam tempo para a criação das aplicações, com o apoio
de ferramentas disponíveis no mercado para auxiliar em seu trabalho. Porém,
apesar de existirem ferramentas disponíveis, há a dificuldade de encontrar alguma
que ofereça uma solução que permita a manutenção e migração de dados de forma
simples e prática.
Diante desta contextualização apresenta-se o problema de pesquisa que é
como criar um sistema com suporte a múltiplos tipos de bancos de dados, simples e
de prática utilização, visando facilitar a manipulação de dados e estruturas de
bancos.
Com o uso de banco de dados, há a necessidade de criar e alterar a
estrutura dos dados frequentemente, bem como seus registros. Porém torna-se uma
tarefa trabalhosa se não houver um Sistema Gerenciador De Banco De Dados
(SGDB), e mesmo assim, não se deve perder de vista a praticidade de utilização,
que pode tornar algumas tarefas repetitivas e cansativas. Há dificuldades em se
trabalhar com mais de um tipo de banco de dados ao mesmo tempo, às vezes, é
necessário a utilização de um programa para gerenciamento individual de cada um
deles.
Diante disso o objetivo geral do projeto é desenvolver um sistema desktop
open source para manipulação de dados com suporte a múltiplos bancos de dados.
Tendo como objetivos específicos apresentar simplicidade e praticidade de
utilização, suportar múltiplos bancos de dados, permitir importar e exportar dados e
estrutura.
O artigo está estruturado em tópicos, o próximo aborda as ferramentas
utilizadas para o desenvolvimento do sistema, e na sequência será visto a
metodologia utilizada, bem como o desenvolvimento prático do sistema e as
considerações finais.
3
METODOLOGIA
Após a identificação do problema, foram feitas pesquisas para a averiguação
do mesmo. Com os resultados destas pesquisas, foi definido as ferramentas que
serão utilizadas, maneiras de desenvolver o sistema e de como desenvolver o
sistema da melhor maneira possível.
Para melhorar e expandir a produtividade de desenvolvedores de sistemas,
foi desenvolvido um software, no qual os usuários podem realizar alterações em
múltiplos bancos de dados, a fim agilizar as tarefas da melhor maneira possível.
As ferramentas utilizadas para o desenvolvimento do projeto foram
escolhidas de acordo com pesquisas feitas sobre softwares para desenvolvimento
desktop que possuem agilidade, segurança, performance, multi-plataforma. Visando
a disponibilização do sistema como open source, serão utilizadas somente
6
ferramentas gratuitas, que não possuem qualquer tipo de custo para sua utilização.
As ferramentas são:
A principal ferramenta utilizada é a IDE Lazarus versão 1.6.0, conforme
explicado na secção 3.2, é uma IDE open source e que dispõem de uma solução
completa para o objetivo do projeto. Em conjunto da IDE será utilizado o
componente de terceiro FpSpreadSheet versão 1.6.2, o qual também é open source
e livre de custos.
Quanto ao repositório de dados, citado na secção 3.5, o GitHub (versão
2.2.0.0) apresenta uma solução livre porém pública para outras pessoas acessarem,
ou para ser privado é necessário pagar pelo serviço. Como a proposta é
disponibilizar o sistema como open source não há a necessidade de pagar por um
serviço privado, então será utilizado o serviço público e sem custos. Quanto ao
TortoiseGit (Git versão 2.9.2) foi utilizado na máquina local também é uma
ferramenta livre e open source, dispensando qualquer custo adicional.
Com isso não ocorreu nenhum custo com as ferramentas utilizadas. Tendo
somente conhecimento e tempo dedicados a pesquisa e desenvolvimento do
projeto, tornando totalmente viável a disponibilização do sistema como open source
e de livre utilização para qualquer pessoa.
Para o início do desenvolvimento, foram elencados os requisitos, ou seja, foi
realizada a análise detalhada das regras de negócio e das necessidades do
sistema, verificando o que é esperado que o sistema faça para garantir que o
desenvolvimento ocorra da forma correta e de acordo com o que foi descrito nos
requisitos. Conforme Fabio Gomes Rocha (2013, p.1), “parte das falhas de projetos
é devida a falhas no levantamento de requisitos. ”.
Após os requisitos verificados, o desenvolvimento foi realizado de acordo
com os padrões de projeto Singleton, Factory e DAO, garantindo que o sistema seja
feito de forma organizada e clara.
Segundo Rissino (2016), a migração de dados é um processo de alto grau de
complexidade e risco, já que modifica um dos mais importantes ativos da instituição
— os dados. Para se mitigar possíveis danos e inconsistências na base de dados, é
necessário o desenvolvimento de um projeto que contemple, de forma clara e
7
objetiva, todas as ações e etapas da migração de dados. Muitas das ações e etapas
necessárias podem ocorrer antes da migração e após o referido processo.
Portanto o projeto trata a migração de dados de uma forma simplificada,
suportando apenas operações básicas de importação e exportação, partindo do
princípio de que o usuário possui pleno conhecimento sobre suas ações. Assim, faz-
se desnecessárias validações complexas e específicas para cada banco de dados,
além de tornar a utilização do sistema mais dinâmica. Desta forma, no tópico
seguinte trata-se do desenvolvimento prático do sistema.
Com base nesse layout o sistema vai percorrer cada linha do arquivo,
identificar todos os valores e gerar o comando adequado conforme a base atual. Se
10
Desta forma, pode-se ver que o sistema não possui complexidade, dispõe
somente de funções simples e não realiza operações avançadas nos bancos de
dados. Porém é possível realizar alterações simples de forma prática e intuitiva,
bastando alterar o que desejar na grid principal de cada tela. Outra opção também é
exportar os dados para um arquivo, alterar as informações no próprio arquivo e
depois importar o mesmo para aplicar as alterações desejadas no banco. Desta
forma, no próximo tópico apresenta-se as considerações finais do projeto.
CONSIDERAÇÕES FINAIS
Após realizar pesquisas sobre o problema identificado, e como seria possível
desenvolver uma aplicação para gerenciamento de bancos de dados, simples,
prática e com suporte a múltiplos bancos de dados. Foram verificados os objetivos
específicos do projeto para criar uma solução que seja simples, com prática
utilização, com suporte a múltiplos bancos e permitir exportar e importar dados e
estruturas de tabelas no banco de dados desejado.
Verificou-se que a solução atendeu aos resultados esperados com boa
performance, porém foram encontrados limitações na execução de tarefas
complexas nos bancos de dados, como: suporte para procedures, functions,
triggers, gerenciamento de permissões, entre outros. Para suportar as limitações
14
REFERÊNCIAS BIBLIOGRÁFICAS
Livro Database System Concepts, SILBERSCHATZ, Abraham, KORTH, Henry, S.
Sudarshan, sexta edição. Disponível em:<
http://www.jordomseiling.org/Database%20System%20Concepts%206th%20edition.
pdf>. Acesso em novembro. 2016.
Livro Practical Data Migration, MORRIS, Johny, segunda edição. Disponível em:
<goo.gl/kw0aZl>. Acesso em novembro. 2016.