Sistema Borboleta Desktop | ||||||||||||||||||||||||
Introdução
A principal função da interface desktop do sistema é intermediar
a comunicação entre a base de dados do CSE e os
dispositivos móveis.
As principais funcionalidades são inserção e alteração
de cadastros de pacientes, médicos e medicamentos do
centro de saúde.
Ambiente de desenvolvimento
O sistema Borboleta Desktop
foi desenvolvido em linguagem Java [java],
mais especificamente com a plataforma
J2SE 5.0. A plataforma
Eclipse foi utilizada para o
desenvolvimento do sistema juntamente com os plug-ins
(vide Ferramentas e Tecnologias)
jUnit (para testes do sistema),
EMF (criar e modificar XML e SCHEMA)
e Subclipse (comunicação com o repositório de código).
Ferramentas
Para o desenvolvimento da interface desktop foram
utilizadas ferramentas já conhecidas pela equipe
de desenvolvimento
(vide
Ferramentas e Tecnologias).
Algumas pesquisas foram
realizadas para decidir entre duas tecnologias
como, no caso do gerenciador de dados, MySQL e PostgreSQL.
Para fazer as melhores escolhas, um estudo detalhado do
sistema e de suas perspectivas de extensão fez-se
necessário.
Desenvolvimento
O processo de desenvolvimento do sistema foi dividido em
4 partes. Algumas destas foram realizadas simultâneamente
e o restante de forma sequencial. Podemos enumerar as 4
partes da seguinte forma:
Levantamento e análise de requisitos
Para que o sistema atendesse a necessidade de médicos e
profissionais de saúde do CSE, foram realizadas reuniões
entre a equipe de desenvolvimento
do IME e representantes do CSE. Estas reuniões foram
importantes
para a identificação das necessidades e classificação
das mesmas de acordo
com a prioridade dada a cada uma delas.
A metodologia aplicada consistia em ouvir os relatos da equipe de saúde e listar os requisitos solicitados. Mas para classificá-los de acordo com a prioridade, foi necessário entender o fluxo das informações e o trabalho diário realizado no CSE. Após esta fase de identificação de requisitos, nosso trabalho foi orientar a equipe de saúde mostrando a viabilidade de implementação dos requisitos e o impacto do desenvolvimento destes itens nos problemas relatados (Veja os requisitos iniciais do sistema). Assim, requisitos foram filtrados e prioridades foram distribuídas tornando viável o desenvolvimento do sistema como projeto de formatura. Em paralelo com o levantamento de requisitos, a análise e o estudo da base de dados existente no centro de saúde foi feita. Análise e estudo da base de
dados existente
Em paralelo ao levantamento de requisitos, fizemos a
análise e o estudo da base de dados. A base de dados atual
do CSE está armazenada em um banco de dados FoxPro antigo.
O FoxPro se comporta como uma grande tabela, não suporta
transações, acessos concorrentes e é software proprietário
(Microsoft).
Além disso, o modelo da base de dados é rudimentar
e cada tabela chega a ter 69 campos. O fluxo de medicamentos
é representado por status o que não permite visualizar
o caminho seguido pelo medicamento dentro do CSE e não
há como obter o histórico de pacientes.
A estrutura da base dados atual é representada abaixo:![]() ![]() Ver campos É fácil ver que não existe modelagem de dados e é inevitável a presença de campos nulos. Muitos campos não são mais utilizados e a estrutura torna o acesso aos dados lento. Estas características eram conflitantes com as necessidades do sistema. Era preciso migrar a base de dados. Então, iniciamos o estudo da viabilidade de migrar a base de dados existente para o novo gerenciador de dados PostgreSQL. Concluímos que não era viável realizar este trabalho, pois o CSE tem aplicações desenvolvidas para interagir com o FoxPro. A substituição da base de dados faria com que estas aplicações deixassem de funcionar. Assim, antes de substituir a base de dados, todas as aplicações utilizadas pelo CSE deveriam ser migradas. Além disso, deveríamos modelar o banco de dados, identificando os objetos, os fluxos e os relacionamentos. O tempo exigido por estas tarefas não nos permitiria desenvolver um protótipo do sistema que pudesse ser avaliado pela equipe médica. Decidimos utilizar um conversor de dados FoxPro para PostgreSQL e o sistema seria desenvolvido sobre esta base de dados. As tarefas de modelagem da nova base de dados e migração das aplicações fazem parte da segunda etapa do projeto Borboleta. O conversor de dados FoxPro para PostgreSQL utilizado foi desenvolvido pela própria equipe de desenvolvimento do sistema Borboleta. O FoxPro tem uma opção de exportar seus dados em alguns formatos comuns na plataforma Windows, como Excel e Access. Escolhemos a opção de exportar para um banco de dados Access. Com os dados armazenados em um banco Access, podemos novamente exportar os dados em um arquivo texto formatado à escolha do usuário. Nosso conversor utiliza este arquivo texto como entrada e seu resultado é um arquivo com queries SQL. Desenvolvimento da camada lógica
O desenvolvimento da camada lógica consistiu em implementar a
interação entre o sistema desktop e o gerenciador de dados e
intermediar a comunicação entre os dispositivos móveis e
a base de dados. A descrição do processo de desenvolvimento
encontra-se no link abaixo:Camada lógica Desenvolvimento da camada de
apresentação
O desenvolvimento da camada de apresentação consistiu
em implementar a interface gráfica do sistema. Esta
deveria ser simples e permitir o uso do sistema por
usuários leigos. A descrição do processo de desenvolvimento
encontra-se no link abaixo:Camada de apresentação Métricas Post-Mortem e Resultados
Abaixo segue uma tabela relacionando as atividades feitas e o resultado obtido.
(**) OBS: o tempo levado foi considerado como sendo o tempo total usado para a atividade, havendo atividades que foram feitas "simultaneamente". [voltar]
|