• Nenhum resultado encontrado

3. DESENVOLVIMENTO

3.2 MODELAGEM

3.2.1 Módulo Desktop

Este módulo é composto pelo programa de configuração dos cabeçalhos dos arquivos e pelo programa de envio de arquivos para o módulo Web. Esta seção apresenta a modelagem deste módulo.

3.2.1.1 Configurações

Para adaptar a ferramenta a um outro software é necessário que o usuário administrador configure a ferramenta de acordo com a estrutura do software. Esta configuração é feita através do programa de Configurações.

A integração dos sistemas é feita seguindo um padrão fixo do sistema de origem dos dados.

Este padrão é determinado através de um cabeçalho contido no relatório (arquivo) que será impresso e posteriormente enviado para a Internet.

O programa de Configurações controla a padronização do cabeçalho do arquivo, onde este cabeçalho deve ter um único layout e deve possuir os campos que serão utilizados posteriormente na consulta dos arquivos, por exemplo: Nome do Cliente, Data, Nome do Arquivo, Título do Relatório, Código, Grupo etc.

O modelo da estrutura e funcionamento do programa de configurações está definido no caso de uso UC-001 representado na Figura 7 e detalhado em seguida.

Figura 7 – Caso de uso Configurações do Cabeçalho (UC-001).

Nome: Configurações do Cabeçalho (UC-001).

Descrição: Configuração da padronização do cabeçalho do arquivo.

Atores Primários: Administrador, Programa.

Pré-condições: O usuário Administrador deve ter estabelecido um padrão para o cabeçalho dos arquivos.

Fluxo Principal:

1. O administrador abre o programa de origem dos dados e imprime na impressora virtual o relatório que contém o cabeçalho definido para disponibilizar na Internet.

2. O usuário abre o programa de configurações.

3. O programa apresenta a tela Configurações (TELA-006).

4. O administrador clica no botão “Inserir Arquivo Exemplo”.

5. O programa converte o arquivo em texto e mostra na tela para o administrador.

6. O programa mostra na tela os 10 (dez) campos disponíveis para o usuário atribuir ao cabeçalho do arquivo.

7. O administrador seleciona o campo que deseja usar e coloca um nome nele.

8. O administrador seleciona a posição inicial do campo que deseja incluir. Exemplo: Cliente:

João da Silva. O administrador selecionará a posição anterior à letra “J”.

9. O administrador clica no botão “Setar Posição Inicial”.

10. O programa armazena o valor da posição da coluna e da linha que o administrador havia selecionado.

11. O administrador seleciona a posição final do campo que deseja incluir.

12. O administrador clica no botão “Setar Posição Final”.

13. O programa armazena o valor da posição da coluna que o administrador selecionou anteriormente.

14. O administrador clica em fechar o programa.

15. O programa armazena as configurações no arquivo Config.txt.

14. Fim.

Fluxos Alternativos e Exceções:

• Após o passo 13 o administrador pode retornar ao passo 7 para configurar outro campo.

Pós-condições:

• O programa salva as configurações determinadas pelo administrador em um arquivo texto e no banco de dados on-line.

A Figura 8 apresenta a tela de configurações (TELA-006).

ui Tela Configuracões

Configuracões

Arquivo PDF em formato texto

Inserir Arquivo Exemplo Campo 1 Campo 2

Campo10 Campo 3 ...

Posição Inicial

Posição Final Nome Campo

Linha

SetarPosicaoInicial

SetarPosicaoFinal

Fechar

Figura 8 – Tela Configurações (TELA-006).

A Figura 9 descreve o modelo das funcionalidades do programa de Configurações.

class ClassesConfig

Classes Configurações

TFConfiguracoes

- Campos: Array[1..10]

- PosicaoInicial: TEdit - Memo: TMemo - PosicaoFinal: TEdit - Linha: TEdit

- BotaoSetarPosicaoInicial: Button - BotaoSetarPosicaoFinal: Button - BotaoInserirArquivoExemplo: Button

+ BuscaConfiguracoesSalvas() : void + ConverteTxt(pdf) : txt

+ SalvaConfiguracoes() : void + RetornaPosicaoAtual() : int

Figura 9 – Classes Configurações.

A classe TFConfiguracoes corresponde à classe da tela principal do programa de configurações, cuja tela encontra-se representada na Figura 8 (TELA-006).

Os atributos e métodos desta classe são:

Campos: vetor dos 10 possíveis campos de utilização do cabeçalho do arquivo.

PosicaoInicial: componente que mostra a posição inicial do campo selecionado.

PosicaoFinal: componente que mostra a posição final do campo selecionado.

Linha: mostra a posição da linha do campo selecionado.

Memo: mostra o arquivo no formato texto.

BotaoSetarPosicaoInicial: botão que atribui a posição atual do cursor à posição inicial do campo selecionado.

BotaoSetarPosicaoFinal: botão que atribui a posição atual do cursor à posição final do campo selecionado.

BotaoInserirArquivoExemplo: abre tela de pesquisa de arquivos para seleção do arquivo que será utilizado como exemplo.

BuscaConfiguraçõesSalvas: método que abre o arquivo de armazenamento das configurações e coloca no formato da tela para o usuário consultar e alterar os valores.

ConverteTxt: método que converte um arquivo PDF para o formato texto.

SalvaConfigurações: salva as configurações feitas pelo usuário no arquivo de armazenamento das configurações.

RetornaPosicãoAtual: método que retorna a posição atual do cursor no arquivo texto mostrado na tela para configurar a posição do valor do campo selecionado.

A partir das informações referentes à estrutura da classe principal do programa Configurações, torna-se possível observar o comportamento do referido processo no diagrama de seqüência apresentado na Figura 10.

sd Configuracoes

Usuário Administrador Programa Origem Impressora PDF Programa TelaConfiguracões Arquivo texto

AbrePrograma

ImprimeRelatorio

DadosImpressao

RetornaNomeArquivoImpresso(arquivo : pdf) AbrePrograma

BuscaConfiguracoesSalvas RetornaConfiguracoes

AbreTela (configuracoes)

ClicaBotaoInserirArquivoExemplo MostraTelaSelecionarArquivoPDF

SelecionaArquivo (arquivo : pdf)

ConverteArquivo (arquivo : pdf) :txt

MostraArquivoT exto

SelecionaCampo MostraConfiguracoesDoCampo

SelecionaPosicaoInicial ClicaSetarPosicaoInicial

PosicaoSelecionada (posicao, linha : int) SelecionaPosicaoFinal

ClicaSetarPosicaoFinal

PosicaoSelecionada (posicao, linha : int) ClicaFecharPrograma

SalvaConfiguracoes (configuracoes) FecharPrograma

Figura 10 – Diagrama de seqüência Configurações.

3.2.1.2 Envio de Dados

Responsável pelo envio dos arquivos para a Internet, este programa utiliza as configurações salvas no programa de Configurações para extrair os dados dos cabeçalhos dos arquivos que poderão ser enviados e acessados posteriormente pelos usuários.

A cada intervalo de tempo definido em dez segundos (tempo consideravelmente curto para o acesso do arquivo na Web após o envio), o programa procura arquivos PDF em um diretório específico. Quando o programa identifica algum arquivo, este arquivo é convertido para o formato texto e o programa percorre o arquivo texto conforme foi configurado no programa de Configurações para achar o cabeçalho do arquivo. Caso o arquivo seja válido, ou seja, esteja no padrão definido nas configurações, o programa extrai os dados do cabeçalho e salva em memória. Depois disto, ele tenta enviar o arquivo via FTP para o servidor. Caso obtenha sucesso, os dados de cabeçalho são salvos no banco de dados on-line. Então o programa move o arquivo para a pasta de saída e recomeça o processo de busca de arquivos.

O processo de envio de arquivos é ilustrado no fluxograma da Figura 11.

Inicio

Busca arquivos no diretório de entrada [0..n]

Exite algum arquivo?

Abre conexão com o FTP

Abre conexão com o Banco de Dados

SIM

Não

Busca dados do arquivo Converte arquivo para Texto

É um arquivo com

cabeçalho válido? Envia arquivo via FTP

Salva registro do arquivo no banco de dados

Move o arquivo para o diretório de saída

Fecha conexão com o FTP Fecha conexão com

o banco de dados Exclui o arquivo

Não

SIM

Figura 11 – Fluxograma Envio de Dados.

O diagrama de caso de uso correspondente a este processo é apresentado na Figura 12 e sua descrição encontra-se no caso de uso UC-002.

Figura 12 – Caso de uso Envio de Dados (UC-002).

Nome: Envio de dados (UC-002).

Descrição: Envia os dados a serem publicados na Internet.

Ator Primário: Programa.

Ator Secundário: Usuário.

Pré-condições: O usuário administrador deve ter configurado a ferramenta de acordo com o programa de configuração (UC-001) e estar com a impressora virtual de PDF instalada.

Fluxo Principal:

1. O usuário acessa o sistema de origem das informações e imprime os relatórios que deseja enviar para a Internet.

2. O programa procura arquivos PDF em um diretório padronizado.

3. Quando o programa identifica algum arquivo, ele converte este arquivo para o formato texto e percorre o arquivo texto conforme foi configurado no programa de configuração para identificar o cabeçalho do arquivo.

4. Caso o arquivo seja válido, ou seja, esteja no padrão determinado nas configurações, o programa extrai os dados do cabeçalho e salva em memória.

5. O programa tenta enviar o arquivo via FTP para o servidor e caso ele obtenha sucesso, ele salva os dados de cabeçalho no banco de dados on-line.

6. O programa move o arquivo para a pasta de saída e recomeça o processo de busca de arquivos.

7. Fim.

Documento Relacionado: UC-001.

O diagrama de classes correspondente a este processo pode ser visualizado na Figura 13.

class Classes

Classes Env ia

TFEnv ia

- Timer: TTimer - Arquivos: ArrayList - FTP: TFtp - Campos: ArrayList

+ AbreConexao() : boolean + EnviaArquivo() : void

+ UltimoSequencial(String, String) : int + BuscaDadosArquivo(ArrayList*) : void + InsereArquivo(ArrayList) : void + BuscaArquivosPDF() : void + CopiaArquivoPDF(String) : void + ApagaArquivoPDF(String) : void TdmEnv ia

- Conexao: TSQLConection - cdsGeral: TClientDataSet - qyGeral: TQuery

- dspGeral: TDataSetProvider - Arquivo: File

- Linha: String

- DiretorioEntrada: String - DiretorioSaida: String

+ AbreConexao() : boolean

+ UltimoSequencial(String, String) : int + ConverteTxt(File) : void

+ BuscaDadosArquivo(ArrayList*) : void + InsereArquivo(ArrayList) : void

Figura 13 – Diagrama de classes Envio de Dados.

No diagrama da Figura 13, a classe TdmEnvia é responsável pelas funcionalidades do programa que envolvem o banco de dados. Os atributos e métodos desta classe são:

Conexão: componente de conexão com o banco de dados. Nele é configurado os parâmetros de conexão do banco de dados, como endereço, usuário e senha.

cdsGeral: componente do tipo vetorial onde as informações provenientes do banco de dados são armazenadas. Os dados contidos neste tipo de componente podem ser manipulados.

qyGeral: componente do tipo Query, no qual o comando SQL para consulta ao banco de dados é armazenado.

dspGeral: componente responsável por ligar o componente qyGeral ao cdsGeral.

Arquivo: variável do tipo arquivo de texto utilizada na manipulação de arquivos do tipo texto.

Linha: variável auxiliar para a leitura de arquivos de texto.

DiretorioEntrada: constante que armazena o caminho do diretório de entrada do programa de envio, ou seja, onde a impressora PDF irá salvar os arquivos.

DiretorioSaida: constante que armazena o caminho do diretório de saída do programa, ou seja, o diretório para onde os arquivos serão movidos após o envio e armazenados como forma de backup.

AbreConexão: método que faz a conexão do programa com o banco de dados.

UltimoSequencial: retorna o último seqüencial de um campo chave uma tabela.

ConverteTxt: tem como funcionalidade converter um arquivo PDF em formato texto.

BuscaDadosArquivo: percorre o arquivo convertido em forma de texto baseado nas configurações feitas pelo usuário administrador, extraindo as informações do cabeçalho do arquivo.

InsereArquivo: salva os dados do arquivo no banco de dados.

Também presente no diagrama de classes do processo de envio de dados está a classe TFenvia, responsável pelo algoritmo principal do programa do fluxograma da Figura 11. Os atributos e métodos desta classe são:

Timer: componente do tipo Timer que a cada intervalo de tempo de dez segundos, executa uma determinada rotina.

Arquivos: vetor que armazena o nome dos arquivos encontrados no diretório de entrada.

FTP: componente responsável pela conexão com o servidor de arquivos que utiliza o protocolo FTP.

Campos: vetor onde são armazenados os dados do cabeçalho do arquivo que está sendo enviado.

EnviaArquivo: método do algoritmo de inclusão e envio do arquivo na Internet.

BuscaArquivos: lista os arquivos encontrados no diretório de entrada.

CopiaArquivoPDF: método que copia um arquivo do diretório de entrada para o diretório de saída.

ApagaArquivoPDF: método que apaga um arquivo do diretório de entrada.

O diagrama de seqüência do envio de dados é ilustrado na Figura 14.

sd Env ioDeDados

OnTimer

Usuário Sistema de

Origem

Impressora PDF DiretorioEntrada FEnvia dmEnvia DiretorioSaida

ImprimirRelatorio

EnviaRelatório(relatorio)

SalvaArquivoPDF

BuscaArquivosPDF RetornaArquivos

ConverteTxt(arquivo) RetornaArquivoTexto

BuscaDadosArquivo(arquivo, campos) RetornaDados(campos)

EnviaArquivo(arquivo)

InsereArquivo(campos)

CopiaArquivoPDF(arquivo)

ApagaArquivoPDF

Figura 14 – Diagrama de seqüência Envio de Dados.

Documentos relacionados