UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

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

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO APTO: API PARA TRADUÇÃO DE METADADOS EM XML Área de Inteligência Artificial Por Felipe de Oliveira Flôr Rafael de Santiago, Bel. Orientador André Luís Alice Raabe, Dr. Co-orientador Itajaí (SC), julho de 2009

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO APTO: API PARA TRADUÇÃO DE ONTOLOGIAS EM XML Área de Inteligência Artificial por Felipe de Oliveira Flôr Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Rafael de Santiago, Bel. Itajaí (SC), julho de 2009

3 SUMÁRIO LISTA DE ABREVIATURAS...iv LISTA DE FIGURAS...v LISTA DE TABELAS...vi RESUMO...vii ABSTRACT...viii 1 INTRODUÇÃO PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA INTEROPERABILIDADE INTEROPERABILIDADE EM REPOSITÓRIO DE OBJETOS DE APRENDIZAGEM ONTOLOGIA Padrões de Representação de Ontologias Metadados MAPEAMENTO DE ONTOLOGIAS TRABALHOS SIMILARES Ontology Builder (OntBuild) Protégé Glue Discussão sobre Trabalhos Similares PROJETO REQUISITOS Requisitos Funcionais Requisitos Não Funcionais Regras de Negócios DIAGRAMA DE CASOS DE USO DIAGRAMA DE CLASSES DIAGRAMA DE SEQUÊNCIA Desenvolvimento TECNOLOGIAS UTILIZADAS NO DESENVOLVIMENTO ii

4 4.1.1 XSLT JDOM JAXP MAPEAMENTO UTILIZADO UTILIZAÇÃO DO APTO VALIDAÇÃO DA API LOM para Dublin Core Dublin Core para LOM CONSIDERAÇÕES FINAIS...49 REFERÊNCIAS BIBLIOGRÁFICAS...51 iii

5 LISTA DE ABREVIATURAS API APTO DC JAXP LOM OWL RDF SBC TCC UNIVALI XML XSL XSLT W3C WAN Application Program Interface API para Tradução de Ontologias Dublin Core5 Java API for XML Processing Learning Object Metadata Web Ontology Language Resource Description Framework Sistemas de Base em Conhecimento Trabalho de Conclusão de Curso Universidade do Vale do Itajaí Extensible Markup Language Extensible Stylesheet Language Extensible Stylesheet Language Transformations World Wide Web Consortium Wide Area Network iv

6 LISTA DE FIGURAS Figura 1. Tradução de ontologia X para Y utilizando a API APTO...4 Figura 2. Ontologia representada de forma gráfica...12 Figura 3. Dublin Core no formato RDF...15 Figura 4. Representação esquemática da hierarquia de elementos do modelo LOM...16 Figura 5. Exemplo de LOM...17 Figura 6. Mapeamento de Ontologias...18 Figura 7. Combinação de ontologias...19 Figura 8. Alinhamento de ontologias...20 Figura 9. Interação de ontologias...20 Figura 10. OntBuild...23 Figura 11. Ontologia no Protégé...25 Figura 12. Diagrama de Casos de Uso demonstrando o processo usabilidade do APTO...29 Figura 13. Diagrama de classe demonstrando as classes que o APTO irá implementar...30 Figura 14. Diagrama de seqüência demonstrando o processo de tradução que o APTO pretende adotar...31 Figura 15. Exemplo de um mapeamento simplificado entre as ontologias Dublin Core e LOM...32 Figura 16. Exemplo de XSLT...35 Figura 17. Exemplo de XML...35 Figura 18. Exemplo de Arquivo Resultante da Tradução do XSLT...36 Figura 19. Exemplo do JAXP Realizando a Transformação...38 Figura 20. Mapeamento desenvolvido primeira parte...42 Figura 21. Mapeamento desenvolvido segunda parte...43 Figura 22. Exemplo de utilização do APTO...44 Figura 23. Ontologia Origem em LOM...46 Figura 24. Ontologia Alvo resultante em Dublin Core...47 Figura 25. Ontologia Origem em Dublin Core...47 Figura 26. Ontologia Alvo em LOM...48 v

7 LISTA DE TABELAS Tabela 1. Ferramentas similares...26 Tabela 2. Mapeamento entre Dublin Core e LOM...40 vi

8 RESUMO FLÔR, Felipe de Oliveira. APTO: API para tradução de ontologias em XML. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, Muitos softwares necessitam se comunicar com outros sistemas. Para que a comunicação ocorra de forma transparente e sem nenhuma falha na entrega da informação, é necessária a utilização de padrões para representar as informações. Estes padrões podem ser expressos através de uma representação formal, através de uma determinada ontologia. As ontologias podem ser representadas em diversos formatos, como por exemplo: desenhos (grafos) e descrição textual (XML). Um dos problemas na troca de informações entre diferentes aplicações são os diferentes padrões, como por exemplo: um sistema X pode estar utilizando uma ontologia no formato OWL, e outro sistema Y estarem utilizando ontologia no formato LOM, mesmo os sistemas X e Y estarem tratando dos mesmos assuntos, serão incompatíveis, não conseguindo se comunicar, pois o formato das ontologias é divergente. Para que os softwares consigam se comunicar é necessário que eles possuam os mesmos formatos de ontologias. Com o intuito de auxiliar na resolução deste problema, resultou no desenvolvimento de uma API. A API APTO utiliza-se da técnica de Mapeamento de Ontologias, pois esta técnica permite um relacionamento entre duas ontologias de padrões diferentes e de domínios semelhantes. A API APTO conta com uma única classe, que realiza a tradução através de uma Ontologia de Mapeamento e uma Ontologia de Origem, resultando na Ontologia Alvo. A API desenvolvida pode ser utilizada para resolver o problema de interoperabilidade. A motivação para o desenvolvimento foi à incompatibilidade encontrada entre os tipos de metadados que descrevem Objetos de Aprendizagem, o que dificulta as buscas realizadas em repositórios com estes materiais digitais. Devido a isso, para a validação da API APTO foi utilizado dois padrões de ontologias bem difundidos na descrição de Objetos de Aprendizagem: LOM e Dublin Core. Palavras-chave: Interoperabilidade. Ontologia. Mapeamento de Ontologia. vii

9 ABSTRACT Several software need to communicate with another systems. To this communication occurs without issues, it s necessary to use a standard information representation. These standards are easily expressed by ontology. An ontology can be represented in several formats, e.g. draws (graphs) and textual description (XML). The main issue is that the ontology can be expressed in several formats, e.g. a X Ontology can be represented in the OWL format and another Y Ontology can be represented in the LOM format, even if both represents the same subject, but they are incompatibles because are represented in different formats. To exists communication in a software group is necessary that these software have the same standard ontology. To help the solution of this problem, this study aims to specify an API, called APTO, that allows to translate several ontology, allowing the construction of software mechanisms that do the communication between different systems. To establish how the API works was made a research and the selected technique was the Ontology Mapping because allow mapping between two ontology with different standards and similar domains, where is possible, from a origin ontology and a standard mapping, translate an ontology in another one. The APTO project was specified allowing that the translation occurs using a single class. This class makes the translation through a mapping ontology, where is necessary input two parameters in XML format, expressed in text form: a origin ontology and your respective mapping for a destiny ontology (translated result), facilitating the use of the application. The main motivation to do this work was the incompatibility found between the types of metadata that describe the Learning Objects, what turns the search for digital material in repositories harder. To validate the APTO will be used broadcasted ontology in the Learning Objects description: LOM and Dublin Core. Keywords: Interoperability. Ontology. Ontology Mapping. viii

10 1 INTRODUÇÃO Com o advento da informática, as pessoas passaram a atribuir ao computador atividades do cotidiano. Os computadores possuem um papel importante na sociedade, servindo como ferramenta de apoio para o trabalho e aprimoramento do conhecimento, com isto armazenam e processam informações, para se representar uma determinada informação em computadores é utilizada os chamados domínios do conhecimento. Estes domínios são versões resumidas do conhecimento de uma determinada área (RUSSEL; NORVIG, 2004). Por exemplo, na área de matemática, um domínio do conhecimento pode ser conceitos relacionados à Álgebra Linear; na computação um domínio do conhecimento poderia ser Inteligência Artificial. Em domínios complexos e mutáveis como compras na Internet, controle de robôs e temas de aprendizado, há a necessidade de representações flexíveis, para que se consiga relacionar o conhecimento, conseguindo assim adaptar-se aos mais diversos cenários possíveis. Uma possível representação destes conceitos pode ser realizada através de ontologias (RUSSEL; NORVIG, 2004). Ontologia é a forma de representar as informações de um determinado assunto. Nessa representação são definidas diversas particularidades, adotando um padrão para reconhecer o assunto específico (RUSSEL; NORVIG, 2004). Existem diversas áreas que aplicam ontologias, tais como Inteligência Artificial, Web Semântica, Engenharia de Software e Arquitetura da Informação. Exemplos disto são os agentes móveis que utilizam padrões e serviços da Web Semântica representados em ontologias, possibilitando cooperação de maneira flexível com os domínios de negócio (SANTANA et al., 2007; SILVA et al., 2006). Com o uso considerável das ontologias, os padrões começaram a ser criados por iniciativas de facilitar a representação computacional das mesmas. Estes padrões geralmente são destinados a domínios específicos do conhecimento. Mesmo em domínios semelhantes, duas ontologias de padrões divergentes se tornam incompatíveis, pois são interpretadas de formas diferentes: um exemplo disto é o elemento Creator do Dublin Core e o elemento Description do LOM, eles são diferentes, mas representam o mesmo elemento. A partir deste problema, pesquisas na comunidade científica foram realizadas com o intuito de permitir diferentes ontologias de domínio semelhantes possam ser compatíveis, ou seja, interoperáveis: combinação de ontologias, alinhamento de ontologias, interação de ontologias e mapeamento de ontologias (GAŠEVIĆ; HATALA, 2006).

11 O mapeamento de ontologias é a forma de expressar formalmente quais termos de uma determinada ontologia tem relação com termos de outra. Um exemplo disto pode ser verificado em duas ontologias: uma que expressa conceitos sobre Livro e outra sobre CD, nessas poderia haver um mapeamento, expressando a compatibilidade entre outra ontologia (GAŠEVIĆ; HATALA, 2006). Um exemplo de ontologia são o metadados e eles servem para representar uma determinada informação sobre um dado. A proposta deste Trabalho de Conclusão de Curso é de realizar levantamento científico sobre ontologias e mapeamento de ontologias, que permitiu a criação de mecanismos de software que traduz metadados expressas em padrões diferentes, através de ontologias que mapeiem as semelhanças entre duas ontologias. Para isso se utiliza duas ontologias: a que deve ser traduzida e o resultado desta tradução. O trabalho é justificado pela pesquisa na área da tecnologia, para prover a interoperabilidade entre sistemas, foi desenvolvido uma API que auxiliará a interoperabilidade entre aplicações com metadados em XML com padrões divergentes, mas de domínio semelhante. A motivação principal para a criação desta API surgiu da necessidade do trabalho de Santiago e Raabe (2008), onde uma rede de interoperabilidade para compartilhamento de Objetos de Aprendizagem é especificada. Um dos mecanismos essenciais para garantir a interoperabilidade da rede é o de tradução de ontologias, que permitirá que Objetos de Aprendizagem de diferentes metadados possam ser identificados de forma equivalente. Devido a motivação para o projeto ter partido de interoperabilidade entre metadados de Objetos de Aprendizagem, para avaliar a API para Tradução de Ontologias em XML (APTO) serão utilizados os metadados Dublin Core e Learning Object Metadata, comumente utilizados para a descrição de Objetos de Aprendizagem. Também foram criadas nomenclaturas para facilitar a descrição do projeto. Abaixo se encontra a listagem das mesmas: Ontologia Origem: metadado base que sofrerá a tradução; Ontologia de Mapeamento: este metadado contém o relacionamento de outros dois metadados com formatos distintos, com o intuito de viabilizar a tradução de uma para outra; e Ontologia Alvo: metadado resultante da tradução. Será apresentada a pesquisa necessária para o desenvolvimento da API, a modelagem da ferramenta e a forma que foi desenvolvido e os testes relacionados à validação do APTO. 2

12 1.1 PROBLEMATIZAÇÃO Formulação do Problema Atualmente se tem o uso considerável de metadados por parte de sistemas, independente da área que o software está relacionado. Por isto padrões foram criados para estabelecer regras para representação computacional da informação (BREITMAN, 2005). Hoje em dia existem muitos padrões para se representar metadados, e quando os softwares utilizam padrões diferentes mesmo sendo em domínios semelhantes, torna os sistemas incompatíveis, ou seja, faz com que softwares não consigam se comunicar. O problema abordado pode ser visualizado no trabalho de Santiago e Raabe (2008), onde uma rede de compartilhamento de Objetos de Aprendizagem necessita de mecanismo para tornar os metadados que descrevem estes objetos equivalentes, para pesquisas e comparações Solução Proposta Para solucionar o problema identificado, a proposta deste trabalho é desenvolver uma API para tradução de metadados em XML. Através desta API os sistemas poderão traduzir as ontologias divergentes para o formato de ontologia que seja compreensível, assim permitindo que as aplicações tenham uma interoperabilidade, sem necessidade de alterar seus padrões de comunicação. A API terá como parâmetros de entrada a Ontologia Origem (metadado que deve ser traduzida) e a Ontologia de Mapeamento (metadado que vai conter as informações de quais termos devem ser traduzidos e de que forma), através das duas ontologias de entrada será gerada uma terceira ontologia a Ontologia Alvo (metadado resultante da tradução). A Figura 1 demonstra o funcionamento da solução proposta: um Sistema X, que utiliza uma Ontologia de Origem deseja se comunicar com o Sistema Y que utiliza uma Ontologia Alvo. O Software de Interoperabilidade recebe a informação no padrão da Ontologia Origem, juntamente com o Mapeamento de Ontologia, e através das duas ontologias de entrada é realizado a tradução, utilizando-se da API APTO, e após o término da tradução é enviado resultado desta tradução (Ontologia Alvo) para o Software Y. 3

13 Figura 1. Tradução de ontologia X para Y utilizando a API APTO 1.2 OBJETIVOS Objetivo Geral Desenvolver uma API que realiza a tradução de um metadados em XML em outro metadado, a partir de uma Ontologia Origem e uma Ontologia de Mapeamento Objetivos Específicos Realizar levantamento bibliográfico sobre ontologias; Pesquisar sobre mapeamento de ontologias; Pesquisar tecnologias XML aplicáveis a mapeamento de ontologias; Pesquisar sobre trabalhos similares a proposta; Modelar a API APTO; Validação da API APTO; e Redigir o Texto do TCCII. 1.3 Metodologia Na primeira etapa foi realizado pesquisa sobre Interoperabilidade, com o foco em Interoperabilidade em Repositórios de Objetos de Aprendizagem possibilitando o compreendimento 4

14 e justificando a real necessidade em se ter um trabalho de conclusão com o foco de resolver problemas de interoperabilidade. Como segunda etapa, foram realizadas pesquisas sobre ontologia, procurando-se por padrões de ontologias e aplicações de ontologias para se obter embasamento necessário para realizar a construção da API. Já na terceira etapa foi realizada pesquisa referente a técnicas para resolver problemas de ontologias divergentes, que serviu para verificar se realmente a técnica de mapeamento de ontologia era a melhor técnica a ser utilizada. Na quarta etapa verificou-se e equiparou-se os trabalhos similares a API desenvolvida com o intuito de se obter mais informações e embasamento para implementação do APTO. Como quinta etapa, foi desenvolvida a modelagem do projeto: levantamento de requisitos, diagrama de seqüência e diagrama de classe. A modelagem possibilitou o melhor compreendimento sobre o comportamento da API desenvolvida neste projeto, e detalhando ela. Por último, foi relatado o processo de desenvolvimento e as tecnologias utilizadas. Além disso, foram efetuados e relatados os testes envolvendo o projeto, para detectar possíveis falhas na implementação da API. 1.4 Estrutura do trabalho Esse trabalho de conclusão está estruturado em quatro capítulos: Introdução, Fundamentação Teórica, Projeto e Considerações Finais. O primeiro capítulo deste trabalho aborda uma visão geral sobre o projeto. Neste pode-se ter uma descrição do problema proposto e a solução proposta, metodologia utilizada, os objetivos a atingir e a motivação do trabalho. No segundo capítulo é apresentada a revisão bibliográfica, sendo assim tendo uma análise mais aprofundada sobre os assuntos envolvidos no projeto. O primeiro assunto é sobre interoperabilidade, com o foco em interoperabilidade em repositório de objetos de aprendizagem. A seguir é apresentada fundamentação sobre ontologia, como os padrões de representação e aplicações de ontologias. Serão apresentado metadados, entre eles estarão sendo abordado o LOM e Dublin Core, que serão os padrões utilizados para implementar os testes do APTO. Na etapa 5

15 seguinte é abordado o tema mapeamento de ontologia, suas vantagens, técnicas entre outros. E por último os trabalhos similares, com ênfase nas diferenças e similaridades. No terceiro capítulo são elaboradas a análise e a modelagem necessária para desenvolvimento da API APTO, tais como: os requisitos funcionais, os requisitos não-funcionais e as regras de negócio. Ainda neste capítulo são apresentados o diagrama de sequência e diagrama de classes. O quarto capítulo serve para relatar o desenvolvimento da API, tais como ás tecnologias utilizadas no desenvolvimento, mapeamento utilizado e relatar os testes efetuados para validação da API. Já no quinto capítulo, são apresentadas as considerações finais sobre o trabalho desenvolvido, bem como trabalhos futuros. 6

16 2 FUNDAMENTAÇÃO TEÓRICA Na seção de fundamentação teórica são abordados conceitos e trabalhos similares com intuito de gerar embasamento necessário para atingir os objetivos propostos. Dentre os tópicos abordados, serão discutidos principalmente: Ontologias, Padrões de Representação de Ontologias, Aplicações de Ontologias, Mapeamento de Ontologias, Trabalhos Similares. 2.1 INTEROPERABILIDADE De acordo com Suleman (2001), interoperabilidade é a forma em que sistemas computacionais distintos consigam interagir entre si, através de: troca de mensagens, compartilhamento de arquivos ou interação em conjunto com o objetivo de resolver uma determinada tarefa. Quanto menor a falha na comunicação, melhor é sua capacidade de interoperabilidade. Nunes (2004) afirma que quanto maior a capacidade do software conseguir transferir e receber dados, além de compartilhar serviços, melhor sua interoperabilidade. Nunes (2004) classifica sistemas interoperáveis em cinco categorias: Isolado: o sistema não se comunica com outros sistemas; Ligado: os sistemas trocam arquivos textos, s, arquivos de imagem; Funcional: os sistemas cooperam entre si, para exerce atividades complexas, um exemplo são os sistemas distribuídos; Domínio: os sistemas são integrados, se conectam através de uma WAN (Wide Area Network), apenas compartilhando informações; e Ambiente: os sistemas operam de forma conjunta utilizando informações globais em muitos domínios. Segundo Wileden e Kaplan (1997), interoperabilidade pode ser definida de várias maneiras, dependendo do contexto que está sendo inserida. De acordo com Advanced Distributed Learning (2006) no contexto de softwares educacionais, a interoperabilidade está relacionada à habilidade de utilizar componentes instrucionais desenvolvidos em um local para um grupo de ferramentas ou plataforma, e conseguir utilizá-los em outro local para outros grupos de ferramentas ou plataforma.

17 2.1.1 INTEROPERABILIDADE EM REPOSITÓRIO DE OBJETOS DE APRENDIZAGEM A principal motivação deste projeto surgiu do problema destacado por Santiago e Raabe (2008), onde a integração de diferentes Repositórios de Objetos de Aprendizagem estaria sujeita a transposição da barreira da utilização de divergentes padrões empregados aos objetos. Esta seção tem por objetivo apresentar Objetos de Aprendizagem, repositórios destes materiais, com o intuito de introduzir o domínio do problema abordado neste trabalho. Objetos de Aprendizagem Os Objetos de Aprendizagem são utilizados como elementos de motivação ao ensino, e são considerados quaisquer recursos utilizados ao apoio ao processo de aprendizagem. Um filme ou figura podem ser considerados um Objeto de Aprendizagem, quando são utilizados para fins pedagógicos. Eles devem possuir uma sugestão para contexto abordado, pois um objeto pode estar inserido entre várias áreas do ensino, por exemplo, um filme que fale sobre as formas geométricas que são compostas as arquiteturas de prédios e monumentos, pode ser utilizado para ensinar geometria (Hatala et al., 2004). Para o Learning Technology Standards Committee (LTSC) da IEEE, Objetos de Aprendizagem são quaisquer entidades, digitais ou não, que podem ser usados, reusados e referenciados no apoio tecnológico com o intuito do aprendizado (LTSC IEEE, 2007). Pode se empacotar conteúdos eletrônicos, como imagens, vídeos entre outros, em Objetos de Aprendizagem, assim permitindo compartilhar todos os materiais de ensino de forma mais fácil e ágil, possíveis de serem compartilhados em diferentes Repositórios de Objetos de Aprendizagem (IMS, 2001). De acordo com Picciano (1998), a classificação é extremamente importante para Objetos de Aprendizagem, pois é através dele que se podem identificar como, onde e para quem podem ser aplicado. Um Objeto de Aprendizagem sem classificação é como se fosse uma pessoa sem identidade, seria muito difícil de identificá-la. A melhor maneira de classificar o Objeto de Aprendizagem é através dos metadados, pois estes descrevem os Objetos de Aprendizagem. Segundo Hatala et al. (2004), o Ambiente de Execução é utilizado para controlar as sequência que as requisições chegam para o Repositórios de Objetos de Aprendizagem e para 8

18 permitir a interoperabilidade entre todos os conteúdos deste repositórios, através do modelo de navegação que existe no ambiente. Segundo Mohan (2007) para que Objetos de Aprendizagens sejam reutilizados é necessário que eles estejam disponíveis na Internet. Os sistemas responsáveis por disponibilizar estes objetos na Web são os Repositórios de Objetos de Aprendizagem, pois os repositórios são capazes de armazenar e principalmente distribuir materiais de ensino. Esta distribuição está ligada diretamente com o reuso dos objetos, pois quanto mais eficiente for este mecanismo, mais fácil será identificar e recuperar os Objetos de Aprendizagem desejados. Existem padrões como, por exemplo, o Digital Repository Interoperability (DRI), que facilitam a compatibilidade de diferentes repositórios. Repositórios de Objetos de Aprendizagem Hatala et al. (2004) colocam que a larga aceitação de padrões para a Web Semântica (como o XML e o RDF) foi crucial para a criação de sistemas que podem descobrir e compartilhar informações para a área educacional. Grande parte desses sistemas diz respeito aos Repositórios de Objetos de Aprendizagem que são alvos de esforços para sua criação. Recentemente, a comunidade e-learning tem se focado na habilidade de conectar e usar recursos existentes em repositórios distribuídos. O aparecimento de padrões como o Learning Object Metadata (IEEE LTSC), estão facilitando esta abordagem. De acordo com Hatala et al. (2004), as maiores iniciativas para possibilitar a interoperabilidade em Repositório de Objetos de Aprendizagem são: Open Archive Initiative: desenvolve e promove padrões de interoperabilidade para a disseminação de conteúdos. Uma das tecnologias desenvolvidas foi o Protocol for Metadata Harvesting, permitindo que repositórios criem coleções e coletem metadados de outras fontes (SOMPEL; LAGOZE, 2002 apud HATALA et al., 2004); National Science Digital Library: fundado pela National Science Foundation, fornece bibliotecas para criação de Objetos de Aprendizagem para educação em ciência, matemática, engenharia e tecnologia. (ARMS et al., 2002 apud HATALA et al., 2004); e IMS Digital Repository Interoperability: especifica uma arquitetura funcional para interoperabilidade entre repositórios de conteúdos instrucionais (IMS DRI, 2003 apud HATALA et al., 2004). 9

19 Picciano (1998) afirma que a maneira mais eficiente de se construir um Objetos de Aprendizagem é através do uso de ontologias, pois permite conhecer vários atributos e informações sobre os conteúdos dos mesmos. A interoperabilidade é muito importante entre Repositórios de Objetos de Aprendizagem, pois a interoperabilidade facilita a busca de Objetos de Aprendizagem. A API para Tradução de Metadados em XML desenvolvida neste trabalho permitirá maior interoperabilidade entre os repositórios, independente do formato que os objetos estejam representados. 2.2 ONTOLOGIA De acordo com Russel e Norvig (2004), para que sistemas consigam reconhecer uma determinada informação é necessário representar através de uma ontologia. Na ontologia se define várias particularidades com o intuito de representar uma determinada informação sobre um domínio específico. Fonseca, Engenhofer e Borges (2000) afirmam que ontologias são teorias que especificam um vocabulário relativo a um assunto especifico, e que este vocabulário define entidades, classes, propriedades e as relações entre estes componentes. Embora os conceitos dos autores não sejam iguais, há um consenso ao afirmar que ontologias é a forma de representar um determinado assunto dentro de um contexto específico. De acordo com Pérez (1999), o uso de ontologia tem diferentes tipos de classificação: Ontologias de Representações: definem as representações de forma declarativa, tais como atributos e propriedades; Ontologias Gerais: definem as representações de forma abstratas. São representados os aspectos do âmbito do mundo, tais como seres, tempo, entre outros; Ontologias Centrais ou Genéricas: é a representação das informações gerais de uma determinada área de estudo, ou seja, o assunto não é específico, como por exemplo, área de Computação; Ontologias de Domínios: se refere a um assunto mais específico de uma área de estudo, como, por exemplo, em Computação, o estudo de Inteligência Artificial. O foco é geralmente nos conceitos e objetos do conteúdo; e 10

20 Ontologias de Aplicações: para um domínio específico procura-se solucionar problemas. Por exemplo, em Inteligência Artificial procura-se descobrir como fazer com que os agentes comuniquem-se entre si independente da estrutura de comunicação utilizada. Embora uma ontologia tenha diversas classificações dependendo do grau de generalidade, neste projeto se utilizará o conceito de Ontologia de Domínio. Todas as ontologias podem ser representadas através de vários formatos. Dois destes são: Representação Gráfica: É a representação através de uma estrutura em árvore; e Representação Textual: É a representação através de textos. Para representação computacional de ontologias, geralmente utiliza-se Extensible Markup Language (XML) que é expressa de forma estruturada e textual, pois possui muitos padrões de ontologias representação neste formato. São exemplos de formatos que se pode ter representado uma ontologia expressa em XML: LOM (Learning Object Metadata) (LTSC IEEE, 2005), RDF (Resource Description Framework) (W3C, 2007a), OWL (Web Ontology Language) (W3C, 2007b). Segundo Smith et al. (2005), a ontologia é representada por conceitos. O conceito pode ser composto por classes, instâncias e termos. As classes são os componentes de um objeto, como por exemplo, em um domínio de biblioteca a classe pode ser representada por livro. Já as instâncias são partes de uma classe. Ainda se utilizando do exemplo de domínio de uma biblioteca e de uma classe representada por um livro a instancia poderia ser o livro Glossário de Termos Técnicos Computação. Os termos são partes das classes como, por exemplo, autor. Na Figura 2 pode ser visualizado um exemplo de ontologia de domínio sobre obras. Os conceitos estão representados em uma hierarquia, demonstrando os relacionamentos entre eles. Por exemplo, uma obra é um livro nesta ontologia e o livro tem uma editora e um escritor. Deste modo, um escritor não é uma obra, pois a mesmo está inserida é pertencente ao livro. Estes relacionamentos entre conceitos e a hierarquias são exemplos de ontologia. Quatro classes estão representadas, tais como: Obra: é o que será representado, neste exemplo um livro. Livro: se refere ao nome do livro, um exemplo de livro é o Glossário de Termos Técnicos Computação ; 11

21 Editora: é a entidade responsável por reproduzir o livro, um exemplo é a UNIVALI ; e Escritor: representa quem escreveu o livro, como exemplo Tânia Azevedo Leite. Figura 2. Ontologia representada de forma gráfica A ontologia é importante para comunicação entre sistemas, pois através dela é possível representar vocabulários, e desta forma os sistemas conseguem trocar informações, tornando-se interoperáveis. Exemplos de aplicações que utilizam ontologias são agentes, web-services e metadados. Nas sub-seções a seguir serão abordados assuntos como padrões de representação, aplicações de ontologias, mapeamento de ontologias, metadados, comparações entre as trabalhos similares e a modelagem do projeto, com o intuito de relacionar o conceito de ontologia com os objetivos do trabalho. Os metadados foram estudados de forma mais aprofundada como aplicações de ontologias, pois pretende-se validar a API proposta através destas estruturas Padrões de Representação de Ontologias Para representar ontologias é utilizado formatos que contém especificação já estruturada, o que facilita a criação de ontologia e permite a interoperabilidade entre sistemas que empregam os mesmos padrões de representação ontológicas. 12

22 O XML se tornou uma das representações estruturadas mais adotadas para intercâmbio e representação de informações na Internet, e existe uma grande quantidade de dados codificados no formato XML (CHAVES; VIEIRA; RIGO, 2001). O RDF e o OWL são dois exemplos de ontologias representadas em XML. O RDF serve como base para processamento de metadados. Os padrões estão baseados no conceito de ontologias e são utilizados para estruturar documentos de modo a explorar definições de orientação a objeto que possibilita a aplicação de herança, reuso, modularização, entre outros. O RDF pode auxiliar em uma variedade de aplicações, desde catálogos de bibliotecas até coleções pessoais de fotos. Já o XML é utilizado para representar a troca de informações entre sistemas. As especificações RDF provêem um suporte a sistemas de ontologias simples para auxiliar a troca de conhecimento na Web (W3C, 2007a). A OWL é uma linguagem para definir e criar ontologias na Web. Através dela podem-se representar as classes e seus respectivos relacionamentos e propriedades. A OWL foi desenvolvida para ser utilizada em aplicações que tenham a necessidade de processar o conteúdo da informação ao invés de apenas apresentar informações para os seres humanos. Ela apresenta maior facilidade de interpretação dos computadores sobre o conteúdo da Web do que XML, RDF e RDFS (RDF Schema), por fornecer vocabulário adicional com uma semântica formal (W3C, 2008b). Brietman (2005) cita que a OWL foi concebida pelo World Wide Web Consortium (W3C) devido à necessidade das aplicações de Web Semântica empregarem construções e racionalização de ontologias, e explicitar fatos sobre um determinado domínio. A OWL se divide em três sublinguagens: OWL Lite: suporta necessidades para classificação hierárquica e restrições simples; OWL DL: suporta o máximo de expressividade garantindo que as conclusões sejam computáveis, é a versão do OWL mais utilizada; e OWL Full: usada para sistemas que necessitam o máximo de expressividade e liberdade sintática do RDF sem garantias computacionais Metadados De acordo com o Breitman (2005), os metadados são dados sobre dados, ou seja, informações sobre um determinado documento, como por exemplo, autor e editora. Bibliotecários, 13

23 museólogos, arquivistas e editores já utilizam metadados, para catalogar e organizar livros, arquivos, materiais e documentos. Breitman (2005) ainda cita alguns aspectos importantes dos metadados: metadados não precisam ser digitais; metadados podem ser utilizados para processamento e relacionamento de condição física de um determinado objeto, não somente especificando características sobre seu conteúdo; metadados podem ser obtidos através de seres humanos, fontes na Internet, grandes bases de dados, entre outros; e metadados evoluem durante o ciclo de vida do objeto a que se referem, pois podem ser modificados e até mesmo descartados. Entre os padrões de metadados selecionados como aplicações de ontologias que irão ser utilizados para avaliar o APTO estão: Dublin Core e Learning Object Metadata. Pois estes dois padrões são os mais utilizados para descrever Objetos de Aprendizagem. Nas subseções seguintes o Dublin Core e o Learning Object Metadata serão apresentados. Dublin Core Dublin Core é uma especificação que tem como resultado um XML para descrição de Objetos de Aprendizagem, contêm semântica para descrição de recursos disponibilizados pela Internet. Dublin Core contêm vários elementos que compõem o padrão e são eles (BREITMAN, 2005): Assunto (subject): tema do trabalho que está se descrevendo; Título (title): título do conteúdo; Criador (creator): responsável pelo conteúdo intelectual; Descrição (description): descrição do conteúdo; Editor (publisher): responsável pela disponibilização do Objeto de Aprendizagem; Outro agente (contributor): pessoas que contribuíram de alguma forma para o projeto; 14

24 Data (date): data de publicação; Tipo do Objeto (type): tipo do conteúdo (dicionário, poema, ficção, entre outros); Formato (format): formato do objeto (como, por exemplo, executável WIN32, PDF); Identificador (identifier): identificação única do conteúdo (um código); Relacionamento (relation): relacionamento com outros Objetos de Aprendizagem; Fonte (source): objetos dos quais o conteúdo atual foi derivado; Linguagem (language): linguagem do conteúdo (por exemplo, Português, Japonês, entre outras); Cobertura (coverage): escopo do que é abordado no Objeto de Aprendizagem; e Direitos (rights): informações sobre os direitos reservados do Objeto de Aprendizagem. Um exemplo de um metadado Dublin Core pode ser visualizado na Figura 3. Na mesma, está se utilizando o padrão RDF no intuito de descrever um recurso encontrado na Web. <?xml version= 1.0?> <rdf:rdf xmlns:rdf= xmlns:dc= > <rdf:description rdf:about= rin/index.html > <rdf:creator>karin Breitman</rdf:creator> <dc:title>home Page da Profa. Karin</dc:title> <dc:date>30 de outubro de 2007</dc:date> </rdf:description> </rdf:rdf> Figura 3. Dublin Core no formato RDF Fonte: Adaptado de BRIETMAN (2005). LOM Leaning Objects Metadata (LOM) foi criado através de outros padrões de metadado como Dublin Core e o IMS Learning Resource Meta-Data. Pode-se utilizar XML ou RDF para representar um metadado LOM. O RDF é utilizado para inserir o padrão LOM em outros padrões de descrição de recurso, geralmente no formato XML e que estendem as funcionalidades do RDF (LTSC IEEE, 2005). 15

25 LOM se estrutura através de um conjunto de elementos, incluindo tipos de dados, multiplicidades e relacionamentos entre componentes. Todos os elementos que compõe o LOM são opcionais, portanto, o XML Schema que represente a estrutura do padrão não deve obrigar o uso de qualquer elemento, de acordo com LTSC IEEE (2005). Na Figura 4 são demonstrados os elementos e as hierarquias do modelo LOM. Figura 4. Representação esquemática da hierarquia de elementos do modelo LOM Fonte: IMS (2004). De acordo com LTSC IEEE (2005), as categorias do metadado LOM que se destacam são: General: descreve informações de identificação do Objeto de Aprendizagem, como: título, identificador, linguagem, descrição, dentre outros; Life Cycle: informações relativas ao ciclo de vida do Objeto de Aprendizagem, tais como: pessoas que fizeram contribuições, estado atual, versão, entre outros; Meta-Metadata: informações sobre o próprio metadado utilizado; 16

26 Technical: especificações sobre requerimentos e características técnicas do Objeto de Aprendizagem; Educational: características educacionais e pedagógicas; Rights: propriedade intelectual e direitos de uso do Objeto de Aprendizagem; Relation: configurações de grupo que determinam as relações de um Objeto de Aprendizagem com outro; Annotation: provê comentários sobre uso educacional do objeto; e Classification: categoria que descreve o objeto de acordo com um sistema particular de classificação. Pode ser visualizar um exemplo de uma descrição simples de um Objeto de Aprendizagem, utilizando o padrão LOM na Figura 5. <lom> <general> <title> Design Patterns: Elements of Reusable Object- Oriented Software </title> <catalogentry> <catalog>isbn</catalog> <entry> </entry> </catalogentry> <language>en</language> <keyword>object-oriented</keyword> <keyword>programming</keyword> <keyword>computer Software</keyword> <keyword>reusability</keyword> </general> </lom> Figura 5. Exemplo de LOM Fonte: Mohan (2007). 2.3 MAPEAMENTO DE ONTOLOGIAS O Mapeamento de Ontologias é uma técnica que visa representar quais termos de uma ontologia se relaciona com outra. Com isto identificam-se os termos com o mesmo significado em duas ontologias, mas representados de formas distintas, permitindo que os sistemas tenham capacidade de comunicar-se de forma transparente entre si (interoperabilidade) (GAŠEVIĆ; HATALA, 2006; KALFOGLOU; SCHORLEMMER, 2003; MAEDCHE; STAAB, 2002). 17

27 De acordo com Noy (2004), Kalfoglou e Schorlemmer (2004), para que os sistemas consigam ter uma maior interoperabilidade é fundamental a construção de mecanismos de mapeamento, desta forma eliminando as diferenças entre as ontologias e possibilitando a troca de informações entre aplicações através dos relacionamentos gerados pelo mapeamento. A Figura 6 representa o mapeamento de uma ontologia representado por Ontologia Origem através de uma outra ontologia representada por Ontologia de Mapeamento, as relações de mapeamento são representadas por r1, r2 e r3. Pode-se observar também que o mapeamento da ontologia independe do nó da árvore, ou seja, um termo da Ontologia Origem pode se relacionar com outra de um nó mais abaixo ou mais acima da árvore. Outra observação é que os termos da Ontologia de Mapeamento estabelecem uma conexão entre os termos da Ontologia Origem com a Ontologia Alvo. Figura 6. Mapeamento de Ontologias Fonte: Adaptado de Gašević e Hatala (2006). Uma aplicação de Mapeamento de Ontologias é citada por Librelotto, Ramalho e Henriques (2003), onde o uso do conceito é utilizado quando o usuário deseja encontrar informações importantes a respeito de um determinado domínio e a relevância deste conteúdo não pode ser caracterizada através de pesquisa convencional em uma ferramenta de busca. 18

28 A técnica de mapeamento de ontologias é extremamente importante para este trabalho, pois é através dela que o APTO vai saber qual termo de uma ontologia se relaciona com a outra, tornando possível tradução das ontologias. API APTO utiliza a técnica de mapeamento para fazer a tradução de uma Ontologia Origem em outra Ontologia Alvo. Segundo Felicíssimo e Breitman (2004), além do mapeamento outras três alternativas para interligar ontologias distintas existem, são eles: Combinação de Ontologias: une duas Ontologias Origem em uma só Ontologia Resultante. Através dela não é possível fazer tradução e sim criar uma terceira ontologia mais completa. A Figura 7 é um exemplo gráfico de combinação de ontologias; Figura 7. Combinação de ontologias Fonte: Hinz e Polazzo (2007). Alinhamento de Ontologias: A Ontologia Origem e a Ontologia Alvo não sofrem alterações, é criada uma nova ontologia que vai conter as ligações entre à Ontologia Origem e a Ontologia Alvo. A Figura 8 é um exemplo gráfico de alinhamento de ontologias; e 19

29 Figura 8. Alinhamento de ontologias Fonte: Hinz e Polazzo (2007). Interação de Ontologias: na interação de ontologia podem-se ter várias Ontologias Origem, a partir das Ontologias Origem será construída uma nova ontologia que englobe todos os termos das ontologias envolvidas. Este método não permite fazer tradução de ontologias, pois ele serve para criar uma nova ontologia que vai conter todos os termos comuns entre as Ontologias Origens. A Figura 9 é um exemplo gráfico de interação de ontologias. Figura 9. Interação de ontologias Fonte: Hinz e Polazzo (2007). O mapeamento de ontologias pode ser realizado de forma automática, semi-automático ou até mesmo manual. Manualmente, o risco de se cometer uma falha é grande, pode-se acabar cometendo erros fazendo como que o mapeamento fique defeituoso, além disto é considerado um processo difícil e demorado (NOY; MUSEN, 1999 apud CHAVES; LIMA, 2003). 20

30 Já o mapeamento de forma automática é extremamente difícil de ser implementado, é um tema que envolve muitas pesquisas e é um grande problema nesta área (USCHOLD, 2001 apud CHAVES; LIMA, 2003). A melhor forma de ligar conhecimentos que tenham similaridades representadas por ontologias ou interligar sistemas que utilizem-se de ontologias pra prover comunicação, é através de mapeamento (CHAVES; LIMA, 2003). Segundo Chaves e Lima (2003) através da abordagem Heurística e de Probabilidade pode-se prover o mapeamento de ontologias de forma automática: Heurística: considera como porcentagem de similaridade a diferença entre o total de termo de uma ontologia A e o número de termos que podem ser relacionados com uma ontologia B. Uma ontologia A contem dez termos, e destes, oito termos conseguem ser mapeados para uma ontologia B, sendo assim a ontologia A tem 80% de similaridade com a B; e Probabilidade: o grau de similaridade é feito através de conceitos que identificam similaridade. Segundo Chaves e Lima (2003), similaridade é uma medida que serve para avaliar se a mudança de uma cadeia de caracteres ocorre ou não. Como por exemplo, moto para motocicleta, para transformar uma na outra é necessário alterar quatro caracteres. Existem dois tipos de análise de similaridade, a análise léxica e análise semântica, elas vêm sendo muito pesquisadas (2001 apud NOLL; SACOLL; EDELWEISS, 2007): Normalização: os termos semânticos que tenham o mesmo significado em diferentes ontologias irão receber nomes em comuns. Na ontologia A se tem um termo denominado como carro e na ontologia B como moto, com a formalização eles passariam a se chamar automóvel; Categorização: são separados em grupos os termos que mais se parecem, desta forma os termos de um grupo só serão comparado com os termos que ser refere ao grupo relacionado da outra classe. Em uma ontologia A se tem termo carro e o termo caminhão. Aplicando a categorização será inserido os termos carro e caminhão dentro um grupo veículo, por exemplo; e Comparação: é atribuído para os elementos um grau de similaridade dentro das suas categorias. 21

31 Segundo Hinz e Palazzo (2007) para que o mapeamento de ontologias seja feito de forma eficaz, permitindo que sistemas consigam se comunicar, é necessário que o mapeamento utilize um bom algoritmo de identificação de termos correlacionados. Dois algoritmos para análise de similaridade léxica são: Edit Distance: avalia duas seqüências de caracteres pelo número mínimo de operações necessárias para transformar uma cadeia em outra (LEVENSHTEIN, 1966 apud NOLL, SACOLL; EDELWEISS, 2007); e Stemmer: avaliação de seqüência de caractere pela redução de uma palavra ao seu radical (STEMMER, 2007 apud NOLL; SACOLL; EDELWEISS, 2007). Já na análise de similaridade léxica, é feita verificação ente os termos e durante o processo de normalização é recomendável a utilização de uma lista com os termos para relacionar os conceitos para que possa ser feita a avaliação (NOLL; SACOLL; EDELWEISS, 2007). 2.4 TRABALHOS SIMILARES Ferramentas que eliminem as diferenças entre ontologias e que possibilitem a troca de mensagens entre aplicações são fundamentais para que os sistemas consigam ter uma maior interoperabilidade (KALFOGLOU; SCHORLEMMER, 2004). Atualmente, existem soluções que utilizam ontologias, seja construindo ontologias ou interligando duas ontologias distintas. Neste trabalho foram estudados três aplicativos: Ontology Builder (OntBuild), Protégé e Glue Ontology Builder (OntBuild) A Ontology Builder é uma ferramenta que serve para criar ontologias a partir de documentos com representações em XML, utiliza-se de uma especificação para saber quais termos dos documentos devem ser aproveitados e como que eles se associam entre si (LIBRELOTTO; RAMALHO; HENRIQUES, 2003). A ferramenta utiliza-se de um XML padrão criado para descrever quais informações deverão ser extraídas dos documentos XML dos quais se devem criar a ontologia. As ontologias são criadas no padrão XML (ibidem). Na Figura 10 se tem representado a arquitetura proposta do Ontology Builder: 22

32 Extrator de Topic Map: gera uma ontologia que vem de uma base de documento XML; XSTM-P: é a representação de uma base de documentos no formato XML; XML FONTE: através deste arquivo o Extrator Topic Map gera a ontologia resultante; XSTM: XSTM é a representação de um formato de arquivo em XML; e Topic Map: é o arquivo gerado pelo Extrator de Topic Map. Figura 10. OntBuild Fonte: Librelotto, Ramalho e Henriques (2003) A similaridade entre o Ontology Builder e a APTO está na geração de uma ontologia resultante, além disto, elas necessitam de um documento para saber quais termos serão utilizados para criar a Ontologia Alvo, ou seja, as duas se utilizam de mapeamento. A ferramenta Ontology Builder gera uma ontologia a partir de um documento em XML, já o APTO por ser uma API, auxilia programadores na hora do desenvolvimento dos sistemas que utilizam metadados divergentes Protégé A ferramenta Protégé foi desenvolvida na Universidade de Stanford pelo departamento de informática médica. No início ela era uma ferramenta de aquisição de conhecimento para apenas um sistema especialista para ontologias. Ela foi desenvolvida em Java e de código aberto. Devido a 23

33 isso possui vários componentes (PROTÉGÉ, 2008). Três exemplos de componentes para o Protégé são: Plugin OKBC: para acesso remoto de ontologias; Ontoviz: componente gráfico para construção de ontologias; e Jambalaya: componente gráfico para construção de ontologias. Aos poucos Protégé foi se aperfeiçoando com a evolução dos Sistemas de Base em Conhecimento (SBC), hoje está ferramenta permite criar ontologias de domínios, personalizar formulários de dados, inserir e editar dados, possibilitando a construção de SBC guiado por uma ontologia. Através do Protege é possível criar ontologias em diversos formatos, como por exemplo: XML, RDF e OWL (PROTÉGÉ, 2008). Na Figura 11 pode-se observar a ferramenta Protégé. Nela está sendo mostrada uma ontologia representada de forma gráfica em OWL. 24

34 Figura 11. Ontologia no Protégé Fonte: Protege (2008) Em comparação do Protégé com o APTO, é possível afirmar que as duas ferramentas se diferem quase por completamente, pois a ferramenta Protégé se propõe a criação de ontologias. Já o APTO se propõe em traduzir uma ontologia em outra. O que elas têm em comum é que ambas utilizam ontologias, uma traduzindo e outra criando Glue O Glue é uma ferramenta para geração de mapeamento de ontologias. Esta ferramenta utiliza de técnicas de similaridade para conseguir realizar a tradução de ontologias com eficácia. O foco desta aplicação é mapear ontologias de domínio. Através do Glue não é possível realizar tradução de ontologias, pois esta ferramenta apenas mapeia a ontologia e não as traduz (DOAN et al., 2002). 25

35 As duas são extremamente distintas, pois a ferramenta Glue se propõe a mapear duas ontologias distintas. Já o APTO se propõe em traduzir metadados em outro, através de mapeamentos de ontologias. Outra distinção entre elas é que o APTO se dispõe a ser uma API ao invés de uma aplicação, como Glue. No entanto há uma similaridade entre elas, ambas tem o foco em resolver problema de interoperabilidade de sistemas. A ferramenta Glue poderia se aproveitar da API APTO para gerar a tradução de ontologias depois ter sido elaborado o mapeamento pelo Glue Discussão sobre Trabalhos Similares Através dos trabalhos similares pesquisados foi possível constatar que nenhuma técnica ou ferramenta sozinha consegue resolver totalmente o problema de interoperabilidade entre sistemas, como exemplo pode-se citar o Glue que faz mapeamento só que não faz tradução de ontologias. Na Tabela 1 apresentam-se as diferenças e similaridades entre os trabalhos estudados e a API APTO. Tabela 1. Ferramentas similares Ferramentas OntBuild Protégé Glue APTO Utiliza mapeamento de ontologia? SIM NÃO NÃO SIM Gera o mapeamento de ontologia de forma manual? NÃO NÃO NÃO NÃO Gera o mapeamento de ontologia de forma semiautomático? Gera o mapeamento de ontologia de forma automática? NÃO NÃO SIM NÃO NÃO NÃO NÃO NÃO Permite a criação de ontologia de forma manual? NÃO SIM NÃO NÃO Permite a criação de ontologia de forma automática? SIM SIM NÃO NÃO Realiza tradução de ontologias? NÃO NÃO NÃO SIM Fornece API para desenvolvimento de aplicações? NÃO NÃO NÃO SIM 26

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um

Leia mais

ESTUDO DE CASO: LeCS: Ensino a Distância

ESTUDO DE CASO: LeCS: Ensino a Distância ESTUDO DE CASO: LeCS: Ensino a Distância HERMOSILLA, Lígia Docente da Faculdade de Ciências Jurídicas e Gerenciais de Garça FAEG - Labienópolis - CEP 17400-000 Garça (SP) Brasil Telefone (14) 3407-8000

Leia mais

RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP

RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP Projeto básico sobre Repositório Digital: Definição da Arquitetura Informacional / Definição do Conjunto de Metadados / Definição

Leia mais

Proposta de uma Biblioteca Digital para Documentos Técnico-cientícos do Departamento de Computação da Universidade Federal de Ouro Preto

Proposta de uma Biblioteca Digital para Documentos Técnico-cientícos do Departamento de Computação da Universidade Federal de Ouro Preto Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Proposta de uma Biblioteca Digital para Documentos Técnico-cientícos do Departamento

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

PRODUÇÃO DE SIGNIFICADOS PARA OBJETOS DE APRENDIZAGEM: DE AUTORES E LEITORES PARA A EDUCAÇÃO MATEMÁTICA

PRODUÇÃO DE SIGNIFICADOS PARA OBJETOS DE APRENDIZAGEM: DE AUTORES E LEITORES PARA A EDUCAÇÃO MATEMÁTICA LUCIANE MULAZANI DOS SANTOS PRODUÇÃO DE SIGNIFICADOS PARA OBJETOS DE APRENDIZAGEM: DE AUTORES E LEITORES PARA A EDUCAÇÃO MATEMÁTICA Dissertação apresentada como requisito parcial à obtenção do grau de

Leia mais

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da 6 Conclusões No âmbito do framework teórico da Engenharia Semiótica, este trabalho faz parte de um esforço conjunto para desenvolver ferramentas epistêmicas que apóiem a reflexão do designer durante o

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade

Leia mais

Metadados Essenciais: Uma Metodologia para Catalogação de Objetos de Aprendizagem no Repositório Digital ROAI

Metadados Essenciais: Uma Metodologia para Catalogação de Objetos de Aprendizagem no Repositório Digital ROAI Metadados Essenciais: Uma Metodologia para Catalogação de Objetos de Aprendizagem no Repositório Digital ROAI Jhônatan Ferlin, Avanilde Kemczinski, Edson Murakami, Marcelo da Silva Hounsell Departamento

Leia mais

Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza

Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza Sistemas de Informações Gerenciais Introdução as redes de comunicação e redes de computadores Prof. MSc Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados

Leia mais

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Rafael Strecker Coelho de Souza ANÁLISE E COMPARATIVO DE FERRAMENTAS CMS COMPATÍVEIS

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

2 Gerenciamento de Log 2.1 Definições básicas

2 Gerenciamento de Log 2.1 Definições básicas 2 Gerenciamento de Log 2.1 Definições básicas Os logs são fontes riquíssimas de informação e são gerados pelos servidores e pelas aplicações conforme eventos significativos acontecem. Em [1], log é definido

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software 1 Mundo Real Modelagem Elicitação Análise Problemas Soluções Gap Semântico Mundo Computacional Elicitação de Requisitos Análise de Requisitos Modelagem dos Requisitos 2 Projeto

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11. Sumário Introdução... xiii A quem se destina este livro...xiii Como o livro está organizado...xiii Como baixar os arquivos de prática...xiv Suas configurações no Project...xv Suporte técnico...xvi Parte

Leia mais

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes 6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes A ferramenta MAS-ML Tool surgiu com o objetivo de viabilizar o processo de desenvolvimento proposto na Seção anterior, implementando

Leia mais

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Universidade Federal do Espírito Santo Inteligência Artificial Agenda Semântica Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Vitória 2007/02 Agenda Semântica

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Maria das Dores Rosa Alves¹, Marcia Izabel Fugisawa Souza¹ ¹Embrapa Informática Agropecuária Caixa postal 6014 Campinas, SP

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

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

Ontologias na Computação

Ontologias na Computação Ontologias na Computação Claudio Akio Namikata, Henrique Sarmento, Marcio Valença Ramos cjnamikata90@hotmail.com, rique-182@hotmail.com, maxtr3m3@hotmail.com Resumo: Este trabalho tem como objetivo apresentar

Leia mais

3 Estratégia para o enriquecimento de informações

3 Estratégia para o enriquecimento de informações 34 3 Estratégia para o enriquecimento de informações Podemos resumir o processo de enriquecimento de informações em duas grandes etapas, a saber, busca e incorporação de dados, como ilustrado na Figura

Leia mais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares André Assis Lôbo de Oliveira Francisco Guerra Fernandes Júnior Faculdades Alves Faria, 74445190, Brasil andrelobin@hotmail.com,

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software (Cap 6 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Requisitos funcionais e não funcionais

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Metadados e Dublin Core

Metadados e Dublin Core Metadados e Dublin Core Eloi Juniti Yamaoka 14 de Fevereiro de 2007 Meta Meta = sobre (about) Metadados Metametadados Metadata Meta data Metainformação Metadados? Dados sobre dados Informação sobre informações

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

OBJETOS DE APRENDIZAGEM

OBJETOS DE APRENDIZAGEM MEDs e METADADOS OBJETOS DE APRENDIZAGEM O que é um objeto de aprendizagem? Segundo Wiley, D.A.,2000 Qualquer entidade DIGITAL que pode ser usada, reusada ou referenciada durante um processo de aprendizagem

Leia mais

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF Ben-Hur de Sousa Lopes¹, Jaime William Dias¹ ¹Universidade Paranaense (UNIPAR) Paranavaí Paraná Brasil

Leia mais

PPGI-SGPC Sistema Para Gestão da Produção Científica

PPGI-SGPC Sistema Para Gestão da Produção Científica PPGI-SGPC Sistema Para Gestão da Produção Científica Miguel G. P. Carvalho, Ruben P. Albuquerque, Marcos R. S. Borges, Vanessa Braganholo Programa de Pós Graduação em Informática Universidade Federal do

Leia mais

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010). 1 Introdução Os avanços na tecnologia da informação, bem como o crescimento da sociedade da informação através do uso da Internet, obrigaram os governos de inúmeros países, em seus mais variados níveis,

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 agosto de 2007 As informações contidas neste documento, incluíndo quaisquer URLs e outras possíveis referências a

Leia mais

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0 COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.

Leia mais

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA FACILITADOR VIRTUAL DA APRENDIZAGEM EM QUÍMICA Campina Grande-

Leia mais

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Gerenciamento do ciclo de vida de um documento Simone de Abreu Gerenciamento do ciclo de vida de um documento Simone de Abreu É o gerenciamento do ciclo de vida de todos os registros, em todos os tipos de mídia, desde a criação até a destruição ou arquivo permanente.

Leia mais

As tecnologias de informação e comunicação

As tecnologias de informação e comunicação As tecnologias de informação e comunicação Edilaine Silva 83382 Guilherme Barros 75700 Pedro Fernandes 78842 Tainara Aleixo 83494 Universidade Federal de Viçosa CCE- Departamento de Matemática. O que são

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle. Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos

Leia mais

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

MODELAGEM DE SISTEMAS DE INFORMAÇÃO Unidade III MODELAGEM DE SISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Ciclo de Vida de Sistemas Engenharia de Software Aplicações de Software Diagramação de Software Ciclo

Leia mais

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

Leia mais

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS. 2. Tipo Estudo de Caso X Situação Problema Pesquisa Projeto

PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS. 2. Tipo Estudo de Caso X Situação Problema Pesquisa Projeto PLANO DA SITUAÇÃO DE APRENDIZAGEM CURSOS TÉCNICOS 1. Identificação Curso Técnico em Informática Unidade São José Coordenador da S.A Walter André de Almeida Pires Unidade(s) Curricular(es) Envolvida(s)

Leia mais

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional Lucas Indrusiak, Renato Azevedo, Giovani R. Librelotto UNIFRA Centro Universitário Franciscano Rua dos Andradas, 1614 97.010-032 Santa

Leia mais

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB ISBN 978-85-61091-05-7 V EPCC Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB Lincoln Fernandes Paulino

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

PERSPECTIVAS DO PROJETO DE ENSINO FÁBRICA DE SOFTWARE *

PERSPECTIVAS DO PROJETO DE ENSINO FÁBRICA DE SOFTWARE * PERSPECTIVAS DO PROJETO DE ENSINO FÁBRICA DE SOFTWARE * Hudson Henrique de Souza LOPES 1 ; Wellington Garcia PEREIRA 2 ; Getúlio Antero de DEUS JÚNIOR 3. 1 Bolsista do PET EEEC/UFG hudsonhsl@hotmail.com.

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

sendo bastante acessível e compreendido pelos usuários que o utilizarem. APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Claudiléia Gaio Bandt 1 ; Tiago Heineck 2 ; Patrick Kochan 3 ; Leila Lisiane Rossi 4 ; Angela Maria Crotti da Rosa 5 INTRODUÇÃO Este artigo descreve

Leia mais

Sumário. 4 Introdução. 4 Definições. 4 Utilização. 4 Padrões. 4 Conclusão. 4 Os padrões permitem 4 Padrões USMARC 4 Padrões Dublin Core

Sumário. 4 Introdução. 4 Definições. 4 Utilização. 4 Padrões. 4 Conclusão. 4 Os padrões permitem 4 Padrões USMARC 4 Padrões Dublin Core Sumário 4 Introdução 4 Definições 4 Utilização 4 Padrões 4 Os padrões permitem 4 Padrões USMARC 4 Padrões Dublin Core 4 Conclusão Introdução 4 A constante evolução da área de informática, permite com que

Leia mais

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.01.01 http://www.unesp.br/ai/pdf/nt-ai.04.01.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A Assessoria

Leia mais

Aprimoramento através da integração

Aprimoramento através da integração Aprimoramento através da integração Uma parceria para implementar uma solução de aprendizagem em tempo recorde Visão Geral Com mais de 70 anos de excelência na produção de conhecimento no Brasil, a Fundação

Leia mais

RESOLUÇÃO DE SITUAÇÕES-PROBLEMA EM TRIGONOMETRIA

RESOLUÇÃO DE SITUAÇÕES-PROBLEMA EM TRIGONOMETRIA ISSN 2316-7785 RESOLUÇÃO DE SITUAÇÕES-PROBLEMA EM TRIGONOMETRIA Priscila Sonza Frigo Universidade Regional Integrada do Alto Uruguai e das Missões- Campus Santiago E-mail: prisaninho@hotmail.com Franciele

Leia mais

PRESERVAÇÃO DIGITAL DA MEMÓRIA TÉCNICO-CIENTÍFICA DO INPE

PRESERVAÇÃO DIGITAL DA MEMÓRIA TÉCNICO-CIENTÍFICA DO INPE PRESERVAÇÃO DIGITAL DA MEMÓRIA TÉCNICO-CIENTÍFICA DO INPE BANON, G. J. F. *, RIBEIRO, M. L. *, BANON, L. C. A grande inovação da área digital foi a possibilidade de criar com grande facilidade e rapidez,

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

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

UML: Diagrama de Casos de Uso, Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema

Leia mais

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO 1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos

Leia mais

Professor: Curso: Disciplina: Aula 4-5-6

Professor: Curso: Disciplina: Aula 4-5-6 Professor: Curso: Disciplina: Aula 4-5-6 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Engenharia de Requisitos 03º semestre 1 Engenharia de Requisitos Prof. Marcos

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

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

Divulgação de Dados Meteorológicos das Estações da Grande Florianópolis

Divulgação de Dados Meteorológicos das Estações da Grande Florianópolis Projeto Integrador Divulgação de Dados Meteorológicos das Estações da Grande Florianópolis Alunos: Rafael Censi Borges Viviane Tayão Dutra Joice Taise Martins Rogério Uhr Santiago Fimínia Martins Professor

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas BPM e SOA Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Como funcionam as organizações? O que ébpm Business Process Management (BPM)

Leia mais

Desenvolve Minas. Modelo de Excelência da Gestão

Desenvolve Minas. Modelo de Excelência da Gestão Desenvolve Minas Modelo de Excelência da Gestão O que é o MEG? O Modelo de Excelência da Gestão (MEG) possibilita a avaliação do grau de maturidade da gestão, pontuando processos gerenciais e resultados

Leia mais

Aplicações Computacionais da linguagem N-GraphML

Aplicações Computacionais da linguagem N-GraphML Aplicações Computacionais da linguagem N-GraphML Daniel Vaz dos Santos 1, Gleifer Vaz Alves 1 1 Departamento Acadêmico de Informática Universidade Tecnológica Federal do Paraná (UTFPR) Avenida Monteiro

Leia mais

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39

Capítulo 2 Usabilidade... 24 2.1 Definição de usabilidade... 25 2.2 Resumo... 39 2.3 Leitura recomendada... 39 Prefácio... IX Lista de Siglas e Abreviaturas... XIII Lista de Figuras e Quadros... XVI Capítulo 1 Portal web... 1 1.1 Definição de portal web... 3 1.2 Portal corporativo... 8 1.3 Resumo... 22 1.4 Leitura

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Série de ebooks sobre desenvolvimento em paralelo ágil: Capítulo 2 Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Novas pressões, mais restrições

Leia mais

O Processo de Engenharia de Requisitos

O Processo de Engenharia de Requisitos UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo de Engenharia de Requisitos Engenharia de Software 2o.

Leia mais

Objetivos Específico

Objetivos Específico Banco de Dados Ementa (DBA) Conceitos Gerais sobre Banco de Dados Instalação e configuração da Ferramenta de Banco de Dados. Elaboração de projeto de Banco de Dados. Implementação do projeto de Banco de

Leia mais

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite Resolução de Problemas de Rede Disciplina: Suporte Remoto Prof. Etelvira Leite Ferramentas para manter o desempenho do sistema Desfragmentador de disco: Consolida arquivos e pastas fragmentados Aumenta

Leia mais

2 Fundamentação Conceitual

2 Fundamentação Conceitual 2 Fundamentação Conceitual 2.1 Computação Pervasiva Mark Weiser define pela primeira vez o termo Computação Ubíqua ou Computação Pervasiva (Ubiquitous Computing) em (10). O autor inicia o trabalho com

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

CHAMADA PÚBLICA SIMPLIFICADA Nº 15/2013 SELEÇÃO DE PROFISSIONAIS PARA O PROJETO REGISTRO DE IDENTIDADE CIVIL REPLANEJAMENTO E NOVO PROJETO PILOTO

CHAMADA PÚBLICA SIMPLIFICADA Nº 15/2013 SELEÇÃO DE PROFISSIONAIS PARA O PROJETO REGISTRO DE IDENTIDADE CIVIL REPLANEJAMENTO E NOVO PROJETO PILOTO CHAMADA PÚBLICA SIMPLIFICADA Nº 15/2013 SELEÇÃO DE PROFISSIONAIS PARA O PROJETO REGISTRO DE IDENTIDADE CIVIL REPLANEJAMENTO E NOVO PROJETO PILOTO 1. PROJETO SELECIONA PROFISSIONAIS PARA DIVERSOS PERFIS

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

MODELAGEM DE SISTEMAS

MODELAGEM DE SISTEMAS MODELAGEM DE SISTEMAS Diagramas de Casos de Uso Profa. Rosemary Melo Diagrama de Casos de Uso Modelagem de Sistemas Apresenta uma visão externa geral das funções ou serviços que o sistema deverá oferecer

Leia mais

MANUAL DE TRABALHO INTERDISCIPLINAR TI - INTEGRADOR FAN CEUNSP

MANUAL DE TRABALHO INTERDISCIPLINAR TI - INTEGRADOR FAN CEUNSP MANUAL DE TRABALHO INTERDISCIPLINAR TI - INTEGRADOR FAN CEUNSP Salto 2010 MANUAL DE TRABALHO INTERDISCIPLINAR TI / INTEGRADOR 0 SUMÁRIO APRESENTAÇÃO... 2 TRABALHO INTERDISCIPLINAR (TI)... 3 ORGANIZAÇÃO...

Leia mais

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO DESENVOLVENDO UM PROJETO 1. Pense em um tema de seu interesse ou um problema que você gostaria de resolver. 2. Obtenha um caderno

Leia mais