Resumo: | Na vida das organizações, é muito frequente o acesso a grandes quantidades de dados, imprescindíveis aos processos de tomada de decisão. Por vezes, os dados apresentam problemas de qualidade que afetam a qualidade das decisões. Nos armazéns de dados, durante a manipulação dos dados, para se criar formatos que facilitem os processos de tomada de decisão, podem ser identificados mais problemas de qualidades nos dados (PQD). Existem diversas abordagens para detetar e corrigir PQD. Nestas abordagens pretende-se classificar os diferentes tipos de PQD que possam ocorrer nos dados e indicar caminhos possíveis de deteção e correção dos PQD. Existem algumas ferramentas que se baseiam em abordagens de deteção e correção de PQD existentes. Estas ferramentas detetam e corrigem PQD, no entanto, normalmente servem para detetar e corrigir PQD específicos e têm custos de aquisição consideráveis. O processo de deteção e correção pode ser complexo e é moroso. Normalmente estes processos de deteção e correção estão encadeados, e podem assumir nomes diferentes como “limpeza de dados” e “eliminação de dados sujos”. Foram definidos objetivos para desenvolver uma solução de deteção de PQD, freeware, com bom desempenho e de fácil utilização. Fez-se levantamento do estado da arte, apresentando conceitos importantes para a compreensão do tema da dissertação. Estudaram-se diferentes tecnologias uteis no desenvolvimento da solução. Foi desenvolvida uma solução de deteção de PQD, robusta, de fácil utilização que permite desenhar um workflow com uma sequência de operações de PQD escolhida pelo utilizador. O utilizador pode guardar o workflow para execução posterior com o mesmo ou com outras fontes de dados. A solução contém uma estrutura facilmente expansível para detetar novos tipos de PQD e com novos motores e algoritmos de deteção. A avaliação da solução revela que a solução disponibiliza uma interface gráfica facilitadora do processo de desenho de workflow e configuração das operações de PQD. A solução apresenta um bom desempenho, utilizando programação de pipelines Java com streams paralelas.
|