Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): William Mello
Título:  Sistema gerenciador de base dados e dicionário 
 
Introdução:
Em muitos sistemas legados, segundo Zafar et al. (2019) a manutenibilidade se torna
difícil devido a indisponibilidade de documentação adequada e a complexidade dos softwares
dificultam ainda mais manter esses sistemas. Com a aplicação da engenharia reversa nesses
sistemas legados é possível extrair informações úteis ocultas de um baixo nível de abstração
para um alto nível de abstração a fim de melhorar a manutenibilidade desses sistemas (ZAFAR
et al., 2019). Para Pinto e Braga (2004) apud Barbosa e Candido (2017) os sistemas legados
são sistemas críticos que estão em uso a um longo período, que possivelmente foram
desenvolvidos com tecnologias consideradas atualmente ultrapassadas e que são peças
fundamentais para a organização que o mantem. Devido a essas tecnologias ultrapassadas,
compromete o processo interno da organização de readaptação e evolução do mesmo perante
as novas mudanças.
Essas novas mudanças, segundo Pressmann (2011) apud Santos e Bianchini (2019),
podem ocorrer devido as novas tecnologias, mudanças comerciais, técnicas, legislativas, de
sistemas operacionais ou necessidade de operar em outras plataformas. Um exemplo é a
computação em nuvem, que vem sendo adotada em larga escala entre as organizações, que
viram como importante estratégia de negócios obrigando a evoluir seus sistemas legados para
as estruturas da nuvem. Uma técnica, que vem crescendo nos últimos tempos, a fim de tornar
essas mudanças menos complexas entre os sistemas legados é a engenharia reversa e Pressman
(2011) apud Santos e Bianchini (2019) descrevem na como:
[...] De forma ampla, engenharia reversa é o processo de entender como algo funciona
através da análise de sua estrutura, função e operação permitindo conhecer como um
produto foi pensado e desenhado mesmo sem possuir o projeto original.[...]
Engenharia reversa pode ser usada para entender como algo funciona, ou como foi
feito, mesmo sem possuir a sua documentação [...]. (SANTOS; BIANCHINI, 2019,
p.3).
Após a aplicação da engenharia reversa nesses sistemas legados, Pressman (2011) apud
Santos e Bianchini (2019), afirma que é obtido como resultado a especificação de um produto
que é gerada a partir das análises realizadas no sistema. Com isso é possível entender o
funcionamento do mesmo, para alterar, realizar manutenções futuras e acrescentar novas
funcionalidades ao software em questão. Essa técnica de engenharia reversa cresceu muito e
possibilita o entendimento e melhoria do software, até na descoberta de segredos industriais e
comerciais.
Para Vieira (2020), uma das formas para se realizar engenharia reversa em um sistema
que utiliza conectividade com banco de dados relacional é a Structured Query Language (SQL), que possibilita administrar Sistemas Gerenciadores de Banco de Dados (SGBD) e foi
desenvolvida pela IBM na década de 1970 para gerenciar seus bancos de dados internos da
empresa. Com o passar do tempo a SQL foi aceita internacionalmente por todos os SGBDs
relacionais para realização de processamento de informações. A SQL está dividida em duas
partes, Linguagem de Definição de Dados (DDL) e Linguagem de Manipulação de Dados
(DML). Na DDL é definido o esquema do banco de dados, estrutura de armazenamento,
métodos de acesso, propriedades específicas dos dados e restrições de consistência e integridade
do banco de dados. Na DML é possível acessar e realizar nos dados as operações de
recuperação, inserção, exclusão e alteração de informações.
Vieira (2020) afirma que o SGBD é uma ferramenta que utiliza da linguagem SQL para
criar, processar e gerenciar um banco de dados, tal como criar tabelas e estruturas de suporte.
Uma das finalidades de um SBGD é fornecer uma ferramenta ao usuário para definição de
estruturas para armazenar e manipular informações, além de garantir segurança dos dados,
evitar falhas de sistema, acessos não autorizados, entre outros. Um SGBD é uma aplicação que
interage com o usuário e o banco de dados fazendo uma espécie de ponte entre um e outro, para
obter e analisar dados. Segundo Vieira (2020), os bancos de dados mais utilizados no mercado
são: MySQL, Oracle Database, SQL Server, IBM Db2 e PostgreSQL.
Ferreira et al. (2012) apud Aires et al. (2013) colocam que dentro desses SGBDs existem
algumas estruturas para controle dos dados que são armazenados, uma delas são os metadados.
Elas permitem a um administrador identificar um recurso, por meio de filtragem de objetos,
auxiliar na recuperação dos dados e também manter a integridade dos dados. Esses metadados
são explicados como sendo dados estruturados sobre dados e que a partir deles pode-se
recuperar algumas informações a respeito das tabelas, campos, relacionamentos e forma que foi
construído alguma aplicação. Ou seja, para qualquer tipo de objeto, independente de forma e
de aplicabilidade, possui três qualidades representadas por meio dos metadados: conteúdo,
contexto e estrutura. Esses metadados são possíveis de serem acessados por consultas SQLs e
devolvem praticamente quase toda a informação que é preciso saber sobre como os dados estão
estruturados dentro de um SGBD, permitindo a realização da engenharia reversa dos mesmos.
A partir dessas informações, este trabalho disponibiliza um sistema com interface gráfica
Web para auxílio no processo de engenharia de software, por meio do gerenciamento das
tabelas, de seus campos e de seus relacionamentos. Esse sistema também permite realizar
engenharia reversa por meio da leitura dos metadados do SGBD, realizar a conversão e
atualização automática do SGBD com base nos dados das tabelas que se encontram na interface
gráfica Web e gerar código-fonte Pascal com as tabelas existentes no sistema, pois o autor deste trabalho tem vivência com Pascal e nota que existe necessidade em auxiliar na geração de
código-fonte Pascal com a estrutura do banco de dados existente em sistemas.