implementaÇÃo de grÁficos para anÁlise do perfil ... · tabela 1 – tipos da ... blois e...

77
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO ANDRESSA CAROLINE PORTES DA CUNHA MELINA DERALDO DOS SANTOS IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL EPIDEMIOLÓGICO DE IDOSOS INSTITUCIONALIZADOS EM CURITIBA MONOGRAFIA CURITIBA 2010

Upload: dangnhi

Post on 14-Nov-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

DEPARTAMENTO ACADÊMICO DE INFORMÁTICA

CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO

ANDRESSA CAROLINE PORTES DA CUNHA

MELINA DERALDO DOS SANTOS

IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL

EPIDEMIOLÓGICO DE IDOSOS INSTITUCIONALIZADOS EM

CURITIBA

MONOGRAFIA

CURITIBA

2010

Page 2: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

II

ANDRESSA CAROLINE PORTES DA CUNHA

MELINA DERALDO DOS SANTOS

IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL

EPIDEMIOLÓGICO DE IDOSOS INSTITUCIONALIZADOS EM

CURITIBA

Monografia apresentada à disciplina de

Metodologia de Pesquisa do curso de

Bacharelado em Sistemas de Informação como

requisito parcial para a obtenção de nota.

Orientador: Prof. Dr. Laudelino Cordeiro Bastos

CURITIBA

2010

Page 3: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

III

Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-

Uso Não-Comercial-Vedada a Criação de Obras Derivadas 2.5 Brasil. Para ver

uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-

nd/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street,

Suite 300, San Francisco, Califórnia 94105, USA.

Page 4: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

IV

LISTA DE FIGURAS

Figura 1 – EXEMPLO GRÁFICO DE GANTT...........................................................19

Figura 2 – ELEMENTOS DO DIAGRAMA DE CASOS DE USO .............................20

Figura 3 – EXEMPLO DE UMA CLASSE DO DIAGRAMA DE CLASSES .............21

Figura 4 – EXEMPLO DE UMA TABELA DO DIAGRAMA ENTIDADE

REALACIONAMENTO .............................................................................................22

Figura 5 – DIAGRAMA DE CASOS DE USO............................................................38

Figura 6 – DIAGRAMA ENTIDADE RELACIONAMENTO.....................................39

Figura 7 – DIAGRAMA DE CLASSES ......................................................................40

Figura 8 – REPRESENTAÇÃO DA TABELA “INSTITUICAO” NO ORACLE DATABASE 10g EDITION .............................................................................................................61Figura 9 – TELA INICIAL..........................................................................................61

Figura 10 – ENTIDADES SELECIONADAS .............................................................62

Figura 11 – IDOSO x INSTITUIÇÃO .........................................................................63

Figura 12 – TELA DO GRÁFICO...............................................................................64

Page 5: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

V

LISTA DE GRÁFICOS

Gráfico 1 – GRÁFICO DE GANTT ............................................................................36

Gráfico 2 – BURNDOWN CHART INICIAL .............................................................37

Gráfico 3 – BURNDOWN CHART PARCIAL ...........................................................58

Gráfico 4 – BURNDOWN CHART INICIAL REAVALIADO ...................................59

Gráfico 5 – BURNDOWN CHART FINAL ................................................................60

Page 6: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

VI

LISTA DE QUADROS

Quadro 1 – EXEMPLO DE CRONOGRAMA.............................................................18

Quadro 2 – CRONOGRAMA DE ATIVIDADES .......................................................34

Page 7: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

VII

LISTA DE TABELAS

Tabela 1 – TIPOS DA LINGUAGEM JAVA ..............................................................25

Tabela 2 – COMPONENTES GRÁFICOS DA INTERFACE......................................27

Tabela 3 – CLASSIFICAÇÃO DOS ARTIGOS DE ACORDO COM O GRAU DE

IMPORTÂNCIA .........................................................................................................30

Tabela 4 – CLASSIFICAÇÃO DOS ARTIGOS DE ACORDO COM A ABORDAGEM DE

PESQUISA .................................................................................................................32

Tabela 5 – DATAS PREVISTAS x DATAS REAIS....................................................56

Tabela 6 – OPÇÕES DA TELA INICIAL ...................................................................62

Tabela 6 – OPÇÕES DA SEGUNDA TELA ...............................................................63

Page 8: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

VIII

LISTA DE ABREVIATURAS E SIGLAS

DER Diagrama Entidade Relacionamento

ILPI Instituição de Longa Permanência para Idosos

GUI Interface Gráfica com o Usuário (Graphical User Interface)

MER Modelo Entidade Relacionamento

SGBD Sistema Gerenciador de Banco de Dados

SQL Structured Query Language

UML Unified Modeling Language

Page 9: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

IX

SUMÁRIO

1 INTRODUÇÃO ......................................................................................................11

1.1 Título ......................................................................................................11

1.2 Tema .......................................................................................................11

1.3 Problema .................................................................................................11

1.4 Objeto .....................................................................................................11

1.5 Justificativa .............................................................................................11

1.6 Motivação ...............................................................................................12

1.7 Objetivos.................................................................................................12

1.7.1 Objetivo geral..................................................................................12

1.7.2 Objetivo específico..........................................................................12

1.8 Metodologia ............................................................................................13

1.8.1 Métodos .........................................................................................13

1.9 Estrutura do trabalho ...............................................................................13

2 REVISÃO BIBLIOGRÁFICA...............................................................................15

2.1 Informática em Saúde..............................................................................15

2.2 Processo de Software ...............................................................................16

2.2.1 Planejamento de Software ................................................................18

2.2.1.1 Cronograma e Gráfico de Gantt............................................18

2.2.2 Modelagem do Sistema ....................................................................19

2.2.2.1 Casos de Uso........................................................................20

2.2.2.2 Diagramas de Classes...........................................................21

2.2.2.3 Diagramas Entidade Relacionamento ...................................22

2.2.3 Implementação.................................................................................23

2.2.3.1 Linguagem de Programação Java .........................................23

2.2.3.2 Banco de Dados ...................................................................28

2.2.4 Javadoc ............................................................................................29

2.3 Metodologia da Revisão Bibliográfica .....................................................29

2.4 Resultados e Discussões ..........................................................................30

2.5 Conclusão................................................................................................32

Page 10: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

X

3 DESENVOLVIMENTO DA PROPOSTA..............................................................34

3.1 Planejamento de Projeto ..........................................................................34

3.2 Modelagem do Sistema ............................................................................37

3.2.1 Diagrama de Casos de Uso...............................................................37

3.2.2 Diagrama Entidade Relacionamento.................................................38

3.2.3 Diagrama de Classes ........................................................................40

3.3 Implementação ........................................................................................40

3.3.1 Classes de auxílio.............................................................................41

3.3.2 Classes de controle...........................................................................42

3.3.2.1 Classe Ouvinte .....................................................................42

3.3.2.2 Classe ComandosSQL ..........................................................45

3.3.2.3 Classe ConexãoBanco ..........................................................51

3.3.2.4 Classe TelaGráfico................................................................53

4 RESULTADOS E ANÁLISE ..................................................................................56

4.1 Planejamento do Projeto ..........................................................................56

4.1.1 Cronograma e Gráfico de Gantt........................................................56

4.1.2 Burndown Chart...............................................................................58

4.2 Implementação ........................................................................................60

5 CONCLUSÕES E TRABALHOS FUTUROS ......................................................65

6 REFERÊNCIAS BIBLIOGRÁFICAS...................................................................67

7 APÊNDICES ..........................................................................................................71

Page 11: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

11

1 INTRODUÇÃO

1.1 Título

Implementação de gráficos para análise do perfil epidemiológico de idosos

institucionalizados em Curitiba.

1.2 Tema

Aplicação de técnicas computacionais tais como o acesso a banco de dados e criação

de interface gráfica na área de gerontologia.

1.3 Problema

Regina Ribas Bueno Pinto (2008), em sua dissertação de mestrado, traçou o perfil

epidemiológico de idosos residentes em casas de longa permanência na cidade de Curitiba,

levantando informações necessárias e armazenando-as em um banco de dados. No entanto,

persiste a ausência de uma estrutura que permita ao usuário visualizar, de modo mais simples

e prático, os dados obtidos, pois, até então, apenas uma consulta direta ao banco de dados

possibilita visualizá-los.

1.4 Objeto

O software que, a partir da seleção de dois atributos referentes aos idosos, é

responsável por resgatar dados em um banco de dados e plotar gráficos.

1.5 Justificativa

Facilitar a atividade dos profissionais que utilizam dados relacionados ao perfil

Page 12: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

12

epidemiológico dos idosos, a partir da aplicação de conhecimentos computacionais, tais como

programação utilizando linguagem Java e banco de dados, proporcionando a visualização

gráfica dos dados referentes ao perfil. Desta forma, elimina-se a necessidade dos usuários

aprenderem a manusear ferramentas de banco de dados.

1.6 Motivação

A abrangência da Informática em Saúde, a qual proporciona diversas áreas de estudo

e aplicação, e a inexistência de um software que facilite a interação do usuário com os dados

relativos ao perfil epidemiológico de idosos institucionalizados.

1.7 Objetivos

1.7.1 Objetivo geral

Aperfeiçoar e facilitar a visualização, através de gráficos, das análises dos dados de um

estudo sobre o perfil epidemiológico de idosos residentes em instituições de longa

permanência para idosos na cidade de Curitiba.

1.7.2 Objetivos específicos

Gerar um gráfico de acompanhamento das atividades a serem desenvolvidas

(Burndown Chart) e um cronograma;

Confeccionar diagrama entidade relacionamento (DER);

Instanciar os dados previamente coletados em um banco de dados;

Implementar uma classe que permita realizar consultas dinâmicas ao banco de dados;

Apresentar dados em forma de gráficos.

Page 13: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

13

1.8 Metodologia

1.8.1 Métodos

Descrição sequencial do processo de desenvolvimento deste trabalho e definição das

ferramentas de auxílio empregadas. Durante a escolha destas tornou-se imprescindível o fato

de estarem sob a licença de código aberto (open source), definido por OPEN SOURCE

INITIATIVE (04 abr. 2010), como “um método de desenvolvimento de software que se baseia

(…) na transparência do processo”. Isto não significa apenas ter o acesso ao código fonte, mas

acatar alguns critérios, como: redistribuição livre, código fonte incluso, trabalhos derivados

(admitir alterações e trabalhos derivados e autorizar suas distribuições sob os mesmos termos

da licença do software original), integridade do código fonte do autor código (a licença

permite exigir nome ou número diferente para trabalho derivado), distribuição da licença (a

todos a quem o programa é redistribuído, deve-se aplicar os direitos tidos pelo software

original), entre outros (Open Source Initiative, 2010).

1.9 Estrutura do trabalho

O presente trabalho explora, em seus capítulos, uma pesquisa sobre o

desenvolvimento de gráficos em linguagem Java utilizando os dados - instanciados em um

banco de dados - relativos a um perfil epidemiológico de idosos. O primeiro capítulo, a

introdução, está divido de forma a permitir uma melhor visualização do objetivo, problema,

tema, motivação, objeto de estudo e justificativa da pesquisa proposta e a metodologia, a qual

indica quais as ferramentas e como estas deverão ser utilizadas para atingir o objetivo

proposto.

Na Revisão Bibliográfica, segundo capítulo, é apresentada uma descrição

aprofundada do problema previamente definido, a partir de consultas a materiais referentes à

Informática em Saúde, a fim de localizar os pontos críticos que necessitem de uma solução,

além de conceituar o procedimento necessário para o processo de desenvolvimento de um

software.

O capítulo seguinte, Desenvolvimento da Proposta, descreve detalhadamente como

foi concretizada cada etapa necessária à elaboração do software desde o planejamento,

diagramas e especificações, até a implementação das classes que originam o artefato. Em

Page 14: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

14

Resultados e Análises, quarto capítulo, são exibidos os dados, informações e consequências

obtidos a partir da aplicação dos métodos adotados, e ainda sua análise de acordo com as

informações abordadas na revisão bibliográfica.

O quinto capítulo, Conclusões e Trabalhos Futuros, compara os resultados obtidos

com os planejados e propõe novas pesquisas na área de Informática em Saúde. Por fim,

Referência Bibliográfica é o capítulo que contém a relação das obras consultadas para a

confecção deste trabalho.

Page 15: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

15

2 REVISÃO BIBLIOGRÁFICA

2.1 Informática em Saúde

Blois e Shortliffe (Sociedade Brasileira de Informática em Saúde, 2010) afirmam

que, para aperfeiçoar o armazenamento, recuperação e gerenciamento de informações na área

da saúde, a qual requer informações para a tomada de decisões, existe um campo científico

específico, a Informática em Saúde. De acordo com a Sociedade Brasileira de Infomática em

Saúde (2010), devido “(…) aos avanços nas tecnologias de computação e comunicação, à

crescente convicção de que o conhecimento médico e as informações sobre os pacientes são

ingerenciáveis por métodos tradicionais baseados em papel, e devido à certeza de que os

processos de acesso ao conhecimento e tomada de decisão desempenham papel central na

Medicina moderna”, a Informática em Saúde como disciplina vem se expandindo

consideravelmente.

Desta forma, percebe-se a necessidade de que profissionais da saúde desenvolvam

habilidades as quais permitam ao usuário interagir com ferramentas computacionais que

ofereçam suporte à área médica (LUIS et al., 1995), destacando-se: recuperação e análise de

dados provenientes de bancos de dados, design de banco de dados e tecnologias da web

(LOGAN; PRICE, 2004).

Uma das áreas de atuação da Informática Médica, uma especialidade da Informática

em Saúde, diz respeito aos sistemas de registro médico computadorizado, isto é, ao

desenvolvimento de prontuários eletrônicos (FILHO; XAVIER; ADRIANO, 2001). De acordo

com Filho, Xavier e Adriano (2001, p. 105), a “combinação de computadores, redes de

telecomunicações, informações médicas e dados eletrônicos de pacientes pode melhorar a

qualidade do cuidado com a saúde, da produtividade dos profissionais da saúde, facilitar o

acesso aos serviços disponíveis e reduzir custos administrativos associados à prestação de

serviços”. Desta forma, o prontuário eletrônico minimiza os erros consequentes de uma

prescrição médica mal formulada (BLOMBERG et al., 2009). Dentre as funções do prontuário

eletrônico, destaca-se o suporte à pesquisa, que pode ser: clínica, epidemiológica, para

avaliação da qualidade e pós marketing de observação de medicamentos (UNIFESP Virtual,

2010).

Parte da medicina que trata das epidemias - doenças contagiosas que rapidamente

atacam diversas pessoas de uma mesma região - (XIMENES, 2000), a epidemiologia possui

Page 16: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

16

como objeto de interesse de pesquisa um grupo que está em constante crescimento: a

população de terceira idade ou idosos, caracterizada por indivíduos que possuem faixa etária

igual ou superior a 60 anos. No Brasil, a parcela de idosos aumentou praticamente quatro

milhões quando comparada ao ano de 1991. Atualmente, a população de idosos representa

8,6% de um total de 170 milhões de brasileiros, segundo o Censo 2000, realizado pelo

Instituto Brasileiro de Geografia e Estatística. Aliado ao crescimento desta classe está o

aumento da expectativa de vida, que era de 66,03 anos em 1991 e passou a ser 68,55 anos em

2000 (PINTO, 2008).

Os cuidados de longa duração voltados aos idosos com algum nível de dificuldade

para realizar as atividades de rotina e/ou aqueles cuja família é desfavorecida de recursos

financeiros, físicos ou emocionais para atender as necessidades de seu ente, são umas das

novas solicitações que vêm sendo efetuadas ao setor público (DANILOW et al., 2007). De

acordo com a Portaria SEAS nº 2874/2000, Instituições de Longa Permanência para Idosos

(ILPI) (DANILOW et al., 2007) podem oferecer o suporte familiar, financeiro e psicológico

que o idoso necessita (REIS et al., 2005).

A escassez e a importância de informações relativas a idosos institucionalizados

motivaram pesquisas direcionadas a traçar um perfil epidemiológico que contenha dados

concretos em termos de sexo, idade, renda, condições de vida e saúde, enfermidades,

medicamentos utilizados, laços familiares e tempo de permanência na instituição (DANILOW

et al., 2007). Para o desenvolvimento, os pesquisadores selecionaram ILPIs e elaboraram

questionários que, aliados à consulta dos prontuários dos idosos, serviram de fonte para obter

os dados da construção do perfil (DANILOW et al., 2007; PINTO, 2007; SILVA et al., ano).

Estas pesquisas visam contribuir para a criação de programas de atividades preventivas e

terapêuticas (SILVA et al.).

2.2 Processo de software

A elaboração de um software, processo caracterizado por englobar procedimentos

que necessitam de uma visão simultânea e integrada de aspectos técnicos e gerenciais, é uma

tarefa que não deve ser confundida com desenvolver programas para o computador.

(REZENDE, 1997). Para criar o software, é interessante assumir uma metodologia que aborde

este processo por meio de suas etapas (REZENDE, 1997). O Ciclo de Vida de Sistemas

Tradicionais, a mais antiga metodologia de construção de sistemas de informação, subdivide o

Page 17: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

17

desenvolvimento de um sistema em blocos formais de estágios, propondo um início, um meio

e um fim (LAUDON, 1999).

Rezende (1997, p. 25) expõe as seguintes etapas do Ciclo de Vida de Sistemas

Tradicionais:

Estudo: sugere reconhecer as atuais deficiências através de entrevista aos

usuários, visando identificar quais aspectos do ambiente estão inadequados, além de definir

objetivos do novo sistema e aprontar o plano de trabalho detalhado (REZENDE, 1997).

Análise de Sistemas: buscando converter as duas entradas principais - a política

do usuário e os encargos do projeto - em uma especificação organizada do projeto, esta etapa

abarca a modelagem do ambiente do usuário. Para isto, elabora-se o modelo indicativo do que

o sistema deve fazer para interagir de forma satisfatória com o ambiente externo, o que inclui

os diagramas e especificações (REZENDE, 1997).

Projeto: Fisher (1990, p. 8) afirma que esta fase mostra “o que construir e como

construir”. Há preocupação com a elaboração de uma adequada hierarquia de módulos de

‘programas’ e interfaces entre estes, para que a especificação detalhada na fase anterior possa

ser implementada (REZENDE, 1997). Fisher (1990, p. 8) conclui que a etapa de projeto

abrange “a decomposição em módulos, definições de estruturas de dados (…) e importantes

definições algorítmicas” (FISHER, 1990, p. 8).

Implementação: segundo Rezende (1997, p. 29), este estágio “inclui a

codificação e a integração dos módulos em um esqueleto”. A codificação é feita a partir da

eleição de uma linguagem de programação conveniente. Ainda nesta etapa ocorre o teste do

esqueleto do sistema, executando o teste do módulo e a integração do sistema (REZENDE,

1997).

Geração do Teste de Aceite: um grupo de casos de testes de aceite é

confeccionado com base na especificação estruturada. Estes testes podem ser de vias normais

- confirmam se o sistema faz, de fato, o esperado para entradas válidas – ou então de vias de

erro - buscam “enganar” o sistema com dados incorretos ou não usuais (REZENDE, 1997).

Garantia da Qualidade: é o teste de aceite, momento em que se observa a

satisfação do usuário no que diz respeito ao atendimento das expectativas (REZENDE, 1997).

Descrição de Procedimentos: descrição da forma com que os usuários irão

interagir com a parte informatizada do novo sistema, isto é, as definições das atividades

operacionais do usuário. Normalmente correspondem ao Manual do Usuário (REZENDE,

1997).

Page 18: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

18

Instalação. Atividade final, cujas entradas são o manual do usuário e o sistema

de aceite (REZENDE, 1997).

2.2.1 Planejamento de software

Sommerville (2007, p. 63) afirma que “o gerenciamento de um projeto depende de

um planejamento minucioso do progresso do projeto”. No início do desenvolvimento de um

software deve ser criado um plano que estime estrutura, tamanho, distribuição das funções e o

tempo. Este servirá como um guia à produção do software (SOMERVILLE, 2007).

2.2.1.1 Cronograma e Gráfico de Gantt

O cronograma do projeto determinado no início do processo – como exemplifica o

Quadro 1 – contém a estimativa das tarefas a serem realizadas dentro do espaço de tempo

previsto (PRESSMAN, 1995). As tarefas devem ser separadas cuidadosamente e organizadas

em sequência coerente (SOMERVILLE, 2007). A análise do problema e a especificação,

primeiras tarefas a serem realizadas, auxiliam na definição das atividades que deverão ser

executadas ao longo do processo de criação do projeto e o tempo gasto com cada uma delas

(PRESSMAN, 1995).

Atividades Data de Início Data de Término

Atividade 1 10/09/2005 11/10/2005

Atividade 2 15/09/2005 24/09/2010

Quadro 1: Exemplo de CronogramaFonte: Autoria Própria

O gráfico de Gantt, ou diagrama de barras, é uma notação gráfica para ilustrar o

cronograma do projeto evidenciando as datas de início e fim do mesmo, como exemplificado

na Figura 1. Auxilia na visualização das atividades paralelas e nas interdependências entre

elas, isto é, aquelas que dependem da finalização de uma tarefa para serem inicializadas

(SOMERVILLE, 2007). Para a produção do gráfico de Gantt relativo ao planejamento das

Page 19: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

19

atividades que constituem o presente trabalho, será utilizado o software GanttProject, que está

licenciado sobre um série de licenças de código aberto (Learn GanttProject, 2010).

Figura 1: Exemplo Gráfico de GanttFonte: Autoria Própria

2.2.2 Modelagem do Sistema

Ao construir imóveis, aeronaves, automóveis e até mesmo computadores, torna-se

necessária a elaboração de modelos. Estes servem para detalhar o planejamento a fim de

melhorar a compreensão do que será produzido e auxiliar no gerenciamento do projeto

(RUMBAUGH, 1994).

No desenvolvimento de softwares, a preparação de modelos também possui

fundamental importância para atingir eficiência com o mínimo de desperdício e retrabalho de

software possível (BOOCH; RUMBAUGH; JACOBSON, 2000). Ela fornece uma abstração -

examina determinados aspectos - capaz de informar os detalhes que compõem o projeto. Para

Booch, Rumbaugh e Jacobson (2000, p. 7) “qualquer projeto será beneficiado pelo uso de

algum tipo de modelagem. (...) A modelagem poderá auxiliar a equipe de desenvolvimento a

visualizar melhor o planejamento do sistema e permitir que o desenvolvimento seja mais

rápido ajudando a construir o item correto”.

A modelagem de um sistema tem por objetivo auxiliar na visualização de como

deverá atuar o software, especificar a estrutura ou o comportamento dele, elaborar um guia de

construção e servir como documentação das decisões (BOOCH; RUMBAUGH; JACOBSON,

2000).

O modelo deverá apresentar uma visão panorâmica do sistema, a fim de facilitar o

Page 20: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

20

entendimento de sua complexidade, e ainda possibilitar sua divisão em níveis visando tratar

cada parte separadamente. Evitando, desta forma, ocultar detalhes importantes à edificação do

sistema (BOOCH; RUMBAUGH; JACOBSON, 2000).

Para auxiliar na construção de modelos existe uma linguagem específica, a UML

(Unified Modeling Language). Esta se torna apropriada para demonstrar as funcionalidades de

um sistema em termos de visualização, especificação, construção e documentação (BOOCH;

RUMBAUGH; JACOBSON, 2000).

2.2.2.1 Casos de uso

Com a finalidade de apresentar, durante as fases iniciais de um projeto, os serviços

que um sistema deverá fornecer, o diagrama de casos de uso, que faz parte da UML,

(STADZISZ, 2010) tenta registrar as aplicações nas quais o sistema será empregado, definindo

os requisitos do sistema.

Manifesta, através de atores, as entidades externas - aquelas que interagem

diretamente com o sistema. Os atores podem ser pessoas, softwares, dispositivos ou hardware.

O diagrama ainda descreve cada aplicação do sistema especificando os casos de uso,

responsáveis por representar a interface externa do sistema e todas as transações que unidas

expressam as funcionalidades do sistema (STADZISZ, 2010). A Figura 2 apresenta a forma

como devem ser representados atores, relações e casos de uso em um diagrama de casos de

uso.

Figura 2: Elementos do diagrama de casos de usoFonte: Autoria Própria

O diagrama de casos de uso também representa as relações presentes entre atores-

atores, casos de uso-atores e casos de uso-casos de uso. As relações entre os atores são

atividades realizadas externamente ao sistema, no entanto as efetuadas entre atores e casos de

uso procedem através de comunicações (trocas de mensagens), pois os atores não possuem

Page 21: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

21

conexão direta à estrutura do sistema (STADZISZ, 2010).

Entre casos de uso existem três tipos de relacionamento: os de inclusão, nos quais um

caso de uso agrega outro caso de uso; os de extensão, definido quando um caso de uso menor

necessita, através de uma condição, utilizar serviços de um caso de uso maior; e os de

generalização, que representam um caso de uso que possui funções específicas, mas que

descende de um caso genérico que pode ser aplicado a várias situações (STADZISZ, 2010).

2.2.2.2 Diagramas de Classes

Para a demonstração de um conjunto de classes, interfaces e os relacionamentos que

persistem entre eles, é utilizado o diagrama de classes. Ele é importante não somente para a

visualização, especificação e documentação dos modelos estruturais, como também para

produzir sistemas através da engenharia de produção reversa, a qual “transforma um modelo

em código pelo mapeamento de uma linguagem de implementação” (BOOCH; RUMBAUGH;

JACOBSON, 2000).

As classes são a descrição, de modo genérico, de atributos e comportamentos comuns

para entidades reais, estabelecendo um modelo uniforme para a representação de entidades

semelhantes. Quando as entidades recebem valores específicos para seus atributos, passam a

ser retratadas por objetos (STADZISZ, 2010).

Na UML, as classes são representadas por retângulos com três partições (Figura 3), a

primeira referente à identificação, contendo o nome, o estereótipo (classificador para indicar o

tipo de classe - interface ou controle) e até o pacote do qual faz parte. A segunda partição

discrimina os atributos das classes, a terceira e última apresenta os métodos que pertencem à

classe (STADZISZ, 2010).

Figura 3: Exemplo de uma classe do diagrama de classesFonte: Autoria Própria

O diagrama de classes ainda evidência os relacionamentos existentes entre as classes,

sendo que estes podem ser de associação, agregação e generalização. As associações são os

relacionamentos mais comuns, as quais permitem que os objetos de uma determinada classe

Page 22: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

22

possam se comunicar com objetos de outras classes. A agregação inclui objetos de uma classe

dentro de objetos de outras classes, isto é, um objeto da classe1 passa a fazer parte do objeto

da classe2. O relacionamento de generalização ocorre quando existe a derivação de uma classe

base, isto é, uma especialização de uma classe mais genérica, para a criação da subclasse que

irá incorporar todos os atributos e métodos da classe mãe e ainda adicionar novos

(STADZISZ, 2010).

2.2.2.3 Diagrama Entidade Relacionamento

O Diagrama Entidade Relacionamento (DER) é a projeção gráfica de uma

modelagem conceitual denominada Modelo Entidade Relacionamento (MER). Guimarães

(2003, p.32) afirma que o MER exprime “os diversos tipos de dados requeridos pela

aplicação, os seus inter-relacionamentos e algumas regras de consistência” sem detalhar a

implementação da base de dados. O DER é constituído por entidades e relacionamentos

(GUIMARÃES, 2003).

As entidades, apresentadas em forma de retângulo, manifestam os objetos ou entes

do mundo real que serão registradas na base de dados. Possuem propriedades específicas

denominadas atributos, os quais têm um nome e valor específico para a entidade

(GUIMARÃES, 2003). Um exemplo da representação de entidades pode ser verificado na

Figura 4.

Figura 4: Exemplo de tabela do diagrama entidade relacionamentoFonte: Autoria Própria

Os relacionamentos, representados por losangos, são as associações entre uma

entidade e outra, definindo a interdependência entre elas. Eles possuem como características a

cardinalidade ou multiplicidade, a qual indica o número de ocorrências em um

relacionamento, como por exemplo: um funcionário pode pertencer somente a um

Page 23: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

23

departamento (1:1), porém um departamento pode ter vários funcionários (1:N)

(GUIMARÃES, 2003).

A ferramenta de código aberto, ERDesigner NG, auxilia na construção do diagrama

entidade relacionamento e será utilizada durante a produção do diagrama referente as

entidades e relacionamentos que compõem o presente trabalho (Project Mongwai best of

breed Open Source, 2010).

2.2.3 Implementação

Visando a tradução da especificação do projeto em alguma forma que o computador

possa traduzir em linguagem de máquina, uma linguagem convencional de programação deve

ser utilizada (PRESSMAN, 1995). Pressman (1995, p. 677) declara que linguagens de

programação “são veículos de comunicação entre os seres humanos e os computadores”. O

mesmo autor ainda afirma que alguns critérios podem ser empregados a fim de auxiliar na

escolha da linguagem de programação para um projeto específico, dentre os quais se

destacam: “a área de aplicação geral, a complexidade computacional e algorítmica, o ambiente

em que o software será executado, considerações de desempenho, o conhecimento da equipe

de desenvolvimento de software” (PRESSMAN, 1995, p. 685).

2.2.3.1 Linguagem de Programação Java

Dentre as linguagens de programação, ressalta-se a linguagem orientada a objetos

Java, projetada especificamente para permitir que desenvolvedores de aplicativos escrevessem

um programa uma vez e depois fossem capazes de executá-lo em qualquer parte na Internet

(The Java Language Specification, 2010).

Um objeto pode ser descrito como um bloco independente de código de computador,

caracterizado por descrever entidades que podem ser concretas ou abstratas (LAUDON;

LAUDON, 1999). Laudon (1999, p. 108) afirma que “cada objeto é uma coleção encapsulada

de dados e operações executadas sobre esses dados”. Esses blocos podem ser utilizados em

muitos sistemas diferentes sem a necessidade de alterar o código do programa (LAUDON;

LAUDON, 1999).

Page 24: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

24

De acordo com Deitel (2003, p. 59), a linguagem Java pode ser utilizada “para criar

páginas da Web com conteúdo interativo e dinâmico, para desenvolver aplicativos

corporativos de grande porte, para aprimorar a funcionalidade de servidores da World Wide

Web (…), fornecer aplicativos para dispositivos destinados ao consumidor final e para muitas

outras finalidades”.

Os programas em linguagem Java são constituídos por membros chamados classes

(DEITEL; DEITEL, 2003), responsáveis por especificar um ou mais objetos do mesmo tipo

(ZIVIANI, 2006). Para criar um objeto, é necessário determinar seu tipo e referenciá-lo, isto é,

identificar a qual classe pertence e apelidá-lo, respectivamente, e então criá-lo a partir do

operador new (LINHARES, 2009). Segue um exemplo:

nome_da_classe nome_da_referencia = new nome_da_classe( );

Cada classe possui atributos, os quais definem as características que todos os objetos

pertencentes àquela classe possuem (BOENTE, 2003), além dos métodos, compostos por um

conjunto de instruções – cada uma finalizada por um ponto e vírgula – que definem como este

deve ser executado (BASHAM; SIERRA; BATES, 2005). A sintaxe para declaração de

classes em linguagem Java é a seguinte:

acesso class nomedaclasse

{

//atributos e métodos

}

Onde acesso indica a visibilidade da classe (pública ou sem valor), class indica que é

uma classe e nomedaclasse representa seu nome. “atributos e métodos” é um trecho que não

será compilado, visto que está precedido por duas barras, o que significa que corresponde a

um comentário (BASHAM; SIERRA; BATES, 2005). Os atributos são definidos por meio da

declaração de variáveis, como indica o exemplo:

acesso tipo nome;

Onde acesso define a visibilidade do atributo, tipo indica o que o atributo representa

e nome é a forma de identificar atributo (LINHARES, 2009). A seguir, a tabela 1 – Tipos da

Linguagem Java – demonstra alguns tipos comumente utilizados na linguagem Java para a

declaração de variáveis (BASHAM; SIERRA; BATES, 2005):

Page 25: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

25

Tabela 1 - Tipos da Linguagem Java

Tipo Descrição

Booleano Verdadeiro ou Falso

Char Caracteres

Int Números Inteiros

Double Números Reais

Array Vetor de Tamanho Variável

Fonte: Autoria Própria.

A definição de métodos ocorre declarando-se o tipo de acesso, o qual define a

visibilidade do método, o tipo de retorno que o método irá fornecer, devendo este ser um tipo

existente na linguagem Java ou void quando não há valor de retorno, o nome do método e,

entre parênteses, os parâmetros, isto é, os dados de entrada que o método precisa para

funcionar, descritos por tipo e nome e separados entre vírgulas (LINHARES, 2009). Uma

melhor visualização pode ser obtida no exemplo a seguir:

acesso tipoderetorno nome (tipo1 p1, tipo2 p2,..., tipoN pN)

{

//código do método

//instrução de retorno

}

Conforme citado, classes, atributos e métodos devem ter seu acesso definido.

Determinar o acesso significa indicar que alguns membros poderão estar visíveis ou não

(neste caso estão encapsulados) a outras classes (LINHARES, 2009). Se o acesso é private, o

membro em questão só é acessível pelos métodos da própria classe no qual foi definido, ao

contrário do acesso public, o qual indica que o membro é acessível por outras classes

(LINHARES, 2009).

Dois métodos destacam-se, sendo um deles o main(), utilizado a fim de que o

programa seja executado, visto que este é o responsável por dar início ao processo

(BASHAM; SIERRA; BATES, 2005), e o outro chamado construtora, o qual é requerido pelo

sistema no momento em que ser cria um objeto (BOENTE, 2003). Este método não possui

valor de retorno (BOENTE, 2003), e pode ter fundamental importância para deixar o objeto

Page 26: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

26

pronto para uso no momento em que é criado (LINHARES, 2009). Em Java, a construtora

possui exatamente o mesmo nome da sua classe e é executada no momento em que o objeto é

criado por meio do operador new (LINHARES, 2009).

Existe situações em que pode não ser conceitualmente interessante criar objetos a

partir de uma classe, e para isso, podem-se definir métodos de classe (LINHARES, 2009).

Esses métodos independem da existência de um objeto para serem executados, e podem ser

declarados com a utilização do modificador static:

acesso static tipoderetorno nome

No que diz respeito às classes, a classe de Exceção destaca-se por definir situações de

erro que podem ser localizadas durante a execução do programa (BOENTE, 2003). Para evitar

que o programa finalize devido ao erro, pode-se criar um código para tratar a exceção e desta

forma continuar a execução do programa (BOENTE, 2003). Para isto, pode-se fazer uso das

declarações try e catch, onde a primeira contém o trecho do código no qual poderá ocorrer

uma exceção, enquanto que catch recebe o código que irá manipular a exceção caso esta

venha a ocorrer (BOENTE, 2003).

Dentre os modos dos objetos se relacionarem em um sistema orientado a objetos,

ressalta-se a relação de associação, diferenciada pelo fato de que determinados objetos podem

ter acesso aos métodos de outros objetos. Para isto, se faz necessário que, dentre os atributos

da classe que terá acesso aos outros métodos, seja declarada uma referência para o objeto da

classe com a qual se deseja relacionar (LINHARES, 2009). No que diz respeito ao

relacionamento entre classes, destaque para a herança, a qual possibilita que uma classe utilize

as definições existentes em outra classe sem a necessidade de reescrevê-la (BOENTE, 2003) e

ainda possa adicionar características próprias (LINHARES, 2009). Em Java, a relação de

herança é descrita utilizando a palavra extends no cabeçalho da classe que irá empregar

características de outra classe (a qual está definida no exemplo abaixo como B) e ainda

adicionar suas próprias:

class D extends B

Buscando evitar que o programador tenha necessidade de desenvolver cada pedaço

que será útil na construção de um programa em Java, existem preciosas coleções de classes

denominadas bibliotecas de classes Java, fornecidas tanto por distribuidores de compiladores

quanto por fornecedores independentes de software (DEITEL; DEITEL, 2003). Para serem

utilizados, os pacotes devem ser importados a partir da declaração (BOENTE, 2003):

import NomeDoPacote.NomeDaClasse;

Page 27: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

27

Para serem executados, os programas em Java normalmente atravessam cinco fases:

edição, compilação, carga, verificação e execução. A edição, concretizada a partir da

utilização de um programa editor, visa editar um arquivo, isto é, gerar um código fonte

(BOENTE, 2003). Ambientes de Desenvolvimento Integrado (IDEs) Java têm editores

embutidos integrados de forma transparente ao ambiente de programação. Na compilação,

segunda fase, o compilador exprime o programa Java no formato de bytecodes - a linguagem

que o interpretador Java compreende (DEITEL; DEITEL, 2003).

A carga, terceira parte, carrega o programa na memória antes que o mesmo seja

executado. A penúltima etapa, verificação, permite que os bytecodes sejam verificados pelo

verificador de bytecodes, o qual garante a validade dos mesmos e a não violação das restrições

de segurança de Java. Por fim, a execução possibilita que o computador, controlado pela CPU,

interprete o programa e realize a ação especificada (DEITEL; DEITEL, 2003).

Tendo em vista a implementação do software, neste trabalho será utilizado o IDE

NetBeans, de código-fonte aberto, o qual permite desenvolver aplicativos para desktop e Web

em linguagem Java, C/C++, PHP, JavaScript, Groovy e Ruby (Welcome to NetBeans, 2010).

A biblioteca JFreeChart será utilizada para auxiliar na elaboração dos gráficos.

Distribuída sob os termos da licença GNU (GNU Lesser General Public Licence), permite o

desenvolvimento de gráficos de qualidade profissional. Possui uma grande variedade de tipos

de gráficos e suporta vários tipos de saída, tais como componentes Swing do Java, arquivos de

imagem, entre outros (VIKLUND, 2010).

Ainda serão empregadas as bibliotecas Swing e Awt para possibilitar a interação entre

o usuário e o software por meio de interfaces gráficas com o usuário (GUI’s). Esta forma de

interface utiliza botões, ícones, barras e boxes – dispostos em janelas (JFrame) – para

representar operações comuns, o que explica a facilidade no manuseio (LAUDON; LAUDON,

1999). A tabela 2 – Componentes Gráficos da Interface – aponta os componentes que serão

utilizados nas GUIs do presente trabalho (JAVA 2 PLATFORM SE 5.0, 2010):

Tabela 2 - Componentes Gráficos da Interface

Componente Definição

Button Botão de clique.

ComboBox Possui um botão e uma lista. O usuário pode selecionar um valor a partir dessa lista.

Page 28: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

28

Fonte: Autoria Própria.

Os componentes da interface gráfica Java aguardam a ocorrência de algum evento

externo e então reagem a esse evento de acordo com a instrução programada, o que significa

dizer que o funcionamento da API gráfica Java é orientado a eventos (LINHARES, 2009).

Quando ocorre um evento, um método especial, actionPerformed, deve ser acionado para que

trate o evento do modo adequado (JAVA 2 PLATFORM SE 5.0, 2010).

2.2.3.2 Banco de Dados

A fim de utilizar os dados com eficácia, é importante organizá-los e estruturá-los,

buscando manter agrupados aqueles que recaem em informações semelhantes. Dentre as

formas existentes de gerenciamento e armazenamento de dados, está o banco de dados,

definido por Laudon (1999, p. 126) como “uma coleção de dados organizados de tal forma

que possam ser acessados e utilizados por muitas aplicações diferentes”.

O Sistema Gerenciador de Banco de Dados (SGBD) é um software responsável por

possibilitar que os dados sejam armazenados em um só lugar, tornando-os disponíveis para

aplicações divergentes. Serve como interface entre o banco de dados comum e diversos

programas aplicativos (LAUDON; LAUDON, 1999). O primeiro SGBD comercial surgiu no

ano de 1960, baseado nos arcaicos sistemas de arquivos existentes na época (TAKAI;

ITALIANO; FERREIRA, 2005). Dentre as vantagens dos sistemas de gerenciamento de

banco de dados estão (LAUDON; LAUDON, 1999):

Independência dos dados em relação aos programas aplicativos;

Redução da inconsistência e redundância dos dados;

Informações com acesso e uso facilitado.

A linguagem de manipulação de dados, componente dos sistemas de gerenciamento

de banco de dados, é responsável por manipular banco de dados, dispondo de recursos que

permitem ao usuário extrair dados do banco de dados, satisfazer solicitações de informações e

desenvolver aplicações. Atualmente, a mais importante linguagem de manipulação de dados é

a Structured Query Language (SQL) (LAUDON; LAUDON, 1999), a qual combina

construtores em álgebra e cálculo relacional. (TAKAI; ITALIANO; FERREIRA, 2005).

Dentre os quatro modelos de banco de dados existentes – modelo hierárquico,

modelo em redes, modelo relacional e modelo orientado a objetos - (TAKAI; ITALIANO;

Page 29: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

29

FERREIRA, 2005), destaca-se o relacional, o qual se caracteriza por aumentar a autonomia

dos dados nos SGBDs e fornecer um grupo de funções baseadas na álgebra relacional a fim de

armazenar e recuperar os dados (TAKAI; ITALIANO; FERREIRA, 2005).

Como o próprio nome aponta, o modelo descrito acima é fundamentado na relação -

tabela. Estas são representadas por uma ou mais colunas, chamadas atributos, responsáveis por

traduzir o tipo de dados a armazenar, e por linhas, nomeadas t-uplas (TAKAI; ITALIANO;

FERREIRA, 2005). A vantagem desse modelo é o fato de que um elemento de uma tabela

pode ser relacionado a qualquer outro em uma tabela diferente, desde que ambas

compartilhem um elemento de dado comum (LAUDON; LAUDON, 1999).

Para fins de armazenamento dos dados utilizados no presente trabalho, a ferramenta

adotada será o Oracle Database 10g Express Edition (Oracle Database XE), uma versão de

banco de dados - cujo código é livre para o desenvolvimento - baseado no código do Oracle

10g Release. Utiliza a linguagem SQL (Structured Query Language) e é uma ferramenta

simples de administrar (Oracle, 2010).

Buscando vincular o software desenvolvido em linguagem Java com o banco de

dados do Oracle Express, será empregada a biblioteca Java Database Connectivity (JDBC).

Ela permite que se estabeleça uma integração com um banco de dados, envio de instruções

SQL e o processamento dos resultados (JDBC – Oracle Wiki., 2010).

2.2.4 Javadoc

Ferramenta utilizada a fim de elaborar a documentação de pacotes, classes, atributos

e métodos Java em formato HTML, partindo do processamento do código fonte com

comentários em formato adequado (RICARTE, 2010).

2.3 Metodologia da Revisão Bibliográfica

Com o intuito de obter conhecimento sobre a área onde o tema de estudo será

aplicado, foi realizada uma investigação em base de dados de bibliotecas virtuais. Para isto,

foram consultadas as bibliotecas virtuais do SciELo Brasil (http://www.scielo.br), LILACS,

indexado na base de dados da Biblioteca Virtual em Saúde (BVS -

http://bvsms.saude.gov.br/php/index.php) e PubMed (http://www.pubmed.com). Também

Page 30: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

30

foram examinados os periódicos da Coordenação de Aperfeiçoamento Pessoal de Nível

Superior (CAPES - http://www.capes.gov.br/): International Journal of Medical Informatics;

Artificial Intelligence in Medicine; SAGE Journals Online. Ainda os congressos da Sociedade

Brasileira de Informática em Saúde (SBIS - http://www.sbis.org.br/).

Visando delimitar os materiais a serem pesquisados, foi determinado um grupo de

palavras chaves para efetuar as buscas. As seguintes palavras: asilo, banco de dados, database,

epidemiológico, gráfico, idoso, informática, informática médica, instituição permanência,

instituições, Java, linguagem Java, old, prontuário eletrônico, prontuário computadorizado,

prontuários, registro eletrônico de paciente, saúde, sistema, sistemas computadorizados. Estas

foram inseridas individualmente ou combinadas entre si, cada combinação contendo no

máximo três elementos.

Ao término das consultas foram coletados 40 (quarenta) artigos, os quais sofreram

uma leitura exploratória a fim de agrupá-los de acordo com sua abordagem e classificá-los por

grau importância, recebendo valor: cinco - muita importância e maior relevância para o tema -

, quatro - importantes -, três – poderiam servir de apoio -, dois – baixa relevância ao tema - e

um - não se enquadram ao tema.

Para conceituar termos utilizados no processo de desenvolvimento do objeto, foram

examinados livros relacionados a tópicos tais como: algoritmos, banco de dados, engenharia

de software, linguagem Java, lógica para computação, entre outros. Wazlawick (2008, p. 28)

defende que “os livros normalmente contêm informação mais completa, didática e bem

amadurecida”, fato que serve de motivação ao uso desta fonte bibliográfica para obter

informações que já estão consolidadas (WAZLAWICK, 2008).

2.4 Resultados e Discussões

A Tabela 3 aponta os 40 artigos angariados distribuídos segundo a classificação que

lhes foi atribuída.

Tabela 3 - Classificação dos artigos de acordo com o grau de importância.

Grau de Importância Número de Artigos Porcentagem (%)

Cinco 3 10

Page 31: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

31

Quatro 16 37,5

Três 11 27,5

Dois 9 22,5

Um 1 2,5

Total 40 100

Fonte: Autoria Própria

Aqueles que receberam valoração um ou dois foram descartados do grupo de artigos

de real importância por motivo de não contribuírem diretamente para o aprofundamento do

tema da pesquisa.

Os artigos agrupados no conjunto de Informática em Saúde receberam valor três na

sua classificação pelo fato de servirem como base para a compreensão da área. Porém,

aqueles que possuem relação com temas tais como perfil epidemiológico, instituições de

longa permanência, banco de dados, em meio a outros, receberam valoração quatro ou cinco.

Características como: banco de dados, linguagem Java e prontuários eletrônicos

presentes nos artigos, justificaram a sua avaliação como grau de importância quatro. Este

grupo destaca-se por assessorar a construção do objeto de estudo.

Artigos cuja abrangência refere-se ao perfil epidemiológico de idosos ou a

instituições de longa permanência para idosos foram avaliados como os de maior

proeminência (valor cinco). Considerando ambos os grupos, dois artigos (DANILOW et al.,

2007; SILVA et al.) obtiveram destaque pelo fato de serem análogos à dissertação de mestrado

realizada por Regina Bueno Ribas Pinto, a qual serve de base à concepção do presente

trabalho.

Percebe-se que, dentre os três artigos, todos os questionários foram validados por

especialistas na área. Apenas um (DANILOW et al., 2007) aplicou o questionário diretamente

aos idosos como forma de obter os dados para análise e tratamento, enquanto os outros dois

(PINTO, 2008; SILVA et al.) preferiram que os responsáveis pelos idosos preenchessem o

conjunto de perguntas. Para armazenamento dos dados, dois optaram pelo uso de banco de

dados (Oracle Express Edition 10g e Access) (PINTO, 2008; SILVA et al.), ao passo que o

outro escolheu utilizar o Microsof Excel 2000 Premium (DANILOW et al., 2007).

A Tabela 4 apresenta os números e porcentagens de artigos que constituem cada

Page 32: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

32

bloco de abordagem semelhante. Deve-se observar que um mesmo artigo pode ser

enquadrado em mais de uma abordagem de pesquisa.

Tabela 4 - Classificação dos artigos de acordo com a abordagem de pesquisa.

Abordagem de

Pesquisa

Número de

Artigos

Porcentagem

(%)

Informática em Saúde 8 20

Doenças e Qualidade de Vida 4 10

Domínio da Informática por Profissionais da Saúde 3 7,5

Dificuldades dos Idosos 1 2,5

Quedas de Idosos 3 7,5

Perfil Epidemiológico de Idosos 7 17,5

Instituições de Longa Permanência para Idosos 10 25

Prontuários Eletrônicos 7 17,5

Banco de dados (relacionados às pesquisas em informática em

saúde)

6 15

Java (relacionada às pesquisas em informática em saúde) 1 2,5

Fonte: Autoria Própria

O nome do autor, título, nome do periódico onde foi publicado, a base de dados e as

palavras chaves utilizadas na pesquisa, além dos itens que aborda e a classificação de cada

artigo podem ser visualizados no Apêndice A.

2.5 Conclusão

No decurso da pesquisa sobre Informática em Saúde, verificou-se a importância de

informações para tomada de decisões na área da saúde. Buscando proporcionar dados mais

confiáveis e precisos, vem crescendo o uso da informática nesta especialidade. Devido a isso,

constatou-se a necessidade de que profissionais deste meio possuam aptidão para manusear

Page 33: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

33

ferramentas computacionais de apoio à área.

Tentando promover o desenvolvimento desta habilidade, o profissional da

computação deve produzir aplicações simples e de fácil compreensão, para que a

informatização não seja vista como empecilho, mas como uma ferramenta que proporcione

enriquecimentos e favoreça o crescimento no campo da saúde.

Page 34: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

34

3 DESENVOLVIMENTO DA PROPOSTA

Para o desenvolvimento do presente trabalho, em primeiro momento, foi realizado

um estudo para tomar conhecimento do problema proposto e estabelecer metas e objetivos.

Desta forma tornou-se possível dividir o processo em três etapas a fim de que o mesmo

pudesse ser concluído dentro do limite imposto pela disciplina Metodologia de Pesquisa. As

fases denominadas planejamento de projeto, modelagem do sistema e implementação serão

descritas nas seções deste capítulo.

3.1 Planejamento de Projeto

A fim de criar um plano para definir as atividades a serem realizadas ao longo do

processo de desenvolvimento deste projeto, elaborou-se um Cronograma – Quadro 2 –, o qual

especifica cada atividade a ser desempenhada.

Data de início Data limite Código Atividades

10/03/2010 17/03/2010 01 Elaborar pré-projeto.

10/03/2010 16/05/2010 02 Pesquisar conteúdo da revisão.

05/04/2010 09/04/2010 03 Estudar DER e relações entre tabelas.

05/04/2010 09/04/2010 04 Estudar biblioteca SQL e plotagem de

gráficos.

28/03/2010 16/05/2010 05 Desenvolver a monografia.

26/04/2010 07/05/2010 06 Implementar classes para leitura dinâmica dos

dados.

07/05/10 19/05/2010 07 Implementar classes para gerar os gráficos.

19/05/2010 21/05/2010 08 Rever monografia.

Quadro 2 – Cronograma de AtividadesFonte: Autoria Própria

A atividade de código 01, elaborar pré-projeto, baseou-se na primeira pesquisa sobre

o problema proposto com intuito de definir o tema a ser abordado no projeto. A tarefa a

serguir, de código 02, consistiu em realizar um levantamento bibliográfico através de

pesquisas em bases de dados de bibliotecas virtuais, processo este detalhado no capítulo 2,

Page 35: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

35

item 2.3.

O estudo do DER e das relações entre tabelas - já definidas no trabalho de

PINTO(2008) -, código 03, propôs-se a compreender as tabelas e suas relações. Neste estágio,

observou-se a vasta possibilidade de combinações existentes para gerar os gráficos, visto que

existem doze (12) tabelas e que uma grande parte dos atributos de uma tabela poderia se

relacionar com atributos de outra tabela para a confecção do gráfico. Desta forma, foram

selecionadas apenas as tabelas “Instituição” e “Idoso” e somente alguns de seus atributos

(“Tipo” e “Sexo, Idade aparente, País nascimento, Estado civil, Número de filhos, Cor,

Escolaridade, Aposentado, Tipo convênio, Outras Instituições, Meses de institucionalização,

Aceitação instituição, Escolha institucionalização, Motivo institucionalização”,

respectivamente) para gerar os gráficos.

Em sequência, as tarefas, estudar biblioteca SQL e plotagem de gráficos (código 04),

dedicaram-se ao entendimento das bibliotecas JDBC e JFreeChart (capítulo 2, itens 2.2.3.2 e

2.2.3.1, respectivamente), o que permitiu analisar as funcionalidades que essas bibliotecas

disponibilizam e quais seriam aplicadas na implementação. Assim, durante este período,

decidiu-se que o sistema produziria somente gráficos de colunas (utilizados com maior

frequência para realizar comparações entre grupos, neste caso entre atributos) devido a sua

implementação apresentar-se mais simples.

A tarefa desenvolver monografia – código 05 – consolidou-se em estruturar toda a

pesquisa realizada e os procedimentos adotados para a construção do artefato sugerido no

princípio deste projeto.

A sexta atividade (código 06), implementar classes para leitura dinâmica de dados, é

definida pela construção da classe responsável por realizar a ligação entre a base de dados o

código fonte do software. E a tarefa de código 07, implementar classes para gerar os gráficos,

é a que produz a classe utilizada para a recepção de dados que compõem o gráfico e plotagem

de gráfico em uma interface. Rever monografia (código 08), última atividade, consiste em

revisar e complementar, dentro do possível, o conteúdo já registrado na monografia.

A definição do cronograma possibilitou a criação do gráfico de Gantt (Gráfico 1), o

qual permite melhorar a visualização de início e término das atividades já descritas.

Page 36: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

36

Gráfico 1 – Gráfico de GanttFonte: Autoria Própria

Page 37: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

37

Em conjunto com a elaboração do cronograma e gráfico de Gantt, realizou-se

também a criação do Burndown Chart inicial (Gráfico 2), o qual, considerando as atividades a

serem desempenhadas e o prazo para entrega final do projeto, previu 85 horas necessárias

para a execução deste trabalho dentro de um período de 60 dias.

Gráfico 2 – BurnDown Chart InicialFonte: Autoria Própria.

3.2 Modelagem do Sistema

Esta etapa caracterizou-se por criar um modelo, através dos padrões de modelagem

descritos no capítulo 2, item 2.2.2, para detalhar o artefato a ser construído, buscando

minimizar as falhas no decorrer do desenvolvimento do software.

3.2.1 Diagrama de Casos de Uso

Para exemplificar a maneira como o sistema deve ser utilizado, o diagrama de casos

de uso a seguir (Figura 5) demonstra que o usuário – o qual tende a pertencer ao grupo dos

Page 38: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

38

profissionais da saúde – deverá escolher alguns dos atributos disponíveis no sistema para que,

a partir da verificação dos dados selecionados e da consulta ao banco de dados, a relação entre

os atributos escolhidos seja exibida em forma gráfica.

Figura 5: Diagrama de Casos de Uso.Fonte: Autoria Própria.

3.2.2 Diagrama Entidade Relacionamento

O diagrama de entidade relacionamento desenvolvido, o qual pode ser verificado na

Figura 6, consistiu em uma alteração realizada na tabela “Instituição” do diagrama já proposto

por PINTO (2008). A entidade “Instituicao” recebeu mais seis atributos: “nome_instituicao”,

“logradouro”, “complemento”, “numero”, “bairro”, e “NR” (número), os quais serviram para

melhorar a identificação da mesma.

Page 39: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

39

Figura 6: Diagrama Entidade Relacionamento.Fonte: Autoria Própria.

Como durante a atividade de código 03, apresentada no cronograma (Quadro 2), foi

estipulada a utilização de somente duas tabelas - “Instituição” e “Idoso” –, o conteúdo

presente nas demais tabelas não será apresentado neste trabalho e seus dados não serão

instanciados no banco de dados.

Analisando o DER, é possível perceber que para um idoso fazer parte do conjunto de

idosos, é necessário que a instituição na qual ele resida esteja contida na tabela “Instituicao”.

Todas as entidades, com exceção da “Instituicao”, possuem o par “cod_instituicao,

cod_idoso” (representa o código da instituição que o idoso pertence e o código do idoso,

respectivamente), o qual é utilizado para buscar uma t-upla específica e, portanto nunca deve

ocorrer sua repetição na mesma tabela. Além disso, se um par fizer parte da tabela “Ortese”,

“Renda”, “Medicamentos”, “Habitos_vida”, “Visita_semanal”, “Queixas”,

Page 40: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

40

“Diagnostico_medico”, “Acomodacoes”, “Atividades” ou “Queda” deve, obrigatoriamente,

referenciar um par já existente em “Idoso”.

O conceito explicado acima será utilizado para realizar a busca na base de dados

quando um usuário desejar gerar um gráfico relacionando atributos de tabelas distintas.

3.2.3 Diagrama de Classes

O diagrama de classe apresentado na Figura 7 serviu de apoio para a implementação

do software. Sua construção após a execução da atividade de código 04 e da modelagem do

sistema permitiu definir quais classes seriam necessárias para a construção do sistema e a

relação existente entre cada uma delas.

Figura 7: Diagrama de Classes.Fonte: Autoria Própria.

3.3 Implementação

Tendo findado as etapas de modelagem, deu-se início à fase de implementação

(capítulo 2 item 2.2.3), na qual todos os detalhes do modelo projetado foram traduzidos, por

Page 41: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

41

meio da linguagem Java (capítulo 2, item 2.2.3.1), para uma forma entendível pelo

computador, visando construir o software. Durante a elaboração do código fonte percebeu-se

que a versão atual do NetBeans IDE (6.8) não localizava, no seu diretório de bibliotecas, os

pacotes referentes a biblioteca JFreeChart, tornando-se necessário utilizar a versão 5.5 do

NetBeans IDE, visto que esta identifica a biblioteca para geração de gráficos. O presente

capítulo descreve as classes que compõem o software, apresentando o código fonte somente

das classes consideradas com maior grau de importância. Para visualizar o código fonte de

todas as classes, consultar CD em anexo.

Logo após o desenvolvimento da implementação tornou-se admissível gerar o

Javadoc (capítulo 2, item 2.2.4) como forma de documentação do código fonte, além da

produção do manual do usuário (capítulo 2, item 2.2), o qual descreve a forma de interação

entre o usuário e o software. Este pode ser consultado no CD em anexo.

3.3.1 Classes de auxílio

Nesta seção serão apresentadas as classes de apoio para a implementação,

caracterizadas por não exercerem função de controle no sistema. A primeira classe,

projetoidoso, é responsável por inicializar o programa, isto é, contém o método main().

Tela1 é a classe que constrói uma interface gráfica, permitindo que o usuário indique,

entre as alternativas disponíveis, duas tabelas dentre as quais deseja construir uma relação.

Essa classe é uma especialização da classe JFrame, e possui dois ComboBox e um Button

como elementos. Cada ComboBox contém o nome de todas as tabelas pertencentes ao banco

de dados, e o Button denominado “OK” permite que a Tela2 se torne visível. Além disso, a

classe possui um objeto que referencia a classe Ouvinte, definida no item 4.2, responsável por

identificar ações realizadas no Button “OK”.

A classe Tela2, herdada de JFrame, estabelece uma interface gráfica que possibilita a

escolha de dois atributos que serão comparados no gráfico. Possui como componentes dois

ComboBox, cujos itens são carregados por meio de um objeto da classe ConexaoBanco, sendo

que o primeiro é composto pelo nome de cada campo presente em uma das tabelas

selecionadas na tela anterior, e o segundo é composto pelo nome de cada campo existente na

outra tabela. Além disso, está incluso o Button “Gerar Gráfico”, responsável por inicializar a

TelaGrafico, o qual está associado a um objeto que referencia a classe ouvinte.

Existem ainda as classes TratamentoString, a qual manipula um string recebido para

Page 42: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

42

que fique no formato adequado para sua utilização, e DadosGrafico, caracterizado por reunir

os atributos da entidade gráfico (quantidade, legendaBaixo e legendaBarra) em um único

objeto. Essas classes não serão descritas minuciosamente, visto que servem apenas de apoio

às outras classes.

3.3.2 Classes de controle

Os códigos fonte apresentados abaixo detalham o modo como funcionam as classes

encarregadas por efetuar as ações que definem o funcionamento do sistema.

3.3.2.1 Classe Ouvinte

A classe Ouvinte, responsável por tratar os eventos sofridos pelos botões do sistema,

possui os seguintes atributos:

public JComboBox j1, j2;.A construtora dessa classe recebe como parâmetro dois ComboBox e inicializa cada

atributo com cada ComboBox recebido.

public Ouvinte (JComboBox jCombo1, JComboBox jCombo2){ j1 = jCombo1; j2 = jCombo2; }

O método actionPerformed é responsável por identificar a origem de um evento –

que no caso deste software pode ser o Button “OK” ou o Button “Gerar Gráfico” – recebido

como atributo. Independente da fonte do evento, os itens selecionados em cada ComboBox

recebido pela construtora serão captados. Caso a origem seja identificada como proveniente

do Button “OK”, os itens selecionados serão enviados à classe ComandosSQL para dar valor

aos atributos tabela1 e tabela2 e a Tela2 será inicializada. Porém, se a origem do evento

estiver relacionada ao Button “Gerar Gráfico”, os itens seletos, desde que estejam entre os

passíveis de gerar gráfico, serão enviados à classe ComandosSQL para dar valor aos atributos

atributo1 e atributo2 e a TelaGrafico será inicializada. O código fonte da classe Ouvinte pode

ser visualizado a seguir:

class Ouvinte implements ActionListener

Page 43: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

43

{ // atributos public JComboBox j1, j2; // construtora public Ouvinte (JComboBox jCombo1, JComboBox jCombo2) { j1 = jCombo1; j2 = jCombo2;}

public void actionPerformed(ActionEvent e){

// origem é o Button que irá receber a fonte do evento JButton origem = (JButton)(e.getSource()); // Compara a origem recebida com o Button “OK” if(origem.getText().equals("OK")){

// Se pelo menos um dos itens selecionados nos ComboBox recebidos for igual//a vazio, isto é, não houver nada selecionado

if (j1.getSelectedItem().equals("")||j2.getSelectedItem().equals("")){

// mensagem de erro JOptionPane.showMessageDialog(null,"Selecione dois itens!", "ERRO",

0); return; }

// se os dois itens forem diferentes de vazio else{

// se um item selecionado for igual ao outro if(j1.getSelectedItem().equals(""+j2.getSelectedItem())) {

// mensagem de erro JOptionPane.showMessageDialog(null, "Selecione itens diferentes!","ERRO", 0); j1.setSelectedIndex(0); j2.setSelectedIndex(0); return; }

// se um item for diferente do outro else { // Registra o nome das tabelas escolhidas, após estas passarem por//um processo de tratamento que retira os acentos, para utilizar depois

ComandosSQL.setTabela1(TratamentoString.getEliminarAcentos(""+j1.getSelectedItem())); ComandosSQL.setTabela2(TratamentoString.getEliminarAcentos(""+j2.getSelectedItem()));

//Carrega a nova janela Tela2 t2 = new Tela2(); t2.setVisible(true); } }

Page 44: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

44

} // Compara a origem recebida com o Button “Gerar Gráfico” if(origem.getText().equals("Gerar Gráfico")){

// Se pelo menos um dos itens selecionados nos ComboBox recebidos for// igual a vazio, isto é, não houver nada selecionado

if (j1.getSelectedItem().equals("")||j2.getSelectedItem().equals("")) {

// mensagem de erro JOptionPane.showMessageDialog(null,"Selecione dois itens!",

"ERRO", 0); return; }

// se os dois itens forem diferentes de vazio else// Se pelo menos um item selecionado for igual a um dos atributos que não

//fazem parte do/grupo de atributos com os quais é possível gerar gráfico { if(j1.getSelectedItem().equals("DATA

NASCIMENTO")||j1.getSelectedItem().equals("MUNICIPIO NASCIMENTO")|| j1.getSelectedItem().equals("ESTADO

NASCIMENTO")||j1.getSelectedItem().equals("RACA")||j1.getSelectedItem().equals("PROFISSAO")|| j1.getSelectedItem().equals("PROCEDÊNCIA")||j2.getSelectedItem().equals("DATA NASCIMENTO")||j2.getSelectedItem().equals("MUNICIPIO NASCIMENTO")|| j2.getSelectedItem().equals("ESTADO

NASCIMENTO")||j2.getSelectedItem().equals("RACA")||j2.getSelectedItem().equals("PROFISSAO")|| j2.getSelectedItem().equals("PROCEDÊNCIA")) { //mensagem de erro JOptionPane.showMessageDialog(null, "Opção indisponível!","ERRO", 0); j1.setSelectedIndex(0); j2.setSelectedIndex(0); return; }

//se ambos itens selecionados estiverem no grupo dos atributos com os//quais é possível elaborar gráficos

else{ // Registra os atributos selecionados.

ComandosSQL.setAtributo1(TratamentoString.getColocarCaracteresEspeciais(""+j1.getSelectedItem()));

ComandosSQL.setAtributo2(TratamentoString.getColocarCaracteresEspeciais(""+j2.getSelectedItem()));

// Carrega a nova tela new TelaGrafico().setVisible(true); } } } }}

Page 45: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

45

Desta forma, quando ocorrer uma ação em qualquer um dos botões do sistema

Projeto Idoso, a classe Ouvinte irá tratá-la de acordo com o que foi apresentado a cima. A fim

de mostrar outra funcionalidade do sistema, a próxima seção refere-se à classe que estabelece

os comandos que serão realizados no banco de dados.

3.3.2.2 Classe ComandosSQL

Responsável por deter os dados e comandos que serão utilizados durante a busca no

banco de dados, a classe ComandosSQL possui como atributos:

static String tabela1, tabela2, atributo1, atributo2, comando;.

Existem métodos que dão valores aos atributos tabela1, tabela2, atributo1 e

atributo2, além de outros métodos que retornam os valores dessas mesmas variáveis quando

solicitados. O método getTipos recebe o nome da tabela e o respectivo atributo como

parâmetro e retorna o conjunto de opções de busca ao banco de dados que o par oferece. O

retorno deste método é utilizado por outro método, getResultadoBusca, o qual estabelece uma

conexão com o banco de dados e realiza quantas buscas sejam necessárias ao mesmo para

satisfazer todas as opções de busca que o par indicou. Este método retorna um array

redimensionável do tipo DadosGrafico, o qual contém os dados necessários para que, mais

tarde, seja possível gerar o gráfico. O código do método getTipos não está inteiramente

desenvolvido visto que não serão utilizadas todas as tabelas para a confecção dos gráficos no

presente trabalho.

Para melhor compreensão, suponha tabela1 = “Idoso”, tabela2 = “Instituição”,

atributo1 = “Sexo” e atributo2 = “Tipo”. O método getTipos retorna: ["sexo='feminino'”;

"sexo='masculino'"] para a dupla “Idoso” e “Sexo” e ["tipo='particular'";

"tipo='filantrópica'"] para a dupla “Instituição” e “Tipo”. O método getResultadoBusca irá

retornar um vetor redimensionável com quatro posições, cada uma contendo o resultado da

busca realiza entre todas as combinações possíveis dos resultados de getTipos obtidos para

cada dupla. Uma opção de busca seria, por exemplo, a combinação entre "sexo='feminino'” e

"tipo='particular'”, cujo comando SQL elaborado no método getResultadoBusca seria:

"SELECT count(*)as resultado FROM Idoso, Instituição WHERE Idoso.cod_instituicao =

Instituição.cod_instituicao AND (Idoso.sexo = ‘feminino’) AND (Instituição.tipo =

‘particular’". O código completo da classe ComandosSQL está descrito a seguir:

class ComandosSQL {

Page 46: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

46

// atributos static String tabela1, tabela2, atributo1, atributo2, comando; // método que dá valor ao atributo tabela1, de acordo com um parâmetro recebido static void setTabela1(String t1) { tabela1 = t1; } // método que dá valor ao atributo tabela2, de acordo com um parâmetro recebido static void setTabela2(String t2) { tabela2 = t2; } // método que dá valor ao atributo atributo1, de acordo com um parâmetro //recebido static void setAtributo1(String a1) { atributo1 = a1; } // método que dá valor ao atributo atributo2, de acordo com um parâmetro

recebido static void setAtributo2(String a2) { atributo2 = a2; } //método que retorna o valor do atributo tabela1 static String getTabela1() { return tabela1; } //método que retorna o valor do atributo tabela2 static String getTabela2() { return tabela2; } //método que retorna o valor do atributo atributo1 static String getAtributo1() { return atributo1 ; } //método que retorna o valor do atributo atributo2 static String getAtributo2() { return atributo2 ; }

static ArrayList <DadosGrafico> getResultadoBusca() {

// Estabelece uma conexão com o banco de dados ConexaoBanco cb = new ConexaoBanco();

// Cria um vetor redimensionável para receber o conjunto de comandos de

Page 47: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

47

//busca possível para o par tabela1 e atributo1 ArrayList <String> tab_atri_1 = ComandosSQL.getTipos(tabela1, atributo1);

// Cria um vetor redimensionável para receber o conjunto de comandos de //busca possível para o par tabela2 e atributo2

ArrayList <String> tab_atri_2 = ComandosSQL.getTipos(tabela2, atributo2);//Cria um vetor redimensionável para receber todos o resultado da busca ao //banco de dados

ArrayList <DadosGrafico> resposta = new ArrayList <DadosGrafico>();//Cria um objeto do tipo DadosGrafico

DadosGrafico dg ; int quantidade;

//Interação que irá repetir de acordo com a quantidade de resultados que a //busca por comandos envolvendo tabela1 e atributo1 resultou

for(int i=0; i<tab_atri_1.size();i++) {

//Interação que irá repetir de acordo com a quantidade de resultados que a //busca por comandos envolvendo tabela2 e atributo2 resultou

for(int j=0; j<tab_atri_2.size(); j++) {

// a variável quantidade recebe o resultado da busca no banco de dados //efetuada pelo método select da classe ConexaoBanco

quantidade = cb.select("SELECT count(*)as resultado FROM "+tabela1+"," +tabela2+ " WHERE " +tabela1 + ".cod_instituicao = " + tabela2 +

".cod_instituicao AND ("+tabela1+ "."+tab_atri_1.get(i)+") AND ("+tabela2+"."+tab_atri_2.get(j)+")");

dg =new DadosGrafico(); // armazena a quantidade obtida

dg.setQuantidade(quantidade);// armazena o nome do atributo2, que será utilizado como legenda no //gráfico

dg.setLegendaBarra(tab_atri_2.get(j));// armazena o nome do atributo1, que será utilizado como legenda no //gráfico

dg.setLegendaBaixo(tab_atri_1.get(i));//adiciona o trio “quantidade, atributo2, atributo1” no vetor //redimensionável que será o retorno deste método

resposta.add(dg); } } return resposta; } private static ArrayList <String> getTipos(String tabela, String atributo) {

//Cria um vetor redimensionável que será o retorno do método ArrayList <String> tipos = new ArrayList<String>();

//Inicia uma sequência de comparações até encontrar qual é a tabela recebida //como parâmetro

if(tabela.equalsIgnoreCase("instituicao")) {

Page 48: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

48

// quando o nome da tabela é localizado, verifica-se qual é o atributo //recebido como parêmetro

if(atributo.equalsIgnoreCase("tipo")) {

// e por fim, quando o atributo é identificado, o vetor de retorno adiciona//todas as opções de busca quantas existirem

tipos.add("tipo='particular'"); tipos.add("tipo='filantrópica'"); } } if(tabela.equalsIgnoreCase("idoso")) { if(atributo.equalsIgnoreCase("sexo")) { tipos.add("sexo='feminino'"); tipos.add("sexo='masculino'"); } if(atributo.equalsIgnoreCase("estado_civil")) { tipos.add("estado_civil = 'solteiro' OR estado_civil = 'solteira'"); tipos.add("estado_civil = 'casado' OR estado_civil = 'casada'"); tipos.add("estado_civil = 'viúvo' OR estado_civil = 'viúva'"); tipos.add("estado_civil = 'separado' OR estado_civil = 'separada'"); tipos.add("estado_civil is null"); } if(atributo.equalsIgnoreCase("numero_filhos")) { tipos.add("numero_filhos = 0"); tipos.add("numero_filhos >=1 AND numero_filhos < 3"); tipos.add("numero_filhos >=3 AND numero_filhos < 5"); tipos.add("numero_filhos >5"); tipos.add("numero_filhos is null"); } if(atributo.equalsIgnoreCase("idade_aparente")) { tipos.add("idade_aparente >= 60 AND idade_aparente < 70"); tipos.add("idade_aparente >= 70 AND idade_aparente < 80"); tipos.add("idade_aparente >= 80 AND idade_aparente < 90"); tipos.add("idade_aparente > 90"); tipos.add("idade_aparente is null"); } if(atributo.equalsIgnoreCase("tipo_convenio")) { tipos.add("tipo_convenio = 'SUS'"); tipos.add("tipo_convenio != 'SUS' AND tipo_convenio != ''"); tipos.add("tipo_convenio is null"); } if(atributo.equalsIgnoreCase("meses_institucionalizacao")) {

Page 49: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

49

tipos.add("meses_institucionalizacao < 6"); //menos de 6 meses tipos.add("meses_institucionalizacao >= 6 AND

meses_institucionalizacao < 12"); //mais ou 6 meses e menos de 1 ano tipos.add("meses_institucionalizacao >= 12 AND

meses_institucionalizacao < 23"); // mais ou 1 ano e menos de 2 anos tipos.add("meses_institucionalizacao >= 23 AND

meses_institucionalizacao < 59"); //mais ou 2 anos e menos de 5 anos tipos.add("meses_institucionalizacao >= 59 AND

meses_institucionalizacao < 119"); // mais ou 5 anos e menos de 10 anos tipos.add("meses_institucionalizacao >= 119 AND

meses_institucionalizacao < 239"); //mais ou 10 anos e menos de 20 anos tipos.add("meses_institucionalizacao >= 239 AND

meses_institucionalizacao < 359"); //mais ou 20 anos e menos de 30 anos tipos.add("meses_institucionalizacao >= 359");

//mais ou 30 anos tipos.add("meses_institucionalizacao is null"); } if(atributo.equalsIgnoreCase("motivo_institucionalização")) { tipos.add("motivo_institucionalização = 'dependência'"); tipos.add("motivo_institucionalização != 'dependência' AND

motivo_institucionalização != ''"); tipos.add("motivo_institucionalização is null"); } if(atributo.equalsIgnoreCase("escolaridade")) { tipos.add("escolaridade = '1° grau'"); tipos.add("escolaridade = '2° grau'"); tipos.add("escolaridade = '3° grau'"); tipos.add("escolaridade is null"); } if(atributo.equalsIgnoreCase("aposentado")) { tipos.add("aposentado = 'sim'"); tipos.add("aposentado = 'não'"); tipos.add("aposentado is null"); } if(atributo.equalsIgnoreCase("outras_instituicoes")) { tipos.add("outras_instituicoes = 'sim'"); tipos.add("outras_instituicoes = 'não'"); tipos.add("outras_instituicoes is null"); } if(atributo.equalsIgnoreCase("escolha_instituicionalizacao")) { tipos.add("escolha_instituicionalizacao = 'idoso' OR

escolha_instituicionalizacao = 'idosa'"); tipos.add("escolha_instituicionalizacao = 'família'"); tipos.add("escolha_instituicionalizacao != 'idoso' AND

escolha_instituicionalizacao != 'idosa' AND escolha_instituicionalizacao = 'família' AND

Page 50: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

50

escolha_instituicionalizacao = ''"); tipos.add("escolha_instituicionalizacao is null"); } if(atributo.equalsIgnoreCase("pais_nascimento")) { tipos.add("pais_nascimento = 'Brasil'"); tipos.add("pais_nascimento != 'Brasil' AND pais_nascimento != ''"); tipos.add("pais_nascimento is null"); } if(atributo.equalsIgnoreCase("cor")) { tipos.add("cor = 'branca'"); tipos.add("cor = 'negra'"); tipos.add("cor is null"); } if(atributo.equalsIgnoreCase("aceitacao_instituicao")) { tipos.add("aceitacao_instituicao = 'sim'"); tipos.add("aceitacao_instituicao = 'não'"); tipos.add("aceitacao_instituicao is null"); } } if(tabela.equalsIgnoreCase("renda")) { } if(tabela.equalsIgnoreCase("medicamentos")) { } if(tabela.equalsIgnoreCase("habitos_vida")) { } if(tabela.equalsIgnoreCase("visita_semanal")) { } if(tabela.equalsIgnoreCase("queixas")) { } if(tabela.equalsIgnoreCase("diagnostico_medico")) { } if(tabela.equalsIgnoreCase("acomodacoes")) { } if(tabela.equalsIgnoreCase("atividades")) { } if(tabela.equalsIgnoreCase("quedas")) { } if(tabela.equalsIgnoreCase("ortese"))

Page 51: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

51

{ } return tipos; } }

Assim, a classe ComandosSQL é capaz de gerar todos os comandos que serão

enviados ao banco de dados a fim de capturar os dados que respondam as perguntas feitas. A

seção a seguir é destinada a apresentar a classe que realiza a conexão e as consultas ao banco

de dados.

3.3.2.3 Classe ConexãoBanco

A classe ConexãoBanco é responsável por conectar o banco de dados ao sistema e

realizar todas as transações entre o sistema e o banco. Esta possui como atributos:

// con é o atributo responsável por manter a conexão com o banco de dados.

public Connection con

// metadata é o atributo que carrega todos dados referentes ao banco de dados.public DatabaseMetaData metadata ;

A construtora desta classe é responsável por inicializar os atributos, informando os

dados necessários para a conexão, e realizando o tratamento de exceções que podem ser

geradas durante este processo.

public ConexaoBanco(){

// Inicia a tentativa de conexão com banco de dados informando o endereço do banco, o nome de usuário e senha.try{

Class.forName("oracle.jdbc.driver.OracleDriver");con =

DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","nomeUsuário","senha"); metadata = con.getMetaData()

}catch(Exception e){// Caso algum erro seja ocasionado durante a tentativa de conexão, será exibido uma

mensagem de erro.// informando a mensagem de falha de conexão. Quando este pop up for fechado pelo usuário o programa será finalizado.JOptionPane.showMessageDialog(null,"Não foi possível conectar ao Banco de Dados!\n"+e);

System.exit(0); }

Page 52: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

52

}

O método nomeColunas, ao receber o nome de uma tabela como parâmetro, resgata

do banco de dados, com o auxilio do atributo metadata, o nome de todas as colunas

pertencentes a tabela recebida. Ao buscar esses dados na base ele preocupa-se em tratar as

possíveis exceções que podem ser geradas durante este procedimento.

public ArrayList <String> nomeColunas(String nomeTabela) { // Cria um objeto que conterá a lista de colunas da tabela recebida. ArrayList <String> resposta = new ArrayList<String>(); // Tentativa de busca dos nomes das colunas referentes a tabela de entrada. try{ // ResultSet resultSet = metadata.getColumns(null, null, nomeTabela, null); // Um string de auxilio para receber o nome de coluna a coluna da tabela de entrada. String ajuda; //Pula as duas primeiras colunas que são responsáveis por armazenar o código de // referência para instituição e idoso em todas as tabelas. resultSet.next(); resultSet.next(); // A iteração a seguir insere cada nome de coluna, encontrado na tabela de entrada,

na lista de retorno. while(resultSet.next()) { // O string de auxilio recebe o nome de cada coluna. ajuda = resultSet.getString("COLUMN_NAME"); //Retira os caracteres especiais encontrados no nome da coluna para que fiquem de forma padrão. ajuda= TratamentoString.getEliminarCaracteresEspeciais(ajuda); // Adiciona o nome da coluna a lista de retorno. resposta.add(ajuda); } // Retorna um alista com o nome de todas as colunas da tabela recebida como parâmetro. return resposta; }catch(Exception e){ // Se não for possível encontrar a tabela de entrada será exibida uma mensagem de erro ao usuário. Ao ser fechada, finalizará o programa. JOptionPane.showMessageDialog(null,"Não foi possível encontrar a tabela "+nomeTabela+"!"); System.exit(0); return null; } }

Page 53: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

53

O método select possui como retorno um inteiro que corresponde ao resultado do

comando recebido como entrada, o qual será executado dentro de uma cláusula de tratamento

de exceção. Desta forma é possível corrigir os possíveis erros decorrentes da execução deste

método em outras classes.

public int select(String comando){ try{ //Cria um objeto para enviar comandos SQL ao banco de dados. Statement stmt = con.createStatement();

//Este objeto armazena todos os registro encontrados pela busca realizada com o comando recebido como parâmetro.

ResultSet rs = stmt.executeQuery(comando); // O primeiro registro deste objeto por padrão apresenta-se vazio, sendo necessário // pular para o próximo efetuando um comando next(). rs.next(); // Retorna o valor da coluna resultado. return rs.getInt("resultado"); } catch (SQLException e) { // Caso o comando enviado ao banco de dados possua erros de sintaxe, um pop up contendo uma mensagem de erros será apresentado ao usuário // e o retorno desse método será 0, para a identificação deste o erro por outras classes. JOptionPane.showMessageDialog(null, "Erro no comando. "+e); return 0; } }

É assim que a classe ConexãoBanco torna possível unir o sistema Projeto Idoso ao

banco de dados que possui os dados referentes aos Idosos Institucionalizados na cidade de

Curitiba. A próxima seção demonstra como transformar os dados obtidos nas consultas em

gráficos.

3.3.2.4 Classe TelaGráfico

A classe TelaGráfico exibe, através de uma interface gráfica, a comparação dos

atributos selecionados na Tela2 por meio de um gráfico. Esta tela apresenta como atributos:

// dataset corresponde aos dados pertencentes ao gráfico a ser plotado.static DefaultCategoryDataset dataset ;// dadosGrafico representa uma lista de dados referentes aos atributos selecionados na Tela2 que serão adcionados ao dataset. static ArrayList <DadosGrafico> dadosGrafico;

Page 54: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

54

// gráfico que será plotado na tela. static JFreeChart grafico;// O atributo painel contém o gráfico que será exibido.static ChartPanel painel;

A construtora desta classe inicializa os elementos que a compõem e define algumas

propriedades que a mesma deve possuir:

public TelaGrafico() { //Entitula a janela de acordo com o nome das tabelas selecionados da Tela1. super(ComandosSQL.tabela1+ " x "+ComandosSQL.tabela2); //Determina que ao fechar esta janela o programa continuará executando normaalmente. this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); // Possibilita que a janela seja redimensionábel pelo usuário. this.setResizable(true); // Captura a largura e a altura da tela do computador, no qual o programa será executado. int largura = (int)(Toolkit.getDefaultToolkit().getScreenSize().getWidth());int altura = (int)(Toolkit.getDefaultToolkit().getScreenSize().getHeight()); // Define a localização desta janela na tela do computador e largura e altura da mesma. this.setBounds(largura/2-250, altura/2-400, 800, 600); // Inicializa o objeto de dados do gráfico. dataset = new DefaultCategoryDataset(); // Adiciona valores ao dataset. this.setAdicionarDadosGrafico(); //Inicializa o objeto de gráfico, e o associa ao dataset. grafico = TelaGrafico.createBarChart(dataset); //Inicializa ao painel e associa o objeto de gráficos a ele. painel = new ChartPanel(grafico); // Adciona o painel aos componentes da janela. this.setContentPane(painel); // Reajustar o conteúdo da tela quando ela for redimensionada. this.pack(); }

O método setAdicionarDadosGráfico é responsável por transferir os valores obtidos

durante a busca ao banco de dados, referentes as tabela e classes previamente selecionadas,

para o dataset, o qual é responsável por armazenar os dados que serão exibidos no gráfico.

private static void setAdicionarDadosGrafico() { //Preenche o objeto dadosGráfico com o resultado das da busca realizada noa base de dados, de acordo com as tabelas e os atribulos selecionados na Tela1 e Tela2 do programa. dadosGrafico = ComandosSQL.getResultadoBusca(); // A iteração adiciona ao dataset do gráfico todos os dados que foram obtidos pela busca no banco. for(int i=0; i<dadosGrafico.size();i++) { dataset.addValue(dadosGrafico.get(i).getQuantidade(),

Page 55: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

55

TratamentoString.padraoLegenda(""+dadosGrafico.get(i).getLegendaBaixo()), TratamentoString.padraoLegenda(""+dadosGrafico.get(i).getLegendaBarra())); } } //O método createBarChart recebe os valores do gráfico, define suas características e retorna um gráfico pronto. private static JFreeChart createBarChart(CategoryDataset dataset){

JFreeChart chart = ChartFactory.createBarChart( "", //Titulo "", // Eixo X "Quantidade de Idosos", //Eixo Y dataset, // Dados para o grafico PlotOrientation.VERTICAL, //Orientacao do grafico true, false, false); // exibir: legendas, tooltips, url return chart; }

Através de todos os métodos mencionados a cima, a classe TelaGráfico é capaz de

plotar, em uma interface gráfica, o gráfico referente aos dados que estão armazenados na

estrutura como descrito e explicado no código desta classe.

No capítulo a seguir, Resultados e Análise, serão apresentadas os resultados obtidos

de acordo com a implementação das classes descritas neste capítulo.

Page 56: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

56

4 RESULTADOS E ANÁLISE

Ao longo do desenvolvimento do projeto realizou-se uma sequência de atividades –

planejamento do projeto, revisão bibliográfica, modelagem e implementação do sistema –, as

quais, unidas, permitiram que ao término do processo fossem atingidos resultados. Sobre estes

será efetuada uma análise crítica, a qual visa identificar os pontos positivos e negativos

encontrados em cada etapa.

4.1 Planejamento do Projeto

4.1.1 Cronograma e Gráfico de Gantt

O planejamento do projeto incluiu a construção do cronograma de atividades, o qual

está representado no Quadro 2 da página 34.

A Tabela 5 exibe as datas – iniciais e limite – esperadas em comparação com as datas

que cada atividade, referenciada pelo seu código, realmente iniciou e terminou.

Tabela 5 - Datas previstas x Datas reais.

Código da Atividade Data de início

prevista

Data de início

real

Data limite

prevista

Data de término

01 10/03/2010 12/03/2010 17/03/2010 17/03/2010

02 10/03/2010 12/03/2010 16/05/2010 24/05/2010

03 05/04/2010 01/04/2010 09/04/2010 12/04/2010

04 05/04/2010 02/05/2010 09/04/2010 07/05/2010

05 28/03/2010 26/03/2010 16/05/2010 26/05/2010

06 26/04/2010 07/05/2010 07/05/2010 16/05/2010

07 07/05/2010 07/05/2010 19/05/2010 16/05/2010

08 19/05/2010 16/05/2010 21/05/2010 26/05/2010

Fonte: Autoria Própria.

O Gráfico de Gantt, elaborado com base no cronograma, pode ser visualizado na

Page 57: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

57

página 36, Gráfico 1.

A primeira atividade, iniciada na décima semana do Gráfico de Gantt, consistiu na

elaboração da proposta do projeto, a qual foi realizada dentro do prazo estipulado, apresentada

e aprovada no dia 18 de março de 2010. Na mesma semana, também se deu início à pesquisa

sobre o conteúdo da revisão bibliográfica, a qual se estendeu ao longo do projeto pelo fato de

ser uma atividade que auxiliou na compreensão dos conceitos empregados durante o processo.

Ambas as tarefas começaram no mesmo dia, pois a primeira serviu como contato inicial ao

conteúdo que foi aprofundado na segunda atividade.

O estudo do DER e da relação entre as tabelas, planejado para ter início na décima

terceira semana, foi adiantado para a décima segunda semana, quatro dias antes do previsto

por questão de disponibilidade de horas. No entanto, seu término foi prolongado devido à

necessidade de esclarecer alguns conceitos junto à disciplina de Banco de Dados, fazendo

com que fossem dedicados quase três vezes mais dias a esta atividade do que o estipulado

inicialmente.

A quarta atividade, estudar biblioteca SQL e plotagem de gráficos, ocorreu cinco

semanas depois do determinado, o que pode ser justificado pelo fato da pesquisa do conteúdo

da revisão, atividade que ocorria em paralelo, exigir maior dedicação. Porém, este atraso não

prejudicou o andamento do projeto.

O desenvolvimento da monografia, quinta atividade, teve início dois dias antes do

previsto a fim de atender a necessidade de organizar as informações encontradas durante a

pesquisa em um documento. Esta etapa, assim como a pesquisa do conteúdo da revisão,

estendeu-se além da data limite prevista (terminou na vigésima primeira semana), visto que

era necessária para arquitetar as informações coletadas na etapa da pesquisa e para

documentar todas as tarefas desempenhadas ao decorrer do processo.

Embora implementar classes para leitura dinâmica dos dados e classes para gerar os

gráficos, sexta e sétima atividade respectivamente, tenham sido programadas para ocorrer em

sequência, elas aconteceram em paralelo por causa de uma decisão tomada ao longo do

percurso, visto que seria conveniente manipulá-las juntas, isto é, implementá-las em um

mesmo momento. O planejamento previu que as semanas de dezessete a vinte seriam

dedicadas à realização de ambas, porém, com a decisão aplicada, este tempo se reduziu as

semanas dezoito e dezenove, o que representou um ganho de duas semanas.

A oitava e última atividade, rever monografia, iniciada após o término do software e

realizada em conjunto com a atividade desenvolver monografia, teve o objetivo de consertar

eventuais falhas presentes na monografia desenvolvida. Entretanto possam existir erros, os

Page 58: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

58

quais podem ser apontados após a entrega deste projeto, dando continuidade a esta etapa.

4.1.2 Burndown Chart

Considerando as atividades a serem desempenhadas e o prazo para entrega final do

projeto, foram previstas 85 horas necessárias para a execução deste dentro de um período de

60 dias. Desta forma, foi possível confeccionar o Burndown Chart inicial (página 36, Gráfico

1), o qual apresenta a linha ideal para a confecção do presente trabalho.

Ao princípio da construção do projeto, uma nova linha passou a ser desenhada no

gráfico, a qual representa o andamento real das atividades realizadas em determinado dia e

tempo, indicando a quantidade de horas/dia empregada e a restante. Por volta da 17º semana

(a qual pode ser visualizada no Gráfico de Gantt), observou-se que a nova linha estava acima

da linha ideal em proporções elevadas (Gráfico 3), fato que chamou atenção, pois essa

situação indica atraso na execução do projeto.

Gráfico 3 – Burndown Chart Parcial.Fonte: Autoria Própria.

Assim, comparando o andamento do processo com o cronograma, pode-se concluir

Page 59: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

59

que as atividades estavam dentro do tempo determinado e que o problema não estava no

decorrer do projeto, mas na previsão mal calculada de dias e horas disponíveis. Esta situação

forçou uma reavaliação a fim de expor as condições mais apropriadas nas quais o Burndown

Chart inicial deveria ter sido elaborado. Esse novo gráfico prevê 77 dias e 77 horas e está

representado pelo Gráfico 4.

Gráfico 4 – Burndown Chart Inicial Reavaliado.Fonte: Autoria Própria.

Desta forma, a carga horária despendida até a 17º semana foi transposta para o novo

Burndown Chart e este foi adotado até o final do processo, o qual pode ser visualizado no

Gráfico 5.

Page 60: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

60

Gráfico 5 – Burndown Chart Final.Fonte: Autoria Própria.

A análise do Burndown Chart final permitiu observar três pontos críticos. O primeiro

refere-se ao período compreendido entre os dias 10 a 15, o qual sucedeu a elaboração do pré-

projeto, e representa uma sequência de cinco dias em que não foram realizadas atividades

significativas. De forma análoga, o intervalo entre os dias 30 e 40 tornou-se ocioso devido à

maior ênfase dada ao processo de desenvolvimento da monografia. Entretanto, os dias que

sucederam os dois picos citados foram marcados por um aumento na carga horária de

trabalho, visando compensar o tempo inativo. O último período de destaque corresponde aos

dias 58 a 72, momento em que houve uma maior concentração de esforços para finalizar o

projeto dentro do prazo limite, permitindo que o projeto fosse terminado cinco dias antes do

esperado.

4.2 Implementação

Um exemplo de entidade gerada no Oracle Database 10g Express Edition com os

dados de PINTO (2008) pode ser visualizada na Figura 8, a qual exibe a tabela

“INSTITUICAO”.

Page 61: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

61

Figura 8: Representação da tabela “INSTITUICAO” no Oracle Database 10g Express Edition. Fonte: Autoria Própria.

Ao término da criação do código fonte, este foi compilado, gerando o sistema Projeto

Idoso. A seguir, será apresentado o funcionamento do software, cuja tela inicial pode ser

visualizada na Figura 9.

Figura 9: Tela Inicial.Fonte: Autoria Própria.

Para exemplificar uma situação de geração de gráfico, foram selecionadas as

entidades “IDOSO” (no primeiro ComboBox) e “INSTITUIÇÃO” (no segundo), conforme

ilustra a Figura 10. Ambos os ComboBoxs apresentam como opção os itens descritos na

Tabela 6: Opções da Tela Inicial.

Page 62: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

62

Tabela 6 – Opções da Tela Inicial

Entidade

Idoso

Instituição

Fonte: Autoria Própria.

Caso sejam selecionadas as mesmas alternativas nos dois ComboBox disponíveis, o

clique no botão “OK” fará com que apareça um pop up informando que as entidades

selecionadas nos ComboBox devem ser diferentes. Ao clicar no botão “OK” do pop up,

retornará a tela anterior.

Figura 10: Entidades selecionadas.Fonte: Autoria Própria.

Após clicar no botão “OK”, a tela da lugar a outra (Figura 11), a qual disponibiliza os

atributos pertencentes a cada entidade selecionada anteriormente. Neste exemplo, serão

utilizados como atributos “SEXO” e “TIPO” (referentes a idoso e instituição,

respectivamente).

Page 63: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

63

Figura 11: Idoso x Instituição.Fonte: Autoria Própria.

A Tabela 7 – Opções da Segunda Tela – indica quais as possibilidades de escolha

oferecidas por cada ComboBox presente na segunda tela.

Tabela 7 – Opções da Segunda Tela

Entidade Atributos

Idoso Sexo

Idade Aparente

Data Nascimento

Município Nascimento

Estado Nascimento

País Nascimento

Estado Civil

Número de Filhos

Cor

Raça

Escolaridade

Profissão

Aposentado

Procedência

Tipo de Convênio

Page 64: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

64

Outras Instituições

Meses Institucionalização

Aceitação Instituição

Escolha Institucionalização

Motivo Institucionalização

Instituição Tipo

Fonte: Autoria Própria.

Será possível visualizar o gráfico de barras (Figura 12) após clicar no botão

“GERAR GRÁFICO”.

Figura 12: Tela do Gráfico.Fonte: Autoria Própria.

O Manual do Usuário deste sistema pode ser consultado no documento

“ManualUsuario”.

Page 65: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

65

5 CONCLUSÕES E TRABALHOS FUTUROS

A pesquisa realizada sobre Informática em Saúde aliada ao planejamento do projeto

permitiu a construção do artefato, software Projeto Idoso, o qual atingiu as expectativas

esperadas no início deste projeto. A geração de gráficos realizada pelo programa – a partir dos

dados do perfil epidemiológico de idosos armazenados em uma base de dados – realmente

possibilitou uma melhora na visualização, facilitando a comparação e evitando que o usuário

se obrigue a ter conhecimento sobre ferramentas de banco de dados, neste caso, Oracle

Database 10g Express Edition.

Um fator importante foi a elaboração do gráfico de acompanhamento das atividades

desenvolvidas ao longo do projeto, o qual auxiliou na percepção das tarefas faltantes de

acordo com o tempo que ainda restava, permitindo uma melhor administração da execução

das atividades distribuídas no tempo.

No que diz respeito aos dados previamente coletados por PINTO (2008), o diagrama

entidade relacionamento permitiu analisá-los e, assim, definir as instruções que seriam

enviadas ao banco de dados (instanciado com esses dados) a fim de obter respostas para gerar

os gráficos. A modelagem dos requisitos do sistema auxiliou no desenvolvimento do software,

pois indicou os principais detalhes do programa, minimizando os riscos de erro durante o

processo de implementação. Assim, foi possível gerar gráficos através do programa

construído.

Durante o percurso de desenvolvimento deste trabalho, pode-se observar que

algumas práticas adotadas foram de grande auxílio ao cumprimento do mesmo. Realizar uma

pesquisa em bibliotecas virtuais utilizando um conjunto de palavras chaves foi de grande

importância para encontrar artigos diretamente relacionados ao tema proposto (esta medida

pode ser adotada por quem queira realizar pesquisas como essa) e assim foi possível estipular

as prioridades de acordo com o prazo de término deste trabalho. Outra prática adotada, a de

estimar o tempo necessário de construção do projeto, foi uma das formas de relacionar o

tempo dispensado em cada atividade aumentando o controle sobre quais atividades já haviam

sido realizadas e quais ainda deveriam ser executadas, evidenciando também o grau de

dedicação para cada uma. Também foram realizados encontros frequentes entre os integrantes

da equipe de realização deste projeto, fato que tornou ainda maior o controle de atividades

realizadas e faltantes de acordo com o tempo restante para elaboração do projeto.

No entanto, ainda podem ser efetuadas melhorias sobre o presente projeto, tais como

Page 66: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

66

aprofundar a revisão bibliográfica, principalmente no que diz respeito aos sistemas existentes

na área de gerontologia e, assim, adequar a interface do sistema o mais próximo da

necessidade do usuário – profissional da saúde –, além de deixá-la visualmente mais

apresentável, corrigir possíveis erros presentes no atual projeto, proporcionar mais opções de

gráficos a serem gerados (exemplo: barra, pizza, linha, entre outros) e disponibilizar as dez

tabelas não utilizadas para que também possam dar origem a gráficos.

Page 67: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

67

6 REFERÊNCIA BIBLIOGRÁFICA

BASHAM, Brian; SIERRA, Kethy; BATES, Bert. Use a cabeça! Servlets & JSp. Tradutor: Marcelo Soares, Weuler Gonçalves. Rio de Janeiro: Alta Books, 2005.

BLOMBERG, Luciano C.; MOTA, Eduardo G.; DE FIGUEIREDO, José A. P.; RUIZ, Duncan D. A.. Desenvolvimento de um banco de dados de saúde bucal para administração de registros clínicos. Revista odonto ciência, v. 24, n. 3, 249-253, jul./set. 2009. Disponível em: < http://revistaseletronicas.pucrs.br/ojs/index.php/fo/article/view/5189/4506 >. Acesso em: 12 mar. 2010.

BOENTE, Alfredo. Aprendendo a programar em Java 2: orientado a objetos. Rio de Janeiro: Brasport, 2003.

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. Tradutor: Fábio Freitas. Rio de Janeiro: Campus, 2000.

DANILOW, Milena Z.; MOREIRA, Ana C. S.; VILLELA, Cecília G.; BARRA, Betânia B.; NOVAES, Maria R. C. G..; OLIVEIRA, Mirna P. F.. Perfil epidemiológico, sociodemográfico e psicossocial de idosos institucionalizados do Distrito Federal. Com. Ciências Saúde, Distrito Federal, v. 18, n. 1, 9-16, fev. 2007. Disponível em: < http://www.fepecs.edu.br/revista/Vol18_1art01.pdf >. Acesso em: 27 mar. 2010.

DEITEL, M. H.; DEITEL, J. P. Java, como programar. Tradutor: Carlos Arthur Lang Lisbôa. 4 ed. Porto Alegre: Bookman, 2003.

FILHO, José R.; XAVIER, Jefferson C. B.; ADRIANO, Ana L.. A tecnologia da informação na área hospitalar: um caso de implementação de um sistema de registro de pacientes. Revista de Administração Contemporânea, Curitiba, v. 5, n. 1, 105-120, jan./abr. 2001. Disponível em: < http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1415-65552001000100007&lang=pt >. Acesso em: 12 mar. 2010.

FISHER, Alan S.. CASE: Utilização de Ferramentas para Desenvolvimento de Software. Tradutor: Info-Rio. Rio de Janeiro: Campus, 1990.

GUIMARÃES, Célio C.. Fundamentos de Bancos de Dados: modelagem, projeto e linguagem SQL. São Paulo: Editora Unicamp, 2003.

Page 68: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

68

LAUDON, Kenneth C.; LAUNDON, Jane P.. Sistema de Informação com Internet.Tradutor: Dalton Conde de Alencar. 4 ed. Rio de Janeiro: LTC – Livros Técnicos e Científicos S.A., 1999.

LINHARES, Robson R. *INTRODUÇÃO À ORIENTAÇÃO A OBJETOS:* Notas de aula*.* Curso de Graduação – Bacharelado em Sistemas de Informação. Disciplina Fundamentos de Programação I, DAINF/UTFPR, 2009.

LOGAN, Judith R. A.; PRICE, Susan L.. Computer science education for medical informaticians. International Journal of Medical Informatics, Portland, v. 73, n. 2, p. 139-144, mar. 2004. Disponível em: < http://www.ijmijournal.com/article/S1386-5056(03)00200-4/abstract >. Acesso em: 27 mar. 2010.LUIS, Margarita A. V.; MOALA, Fernando A.; ÉVORA, Yolanda D. M.; SCOCHI, Carmen G. S.; RODRIGUES; Rosalina A. P.. Avaliação de uma disciplina de informática por graduandos de enfermagem. Revista Latino-Americana de Enfermagem, Ribeirão Preto, v. 3, n. 2, p. 69-82, jul. 1995. Disponível em: <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-11691995000200006 >. Acesso em: 27 mar. 2010.

MOURA, Arnaldo V.. Especificações em Z: uma introdução. São Paulo: Editora Unicamp, 2001.

PINTO, Regina B. R. Perfil epidemiológico de idosos residentes em instituições de longa permanência para idosos na cidade de Curitiba, a partir da modelagem de banco de dados. 2008. 153 f. Dissertação (Mestrado em Tecnologia em Saúde) – Pontifícia Universidade Católica do Paraná, Curitiba, 2008.

PRESSMAN, Roger S.. Engenharia de Software. Tradutor: José Carlos Barbosa dos Santos.São Paulo: Pearson Education do Brasil, 1995.

REIS, Sandra C. G.. B.; HIGIN, Maria A. S. P.; DE MELO, Hugo M. D.; FREIRE, Maria C. M.. Condição de saúde bucal de idosos institucionalizados em Goiânia-GO, 2003. Revista Brasileira de Epidemiologia, São Paulo, v. 8, n. 1, 67-73, mar. 2005. Disponível em: <http://www.scielo.br/pdf/rbepid/v8n1/08.pdf >. Acesso em: 27 mar. 2010.

REZENDE, Denis A.. Engenharia de Software para Excelência em Sistemas Empresariais. Curitiba: Apta, 1997.

RUMBAUGH, James. Modelagem e projetos baseados em objetos. Tradutor: Dalton Conde de Alencar. Rio de Janeiro: Campus, 1994.

Page 69: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

69

SILVA, Flávio S. C. da; FINGER, Marcelo; MELO, Ana C. V. de. Lógica para Computação. São Paulo: Thomson Learning, 2006.

SILVA, Mateus L.; SOARES, Edvaldo; DIAS, Carmen L.; DE OLIVEIRA, Tâmara P.. Retrato do Idoso Institucionalizado: Perfil Epidemiológico.

SOMMERVILLE, Ian. Engenharia de Software. 8 ed. Tradução: Selma Shin Shimizu Melnikoff, Reginaldo Arakaki, Edílson de Andrade Barbosa. São Paulo: Pearson Addison Wesley, 2007.

STADZISZ, Paulo C. Projeto de Software usando a UML. 2 versão. Disponível em: <http://www.etelg.com.br/paginaete/downloads/informatica/apostila2uml.pdf >. Acesso em: 04 abr.2010, 14:10.

TAKAI, Osvaldo K.; ITALIANO, Isabel C.; FERREIRA, João E.. Introdução a Banco de Dados. São Paulo: DCC-IME-USP, 2005.

WAZLAWICK, Raul S.. Metodologia de Pesquisa para Ciência da Computação. Rio de Janeiro: Elsevier, 2008.

XIMENES, Sérgio. Minidicionário Ediouro da Língua Portuguesa. 2 ed rev. e ampl.. São Paulo: Ediouro, 2000.

ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em Java e C++. São Paulo: Cengage Learning, 2006.

Guia SERASA de orientação ao cidadão. Disponível em: <http://www.serasa.com.br/guiaidoso/18.htm >. Acesso em: 15 mar. 2010, 19:50.

Instituto Brasileiro de Geografia e Estatística. Disponível em: <http://www.ibge.gov.br/home/>. Acesso em: 15 mar. 2010, 20:00.

Java 2 Platform SE 5.0. <http://java.sun.com/j2se/1.5.0/docs/api/>. Acesso em 18 mai. 2010, 11:43.

JDBC – Oracle Wiki. Disponível em: <http://wiki.oracle.com/page/JDBC>. Acesso em: 16 abr. 2010, 10:05.

Page 70: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

70

Learn GanttProject. Disponível em: <http://www.ganttproject.biz/learn#license>. Acesso em: 01 abr. 2010.

Open Source Initiative. Disponível em: <http://www.opensource.org/>. Acesso em: 04 abr. 2010, 11:17.

Oracle. Disponível em: <http://www.oracle.com/us/products/database/index.html>. Acesso em: 26 mar. 2010, 18:05.

Project Mogwai best of breed Open Source. Disponível em: <http://mogwai.sourceforge.net/?Welcome:ERDesigner_NG>. Acesso em 16 abr. 2010,10:10.

RICARTE, Ivan L. M.. Documentação de Código com Javadoc. Disponível em: <http://www.dca.fee.unicamp.br/cursos/PooJava/javaenv/javadoc.html>. Acesso em: 12 abr.2010, 11:38.

Sociedade Brasileira de Informática em Saúde. Disponível em: <http://www.sbis.org.br/>.Acesso em: 27 mar. 2010, 08:54.

The Java Language Specification. Disponível em: <http://java.sun.com/docs/books/jls/>. Acesso em: 14 abr. 2010, 18:21.

UNIFESP Virtual. Disponível em: <www.virtual.epm.br/>. Acesso em: 28 mar. 2010, 13:53.

VIKLUND, Andreas. JFreeChart. Disponível em: <http://www.jfree.org/jfreechart/>. Acesso em: 26 mar. 2010, 18:00.

Welcome to NetBeans. Disponível em: <http://netbeans.org/>. Acesso em 01 abr. 2010.

Page 71: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

71

7 APÊNCIDES

Apêndice A: Tabelas contendo o nome do autor, título, nome do periódico onde foi publicado, a base de dados e as palavras chaves

utilizadas na pesquisa, além do assunto que aborda e a classificação de cada artigo encontrado na revisão bibliográfica.

[Continua]

AUTOR ÁLVARES, 2010 AMARAL et al., 1996 ANDERSON, 1998ARAÚJO; MALVEIRA,

2003BLOMBERG et al.,

2009BRANDT et al., - ano

TÍTULO

Ocorrência de quedas em idosos residentes em instituições de longa

permanência em Pelotas, Rio Grande do Sul, Brasil

Integração de sistemas de informação em

saúde

Saúde e Condições de vida do Idoso no

Brasil

Estimativas da taxa de atraso ao programa de imunização: o impacto da implantação em um

Banco de Dados

Desenvolvimento de um banco de dados de saúde

bucal para administração de registros clínicos

Perfil epidemiológico dos idosos atendidos pelo

Sistema Único de Saúde (SUS) em Salgueiro - Sertão de Pernambu

NOME DO PERIÓDICO

Cadernos de Saúde Pública

Anais do III Fórum Nacional de Ciência e Tecnologia em Saúde

Textos Sobre Envelhecimento

Escola Anna Nery Revista de

Enfermagem

Revista Odonto Ciência

Anais da Faculdade de Medicina da

Universidade Federal de Pernambuco

BASE DE DADOS Scielo Lilacs BVS Scielo Lilacs BVS Lilacs BVS Lilacs BVS

PALAVRA CHAVE Idosos, instituiçõesProntuário

computadorizadoSaúde, idoso

Informática médica, banco de dados

Banco de dados; Prontuários

Perfil, epidemiológico

ITENS QUE ABORDA

Quedas, Instituição de Longa Permanência para

Idosos

Informática em Saúde, Prontuários Eletrônicos

Doenças e Qualidade de Vida, Perfil

Epidemiológico de Idosos

Informática em Saúde, Banco de Dados*

Banco de Dados*Perfil Epidemiológico

de Idosos

CLASSIFICAÇÃO Quatro Dois Quatro Quatro Quatro Três

Page 72: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

72

[Continuação]

AUTORCAMPOS NETO et al.,

2003CARITÁ et al., 2008

CARNEIRO et al., 2007

CASSIANI; GIMENES; FREIRE, 2002

CASTELLS, 2007CREUTZBERG et al.,

2007

TÍTULO

Desenvolvimento de banco de dados para

pesquisa

Implementação e avaliação de um sistema de gerenciamento

de imagens médicas com suporte à recuperação baseada

em conteúdo

Qualidade de vida, apoio social e

depressão em idosos: relação com

habilidades sociais

A prescrição médica eletrônica em um

hospital universitário: falhas de redação e opiniões de usuários

Modelo teórico y propuesta para la implementación de normas de seguridad digital para resguardo de registros médicos computarizados

A Instituição de Longa Permanência para

Idosos e o sistema de saúde

NOME DO PERIÓDICO

Revista da Sociedade de Cardiologia Estado

de São PauloRadiologia Brasileira

Psicologia: reflexão e crítica

Revista brasileira de enfermagem

CórdobaRevista

Latinoamericana de Enfermagem

BASE DE DADOS Lilacs BVS Lilacs BVS Lilacs BVS Lilacs BVS Lilacs BVS Lilacs BVS

PALAVRA CHAVEInformática médica,

banco de dadosLinguagem java Asilo, dados

prontuário computadorizado

Prontuários eletronicos

Saúde, idoso, informática

ITENS QUE ABORDA

Informática em Saúde, Banco de Dados*

Informática em SaúdeDoenças e Qualidade

de VidaProntuários Eletrônicos

Prontuários Eletrônicos

Instituições de Longa Permanência

CLASSIFICAÇÃO Quatro Dois Dois Quatro Três Dois

Page 73: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

73

[Continuação]

AUTORCROSS; PALMER;

STEPRHENSON, 2009DANILOW et al., 2007

FABRÍCIO; RODRIGUES; JUNIOR COSTA, 2002 FERREIRA et al, 2007 FERREIRA et al., 2009

FILHO; XAVIER; ADRIANO, 2001

TÍTULOHow to design and use

a research database

Perfil epidemiológico, sociodemográfico e

psicossocial de idosos institucionalizados do

Distrito Federal

Quedas acidentais em idosos

institucionalizados

Informatização de um serviço de nutrição

hospitalar

Programa de atenção particularizada ao idoso em unidades básicas de saúde

A tecnologia da informação na área

hospitalar: um caso de implementação de um sistema de registro de

pacientes

NOME DO PERIÓDICO

Diagnostic Histopathology

Comunicação em Ciências da Saúde

Acta Paulista de Enfermagem

Revista de Administração em

SaúdeSaúde e Sociedade

Revista de Administração Conteporânea

BASE DE DADOSArtificial Intelligence

in Medicine Lilacs BVS Lilacs BVS Lilacs BVS Scielo Scielo

PALAVRA CHAVE Old, databasePerfil,

institucionalizadoAsilo, dados

Informática médica, banco de dados

Idoso, saúde, banco de dados

Saúde; Prontuário eletrônico

ITENS QUE ABORDA

Banco de Dados *Perfil Epidemiológico de

Idosos, Instituições de Longa Permanência

Quedas, Instituições de Longa Permanência

Informática em SaúdeDificuldadades dos

IdososInformática em Saúde

CLASSIFICAÇÃO Dois Cinco Três Quatro Três Quatro

Page 74: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

74

[Continuação]

AUTOR FRAIGE, 2007GAIÃO; ALMEIDA;

HEUKELBACH, 2005GONÇALVES et al.,

2008HAAS; HENRIQUE;

DEMARZO, 2008INOUYE et al., 2009 LIND et al., 2002

TÍTULO

Prontuário Eletônico do centro de Atendimento a Pacientes Especiais:

desenvolvimento e implementação

Perfil epidemiológico da cárie dentária, doença periodontal, uso e necessidade de prótese em idosos residentes em uma instituição na

cidade de Fortaleza, Ceará

Prevalência de quedas em idosos asilados do

município de Rio Grande, RS

Condições ergonômicas em uma unidade básica de

saúde recentemente informatizada de

Florianópolis - SC

Percepção de qualidade de vida do idoso com

demência e seu cuidador familiar: avaliação e

correlação

Requirements and prototyping of a home health care application based on emerging java

technology

NOME DO PERIÓDICO

Tese Apresentada a Universidade de São

Paulo

Revista Brasileira de Epidemiologia

Revista Saúde PúblicaArquivos Catarinenses

de Medicina

Revista Latinoamericana de

Enfermagem

International Journal of Medical Informatics

BASE DE DADOS Lilacs BVS Lilacs BVS Lilacs BVS Lilacs BVS Lilacs BVSInternational Journal

of Medical

PALAVRA CHAVEsaúde, registro

eletrônicoAsilo, dados Asilo, dados prontuários eletronicos banco de dados, idoso Java, database

ITENS QUE ABORDA

Prontuários Eletrônicos

Perfil Epidemiológico, Instituições de Longa

Permanência

Quedas, Instituições de Longa Permanência

Informática em SaúdeDoenças e Qualidade

de VidaJava *

CLASSIFICAÇÃO Três Quatro Três Três Dois DOIS

Page 75: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

75

[Continuação]

AUTOR LUIS et al., 1995 LOGAN; PRICE, 2004LUZ; MARCONI;

GUIMARÃES

MAGALHÃES; TELES-MAGALHÃES; PEGORARO-

KROOKMARIN, 2001

MARIN; BOURIE; SAFRAN, 2000

TÍTULO

Avaliação de uma disciplina de

informática por graduandos de enfermagem

Computer science education for medical

informaticians

Um estudo sobre o uso de recursos de informática por estudantes de medicina e enfermagem na Faculdade

de Medicina de Marília

Banco de Dados Sobre Fonetografia

O prontuário eletrônico do paciente

Desenvolvimento de um sistema de alerta para prevenção de

quedas em pacientes hospitalizados

NOME DO PERIÓDICO

Revista Latino Americana de Enfermagem

International Journal of Medical Informatics

Sociedade Brasileira de Informática em

Saúde

Sociedade Brasileira de Informática em

Saúde

Revista Paulista de Enfermagem

Revista Latino Americana de Enfermagem

BASE DE DADOS Scielo BrasilInternational Journal

of Medical Sociedade Brasileira de Informática em

Sociedade Brasileira de Informática em

Lilacs BVS Lilacs BVS

PALAVRA CHAVEInformática médica,

gráficoJava, database

Informática médica, gráfico

Banco de Dados, software

Registro médicoSaúde, idoso, informática

ITENS QUE ABORDA

Domínio da Informática por Profissionais da

Saúde

Domínio da Informática por Profissionais da

Saúde

Domínio da Informática por Profissionais da

SaúdeBanco de Dados

Prontuários Eletrônicos

Prontuários Eletrônicos

CLASSIFICAÇÃO Quatro Quatro Três Um Quatro Dois

Page 76: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

76

[Continuação]

AUTOR MATTOS, 2006MONTEIRO; BARBOSA;

SIGNORINI, 2007 MOTTA et al., 2001MOURATIDIS; MANSON;

PHILP, 2003 OLIVEIRA et al., 2006PAVAN;

MENEGHEL; JUNGES, 2008

TÍTULO

Perfil audiométrico de uma população de idosos: um estudo

epidemiológico seccional

Um modelo abstrato em um processo de crítica: aplicação aos dados de

uma coorte de pacientes com Aids

Autorização e controle de acesso para o prontuário eletrônico do paciente em

ambientes abertos e distribuídos: uma proposta de

modelo e arquitetura

A novel agent-based system to support the

single assessment process of older

people

Relação entre ansiedade, depressão e

desesperança entre grupos de idosos

Mulheres idosas enfrentando a

institucionalização

NOME DO PERIÓDICO

Cadernos Saúde Coletiva

Cadernos Saúde Coletiva

Revista Brasileira de Engenharia Biomédica

Health Informatics Journal

Psicologia em EstudoCaderno Saúde

Pública

BASE DE DADOS Lilacs BVS Lilacs BVS Lilacs BVS SAGE Journals Online Lilacs BVS Lilacs BVS

PALAVRA CHAVEEpidemiologico, idoso,

banco de dadosInformática médica,

banco de dadosregistro eletrôncio de

paciente, javaOld, database Asilo, dados Asilo, dados

ITENS QUE ABORDA

Perfil Epidemiológico de Idosos

Banco de Dados *Prontuários Eletrônicos

Informática em SaúdeDoenças e Qualidade

de VidaInstituições de

Longa Permanência

CLASSIFICAÇÃO Quatro Quatro Dois Quatro Três Três

Page 77: IMPLEMENTAÇÃO DE GRÁFICOS PARA ANÁLISE DO PERFIL ... · Tabela 1 – TIPOS DA ... Blois e Shortliffe ... (LOGAN; PRICE, 2004). Uma das áreas de atuação da Informática Médica,

77

[Conclusão]

AUTORPERONDI; SAKANO;

SCHVARTSMAN, 2008

PINTO, 2008 REIS et al., 2005 SILVA et al.

TÍTULO

Utilização de um sistema informatizado de

atendimento em pronto-socorro pediátrico com

sistema de escore clínico de triagem

Perfil epidemiológico de idosos residentes em instituições de longa permanência para idosos na cidade de Curitiba, a partir da modelagem

de banco de dados

Condição de saúde bucal de idosos

institucionalizados em Goiânia-GO,

2003

Retrato do Idoso Institucionalizado:

Perfil Epidemiológico

NOME DO PERIÓDICO

Einstein (São Paulo) -Revista Brasileira de

Epidemiologia

BASE DE DADOS Lilacs BVS -Revista Brasileira de

Epidemiologia

PALAVRA CHAVEsaúde, registro

eletrônico- Longa

ITENS QUE ABORDA

Informática em SaúdePerfil Epidemiológico, Instituições de Longa

Permanência

Instituições de Longa Permanência

Perfil Epidemiológico,

Instituições de Longa Permanência

CLASSIFICAÇÃO Três Cinco Quatro Cinco