(2) .
(3) .
(4) .
(5)
(6) .
(7) . !∀#∃ %!&% %∀∋ # ()%&! &∋%∗∀&%∋ # #%∗∀&%!+,#!
(8) ∀%−!%./∀(. %∀#0/)1∀2%3/%! !.
(9) .
(10)
(11).
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47) . iii.
(48)
(49)
(50) .
(51)
(52) ! ∀ # ∃ %& ∋&
(53)
(54) &. iv.
(55)
(56) .
(57)
(58)
(59)
(60)
(61) ! ∀
(62)
(63) #
(64)
(65)
(66)
(67)
(68)
(69)
(70)
(71) ∃
(72)
(73) #
(74) !
(75)
(76) %
(77)
(78)
(79)
(80)
(81)
(82) !#&
(83)
(84)
(85) ∋( )
(86)
(87)
(88)
(89) ∗!
(90) +
(91)
(92)
(93)
(94)
(95) ∀
(96) ∗!
(97) ! ∀ ,(
(98)
(99) !
(100) !
(101)
(102)
(103) ∀
(104) . −
(105) %
(106)
(107)
(108)
(109)
(110)
(111)
(112)
(113) #
(114)
(115) #
(116) .
(117)
(118)
(119)
(120)
(121)
(122)
(123)
(124)
(125) +
(126) # /
(127)
(128) 0
(129) 1
(130)
(131) !
(132) ! ∀
(133)
(134)
(135)
(136)
(137)
(138)
(139) . 2
(140)
(141)
(142)
(143) !
(144)
(145)
(146) 1
(147)
(148)
(149)
(150)
(151)
(152)
(153)
(154)
(155)
(156)
(157)
(158) ∗!
(159)
(160) ∀ +
(161)
(162) !
(163)
(164)
(165)
(166)
(167) !. . v.
(168)
(169) . ∃
(170) 1
(171)
(172)
(173)
(174)
(175)
(176) 1
(177) 1
(178) !
(179) 1
(180) 1
(181)
(182)
(183)
(184)
(185)
(186)
(187) 1
(188)
(189)
(190) ∃3
(191)
(192)
(193)
(194) %
(195)
(196)
(197)
(198)
(199)
(200) !
(201)
(202) ∋(
(203) !
(204) 23
(205)
(206)
(207)
(208)
(209)
(210)
(211)
(212)
(213)
(214) !
(215) ,(! ∀
(216) !
(217)
(218) ∀
(219)
(220) . /
(221) %
(222) 1
(223)
(224)
(225) 1
(226)
(227)
(228)
(229)
(230) 3
(231) .
(232)
(233)
(234)
(235) 3
(236)
(237) 3
(238) 4
(239)
(240)
(241) 3
(242) 1
(243)
(244)
(245)
(246)
(247) !
(248) 1
(249)
(250)
(251) &
(252)
(253) . 51
(254) 1
(255)
(256)
(257)
(258)
(259)
(260)
(261)
(262) 1
(263)
(264)
(265)
(266)
(267)
(268)
(269) !
(270)
(271)
(272)
(273)
(274)
(275) 1
(276)
(277)
(278)
(279)
(280) . vi.
(281)
(282)
(283)
(284). ∋(. &6
(285) . ,(. &7
(286) . /8∃. &/8 ∃
(287)
(288) . 6(. &6
(289) (. 9,(. &/8∃9!,(. 9/∃. &/8∃9!/!
(290) ∃ . :;. &:
(291)
(292) ;
(293)
(294) . 2<6(. &2
(295) <
(296)
(297)
(298) 6
(299) (. =:). &=
(300) :
(301) )
(302). 5>. &5
(303) >
(304) 3. vii.
(305)
(306)
(307). Figura 1: Diagrama UML de Estados ........................................................................................ 5 Figura 2: Diagrama UML de Classes .........................................................................................5 Figura 3: Excesso de Informações e de linhas em um diagrama de colaboração, em modelo gerado com o software Omondo UML plugin............................................................................ 7 Figura 4: Modelo de dados impresso que ocupa cerca de 1 m2 de área ao ser exposto, utilizado por uma empresa de informática de Curitiba.............................................................................. 8 Figura 5: Modelo de dados muito denso em termos de Objetos X Espaço Disponivel.............10 Figura 6: Modelo de dados contendo um grande número de relacionamentos, utilizado por uma empresa de informática......................................................................................................11 Figura 7: Parte de modelo de dados muito denso usado por uma empresa de informática...... 12 Figura 8: Parte de modelo de dados exibida de forma ampliada: observe uma linha de relacionamento encoberta por um objeto ................................................................................. 13 Figura 9: Diagrama cuja exibição dos relacionamentos está inadequada. Software Squirrel SQL Client - v2.3..................................................................................................................... 13 Figura 10: Modelo em 3D feito com as figuras ao lado exibindo o uso de padrões de projeto ...................................................................................................................................................15 Figura 11: Figuras poliédricas tridimensionais associadas à Padrões de Projeto .....................15 Figura 12: Estrutura básica de um grafo de cena ......................................................................19 Figura 13: Imagem tridimensional da superfície de Marte. A NASA usa JAI e Java3D para manipulação das imagens obtidas em missões no planeta vermelho. ...................................... 21 Figura 14: Tela inicial do Visualizador3D................................................................................ 23 Figura 15: Recurso que permite gerar a estrutura de um banco de dados de forma aleatória e parametrizada. .......................................................................................................................... 24 Figura 16: Tela que permite ao usuário escolher um subconjunto de tabelas para visualização. ...................................................................................................................................................24 Figura 17: Tela para efetuar conexão à um BD Postgresql e carregar a estrutura de tabelas e relacionamentos.........................................................................................................................24 Figura 18: Visão Principal.........................................................................................................27 Figura 19: Uma variação da Visão Circunferência: a Visão Helicoidal.................................... 27 Figura 20: A Visão Grafo..........................................................................................................28 Figura 21: Tela para informar a tabela e quantos níveis de vizinhança serão exibidos............28 Figura 22: Visualizando 2 níveis de vizinhança para uma determinada tabela.......................29 Figura 23: Visualizando 3 níveis de vizinhança para uma determinada tabela.......................29 Figura 24: Botões presentes na tela, para controle mais preciso do movimento de rotação ....30 Figura 25: Ajustes para efetuar giro automático no conjunto de tabelas...................................31.
(308)
(309) . 1. INTRODUÇÃO.......................................................................................................................1 2. MODELOS: CARACTERÍSTICAS, PROBLEMAS E POSSÍVEIS SOLUÇÕES................4 2.1. COMPOSIÇÃO, TIPOS E CARACTERÍSTICAS..........................................................4 2.2. PROBLEMAS ENCONTRADOS EM MODELOS 2D................................................. 6 2.3. CONTORNANDO OS PROBLEMAS COM MODELOS 3D..................................... 16 3. JAVA3D: UMA API PARA CONSTRUIR APLICATIVOS EM TRÊS DIMENSÕES.......17 3.1. VISÃO GERAL............................................................................................................. 17 3.2. ESTRUTURA DE PACOTES....................................................................................... 18 3.3. USO DE GRAFOS NA ESTRUTURA 3D................................................................... 18 3.4. CHAMADA A MÉTODOS NATIVOS.........................................................................19 4. VISUALIZAÇÃO TRIDIMENSIONAL DE TABELAS EM BANCOS DE DADOS DO SGBD POSTGRESQL..............................................................................................................20 4.1. TECNOLOGIAS UTILIZADAS................................................................................... 20 4.2. DECISÕES DE CODIFICAÇÃO................................................................................. 22 4.3. FUNCIONAMENTO DO SOFTWARE....................................................................... 23 4.3.1. CARACTERÍSTICAS GERAIS............................................................................ 23 4.3.2. A VISÃO CIRCUNFERÊNCIA............................................................................25 4.3.3. A VISÃO HELICOIDAL...................................................................................... 25 4.3.4. A VISÃO GRAFO.................................................................................................26 4.3.5. VIZINHANÇAS DE UMA TABELA.............................................................. 28 4.3.6. INTERAÇÃO................................................................................................... 30 4.3.7. ANIMAÇÃO.....................................................................................................30 5. CONCLUSÃO...................................................................................................................... 32 5.1. RESULTADOS OBTIDOS............................................................................................32 5.1.1. ESCALABILIDADE.............................................................................................. 32 5.1.2. EFEITOS NO HARDWARE..................................................................................32 5.1.2.1. CONSUMO DE CPU..................................................................................... 32 5.1.2.2. CONSUMO DE MEMÓRIA......................................................................... 33 5.1.2.3. AUMENTO DE TEMPERATURA................................................................33 5.1.2.4. ACESSO A DISCO........................................................................................ 34 5.1.3. USABILIDADE..................................................................................................... 34 5.2. IDÉIAS PARA O FUTURO..................................................................................... 35. %.
(310) 1
(311) .
(312) . ! ∀ # ∃ ∀ % % & ∋ ( ) ∃ ∗
(313) +
(314) ∀. . , % &. . , &. . , &. . −
(315) . &. . % &. . / % %
(316) &. . / % %
(317) &. . % % &. . ∃ % 0 0 &.
(318) 2. . ∗ &. . 1 2 ∗ . 3 ! ∗ . ∃ ! 4 5 ∗ 6/7+ 8. 4 ! ) 9 7)98∃ ! ! ∗ )9 4 ∃ ∗ ∗ ∗ : 1 ; / 7:1;/8∃
(319) <6/ ;
(320) ∗ %! ∗ ∀ 4 ∗
(321) . 6/ ∗ ∀= ∃ 7 ∃ = . ∃=8<6/
(322)
(323) ∗ 5 4 % ∗ .
(324) 3 ∃ ∗ ∗ 4 .
(325) 4 !∀∀!#!∀∃%&∀%#∋ (. ∗ % 7∋/8 : ∋/ 76/8 4 ∋#>()∃(:=?≅(+=∃(:>9>+9Α:+=>: 1 3
(326) ∀ )∗∃ ++ , ∗ ( )∗
(327) Β %
(328) ++ % ∃ % , ∗ ( ! ,Χ
(329)
(330) 4 : 3 ∆ .
(331) ( 0 4
(332) ∀ Β
(333) ∃ ! !
(334) Β 4 ! ! 3 .
(335) 5 ∀ 4 0 ∃ , ∗ Β Β)Ε
(336) #∋. Figura 1: Diagrama UML de Estados [14]. Figura 2: Diagrama UML de Classes [15].
(337) 6 ( ∋/∗ : % ! ∗ 3 ∗ 3 >
(338) 4 . 3 ∆ 6/ !
(339) ∋∋∃9(;Ε):>(+9/(:))(/Ε(:∋/ % : % 4
(340) > % % : % % ! ! , % 1 %
(341) .
(342) 7 ! % % > % ∗ %
(343) ∗ ! − 6. Figura 3: Excesso de Informações e de linhas em um diagrama de colaboração, em modelo gerado com o software Omondo UML plugin. +! !
(344) ∗
(345) ∀ . % &. . % &. . !. ∗ %
(346) Β − Φ : ∀ 4 .
(347) 8 : ( ! : ∗ 3 % ∗ ) % > Γ
(348)
(349) !
(350) = ,
(351) ∗ − Φ #Η ∗
(352) . Figura 4: Modelo de dados impresso que ocupa cerca de 1 m2 de área ao ser exposto, utilizado por uma empresa de informática de Curitiba.
(353) 9 ) ∀ % ∆ ∃ ! Ι
(354) . % Ι 3 4
(355) . : % ∆. + % 4 ∃
(356) ∀ 4
(357) (
(358) ∗ Β ∗ % > ∗
(359) .
(360) ( 4 ! ! 0
(361) ∗
(362) , ( ∗ 4 % ) ∆ > %
(363) ∋/ ∗ ∆ ! ∗ 0
(364) 0 .
(365) 10 Β ;/ϑ> ∗
(366) ∗ ∗ ∃ ∀ − Κ + Λ: 7> : 8 > Μ 7> : / 8 > 5Ε 7 > = 8 !
(367) (
(368)
(369) ∗. Figura 5: Modelo de Dados muito denso em termos de Objetos X Espaço disponível Fonte: http://www.inf.ufrgs.br/~mas/traffic/siscot/documentation_files. ∗ %
(370) : ∋/ , .
(371) 11 ∃ !
(372)
(373) ∀ ,−. ∗/,01 ∗
(374) +
(375) 0 % ∗ . + ! Γ3 % − Ν= ! % Ο % ! Γ ! . Figura 6: Modelo de dados contendo um grande número de relacionamentos, utilizado por uma empresa de informática..
(376) 12. : ∗ . ( ( ! ∗ % = % Figura 7: Parte de modelo de dados muito denso usado por uma empresa de informática.. 0 ∋/. %Ι %
(377) ∗
(378)
(379) ! , .4 ∗ ∗ %Ι >
(380)
(381) %
(382) % .
(383) 13 :
(384) Π Θ Π
(385) Θ − Ρ ∀ ∗ % 3
(386) 4 %∀ . Figura 8: Parte de modelo de dados exibida de forma ampliada: observe uma linha de relacionamento encoberta por um objeto. Σ 5
(387) 3 Ο ! ∗ % − Τ. Figura 9: Diagrama cuja exibição dos relacionamentos está inadequada. Software Squirrel SQL Client - v2.3.
(388) 14 ∋6>(+(9/((:∃9(;Ε):>())(/Ε(:6/ ( ∗ !∗ 3 + ∗ 3 ! ! 0 ∗ 6/ ∗
(389) 0 %
(390) 1 ∗ % . 0 % ∗ 3
(391) ∗ ! % ( ! ∗ % % ∗ ( 6/ % !! 4 ! ! 3% % ∗ Β 4 !Υ#ς !
(392) % ∗ 6/72% #Η##8.
(393) 15. Figura 10: Modelo em 3D feito com as figuras ao lado exibindo o uso de padrões de projeto [1]. Figura 11: Figuras poliédricas tridimensionais associadas à Padrões de Projeto [1]. Β ! Υ∋ς ∗ ∗ ∆ ∆
(394) . Ω
(395) + ∋/ 6/ !3 . ! 0 ! % ! ( ! ∗
(396) ∗ 3 ! % . 4 ∗ .
(397) 16 + %
(398) ∗ % 0 ! 6/ ∋/.
(399) 17 23∀∋∀2 ∀∀%%∀∀! ∀%!∀∋4 (. ∃ 5 6/!
(400) %
(401) 4
(402) ∀∃=<6/ ∗ :) Λ> 1
(403) 6/. 6#2=:≅(19Ε <6/!∃= ∗ : ∗
(404)
(405) 4 <6/∗ ! ∃= Ι ∀ / 6/(1ΕΟ Ξ/56/Ψ1Ε 4
(406) ∀. . + ( (% 4 &. . > !
(407) ,
(408) !
(409) &. . ∃ ∗ 6/ ∗ % .
(410) 18 6∋:+9Β+Β9/∃>(+: < 6/ ! % ∃= 6 ∀ . ∀∃ #ΗΗ &. .
(411) ∀> ! , 4 &. . j ∀ !
(412) 6/7 2 6/8 / . :Β ∗Υ6ς. 66Β:(/19−(::+9Β+Β96/ ∃ ∃=<6/ ∗ ( % ∗ ! : Ι % ∗ . ! 4 ( Ι Ι ! Ι
(413) <
(414) . ! 0 % 3 % . Ι ! , Χ
(415) .
(416) 19 4 ∗ . ! − #∋ %
(417) 4 . Figura 12: Estrutura básica de um grafo de cena [3]. 6Φ>Χ)/)Ζ+(/(:+=2(: ∃ % % ∃= % :( ∗ ∗ ! + ! <
(418) . . ! ∃= Ι < Ι ∗ ! <6/( :( <6/ΥΚς.
(419) 20 5 ∋ ∀6∀
(420) ∀ ∀&∀ &∀! ∀ 7& %78 > . 5 % ∗ ∗ % Φ#+>(Ε(1=:Β+=Ε=[/: 5 ∗∀. . :( ∀ ∃ ∃ ∀! ∀#∃!%. . Ε ∃ ∀&∋ ∀()∗+,. . ; 6/ ∗∀−./&0). . ) ∀1 % 20. . :1;/ ∀.3 (44 4∗5,. . )! :1;/∀6 #&026∗,. . 2
(421) 4 5 Ε − ( (% < 4 ∗ > ! 4 ! ∀3 4 Ι
(422) 4 .∃=<6/:) Λ ∗ .
(423) 21 ∃=<6/ ∀ . ∃ Β ! : ,
(424) ) ∆: ( ΛΥΝς& Figura 13: Imagem tridimensional da superfície de Marte. A NASA usa JAI e Java3D para manipulação das imagens obtidas em missões no planeta vermelho. [6]. . : ∗ % ∗ ∃= ! ! 4 Ι
(425) &. . (
(426) , 4 %
(427) &. . / < ∗ ∃ , % . ∗
(428) ∃ ∗ . ∀ ( ) 9 7)98 ∃ ( )9 % = ; / %
(429) .
(430) 22
(431) % . :1;/ ∃ ; / Γ ∗ 5 %
(432) 4 ∗ ( ∃ ! 1 ; / ∗ 4 % ;/
(433) :ΟΕ % ! &0%6.
(434) 7&0268 % %
(435) ! ∗ > .
(436) Φ∋/>=:∴:/>(/=−=>?≅( ( (% <
(437) ∗ ∗ % Χ
(438) ! ,
(439) + > % !
(440) % 3 :
(441) 3 % Ι /
(442)
(443) . ! !
(444) Ι % .
(445) 23
(446) Ι. Χ
(447) ! 7
(448) :ΟΕ ∗ 8: ∗
(449) ∗
(450) ! Γ ! < Χ )= Χ ) ! Χ + !
(451) 9 %∀
(452) 3 > .
(453) ∃ !
(454) 0 . ! Φ6−Β>=()+(/(:(−+]9 Φ6#>9>+9Α:+=>:19=: (
(455) 5!
(456) 7:∋ ;/ .1Β=8 % 4 !− #Φ. Figura 14: Tela inicial do Visualizador3D.
(457) 24. ∗ ! 4 % ;/ϑ :1;/∃ > % . Figura 15: Recurso que permite gerar a estrutura de um banco de dados de forma aleatória e parametrizada.. Ι Ω ∗. . . . . . . 7− #Κ8 + ! 4 : ! .∗ 7− #Ν8. Figura 16: Tela que permite ao usuário escolher um subconjunto de tabelas para visualização.. Ζ 4 ∗ ∗ Figura 17: Tela para efetuar conexão à um BD Postgresql e carregar a estrutura de tabelas e relacionamentos. 7− #⊥8.
(458) 25 ∃ ! % +
(459) 7
(460) 8 ∗ ∗ ∗ ∗
(461) 5 ∗ + Λ∗ %∀ ∗ Λ Υ#∋ς. Φ6∋2=:≅(>=9>Β−9_>= 2 ∃ 6/ 3 7− #Ρ8. ∋∗9 . &. . / ∗ 9. 0∗9 . / 0 9 ∗ &. . Λ. Φ662=:≅(ΧΕ=>(=/Ε 2 Χ 7− #Τ8! 3 ! ∗ ∃ ! ∗! Λ.
(462) 26 ∋∗9 . / 3 . 0∗9 . ! &. . ∃ ∗ % 0
(463) % . Φ6Φ2=:≅(19−(. 2 1 7− ∋Η8 ! ∃ ;/ ∗ ! ! . ∋∗9 . : % ! ∗ 7 8. 0∗9 . 9 ! 6/ Ι % ∗ .
(464) 27. Figura 18: Visão Principal. Figura 19: Uma variação da Visão Circunferência: a Visão Helicoidal.
(465) 28. Figura 20: A Visão Grafo. Φ6Κ2=[=Χ?:/Β)+;Ε > % % ! ∗ ! − ∋#
(466) 5 ! 4∗ . Figura 21: Tela para informar a tabela e quantos níveis de vizinhança serão exibidos.
(467) 4 ∗ # ! ! ! 4∗ ∋7− ∋∋8 67− ∋68 .
(468) 29. Figura 22: Visualizando 2 níveis de vizinhança para uma determinada tabela. Figura 23: Visualizando 3 níveis de vizinhança para uma determinada tabela. ∃ 4 ∗
(469) ! ∗ 4 ! . .
(470) 30 Φ6Ν=+9?≅( Ο % %
(471) 3 5
(472) ! ∀ . 9 Λ∗ &. . ) % &. . [ % ∗
(473) &. . ) % ∀ - 0 ∗ 7 Ε9 8& . ∗ 7 Β/ 58& . 0 ∗ 7 ∃ Β ∃ / 58&. ! − ∋Φ. Figura 24: Botões presentes na tela, para controle mais preciso do movimento de rotação. Φ6⊥=)?≅( > Ι Ι