• Nenhum resultado encontrado

Carregamento automatizado de Bases de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Carregamento automatizado de Bases de Dados"

Copied!
67
0
0

Texto

(1)

Carregamento automatizado de Bases de Dados

André Neiva de Lemos nº 21276

Trabalho realizado sob a orientação de

João Paulo Ribeiro Pereira

Engenharia Informática 2014/2015

(2)
(3)

iii

Carregamento automatizado de Bases de Dados

Relatório da UC de Projeto Licenciatura em Engenharia Informática Escola Superior de Tecnologia e Gestão

André Neiva de Lemos

(4)

iv

A Escola Superior de Tecnologia e Gestão não se responsabiliza pelas opiniões expressas neste relatório.

(5)

v

Certifico que li este relatório e que na minha opinião, é adequado no seu conteúdo e forma como demonstrador do trabalho desenvolvido no âmbito da UC de Projeto.

___________________________________________ João Paulo Ribeiro Pereira Orientador

Certifico que li este relatório e que na minha opinião, é adequado no seu conteúdo e forma como demonstrador do trabalho desenvolvido no âmbito da UC de Projeto.

___________________________________________ Arguente

(6)
(7)

vii

Dedicatória

Este projeto é dedicado aos meus pais que com grande esforço possibilitaram a realização desta etapa importante da minha vida e ao meu irmão. À minha família, por sempre me apoiar. Aos meus amigos, que sempre me apoiaram ao longo de todo o percurso académico.

(8)
(9)

ix

Agradecimentos

Queria agradecer especialmente ao meu orientador, Professor João Paulo Ribeiro Pereira, pelo tempo dispensado e pela total disponibilidade na ajuda da realização deste trabalho, queria também agradecer á Professora Luísa Jorge pela total disponibilidade que sempre teve para comigo. Agradeço também a todos os professores que tive nas diferentes cadeiras ao longo do curso, pelos conhecimentos transmitidos, que me ajudaram na realização deste projeto.

(10)
(11)

xi

Resumo

O presente projeto teve como objetivo o desenvolvimento de uma aplicação de Carregamento automatizado de Base de Dados.

A aplicação foi implementada em C#, tendo sido, realizado uma análise detalhada às funcionalidades a implementar recorrendo a diagramas de caso de uso e diagramas de sequência.

Foi utilizada a linguagem de programação C# para criar a aplicação, no que diz respeito a base de dados foi implementada no MySQL.

A aplicação disponibiliza ao utilizador fazer o carregamento de ficheiros para a base de dados e contem também a opção de por a aplicação a funcionar de forma autónoma. Ao nível de informações a aplicação permite fazer pesquisa de produtos na base de dados e fornece informações relativamente a integridade e dados redundantes, permite também exportar uma tabela da base de dados para um ficheiro Excel.

(12)
(13)

xiii

Abstract

This project aimed at developing an automated loading application database.

The application was implemented in C # and was conducted a detailed analysis of the features to be implemented using use case diagrams, sequence diagrams and diagrams entity / relationship.

It was used the C # programming language to create the application, with respect to database was implemented in MySQL.

The application provides the user to load files to the database and also contains the option for the application to work independently. At the application level information allows product search in the database and provides information on the integrity and redundant data, allows you to download a table from database to Excel file.

(14)
(15)

xv

Conteúdo

1 Introdução ... 21 1.1 Enquadramento ... 21 1.2 Objetivo ... 22 1.3 Estrutura do Documento ... 22 2 Descrição do problema ... 23

2.1 Modelo de Desenvolvimento Utilizado ... 23

2.1.1 Identificação de Requisitos ... 25

2.1.2 Analise Detalhada ... 26

2.1.2.1 Diagramas de Caso de Uso ... 26

2.1.2.1.1 Casos de Uso do Utilizador ... 27

2.1.2.2 Diagramas de Sequência ... 28

2.1.2.3 Diagramas de Entidade/Relação (ER) ... 32

2.1.3 Desenho ... 33

3 Proposta de Solução... 35

3.1 Solução dos Problemas ... 35

4 Ferramentas ... 37 4.1 UML ... 37 4.2 C# (CSharp) ... 38 4.3 MySQL ... 38 4.4 MySQL Workbench ... 39 4.5 Enterprise Architect ... 39 4.6 Código Open-Source ... 39 5 Implementação ... 41 5.1 Funcionalidades ... 41 5.2 Interfaces ... 42 5.2.4 Interface Principal ... 42

5.2.4.1 Interface dos Ficheiros ... 43

5.2.4.1.1 Interface Ficheiros TXT ... 43

5.2.4.1.2 Interface Ficheiros PDF ... 44

5.2.4.1.3 Interface Ficheiros CSV ... 45

5.2.4.1.4 Interface Ficheiros XML ... 46

5.2.4.1.5 Interface Ficheiros HTML ... 47

5.2.5 Interface Forma Autónoma ... 48

5.2.5.1 Iniciar Forma Autónoma ... 49

5.2.5.2 Agendar Carregamento ... 50

(16)

16

5.2.6 Interface Informações ... 51

5.2.6.1 Pesquisar Produto ... 52

5.2.6.2 Dados Duplicados ... 53

5.2.6.3 Ver Tabelas ... 53

5.2.6.4 Exportar a Base de dados ... 54

6 Testes... 55 6.1 Testes Realizados ... 55 7 Conclusões ... 57 7.1 Conclusões ... 57 7.2 Trabalho Futuro ... 57 A Manual de Utilização ... 1

A.1 Menu Principal ... 1

A.1.1 Tipo de Ficheiros ... 2

A.1.1.1 Carregar Ficheiro TXT ... 2

A.1.1.2 Carregar Ficheiro HTML ... 3

A.1.2 Agendar Carregamento ... 4

A.1.2.1 Iniciar Forma Autónoma ... 5

A.1.2.2 Agendar Carregamento ... 5

A.1.2.3 Ver Agenda ... 6

A.1.3 Informações da Base de Dados ... 7

A.1.3.1 Pesquisar Produto ... 7

A.1.3.2 Dados Duplicados ... 8

A.1.3.3 Ver Tabelas ... 9

(17)

xvii

Lista de Figuras

Figura .1– Modelo Cascata. ... 28

Figura .2– Casos de Uso Utilizador... 28

Figura .3– Diagrama de Sequência – Carregar Ficheiro. ... 30

Figura .4– Diagrama de Sequência – Pesquisar Produto. ... 31

Figura .5– Diagrama de Sequência – Agendar Carregamento da Base de Dados. ... 32

Figura .6– Diagrama de Sequência – Verificar Agenda. ... 33

Figura .7– Diagrama de Sequência – Iniciar Forma Autónoma. ... 34

Figura .8– Diagrama de Sequência – Informações da Base de Dados. ... 35

Figura .9– Diagrama de Sequência – Informações da Base de Dados. ... 35

Figura .10– Modelo ER. ... 36

Figura .11– Layout da Aplicação. ... 37

Figura.12 – Interface Principal. ... 44

Figura.13 – Interface Ficheiros ... 45

Figura.14 – Interface Ficheiros TXT. ... 46

Figura.14 – Interface Ficheiros PDF. ... 47

Figura.14 – Interface Ficheiros CSV. ... 48

Figura.14 – Interface Ficheiros HTML. ... 49

Figura.14 – Interface Ficheiros XML. ... 50

Figura.19 – Forma Autonoma. ... 51

Figura.20 – Iniciar Forma Autónoma. ... 52

Figura.21 – Agendar Carregamento... 52

Figura.22 – Agenda. ... 53

Figura.23 – Informações. ... 54

Figura.24 – Pesquisar Produto. ... 54

Figura.25 – Dados Duplicados. ... 55 No table of figures entries found.

(18)

xviii

(19)

xix

Lista de Abreviações

TXT- é a extensão de um ficheiro de texto.

PDF- Portable Document Format, Formato Portátil de Documento. CSV- Comma Separated Values, Valores separados por vírgula.

HTML - Hypertext Markup Language, Linguagem de Marcação de Hipertexto. XML - Extensible Markup Language, Linguagem de marcação extensível. C# – CSharp, Linguagem de programação;

SQL – Structured Query Language, Linguagem de consulta estruturada; MySQL – Sistema de gestão de base de dados;

UML – Unified Modeling Language; Linguagem unificada de modelação; SI – Sistema de Informação;

(20)
(21)

21

Capítulo 1

1 Introdução

1.1 Enquadramento

O trabalho apresentado neste relatório foi desenvolvido no âmbito da unidade curricular de Projeto do 3º ano da Licenciatura em Engenharia Informática do Instituto Politécnico de Bragança, tendo como orientador o professor João Paulo Pereira.

Com a evolução da tecnologia, o dia-a-dia do ser humano está em constante mudança, cada vez mais as atividades que estava habituado a realizar com recurso a meios físicos estão a ser simplificadas com recurso aos sistemas de informação que tem ao seu dispor. Estas tarefas vão do simples enviar de um correio eletrónico em vez de recorrer ao correio comum até à própria gestão da vida pessoal, que passa já pelos meios eletrónicos e pela internet, assim como a gestão de negócios e atividades, e todas as vantagens que essa prática proporciona. Hoje em dia um organismo público ou privado recorre aos sistemas de informação para obter melhores resultados tanto a nível funcional como financeiro.

No caso da aplicação de Carregamento da Base de Dados, a utilização da aplicação permite otimizar os seus serviços, proporcionar ao utilizador maior facilidade nas tarefas relativas as funções que desempenham, divulgação de informações úteis ao utilizador relativamente a dados redundantes e integridade.

(22)

22

1.2 Objetivo

O objetivo principal deste projeto foi o de criar uma aplicação que permita o carregamento de uma base de dados a partir de vários suportes. A aplicação deverá reconhecer o formato do ficheiro e importar os dados para uma base de dados. Deverá também suportar funções de alerta relativamente a informações relevantes notificando o utilizador sobre dados redundantes, integridade, etc. A aplicação deverá também permitir uma calendarização para qua a aplicação funcione de forma autónoma.

1.3 Estrutura do Documento

Para melhor orientação, o relatório está dividido em sete capítulos e está estruturado da seguinte forma:

 O 1º Capítulo apresenta o motivo da realização deste trabalho e expõe os objetivos propostos.

 No 2º Capítulo é apresentado o modelo que foi seguido na implementação do SI, os passos realizados e as tecnologias usadas através dos diagramas de caso de uso e de sequência.

 O 3º Capítulo apresenta a proposta de solução que foi encontrada para a realização da aplicação.

 O 4º Capítulo apresenta as ferramentas utilizadas para a realização do projeto.

 O 5º Capítulo apresenta a implementação, explicando as funcionalidades implementadas.

 O 6º Capítulo apresenta os testes que foram realizados a aplicação após a sua conclusão.

(23)

23

Capítulo 2

2 Descrição do problema

2.1 Modelo de Desenvolvimento Utilizado

O modelo de desenvolvimento a seguir é um passo importante no caminho para um sistema de informação sólido e com as características e funcionalidades que se necessita. Para isso estes modelos apresentam diferentes maneiras de abordar o desenvolvimento de um Sistema de Informação, apresentando diferentes metodologias e fases.

O modelo de desenvolvimento do Sistemas de Informação escolhido para o desenvolvimento do presente projeto foi o Modelo em Cascata (Waterfall Model). (figura.1)

Este é um modelo tradicional de DSI em que as tarefas são executadas sequencialmente, ou seja, apenas quando uma tarefa está concluída é que se inicia a próxima. [1]

Está estruturado nas seguintes etapas:

 Identificação de Requisitos

 Análise Detalhada

 Desenho

 Implementação

(24)

24

As principais vantagens do uso deste modelo de desenvolvimento de Sistemas de Informação são:

 Processo de desenvolvimento estruturado

 Fácil utilização

 Fácil interpretação e compreensão

 Visão clara da estrutura do projeto

Como todos os modelos de desenvolvimento também existem algumas desvantagens:

 Este modelo não suporta iterações do desenvolvimento

 Os requisitos têm que ser definidos inicialmente, tornando-se difícil de os alterar durante o processo. [2]

(25)

25

Nos subcapítulos seguintes são abordadas com mais detalhe as fases seguidas no desenvolvimento da aplicação.

2.1.1 Identificação de Requisitos

Depois de analisar alguns dos requisitos para a aplicação e tendo uma ideia de como deverá funcionar o carregamento da base de dados, cheguei aos requisitos fundamentais para a aplicação.

Assim decidi elaborar um menu inicial onde o utilizador terá 3 opções. A primeira opção será fazer o carregamento de um ficheiro individualmente, a segunda opção será agendar o carregamento automático, ou seja por a aplicação a funcionar de forma autónoma, a terceira opção será recolher informações sobre a base de dados.

1ª Opção, ira aparecer um outro menu onde o utilizador deverá selecionar o tipo de ficheiro que pretende importar para a base de dados, apos selecionar o tipo de ficheiro terá de selecionar para qual a base de dados que pretende importar a informação ou criar uma nova, em seguida devera selecionar o ficheiro no computador ou introduzir o endereço para o ficheiro, após selecionar o ficheiro deverá verificar se o ficheiro contém a informação correta para importar ou seja ver se o nome das tabelas e campos da base de dados existem, para finalizar terá de importar a informação.

2ª Opção, irá aparecer um menu, onde o utilizador irá ter três opções.

A primeira opção será de por a aplicação a funcionar de forma autónoma, onde apenas terá de selecionar o tipo de produto que pretende importar.

A segunda será introduzir uma data e o tipo de produto e a aplicação irá funcionar de forma autónoma na data marcada, porém a aplicação a funcionar de forma autónoma não ira verificar se existem produtos semelhantes na base de dados nem se o cabeçalho da tabela se encontra correto.

A terceira será ver a agenda de carregamentos, onde pudera ver os próximos carregamentos bem como eliminar um carregamento marcado.

(26)

26

3ª Opção, o utilizador neste caso encontra-se no menu de informações, onde poderá optar por pesquisar um produto na base de dados para ver as suas características, optar por recolher informações da base de dados relativamente a dados redundantes ou integridade ou optar por fazer uma exportação da base de dados para um ficheiro Excel.

2.1.2 Analise Detalhada

Nesta fase de desenvolvimento, optei por uma análise com recurso a diagramas de Caso de Uso para descrever as interações do utilizador da aplicação com o sistema, diagramas de Sequencia para descrever com mais detalhe os casos de uso mais relevantes e ainda diagrama de entidade/relação (ER) para definir as tabelas e campos necessários na construção da base de dados.

2.1.2.1 Diagramas de Caso de Uso

Estes diagramas servem para identificar as fronteiras do sistema e descrever os serviços ou casos de uso que devem ser disponibilizados para o utilizador do sistema conhecido como ator. São utilizados para definir os requisitos funcionais do sistema. [3]

Elementos que compõem estes diagramas:

 Casos de Uso

 Atores

 Mensagens

 Relacionamentos

De seguida são apresentados os Diagramas de Casos de Uso que foram utilizados para definir as interações que o utilizador da aplicação terá com o sistema assim como uma breve

(27)

27

2.1.2.1.1 Casos de Uso do Utilizador

O utilizador da aplicação tem à sua disponibilidade uma consulta de informações relativamente aos produtos bem com a base de dados. Pode também fazer o carregamento de ficheiros neste caso terá que selecionar o tipo de Produtos a importar, selecionar o ficheiro e em seguida fazer o upload do ficheiro, e ainda tem a possibilidade de fazer a aplicação de forma autónoma para este tem duas possibilidades a primeira é simplesmente iniciar a aplicação de forma autónoma selecionado apenas o tipo de produto e a segunda possibilidade a agendar uma data para que a aplicação funcione de forma autónoma. Contém ainda uma funcionalidade que permite ao utilizador exportar a base de dados. Estas são as interações por parte do utilizador com a aplicação como podemos verificar na seguinte figura. (figura 2).

(28)

28

2.1.2.2 Diagramas de Sequência

O Diagrama de Sequência é uma das ferramentas UML usadas para representar interações entre objetos de um cenário prático, realizadas através de procedimentos ou funções. Este diagrama é construído a partir do Diagrama de Casos de Usos e define a sequência de operações de um dado caso de uso. [4]

Elementos que compõe estes diagramas:

 Atores

 Objetos

 Gate

 Fragmento

 Linha de vida

Em seguida são apresentados alguns diagramas de sequência relativos aos casos de uso mais importantes.

(29)

29

Figura.4 – Diagrama de Sequência – Pesquisar Produto.

(30)

30

Figura.6 – Diagrama de Sequência – Verificar Agenda.

(31)

31

Figura.8 – Diagrama de Sequência – Informações da Base de Dados.

(32)

32

2.1.2.3 Diagramas de Entidade/Relação (ER)

O modelo ER é um modelo usado na engenharia de software para definir de maneira sistemática um processo de negócio, este é modelado em entidades (tabelas) que possuem atributos e se encontram ligadas por relacionamentos que expressam as dependências entre si. É este modelo que suporta e define as tabelas e dependências da base de dados que se vai utilizar.

Em seguida apresento o modelo ER da aplicação este será apenas um exemplo pois a aplicação cria as tabelas consoante a informação que se encontre nos ficheiros a importar.

(33)

33

2.1.3 Desenho

Nesta fase de desenvolvimento da aplicação, procura-se transformar os resultados da análise de requisitos numa solução capaz de ser facilmente interpretada pelo programador do sistema.

O desenho deve ser eficiente ou seja o sistema deve ser capaz de efetuar as funções de maneira rápida e eficaz e flexível permitindo alterar e incorporar novas funcionalidades e requisitos sempre que necessário.

(34)
(35)

35

Capítulo 3

3 Proposta de Solução

Neste capítulo é apresentada a solução proposta para a resolução dos problemas apresentados no capítulo anterior.

3.1 Solução dos Problemas

A ferramenta utilizada para a construção da aplicação foi o C# porque já tinha trabalhado com esta ferramenta e sabia que iria ser bastante útil.

As funcionalidades implementadas para a resolução do problemas passaram por:

 Carregar um ficheiro TXT para a base de dados;

 Carregar um ficheiro CSV para a base de dados;

 Carregar um ficheiro PDF para a base de dados;

 Carregar um ficheiro XML para a base de dados;

 Carregar um ficheiro HTML para a base de dados;

 Implementar Timers;

 Ligações a Base de Dados;

 Criar tabelas na base de dados a partir de um ficheiro;

Em relação a base de dados optei pelo MySQL porque tem interface gráfica intuitiva, Configuração fácil e bom desempenho e estabilidade.

(36)
(37)

37

Capítulo 4

4 Ferramentas

Esta secção tem como objetivo dar a conhecer e apontar algumas das características que marcam as linguagens de modelação e programação que foram utilizadas no desenvolvimento da Aplicação.

4.1 UML

A Unified Modeling Language é uma linguagem que utiliza notação padrão para especificar, construir, visualizar e documentar sistemas de informação. O UML por ser uma linguagem de conceitos simples, facilita o desenvolvimento de um Sistema de Informação.

Permite integrar os aspetos da natureza organizacional que constituem o negócio e os elementos de natureza tecnológica, que constituirão o sistema de informação, ajudando a dominar a complexidade das regras associadas às necessidades do sistema que se pretende implementar assim como definir os processos e fluxos informativos.

Faz uso de um conjunto de símbolos padrão que funcionam como um meio de comunicação entre os diversos elementos do processo, clientes, gestores e programadores. No âmbito deste projeto foram desenvolvidos diagramas de caso de uso e diagramas de sequência que foram apresentados posteriormente neste documento.

(38)

38

4.2 C# (CSharp)

C# (CSharp) é uma linguagem de programação orientada a objetos criada pela Microsoft, faz parte da sua plataforma .Net. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e Java.

4.3 MySQL

O MySQL é um sistema de gestão de base de dados. Algumas das suas características são:

Software pouco exigente a nível de recursos de hardware

 Interface gráfica intuitiva

 Configuração fácil

 Bom desempenho e estabilidade

Software de uso livre

No desenvolvimento deste projeto foi usado o sistema de gestão de base de dados MySQL, por ser bastante robusto e eficiente assim como de fácil utilização por ter na minha opinião, um interface user friendly e por já ter sido usado anteriormente no desenvolvimento de trabalhos em outras unidades curriculares garantindo assim um maior à vontade na sua utilização.

(39)

39

4.4 MySQL Workbench

MySQL Workbench é uma ferramenta de desenho visual de base de dados que integra desenvolvimento, administração, desenho de base de dados, criação e manutenção num ambiente integrado de desenvolvimento para o sistema de base de dados MySQL.

É uma ferramenta oficial disponibilizada pela MySQL de uso gratuito e está disponível para os três principais sistemas operativos, Windows, Linux e MAC OS.

4.5 Enterprise Architect

O Enterprise Architect foi a ferramenta escolhida na elaboração dos diagramas UML utilizados no desenvolvimento da Aplicação.

É uma ferramenta excecional com diversas funcionalidades ao nível do desenho de SI, é estável e tem uma interface fácil de utilizar. A única desvantagem é que esta é uma aplicação paga, tendo neste projeto sido utilizada uma versão de teste.

4.6 Código Open-Source

Foi utilizado código Open-Source apenas para fazer a conversão do ficheiro PDF para ficheiro TXT e para ler ficheiros HTML porque o C# não possui nenhuma libraria para tal.

using iTextSharp.text.pdf;

PdfReader reader = new PdfReader(@tb_path.Text);

for (int page = 1; page <= reader.NumberOfPages; page++) {

ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy(); string s = PdfTextExtractor.GetTextFromPage(reader, page, its); s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s))); Text = text + s; richTextBox1.Text = text; using HtmlAgilityPack;

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(url);

(40)
(41)

41

Capítulo 5

5 Implementação

Neste subcapítulo é apresentada a implementação da Aplicação. São descritas as funcionalidades que foram implementadas, linguagens utilizadas na codificação e a base de dados.

5.1 Funcionalidades

Quanto às funcionalidades que foram implementadas, destacam-se as funcionalidades de carregamento de forma autónoma onde a aplicação reconhece o formato do ficheiro e faz o seu carregamento, destaca-se também as funcionalidades para ler o ficheiro e reconhecer que na base de dados se encontra um produto idêntico e ainda verifica se o cabeçalho do ficheiro é idêntico ao da base de dados, contem ainda funcionalidades para agendar uma data para fazer o seu carregamento, contem uma funcionalidade para fazer a pesquisa do ficheiro na base de dados, bem como as funcionalidades de informação da base de dados e ainda uma funcionalidade que exporta a base de dados para um ficheiro Excel.

(42)

42

5.2 Interfaces

5.2.4 Interface Principal

No interface principal temos três opções cada uma destas opções enviam o utilizador para um interface diferente, a primeira opção é para fazer o carregamento manualmente ou seja o utilizador terá de selecionar o ficheiro, selecionar o tipo de produto e em seguida fazer o upload, a segunda opção é para o utilizador agendar o carregamento de forma autónoma, ver agenda de carregamentos ou por a aplicação em modo autónomo, a terceira opção é relativa a informações a cerca dos produtos e da base de dados.

(43)

43

5.2.4.1 Interface dos Ficheiros

Caso o utilizador selecione a primeira opção (Carregar Ficheiros) será enviado para este interface, neste interface o utilizador apenas terá de escolher o formato do ficheiro que pretende fazer o upload.

Figura.13 – Interface Ficheiros.

5.2.4.1.1 Interface Ficheiros TXT

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Verificar Ficheiro” a aplicação irá ler o ficheiro, verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois irá criar uma DataTable com a informação do ficheiro txt, quando clicar em “Importar Dados” irá criar uma tabela caso não exista no MySQL, e irá transportar a informação da DataTable para a Base de Dados, para finalizar a aplicação irá mover o ficheiro para uma pasta com a data e hora do seu upload.

(44)

44

Figura.14 – Interface Ficheiros TXT.

5.2.4.1.2 Interface Ficheiros PDF

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Verificar Ficheiro” a aplicação irá ler o ficheiro e fazer a conversão do ficheiro PDF para um ficheiro TXT, após criar o ficheiro TXT a aplicação irá ler o ficheiro, verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois irá criar uma DataTable com a informação do ficheiro txt, quando clicar em “Importar Dados” irá criar uma tabela caso não exista no MySQL, e irá transportar a informação da DataTable para a Base de Dados, para finalizar a aplicação irá mover o ficheiro para uma pasta com a data e hora do seu upload.

(45)

45

Figura.15 – Interface Ficheiros PDF.

5.2.4.1.3 Interface Ficheiros CSV

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Verificar Ficheiro” a aplicação irá ler o ficheiro, verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois irá criar uma DataTable com a informação do ficheiro CSV, quando clicar em “Importar Dados” irá criar uma tabela caso não exista no MySQL, e irá transportar a informação da DataTable para a Base de Dados, para finalizar a aplicação irá mover o ficheiro para uma pasta com a data e hora do seu upload.

(46)

46

Figura.16 – Interface Ficheiros CSV.

5.2.4.1.4 Interface Ficheiros XML

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida terá duas opções, a primeira opção será selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Verificar Ficheiro” a aplicação irá ler o ficheiro, verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois irá criar uma DataTable com a informação do ficheiro XML, quando clicar em “Importar Dados” irá criar uma tabela caso não exista no MySQL, e irá transportar a informação da DataTable para a Base de Dados. A segunda opção será introduzir o endereço da pagina web, a aplicação ira ler a pagina e criar uma nova pagina no computador contento toda a informação da pagina web, em seguida irá ler o ficheiro e verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois cria uma DataTable com a informação do ficheiro XML, em seguida irá criar uma tabela caso não exista no MySQL, para finalizar a aplicação irá mover o ficheiro para uma pasta com a data e hora do seu upload.

(47)

47

Figura.17 – Interface Ficheiros XML.

5.2.4.1.5 Interface Ficheiros HTML

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida terá duas opções, a primeira opção será selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Verificar Ficheiro” a aplicação irá ler o ficheiro, verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois irá criar uma DataTable com a informação, quando clicar em “Importar Dados” irá criar uma tabela caso não exista no MySQL, e irá transportar a informação da DataTable para a Base de Dados. A segunda opção será introduzir o link da pagina web, a aplicação ira ler a pagina e criar uma nova pagina no computador contento toda a informação da pagina web, em seguida irá ler o ficheiro e verificar se não existem produtos repetidos e se o cabeçalho do ficheiro é idêntico ao cabeçalho da tabela, depois cria uma DataTable com a informação, em seguida irá criar uma tabela caso não exista no MySQL, para finalizar a aplicação irá mover o ficheiro para uma pasta com a data e hora do seu upload.

(48)

48

Figura.18 – Interface Ficheiros HTML.

5.2.5 Interface Forma Autónoma

Neste interface o utilizador poderá optar por uma de três opções a primeira opção será simplesmente clicar no botão “Iniciar Carregamento Automático” onde terá de selecionar o tipo de produtos que pretende carregar e a aplicação irá funcionar de forma autónoma ate o utilizador clicar no botão “Parar Carregamento Automático” quando o utilizador parar a forma autónoma a aplicação irá informar o utilizador de quantos ficheiros fez o upload para a Base de dados.

A segunda opção o utilizador irá introduzir uma data e hora e o tipo de produtos a importar e a aplicação nessa data ira funcionar de forma autónoma durante 1 minuto, a aplicação irá informar o utilizador de quantos ficheiros fez o upload para a Base de dados.

A terceira opção será para o utilizador ver a agenda onde poderá ver os próximos carregamentos e ainda poderá eliminar os que entender.

(49)

49

Figura.19 – Forma Autónoma.

5.2.5.1 Iniciar Forma Autónoma

Neste interface o utilizador terá de selecionar que tipo de produtos pretende importar para a base de dados e a aplicação ira verificar se existem ficheiros numa pasta previamente defina, caso existam ira fazer a importação dos dados para a base de dados.

(50)

50

5.2.5.2 Agendar Carregamento

Neste interface o utilizador terá de selecionar uma data, uma hora, e o tipo de produto que pretende carregar, aplicação guarda os dados inseridos numa tabela.

Figura.21 – Agendar Carregamento.

5.2.5.3 Ver Agenda

Neste interface o utilizador pode ver os próximos carregamentos, onde a aplicação vai verificar na base de dados se existem carregamentos agendados e ainda tem a possibilidade de eliminar um carregamento simplesmente selecionando a data e clicar em “Remover carregamento”, que será eliminado através da referência.

(51)

51

Figura.22 – Agenda.

5.2.6 Interface Informações

Neste interface o utilizador terá quatro opções a primeira será fazer uma pesquisa de produtos na Base de dados através da referência do produto, a segunda será receber informações sobre dados redundantes e integridade da base de dados, a terceira será para ver a base de dados, e a quarta opção será para exportar a tabela do tipo de produto que pretender para um ficheiro Excel.

(52)

52

Figura.23 – Informações.

5.2.6.1 Pesquisar Produto

Neste interface o utilizador deve introduzir o tipo de produto que pretende pesquisar e em seguida introduzir a referência do produto, onde a aplicação ira a base de dados buscar as informações.

(53)

53

5.2.6.2 Dados Duplicados

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende verificar e a aplicação irá verificar se existem produtos repetidos na base de dados.

Figura.25 – Dados Duplicados.

5.2.6.3 Ver Tabelas

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende ver e a aplicação irá mostrar a sua tabela da base de dados.

(54)

54

Figura.26 – Tabela de Produtos da Base de dados.

5.2.6.4 Exportar a Base de dados

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende exportar para um ficheiro Excel.

(55)

55

Capítulo 6

6 Testes

Neste capítulo é apresentado os teste que foram realizados a aplicação.

6.1 Testes Realizados

Nesta fase todas as funcionalidades da aplicação foram testadas para garantir o seu pleno funcionamento e para certificar que os requisitos identificados tinham sido abrangidos. Foram efetuados três diferentes testes.

1º Teste, foi testado o carregamento manual dos vários tipos de ficheiros, bem como foi testada a inserção de endereços de páginas web.

2ºTeste, foi testada a funcionalidade autónoma para garantir que a aplicação esta a funcionar corretamente e também foi testado o agendamento de carregamentos.

3ºTeste, foram elaborados testes relativamente as informações da base de dados, e foi ainda testado todas as ligações e redireccionamentos presentes nos diferentes interfaces para garantir a perfeita interligação entre estes.

(56)
(57)

57

Capítulo 7

7 Conclusões

7.1 Conclusões

A realização deste projeto permitiu-me aprofundar conhecimentos nas tecnologias ligadas a aplicação bem como conhecer algumas novas funcionalidades das ferramentas utilizadas. A aplicação conta com diversas funcionalidades de carregamento da base de dados, recolha de informação.

Os objetivos principais deste projeto foram alcançados. Na minha opinião a aplicação está bem concebido e as funcionalidades que foram implementadas estão a funcionar corretamente.

7.2 Trabalho Futuro

Para trabalho futuro seria interessante abranger mais ficheiros para alem dos cinco já implementados de maneira a tornar a aplicação uma ferramenta bastante útil para os utilizadores, e ainda melhorar as informações podendo implementar mais funcionalidades acerca das informações fornecidas sobre a base de dados.

(58)

58

Referências bibliográficas

[1] http://www.codeproject.com/?cat=3 consultado em Novembro de 2014

[2] http://en.wikipedia.org/wiki/MySQL_Workbench consultado em Novembro de 2014

[3] http://stackoverflow.com/questions/942277/mysql-c-sharp-text-encoding-problems consultado em Novembro de 2014

[4] http://pt.wikipedia.org/wiki/Diagrama_de_caso_de_uso consultado em Dezembro de 2014 [5] http://pt.wikipedia.org/wiki/Diagrama_de_sequência consultado em Dezembro de 2014 [6] http://pt.wikipedia.org/wiki/MySQL consultado em Fevereiro de 2015

[7] http://stackoverflow.com/questions/11094008/how-to-use-timer-in-c-sharp consultado em Fevereiro de 2015

[8] http://stackoverflow.com/search?q=c%23+winfroms consultado em Março de 2015

[9] http://www.codeproject.com/?cat=3 consultado em Abril de 2015

[10] http://www.dotnetperls.com/datagridview consultado em Abril de 2015

[11] http://www.dotnetperls.com/datatable consultado em Março de 2015

[12] http://www.dotnetperls.com/timer consultado em Março de 2015

[13] http://stackoverflow.com/ consultado em junho de 2015

[14] http://www.codeproject.com/?cat=3 consultado em junho de 2015

[15] http://www.dotnetperls.com/timer consultado em Agosto de 2015

[16] http://stackoverflow.com consultado em Setembro de 2015

[17] http://stackoverflow.com/questions/6073382/read-sql-table-into-c-sharp-datatable consultado em Setembro de 2015

(59)

A1

Anexo A

A Manual de Utilização

A.1 Menu Principal

Neste menu o utilizador tem três opções disponíveis. A primeira opção permite carregar os dados de um ficheiro para a base de dados manualmente, a segunda permite por a aplicação a funcionar de forma autónoma, e a terceira permite verificar informação acerca da base de dados.

(60)

2

A.1.1 Tipo de Ficheiros

Neste menu o utilizador terá de selecionar que tipo de ficheiro pretende carregar para a base de dados.

Figura.29 – Tipo de Ficheiro.

A.1.1.1 Carregar Ficheiro TXT

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida selecionar o ficheiro no computador ou introduzir o caminho para o ficheiro, após o utilizador clicar em “Importar Ficheiro” a aplicação irá ler o ficheiro e importar os dados para a base de dados Base de Dados.

(61)

A3

Figura.30 – Ficheiro TXT.

A.1.1.2 Carregar Ficheiro HTML

Neste interface o utilizador terá de selecionar o tipo de produtos que pretende carregar ou criar um novo tipo de produtos em seguida terá duas opções, a primeira opção será selecionar o ficheiro no computador ou introduzir o endereço da página web, em seguida irá “Importar Dados” e a aplicação ira enviar os dados para a Base de Dados.

(62)

4

Figura.31 – Ficheiro HTML.

A.1.2 Agendar Carregamento

Neste Interface o utilizador terá três opções disponíveis a primeira será por a aplicação a funcionar de forma autónoma, a segunda será agendar um carregamento e a terceira será ver agenda de carregamentos.

(63)

A5

A.1.2.1 Iniciar Forma Autónoma

Neste interface o utilizador terá de selecionar que tipo de produtos pretende importar para a base de dados.

Figura.33 – Forma Autónoma.

A.1.2.2 Agendar Carregamento

Neste interface o utilizador terá de selecionar uma data, uma hora, e o tipo de produto que pretende carregar, e a aplicação irá funcionar de forma autónoma na data inserida.

(64)

6

Figura.34 – Agendar Carregamento.

A.1.2.3 Ver Agenda

Neste interface o utilizador pode ver os próximos carregamentos e ainda tem a possibilidade de eliminar um carregamento simplesmente selecionando a data e clicar em “Remover carregamento”.

(65)

A7

A.1.3 Informações da Base de Dados

Neste menu o utilizador terá quatro opções a primeira será pesquisar um produto na base de dados, a segunda será ver se existem produtos duplicados, a terceira será ver a base de dados, e a quarta opção é para converter a base de dados para um ficheiro Excel.

Figura.36 – Informações da Base de Dados.

A.1.3.1 Pesquisar Produto

Neste interface o utilizador deve introduzir o tipo de produto que pretende pesquisar e em seguida introduzir a referência do produto.

(66)

8

Figura.37 – Pesquisar Produto.

A.1.3.2 Dados Duplicados

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende verificar.

(67)

A9

A.1.3.3 Ver Tabelas

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende ver.

Figura.39 – Tabela de Produtos da Base de dados.

A.1.3.4 Exportar a Base de dados

Neste interface o utilizador apenas deve selecionar o tipo de produtos que pretende exportar para um ficheiro Excel.

Referências

Documentos relacionados

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Segundo Éric Laurent, a psicose ordinária se caracteriza pela não resposta aos significantes-mestres tradicionais, manifestando o fim do poder do Nome-do-Pai como

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

After this matching phase, the displacements field between the two contours is simulated using the dynamic equilibrium equation that bal- ances the internal

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

A Sementinha dormia muito descansada com as suas filhas. Ela aguardava a sua longa viagem pelo mundo. No entanto, sempre vivera junto ao pomar do António Seareiro e até

Os caçadores tinham estendido uma grossa corda ligada a uma rede, no caminho por onde o leão costumava passar, de maneira que, quando o leão tropeçou na corda, a rede caiu-- lhe em

De sua gênese surgiram duas linguagens, uma conhecida como Luta Regional Baiana (atualmente, apenas Capoeira Regional) e a outra como Capoeira Angola. No nosso entendimento,