View
221
Download
0
Category
Preview:
Citation preview
Universidade de Aveiro 2009
Departamento de Electrnica, Telecomunicaes e Informtica
Miguel Carragozela Lima da Fonseca
Dicionrio Cientfico Terminolgico da Lngua Portuguesa On-line
Universidade de Aveiro 2009
Departamento de Electrnica, Telecomunicaes e Informtica
Miguel Carragozela Lima da Fonseca
Dicionrio Cientfico - Terminolgico da Lngua Portuguesa On-line
Dissertao apresentada Universidade de Aveiro para cumprimento dos requisitos necessrios obteno do grau de Mestre em Engenharia de Computadores e Telemtica, realizada sob a orientao cientfica dos Professores Doutor Joaquim Arnaldo Carvalho Martins, Professor Catedrtico do Departamento de Electrnica, Telecomunicaes e Informtica, e Doutor Joo Manuel Nunes Torro, Professor Catedrtico do Departamento de Lnguas e Culturas, ambos da Universidade de Aveiro.
Para os meus pais pela pacincia que tiveram, e para a minha irm pela correco do Portugus.
o jri
presidente Doutor Armando Jos Formoso de Pinho Professor Associado com agregao da Universidade de Aveiro
Doutor Fernando Joaquim Lopes Moreira Professor Associado no Departamento Inovao, Cincia e Tecnologia da Universidade
Portucalense
Doutor Joaquim Arnaldo Carvalho Martins Professor Catedrtico da Universidade de Aveiro
Doutor Joo Manuel Nunes Torro Professor Catedrtico da Universidade de Aveiro
agradecimentos
Ao orientador professor Dr. Joaquim Arnaldo Martins pelo apoio; aos co-orientadores Dr. Joo Manuel Torro e Dr. Carlos Morais pela disponibilidade; aos meus amigos e famlia pela fora dada para a concluso desta tese
palavras-chave
Web, base de dados, internet, Framework .NET, ASP .NET AJAX, javascript, ,integrao, css, html, conhecimento, web services, terminologia cientfica,etimologia.
resumo
Nos tempos que correm a importncia da utilizao da Internet como umaplataforma privilegiada de auxlio no estudo e anlise de qualquer tipo deinformao inegvel. Esta dissertao apresenta um sistema de informao centrado na Web,denominado DiCiTer Dicionrio Cientfico - Terminolgico da LnguaPortuguesa, com um aspecto moderno e seguindo uma arquitectura actual. Este sistema apresenta-se como uma grande plataforma para o estudo ecompreenso das etimologias (e histria) da terminologia cientfica. Para almdisso, o sistema permite a contribuio dos utilizadores na adio de novostermos cientficos que iro aumentar ainda mais a capacidade que o sistematem ao ser usado como ferramenta de estudo e anlise.
keywords
Web, data base, internet, Framework .NET, ASP .NET AJAX, javascript, , integration, css, html, knowledge, web services, scientific terminology, etymology.
abstract
Nowadays, the use of Internet as a privileged support platform for study andanalysis of any kind of information is without question of major importance. The following dissertation presents a Web-based information system, theDiciter Dicionrio Cientfico - Terminolgico da Lngua Portuguesa (Scientificand Terminological Dictionary of Portuguese Language), with a modern layoutand following a modern architecture. The system presents itself as anextensive platform for the study and comprehension of etymology (as well ashistory) of scientific terminology. Moreover, the system allows the user to addnew scientific terms, which will increase and improve the systems capacitywhen used as a tool for study and analysis.
1
ndice
NDICE ............................................................................................................................................... 1
NDICE DE TABELAS ............................................................................................................................ 3
NDICE DE IMAGENS ........................................................................................................................... 5
LISTA DE ACRNIMOS ........................................................................................................................ 7
1. INTRODUO ................................................................................................................................. 9
1.1. ENQUADRAMENTO ...................................................................................................................................... 9
1.2. OBJECTIVOS ............................................................................................................................................. 10
1.3. ESTRUTURA .............................................................................................................................................. 11
2. ESTADO DA ARTE ........................................................................................................................... 13
2.1. DICIONRIOS ............................................................................................................................................ 13
2.2. TECNOLOGIAS ........................................................................................................................................... 15
2.2.1. NET Framework ............................................................................................................................ 15
2.2.2. ASP.NET......................................................................................................................................... 18
2.2.3. Web Services ................................................................................................................................. 20
2.2.4. JavaScript ...................................................................................................................................... 21
2.2.5. CSS ................................................................................................................................................ 23
2.2.6. ASP.NET AJAX ................................................................................................................................ 23
2.2.7. SQL Server ..................................................................................................................................... 25
2.2.8. Microsoft Visual Studio 2008 ........................................................................................................ 30
2.2.9 Outras tecnologias ......................................................................................................................... 30 2.2.9.1. PHP ......................................................................................................................................................... 30 2.2.9.2. MySQL ..................................................................................................................................................... 31 2.2.9.3. Java ......................................................................................................................................................... 32
3. ARQUITECTURA DO SISTEMA PROPOSTO ....................................................................................... 35
3.1. INFORMAO A SUPORTAR .......................................................................................................................... 35
3.2. FUNCIONALIDADES .................................................................................................................................... 40
3.3. BASE DE DADOS: ....................................................................................................................................... 44
3.3.1. Classes de informao .................................................................................................................. 44
3.3.2. Diagrama de Classes ..................................................................................................................... 51
3.3.3. Modelo fsico ................................................................................................................................. 53
2
3.4. ARQUITECTURA ......................................................................................................................................... 58
3.5. CONSTRUO DA APLICAO WEB ............................................................................................................... 61
3.5.1. Visualizar informao: .................................................................................................................. 69
3.5.2. Inserir informao ......................................................................................................................... 73
3.5.6. Utilizao de ASP .NET AJAX ......................................................................................................... 81
3.5.3. Aspectos particulares do mdulo de inserir termos: ..................................................................... 86
4. CONCLUSES E MELHORAMENTOS FUTUROS: ............................................................................... 89
5. REFERNCIAS ................................................................................................................................. 91
ANEXOS ............................................................................................................................................ 93
3
ndice de tabelas
TABELA 1 - ATRIBUTOS QUE CARACTERIZAM UMA CLASSE GRAMATICAL .......................................................................... 45
TABELA 2 - RELAES APRESENTADAS POR UMA CLASSE GRAMATICAL ............................................................................ 46
TABELA 3 - ATRIBUTOS QUE CARACTERIZAM UMA CINCIA ........................................................................................... 46
TABELA 4 - RELAES APRESENTADAS POR UMA CINCIA ............................................................................................. 46
TABELA 5 - ATRIBUTOS QUE CARACTERIZAM UM SUBDOMNIO CIENTFICO ...................................................................... 46
TABELA 6 - RELAES APRESENTADAS POR UM SUBDOMNIO CIENTFICO ........................................................................ 47
TABELA 7 - ATRIBUTOS QUE CARACTERIZAM UM PREFIXO ............................................................................................. 47
TABELA 8 - RELAES APRESENTADAS POR UM PREFIXO ............................................................................................... 47
TABELA 9 - ATRIBUTOS QUE CARACTERIZAM UM SUFIXO .............................................................................................. 47
TABELA 10 - RELAES APRESENTADAS POR UM SUFIXO .............................................................................................. 48
TABELA 11 - ATRIBUTOS QUE CARACTERIZAM O SIGN. SEMNTICO DE UM PREFIXO........................................................... 48
TABELA 12 - ATRIBUTOS QUE CARACTERIZAM O SIGN. GRAMATICAL DE UM PREFIXO ......................................................... 48
TABELA 13 - RELAES APRESENTADAS PARA OS SIGN. SEMNTICOS E GRAMATICAIS DE UM PREFIXO .................................. 48
TABELA 14 - ATRIBUTOS QUE CARACTERIZAM O SIGN. SEMNTICO DE UM SUFIXO ............................................................ 48
TABELA 15 - ATRIBUTOS QUE CARACTERIZAM O SIGN. GRAMATICAL DE UM SUFIXO .......................................................... 48
TABELA 16 - RELAES APRESENTADAS PARA OS SIGN. SEMNTICOS E GRAMATICAIS DE UM SUFIXO .................................... 49
TABELA 17 - ATRIBUTOS QUE CARACTERIZAM UM LEXEMA ........................................................................................... 49
TABELA 18 - RELAES APRESENTADAS POR UM LEXEMA ............................................................................................. 49
TABELA 19 - ATRIBUTOS QUE CARACTERIZAM UM TIMO ............................................................................................. 49
TABELA 20 - RELAES APRESENTADAS POR UM TIMO ............................................................................................... 50
TABELA 21 - ATRIBUTOS QUE CARACTERIZAM UM RADICAL INDO-EUROPEU ..................................................................... 50
TABELA 22 - RELAES APRESENTADOS POR UM RADICAL INDO-EUROPEU ....................................................................... 50
TABELA 23 - ATRIBUTOS QUE CARACTERIZAM UM TERMO ............................................................................................ 50
TABELA 24 - ATRIBUTOS QUE CARACTERIZAM UMA LNGUA .......................................................................................... 51
TABELA 25 - DIAGRAMA DE CLASSES: RELAES DE MUITOS PARA UM............................................................................ 52
TABELA 26 - DIAGRAMA DE CLASSES: RELAES DE MUITOS PARA MUITOS ...................................................................... 52
5
ndice de Imagens
IMAGEM 1 - DIAGRAMA DE CASOS DE USO PARA A VISUALIZAO DE INFORMAO ........................................................... 41
IMAGEM 2 - DIAGRAMA DE CASOS DE USO PARA A INSERO DE INFORMAO ................................................................. 42
IMAGEM 3 - DIAGRAMA DE CASOS DE USO PARA AS PESQUISAS ..................................................................................... 43
IMAGEM 4 - DIAGRAMA DE CLASSES: CLASSES TERMO E LNGUA ................................................................................... 51
IMAGEM 5 - DIAGRAMA DE CLASSES: CLASSES TERMO E LEXEMA................................................................................... 52
IMAGEM 6 - DIAGRAMA DE CLASSES COMPLETO ......................................................................................................... 53
IMAGEM 7 - MODELO FSICO: TERMO (INICIAL) E LNGUA ............................................................................................ 54
IMAGEM 8 - MODELO FSICO: TERMO, TERMOLEXEMA E LEXEMA ................................................................................. 55
IMAGEM 9 - MODELO FSICO: TERMO E CRONOLOGIA ................................................................................................. 56
IMAGEM 10 - MODELO FSICO: PREFIXO E SUFIXO E RESPECTIVAS TABELAS PARA O GREGO ................................................. 56
IMAGEM 11 - MODELO FSICO: TERMO E TERMODISPLAY ............................................................................................ 57
IMAGEM 12 - MODELO CLIENTE - SERVIDOR ............................................................................................................. 58
IMAGEM 13 ARQUITECURA: APLICAO WEB CLSSICA ............................................................................................ 59
IMAGEM 14 - ARQUITECTURA: APLICAO WEB COM AJAX ......................................................................................... 60
IMAGEM 15 - APLICAO WEB: REAS DEFINIDAS ...................................................................................................... 62
IMAGEM 16 - APLICAO WEB: PESQUISA POR TERMOS .............................................................................................. 63
IMAGEM 17 - APLICAO WEB: PESQUISA POR LEXEMAS ............................................................................................ 63
IMAGEM 18 - APLICAO WEB: PESQUISA POR PREFIXOS OU SUFIXOS ........................................................................... 64
IMAGEM 19 - APLICAO WEB: PESQUISA DE TERMOS ATRAVS DA CINCIA .................................................................... 64
IMAGEM 20 - APLICAO WEB: PGINA DEFAULT.ASPX .............................................................................................. 65
IMAGEM 21 - APLICAO WEB: FUNCIONAMENTO DE UMA PESQUISA NA BD .................................................................. 68
IMAGEM 22 - APLICAO WEB: ESTRUTURA DOS CONTROLOS PARA VISUALIZAO DE UM PREFIXO ..................................... 70
IMAGEM 23 - APLICAO WEB: ESTRUTURA DOS CONTROLOS PARA VISUALIZAO DE UM TERMO ....................................... 71
IMAGEM 24 - APLICAO WEB: ALERTA JAVASCRIPT .................................................................................................. 75
IMAGEM 25 - APLICAO WEB: ESTRUTURA DOS CONTROLOS PARA INSERO DE UMA CINCIA .......................................... 76
IMAGEM 26 - APLICAO WEB: ESTRUTURA DOS CONTROLOS PARA INSERO DE UM PREFIXO ........................................... 77
IMAGEM 27 - APLICAO WEB: ARQUITECTURA DA INSERO NA BD ATRAVS DE STORED PROCEDURES .............................. 79
IMAGEM 28 - APLICAO WEB: FUNCIONAMENTO DO JAVASCRIPT ................................................................................ 81
IMAGEM 29 - APLICAO WEB: FUNCIONAMENTO DO AJAX ....................................................................................... 85
IMAGEM 30- APLICAO WEB: TAB PARA A ASSOCIAO DOS CONSTITUINTES MORFOLGICOS........................................... 88
7
Lista de Acrnimos
ACID Atomicidade, Consistncia, Isolamento, Durabilidade
AJAX Assynchronous Javascript and XML
API Application Programming Interface
ASP Active Server Pages
CSS Cascade Style Sheet
DHTML Dynamic HyperText Markup Language
DOM Document Object Model
FCL Framework Class Library
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IDE Integrated Developement Environment
Java EE Java Platform, Enterprise Edition
JSON JavaScript Object Notation
JSP Java Server Pages
LINQ Language Integrated Query
PHP Hypertext Preprocessor
RDMSs Relational Database Management Systems
SGBD Sistema de Gesto de Bases de Dados
SOA Service Oriented Architecture
SOAP Simple Object Access Protocal
UDDI Universal Description, Discovery and Integration
URL Uniform Resource Locator
WPF Windows Presentation Form
WSDL Web Services Description Language
XML eXtensible Markup Language
9
1. Introduo
1.1. Enquadramento
Actualmente existem um conjunto de tecnologias informticas que facilitam uma grande
parte das actividades desenvolvidas pelo ser humano. Atravs da utilizao de vrias tecnologias
possvel criar sistemas de informao que contribuem para um melhor acesso a essa informao
independentemente da sua localizao fsica. Esta capacidade de extrema importncia, pois trs
grandes melhorias na quantidade e especialmente na qualidade da informao, para alm de criar
uma plataforma que facilita e melhora a sua anlise e estudo.
Existe um conjunto variado de tecnologias que permitem a construo de sistemas de
informao que seguem vrios modelos e fornecem uma disponibilizao de informao de uma
forma rpida e eficiente. Atravs de sistemas de gesto de base de dados, que centralizam a
informao de uma forma estruturada e ordenada, e de tecnologias de desenvolvimento de
sistemas de informao centrados na Web, possvel a construo de sistemas que permitem
uma gesto avanada da informao em qualquer lugar. Com tecnologias como a Framework
.NET [1], que apresenta capacidades de acesso a sistemas de gesto de base de dados, como o
Microsoft SQL Server [2], possvel a construo de aplicaes Web que realizem a gesto de
toda a informao presente numa base de dados. Aplicando estas tecnologias j existentes e
amadurecidas pelo tempo, que apresentam nveis de estabilidade e documentao elevados,
possvel a construo de sistemas de informao de grande fiabilidade. Juntando a estas
tecnologias outras mais recentes (como caso do AJAX [3] - Assynchronous Javascript and XML)
mas que trazem grandes benefcios a nvel do aspecto e da utilizao, possvel a criao de
sistemas de informao poderosos, com grande acessibilidade e funes.
com base nos princpios apresentados anteriormente que esta dissertao assenta,
apresentando um sistema de informao centrado na Web, denominado DiCiTer Dicionrio
Cientifico - Terminolgico da Lngua Portuguesa que apresenta similaridades com um dicionrio
online (que se encontra localizado no url, na altura em que esta tese foi realizada em
diciter.web.ua.pt). um dicionrio etimolgico e histrico da terminologia cientfica de base
greco-latina que ir servir como ferramenta de auxlio na anlise dos termos cientficos e das suas
fontes, atravs da segmentao e da identificao do valor dos seus constituintes morfolgicos
(lexemas, sufixos e prefixos), promovendo o conhecimento das etimologias de cada termo. O
DiCiTer pode ser ainda utilizado como ferramenta de estudo que contribui:
10
Para o conhecimento das bases greco-latinas das terminologias cientficas;
Para a compreenso do significado das razes greco-latinas e dos processos de
composio do vocabulrio especializado;
Para a deduo do significado de palavras das nomenclaturas das diferentes reas
cientficas e tcnicas, a partir do conhecimento dos constituintes de origem greco-latina;
Para uma melhor compreenso do lxico cientfico e tcnico e o rigor terminolgico, pelo
conhecimento das etimologias;
Para a formao e anlise de neologismos cientficos de base greco-latina;
Para a compreenso e reconhecimento de tecnicismos de origem greco-latina em diversas
lnguas modernas.
1.2. Objectivos
O principal objectivo deste trabalho consiste na construo de um sistema de informao
centrado na Web que fornea instrumentos que permitam uma utilizao precisa e rigorosa de
vocabulrio cientfico especializado. O sistema desenvolvido fornece mecanismos do gnero de
dicionrio online, permitindo pesquisas de termos de diferentes reas cientficas. um sistema de
livre acesso que abrange um amplo grupo de reas cientficas que vo desde a Medicina at
Astronomia, passando pela Farmcia, Botnica, Zoologia, Geologia, Qumica, Bioqumica, Fsica,
Geografia, entre outras.
Esta aplicao foi desenvolvida tendo em conta o pblico em geral, mas tem como alvo
principal o facto de ser uma ferramenta essencial para estudantes e tcnicos de traduo
especializada bem como profissionais das reas cientficas abordadas.
Resumidamente, os principais objectivos da dissertao formam a construo de uma
aplicao Web:
Com um aspecto moderno e de fcil utilizao e compreenso.
Que permita pesquisa de termos e correspondente disponibilizao da sua etimologia e
histria;
Que apresenta a possibilidade de pesquisas cruzadas de lexemas, de prefixos, de sufixos
comuns a termos das diferentes reas cientficas presentes.
Que permita a possibilidade de contributos externos, ou seja, que a prpria aplicao
permita a insero de informao na base de dados.
11
Que apresenta uma plataforma que seja uma mais-valia no estudo e anlise da
terminologia cientfica.
1.3. Estrutura
Esta dissertao encontra-se dividida em quatro captulos:
O captulo um, onde j foi apresentada a introduo e referidos os objectivos para o
desenvolvimento da dissertao.
O captulo dois que est dividido em duas partes. A primeira parte incide nos trabalhos
existentes na rea da terminologia. So referidos vrios dicionrios online, o Dicciomed [4], o
MorDebe [5] e o Dicionrio da Lngua Portuguesa Houaiss [6]; e um livro portugus escrito pela
Doutora Maria Madalena Dias Marques Contente [7].
A segunda parte aborda as tecnologias que foram utilizadas no desenvolvimento da
aplicao proposta, incidindo na possibilidade que apresentam ao trabalharem todas em conjunto
para a criao de um sistema de informao centrado na Web. Nesta parte, tambm
mencionada a razo da escolha dessas tecnologias, comparando-as com outras existentes.
No captulo trs apresentada a arquitectura do sistema proposto. Neste captulo so
definidos os requisitos e a informao que d origem estrutura e organizao da mesma no
sistema de gesto de base de dados. Da mesma forma, incide na construo da aplicao Web,
apontando algumas caractersticas e funcionalidades particulares que o sistema apresenta.
Por fim, no captulo final feito um balano final, apresentando as concluses obtidas e
indicando possveis melhoramentos futuros.
13
2. Estado da arte
2.1. Dicionrios
Dicionrio online Dicciomed.es
O Dicciomed.es [4] um dicionrio online mdico biolgico espanhol, criado e
coordenado pelo professor Francisco Corts Gabaudan da Universidade de Salamanca. O
Dicciomed.es foi criado atravs de uma tecnologia de desenvolvimento de pginas Web open-
source, o PHP [8], sendo utilizado para o armazenamento da informao, novamente uma
tecnologia open-source de gesto de base de dados, o MySQL [9].
Este dicionrio est totalmente dedicado a termos oriundos das reas da medicina e da
biologia, contendo mais de 5000 entradas. O Dicciomed uma ferramenta til no s para o
estudo das etimologias dos termos cientficos como para as pessoas das reas cientficas que ele
aborda. Possibilita um estudo da etimologia, apresentando para cada termo, os respectivos
constituintes morfolgicos, como os sufixos e os lexemas (os prefixos no so abordados) e um
estudo da histria de um termo, com referncia ao ano e sculo de aparecimento do termo,
classificando-o de acordo com a poca em que surgiu, ou seja, como antigos, medievais ou como
neologismos modernos posteriores ao Renascimento. Este estudo completado com a
apresentao de informao do gnero e da classe gramatical da rea cientfica a que pertence e
da lngua-base. So ainda disponibilizados dados relativos a cada um dos constituintes
morfolgicos suportados. Para cada lexema apresentado o timo correspondente e o radical (ou
raiz) do timo. de realar, na caracterizao do timo de cada lexema e dos sufixos, o suporte
de caracteres gregos. Para alm desta informao o Dicciomed ainda disponibiliza listas dos
termos armazenados, ordenadas cronolgica e alfabeticamente, por campo cientfico e lngua de
origem. Apresenta tambm listas dos sufixos e lexemas armazenados, ordenadas alfabeticamente
com a indicao do aparecimento dos mesmos na formao dos termos armazenados no
dicionrio.
Por fim, de notar que o dicionrio no suporta a adio online de novos termos. A
adio de novos termos realizada pela equipa cientfica do Dicciomed, podendo ser sugeridos
novos termos, sujeitos a validao. Novos termos a adicionar podem ser sugeridos por alunos de
uma disciplina leccionada no departamento de Biologia da Universidade de Salamanca, por
correio electrnico, ou de uma forma curiosa a partir de pesquisas infrutferas.
14
Outros dicionrios on-line:
Existem vrios dicionrios online, mas a maior parte deles no suporta a mesma
informao que o dicionrio proposto nesta dissertao.
O MorDebe [5] uma base de dados de palavras em portugus que fornece informao
lexical como a ortografia, a flexo e as relaes morfolgicas entre palavras. De realar que nada
apresentado sobre a semntica e sobre a etimologia das palavras. A maioria das palavras
existentes nesta base de dados pertencem ao portugus europeu, mas tambm se encontram
palavras provenientes de outros pases lusfonos como Brasil, Angola, Moambique, entre outros.
Talvez o dicionrio escrito na lngua Portuguesa, que apresenta alguma da informao
existente no sistema proposto nesta dissertao seja o Dicionrio da Lngua Portuguesa Houaiss
[6]. Este dicionrio elaborado pelo lexicgrafo brasileiro Antnio Houaiss contm uma quantidade
elevada de termos, sinnimos, antnimos e palavras arcaicas. Apresenta tambm as etimologias
de cada palavra e abrange a terminologia actual das reas tecnolgicas e cientficas. Este
dicionrio s se encontra acessvel dentro da rede informtica da Universidade de Aveiro, no
podendo ser acedido a partir do exterior.
Dicionrio de Medicina Sinnimos e equivalentes
Este dicionrio informtico proposto no livro Terminocriatividade sinonmia e
equivalncia interlingustica em medicina [7] escrito pela Senhora Doutora Maria Madalena Dias
Marques Contente, professora auxiliar convidada do Departamento de Educao Mdica (DEM),
da Faculdade de Cincias Mdicas e investigadora do Centro de Lingustica da Universidade Nova
de Lisboa 1.
Neste livro, a Doutora Madalena Contente, que conta com o apoio da linha de
Investigao de Lexicologia, Lexicografia e Terminologia do Centro de Lingustica da Universidade
Nova de Lisboa, prope um dicionrio terminolgico de medicina que pressupe um sistema de
conhecimento conceptual e terminolgico, ou seja, um sistema de sinnimos e equivalentes
lingusticos. Para alm de propor um sistema informtico, os objectivos deste livro so de um
1 A senhora doutora Maria Madalena Contente ainda professora Titular da Escola Secundria de Cames. Apresenta como habilitaes literrias, um doutoramento em Lingustica com especialidade em Lexicologia (2004), pela Faculdade de Cincias Sociais de Humanas, Universidade Nova de Lisboa e um Mestrado em Lingustica, especialidade Lexicologia e Lexicografia (1993), pela mesma Universidade.
15
modo geral a anlise da construo do conceito e do termo cientfico, a anlise da sua formao
numa perspectiva unilingue e a anlise de processos de criao de sinnimos em terminologia.
O sistema informtico denominado Dicionrio de Medicina Sinnimos e equivalentes
uma aplicao desktop, no estando disponvel na Internet. Este sistema de uma forma
simplificada tm como objectivo a concepo de uma ferramenta que permita a anlise em vrias
lnguas (Portugus, Ingls e Francs) dos sinnimos e dos equivalentes de cada termo cientfico
(em ambos os casos so fornecidos os traos semntico-conceptuais e os marcadores lingusticos
do termo). O sistema informtico apresentado no livro permite pesquisas de sinnimos e de
equivalentes de termos cientficos (nas vrias lnguas suportadas). De notar que para cada uma
destas pesquisas existe a possibilidade de visualizar os traos semntico-conceptuais e os
marcadores lingusticos respectivos ao termo pesquisado.
Para terminar convm realar que no livro no especificada a forma como a aplicao
informtica apresentada foi implementada, por isso no possvel levantar consideraes acerca
das tecnologias utilizadas nem da arquitectura apresentada.
2.2. Tecnologias
2.2.1. NET Framework A Framework .NET [1] (a verso mais actual a Framework .NET 3.5) uma arquitectura e
um conjunto de ferramentas criadas pela Microsoft, que possibilitam o desenvolvimento de
aplicaes. Esta ferramenta suporta a construo e a execuo de aplicaes de nova gerao e
de servios Web, disponibilizando um conjunto de vrias linguagens de programao.
A Framework .NET um novo modelo de desenvolvimento de aplicaes da Microsoft,
no s para o sistema operativo Windows, mas tambm para outros sistemas operativos como o
Mac OS e diferentes distribuies de Unix/Linux, atravs da utilizao de uma Framework open-
source, denominada Mono [10]. Algumas das caractersticas mais relevantes so a
interoperabilidade com o cdigo existente, a integrao total e completa da linguagem,
permitindo ao .NET suportar, por exemplo, a herana de classes, a gesto de excepes e o
debugging entre o cdigo construdo com linguagens de programao diferentes, e a presena de
um nico motor de execuo, partilhado por todas as linguagens. NET, e uma biblioteca de classes
base abrangente.
A Framework .NET foi concebida tendo em vista os seguintes objectivos [1]:
16
Proporcionar um ambiente de programao baseado no paradigma de programao e
orientado aos objectos, em qualquer tipo de aplicao (para o cdigo executado
localmente; executado localmente mas distribudo pela Internet ou executado
remotamente).
Oferecer um ambiente de execuo de cdigo que minimize a distribuio do software e
conflitos entre verses; que promova a execuo segura do cdigo, mesmo aquele criado
por desconhecidos ou por algum no fivel.
Desenvolver uma variedade de tipos de aplicaes, como as aplicaes para Windows e
as aplicaes baseadas em Web, de forma consistente.
Construir todo o tipo de comunicaes com padres da indstria, de forma a assegurar
que o cdigo baseado em .NET possa ser integrado com qualquer outro cdigo.
A Framework .NET apresenta, na sua construo, trs blocos principais, responsveis
pelas caractersticas mais importantes; o common language runtime (CLR), o common type system
(CTS) e o common language specification (CLS), que so explicados a seguir.
Common Language Runtime CLR:
O CLR responsvel pela gesto da execuo do cdigo .NET, incluindo a alocao
de memria e respectiva limpeza. Tambm gere aspectos relacionados com segurana e
gesto de threads.
Funciona com todas as linguagens que a Framework .NET disponibiliza, por isso
no h necessidade de existir um ambiente de execuo diferente para cada um das
linguagens existentes.
Common Type System CTS:
O CTS descreve todos os tipos de dados que so suportados pelo CLR,
especificando como ocorre a interaco entre eles e como so representados no .NET.
Common Language Specification CLS:
Nem todas as linguagens .NET podem suportar as caractersticas disponibilizadas
pelo CTS. No entanto, o CLS define um conjunto de tipos e regras de programao que
todas as linguagens .NET devem seguir.
O CLS tem como objectivo, possibilitar a interoperabilidade entre as linguagens
.NET, incluindo a possibilidade de herana entre classes, escritas em linguagens .NET
17
diferentes. Por exemplo, se um programa aproveita, na totalidade, as caractersticas do
CLS, a interoperabilidade entre esse programa e outros, escritos numa linguagem .NET,
est assegurada.
Juntamente com os blocos principais mencionados, a Framework .NET apresenta uma
biblioteca baseada em classes (FCL), disponvel para todos os seus componentes, dos quais se
destacam o ADO.NET, o ASP.NET, o Windows Forms e o Windows Presentation Foundation (WPF).
Esta biblioteca de classes proporciona um suporte para um conjunto de servios que so
utilizados na maior parte das aplicaes actuais. Esta biblioteca possui funes que facilitam o
acesso e a manipulao da base de dados, a manipulao de documentos XML e a construo de
aplicaes Web.
Do mesmo modo, a Framework .NET apresenta diferentes linguagens de programao,
das quais se destaca o C#. O C# uma linguagem de programao elaborada pela Microsoft,
especialmente para a plataforma .NET [11], e para o Common Language Infraestructure (CLI).
uma linguagem de programao multi-paradigma que engloba disciplinas de programao
imperativa, funcional, genrica, orientadas aos objectos (baseada em classes). O C# tem como
objectivo ser uma linguagem simples, segura, moderna e centrada na Internet. Esta linguagem
apresenta uma capacidade de implementao de conceitos de programao modernos, numa
linguagem estruturada e baseada em componentes, seguindo o paradigma da programao
orientada aos objectos.
Em qualquer linguagem baseada no paradigma acima referido, apresentado o suporte
para a definio e programao com classes. O C# apresenta a possibilidade de declarar classes
bem como os respectivos mtodos e propriedades, podendo usar mecanismos de
encapsulamento, de herana e polimorfismo, ou seja, os pilares da programao orientada aos
objectos. O C#, sendo uma linguagem recente, considerado como uma mistura de vrias
linguagens, tais como o Java, o C++ e o Visual Basic. Isto resulta numa linguagem mais limpa do
que o Java, simples como o Visual Basic 6 e flexvel como o C++. Segue uma lista das
caractersticas mais importantes desta linguagem [11]:
No so necessrios a utilizao de apontadores;
A gesto de memria automtica feita atravs de garbage colection (a memria
utilizada libertada automaticamente), no sendo necessrio ao programador
libertar explicitamente a memria usada, evitando assim falhas de memria.
18
A existncia de construtores para classes, interfaces, estruturas de dados,
numeraes, entre outros.
A possibilidade de redefinir (overload) operadores para um tipo de dados
personalizado, tal como o C++.
Um suporte para programao baseada em atributos.
Apresentao de suporte para internalizao;
Apresentao de suporte total para LINQ (Language Intregrated Query) consulta
(queries) de dados como parte da linguagem;
Apresentao de suporte do Windows Presentation Foundation (WPF) para a
criao de aplicaes Windows; Work Flow (WF) e Silverlight (criao de
aplicaes Internet para vrios browsers e plataformas).
2.2.2. ASP.NET Desenvolvido pela Microsoft, a primeira verso do ASP.NET 1.0 saiu no dia 5 de Janeiro de
2002 como parte integrante da verso 1.0 da Framework .NET. Actualmente o ASP .NET encontra-
se na verso 3.5, como parte integrante da Framework .NET com a mesma verso.
O ASP.NET [12] tem acesso a todos os contedos da Framework .NET, sendo uma
tecnologia que permite a criao de aplicaes Web interactivas e dinmicas, centradas nos dados
e executadas sobre a Internet e Intranets. O ASP .NET apresenta uma grande quantidade de
controlos pr-construdos que podem ser configurados e manipulados atravs de cdigo, para
gerar pginas HTML, suportadas pelos browsers actuais. As pginas desenvolvidas atravs do ASP
.NET so dinmicas, porque ao contrrio do HTML esttico em que as pginas so totalmente
armazenadas em disco, no ASP .NET so apenas armazenados esqueletos da pgina. Quando
ocorre um pedido de uma pagina construda em ASP .NET, o cdigo ASP processado no servidor,
gerando o cdigo HTML da pgina, que ser enviado para o browser.
Como parte integrante da Framework .NET, o ASP .NET herda as caractersticas da
Framework, sendo uma das mais importantes, a utilizao do paradigma de programao
orientada aos objectos. O ASP.NET trouxe esse paradigma para a construo de aplicaes Web,
possibilitando a utilizao do modelo de code behind. Este modelo marca a separao do ASP
clssico, permitindo aos programadores desenvolverem o cdigo executvel separado da
interface do utilizador (do aspecto da pgina). Assim surge o conceito de Web forms, considerado
para muitos como os blocos de construo principal do ASP .NET para a Web [13].
19
Os Web forms no ASP .NET oferecem algumas vantagens, quando comparados com outras
tecnologias de criao de aplicaes Web. Algumas das suas caractersticas principais so:
O suporte para qualquer browser, compatvel com o HTML 3.2.. De realar os
controlos do servidor do ASP .NET que proporcionam funcionalidades avanadas
ao cliente e que podem diminuir essas funcionalidades para browsers que no
suportem DHTML (Dynamic HTML) ou scripts.
A construo no conceito Common Language Runtime (CLR), beneficiando de
todos os seus recursos, como a gesto da execuo e a herana.
A construo em qualquer linguagem baseada no CLR, como o C#, Visual Basic
.NET, JScript .NET.
O desenvolvimento rpido, utilizando ferramentas como o Visual Studio.
A apresentao de um conjunto de controlos de servidor que proporcionam
quase todas as funcionalidades necessrias para a construo de aplicaes Web.
A preservao do estado da pgina e dos seus controlos entre pedidos, com a
incluso de funcionalidades de gesto de estado.
A apresentao de um modelo extensvel que permite o desenvolvimento de
controlos prprios e a utilizao de controlos de terceiros.
Talvez a caracterstica mais importante dos Web forms seja a implementao de um
modelo de programao, em que as pginas so geradas dinamicamente num servidor Web,
antes de serem enviadas para o browser. Com os Web forms criada uma pgina aspx onde
colocado o contedo mais ou menos esttico, consistindo em controlos HTML e controlos Web,
bem como controlos AJAX e Silverlight [14]. Este ficheiro tem o nome da interface do utilizador,
uma vez que a definido o aspecto e organizao da pgina. O cdigo que ir adicionar o
contedo dinmico colocado num ficheiro, que apresenta o mesmo nome do ficheiro da
interface do utilizador, mas com extenso .aspx.cs ou aspx.vb, dependendo se a linguagem de
programao utilizada o C# ou o Visual Basic .NET, respectivamente. Este cdigo vai ser
executado no servidor para os eventos do aspx e o resultado que for produzido integrado com o
interface do utilizador, de forma a criar uma pgina HTML que enviada para o browser.
Assim o Web forms divide a interface em duas partes: uma parte visual, e uma parte
lgica que completa a parte visual.
Uma outra caracterstica que vale a pena referir no ASP.NET a possibilidade da utilizao
das Master Pages. possvel considerar as Master Pages como templates, que possibilitam a um
contedo comum existente num site Web ser partilhado entre as vrias pginas que o
20
constituem, sem que haja a necessidade de repetir esse contedo em cada pgina. Assim uma
pgina usa o seu contedo e o da master page para criar o seu aspecto final. De notar que a
master page fica totalmente acessvel para a pgina que a utiliza, podendo manipular os
cabealhos, mudar o ttulo e aceder a propriedades e mtodos pblicos presentes na master
page.
2.2.3. Web Services O objectivo principal dos Web Services [15] do ASP .NET fornecer acesso a
funcionalidades de aplicaes, disponibilizadas atravs de protocolos padro da Web, como o
caso do HTML e do XML, independentemente da sua localizao. Para que o acesso aos servios
seja possvel, apesar das plataformas envolvidas, quer no servio, quer no cliente, necessrio
que exista um suporte para XML e SOAP, e que seja possvel comunicar atravs do protocolo
HTTP. De uma forma geral, possvel afirmar que um Web Service uma funo invocada atravs
da Internet [13]. Essa funcionalidade disponibilizada por um Web Service tanto pode ser de baixa,
ou de alta complexidade, podendo enviar ao cliente vrios tipos de dados, como inteiros, strings
simples, e tipos de dados complexos como classes e mesmo partes de cdigo HTML.
A capacidade da interoperabilidade entre aplicaes e a respectiva integrao que os Web
Services apresentam, depende dos seguintes de padres da Web:
HTTP [16]:
O http o protocolo padro para a World Wide Web. essencial para os Web services,
devido ao facto de a porta utilizada pelo http (a porta tcp 80) no se encontrar
normalmente bloqueada nas firewalls, possibilitando assim que os Web services
comuniquem livremente na Internet.
XML [17]:
O XML, ou Extensible Markup Language, uma forma padro de estruturao de dados,
atravs de uma sintaxe baseada em tags e texto, que quando combinada com o padro
XML Schema [18] tem a capacidade de converter e de voltar forma original, certos tipos
de dados simples e complexos para texto, de forma a serem transmitidos por http.
SOAP [19]
21
O Simple Object Access Protocol um protocolo que especifica o formato das mensagens
de pedidos e respostas, usando XML sobre http. essencial para os Web Services, porque
responsvel pelo transporte dos dados de e para os Web Services. Este protocolo
apresenta uma caracterstica muito importante de no especificao, e de no definio
do modelo de programao ou de implementao para os servios, garantindo assim que
o servio e o cliente que o invocam, possam ser desenvolvidos em linguagens de
programao diferentes.
WSDL [20]:
O Web Services Description Language (WSDL) utilizado para a descrio dos Web
Services, contendo informao relativa a operaes, mensagens e parmetros. O WSDL
proporciona assim uma forma de anunciar os mtodos disponveis de um Web Service. a
partir do WSDL que os clientes, que desejam utilizar um Web Service, descobrem como
devem invocar o servio para que funcione correctamente. O WSDL responsvel pela
descrio dos servios, enquanto o SOAP responsvel pela comunicao entre o cliente
e o servidor.
UDDI [21]:
O Universal Description, Discovery, and Integration uma Framework que no
depende de nenhuma plataforma, que se encontra em desenvolvimento pela Microsoft e
pela IBM, que oferece uma forma de publicao, localizao e integrao/ligao a Web
Services. Os Web Services podem ser registados num dos directrios do UDDI, para que os
clientes interessados nos servios os possam pesquisar e aceder aos que interessam. 2.2.4. JavaScript O JavaScript (ECMAScript) [22] uma das mais utilizadas linguagens de programao. Esta
linguagem teve um grande desenvolvimento nos ltimos anos, por ser utilizada na maior parte
dos Web sites.
Apesar de muitas vezes ser considerado uma linguagem de programao leve e pouco
sofisticada [23], o JavaScript uma linguagem totalmente integrada nos Web browsers, que
possibilita a criao de efeitos nas pginas Web. Esta linguagem possibilita, por exemplo, a criao
de nova janela ou popup, sendo possvel controlar o tamanho, a posio e outros atributos dessa
janela (apresentao de menus e barra de ferramentas). Da mesma forma, possibilita tambm a
22
validao dos valores de input de um formulrio Web (de forma a corrigir potenciais erros, antes
de serem enviados para o servidor) e a mudana de imagens quando sobrepostas pelo cursor do
rato, para chamar a ateno do utilizador. O JavaScript pode detectar keystrokes individuais, algo
que o HTML no consegue fazer. Esta funcionalidade permite, por exemplo, a definio de um
teclado em grego, que suporta todos os acentos e caracteres especiais.
O JavaScript implementado dentro de um ambiente especfico, normalmente um Web
browser. Como medida de segurana, corre num ambiente fechado denominado de sand-box.
Neste ambiente, o script s pode realizar operaes que estejam relacionadas com o
visionamento de pginas, no podendo realizar tarefas globais como a criao de um ficheiro.
Outra medida de segurana o respeito de uma poltica da mesma origem, ou seja, os scripts de
um Web site no tem acesso a informao, como o nome dos utilizadores, as palavras-chave ou
os cookies enviados para outro Web site.
No entanto, apresenta alguns problemas, geradores de conflitos entre utilizadores,
podendo criar problemas de segurana se for utilizado incorrectamente, especialmente quando
combinado com outras funcionalidades, como um Web service e uma base de dados. Da mesma
forma, pode tornar uma pgina inutilizvel, impossvel de ler e com menor acessibilidade.
A linguagem JavaScript corre numa grande variedade de ambientes e de plataformas, e
pode ser utilizada no desenvolvimento de pginas Web que correm em sistemas operativos como
o Mac OS X, Windows e Linux, no necessitando de nenhuma aplicao especial, uma vez que
est embutida no browser. A maior parte dos browsers implementa um subconjunto comum
desta linguagem, tornando compatvel a maior parte do cdigo JavaScript. A maior parte das
incompatibilidades existentes tem origem nas diferentes formas como o browser trata o
Document Object Model (DOM) [24]. O DOM uma especificao da W3C [25], independente da
plataforma e da linguagem, que permite a representao e interaco com objectos dentro de
documentos HTML, XHTML e XML. O DOM a forma como o JavaScript analisa o contedo de
uma pgina HTML e o estado do browser, sendo utilizado por scripts JavaScript que necessitam de
aceder ou modificar, de forma dinmica, uma pgina Web.
devido forma como os objectos DOM so manipulados, atravs da implementao do
browser do JavaScript, que se originam as incompatibilidades. Essas incompatibilidades so
provocadas por implementaes diferentes que cada browser apresenta para o modelo DOM.
Para resolver essas incompatibilidades necessrio que o cdigo seja compatvel com a
implementao dos objectos DOM e isso s possvel com um cdigo que detecte o tipo de
23
browser e funcione de acordo com as caractersticas da implementao do DOM, apresentada
pelo browser. 2.2.5. CSS Enquanto o JavaScript tem a responsabilidade de criar, remover ou alterar os atributos de
um elemento de uma pgina, o CSS [26] responsvel por definir esses atributos, atravs dos
estilos CSS.
O CSS define o aspecto e o comportamento de elementos presentes numa pgina Web,
permitindo mostrar ou esconder elementos, alterar a cor, o tipo de letra, mover ou
redimensionar. A forma como cada browser gere estas funcionalidades, pode, uma vez mais, ser
diferente de browser para browser, possibilitando o aparecimento de incompatibilidades.
2.2.6. ASP.NET AJAX O ASP .NET AJAX [3] (Asynchronous JavaScript e XML) um conjunto de tecnologias (da
Microsoft) que se relacionam entre si, e quando utilizadas num sistema cliente-servidor
possibilitam a criao de aplicaes Web interactivas mais apelativas e com melhor aspecto, e
que respondem mais rapidamente a pedidos do utilizador.
A funcionalidade do ASP.NET AJAX assenta em tecnologias que esto presentes nos
browsers actuais: o JavaScript assncrono e o XML. graas a estas tecnologias que o AJAX
apresenta a capacidade de desenvolver as pginas Web que permitem realizar pedidos http em
plano de fundo, ou de forma assncrona, sem que para tal seja necessrio reler a totalidade da
pgina, tornando mais rpida a resposta a um pedido, ou que esta parea mais rpida ao
utilizador. Isto possvel devido utilizao de tecnologias, por parte do AJAX, que so
suportadas pelos browsers actuais e das quais se destacam: o JavaScript, o Document Object
Model (DOM) [24] e o Cascading Style Sheets (CSS) [27].
A Framework ASP .NET AJAX inclui bibliotecas que incluem scripts para o cliente e que
providenciam um conjunto de vantagens para o programador. Essas vantagens so [27]:
Camada de compatibilidade com o browser:
Possibilita aos elementos ASP .NET AJAX correrem na maior parte dos browsers
actuais, quase eliminando a necessidade de criar scripts especficos para cada
browser existente.
24
Core services:
Torna possvel escrever scripts JavaScript de uma forma semelhante ao
paradigma de programao orientada aos objectos. Isto inclui o suporte para
classes, namespaces, gesto de eventos, herana, e serializao de objectos,
atravs do formato JSON (JavaScript Object Notation) e XML.
Biblioteca baseada em classes:
Esta biblioteca contm componentes do estilo .NET, como construtores de strings
e temporizadores.
Componentes e controlo de script:
Fornece ao ASP.NET AJAX verses dos controlos em HTML padro, podendo
acrescentar-se outras funcionalidades como ligao a dados, comportamentos
pr-definidos (como a funcionalidade de Drag-and-Drop). Estes controlos
podem ser programados directamente ou atravs da utilizao de script XML.
Tal como o ASP .NET, o ASP.NET AJAX foi concebido para que as suas funcionalidades
possam ser utilizadas sem ser necessrio o domnio das tecnologias presentes no AJAX. Essas
funcionalidades so geridas da mesma forma que o ASP .NET gere as funcionalidades do http. O
objectivo do ASP .NET AJAX facilitar o trabalho do programador a dois nveis: ao nvel do cliente,
oferecendo funes JavaScript para o envio dos pedidos ao servidor e ao nvel do servidor,
trabalhando em conjunto com o ASP.NET, o que permite aos controlos do ASP.NET AJAX interagir
com controlos e componentes ASP .NET, e participar no ciclo de vida da pgina. O ASP .NET AJAX
pode ser adicionado a caractersticas do ASP .NET tais como sesses, autenticao e perfis de
utilizador.
Esto disponveis diferentes pacotes do ASP .NET AJAX que apresentam diferentes
funcionalidades, sendo o mais relevante o ASP.NET AJAX Control Toolkit. Este pacote,
disponibilizado em open-source, contm um conjunto de componentes que permite utilizar
facilmente as funcionalidades do AJAX, com controlos reutilizveis e personalizveis que podem
ser utilizados na criao de pginas Web dinmicas e interactivas.
25
2.2.7. SQL Server O Microsoft SQL Server [2] um Sistema de Gesto de Base de Dados - SGBD, em que as
respectivas bases de dados (tabelas), nele armazenadas, seguem o modelo relacional. A verso
utilizada neste projecto foi o Microsoft SQL Server 2005, apesar de j existir uma verso mais
recente (2008) que no incio do projecto ainda no estava disponvel.
O modelo relacional segue um conjunto de princpios matemticos oriundos da teoria dos
conjuntos e da lgica. Este modelo define a forma como os dados podem ser protegidos
(integridade dos dados) e as operaes que podem ser efectuadas sobre esses dados. Devido
sua flexibilidade e eficincia, o modelo relacional o mais usado em sistemas de base de dados.
Com este modelo possvel realizar alteraes estrutura da base de dados, sem que sejam
necessrias alteraes, numa aplicao que utilize essa mesma base de dados. Uma vez que o
modelo apresenta uma flexibilidade estrutural, possvel a recuperao de combinaes dos
dados que no foram pensadas durante a concepo da base de dados.
Os sistemas de base de dados relacionais possuem as seguintes caractersticas gerais:
Todos os dados so representados como um arranjo de linhas e colunas,
denominado relao;
Todos os valores so escalares, dada uma qualquer linha/coluna e a relao a
existente s um e um s valor;
Todas as operaes so realizadas na relao e os resultados obtidos so
representados tambm como relaes.
Sendo ento o Microsoft SQL Server um sistema de gesto de base de dados relacional -
Relational Database Management Systems (RDBMSs), os dados esto armazenados em tabelas,
compostas por linhas e colunas. As tabelas com dados independentes podem ser ligadas ou
relacionadas umas s outras.
O SQL Server 2005 apresenta algumas caractersticas importantes que devem ser
analisadas:
Capacidade de utilizao do common language runtime (CLR) da Framework .NET
na base de dados. Assim possvel utilizar as linguagens de programao Visual
Basic ou C# na base de dados;
Suporte para XML atravs de um tipo de dados XML que apresenta todas as
capacidades dos dados relacionais, possibilitando a insero de um ficheiro XML
na base de dados, validando o documento, e a extraco de apenas partes do
documento quando necessrio.
26
Novo interface de gesto denominado de SQL Server Management Studio, que
permite num s stio a gesto e administrao do servidor;
Framework de reporting (SQL Server Reporting Services) como parte integrante
do sistema de base de dados;
Nova aplicao de Service Broker, para a entrega de mensagens de forma
assncrona;
Ferramenta melhorada que permite a extraco, transformao e leitura de
dados SQL Server Integration Services.
O SQL Server apresenta como linguagem principal de programao e gesto, o T-SQL
(transact SQL). Esta apresenta palavras-chave e/ou funes que permitem criar e alterar as
bases de dados, bem como monitorizao e gesto do prprio servidor. Esta capacidade de
gesto s possvel graas existncia de tabelas e de stored procedures de sistema que podem
ser invocados atravs de queries T-SQL.
O SQL Server para alm de apresentar a linguagem de programao T-SQL, apresenta
algumas funcionalidades baseadas nessa linguagem, consideradas importantes. Essas
funcionalidades so transaces, restries (constrains), ndices, Views, triggers e stored
procedures [28].
Transaces:
O SQL server assegura que toda e qualquer alterao nos dados respeitam o conceito
ACID (Atomicidade, Consistncia, Isolamento, Durabilidade). O ACID um conjunto de
propriedades que garante uma execuo correcta das transaces numa base de dados.
Como mencionado anteriormente, o conceito ACID um acrnimo de Atomicidade,
Consistncia, Isolamento e Durabilidade. Cada termo define uma propriedade importante no
funcionamento no s do SQL Server, mas tambm dos SGBDs em geral:
Atomicidade:
Todas as operaes presentes numa transaco devem ser executadas correctamente ou,
em caso de alguma operao falhar, o resultado de todas as aces, pertencentes a uma
mesma transaco que j tenham sido executadas, no armazenado na base de dados.
27
Consistncia:
A base de dados deve ser mantida num estado de consistncia de informao antes do
incio e depois do fim de uma transaco, sendo esta realizada com sucesso ou no.
S informao vlida que pode ser escrita na base de dados. Se por alguma razo, a
transaco executada violar as regras de consistncia da base de dados, esta revertida e
a consistncia dos dados restabelecida.
Isolamento:
As operaes no podem aceder nem ver a informao num estado intermdio durante
uma transaco, ou seja, uma transaco no tem conhecimento de outras transaces
em execuo concorrente no sistema.
Durabilidade:
Depois da concluso de uma transaco, armazenamento e notificao com sucesso, a
alterao dos dados vai ser mantida, mesmo que ocorra uma falha no sistema. Muitas
bases de dados implementam a durabilidade atravs de um log de transaces onde so
armazenadas todas as transaces. As transaces s so realizadas depois de terem sido
escritas no log. No caso da ocorrncia de uma falha, o log pode ser lido, de forma a
colocar o sistema no estado em que estava antes da falha.
Resumindo, as transaces possibilitam a definio de uma aco considerada atmica.
Alm disso, permitem definir um conjunto de aces que vo ser consideradas como
atmicas. O comportamento padro do SQL considerar qualquer operao como
transaco, caso no aparea dentro um bloco BEGIN TRAN/COMMIT TRAN. Se for
necessrio declarar um conjunto de operaes como transaces, basta coloc-las dentro
desse bloco .
ndices
Um ndice numa tabela ou numa coluna de uma base de dados possibilita uma pesquisa
mais rpida, quando comparada com a pesquisa numa tabela completa, porque o ndice contm
uma lista ordenada de elementos. Os ndices podem contribuir para um melhor desempenho das
queries executadas, mas a criao de um conjunto de ndices nem sempre fcil e directa.
Um ndice bem construdo reduz as operaes de input e output no disco, sendo estas
operaes de certo modo demoradas e com efeitos negativos na performance. Quanto menor for
28
o tempo de acesso, melhor ser a performance da aplicao. Isto no quer dizer que quanto
maior for o nmero de ndices que uma tabela possui, melhor ser a performance. necessrio
ter em conta que, em cada actualizao dos dados da tabela, o ndice tambm ser actualizado,
provocando uma degradao na performance.
O SQL Server 2005 suporta vrios tipos de ndice:
Clustered: Cria um ndice para todas as colunas de uma tabela;
NonClustered: Indexa uma ou mais colunas de uma tabela;
Unique: Cria um ndice que impossibilita a existncia de valores repetidos na
coluna que est a ser indexada.
Vistas Indexadas: As vistas, tal como as tabelas, podem conter ndices;
Restries:
O objectivo das restries restringir os valores que uma coluna pode ter. As restries
asseguram a integridade dos dados. Em geral, podem ser associadas a uma tabela como um todo
ou a uma coluna. Uma restrio pode ser de diferentes tipos, cada uma com um funcionamento
distinto:
not null especifica que a coluna no pode conter valores nulos.
unique especifica que o valor da coluna tem de ser nico ao longo de todas as
linhas de uma tabela.
primary key especifica um identificador nico para a tabela (pode ser uma
coluna ou um conjunto)
references utilizada para a criao de chaves secundrias, que indicam a
existncia de uma relao entre vrias tabelas. Esta chave refere a chave primria
de outra tabela que participa na relao.
check especifica uma condio que a coluna tem de satisfazer.
Views:
Uma View uma tabela virtual construda por uma query que pode ser utilizada como
uma tabela normal.
Apesar de uma View poder ser constituda por dados de vrias tabelas, o que obriga o SQL
Server a percorrer todas as tabelas para preencher a View, no apresenta um impacto negativo
29
nem positivo em termos de performance. Uma forma de melhorar o desempenho das Views a
adio de ndices.
As Views podem ser criadas por razes de segurana, quando no desejvel apresentar
toda a informao, exibindo apenas uma parte dos dados. Tambm podem ser utilizadas para
desenvolver solues simples de uma forma modular. Como funcionam como tabelas, possvel
dividir a informao a pesquisar por diferentes Views e posteriormente junt-las, para obter a
totalidade da informao desejada. Assim a construo da pesquisa torna-se mais fcil e de
melhor compreenso.
Stored procedures:
Os stored procedures so rotinas executveis no servidor de gesto de base de dados.
Tm a capacidade de alterar os dados das tabelas. possvel controlar aos dados, garantido
permisses aos stored procedures. De realar que a possibilidade de aceitarem parmetros de
entrada e de sada, podendo ser validados antes realizar alguma operao complexa.
A utilizao do stored procedure vantajosa, porque alm de evitar a repetio de cdigo,
quando executado, fica armazenado em cache, tornando os acessos futuros mais rpidos e
salvando os recursos do servidor. Graas a utilizao de stored procedures o trfego de rede
reduzido, porque s necessrio especificar o nome e os argumentos para os invocar em vez do
cdigo completo, necessrio para a operao. Toda a actividade de processamento realizada no
servidor e s o resultando final enviado, atravs da rede para o cliente.
Triggers:
Os triggers so rotinas que se executam automaticamente como resultado da ocorrncia
de um evento pr-definido. No SQL Server existem dois tipos de triggers:
After triggers: so executados em reaco automtica a queries do utilizador ou a
aplicaes. Podem ser utilizados para reagir s aces de CREATE, ALTER e DROP;
Instead of triggers: so executados como substituio de uma query. Podem ser
utilizados para substituir aces de INSERT, UPDATE e DELETE.
Os triggers embora no possuam parmetros de entrada e sada, no podem ser
invocados directamente, estando a sua execuo dependente de uma aco especfica provocada
por uma query. Assim permitem a automatizao de processos, o que significa menos trabalho
30
manual e menor probabilidade de ocorrncia de erros, sendo teis na verificao da integridade
dos dados. 2.2.8. Microsoft Visual Studio 2008 O Microsoft Visual Studio 2008 [29] um IDE (Integrated Developement Environment),
um conjunto de ferramentas que permite aos programadores criarem aplicaes na plataforma
Windows. Este conjunto de ferramentas permite o desenvolvimento de aplicaes ASP .NET para
Web, Web Services XML, aplicaes de desktop e telemveis. Todas as linguagens presentes na
Framework .NET (Visual Basic, Visual C++, Visual C# e Visual J#) utilizam o este IDE, o que permite
partilhar funcionalidades e criar solues como a utilizao das vrias linguagens.
Para o desenvolvimento de aplicaes, o Microsoft Visual Studio recorre Framework
.NET e a todas as suas funcionalidades como as linguagens Visual Basic e o C#, e plataforma ASP
.NET, para o desenvolvimento de aplicaes para Web. Na sua verso actual, o Visual Studio 2008
apresenta um suporte para o Windows Vista, para o ASP .NET AJAX e para o Silverlight.
O Visual Studio apresenta uma interface de desenvolvimento visual (Visual Web
Developer), que permite a criao e edio de pginas Web ASP .NET e pginas HTML,
possibilitando uma forma simples e rpida de criar Web Forms. Tambm suporta todas
funcionalidades do ASP .NET, permitindo um desenvolvimento rpido e eficaz de aplicaes Web.
Com o Visual Studio possvel a criao e gesto de Web sites, colocados em directrios locais,
no servidor Web do Windows (o Internet Information Services - ISS), ou num servidor FTP
2.2.9 Outras tecnologias 2.2.9.1. PHP
O PHP (Hypertext Preprocessor) [8] uma linguagem de script open-source largamente
utilizada. Foi especialmente desenhada para o desenvolvimento Web, podendo ser utilizada
juntamente com HTML.
As pginas desenvolvidas com PHP apresentam cdigo HTML bem como cdigo PHP, que
realiza funes que aumentam as funcionalidades do HTML. Como acontece no ASP. NET, esse
cdigo executado no servidor que gera o cdigo HTML, sendo posteriormente enviado para o
browser e permitindo a visualizao da pgina. No entanto, no possvel visualizar no browser
do cliente, o cdigo PHP que gerou essa pgina.
31
O PHP apresenta algumas desvantagens em relao ao ASP.NET. Em primeiro lugar, o ASP
.NET segue o paradigma de programao orientado aos objectos e por isso, tira proveito das
funcionalidades apresentadas pelo CLR (common language runtime), que permite a utilizao das
vrias linguagens disponveis na Framework .NET. Em segundo lugar, o ASP . NET apresenta um
ambiente de desenvolvimento totalmente integrado com a Framework .NET e com sistemas de
base de dados (Microsoft SQL Server). Esta integrao oferece ao ASP .NET uma facilidade de
utilizao e de construo tanto em aplicaes Web simples ou mais complexas, como a utilizao
de Base de Dados.
No entanto, o PHP revela algumas vantagens como a distribuio gratuita, o que j no
acontece no ASP .NET, uma vez que verses mais poderosas e com maior nmero de
funcionalidades tm de ser adquiridas. Uma outra vantagem do PHP o seu carcter multi-
plataforma, com vrias ferramentas necessrias para o seu funcionamento, desde servidores
Web, sistemas de base de dados com suporte para vrias plataformas e sistemas operativos.
2.2.9.2. MySQL
O MySQL [9] um sistema de gesto de base de dados em cdigo aberto, suportado pela
Sun Microsystems. O MySQL tem sido nos ltimos tempos o SGBD preferido da comunidade open-
source.
Nas verses anteriores actual 5.X, o MySQL ainda no possua suporte para
funcionalidades importantes como cursores, vistas e stored procedures, funcionalidades que j
so suportadas h muito tempo pelo SQL Server da Microsoft. Na verso 5.X essa lacuna foi
corrigida, mas como a sua implementao recente, as funcionalidades ainda no se encontram
completamente implementadas e enraizadas como no Microsoft SQL Server.
O MySQL apresenta ainda diversas arquitecturas de base de dados, que apesar de
oferecerem um maior leque de escolhas aos programadores, provocam complicaes na
implementao da replicao de servidores, processamento paralelo e recuperao entre bases
de dados de arquitectura diferente.
Como referido anteriormente, o MySQL distribudo em open-source e apesar do SQL
Server, para o meio empresarial, ser uma soluo paga, a mais evoluda tecnologicamente para
sistemas de base de dados com tamanho considervel. A sua grande integrao com a Framework
.NET da Microsoft, e com o Visual Studio, facilita a construo de aplicaes sem haver
necessidade de aprender funcionalidades avanadas da linguagem SQL.
32
Concluindo, possvel afirmar que o MySQL uma soluo para aplicaes de pequena
complexidade e com poucos requisitos de segurana e escalonamento. O MySQL pode fornecer as
funcionalidades bsicas de um SGBD a custos mais reduzidos. O SQL Server mais indicado para
aplicaes empresariais em que requisitos mais avanados sejam importantes, como a replicao,
clustering, segurana e utilizao de ferramentas de gesto.
2.2.9.3. Java
O Java [30] uma linguagem de programao poderosa, desenvolvida e distribuda pela
Sun Microsystems. disponibilizada em open-source o que possibilita a construo de aplicaes
Java quase sem custo, uma vez que no necessrio comprar licenas para a utilizao nem para
distribuio. Para alm desta vantagem, uma outra grande vantagem do Java o facto de poder
ser executado em vrias plataformas. Esto disponveis verses para a maior parte dos sistemas
operativos como Windows, Mac OS e todas as diferentes verses do Linux, permitindo todas elas
a execuo de programas implementados em Java bem como a construo dos mesmos. De notar
que um dos objectivos do Java permitir que um programa, que tenha sido implementado em
qualquer um dos sistemas operativos mencionados, possa correr em qualquer um deles, ou seja,
uma aplicao desenvolvida no Windows pode ser executada no Mac OS ou em Linux sem
qualquer problema. possvel afirmar que este objectivo cumprido de um modo geral, mas,
apesar de ser raro, possvel que ocorram alguns problemas de portabilidade que no permitam
a execuo de uma dada aplicao.
O Java possui uma plataforma a Java Enterprise Edition (Java EE) [31], que tal como a
Framework .NET da Microsoft, possibilita a implementao de aplicaes dinmicas centradas na
Web, bem como a construo de servios segundo a arquitectura SOA. O Java EE um conjunto
de tecnologias que reduzem a complexidade de desenvolvimento e gesto de aplicaes Web
com ou sem integrao de dados. Para esse desenvolvimento de aplicaes Web, o Java EE
apresenta uma tecnologia denominada de JavaServer Pages (JSP) [32]. O JSP uma tecnologia
que possibilita a construo de pginas Web dinmicas, atravs da utilizao de HTML ou XML
semelhante ao ASP da Microsoft e ao PHP. Como uma tecnologia Java, funciona
independentemente da plataforma utilizada, permitindo a sua execuo em sistemas
operacionais distintos. Tal como o ASP .NET, esta tecnologia permite o desenvolvimento de
aplicaes centradas na Web, separando o cdigo que cria a interface do utilizador, do cdigo que
gera os contedos dinmicos. Estas pginas podem aceder a sistemas de gesto de base de dados
33
de forma a integrarem esses dados na prpria pgina. De realar que o Java EE suporta uma
grande variedade de sistemas de gesto de base de dados de onde se destacam o MySQL [9], o
Apache Derby [33] e o Oracle [34].
Para a disponibilizao de pginas JSP na Internet, necessria a sua instalao num
servidor Web compatvel com a tecnologia Java EE como o Apache Tomcat [35] e o GlassFish [36].
So estes servidores que iro gerar o cdigo HTML correspondente ao cdigo JSP de cada pgina
para que seja possvel a sua visualizao no browser do cliente.
Comparando as tecnologias Java EE e ASP .NET, a primeira comparao est relacionada
com o custo monetrio de cada tecnologia. Para um melhor proveito da plataforma. NET
necessrio adquirir um servidor e ferramentas de desenvolvimento da Microsoft que no so
disponibilizadas em open-source, apresentando assim um custo algo elevado. verdade que
existem verses gratuitas de ferramentas baseadas no ASP.NET, fornecidas at pela prpria
Microsoft ou por terceiros no caso do Mono, mas estas ferramentas no disponibilizam a
totalidade das funes presentes nas verses pagas. Pelo contrrio, o Java disponibilizado em
open-source, bem como a maior parte das suas tecnologias e ferramentas disponveis para o
desenvolvimento de pginas Web dinmicas, como os servidores Web e os sistemas de gesto de
base de dados. Uma outra comparao possvel entre o Java e o ASP.NET a capacidade que o
Java tem para ser executado em diferentes sistemas operativos, sem prejuzo da performance,
enquanto o ASP.NET necessita de ser executado num ambiente Windows, para melhor
aproveitamento da totalidade das respectivas capacidades.
Talvez a maior vantagem apresentada pela Framework .NET , e por consequncia pelo
ASP .NET seja a possibilidade da utilizao de vrias lnguas de programao numa mesma
aplicao de um modo transparente e sem necessidade de reconfiguraes por parte do
programador. Esta capacidade permite que o desenvolvimento das aplicaes no fique preso
numa s linguagem, sendo de realar que a Framework .NET inclui uma linguagem muito
semelhante ao Java, o J#. Outra grande vantagem a facilidade da troca de dados entre as
diferentes aplicaes, de e para um sistema de gesto de base de dados. Como o Microsoft SQL
Server e a Framework .NET so desenvolvidos pela Microsoft a comunicao entre estes dois
sistemas fcil e de rpida implementao.
Para finalizar, necessrio referir os IDE (Integrated Development Environment) ou em
portugus - Ambiente Integrado de Desenvolvimento, existentes tanto para a Framework .NET
como para o Java. O IDE da Microsoft, o Visual Studio, apresenta uma utilizao e construo de
aplicaes Web mais fcil, pela seguinte razo: o cdigo apresentado numa aplicao ASP.NET
34
mais limpo e apresentvel do que o cdigo apresentado numa aplicao implementada com JSP.
Para alm disso, a Framework Java apresentou ao longo do tempo um crescimento considervel,
o que a torna bastante pesada em termos de recursos computacionais. A diferena da velocidade
de funcionamento que o IDE Visual Studio apresenta em situaes anlogas tremenda, quando
comparado com os seus homlogos para o Java, como por exemplo o NetBeans [37] ou o Eclipse
[38], o que s trs vantagens no desenvolvimento de aplicaes atravs do IDE Visual Studio e da
tecnologia .NET Framework.
35
3. Arquitectura do sistema proposto
3.1. Informao a suportar
Como j foi mencionado, o objectivo do sistema proposto fornecer um dicionrio online
de termos de vrias reas cientficas. Para a criao desse dicionrio necessrio estruturar a
informao que utilizada na caracterizao de um termo.
Essa estrutura conseguida atravs da anlise de um exemplo de um termo e de todo o
contedo que o define. Tomando em considerao, numa primeira fase, a seguinte informao
referente ao termo Infectologia:
Analisando esta informao possvel diferenciar alguns atributos de informao que
participam na sua caracterizao como um gnero gramatical, ou seja, se um termo masculino,
ou feminino ou neutro; uma rea cientfica, ou seja, a cincia a que o termo pertence. Juntamente
com estes atributos, foi requisitado suporte para a classe gramatical de um termo. Resumindo,
existem 4 atributos distintos que participam na caracterizao de um termo:
Como mencionado anteriormente, a aplicao proposta um dicionrio etimolgico e
histrico, sendo por isso necessrio apresentar suporte para tal informao. A informao
referente etimologia, obtida pela segmentao e identificao dos constituintes morfolgicos,
ou seja, dos lexemas, dos sufixos e dos prefixos que o compem. Esta situao pode ser verificada
Termo:
Gnero gramatical
Classe gramatical
Cincia
Definio
infectologa f. (Medicina)
Especialidade da medicina interna que estuda a preveno, diagnstico e
prognstico das enfermidades que so produzidas por agentes infecciosos.
36
na continuao do exemplo anterior, agora com a apresentao dos constituintes morfolgicos do
termo Infectologia:
A informao relativa a um sufixo, a um prefixo e a um lexema, apesar de participarem na
caracterizao de um termo, no devem ser considerados como atributos, mas sim como um
grupo de informao que possui um conjunto de atributos que os caracteriza. Por esta razo,
necessrio analisar a informao que cada um dos constituintes morfolgicos apresenta.
Considerando o sufixo presente no exemplo anterior, a informao relativa a esse sufixo a
seguinte:
Como possvel observar, o sufixo vai apresentar um atributo que caracteriza a sua lngua
e um atributo que contm a sua definio. ainda necessrio considerar que um sufixo pode
apresentar um significado gramatical, que indica a sua classificao segundo a sua distribuio
sintctica e morfolgica e um significado semntico referente ao estudo do significado. Estes
atributos so tambm aplicveis no caso de um prefixo.
2 Sufixo
-tu(m) lat., entra na formao de substantivos.
infectologa f. (Medicina)
(...)
Etimologia: in-fc-1 lat. 'introduzir', 'misturar' + -tu(m) 2 lat. + log() 3 - gr.
'estudo'
1 e 3 Lexemas , 2 - sufixo
37
Resumidamente, a caracterizao de um sufixo e de um prefixo engloba os seguintes
atributos:
Para o lexema, a anlise mais complexa:
Um lexema formado de um timo, que por sua vez est ligado a um radical indo-
europeu:
Para alm de apresentar um significado e uma classe gramatical, um lexema formado
por um timo, que diz respeito s formas gregas e/ou latinas. Este atributo, o timo do lexema
regista as mesmas palavras, mas com as suas formas gregas e/ou latinas. Por esta razo,
necessrio separar a informao de um timo da informao de um lexema, prevenindo os casos
em que a definio pode no ser a mesma, tal como a palavra a registar, que se encontra
dependente da lngua do timo. Este caso acontece para o outro lexema presente no exemplo do
termo infectologia:
3 (lexema)
log() - gr. (subst.), 'estudo'
timo: in-fc- lat
Raiz: *dhe-/*dh-, do indoeuropeu, 'colocar', 'fazer'
1 (Lexema)
in-fc- lat. (verbo), 'introduzir', 'misturar'
Prefixo e Sufixo:
Lngua
Definio
Significado Semntico
Significado Gramatical
38
O timo que corresponde a este lexema o seguinte:
Como j foi mencionado, um timo est ligado a um radical indo-europeu. O radical ou
raiz reporta forma primitiva que est na base dos termos greco-latinos. A partir desta
informao e dos exemplos anteriores, possvel descrever os atributos e grupos de informao
que caracterizam um lexema:
Finalmente, como o sistema tambm um dicionrio histrico, necessrio suportar a
informao relativa ao histrico do termo. A informao contida no histrico de um termo inclui a
lngua-base, o respectivo tipo de classificao histrica, ou seja, se um termo um neologismo ou
uma palavra antiga e a data em que ele surgiu pela primeira vez, com referncia ao sculo e ano.
Para completar esta informao tambm convm indicar a origem dessa informao, ou seja, a
fonte de onde foi obtida, para futura referncia.
Lexema:
Definio ou conceito
Classe Gramatical
timo:
o Definio
o Lngua
o Radical ou raiz
Definio
Lngua
Etimo: - gr. estudo
Raiz: *leg-, indoeuropeu, 'colher'
39
Com a anlise das caractersticas de um termo concluda, possvel exibir uma lista com
todos os atributos e grupos de informao que iro participar na caracterizao do termo.
Termo:
Definio
Classe Gramatical
Gnero
Cincia
Prefixo
o Lngua
o Definio
o Significado Semntico
o Significado Gramatical
Lexema
o Definio ou conceito
o timo:
Definio
Lngua
Radical ou raiz
Definio
Lngua
Sufixo
o Lngua
o Definio
o Significado Semntico
o Significado Gramatical
Lngua base;
Classificao histrica
Fonte
Sculo
Ano
40
3.2. Funcionalidades
As funcionalidades requisitadas para a aplicao foram divididas em mdulos, agrupados
em duas categorias: visualizao de informao e insero de informao. Os mdulos
pertencentes a categoria de visualizao da informao armazenada na base de dados so os
seguintes:
Visualizao da informao Objectivo
Cincia O utilizador visualiza a informao de uma Cincia sendo tambm possvel visualizar os seus subdomnios cientficos caso existam. Prefixo O utilizador visualiza a informao de um Prefixo. Sufixo O utilizador visualiza a informao de um Sufixo.
Lexema O utilizador visualiza a informao de um Lexema, exibindo o timo do lexema e o radical indo-europeu que correspondente.
Para os mdulos anteriores, ainda apresentada uma lista de todos os termos que
pertencem a um dada cincia e que utilizam um dado prefixo, sufixo ou lexema. Esta listagem
feita em forma de hiperligaes para possibilitar a visualizao do termo seleccionado.
Para alm dos mdulos anteriores ainda existe o mdulo para visualizao de um termo.
Este mdulo apresenta toda a informao que um dado termo possui, como a Cincia, os
constituintes morfolgicos e o histrico. Ao contrrio do que acontece para os mdulos
mencionados anteriormente, este mdulo ir apresentar hiperligaes para a informao
referente Cincia (e subdomnio cientfico, caso exista) e para os constituintes morfolgicos.
Estes mdulos tambm podem ser visualizados atravs da utilizao de um diagrama de
casos de uso. Um diagrama de casos de uso uma representao externa do sistema. Nele so
representados graficamente os actores externos ao sistema, neste caso apresentado o utilizador
que ir interagir com os casos de uso. Os casos de uso correspondem s funcionalidades que o
sistema apresenta..
41
O diagrama de casos de uso que corresponde categoria de visualizao o seguinte:
Utilizador
Visualizar Termo
Visualizar Cincia
Visualizar Lexema
Visualizar Sufixo
Visualizar Prefixo
usesVisualizarSubdomnio Cientfico
Imagem 1 - Diagrama de casos de uso para a visualizao de informao
De realar no diagrama anterior a relao existente entre o caso de uso Visualizar Cincia
e o caso de uso Visualizar Subdomnio Cientfico. Esta relao, como j tinha sido indicado, ocorre
porque o caso de uso Visualizar Cincia permite a visualizao dos subdomnios cientficos que
esto associados a uma dada cincia.
Para a categoria de insero de informao na base de dados os mdulos definidos so os
seguintes:
Insero da informao Objectivo Cincia O utilizador insere toda a informao relativa a uma cincia.
Subdomnio Cientfico O utilizador insere toda a informao relativa a um subdomnio cientfico pertencente a uma dada cincia. Este mdulo permite a insero de uma nova cincia, caso seja necessrio.
Prefixo O utilizador insere toda a informao relativa a um prefixo. Sufixo O utilizador insere toda a informao relativa a um sufixo.
Lexema Inserir toda a informao relativa a um lexema, com o timo e o radical correspondente ao timo.
Uma vez mais, o mdulo para insero de termos apresenta algumas diferenas em
relao aos outros mdulos de insero. Para alm de permitir a insero de um novo termo, este
mdulo permite a utilizao de informao j existente na base de dados (como por exemplo para
a cincia e para os constituintes morfolgicos). Caso essa informao, ou outra que caracteriza
um termo no exista, o mdulo permite a sua insero.
42
O diagrama de casos de uso para a categoria de insero o seguinte:
Inserir Termo
Inserir Prefixo
Inserir Sufixo
Inserir Lexema
Inserir Cincia
Inserir SubdomnioCientfico
uses
uses
uses
uses
Utilizador
uses
uses
Imagem 2 - Diagrama de casos de uso para a insero de informao
De realar que o caso de uso Inserir Termo possibilita a insero de novos dados
referentes a restante informao existente na base de dados. De notar ainda a relao entre o
caso de uso Inserir Subdomnio Cientfico com o caso de uso Inserir Cincia, uma vez que o
primeiro caso de uso possibilita a insero de uma nova cincia para ser associada a um dado
subdomnio cientfico.
Para alm desta diviso em categorias, referente s operaes de visualizao e insero
da informao, ainda existe mais um conjunto de funcionalidades que no se encaixa nas
categorias anteriores, funcionalidades essas que so exibidas na pgina principal da aplicao.
Esse conjunto de funcionalidades est relacionado com as vrias formas de pesquisa que
possvel realizar. Como lgico, o sistema apresenta uma pesquisa por termos que devolve uma
lista com hiperligaes dos termos que respeitam os critrios da pesquisa. Esta forma de pesquisa
tem a possibilidade de funcionar com wildcards (atravs do caracter asterisco) para alargar a
abrangncia dos critrios da pesquisa. Para alm deste tipo de pesquisa por termos, tambm
existe a possibilidade de os pesquisar pela cincia a que eles pertencem.
43
Da mesma forma, o sistema possibilita a pesquisa por prefixos e por sufixos. Uma
pesquisa deste gnero pode ser realizada alfabeticamente ou pela seleco do significado
semntico e gramatical. Esta pesquisa devolve uma lista com hiperligaes de prefixos ou sufixos,
dependente do caso, que respeita os critrios escolhidos. A ltima pesquisa que o sistema suporta
uma pesquisa por lexemas. Esta pesquisa apresenta a possibilidade de pesquisa alfabtica e
pesquisa livre, atravs da definio de critrios a pesquisar. Esta ltima forma, tal como a
pesquisa por termos, apresenta a capacidade da utilizao de wildcards. Mais uma vez, os
resultados da pesquisa so exibidos numa lista de hiperligaes de lexemas, que possibilitam
visualizao completa do lexema seleccionado.
O diagrama de casos de uso que expressa as pesquisas mencionadas, o seguinte:
Utilizador
Pesquisar Termos
Pesquisar Termospor cincia
Pesquisar LexemasPesquisar Sufixos
Pesquisar Prefixos
Imagem 3 - Diagrama de casos de uso para as pesquisas
44
3.3. Base de Dados:
3.3.1. Classes de informao De forma a const
Recommended