Você está na página 1de 51

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA

CURSO DE CINCIA DA COMPUTAO

JOO PAULO SANTOS RODRIGUES

UMA PROPOSTA DE SOFTWARE FREEWARE E MULTIPLATAFORMA PARA


CONSTRUO DE HEREDOGRAMAS

VITRIA DA CONQUISTA - BA
MARO - 2014

JOO PAULO SANTOS RODRIGUES

UMA PROPOSTA DE SOFTWARE FREEWARE E MULTIPLATAFORMA PARA


CONSTRUO DE HEREDOGRAMAS

Orientadora: Crijina Chagas Flores

VITRIA DA CONQUISTA BA
MARO - 2014

JOO PAULO SANTOS RODRIGUES

UMA PROPOSTA DE SOFTWARE FREEWARE E MULTIPLATAFORMA PARA


CONSTRUO DE HEREDOGRAMAS

Monografia apresentada Universidade


Estadual do Sudoeste da Bahia UESB,
campus de Vitria da Conquista - BA, sob a
orientao da professora Crijina Chagas
Flores, para obteno do ttulo de Bacharel
em Cincia da Computao.

Aprovado por:

Prof. Dr. ______________________________


UESB
Orientadora

Prof. Dr. ______________________________


UESB
Avaliador 1

Prof. Dr ______________________________
UESB
Avaliador 2

VITRIA DA CONQUISTA - BA
MARO, 2014

SUMRIO

1. INTRODUO ............................................................................................................... 8
2. FUNDAMENTAO TERICA .................................................................................... 10
3. REVISO BIBLIOGRFICA ......................................................................................... 13
4. METODOLOGIA ........................................................................................................... 21
5. DESENVOLVIMENTO DO SOFTWARE ...................................................................... 22
6. ANLISE DA FERRAMENTA IMPLEMENTADA ......................................................... 45
7. CONCLUSO E TRABALHOS FUTUROS .................................................................. 49
REFERNCIAS ................................................................................................................ 51
LISTA DE FIGURAS ........................................................................................................... 5
LISTA DE TABELAS ........................................................................................................... 7

LISTA DE FIGURAS

Figura 2.1 Simbologia utilizada na construo de heredogramas (BEIGUELMAN,


2008, p.71).
Figura 2.2 Exemplo de um heredograma de parte de uma genealogia com
recorrncia da sndrome onicopatelar (Jameson et al., 1956) (BEIGUELMAN, 2008,
p.71).
Figura 3.1 Obteno dos dados para a construo do heredograma no PedWiz
(SONG; ELSTON, 2013).
Figura 3.2 Desenho do heredograma no PedWiz (SONG; ELSTON, 2013).
Figura 3.3 - Heredograma gerado pelo PediDraw (MIN; LI, 2007).
Figura 3.4 Interao grfica do Pelican.
Figura 5.1 Diagrama de casos de uso da aplicao
Figura 5.2 - Diagrama de Classes da aplicao.
Figura 5.3 Tipos de ligao existentes (BENNETT et al, 1995, p. 748).
Figura 5.4 Diagrama de banco de dados da aplicao.
Figura 5.5 - Estruturas de dados utilizadas na aplicao.
Figura 5.6 - Classe Conexao.
Figura 5.7 - Classe Heredograma.
Figura 5.8 Variveis para gerar os ids dos componentes do heredograma.
Figura 5.9 Mtodo de adio de indivduos.
Figura 5.10 Variveis para armazenar os componentes selecionados.
Figura 5.11 Algoritmo de localizao de componentes do tipo Legenda.
Figura 5.12 - individuo selecionado, texto selecionado e linha selecionada.
Figura 5.13 Bloco de cdigo responsvel por movimentar os componentes.
Figura 5.14 Mtodo de excluso de componentes.
Figura 5.15 Parte do cdigo que desenha todos os componentes.
Figura 5.16 Heredograma exemplo.
Figura 5.17 Demonstrao do preenchimento dos indivduos.

Figura 5.18 Tipos de linha.


Figura 5.19 - Tipos de zigosidade dos gmeos.
Figura 5.20 - Classe FramePrincipal.
Figura 5.21 Tela inicial da aplicao
Figura 5.22 Menus da aplicao.
Figura 5.23 Exemplo de interao utilizando a barra lateral.
Figura 5.24 Exemplo de interao atravs dos menus pop-up.
Figura 5.25 Adicionando o primeiro indivduo.
Figura 5.26 Casando o indivduo.
Figura 5.27 Adicionando filhos ao casal.
Figura 5.28 Modificando os atributos de um indivduo.
Figura 5.29 Colocando uma linha para ficar pontilhada.
Figura 5.30 Modificando os textos central e inferior do indivduo.
Figura 5.31 Heredograma utilizado no teste da aplicao (BENNETT et al, 1995, p.
752).
Figura 5.32 Heredograma da figura 5.31 desenhado na aplicao.
Figura 6.1 Representao de casais que no tiveram filhos por motivo
desconhecido (a) ou por infertilidade (b) (BENNETT et al, 1995, p. 748).
Figura 6.2 Gmeos e trigmeos (BENNETT et al, 2008, p. 424).

LISTA DE TABELAS

Tabela 3.1 Abrangncia de recursos do PSTF.


Tabela 3.2 Comparativo das ferramentas analisadas.
Tabela 6.1 Abrangncia do PSTF da ferramenta desenvolvida em comparao
com as demais.
Tabela 6.2 Comparativo da ferramenta desenvolvida com as demais ferramentas.

1 INTRODUO

Atualmente, os softwares fazem parte da vida de praticamente todas as


pessoas, at mesmo aquelas que no usam computadores. Eles esto presentes
em praticamente todos os lugares: estabelecimentos comerciais, bancos, nibus
com bilhete eletrnico, celulares, televisores, etc. difcil imaginar o mundo sem
eles.
Na rea da gentica isso no diferente. A bioinformtica uma subrea da
informtica, que pesquisa e disponibiliza softwares para armazenamento e anlise
de dados biolgicos. Com ela possvel, por exemplo, utilizar mtodos estatsticos
capazes de analisar uma quantidade imensa de dados biolgicos. Em resumo, a
bioinformtica tem sido muito importante para os profissionais que trabalham com
gentica.
A rea da gentica muito abrangente e complexa e a bioinformtica
desponta como um grande benefcio nesse contexto, pois permite que ferramentas
sejam construdas com o intuito de otimizar o trabalho dos profissionais da rea.
Dentre as especificidades da gentica o heredograma, ser o motivador desse
trabalho.
Um heredograma um diagrama que representa as relaes familiares. Com
o avano da gentica, os heredogramas esto se tornando cada vez mais
importantes pois permitem o estudo de todas as caractersticas genticas de uma
famlia, alm de estudar a ocorrncia de doenas genticas em uma genealogia, etc.
As simbologias para a construo de heredogramas mostradas nos livros de
biologia possuem diversas diferenas de uma fonte para outra. A padronizao
dessas simbologias tambm importante, pois ela pode melhorar a comunicao
entre os diversos profissionais da rea de gentica. Pensando nisso, em 1995, a
Pedigree Task Force Standardization (PSTF), que um grupo organizado pelo
Comit de Assuntos Profissionais da Sociedade Nacional de Conselheiros Genticos
(NSGC), props um padro de desenho para a construo de heredogramas, tendo
como base o estudo das atividades desempenhadas por diversos profissionais da
rea de gentica mdica. Por essa razo, esse padro ser utilizado para a
realizao deste trabalho.
No campo da informtica, atualmente existem diversos softwares para a

construo de heredogramas. Considerando-se apenas os softwares que so


multiplataforma (por ser possvel sua execuo em qualquer sistema operacional) e
freeware (por no ter limitao nem de recursos e nem de tempo de uso, alm de
ser gratuito), alguns deles processam os dados de um arquivo de entrada ou de um
banco de dados para poder construir o heredograma. Entretanto, essa forma de
interagir com o heredograma no adequada, pois o ideal que o usurio tenha
uma interao grfica direta com o heredograma e seus componentes. Devido a
essa necessidade, foi desenvolvido o Pelican que apesar de ser uma ferramenta que
tem uma interao grfica direta, no tem abrangncia total dos recursos descritos
no PSTF.
Diante desse contexto, tem-se a seguinte questo: possvel a construo de
um software freeware, multiplataforma, com uma interao grfica direta com o
usurio na construo do heredograma e com a abrangncia de um maior nmero
de recursos do padro da PSTF? Este trabalho ir partir do pressuposto de que
possvel.
Assim, o objetivo deste estudo a apresentao de uma proposta de uma
ferramenta de software freeware, multiplataforma, que tenha uma interao grfica
direta com o usurio e que atenda um nmero maior dos requisitos bsicos (de
acordo ao padro PSTF) para a construo de um heredograma. Para isso, este
trabalho foi dividido da seguinte maneira: o primeiro captulo ir abordar a pesquisa
e a anlise de ferramentas existentes sobre o tema em questo; o segundo captulo
ir abordar a definio dos requisitos bsicos para a construo da ferramenta e a
sua implementao; o terceiro captulo ir abordar

a anlise da ferramenta; no

ltimo captulo, sero apresentados a concluso e os trabalhos futuros.

2 FUNDAMENTAO TERICA

2.1 Heredograma
Um heredograma um diagrama para representar as relaes familiares e
frequentemente utilizado para determinar o modo de herana de determinadas
caractersticas (YANG; CHENG; ZSOYOGLU, 2012, p. 1). O termo heredograma
resulta da palavra latina hers, quer dizer herana, e da palavra grega gramma, quer
dizer letra ou smbolo. O nome correspondente em ingls pedigree (BEIGUELMAN,
2008, p.71).
Segundo Bernardo Beiguelman (2008, p.71), a histria genealgica registrada
graficamente num heredograma permite a compreenso rpida das diversas
relaes de parentesco entre diversos membros de uma genealogia, revendo as
informaes em tempo muito curto e permitindo, inclusive, avaliar a sua correo e
melhor explorar a investigao em algumas delas. Tambm permite verificar se uma
doena se manifesta em um nico indivduo (caso espordico) ou se ela se repete
na genealogia, qual a distribuio dos casos afetados segundo o sexo, qual a ordem
de nascimento dos doentes nas irmandades e qual a fertilidade dos casais.
Alm disso, o heredograma permite averiguar a ocorrncia de casamentos
consanguneos e sua relao com a manifestao de uma doena, etc. Essas so
apenas algumas das razes pelas quais o heredograma uma ferramenta
importante

para

os

profissionais

que

trabalham

com

gentica

humana

(BEIGUELMAN, 2008, p.71).

2.1.1 Elementos do heredograma


Num heredograma, existem elementos para representar os seres humanos de
cada sexo. As mulheres so representadas por crculos, os homens so
representados por quadrados e os indivduos de sexo ignorado ou no especificado
so representados por losangos (GUIMARES; OTTO; FROTA-PESSOA, 1998).
Esses elementos so mostrados na Figura 2.1 (a), (b) e (e).
Os cnjuges so ligados por uma linha horizontal, da qual parte uma linha
vertical, que se liga a outra linha horizontal, na qual ficam pendurados os smbolos
dos filhos, dispostos por ordem de nascimento da esquerda para a direita
(GUIMARES; OTTO; FROTA-PESSOA, 1998), como mostrado na Figura 2.1 (j).

10

As geraes includas na genealogia so numeradas no heredograma por


algarismos romanos, em ordem crescente, da mais antiga para a mais nova, ao
passo que os indivduos de cada gerao devem ser designados por algarismos
arbicos. A numerao dos indivduos feita de modo consecutivo, da esquerda
para a direita, recomeando-se a numerao em cada gerao (BEIGUELMAN,
2008, p.71). Essas numeraes so mostradas na Figura 2.2.
Os smbolos escurecidos representam as pessoas que possuem a
caracterstica em estudo e os smbolos claros representam as pessoas que no
possuem a caracterstica em estudo (GUIMARES; OTTO; FROTA-PESSOA, 1998)
(ver Figura 2.1 (c) e (d) ).
O primeiro membro da famlia identificado pelo pesquisador como portador do
trao em estudo deve ser assinalado por uma seta (GUIMARES; OTTO; FROTAPESSOA, 1998).
A figura abaixo mostra alguns dos smbolos utilizados na construo de
heredogramas. As simbologias mostradas nos livros de biologia possuem algumas
diferenas. Para a implementao da ferramenta, ser utilizada a simbologia do
padro universal criado pelo PSTF.
Figura 2.1 Simbologia utilizada na construo de heredogramas (BEIGUELMAN, 2008, p.71).

11

Figura 2.2 Exemplo de um heredograma de parte de uma genealogia com recorrncia da sndrome
onicopatelar (Jameson et al., 1956) (BEIGUELMAN, 2008, p.71).

2.2 Softwares freeware e multiplataforma


Segundo o dicionrio Michaelis Online, um software qualquer programa ou
grupo de programas que instrui o hardware sobre a maneira como ele deve executar
uma tarefa, inclusive sistemas operacionais, processadores de texto e programas de
aplicao.
Para a realizao deste trabalho foi escolhida a modalidade dos softwares
freeware. Software freeware um software proprietrio que disponibilizado
gratuitamente, mas no pode ser modificado. O software proprietrio aquele cuja
cpia, redistribuio ou modificao so proibidas pelo autor em determinado grau.
necessrio solicitar permisso ou pagar para utilizar (Lilian Ferreira, 2007).
Diferente dos softwares freeware, que no possuem nenhuma limitao quanto ao
uso, os softwares shareware possuem dois tipos de limitao: a de tempo na qual o
usurio pode experimentar o software por um perodo de tempo determinado e
depois ele deve comprar uma licena para poder continuar usando e a limitao de
recursos na qual o usurio pode usufruir apenas de alguns recursos da ferramenta
sendo assim, somente comprando a licena para poder utilizar todos os seus
recursos. Assim, essa ferramenta ser freeware para que o usurio possa utiliz-la
pelo tempo que desejar e usufruir de todos os seus recursos.
Alm de ser freeware, a ferramenta que ser implementada tambm ser
multiplataforma. Uma plataforma computacional uma combinao de um
processador e um sistema operacional. Software multiplataforma um programa
que pode funcionar em vrias plataformas (equipamentos) diferentes (Dicionrio
Michaelis Online), diferentemente dos softwares monoplataforma. Por isso, essa
ferramenta ser multiplataforma para que seja possvel sua utilizao pelos usurios
das mais diversas plataformas computacionais.

12

3 REVISO BIBLIOGRFICA

3.1 Softwares na construo de heredogramas


Para a construo da ferramenta, foram analisadas algumas existentes no
mercado com o objetivo de verificar quais funcionalidades as mesmas no atendem
e que pudessem ser implementadas. A Universidade do Alabama (UAB) publicou em
seu site uma pgina onde contm vrias ferramentas para a construo de
heredogramas (Pedigree Drawing Programs). Dessas ferramentas foram analisadas
apenas as que obedecem aos seguintes critrios: ser freeware, ser multiplataforma
e ter um artigo com qualis A1 que descreva a ferramenta com no mximo 10 anos
de publicao.
Das ferramentas que esto na listagem, as que obedecem aos critrios acima
so o PedHunter e o PediDraw. As ferramentas PedWiz e Pelican, apesar de no
aparecerem na listagem feita pela UAB, tambm sero analisadas pois elas
obedecem os critrios descritos acima.

3.1.1 PedHunter
De acordo com (LEE et al, 2010), o PedHunter um conjunto de softwares de
consulta que facilitam a criao e a verificao de heredogramas com uma larga
genealogia. Este software foi desenvolvido para auxiliar os estudos genticos de
uma populao fechada que fica na Pensilvnia.
Na sua atual verso, o PedHunter possui um total de 50 consultas que esto
divididas em 4 categorias que so: testar um relacionamento ( pai , me),
encontrar todos indivduos que satisfaam uma certa relao ( esposa), impresso
de informao e consultas complexas.
O PedHunter consulta um banco de dados relacional SYBASE de genealogia
ou um arquivo de texto simples e estruturado.
Apesar de essa ferramenta ser freeware e multiplataforma, ela no
disponibiliza nenhum recurso grfico para o desenho do heredograma.

13

3.1.2 PedWiz
De acordo com (SONG; ELSTON, 2013), o PedWiz uma ferramenta web
projetada para ajudar os pesquisadores na anlise dos dados de heredogramas.
Essa ferramenta foi desenvolvida porque at o momento no existia nenhum
programa que fornecia todas as diferentes medidas de similaridade gentica e
outras medidas importantes.
Ele possui os seguintes recursos: estatstica descritiva, pares relativos,
coeficientes de similaridade gentica, alm de outros coeficientes importantes.
O PedWiz obtm os dados do heredograma atravs de um arquivo texto de
entrada, como mostrado na Figura 3.1. Na Figura 3.2 mostrado como o usurio
obtm o desenho do heredograma.
Figura 3.1 Obteno dos dados para a construo do heredograma no PedWiz (SONG; ELSTON,
2013).

14

Apesar de o PedWiz ser uma ferramenta freeware e multiplataforma, ela no


possui uma interao grfica direta com o usurio e no abrange boa parte dos
recursos do padro PSTF.

Figura 3.2 Desenho do heredograma no PedWiz (SONG; ELSTON, 2013).

3.1.3 PediDraw
De acordo com (MIN; LI, 2007), o PediDraw uma ferramenta online para o
desenho de heredogramas. Surgiu da necessidade de se ter uma ferramenta online,
de fcil utilizao e acessvel.
Antes de comear a utilizar a ferramenta, necessrio que o usurio faa um
cadastro no site para adquirir um login e uma senha. Aps o usurio logar, para
desenhar o heredograma o usurio precisa passar por algumas etapas. Na primeira
etapa o usurio insere em um formulrio suas informaes bsicas como idade,
sexo, estado civil, podendo tambm inserir informaes referentes a sua esposa e
filhos. Na segunda etapa, atravs de outro formulrio, o usurio insere informaes

15

dos seus ancestrais. Na terceira etapa, o usurio insere em outro formulrio as


informaes de seus irmos e seus pais. Na quarta etapa, exibida uma tabela com
todas as informaes inseridas pelo usurio nas etapas anteriores e logo abaixo o
usurio pode inserir observaes sobre os indivduos tais como: quais indivduos
possuem casamento consanguneo, quais so gmeos, quem o individuo principal,
etc. A tabela com as informaes inseridas pelo usurio pode ser salva como
documento do word (.doc) e o desenho do heredograma pode ser salvo como
imagem nos formatos .bmp e .gif. Tambm possvel imprimir o heredograma. Para
proteger as informaes inseridas pelo usurio, ele ainda pode excluir as
informaes inseridas logo aps o heredograma ser gerado.
Depois de inseridas as informaes relevantes, basta que o usurio clique no
boto de enviar e desenhar para que essas informaes sejam processadas
resultando no desenho do heredograma. A Figura 3.3 exibe o desenho de um
heredograma feito no pedidraw.
Assim como o PedWiz, o PediDraw tambm uma ferramenta que apesar de
ser freeware e multiplataforma, no possui uma interao grfica direta com o
usurio e tambm no abrange grande parte dos recursos do padro PSTF.
Figura 3.3 - Heredograma gerado pelo PediDraw (MIN; LI, 2007).

3.1.4 Pelican
De acordo com (DUDBRIDGE; CARVER; WILLIAMS, 2004), o Pelican um
editor grfico e leve para a construo rpida de heredogramas. Surgiu da
necessidade de se ter uma ferramenta na qual o usurio pudesse construir os

16

heredogramas sem ter que escrever os dados em um arquivo de texto (ou banco de
dados), pois construir heredogramas dessa forma no muito adequado porque
alm de ser tedioso, est propenso a erros.
O software funciona da seguinte forma: ao clicar em um componente com o
boto direito do mouse, ser exibido um menu popup com as opes do que pode
ser feito com aquele componente. Se for um indivduo, por exemplo, aparecero
opes como: mudar o sexo, determinar se o individuo est vivo ou no, determinar
se o individuo possui a caracterstica em questo, etc. Nesse software tambm
possvel salvar o heredograma em um arquivo de ligao (arquivo que contm os
indivduos, suas caractersticas e suas relaes com os demais indivduos), em um
arquivo post-script (que pode ser diretamente enviado para uma impressora
qualquer) e como imagem PNG ou JPEG.
Diferentemente das outras ferramentas analisadas, nessa ferramenta no
necessrio que o usurio preencha um arquivo de texto estruturado para a
construo do heredograma j que o usurio pode constru-lo interagindo
diretamente com os seus componentes, o que determina a sua interao grfica
direta com a ferramenta, conforme a Figura 3.4.
uma ferramenta freeware, multiplataforma, que possui uma interao
grfica direta com o usurio mas que no abrange grande parte dos recursos do
PSTF.
Figura 3.4 Interao grfica do Pelican.

17

3.2 Anlise das ferramentas


Para a anlise das ferramentas, foram escolhidas algumas mtricas
importantes que so: ser freeware e multiplataforma, possuir interao grfica direta
com o usurio e nmero de recursos do padro PSTF abrangidos.
Para medir a abrangncia dos recursos do padro PSTF, cada ferramenta foi
analisada com base na lista de recursos da tabela 3.1 e para cada recurso
abrangido

foi atribuda

uma

pontuao.

recurso

nmero

mximo

de

caractersticas estudadas tem pontuao mxima indefinida pois quanto maior o


nmero de caractersticas quem podem ser estudadas, melhor a ferramenta. O
recurso nmero de cenrios de reproduo tem o valor 5 como pontuao mxima
pois no PSTF existem no total 5 cenrios. Os demais tem pontuao de 0 (recurso
no abrangido) ou 1 (recurso abrangido). A classificao ser da seguinte forma:

De 1 a 10 pontos: abrange poucos recursos.

De 11 a 20 pontos: abrange boa parte dos recursos.

De 21 a 30 pontos: abrange grande parte dos recursos.

A ferramenta PedHunter no aparece na tabela 3.1 pois ela no possui


nenhum recurso do PSTF para a construo de heredogramas.
Tabela 3.1 Abrangncia de recursos do PSTF.
Recursos do PSTF

PedWiz

Pedidraw

Pelican

Representar indivduos de todos os sexos

Representar abortos

Nmero mximo de caractersticas para estudo

Representar indivduos falecidos

Inserir textos no centro e na parte inferior do individuo

Definir o indivduo Principal do heredograma

Representar Casamento Normal

Representar Casamento Consanguneo

Representar Divrcio

Representar Gmeos

Representar Relaes de Parentesco

Representar tipos de zigosidade dos gmeos

Representar indivduos com histrico familiar desconhecido

Representar indivduos com infertilidade

Representar indivduos que no podem ter filhos

18

Recursos do PSTF

PedWiz

Pedidraw

Pelican

Representar indivduos adotados

Nmero de cenrios de reproduo (de 0 a 5)

Representar indivduos que tem avaliao documentada

Representar indivduos que so portadores obrigatrios

Representar indivduos assintomticos

Mostrar numerao dos indivduos

Mostrar numerao das geraes

10

Total De Requisitos Abrangidos (Maximo: 30)

A tabela a seguir apresenta um comparativo entre as ferramentas de acordo


com as respectivas mtricas definidas.
Tabela 3.2 Comparativo das ferramentas analisadas.

Freeware e multplataforma
PedHunter
PedWiz
PediDraw
Pelican

Sim
Sim
Sim
Sim

Interao Grfica
Direta
No
No
No
Sim

Abrangncia do PSTF
Pouca
Pouca
Pouca

Atravs da anlise da tabela acima, percebe-se que todas as ferramentas


analisadas so freeware e multiplataforma mas apenas uma delas possui interao
grfica direta com o usurio (Pelican) permitindo assim que o usurio interaja
graficamente com os elementos do heredograma, facilitando a construo do
mesmo. Outra mtrica significativa que nenhuma delas abrange grande parte dos
recursos do padro PSTF. Diante disso, a ferramenta proposta, alm de ser
freeware , multiplataforma e possuir uma interao grfica direta com o usurio, ter
como diferencial a abrangncia de um nmero maior de recursos do padro PSTF.

19

4 METODOLOGIA

O presente artigo de carter tecnolgico, uma vez que o objetivo o


desenvolvimento de um software.
Inicialmente foram realizadas pesquisas bibliogrficas acerca do tema
proposto no intuito de identificar os requisitos do software e verificar as
funcionalidades das ferramentas existentes a fim de aproveitar ideias e propor
inovaes. Essas pesquisas tambm so de carter exploratrio pois atravs delas
foi feita a caracterizao inicial do problema de pesquisa.
Para mensurar a abrangncia do padro PSTF nas ferramentas j existentes,
foi feita uma anlise quantitativa, na qual procurou-se identificar a quantidade de
recursos abrangidos por cada ferramenta.
Aps a anlise das ferramentas, foi dado incio a identificao dos requisitos
para o incio do desenvolvimento do software. Para a modelagem do projeto foi
utilizada a ferramenta Jude Community na construo dos diagramas de caso de
uso e o software Dia na construo do diagrama de classes, ambos componentes da
UML (Unified Modeling Language). Para a construo do diagrama de banco de
dados foi utilizado o software DBDesigner 4. Essas trs ferramentas foram
escolhidas pela sua facilidade de uso. Para a codificao foi utilizada a linguagem de
programao Java, por ser uma linguagem multiplataforma. O SGBD utilizado foi o
SQLite por ser simples e por ser compatvel com a linguagem de programao
escolhida. Tambm foi utilizada a ferramenta SQLite Manager para a construo do
esquema de banco de dados.
Os testes foram realizados de forma manual, utilizando e averiguando cada
funcionalidade do software at que o mesmo retornasse resultados satisfatrios
diante das mtricas que foram definidas. Para a realizao dos testes, foi utilizado o
heredograma da figura 5.31 que se encontra no artigo que descreve o padro PSTF
(BENNETT et al, 1995). Foi feita uma anlise quantitativa para medir, atravs de
porcentagem, quantos componentes do heredograma, a ferramenta conseguiu
desenhar.

20

5 DESENVOLVIMENTO DO SOFTWARE
A ferramenta desenvolvida ter o nome de JHeredograma. Com ela, o usurio
poder construir heredogramas interagindo diretamente com seus componentes.

5.1 Diagrama de casos de uso


Para o desenvolvimento da ferramenta, foram levantados os requisitos
atravs da anlise do artigo que descreve o PSTF (BENNETT et al, 1995). Atravs
da anlise de requisitos foram levantadas as funcionalidades da aplicao. Essas
funcionalidades so mostradas de uma forma geral, na Figura 5.1 atravs de um
diagrama de casos de uso.
Figura 5.1 Diagrama de casos de uso da aplicao.

Gerenciar indivduos: alm das funes bsicas de adio e excluso dos


indivduos, tambm ser possvel modific-los. A modificao de um indivduo inclui:

21

mudar seu sexo (masculino, feminino, indefinido, aborto), alterar os textos central e
inferior, definir se o indivduo est vivo, se ele assintomtico, se possui ou no
avaliao documentada, se ele frtil, se ele pode ter filhos, se ele portador
obrigatrio, se ele adotado, se possui histrico desconhecido e se possui as
caractersticas estudadas.
Gerenciar Legendas: incluir, editar e excluir legendas. Ao incluir uma
legenda, ela pode ou no ter o desenho de um indivduo.
Gerenciar Linhas de Relacionamento: as linhas so adicionadas ao se criar
relaes entre os indivduos aonde relaes so: casamento, parentesco (pais e
filhos, biolgicos ou adotados). Para representar as inseminaes artificiais existem
as linhas que ligam o indivduo ao doador do esperma, ou doadora do vulo ou
ainda barriga solidria. possvel excluir as linhas e modific-las e a sua
modificao inclui poder definir se ela pontilhada ou no (se for uma linha de
parentesco).
Gerenciar Casamentos: alterao do tipo das linhas de casamento. Um
casamento pode ser: normal, consanguneo ou divrcio.
Definir indivduo principal do heredograma: assinalar o indivduo principal
do heredograma.
Gerenciar Filhos: se divide em duas funcionalidades: gerenciar cenrios de
reproduo e gerenciar filhos biolgicos.
Gerenciar Filhos Biolgicos: adicionar filhos biolgicos a um casal.
Gerenciar Gmeos: incluir, editar e excluir gmeos. A funo de edio inclui
poder editar a zigosidade dos gmeos (monozigoto, dizigoto,

zigosidade

desconhecida).
Gerenciar cenrios de reproduo: Os cenrios de reproduo servem para
representar os casos de filhos que so concebidos por inseminao artificial. No
padro PSTF existem cinco cenrios que so: filho concebido com doao de
esperma, com doao de vulo, com barriga solidria, com doadora de vulo
substituta e por adoo planejada.
Gerenciar

Heredogramas:

criar um novo

heredograma, salvar um

heredograma em arquivo e abrir heredograma.


Imprimir heredograma: imprimir o heredograma atravs de uma impressora.
Exportar heredograma para imagem: exportar o desenho do heredograma
para um arquivo de imagem.

22

5.2 Projeto da arquitetura

5.2.1 Diagrama de classes


Aps a anlise dos requisitos, foi criado o seguinte diagrama de classes da
aplicao utilizando o software Dia:

Figura 5.2 - Diagrama de Classes da aplicao.

23

A classe indivduo armazena as informaes dos indivduos do heredograma


para que seja possvel fazer o seu desenho. Cada indivduo ter um nmero de
identificao nico. A varivel textoCentral armazena o texto que fica no centro do
indivduo e a varivel textoInferior armazena o texto que fica logo abaixo do
indivduo. As varaveis posicaoHorizontal e posicaoVertical armazenam a posio do
indivduo no heredograma.
A classe LinhaRelacionamento armazena as informaes das linhas dos
heredogramas para que seja possvel fazer o seu desenho. Cada linha ter um
nmero

de

identificao

ponto1_posicaoVertical,

nico.

As

variveis

ponto2_posicaoHorizontal

ponto1_posicaoHorizontal,
e

ponto2_posicaoVertical

armazenam as posies inicial e final da linha.


Na classe LinhaRelacionamento, a varivel TipoRelacao indica qual a relao
representada pela linha (casamento, parentesco, etc) e a varivel TipoLigao
indica qual o tipo de ligao que a linha faz. Na Figura 5.3, a linha indicada pelo
nmero 1 uma linha que liga dois indivduos, a linha indicada pelo nmero 2 liga
duas linhas e a linha indicada pelo nmero 3 liga uma linha a um indivduo.
Ainda na classe LinhaRelacionamento, as variveis IdIndividuo1, IdIndividuo2,
IdLinha1 e IdLinha2 armazenam os identificadores dos componentes que a linha
est ligando. Quando for uma ligao de dois indivduos, as variveis IdIndividuo1 e
IdIndividuo2 armazenam os identificadores desses indivduos. Quando for uma
ligao de duas linhas, as variveis IdLinha1 e IdLinha2 armazenam os
identificadores dessas linhas. Quando for uma ligao de um indivduo a uma linha,
as variveis IdIndividuo1 e IdLinha1 armazenam os identificadores do indivduo e da
linha, respectivamente.
Figura 5.3 Tipos de ligao existentes (BENNETT et al, 1995, p. 748).

24

A classe Gmeos servir para armazenar as informaes dos pares de


irmos gmeos do heredograma para que seja possvel desenh-los. Para isso
foram criadas as variveis com os identificadores dos indivduos que fazem parte do
par de gmeos. O campo TipoZigosidade armazena o tipo de zigosidade dos
gmeos (monozigoto, dizigoto ou zigosidade desconhecida).
A classe Legenda servir para armazenar as informaes das legendas do
heredograma. Essa classe servir para o usurio poder inserir textos/legendas no
heredograma. Cada legenda ter um nmero de identificao nica. Uma legenda
poder ter ou no um indivduo relacionado a ela. As variveis posicaoHorizontal e
posicaoVertical armazenam a posio da legenda no heredograma.

5.2.2 Diagrama de banco de dados


Uma das funcionalidades que a ferramenta ter, ser a possibilidade de
salvar o heredograma em arquivo de dados. Para isso o heredograma ser salvo em
um arquivo de banco de dados SQLite, sendo que um banco de dados armazena os
dados de um heredograma. Este SGBD foi escolhido pela sua simplicidade.
Aps a anlise do diagrama de classes, foi criado o diagrama de banco de
dados da Figura 5.4.
No diagrama da Figura 5.4, os campos que comeam com CD_ so os
campos de chave primria ou chave estrangeira, os campos que comeam com TP_
indicam campos de tipo, os campos que comeam com LG_ so campos lgicos,
os campos que comeam com NR_ so campos numricos, os campos que
comeam com DS_ so campos de texto e os campos que comeam com PS_
so campos de posio (horizontal ou vertical).
As tabelas INDIVIDUO, LINHA_RELACIONAMENTO, GEMEOS e LEGENDA
armazenam as informaes dos componentes do heredograma. A tabela de
CONFIGURACAO ter apenas um registro e nela vai ficar armazenado o
identificador do ultimo indivduo inserido, o identificador da ultima linha inserida e o
identificador da ultima legenda inserida para que seja possvel continuar inserindo os
componentes a partir do ultimo identificador inserido. Nessa tabela ficar
armazenado tambm o identificador do indivduo principal do heredograma.

25

Figura 5.4 Diagrama de banco de dados da aplicao.

5.3 Implementao
Para descrever a implementao da ferramenta, a explanao ser dividida
em 3 partes: dados, lgica e interface grfica.

5.3.1 Dados
Para armazenamento dos dados do heredograma, foram criadas as classes
do diagrama de classes da Figura 5.2 que so: Individuo, LinhaRelacionamento,
Gemeos e Legenda. E para armazenar os componentes dessas classes sero

26

utilizados vetores da classe Vector (nativa do Java), como mostra a Figura 5.5.
Esses dados podero ser salvos em um arquivo de banco de dados SQLite
para que seja possvel guardar e realizar futuras alteraes no heredograma. A
classe responsvel por isso a classe Conexao que mostrada na Figura 5.6.
Quando o usurio deseja salvar o heredograma, as quatro estruturas de
dados da Figura 5.5 so armazenadas em um arquivo de banco de dados SQLite.
Os registros de cada vetor so salvos nas suas respectivas tabelas. Alm disso no
banco de dados tem uma tabela de configurao (ver Figura 5.4) que ter apenas
um registro onde ficar armazenado o ltimo identificador inserido para indivduos,
linhas e legendas, alm do identificador do individuo principal do heredograma.
Ao abrir um arquivo do heredograma, as tabelas do arquivo de banco de
dados so lidas e as estruturas de dados da Figura 5.5 so alimentadas com os
dados de suas respectivas tabelas. Alm disso, as variveis que indicam o ultimo
identificador gerado para cada tipo de componente e a varivel que indica o
individuo principal tambm so alimentadas.
. Alm disso, o heredograma tambm poder ser salvo em imagem PNG e ser
impresso.
Figura 5.5 - Estruturas de dados utilizadas na aplicao.

Figura 5.6 - Classe Conexo.

27

5.3.2 Lgica
A classe responsvel para implementao de toda lgica de programao da
aplicao a classe Heredograma e seu cabealho mostrado na Figura 5.7. Essa
classe herdeira de JPanel pois atravs dele que possvel construir os desenhos
implementando o seu mtodo paintComponent.. Ela tambm implementa a interface
Printable para que seja possvel imprimir o heredograma desenhado no JPanel.
Figura 5.7 - Classe Heredograma.

5.3.2.1 Insero de componentes


Cada componente do heredograma (individuo, linha, legenda) tem um
identificador nico. Para isso existem trs variveis (Figura 5.8) que inicialmente tem
valor igual a zero. Sempre que um componente inserido, essa varivel
incrementada de 1 e esse valor atribudo ao componente. Logo aps o
componente inserido no seu respectivo vetor (Figura 5.5). O processo de insero
mostrado na Figura 5.9.

Figura 5.8 Variveis para gerar os ids dos componentes do heredograma.

Figura 5.9 Mtodo de adio de indivduos.

5.3.2.2 Seleo de componentes.


Quando o usurio clica em algum lugar da tela, chamado um mtodo, o
LocalizaComponente da classe Heredograma, que recebe as coordenadas da

28

posio que o usurio clicou. Este mtodo ir percorrer os vetores de componentes,


procurando algum que esteja naquela posio que o usurio clicou. Se existir um
componente no ponto em que o usurio clicou, ao final do mtodo, esse componente
ser armazenado na varivel especfica (Figura 5.10). Como s possvel
selecionar apenas um componente, apenas uma dessas variveis

estar com

algum valor no final da execuo do mtodo LocalizaComponente. O componente


selecionado armazenado numa varivel para que seja possvel manipul-lo.
Figura 5.10 Variveis para armazenar os componentes selecionados.

A Figura 5.11 mostra como o processo de localizao feito para localizar


uma legenda. Para os demais componentes (indivduos e linhas) o processo
semelhante.
Figura 5.11 Algoritmo de localizao de componentes do tipo Legenda.

Na interface grfica a seleo mostrada da seguinte forma: se for um


individuo ou um texto que estiver selecionado, aparecem 8 quadradinhos pretos em
volta do componente e se for uma linha que estiver selecionada, ela fica da cor azul
escuro. Isso mostrado na Figura 5.12.

29

Figura 5.12 - individuo selecionado, texto selecionado e linha selecionada.

5.3.2.2 Movimentao de componentes


A movimentao de componentes feita da seguinte forma: quando o usurio
clica no componente, arrasta e solta, disparado um evento do mouse e atravs
desse evento possvel obter as coordenadas da posio onde o usurio soltou o
boto do mouse. Depois disso, basta atualizar as variveis que armazenam a
posio dos componentes (ver Figura 5.2) com as coordenadas da posio que o
usurio clicou.
No caso do componente arrastado ser um indivduo, alm de atualizar a
posio tambm preciso atualizar as coordenadas da extremidade da linha que
est ligada ao indivduo para que a linha no fique desconectada. S possvel
movimentar um individuo para esquerda ou para a direita pois, como ele faz parte de
uma gerao, no se pode mov-lo para cima ou para baixo.
No caso do componente arrastado ser uma linha, tambm preciso atualizar
as coordenadas das outras linhas que esto ligadas a alguma das extremidades da
linha arrastada. S possvel arrastar a linha que liga a linha do casal linha dos
filhos e tambm s pode ser arrastada para a direita ou para a esquerda.
No caso do componente arrastado ser um texto, basta apenas atualizar a sua
posio para a posio escolhida pelo usurio. Um texto pode ser arrastado para
qualquer posio (para a esquerda, para a direita, para cima e para baixo).
A codificao da movimentao de componentes mostrada na Figura 5.13.

Figura 5.13 Bloco de cdigo responsvel por movimentar os componentes.

30

5.3.2.3 Excluso de componentes


No processo de excluso, existe um mtodo para excluso de cada
componente. Para excluir um componente do tipo indivduo necessrio remover as
referncias de todas as linhas que o referenciam. Para isso, as variveis
IdIndividuo1 e IdIndividuo2 dessas linhas recebem o valor -1, quando referenciam o
indivduo excludo e logo aps, o individuo removido do vetor de indivduos.
Para excluir uma linha necessrio remover as referncias de todas as
outras linhas que a referenciam. Para isso, as variveis IdLinha1 e IdLinha2 dessas
linhas recebem o valor -1, quando referenciam a linha excluda e logo aps, a linha
removida do vetor de linhas.
Para excluir um componente do tipo gmeo, necessrio remover os dois
indivduos e as duas linhas que o compem e logo aps, o componente excludo
do vetor de gmeos.
Para excluir um componente do tipo legenda, basta apenas exclu-lo do vetor
de legendas pois ele no faz referncia alguma a outros componentes.
A codificao do processo de excluso mostrada na Figura 5.14.
Figura 5.14 Mtodo de excluso de componentes.

31

5.3.2.4 Desenho dos componentes


O mtodo responsvel por fazer o desenho dos componentes o
paintComponent. Toda vez que qualquer alterao (incluso, excluso e modificao
de itens) for feita em pelo menos um item das estruturas de dados da Figura 5.5, o
mtodo paintComponent acionado para que todo o heredograma seja
redesenhado.
Quando o mtodo paintComponent executado, ele faz uma iterao em
cada vetor da Figura 5.5 para que todos os itens sejam desenhados. O componente
Graphics passado para o mtodo draw da classe do componente. Este processo
mostrado na Figura 5.15.
Alm de desenhar os componentes, no mtodo paintComponent, tambm
desenhado a numerao em algarismo romano que indica as geraes (Figura 5.16),
os quadradinhos que ficam ao redor do componente selecionado (Figura 5.16,
individuo 3 da gerao II),

a seta que aponta para o indivduo principal do

heredograma (Figura 5.16, individuo 2 da gerao II) e a numerao dos indivduos


do heredograma (Figura 5.16).
Figura 5.15 Parte do cdigo que desenha todos os componentes.

32

Figura 5.16 Heredograma exemplo.

No desenho dos indivduos, primeiro desenha-se o smbolo que indica o sexo


(quadrado para o masculino, crculo para o feminino, losango para sexo indefinido e
triangulo para aborto, como mostra a Figura 5.16). Logo aps so feitos os
desenhos correspondentes aos demais atributos do indivduo. O individuo 4 da
gerao II na Figura 5.16, por exemplo, possui o desenho de quem tem o atributo de
adotado. Por fim, so desenhados os textos centrais e inferior do indivduo, como
mostra o individuo 1 da gerao II na Figura 5.16.
A textura (preenchimento) de cada indivduo definida de acordo com as
caractersticas estudadas que o mesmo possui. Essas caractersticas so definidas
atravs dos campos booleanos PossuiCaracteristica1, PossuiCaracteristica2,
PossuiCaracteristica3, PossuiCaracteristica4. Se o individuo possui apenas uma
caracterstica estudada, o preenchimento um s (individuo 2 da gerao II na
Figura 5.16). Se possuir mais de uma caracterstica estudada, a rea interna do
individuo divida igualmente pelo nmero de caractersticas e cada subrea ter
uma textura diferente, ou seja, cada textura indicar uma caracterstica diferente,
como mostra a Figura 5.17. Para o usurio definir qual caracterstica representa uma
determinada textura, basta ele adicionar uma legenda com o desenho daquele
indivduo.
O mximo de caractersticas estudadas que podem existir no heredograma
so quatro pois, se tivesse mais que isso e supondo que um indivduo tivesse todas
as caractersticas estudadas, o desenho desse indivduo iria ficar muito complexo.

33

Figura 5.17 Demonstrao do preenchimento dos indivduos.

O desenho das linhas feito de acordo com seu tipo de ligao. Se for uma
ligao individuo-individuo (linha que liga os indivduos da gerao I da Figura 5.16),
o ponto inicial da linha o ponto central do indivduo 1 e o ponto final da linha o
ponto central do individuo 2. Se for uma ligao linha-linha (linha vertical entre os
indivduos da gerao 1 da Figura 5.16) , o ponto inicial da linha o ponto final da
linha 1 e o ponto final o ponto inicial da linha 2. Se for uma ligao indivduo-linha
o ponto inicial da linha o ponto central do individuo 1 e o ponto final da linha o
ponto inicial da linha 1. Se for uma ligao linha-indivduo (linha do individuo 1 da
gerao II da Figura 5.16), o ponto inicial o ponto final da linha 1 e o ponto final o
ponto central do individuo. Se for uma ligao do tipo linha , o ponto inicial o ponto
final da linha 1 e o ponto final vai ser as prprias coordenadas do ponto 2 da linha.
Se for uma ligao do tipo individuo, o ponto inicial o ponto central do individuo e o
ponto final so as coordenadas do ponto 2 da prpria linha.
Para fazer a linha pontilhada (linha do indivduo 4 da gerao II da Figura 5.16)
foi preciso definir um stroke. Um stroke uma classe que define como ser feito o
desenho da linha (pontilhada, tracejada, etc). Algumas linhas so mostradas na
Figura 5.18:
Figura 5.18 Tipos de linha.

O desenho dos indivduos e das linhas que formam os gmeos feito por
suas prprias classes. A classe Gmeo apenas faz o desenho da zigosidade dos
gmeos. Os tipos de zigosidade so mostrados na Figura 5.19.

34

Figura 5.19 - Tipos de zigosidade dos gmeos.

O desenho das legendas feito da seguinte forma: se a legenda tiver um


indivduo associado a ela (ver Figura 5.16) primeiro feito o desenho do indivduo e
do lado desenhado o texto utilizando o mtodo drawString da classe Graphics
(nativa do java). Se for uma legenda sem individuo associado (ver Figura 5.16), s o
texto desenhado.

5.3.3 Interface Grfica


A classe responsvel pela interface grfica a classe FramePrincipal (Figura
5.20).
Figura 5.20 - Classe FramePrincipal.

Figura 5.21 Tela inicial da aplicao.

A interface grfica do JHeredograma pode ser visualizada na Figura 5.21. Na


parte superior (1) est o menu principal da aplicao. Na lateral esquerda (2) est a
barra de ferramentas da aplicao. A rea branca (3) onde ficar o desenho do

35

heredograma. Na parte inferior (4) est uma barra de instrues. As opes do


menu principal da aplicao so mostrados na Figura 5.22.

Figura 5.22 Menus da aplicao.

Do lado esquerdo encontra-se a barra de ferramentas da aplicao (2). Essa


barra de ferramenta possui botes que ao serem clicados exibem um menu com as
opes do que se pode fazer com o componente selecionado (com exceo do
boto adicionar que exibe as opes para adicionar individuo e adicionar texto). Na
Figura 5.23 por exemplo, uma linha de casamento estando selecionada, ao clicar no
boto Casamento aparece o menu com as opes para alterar o tipo de casamento.
Figura 5.23 Exemplo de interao utilizando a barra lateral.

Nessa aplicao, alm de utilizar a barra de ferramentas para construir o


heredograma, tambm possvel a interao atravs dos menus pop-up. Dessa

36

forma, quando o usurio clica com o boto direito do mouse em cima de um


componente, aparece um menu pop-up com as opes do que pode ser feito com o
componente selecionado. Na Figura 5.24 por exemplo, o usurio clicou com o boto
direito do mouse em cima de um indivduo e apareceu um menu pop-up com as
opes do que se pode fazer com o indivduo selecionado.
Figura 5.24 Exemplo de interao atravs dos menus pop-up.

A barra de instrues ser utilizada para ajudar o usurio durante a utilizao


da aplicao. Essa barra ser utilizada principalmente nos casos em que ser
preciso executar uma operao com dois indivduos j existentes. Quando o usurio
deseja casar um individuo com outro j existente por exemplo, ele deve clicar em
cima do primeiro individuo e escolher a opo Casar individuo com.... Nesse
momento, aparecer na barra inferior , uma instruo dizendo para o usurio clicar
em cima do segundo indivduo, e assim uma linha de casamento ser criada entre
esses dois indivduos.

37

5.3.4 Construo de exemplo prtico.


O objetivo dessa seo mostrar as funcionalidades da ferramenta atravs
da construo passo a passo do heredograma exemplo da Figura 5.16. Todos os
passos sero ilustrados por figuras.
Para iniciar, primeiro deve-se adicionar um indivduo clicando no boto
Adicionar > Individuo ou clicando com o boto direito do mouse na rea branca.
Figura 5.25 Adicionando o primeiro indivduo.

Logo aps, para casar esse individuo, basta clicar com o boto direito do
mouse em cima do indivduo e clicar no menu de Casamento ou selecionar o
individuo e clicar no boto Individuo > Casamento. Se o usurio quiser mudar o tipo
de casamento, deve-se clicar com o boto direito na linha entre o casal e escolher a
opo desejada ou selecionar essa linha e clicar no boto casamento da barra
lateral, conforme mostra a Figura 5.23.

Figura 5.26 Casando o indivduo.

38

Para adicionar filhos ao casal, deve-se clicar com o boto direito do mouse na
linha entre o casal e escolher a opo Adicionar Filho para adicionar filho biolgico
ou Adicionar Gmeos para adicionar filhos gmeos. Outra forma de adicionar filhos
selecionando a linha entre o casal e clicar no boto Filhos.

Figura 5.27 Adicionando filhos ao casal.

Aps adicionar os filhos ao casal, para definir o sexo de cada um basta


selecionar o indivduo e clicar no boto Sexo da barra lateral ou clicar com o boto
direito em cima do indivduo, ir at a opo Sexo e escolher a opo desejada,
conforme mostra a Figura 5.24.
Para modificar os atributos do indivduo, basta selecionar o indivduo e clicar
no boto atributos ou clicar com o boto direito do mouse no indivduo e, no
submenu Atributos, marcar o atributo desejado. Por exemplo, para atribuir adoo
ao indivduo basta marcar a opo Adotado.

39

Figura 5.28 Modificando os atributos de um indivduo.

Para deixar uma linha pontilhada basta selecionar a linha, clicar no boto
Linha e marcar a opo pontilhada.

Figura 5.29 Colocando uma linha para ficar pontilhada.

Para modificar os textos central e inferior de um individuo, basta clicar com o


boto direito do mouse no indivduo e ir opo Individuo > Textos ou selecionar o

40

indivduo e clicar no boto Indivduo > Textos. Logo aps ser exibida uma janela
para inserir os textos central e inferior do individuo.
Figura 5.30 Modificando os textos central e inferior do indivduo.

Para adicionar uma legenda com o desenho de algum indivduo, basta clicar
com o boto direito do mouse no indivduo e ir at a Indivduo > Adicionar Legenda
(ver Figura 5.30). Isso tambm pode ser feito selecionando-se o individuo e clicando
no boto Individuo > Adicionar Legenda.
Para adicionar uma legenda comum (sem indivduo associado), basta clicar
com o boto direito do mouse em alguma rea branca e escolher a opo Adicionar >
Texto clicando no boto Adicionar da barra lateral (ver Figura 5.25).
Para definir o indivduo principal do heredograma, basta clicar com o boto
direito no indivduo e clicar na opo Indivduo > Definir como indivduo principal ou
ento deve-se selecionar o individuo e clicar no boto Individuo > Definir como
indivduo principal (ver Figura 5.30).
Por fim, para mostrar as geraes e a numerao dos indivduos, basta
marcar essas opes no menu Opes da barra de menu principal da aplicao
(ver Figura 5.22).

5.4 Testes
Aps ser desenvolvido, todo software deve ser testado. Sendo assim, aps o
desenvolvimento da aplicao, foi feito um teste construindo-se o heredograma que
se encontra no mesmo artigo que descreve o padro PSTF (BENNETT et al, 1995).
Esse heredograma pode ser visualizado na figura a seguir:

41

Figura 5.31 Heredograma utilizado no teste da aplicao (BENNETT et al, 1995, p. 752).

Para tornar possvel a mensurao do teste foram contados todos os


componentes do heredograma acima, totalizando: 36 indivduos, 33 relacionamentos
(relaes de casamento e parentesco), 3 pares de gmeos, 25 legendas (19 textos
soltos e 6 textos com desenhos de indivduos). Somando esses nmeros obteve-se
um total de 97 componentes.
Para medir esse teste atravs de porcentagem, considerou-se se que os
componentes acima representam 97% do desenho. A numerao das geraes
representa 1% do desenho, a numerao dos indivduos representa outro 1% do
desenho e a seta que indica o indivduo principal do heredograma tambm
representa outro 1% do desenho do heredograma. Assim, totalizam-se os 100%.
O teste foi feito da seguinte forma: para os indivduos, contabilizaram-se
apenas aqueles nos quais a ferramenta conseguiu fazer seu desenho por completo.
O mesmo vale para os demais componentes.
No primeiro teste, no foi possvel desenhar por completo os indivduos que
tem mais de uma linha em seu texto inferior, pois inicialmente a aplicao s
permitia incluir uma linha no texto inferior do indivduo. Tambm no foi possvel
desenhar o indivduo 11 da gerao II pois a aplicao permite no mximo, o estudo
de quatro caractersticas e este indivduo possui uma quinta caracterstica. Foi

42

possvel desenhar completamente 27 indivduos.


Ainda no primeiro teste, no foi possvel desenhar as linhas de parentesco
que liga o indivduo 9 da gerao I e o indivduo 10 da gerao 2 aos seus
respectivos filhos pois a ferramenta s permitia adicionar filhos a casais. Foi possvel
desenhar 29 linhas de relacionamento.
Por fim, no primeiro teste tambm no foi possvel criar as legendas que tem
ao lado o desenho de um individuo.
Em resumo, no primeiro teste foi possvel desenhar 27 indivduos, 29 linhas
de relacionamento, 19 legendas e 3 pares de gmeos, totalizando-se 78
componentes desenhados (o que corresponde a 78% do heredograma). Somandose os 3% que corresponde a numerao dos indivduos, a numerao das geraes
e a seta que indica o indivduo principal, a ferramenta conseguiu desenhar 81% do
heredograma da figura.
Para que fosse possvel obter uma porcentagem mais prxima dos 100% as
seguintes alteraes na ferramenta foram feitas:

Alm de adicionar filhos para um casal, teria que ser possvel adicionar
filhos para um indivduo como o caso do individuo de nmero 10 da
gerao II (Figura 5.31).

Poder adicionar uma legenda com o desenho de algum indivduo.

Poder incluir mais de uma linha no texto que fica embaixo do indivduo.

Aps a implementao dessas alteraes, foi feito um segundo teste com a


ferramenta.
No segundo teste foi possvel desenhar 35 indivduos, 33 linhas de
relacionamento, 3 pares de gmeos e 24 legendas, totalizando 95 componentes (o
que corresponde a 95% do heredograma). Somando-se os 3% que corresponde a
numerao dos indivduos, a numerao das geraes e a seta que indica o
indivduo principal, a ferramenta conseguiu desenhar 98% do heredograma da
Figura 5.31. O resultado do segundo teste pode ser visualizado na Figura 5.32.

43

Figura 5.32 - Heredograma da figura 5.31 desenhado na aplicao.

44

6 ANALSE DA FERRAMENTA IMPLEMENTADA

6.1 Comparao com as outras ferramentas


O JHeredograma um ferramenta para construo de heredogramas. Surgiu
da necessidade de se ter uma ferramenta freeware, multiplataforma, com uma
interao grfica direta com o usurio e que abrangesse um nmero maior de
recursos do padro PSTF.
A interao com o heredograma feita pelo menu pop-up ou pela barra de
ferramentas lateral. Nesse software tambm possvel abrir, salvar, imprimir e
exportar para arquivo de imagem o heredograma desenhado.
Com essa ferramenta no necessrio que o usurio preencha um arquivo
de texto estruturado para a construo do heredograma j que o usurio pode
constru-lo interagindo diretamente com os seus componentes.
A tabela 6.1 mostra a abrangncia dos recursos da ferramenta desenvolvida,
em comparao com as demais ferramentas analisadas no capitulo 3.

Tabela 6.1 Abrangncia do PSTF da ferramenta desenvolvida em comparao com as demais.


Recursos do PSTF

PedWiz

Pedidraw

Pelican

JHeredograma

Representar indivduos de todos os sexos

Representar abortos

*Nmero de caractersticas para estudo

Representar indivduos falecidos

Inserir textos no centro e na parte inferior do

Definir o indivduo Principal do heredograma

Representar Casamento Normal

Representar Casamento Consanguneo

Representar Divrcio

Representar Gmeos

Representar Relaes de Parentesco

Representar tipos de zigosidade dos gmeos

Representar indivduos com histrico familiar

individuo

desconhecido
Representar indivduos com infertilidade

45

Recursos do PSTF

PedWiz

Pedidraw

Pelican

JHeredograma

Representar indivduos que no podem ter filhos

Representar indivduos adotados

*Nmero de cenrios de reproduo

Representar indivduos que tem avaliao

Representar indivduos assintomticos

Mostrar numerao dos indivduos

Mostrar numerao das geraes

10

29

documentada
Representar indivduos que so portadores
obrigatrios

Total De Requisitos Abrangidos

De acordo com as mtricas definidas no captulo 3, na tabela 6.2 exibido um


comparativo da ferramenta desenvolvida com as demais ferramentas:

Tabela 6.2 Comparativo da ferramenta desenvolvida com as demais ferramentas.

PedHunter
PedWiz
PediDraw
Pelican
JHeredograma

Freeware e
multplataforma
Sim
Sim
Sim
Sim
Sim

Interao
Grfica Direta
No
No
No
Sim
Sim

Abrangncia do PSTF
No
Pouca
Pouca
Pouca
Grande parte

Atravs da anlise da tabela acima, percebe-se que a ferramenta


desenvolvida possui como diferencial em relao as outras ferramentas a
abrangncia de um nmero maior de recursos do padro PSTF, apesar dela ainda
no abranger cem por cento desses recursos.
importante lembrar que com essa ferramenta, possvel construir um
heredograma seguindo as regras do padro PSTF. Porm, nela no existem
mecanismos para obrigar o usurio a seguir rigorosamente todas as regras do
padro pois esse no seu objetivo.

46

6.2. Recursos no abrangidos


A ferramenta implementada possui quase todos os recursos estabelecidos
pelo PSTF. Um recurso que ela no possui uma das formas de representar um
casal que no teve filhos por motivo desconhecido ou por infertilidade. No software
implementado s existem as representaes da direita da Figura 6.1.

Figura 6.1 Representao de casais que no tiveram filhos por motivo desconhecido (a) ou por
infertilidade (b) (BENNETT et al, 1995, p. 748).

O artigo que descreve o padro PSTF (BENNETT et al, 1995) possui um


atualizao do ano de 2008 (BENNETT et al, 2008) aonde aborda a representao
de grupo de indivduos gmeos com mais de 2 indivduos (trigmeos, quadrigmeos
e assim por diante), conforme mostra a Figura 6.2. Esse requisito no foi
implementado pois supondo que todos os indivduos do grupo de gmeos tivessem
casamento, isso iria prejudicar a visualizao.
Figura 6.2 Gmeos e trigmeos (BENNETT et al, 2008, p. 424).

47

7 CONCLUSO E TRABALHOS FUTUROS

Para a identificao do problema de pesquisa foi feita uma pesquisa


bibliogrfica de carter exploratrio e uma anlise quantitativa de abrangncia dos
recursos do padro PSTF. Juntamente com a definio do problema, tambm
levantou-se uma hiptese.
Logo aps a pesquisa bibliogrfica, foi feito o levantamento de requisitos com
base no artigo que descreve o padro estabelecido pelo PSTF para a construo de
heredogramas (BENNETT et al, 1995). Diante dos requisitos foi criado o projeto de
arquitetura do software que consiste no diagrama de classes e no diagrama de
banco de dados. Com o projeto de arquitetura pronto, definiu-se que a linguagem de
programao a ser utilizada na implementao da ferramenta seria a linguagem
Java.
Com a ferramenta implementada possvel a construo do heredograma
atravs de uma interao grfica e direta com o usurio. Na ferramenta essa
interao ocorre de duas formas: atravs da barra de ferramenta lateral ou atravs
do menu pop-up. Alm de ser possvel salvar e recarregar o heredograma de um
arquivo tambm possvel imprimir e exportar como imagem. Foi feito um teste
construindo-se o heredograma de grande porte que se encontra no artigo que
descreve o padro PSTF (BENNETT et al, 1995) e obteve-se um heredograma que
atingiu a meta de 90% de analogia com o heredograma original.
Portanto, atravs desse trabalho, pode-se validar a hiptese levantada
provando que possvel a construo de uma ferramenta de software freeware,
multiplataforma, com uma interao grfica direta com o usurio e que atenda um
grande nmero dos requisitos estabelecidos pelo PSTF.
Alm da validao da hiptese, com este trabalho foi possvel perceber como
a cincia trabalha para melhorar a vida das pessoas. Neste caso a ferramenta criada
poder servir para auxiliar o trabalho de geneticistas, mdicos e qualquer outro
profissional que necessite trabalhar com heredogramas.
Apesar de a ferramenta implementada possuir muitas funcionalidades,
algumas melhorias ainda podero ser feitas em trabalhos futuros:

Poder adicionar grupos de trigmeos, quadrigmeos, etc;

Poder adicionar mais de quatro caractersticas estudadas;

48

Implantar abas onde cada aba ser um heredograma diferente, para


que seja possvel construir mais de um heredograma por vez;

Poder extrair uma famlia para atravs dela poder comear a


montagem de outro heredograma;

Melhorar a interface;

Poder formatar o texto das legendas (alterar o tamanho, cor, estilo, etc).

49

REFERNCIAS

YANG, L.; CHENG, E.; ZSOYOGLU, Z. M. Efficient path-based computations on


pedigree graphs with compact encodings, BMC Bioinformatics, Chicago, IL, USA,
2012. Disponvel em: < http://www.ncbi.nlm.nih.gov/pubmed/22536898 > Acesso em:
28 out. 2013.

BENNETT, R. L. et al. Recommendations for Standardized Human Pedigree


Nomenclature . Am. J. Hum. Genet , 1995. Disponvel em: <
http://www.ncbi.nlm.nih.gov/pubmed/7887430 > Acesso em: 28 out. 2013.

BEIGUELMAN, B. A Interpretao Geetica da Variabilidade Humana. Ribeiro


Preto, SP: Editora SBG (Sociedade Brasileira de Gentica), 2008. 152 p. Pagina 71.
Disponvel em: <
www.sbg.org.br/ebook/Novo/interp_genet_variabilidade_humana.pdf > Acesso em:
04 nov. 2013.

LEE, W. J. et al. PedHunter 2.0 and its usage to characterize the founder
structure of the Old Order Amish of Lancaster County. BMC Medical Genetics,
2010. Disponvel em: < http://www.biomedcentral.com/1471-2350/11/68 > Acesso
em: 11 nov. 2013.

SONG, Y. E.; ELSTON, R. C. PedWiz: a web-based tool for pedigree informatics.


Frontiers In Genetics, Cleveland, OH, USA, 2013.
Disponvel em: < http://www.ncbi.nlm.nih.gov/pubmed/24093024 > Acesso em: 11
nov. 2013.

DUDBRIDGE, F.; CARVER, T.; WILLIAMS, G. W.; Pelican: Pedigree Editor for
Linkage Computer Analysis. Bioinformatics Advance Access. Cambridge, UK,
2004. Disponvel em: <
http://bioinformatics.oxfordjournals.org/content/early/2004/04/01/bioinformatics.bth23
1.full.pdf > Acesso em: 18 nov. 2013.

MIN, H.; Li, W. PediDraw: A web-based tool for drawing a pedigree in genetic
counseling. BMC Medical Genetics, Beijing, China, 2007.
Disponvel em: < http://www.biomedcentral.com/1471-2350/8/31 > Acesso em: 25
nov. 2013.

50

GUIMARES , P. O.; OTTO, P. A.; FROTA-PESSOA, P. Gentica Humana e


Clinica. So Paulo: Roca, 1998. 333 p. Paginas 105 e 106.

Lilian Ferreira. Software livre, freeware, shareware, copyleft: entenda as


licenas de software. Disponvel em: <
http://tecnologia.uol.com.br/ultnot/2007/12/20/ult4213u266.jhtm > Acesso em: 16
dez. 2013.

Dicionrio Michaelis Online. Disponvel em: <


http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portuguesportugues&palavra=multiplataforma > Acesso em: 16/12/2013.

Dicionrio Michaelis Online. Disponvel em: <


http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portuguesportugues&palavra=software > Acesso em: 22 jan 2014.

Pedigree Drawing Programs. Disponvel em: <


http://www.soph.uab.edu/ssg/linkage/pedigreedrawing > Acesso em 01 nov. 2013.

BENNETT, R. L. et al. Standardized Human Pedigree Nomenclature: Update and


Assessment of the Recommendations of the National Society of Genetic
Counselors. J Genet Counsel, 2008. Disponvel em: <
http://www.ncbi.nlm.nih.gov/pubmed/18792771 > Acesso em: 28 out. 2013.

51