Miguel Carragozela Dicionário Científico ... · WPF Windows Presentation Form ... Introdução...

138
Universidade de Aveiro 2009 Departamento de Electrónica, Telecomunicações e Informática Miguel Carragozela Lima da Fonseca Dicionário Científico – Terminológico da Língua Portuguesa On-line

Transcript of Miguel Carragozela Dicionário Científico ... · WPF Windows Presentation Form ... Introdução...

  • 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