Sistema Borboleta Desktop - Camada lógica |
Esta camada é responsável pela comunicação do sistema
com a base de dados e os dispositivos móveis. Pode
ser dividida em 2 módulos:
Cada módulo foi desenvolvido utilizando o princípio de Test Driven Development da Programação Extrema, [XP]. Este princípio consiste em escrever testes unitários que verifiquem a corretude de uma funcionalidade do sistema. Para o desenvolvimento dos testes, utilizamos o JUnit Comunicação com a base de dados
O módulo de comunicação com a base de dados foi desenvolvido
utilizando o JDBC.
A função deste módulo é inserir e recuperar dados dos pacientes
e medicamentos através de consultas SQL.
Este módulo consiste em classes java que são capazes de abrir e fechar conexões com o gerenciador de dados, extrair informações das tabelas (quantas são, quais são os campos, de que tipo, etc), recuperar e inserir dados, além das classes Java que representam os objetos do sistema. Abaixo, temos os diagrams UML que representam o módulo: Este diagrama representa os objetos do sistema. Podemos observar que todos os objetos do sistema implementam a interface BorboletaObject. Assim, todos os objetos do sistema possuem um método toXML() que é o responsável pela representação XML do objeto. As tabelas da base de dados também são objetos do sistema, pois suas informações(número de campos, tipos de campos e etc) são importantes para a configuração do sistema Borboleta. É através das informações das tabelas que a interface gráfica é construída. ![]() O diagrama abaixo ilustra as classes java responsáveis pela comunicação com o gerenciador de dados. A classe DataBaseSQLProperties é responsável por abrir e fechar conexões com o gerenciador utilizando a API JDBC. Já a classe DataBaseSQL insere e recupera dados da base. Esta classe segue o padrão Singleton [GoF95], isto nos garante que haverá apenas uma instância desta classe sendo utilizada por todo o sistema. ![]() Importação e Exportação de dados
A importação e exportação de dados para os dispositivos móveis é feita
através de arquivos XML e conexões via HTTP. O fluxo seguidos pelos dados
é descrito pelo diagrama abaixo: ![]() Exportação de dados
Através da interface desktop do sistema Borboleta, o usuário escolhe os dados
que deseja exportar. Após a escolha, a opção exportar é ativada e os dados escolhidos
são escritos em seu formato XML. Este arquivo estará em um servidor HTTP para
que o download à partir dos dispositivos móveis seja possível.
Importação de dados
Para a importação dos dados, a ordem dos procedimentos se invertem. À partir
da interface desktop do sistema, o usuário escolhe o arquivo XML que contém
os dados a serem importados. Após a localização do arquivo, o sistema ativa o
leitor de arquivos XML, transforma-o em objetos do sistema e
grava no banco de dados através da classe DataBaseSQL.
Pendências
O mecanismo de importação, assim como o de exportação, só está disponível para
os objetos paciente e tabela. Mas devido a flexiblidade adotada no
desenvolvimento deste módulo, é fácil extendê-lo para realizar estas operações
para qualquer objeto do sistema.
[voltar]
|