EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS

Tamanho: px
Começar a partir da página:

Download "EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS"

Transcrição

1 EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS Palmas 2004

2 iii EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS Relatório apresentado como requisito parcial da disciplina de Prática de Sistemas de Informação II (TCC) do curso de Sistemas de Informação, orientado pela Profª. Parcilene Fernandes de Brito Palmas 2004

3 iv EDEILSON MILHOMEM DA SILVA RDF E RDQL NA SISTEMATIZAÇÃO E RECUPERAÇÃO DE IMAGENS Relatório apresentado como requisito parcial da disciplina de Prática de Sistemas de Informação II (TCC) do curso de Sistemas de Informação, orientado pelo Profª. Parcilene Fernandes de Brito BANCA EXAMINADORA Profª. Parcilene Fernandes de Brito Centro Universitário Luterano de Palmas Prof. Fabiano Fagundes Centro Universitário Luterano de Palmas Prof. Jackson Gomes de Souza Centro Universitário Luterano de Palmas Palmas 2004

4 v De tudo ficam três coisas: A certeza de que estamos sempre começando... A certeza de que precisamos continuar... A certeza de que seremos interrompidos antes de terminar... Portanto, devemos: Fazer da interrupção um caminho novo... Da queda, um passo de dança... Do medo, um sonho... Do sonho, uma ponte... Da procura, um encontro. (Fernando Pessoa)

5 vi Agradecimentos É sempre muito gratificante quando se chega, com vitória, ao fim de mais uma jornada. É mais gratificante ainda saber que para isso você contou com pessoas que sempre foram e que passaram a ser importantes na sua vida. Por isso, só tenho a agradecer. Inicialmente ao criador de tudo, o Senhor Deus, que, na sua força suprema, sempre me inspirou e me forneceu forças para persistir. A minha mãezinha querida que sempre depositou esperanças em seu filho e que espero um dia não poder decepcioná-la. Dentre as pessoas que sempre foram importantes eu não poderia deixar de agradecer as minhas irmãs, que mesmo nos momentos de desavenças, nunca deixei de amá-las. Sentimento esse que vem se fortalecendo a cada instante. Em nenhuma hipótese eu poderia deixar de lado a matriarca da família, a dona Jovita, minha avozinha querida, a referência de toda a família. Das pessoas que passaram a ser, infinitas pessoas podem ser relacionadas, mas como não disponho de tanto espaço, gostaria de destacar algumas: o meu cunhado companheiro Ary Santos o cara agregado à família ; a Parcilene, que no seu papel de professora e, que posteriormente foi estendido para amiga, sempre me auxiliou, e me fez acreditar que um dia poderia estar aqui, valeu mamãe ; o Fabigundes, como já disse uma vez, sempre procurou estar trazendo ânimo e incentivo para os alunos; a professora Thereza Patrícia (TP3), mesmo sendo sempre tão sutil...(risos); o Jack por inspirar sempre a calma, a tranqüilidade, além de sua incessante humildade; ao grupo que se criou, que ao meu ver deveria ser eternizado, devido a sua união e companheirismo mútuos: André (Rincon), Carlos (Careli), Edeilson (Ed), Jorge (Ginho), Leandro (Maciel) e Lucas Roberto (Skywalker). Por mais que eu tente procurar palavras para expressar minha gratidão, sempre serão insuficientes. Sentimento é algo que se prova com gestos e espero que possa, através deles, estar provando-os constantemente, os bons é claro. Gostaria de deixar, para reflexão, uma última mensagem de Martin Luther King: mesmo as noites totalmente sem estrelas podem anunciar a aurora de uma grande realização ;

6 vii SUMÁRIO LISTA DE FIGURAS...ix LISTA DE TABELAS...xi LISTA DE ABREVIATURAS...xii RESUMO...12 ABSTRACT Introdução Revisão de Literatura Web Semântica Ontologia Padrão RDF Modelo RDF Básico RDF Schema Classes Propriedades RDF Data Query Language Trabalho correlato Comparação qualitativa com outras ferramentas de busca Materiais e Métodos Local e Período Materiais Hardware Software Fontes Bibliográficas...35

7 viii 3.3 Metodologia Resultados e Discussão A aplicação Representação de uma ontologia para determinar um conjunto de regras para descrição das Imagens Métodos implementados para as pesquisas As pesquisas Considerações finais Referências Bibliográficas...52

8 ix LISTA DE FIGURAS Figura 1: Arquitetura proposta para a Web Semântica (BERNERS-LEE, 2001)...17 Figura 2: Representação de uma sentença: grafo e tripla...23 Figura 3: Representação gráfica de uma esquema e sua utilização em um documento RDF...24 Figura 4: Hierarquia de classes do modelo RDF Schema (BRICKLEY, 2000)...25 Figura 5: Modelo RDF/XML utilizado para definição de classes e propriedades...25 Figura 6: Processo de definição de classes...26 Figura 7: Definição de Propriedade...27 Figura 8: Demonstração da cláusula SELECT Figura 9: Demonstração da cláusula FROM...28 Figura 10: Demonstração da cláusula WHERE e USING...28 Figura 11: Código Java que implementa a execução de uma consulta RDQL...29 Figura 12: Arquitetura geral do sistema (GUUS, 2001)...30 Figura 13: Módulos do Sistema (RDFS Browser e Pesquisa) (GUUS, 2001)...31 Figura 14: Documento RDF utilizado para demonstração da ferramenta SWI-Prolog RDF parser Figura 15: Estrutura de funcionamento do sistema...38 Figura 16: Esquema que representa as regras de criação das imagens referentes ao domínio Instituição de Ensino Superior Figura 17: Grafo do esquema da Figura Figura 18: Método que pega a relação dos valores das propriedade de um determinado recurso...42 Figura 19: Método executa uma consulta RDQL Figura 20: Parte do formulário de busca que representa informações gerais da imagem if (objresconsulta.tostring().tolowercase().indexof(objpesquisa. tolowercase().tostring())!=-1) return true; else return false;...45 Figura 21: método que faz a verificação de strings com valores parciais Figura 22: Parte do formulário de busca que representa informações específicas da

9 x imagem...46 Figura 23: Demonstração do resultado obtido pela busca...47 Figura 24: Formulário para realização de consultas...48 Figura 25: Trecho de código para utilização do operador lógico AND...49

10 xi LISTA DE TABELAS Tabela 1: Sentença dividida em partes...23 Tabela 2: Tripla gerada a partir da utilização da versão demo do SWI-Prolog RDF parser Tabela 3: Cronograma de atividades...36

11 xii LISTA DE ABREVIATURAS API = Application Programmer Interface HP = Hewlett-Packard Compan RDF = Resource Description Framework RDQL = RDF Data Query Language URI = Uniform Resoucer Identifier W3C = World Wide Web Consortium XML = extensible Markup Language OIL = Ontology Inference Layer XOL = XML-based Ontology Exchange Language OWL = Web Ontology Language DAML = DARPA Agent Markup Language SQL = Structured Query Language

12 12 RESUMO As páginas dispostas na web não obedecem a uma estrutura padrão, ou seja, são geradas de acordo com a estrutura definida pelos desenvolvedores (webmasters). Essa heterogeneidade é um dos motivos que faz com que as pesquisas realizadas pelos motores de buscas, tal como, google.com 1 e altavista.com 2, sejam possíveis apenas pela indexação de palavras-chave. Devido a essa indexação, muitas informações irrelevantes são retornadas para um usuário, mediante a realização de uma determinada busca. Por isso o usuário, normalmente, tem que se preocupar em fazer uma filtragem manual dessas informações, colhendo apenas o que lhe é útil. Um dos passos para tornar essas pesquisas mais eficientes é a estruturação das páginas segundo um padrão. Dessa forma, foi proposto pela W3C o modelo RDF, que dentre os recursos oferecidos, dispõe de mecanismo que possibilita a estruturação das páginas de forma homogênea. Tendo como base esse modelo, o presente trabalho discorre sobre o desenvolvimento de uma aplicação que se subdivide em dois módulos: o primeiro que possibilita a estruturação das informações, a partir da descrição de imagens referente a instituições de ensino superior 3 e o segundo que possibilita a realização de pesquisas. Para a recuperação das informações (as pesquisas) é utilizada a linguagem de consulta RDQL, que possibilita a extração de dados de documentos RDF. Outra tecnologia que tornou possível o desenvolvimento do sistema foi a tecnologia JSP, que permite a construção de páginas web a partir da linguagem Java. O motivo da escolha da referida tecnologia se deve ao fato dela utilizar a linguagem Java, pois a HP desenvolveu uma API (Jena) que possibilita a interação com documentos RDF. Palavras-chaves: web semântica, ontologia, RDF e RDQL Trabalho desenvolvido para disciplina Prática de Sistemas de Informação I (Estágio)

13 13 ABSTRACT The web pages do not obey to a standard structure, or either, they are generated in accordance with the structure defined by the developers (webmasters). This heterogeneity is one of the reasons for that the searches makes by search engines, such as, google.com and alvatavista.com, they are possible only through indexing by keywords. Because indexation, many irrelevant information are returned to a user, by means of the accomplishment of a determined search. For this, the user, normally, has that to make a manual filtering the information, collecting only what is useful. One of the steps to become these searches more efficient is the definition of the pages according to a standard. For this the RDF model was considered by the W3C, that amongst the resources offered, makes use of a mechanism that makes possible the organization of the pages in homogeneous form. Following this model, the present work discourses about the development of an application that has two modules: the first allows structuralizing the information using images referring to superior education institutes; and the second makes possible the accomplishment of searches. For the recovery of the information (through the searches) the query language RDQL, makes possible the extraction of data in RDF documents. The other technology that made possible the development of the system was the JSP technology, that allows the development of web pages written in the Java language. The reason of the choice of the referred technology it must to the fact of it uses the Java language, because the HP developed an API (Jena) that makes possible the interaction with RDF documents. Keywords: Semantic web, ontology, RDF and RDQL

14 14 1 INTRODUÇÃO A web semântica representa a evolução da web atual. Ela fornece estruturas e possibilita a extração de significados dos conteúdos das páginas web, criando um ambiente onde agente de software e usuários possam trabalhar de forma cooperativa (BERNERS-LEE, 2001). Vários trabalhos vem sendo desenvolvidos para criar um ambiente propício para a existência de uma web com significado. Berners-Lee propôs uma arquitetura para a web semântica com: uma camada de estrutura (possibilita a sistematização das informações), uma camada de ontologia (fornece um conjunto de regras que define hierarquia, relacionamentos e restrições entre termos) e uma camada lógica (definição de um conjunto de regras de inferências, além dos próprios mecanismos que as realizarão, atribuindo-as aos documentos que contém dados). O presente trabalho está vinculado à camada de estrutura e a camada de ontologia da web semântica, desta forma, a proposta visa a construção de um ambiente que utilize tecnologias capazes de propiciar uma sistematização e recuperação das informações. Para prover significados aos dados, será utilizado o padrão RDF que, resumidamente, pode ser entendido como um modelo que tem como funcionalidade prover metadados na web através da utilização da linguagem XML. Para a recuperação dessas informações será utilizada a linguagem de consulta RDQL, que possibilita a extração de dados de documentos RDF. Foi possível o desenvolvimento da referida aplicação, a partir da escolha de um domínio, ou seja, imagens de instituições de ensino superior. Para o desenvolvimento do ambiente foi utilizada a tecnologia JSP, pois a mesma além de ser uma tecnologia voltada para a web, também trabalha com a linguagem Java. Isso é um fator positivo, levando-se em consideração que há uma API Java desenvolvida pela HP, que dispõe de várias classes que permitem a interação com um documento RDF. Esse trabalho está organizado da seguinte forma: na seção 2.1 são apresentados

15 15 alguns dos problemas referentes a web atual, alguns conceitos da web semântica e quais são alguns dos benefícios que essa nova web trará. Como a camada ontológica é uma das etapas que compõem a estrutura da web semântica, proposta por Berners-Lee (2001), para o desenvolvimento do referido trabalho fez-se necessária a definição de uma ontologia. Na seção 2.2 são apresentados a definição desse conceito e alguns dos termos utilizados para compor e representar uma ontologia. Nas seções 2.2.1, e são apresentados alguns dos conceitos referentes ao modelo de dados RDF e o modelo para representação de esquemas RDF Schema. A seção 2.3 demonstra parte dos recursos disponibilizados pela linguagem de consulta RDQL, uma linguagem de consulta a documentos RDF. A seção 2.4 apresenta um trabalho correlacionado, a ferramenta desenvolvida em (GUUS, 2001), que tem como principal funcionalidade prover a descrição e a recuperação de imagens referente sao domínio Reino Animal, em RDF. Os materiais e a metodologia utilizados para o desenvolvimento do presente trabalho são apresentados na seção 3. Logo a seguir (seção 4) são demonstrados os resultados obtidos a partir do desenvolvimento do sistema e quais foram os passos seguidos para o seu desenvolvimento. Para finalizar, são apresentadas as considerações finais, seguidas das referências utilizadas para o desenvolvimento do trabalho.

16 16 2 REVISÃO DE LITERATURA Para que os objetivos desse trabalho pudessem ter sido alcançados teve que ser realizado um estudo de alguns conceitos, sobre web semântica, ontologia, RDF, RDF Schema e RDQL, com o intuito de oferecer uma fundamentação teórica para o trabalho. Como o presente trabalho é uma extensão do que foi desenvolvido para a disciplina de Prática de Sistemas de Informação I (Estágio) (SILVA,2004) e alguns desses conceitos, RDF e RDF Schema, foram mostrados detalhadamente nesse trabalho, no presente relatório será feita uma síntese a respeito desses conceitos, além de uma explanação a respeito dos demais. 2.1 Web Semântica A web atual, com suas características particulares, é considerada uma grande fonte de disseminação de informações. A disposição dessas informações não possui uma estrutura previamente definida, ou seja, uma estrutura única (homogênea). Isso, juntamente com a não disposição semântica dos dados na web, é um dos motivos que faz com que as ferramentas de busca funcionem através de indexações de palavras-chave, dificultando a coleta de informações. Assim, quando um usuário faz uma determinada busca é retornada uma quantidade elevada de informações que, as vezes, não atendem as suas necessidades. Por isso, o usuário deve realizar uma filtragem manual dessas informações. Em decorrência de tal deficiência, Berners-Lee (2001), responsável pelo projeto Web Semântica desenvolvido pela W3C, afirma que a solução seria adicionar semântica aos dados publicados na web e, a partir disso, a máquina poderia efetuar o processamento dessas informações, abstraindo um resultado semântico sobre elas. Seguindo essa linha, a web semântica apresentará uma estrutura que, além de interligar documentos, possibilitará também o reconhecimento do significado das

17 17 informações contidas nos mesmos. Dessa forma, haverá uma modificação no meio atual, em que a informação é apenas apresentada, para o meio em que a informação poderá ser, além de apresentada, interpretada e processada. Isso será possível, segundo Berners-Lee (2001), através de agentes que funcionarão como programas coletores de conteúdos, advindos das mais variadas fontes, capazes de processar as informações e permutar resultados com outros agentes. Berners-Lee (2001) propôs uma arquitetura (Figura 1) para a web semântica composta por três camadas: camada de representação dos dados e metadados (camada de estrutura), camada de ontologia e a camada lógica. Figura 1: Arquitetura proposta para a Web Semântica (BERNERS-LEE, 2001) Conforme demonstração da arquitetura proposta por Berners-Lee (2001) (Figura 1), a camada de estrutura é responsável pela estruturação dos dados em si, pois é nesse momento que as informações são sistematizadas. Ou seja, nessa camada são fornecidos significados aos dados. Para isso, é possível utilizar o modelo de representação de dados RDF, através da utilização da linguagem de marcação XML. A camada de esquema (camada ontológica) permite a definição formal de um conjunto de regras que define hierarquia, relacionamentos e restrições entre termos (MUÑOZ,?). Para que esse conjunto de regras possa ser representado há a necessidade de especificação do domínio que será trabalhado e para a representação dessas regras são utilizadas linguagens específicas para ontologia, tais como OIL, XOL, OWL e DAML. A última camada, a camada lógica, possibilita a definição das regras de inferência que serão utilizadas pelos agentes para efetuar o relacionamento e o processamento das informações. Essas regras de inferência, segundo Muñoz (?) e Lustosa (2003) tornam

18 possível aos agentes raciocinar sobre os dados sistematizados na camada de estrutura, a partir das relações entre esses dados definidas na camada de esquema Ontologia Ontologia é um termo advindo da Filosofia, definido por Aristóteles como sendo a parte da filosofia que trata do ser enquanto ser. Na área computacional ontologia é tratada por Uschold (1996) como uma conceitualização explícita, formal e compartilhada, de uma área de conhecimento e Grubber (1999) define como sendo a especificação explícita de uma conceitualização. Segundo Studer (1998), essa conceitualização, refere-se a um modelo abstrato de algum fenômeno do mundo, por terem sido identificados os conceitos relevantes para aquele fenômeno. Explícito significa que o conjunto de conceitos utilizados e as restrições aplicadas são previamente e explicitamente definidas. Formal refere-se ao fato de que se espera que uma ontologia seja processável por um computador, o que exclui definições em linguagem natural, por exemplo. Finalmente, uma ontologia é compartilhada porque descreve um conhecimento consensual, que é utilizado por mais de um indivíduo e aceito por um grupo. Assim, ontologia pode ser definida como a representação dos conceitos necessários para a representação do conhecimento acerca de um referido domínio. Para isso, é estabelecido um conjunto formal de regras que definem as relações entre conceitos e estabelecem regras lógicas de raciocínio sobre eles, fazendo com que a máquina possa realizar inferências e abstrair informações em um nível mais elevado de abstração. Para que uma ontologia possa ser composta e representada são utilizadas algumas definições. Essas definições podem ser visualizadas a seguir: (USCHOLD, 1996, NOVELLO, 2000) Conceitos: são as representações de qualquer coisa referente a um dado domínio,; Relacionamentos: são as restrições, ou seja, inteligações entre os conceitos de um referido domínio. Essas relações podem ser definidas formalmente como qualquer subconjunto de um produto de n conjuntos; Funções: as funções determinam os relacionamentos entre os elementos. Elas designam que os vários elementos envolvidos nesse tipo de relação são dependentes uns dos outros, embora sejam unívocos um em relação ao outro; Axiomas: representam as sentenças que restringirão a interpretação dos conceitos e das relações. Essas sentenças são sempre verdadeiras. Por exemplo, um curso de graduação

19 19 é composto pelo corpo docente e discente; Instâncias: representam os elementos de uma ontologia. Numa ontologia existem três tipos de informações: terminológica, que representa a camada de definição da ontologia, assertiva, que representa a camada de axiomas da ontologia e as informações pragmáticas, que referem-se à camada de ferramentas, a forma de expressar e apresentar os conceitos e relações que foram definidas anteriormente (BÉZIVIN, 1998). Essas informações são úteis para expressar e facilitar a compreensão de uma ontologia por diferentes níveis de abstração. O desenvolvimento de uma ontologia, segundo Pérez (1999), pode ser resumido pelos princípios representados a seguir: clareza e objetividade, ou seja, os conceitos devem ser definidos de forma objetiva, além de acompanhados de uma documentação em linguagem natural. Essa clareza está diretamente relacionada à maneira como as relações taxionômicas estão definidas entre os conceitos, ou seja, essa organização deve obedecer a uma semântica nas relações taxionômicas entre os diferentes tipos (generalização, especialização); os nomes utilizados na representação da ontologia devem obedecer, sempre que possível, a um padrão; uma definição deve exprimir as condições necessárias e suficientes para expressar um termo, indo além das necessidades circunstanciais de uma aplicação ; coerência, pois ela deve permitir a realização de inferências que sejam consistentes com as definições declaradas; possibilidade de declarar novos termos sem que haja a necessidade de revisar (modificar) os termos já existentes; restrigir a quantidade de definição o máximo possível sobre um determinado domínio a ser modelado, permitindo que as especializações e instanciações da ontologia sejam definidas com liberdade ; as classes definidas devem ser independentes, sem sobreposição de conceitos ; modularidade, para que haja então o acoplamento (interdependência) entre os módulos; os conceitos similares devem ser agrupados numa mesma ordem semântica, de maneira que possam ser agrupados e representados utilizando as mesmas primitivas, com isso a distância semântica entre os conceitos é minimizada.

20 20 Para determinar qual o conhecimento que uma determinada ontologia possa representar deve ser realizado um trabalho de pesquisa de maneira a coletar as informações necessárias para representação das regras e, conseqüentemente, do conhecimento. Noy (2001) define algumas vantagens que podem motivar a construção de uma ontologia. Algumas dessas vantagens são mostradas a seguir: possibilita o compartilhamento do conhecimento representado: o compartilhamento do conhecimento referente a um determinado domínio é importante, pois, a partir dele se faz possível as consultas e os acessos por diversos agentes de software responsáveis por realizar a interoperabilidade das informações no contexto web.. permite o reaproveitamento do conhecimento: a reutilização de conceitos já prédefinidos, por ontologias já existentes, para criação de uma nova, pode ser um fator relevante, considerando o fato que esse reaproveitamento implicará diretamente no ganho de tempo durante a representação do conhecimento. tornar a compreensão de um domínio explícita: quando a compreensão sobre um determinado domínio está explícita, torna possível então uma explicação e uma melhor manutenção dos termos que compõem esse domínio. Uma outra característica relevante desse conceito está ligada à possibilidade de realização de inferências sobre as informações representadas no domínio, através da forma como os conceitos, relacionamentos e as demais características do domínio foram definidas e também implementadas. separar o conhecimento de um domínio do conhecimento operacional: quando se diz que o conhecimento do domínio está separado do conhecimento operacional, implica dizer que a ontologia, que representa o conhecimento, está representada separadamente da aplicação que se utiliza dessa ontologia. Dessa forma, aplicações distintas podem utilizar uma mesma ontologia, obtendo uma compreensão comum entre todas que fizerem uso dela ; e analisar o conhecimento de um domínio: deve ser possível a realização de uma análise do conhecimento e, a partir dessa análise, verificar se a ontologia atende as necessidades identificadas para a representação do conhecimento sobre um referido domínio e se há a possibilidade de efetuar alterações na sua estrutura, para que possa aumentar a possibilidade de re-utilização de ontologias já existentes.

21 21 Não há uma regra explícita para a definição de ontologias, embora haja algumas técnicas definidas por alguns autores, a partir de experiências anteriores. Por exemplo, Uschold (1996) definiu uma metodologia a partir da definição, realizada por ele, de um conjunto de ontologias para a modelagem de empresas. Essa metodologia segue os seguintes passos: inicialmente, (passo 1), deve ser definida a finalidade da ontologia (domínio a ser modelado) e o espaço da ontologia; no passo 2 deve ser construída a ontologia capturando, codificando e integrando o conhecimento com ontologias já existentes ; e nos passo 3, 4 e 5, respectivamente, deve ser realizada a análise da ontologia criada, a sua documentação e o guia de referência para cada fase. Constantemente novas linguagens para a definição de ontologia são desenvolvidas, dentre essas linguagens podem ser citadas: OIL (OIL, 2000), XOL (XOL, 1999), DAML+OIL (DAML+OIL, 2001), OWL (SMITH, 2003). Todas essas linguagens, apesar de suas particularidades, possuem uma característica comum: a capacidade de representar ontologias em RDF e RDF Schema. Para tanto, é feita uma breve explanação a respeito dos conceitos RDF e RDF Schema nas seções subsequentes Padrão RDF RDF é uma recomendação da W3C (World Wide Web Consortion) que apresenta uma nova forma de descrição dos dados na web. Para que o modelo de dados RDF possa ser representado, foi adotado o conceito de metadados (LASSILA 1999), de forma a possibilitar a descrição de recursos e, com isso, propiciar uma semântica aos mesmos. Esse modelo teve grande aceitação dentre as ferramentas que proporcionam a resolução da interoperabilidade em diversas plataformas devido a sua arquitetura genérica de metadados, permitindo, assim, a descrição dos recursos no contexto web através de padrões de metadados (LASSILA 1999). Para a serialização desse modelo foi adotada, pela W3C, a linguagem XML, pois a mesma demonstra algumas facilidades. Dentre elas destaca-se: a facilidade de estruturação dos documentos, pois os elementos que compõem so documentos XML podem ser criados de acordo com que seja necessidade. O modelo RDF encontra-se definido em dois documentos: Resource Description Framework (RDF) Model and Syntax Specification (LASSILA, 1999), que descreve o

22 22 modelo de dados RDF e Resource Description Framework (RDF) Schema Specification (BRICKLEY, 2000), que descreve as primitivas de modelagem utilizadas para a descrição de um domínio particular de interesse. Estas especificações são descritas na próxima seção Modelo RDF Básico O modelo RDF básico destaca-se pela simplicidade com que busca estruturar o conteúdo de uma página web. Para que o modelo possa ser visualizado e representado, são utilizados grafos rotulados que são construídos com a utilização de três objetos. Esses objetos são descritos a seguir: Resources (recursos): Os recursos representam o universo de objetos que podem ser descritos pelo modelo RDF. Uma página inteira da web ou uma parte dela; uma coleção de páginas; ou um objeto que não é diretamente acessível via web, por exemplo, um livro impresso. Para cada recurso é associado um identificador único (URI) de forma a poder identificá-lo posteriormente. Properties (propriedade): representam os aspectos do recurso a serem descritos. Propriedades podem ser visualizadas como atributos (características) de recursos. Também são utilizadas para descrever relacionamento entre recursos. Neste sentido, o modelo de dados RDF assemelha-se ao modelo Entidade-Relacionamento. Cada propriedade tem um significado específico, define seus valores permitidos, os tipos de recursos que pode descrever, e seus relacionamentos com outras propriedades. Statements (sentenças): representam a relação entre um recurso, uma de suas propriedades e o valor que essa propriedade pode assumir, ou seja, é uma espécie de declaração de um recurso contendo um nome, uma propriedade e um valor agregado. Estas três partes da sentença (tripla) são chamadas respectivamente de predicate (propriedade), subject (recurso) e object (valor de uma propriedade). A notação utilizada para representação dessa tripla é: (predicate, [subject], [object]). A Tabela 1 ilustra a construção de uma sentença que descreve que o recurso, um documento da web e de URI possui uma propriedade cujo valor é uma string (literal) "João Silva".

23 23 Tabela 1: Sentença dividida em partes Subject (Resource) Predicate (Property) Object / Literal "João Silva" Além do formato de tripla, conforme ilustra a Tabela 1, o modelo de dados também pode ser visualizado na forma de um grafo, que consiste de um conjunto de nós conectados por arcos rotulados, onde os nós representam os recursos, os arcos representam as propriedades destes recursos e os retângulos representam os literais (String) (MANOLA, 2004). A Figura 2 demonstra a sentença da Tabela 3 nas formas de um grafo e de uma tripla respectivamente na parte 1 e 2. Figura 2: Representação de uma sentença: grafo e tripla RDF Schema RDF Schema estende a potencialidade do modelo RDF Básico através do uso de propriedades que proporcionam formas de interligar os recursos que estão sendo descritos e, com isso, propiciar uma semântica ao esquema representado (BRICKLEY, 2000). A partir disso, é permitida a criação de vocabulários representados por classes e propriedades que tornam possível o seu reaproveitamento em outros modelos. A parte 1 da Figura 3

24 24 demonstra a representação de um esquema RDF no formato gráfico. Figura 3: Representação gráfica de uma esquema e sua utilização em um documento RDF Conforme a ilustração da parte 2 da Figura 3, um documento RDF qualquer pode ser originado tendo como base a estrutura representada no esquema pré-definido na parte 1. Nesse caso, foi gerado um documento que descreve as características de um cachorro cujo nome é Bellone que tem como cor e raça os valores Preta e Pastor Belga, respectivamente. Para que haja um entendimento de como um esquema RDF possa ser representado, nas próximas seções serão feitas explanações dos principais elementos que compõem um esquema RDF (classes e propriedades) e das normas que os regem. A Figura 4 representa a hierarquia de classes do esquema RDF.

25 25 Figura 4: Hierarquia de classes do modelo RDF Schema (BRICKLEY, 2000). Para a definição de classes e propriedades em um esquema RDF é utilizado o modelo padrão RDF/XML. Esse modelo é demonstrado na Figura 5. Figura 5: Modelo RDF/XML utilizado para definição de classes e propriedades Na linha 2, através do atributo <rdf:id>, é definida a classe que estará sendo descrita. Na linha 3 é declarada a variável que conterá a namespace com a definição do modelo RDF, enquanto na linha 4 é definido o URI do esquema representado. Nas linhas 5 e 6 são definidas as propriedades da classe que está sendo descrita, sendo que as propriedades podem ser tanto um recurso quanto um literal, linhas 5 e 6, respectivamente Classes

26 26 Classe é um modelo que pode ser originado a partir de uma descrição genérica de recursos individuais pertencente a um dado universo. Após a definição de uma classe, com a utilização do conceito de heranças, subclasses podem ser geradas, que passarão a conter todas as características referentes à superclasse, além das características inerentes a ela. Devido a isso, uma hierarquia é criada entre as classes representadas no esquema, possibilitando assim um reuso de definições já existentes. A Figura 6 demonstra o processo de definição de classes <?xml version="1.0"?> 02. <rdf:rdf xmlns:rdf=" 03. xmlns:rdfs=" 04. xmlns= /> 05. <rdfs:class rdf:id= Curso > 06. <rdf:subclassof rdf:resource= #Imagem > 07. </rdfs:class> <rdfs:class rdf:id= SetorAdm > 09. <rdf:subclassof rdf:resource= #Imagem > 10. </rdfs:class> Figura 6: Processo de definição de classes Conforme representado na Figura 6, (passo 1) as classes e propriedades são definidas dentro do elemento <rdf:rdf>. Da linha 5 a 10 são definidas as classes curso e setoradminisrativo, através do elemento <rdfs:class>. Ambas as classes definidas herdam as características da classe Imagem, através do elemento <rdf:subclassof>, linhas 6 e 8 respectivamente Propriedades As propriedades expressam características ou aspectos que uma dada classe pode assumir, além de utilizarem também mecanismo para expressar relacionamentos entre as classes. A Figura 7 representa o processo de definição de uma propriedade.

27 27 Figura 7: Definição de Propriedade O modelo RDF Básico provê o elemento <rdf:property> como forma de representar uma propriedade, enquanto que o RDF Schema dispõe de dois elementos <rdfs:domain> e <rdfs:range> como forma de interligar uma propriedade a uma referida classe. Com isso, conforme representação na Figura 7 da linha 5 a 8, uma propriedade tipocurso tem como domínio um curso e pode receber valores do tipo string. 2.3 RDF Data Query Language RDQL é uma implementação da linguagem de consulta SquishQL (uma linguagem de consulta a documentos RDF) para a API Jena (RDQL, 2004) e tem como propósito prover um meio de acesso aos documentos RDF. Segundo Miller (2002) e Bonifacio (2002) RDQL é uma linguagem orientada a dados, pois ela não possibilita aplicar o mecanismo de inferência, permite apenas extrair dados de documentos RDF disponíveis na web ou armazenados em um meio físico qualquer. De acordo com Miller (2002), ainda há outras maneiras de implementação da linguagem de consulta SquishQL, como por exemplo, a partir da utilização de RDFStore (REGGIORI, 2001), que possui um estilo semelhante ao acesso de dados em Perl (linguagem de processamento a texto (PERL, 2004)). Para que as consultas possam ser realizadas e as informações possam ser extraídas, a linguagem RDQL disponibiliza uma sintaxe que, ainda que haja algumas particularidades, funciona de maneira similar à linguagem SQL, uma linguagem de

28 consulta para banco de dados relacionais. A seguir é feita uma explanação das cláusulas que compõem a linguagem RDQL. 28 SELECT: essa cláusula permite selecionar quais variáveis serão retornadas como resultado da consulta. Para a identificação das variáveis é utilizado o sinal de interrogação (?) antes de cada variável. SELECT?x... Figura 8: Demonstração da cláusula SELECT. FROM: essa cláusula permite especificar qual documento RDF será pesquisado, sendo que para isso é utilizado um URI para referenciá-lo. SELECT?x FROM < Figura 9: Demonstração da cláusula FROM. WHERE e USING: a cláusula WHERE permite especificar as restrições para a realização das consultas. Essas restrições seguem o formato de tripla (sujeito, predicado e objeto), que podem ser formadas tanto por um objeto quanto por um valor literal. Para os predicados, como forma de abreviação ou simplificação, pode ser utilizado o prefixo determinado na cláusula USING para referenciar as propriedades contidas em cada namespace, ao invés de utilizar todo o URI. Um exemplo de utilização dessas cláusulas pode ser visualizado a seguir: SELECT FROM WHERE (?x, <imagem:atividadenocurso>, 'Ensino') USING imagem FOR < Figura 10: Demonstração da cláusula WHERE e USING. Para a demonstração e execução de uma consulta RDQL, é apresentado (Figura 11) um código Java que ao final de sua execução trará como resultado o retorno de uma dada consulta try {

29 String querystring = "SELECT?curso "+ 04. "FROM < "+ 05. "WHERE (?curso, <imagem:atividadenocurso>, 'Ensino'), "+ 06. " (?y, <imagem:tipopessoa>, 'Docente'), "+ 07. " (?z, <imagem:cargo>, 'coordenador'), "+ 08. " (?w, <dc:creator>, 'Joao Silva') "+ 10. USING "+ 11. "imagem FOR < "+ 12. "dc FOR < "; 13. Query query = new Query(queryString); 14. query.setsource(model); 15. QueryExecution qe = new QueryEngine(query); 16. QueryResults results = qe.exec() ; 17. for ( Iterator iter = results ; iter.hasnext() ; ) 18. { 19. ResultBinding res = (ResultBinding)iter.next() ; 20. Object curso = res.get("curso") ; 21. System.out.println("Curso: "+curso); 22. } 23. results.close();... Figura 11: Código Java que implementa a execução de uma consulta RDQL Conforme demonstrado na Figura 11, inicialmente (linha 3), é declarada uma variável do tipo String que recebe como valor uma string (a consulta RDQL), que trará como resultado, após sua execução, caso as restrições sejam válidas, o curso pelo qual um referido coordenador é responsável. O código que faz a execução dessa consulta está representado na linha 16. Logo em seguida (linha 17) é feita uma estrutura de repetição, através do objeto Iterator, que faz uma varredura na coleção de valores representada pelo objeto res, instância da classe ResultBinding, que pode ter sido retornada ao final da execução da consulta. Apesar da linguagem RDQL possuir uma sintaxe similar à SQL, ela não dispõe de recursos, assim como a SQL, que tornam possíveis as realizações de consultas mais complexas. Como por exemplo a realização de junção, união, consultas aninhadas ou até mesmo funções para agregação (count, sum, max e avg). A RDQL não disponibiliza também de todos os recursos oferecidos pela linguagem SquishQL, como por exemplo, a utilização do operador lógico AND, operadores relacionais (>, <, >=, <= e!=) e da cláusula LIKE, que permite a realização de consultas com strings de valores aproximados.

30 Trabalho correlato Os professores Schreiber Guus, Bárbara Dubbeldam Schreiber, Jan Wielemasker e Bob Wielinga, da universidade de Amsterdam, desenvolveram um trabalho que gerou a publicação do artigo Ontology-Based Proto Annotation (GUUS, 2001), que utiliza o modelo de dados RDF para a descrição de imagens referentes ao reino animal. Para a criação da ontologia que representa as regras de criação das instâncias RDF que descrevem as imagens foi utilizada a ferramenta Protegê-2000 Ontology, que gera um documento RDFS equivalente. Uma outra ferramenta, a SWI-Prolog RDF parser, lê o documento RDFS resultante do Protegê-2000 Ontology e gera especificações (triplas RDF) para que possam ser utilizadas posteriormente pela ferramenta desenvolvida no trabalho. A ferramente suporta o carregamento e a descrição dos arquivos de imagens (as fotografias) e, posteriormente, realiza o armazenamento dessas descrições (os documentos RDF). Uma arquitetura geral do sistema pode ser visualizada na Figura 12. Figura 12: Arquitetura geral do sistema (GUUS, 2001) O sistema possui, ainda, um módulo, nomeado browser RDFS, que possibilita a visualização do esquema criado em um formato gráfico, ou seja, é possível visualizar todos os relacionamentos existentes entre as classes e propriedades. Um outro módulo possibilita a realização de pesquisas às imagens sistematizadas em RDF. Pesquisas essas que, segundo Guus (2001), se demonstram mais eficientes, tendo em vista os recursos oferecidos pelo modelo de representação de dados RDF. Ambos os módulos podem ser visualizados, respectivamente, nas partes 1 e 2 da Figura 13.

31 31 1 Figura 13: Módulos do Sistema (RDFS Browser e Pesquisa) (GUUS, 2001) A partir das triplas geradas pela ferramenta SWI-Prolog RDF parser 4, é criada uma base em Prolog que representa as triplas RDF. Essa base é composta por três módulos: um que representa os dados ontológicos, ou seja, as regras de criação das instâncias RDF; outro que sistematiza as informações, ou seja, que representa as descrições das imagens; e, por último, o módulo responsável pela realização das consultas. Para demonstração da utilização da ferramenta SWI-Prolog RDF parser, na Tabela 2 pode ser visualizada as triplas geradas a partir de um documento RDF (Figura 14) que possui a seguinte sentença: uma imagem com o sujeito Imagem01 e um predicado description com valor macaco grande. 4 Versão demo disponível em

32 32 <rdf:rdf xmlns:dc=' <rdf:description rdf:nodeid='imagem01'> <dc:description>macaco grande</dc:description> </rdf:description> </rdf:rdf> Figura 14: Documento RDF utilizado para demonstração da ferramenta SWI-Prolog RDF parser. Tabela 2: Tripla gerada a partir da utilização da versão demo do SWI-Prolog RDF parser. Subject (Resource) Predicate (Property) Object Imagem01 Literal(macac o grande) Comparação qualitativa com outras ferramentas de busca Conforme Guus (2001), para que pudesse haver uma idéia de como estava o grau de funcionamento e eficiência das consultas realizadas na ferramenta desenvolvida, foram feitas comparações com alguns mecanismos de buscas existentes. Na primeira parte da avaliação, foram comparados os resultados da busca obtidos com a ferramenta desenvolvida (GUUS, 2001) e os resultados obtidos pelo motor de busca de imagens do Alta Vista 5. De acordo com o estudo comparativo disponível no trabalho, se forem consideradas buscas simples, por exemplo, imagens de um macaco grande ("great ape ), a aplicação terá 100 por cento de precisão, isso se as informações da base forem organizadas (inseridas) por uma pessoa com conhecimento suficiente de macacos grandes. No entanto, quando essa mesma pesquisa foi efetuada no Alta Vista trouxe como resultado ocorrências, um número relativamente alto. Assim é difícil estimar quais as ocorrências são realmente sobre macacos. Por isso, para a realização da análise, foram considerados os primeiros 200 resultados. Dessas 200 imagens apenas 64 eram de macacos grandes, o que demonstra uma eficiência de apenas 32%. Os desenvolvedores do trabalho fazem uma observação interessante em que eles relatam que comparar a ferramenta com um motor de busca tal como o Alta Vista pode ser considerado injusto, porque o Alta Vista armazena seus resultados através de índices, enquanto que a ferramenta, por descrever as imagens em documentos RDF, permite que os dados sejam contextualizados a partir de 5

33 33 determinados domínios. Uma outra comparação de performance da ferramenta desenvolvida, foi realizada com outro motor de busca chamado gettyone.com 6. Nesse motor de busca, a indexação dos arquivos de imagens, geralmente, é realizada por seres humanos a partir da utilização de um estilo específico de arquivo para a descrição das imagens em termos de palavra-chave. O motor de busca do gettyone, segundo conclusão por Guus (2001), parece usar algum mapeamento parecido com ontologia para representação do conhecimento. Por exemplo, a consulta macaco não somente retornou imagens indexadas pela palavra chave macaco como também retornou imagens indexadas pelos termos gorila, chimpanzé e orangotango. Entretanto, o termo macaco grande não está representado na formalização do conhecimento e, assim, não há imagens resultantes para essa consulta. Para a consulta macaco foram retornadas como resultado 521 ocorrências entre um total estimado de imagens. Dessas 521 imagens, 10 eram de desenhos, mapas e seres humanos vestidos de macacos. Das 511 restantes, 64 eram de outros primatas resultando em uma precisão de 86%. Comparado com a ferramenta desenvolvida apresentada em (GUUS, 2001), o gettyone produz resultados quase similares para categorias específicas, mas falha se os termos utilizados para a busca forem generalizados, como por exemplo, macaco grande. A partir dos testes realizados, conclui-se que arquivos de imagens documentadas em RDF mostram melhor desempenho em relação à base de dados indexada pela máquina. 6

34 34 3 MATERIAIS E MÉTODOS Para o desenvolvimento do referido trabalho foram utilizados diversos recursos bibliográficos, de hardware e software, que aliados às orientações permitiram a sua finalização. 3.1 Local e Período Este trabalho foi desenvolvido durante o segundo semestre de 2004, como requisito parcial para avaliação da disciplina Prática em Sistemas de Informação II (TCC). Os locais utilizados para sua elaboração foram os laboratórios de informática do curso de Sistemas de Informação, sendo que os mais utilizados foram o Laboratório de Inteligência Computacional (LInC) e Núcleo de Desenvolvimento de Software (NDS) do Centro Universitário Luterano de Palmas. 3.2 Materiais Os recursos utilizados para o desenvolvimento do trabalho foram disponibilizados pelo próprio curso Sistemas de Informação do CEULP/ULBRA em seus laboratórios, tais como hardware e software licenciados. As demais ferramentas free foram adquiridas via Internet Hardware

35 35 Pentium III, 750 Mhz e 128 Mb de RAM (Disponível no laboratório); Pentium IV, 2.4 Ghz e 256 Mb de RAM (Disponível no laboratório); Software Microsoft Windows 2000 Professional; Microsoft Office 2000 Professional; Internet Explorer 6.0; Acrobat Reader 6.0; Corel Draw 11 Macromedia Fireworks MX Sun WebServer 6.1 Máquina Virtual Java (j2sdk ) Fontes Bibliográficas Livros Dissertações de Mestrados; Trabalhos de Conclusão de Curso; Publicações Científicas; Artigos; Site da W3C (W3C, 2004); Sites diversos. 3.3 Metodologia Diversas pesquisas foram realizadas, de maneira que permitissem oferecer uma sustentação teórica necessária para a conclusão do presente trabalho. Assim, foram abordados conceitos e técnicas alusivas ao escopo do trabalho, para que fosse possível desenvolver um sistema que possibilitasse a descrição de imagens, como forma de concretização dos conceitos explanados na Revisão de Literatura. Foi estabelecido também um cronograma de estudos para o desenvolvimento do

36 36 referido trabalho. Este cronograma é apresentado na Tabela 3. Tabela 3: Cronograma de atividades Data 9/8/2004 Atividade Realizar pesquisas de artigos relevantes, publicados em eventos de renome internacional, relacionados ao trabalho que será desenvolvido. 16/8/2004 Fazer a leitura artigos obtidos a partir da pesquisa. 23/8/2004 Fazer a documentação das partes relevantes dos artigos 8/9/ /9/2004 4/10/2004 Aprendizado sobre os conceitos e a sintaxe da linguagem de consultas RDQL, que possibilita a extração de dados dos documentos RDF. Realizar testes práticos de execução de consultas em RDQL, a partir de implementações feitas em Java.. Realizar pesquisas e a coleta de materiais relevantes referente à Web Semântica e Ontologia. 3/11/2004 Fazer toda a documentação da fundamentação teórica do trabalho. 30/11/2004 Desenvolvimento (implementação) da referida aplicação. 8/12/2004 Documentação sobre o desenvolvimento do trabalho (Resultados e discussão) 10/12/2004 Realizar a revisão do trabalho.

37 37 4 RESULTADOS E DISCUSSÃO A presente seção tem o objetivo de, a partir dos conceitos apresentados anteriormente, expor o sistema que foi desenvolvido para possibilitar a criação de documentos RDF que descrevam imagens referentes ao âmbito institucional e possibilitar, também, a realização de pesquisas a essas imagens descritas. O módulo que torna possível as descrições das imagens em RDF foi desenvolvido como requisito parcial para avaliação da disciplina Prática de Sistemas de Informação I (estágio) (SILVA, 2004). Em decorrência disso, não será feita uma demonstração minuciosa a respeito do referido módulo. Será realizada uma apresentação mais detalhada do módulo responsável pelas realizações das consultas, principal objetivo desse trabalho. O sistema foi implementado em JSP, sendo que o que motivou da escolha dessa tecnologia foi o fato de a mesma ser uma tecnologia paraa web, o que torna o acesso à aplicação mais prático á comunidade, além de trabalhar com a linguagem Java, pois há a API Jena, para o Java, disponível para manipulação de documentos RDF. Para tanto, foi desenvolvido um esquema do sistema, além de um conjunto de regras estabelecidas para descrição das imagens, que serão apresentadas nas seções seguintes e alguns métodos responsáveis pelo módulo que fará as buscas as imagens. 4.1 A aplicação Foi desenvolvida uma estrutura do funcionamento do sistema (Figura 15), que tem como objetivo expor as características individuais de cada módulo e das partes que os compõem. São dois os módulos: um que pode ser utilizado para a descrição das imagens e o segundo para a realização das consultas a essas imagens. Os funcionamentos de ambos os módulos são transparentes ao usuário. Transparente, no sentido de que o usuário não conhece a estrutura interna de criação, armazenamento (módulo 1) e consulta as imagens (módulo 2)

38 38 documentadas em RDF. Figura 15: Estrutura de funcionamento do sistema Conforme representação na Figura 15 (Módulo I), havendo à disposição alguma imagem armazenada em um meio físico qualquer, o usuário, através do browser pode acessar o sistema que foi desenvolvido e informar os dados referentes a uma determinada imagem, objetivando assim descrevê-la (passo 1). A partir da confirmação do usuário para a respectiva descrição (passo 2), a imagem é então enviada e armazenada no servidor, juntamente com a descrição equivalente, ou seja, o documento RDF. É importante ressaltar que as descrições dessas imagens só poderão ser realizadas por usuários de nível administrador. Essas imagens armazenadas poderão ser, a qualquer instante, pesquisadas a partir do sistema demonstrado no Módulo II. Para a realização dessas consultas foi utilizada linguagem RDQL: uma implementação da linguagem de consulta SquishQL para a API Jena (RDQL, 2004) 4.2 Representação de uma ontologia para determinar um conjunto de regras para descrição das Imagens Conforme especificado na seção , o RDF Schema dispõe de recursos que possibilitam a representação de vocabulários diante da especificação de um determinado

O padrão RDF na descrição de imagens

O padrão RDF na descrição de imagens O padrão RDF na descrição de imagens Edeilson Milhomem da Silva 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 77054-970

Leia mais

EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA

EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA EP-RDF: SISTEMA PARA ARMAZENAMENTO E RECUPERAÇÃO DE IMAGENS BASEADO EM ONTOLOGIA Resumo Edeilson Milhomem da Silva1, Parcilene Fernandes de Brito 1 1 Centro Universitário Luterano de Palmas (CEULP / ULBRA),

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA Danilo de Abreu Noleto 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Protótipo de sistema de consultas utilizando a linguagem SPARQL

Protótipo de sistema de consultas utilizando a linguagem SPARQL Protótipo de sistema de consultas utilizando a linguagem SPARQL Aluno(a): André Luiz Nunes Orientador: Roberto Heinzle Roteiro Introdução Objetivos Web semântica Tecnologias para web semântica Trabalhos

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica Ernesto F. Veiga, Márcio V. Oliveira Sena, Renato de F. Bulcão Neto ernestofonseca@inf.ufg.br marciovinicius@inf.ufg.br

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto

Leia mais

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2 0 1 2. 2 Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Centro Universitário Feevale ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS Fernando Mertins Prof. Orientador: Rodrigo Rafael Villarreal Goulart Dezembro de 2007 Roteiro da Apresentação Introdução Objetivos

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente Conceito ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente O Sagres Diário é uma ferramenta que disponibiliza rotinas que facilitam a comunicação entre a comunidade Docente e Discente de uma instituição,

Leia mais

RSS no desenvolvimento de uma Central de Notícias

RSS no desenvolvimento de uma Central de Notícias RSS no desenvolvimento de uma Central de Notícias Darley Passarin 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Palmas TO Brasil darley@centralrss.com.br,

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Artur Petean Bove Júnior Tecnologia SJC

Artur Petean Bove Júnior Tecnologia SJC Artur Petean Bove Júnior Tecnologia SJC Objetivo O objetivo do projeto é especificar o desenvolvimento de um software livre com a finalidade de automatizar a criação de WEBSITES através do armazenamento

Leia mais

Anexo I Formulário para Proposta

Anexo I Formulário para Proposta PLATAFORMA CGI.br Solicitação de Propostas SP Anexo I Formulário para Proposta Data: 05/07/2013 Versão: 1.1 Plataforma CGI.br Solicitação de Propostas - SP Anexo I Formulário para Proposta 1. Estrutura

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

DATA WAREHOUSE. Introdução

DATA WAREHOUSE. Introdução DATA WAREHOUSE Introdução O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me.

Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile. Roger Alves Prof. Me. Uma ontologia para a representação do domínio de agricultura familiar na arquitetura AgroMobile Roger Alves Prof. Me. Vinícius Maran O que é uma ontologia? Palavra vinda do grego, advinda da união entre

Leia mais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Documento de Requisitos Sistema WEB GEDAI

Documento de Requisitos Sistema WEB GEDAI Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Computação GEDAI-Grupo de Estudo e Desenvolvimento em Automação Industrial Documento de Requisitos Sistema WEB

Leia mais

1.1. Aplicações de TVD dinâmicas

1.1. Aplicações de TVD dinâmicas 1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades

Leia mais

Web de hoje (2.0) Porquê WEB 2.0?

Web de hoje (2.0) Porquê WEB 2.0? WEB 2.0 Conceitos O termo Web 2.0 refere-se a mudança para uma Internet como plataforma e um entendimento das regras para obter sucesso nesta nova plataforma. Segundo Tim O'Reilly, um dos criadores do

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília Origem Teoria sobre a natureza da existência Ramo da filosofia que lida com a natureza e organização da realidade.

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica 3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica Este trabalho tem o objetivo de integrar o controle de acesso no projeto de aplicações na web semântica. Uma arquitetura de software

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Web Semântica. Web Semântica. uma introdução @yaso

Web Semântica. Web Semântica. uma introdução @yaso Web Semântica uma introdução @yaso O que é SEMÂNTICA Semântica é o estudo do signifcado. Incide sobre a relação entre signifcantes, tais como palavras, frases, sinais e símbolos, e o que eles representam,

Leia mais

PADRÕES PARA O DESENVOLVIMENTO NA WEB

PADRÕES PARA O DESENVOLVIMENTO NA WEB PADRÕES PARA O DESENVOLVIMENTO NA WEB Ederson dos Santos Cordeiro de Oliveira 1,Tiago Bonetti Piperno 1, Ricardo Germano 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR- Brasil edersonlikers@gmail.com,

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Serviços Web Semânticos

Serviços Web Semânticos Serviços Web Semânticos Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo O grande crescimento na utilização de Serviços Web torna imprescindível o desenvolvimento de uma forma de melhoria

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais