XVERSIONING - UMA FERRAMENTA PARA VERSIONAMENTO DE ESQUEMAS XML

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

Download "XVERSIONING - UMA FERRAMENTA PARA VERSIONAMENTO DE ESQUEMAS XML"

Transcrição

1 RENAN BET RODRIGUES XVERSIONING - UMA FERRAMENTA PARA VERSIONAMENTO DE ESQUEMAS XML JOINVILLE SC 2011

2 ii UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO RENAN BET RODRIGUES XVERSIONING - UMA FERRAMENTA PARA VERSIONAMENTO DE ESQUEMAS XML Trabalho de conclusão de curso submetido à Universidade do Estado de Santa Catarina como requisito para obtenção do título de Bacharel em Ciência da Computação. Orientador: Dr. Cristiano Damiani Vasconcellos Co-orientador: Dr. Denio Duarte (UFFS) JOINVILLE SC 2011

3 iii RENAN BET RODRIGUES XVERSIONING - UMA FERRAMENTA PARA VERSIONAMENTO DE ESQUEMAS XML Este Trabalho de Conclusão de Curso foi julgado adequado para a obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Ciência da Computação Integral do CCT/UDESC. Banca Examinadora: Orientador: Dr. Cristiano Damiani Vasconcellos Co-orientador: Dr. Denio Duarte (UFFS) Membro: Dr. Marco Aurélio Wehrmeister Membro: Dr. Carla Diacui Medeiros Berkenbrock Joinville SC 2011

4 iv RESUMO A XML é a linguagem mais utilizada para garantir a troca de dados entre as aplicações computacionais com grande flexibilidade e independência de plataforma. A boa formação dos documentos XML é a única restrição para a construção dos documentos, porém algumas aplicações podem necessitar conhecer a estrutura dos documentos a priori. A definição da estrutura de um documento XML fica a cargo dos esquemas, que estabelecem regras para a construção dos documentos. Todavia é necessário que os esquemas evoluam devido a alguma necessidade da aplicação, e por esta evolução documentos que anteriormente respeitavam as restrições impostas pelo esquema podem perder a validade perante as regras. A adequação dos documentos ao novo esquema pode acarretar em perda de dados. Para verificar se documentos não respeitam mais o novo esquema seria necessário reavaliar esses documentos, porém este é um processo computacionalmente caro, que aumenta de acordo com o número e tamanho dos documentos. Este trabalho tem como objetivo propor uma abordagem para versionamento de esquemas, e validação das instâncias, para que documentos XML anteriormente válidos não percam sua validade perante o esquema atualizado. PALAVRAS-CHAVE: XML, Esquemas XML, Evolução de Esquemas, Versionamento de Esquemas.

5 v ABSTRACT The XML is most often used language to perform data exchange between computer applications with great flexibility and platform independence. The only restriction for document construction is to have a well formed XML document, but some applications need to know the document structure "a priori". The XML document structure definition is responsibility of the schemes, which establish rules for the documents construction. However, it is necessary that the schemes evolve because of some need of the application and documents for this development that previously complied with the restrictions imposed by the scheme may expire before the rules. The adequacy of the documents for the new scheme may result in data loss. To verify that documents no longer honor the new scheme would need to review these documents, but this process is a computationally "expensive", which increases with the number and size of documents. This paper aims to propose an approach for versioning of schemas, and validation of instances, so that valid XML documents previously not lose its validity before the schema updated. KEYWORDS: XML, XML Schema, Schema Evolution, Schema Versioning.

6 vi LISTA DE FIGURAS Figura 1: Documento XML... 7 Figura 2: Representação em árvore de um documento XML... 8 Figura 3: Documento DTD Figura 4: Documento XSD Figura 5: Expressão XQuery Figura 6: Documento XML alterado Figura 7: Documento XUpdate Figura 8: Representação de versões (GALANTE, 2003) Figura 9: Exemplo de versões da árvore RBVM (CHIEN, 2002) Figura 10: Arquitetura Xyleme Figura 11: Versionamento com identificadores persistentes Figura 12: Módulo de validação do TXSchema (DYESON, 2007) Figura 13: Casos de uso Figura 14: Arquitetura Figura 15: Diagrama de Classes Figura 16: Documento XSD Figura 17: versao.xml Figura 18: versao.xml Figura 19: Diagrama de atividades do versionamento snapshot-delta Figura 20: Diagrama de atividades do versionamento snapshot-collection Figura 21: Diagrama de atividades da validação do snapshot-delta Figura 22: Diagrama de atividades da validação snapshot-collection Figura 23: Interface da ferramenta Figura 24: Tela de cadastro de XML Schema Figura 25: Tela de versionamento do Esquema XML... 45

7 vii Figura 26: Tela de validação de documentos XML Figura 27: publicacoes.xsd Figura 28: publicacoes.xml Figura 29: Tela principal da ferramenta com publicacoes.xsd cadastrado Figura 30: Documento XUpdate de inserção do elemento nivelprodutividadecnpq Figura 31: Documento XUpdate de inserção do elemento patente Figura 32: Tela com versões do documento publicações.xsd Figura 33: Documento XML publicações com a adição do elemento nivelprodutividadecnpq Figura 34: XML publicações com a adição do elemento patente Figura 35: Alerta de documento válido... 55

8 viii LISTA DE TABELAS Tabela 1: Comparativo entre as abordagens

9 ix LISTA DE ABREVIATURAS API Application Programming Interface DOM Document Object Model DTD Document Type Definition HTML HyperText Markup Language JSP Java Server Pages SAX Simple API for XML SGBD Sistema Gerenciador de Banco de Dados XML extensible Markup Language XSD XML Schema Definition W3C World Wide Web Consortium

10 x SUMÁRIO 1. Introdução Objetivos Estrutura do Trabalho Dados semi-estruturados XML API XML SAX (Simple API for XML) DOM (Document Object Model) Esquemas XML DTD XML Schema Associação de documentos XML a esquemas Evolução de esquemas Evolução de esquemas em banco de dados semi-estruturados Xquery XUpdate Versionamento Considerações parciais Trabalhos Relacionados Snapshot-collection e Snapshot-delta Usefulness-Based Change Control Reference-Based Version Model Xyleme Identificadores Persistentes TXSchema Considerações Parciais XVersioning Arquitetura Estrutura do banco de dados exist Método de cadastro de Esquemas XML... 36

11 xi 4.4. Método de versionamento de Esquemas XML Método de validação de documentos XML Projeto de Interface Gráfica Tela cadastrar Esquema XML Tela Versionar Esquema XML Tela Validar Documento XML Considerações Parciais Estudo de caso Conclusões Referências... 57

12 2 1. Introdução A tecnologia XML (extensible Markup Language) foi padronizada em 1996 pela World Wide Web Consortium (W3C). A principal característica desta linguagem é a sua independência de plataforma, por ser aplicada a uma grande variedade de aplicações heterogêneas, e flexibilidade possibilitando ao usuário definir seus próprios elementos e linguagens de marcação. Um documento XML descreve os dados e o que eles significam (ALMEIDA, 2002). A linguagem XML é o principal mecanismo para representação de dados semi-estruturados. Os dados semi-estruturados são caracterizados por não possuírem tipos associados à sua estrutura, são auto descritivos e irregulares. Outra utilidade desta linguagem, devido a sua independência de plataforma, é a troca de dados entre aplicações. Para tornar isto possível é necessário que o documento XML esteja bem formado 1. Porém, aplicações podem necessitar conhecer a estrutura dos documentos a priori, a fim de aperfeiçoar consultas ou então integrar documentos de várias fontes. Para tornar isto possível é necessário que existam padrões estabelecidos entre as aplicações, ou seja, definir a estrutura dos documentos XML a serem trocados (W3C, 2008). O padrão da estrutura de documentos XML é estabelecidos por esquemas. Ao associar um esquema a um documento XML, este se torna uma instância do esquema. Um documento XML que respeita as regras impostas pelo esquema é um documento válido a seu esquema. Portanto a validade de um documento XML está totalmente ligada ao padrão previamente especificado e associado (BRAGANHOLO, 2001). Conforme Galante (2003), a padronização de documentos XML é necessária devido às variações de estruturas dos documentos para uma mesma aplicação, ou seja, vários documentos diferentes com a mesma informação. Ao estabelecer este padrão algumas vantagens podem ser citadas como: A estrutura dos documentos são definidas a priori ; 1 A propriedade de boa formação (well formedness) é parte da estrutura lógica do documento XML. Cada documento contém apenas uma raiz, que abre e fecha o documento. Outros elementos dentro das marcas de abertura e fechamento da raiz são opcionais (TITTEL, 2002).

13 3 Auxílio na consulta sobre os documentos associados; Otimização na consultas dos dados; Permite a padronização de um documento XML. Segundo Bex (2004), existem inúmeras formas de padronizar os documentos XML, podendo ser por uma aplicação ou então alguma linguagem. Duas das principais linguagens para este fim são: Document Type Definition (DTD); XML Schema Definition (XSD). No início, quando a tecnologia XML surgiu, quem exercia o papel de padronizador dos documentos XML eram as DTDs. Esta já era utilizada para definir regras aos documentos de outra tecnologia, a Standard Generalized Markup Language (SGML), antecessora ao XML, e passou a ser utilizada também para documentos XML (BEX, 2004). DTDs são capazes de estabelecer as regras a serem seguidas por um documento XML, porém apresenta algumas limitações como: O único tipo de dado suportado por essa tecnologia é o texto; Não é escrito na linguagem XML. Assim, por estas limitações e por não ser uma recomendação W3C, o DTD caiu em desuso, abrindo espaço para outras tecnologias como o XML Schema. O padrão XML Schema teve sua recomendação lançada em 2001 pelo consórcio W3C, este responsável por vários padrões Web. Esta tecnologia supre todas as limitações da DTD, além de fornecer recursos, tais como (W3C, 2004): Construir tipos próprios; Realizar relacionamentos entre elementos; É escrito na linguagem XML. Esquemas não são entidades estáticas pois necessitam evoluir conforme a necessidade do usuário. Ao se atualizar um esquema, documentos XML que estão associados e válidos a este esquema podem perder sua validade devido às alterações realizadas. Segundo Silveira (2003) a alteração dos documentos para a nova estrutura seria uma solução. Contudo, para esquemas com instâncias que apresentam alto grau de distribuição, tal abordagem não pode ser adotada, pois normalmente a totalidade do conjunto de instâncias não é conhecido com antecedência, ou alguns documentos podem não ser acessados no momento da

14 4 propagação das alterações. Logo, determinados documentos XML podem se tornar inválidos. Para contornar este problema, este trabalho propõe uma ferramenta de versionamento de esquemas e validação de documentos XML. Onde ao ocorrer a evolução do esquema, cria-se uma nova versão do esquema, garantindo que documentos XML válidos em relação ao esquema em determinado momento do tempo, possam ser acessados pelas aplicações através do esquema associado (COOX, 2003). Segundo Galante (2003) a evolução e versionamento de esquemas são duas técnicas para realizar modificações na estrutura dos esquemas, mantendo a consistência entre o esquema e os documentos associados. Enquanto a evolução mantém apenas a versão corrente do esquema e seus respectivos documentos associados, o versionamento preserva todas as versões anteriores à evolução, e também seus documentos associados, em cada evolução, garantindo a funcionalidade das instâncias armazenadas frente às alterações, evitando a perda de informações dos documentos e garantindo a compatibilidade das aplicações Objetivos Objetivo Geral: Propor uma abordagem para versionamento de esquemas XML e validação de documentos XML, para que documentos XML não percam sua validade perante o esquema associado, após ocorrer uma evolução. Será implementada uma aplicação para validar essa abordagem. Objetivos Específicos: Catalogar as abordagens para versionamento de documentos; Identificar abordagens comuns entre as abordagens catalogadas; Definir um estudo de caso para a aplicação do trabalho proposto; Especificar e implementar a aplicação para versionamento de esquemas XML e validação de documentos XML associados a um conjunto de versões do esquema XML Estrutura do Trabalho Este trabalho está disposto em quatro capítulos, da maneira que segue:

15 5 O próximo capítulo apresenta alguns conceitos necessários para o entendimento deste trabalho. Serão detalhados os conceitos básicos para fundamentação teórica deste trabalho. No Capítulo 3 são relatados estudos realizados na área de versionamento de documentos. Estes contendo métodos fundamentais para a realização deste trabalho. O Capítulo 4 detalha o projeto de implementação para o versionamento de esquemas XML. Primeiramente serão apresentados definições básicas para executar o versionamento de esquemas XML. Assim ao definir os componentes chave para a sua realização, e apresentado diagramas de fluxo para a sua execução.

16 6 2. Dados semi-estruturados Os dados semi-estruturados são caracterizados por não possuírem tipos associados a sua estrutura. Estes propõem uma estrutura heterogênea, não sendo completamente não-estruturados ou tipados. Tipos são esquemas a serem respeitados pelos documentos XML durante seu tempo de vida. Além disso, são auto descritivos e irregulares, a estrutura e o conteúdo são descritos no mesmo escopo sem distinção entre suas estruturas e os dados propriamente ditos (ABITEBOUL, 2000) XML Recomendado pela W3C (World Wide Web Consortium) em 1998, o XML (extensive Markup Language) é uma linguagem de marcação para representar dados semi-estruturados. De forma explícita ou implícita o esquema de representação está presente juntamente com o dado, propondo uma representação única (W3C, 2010). Um documento XML descreve os dados e o que eles significam. A principal característica desta linguagem é a sua independência de plataforma, por ser aplicada a uma grande variedade de aplicações, garantindo a interoperabilidade de aplicações heterogêneas. É também flexível, possibilitando ao usuário definir seus próprios elementos e linguagens de marcação (ALMEIDA, 2008). Um documento XML é composto por elementos, chamados de tag. Estas tags são aninhadas uma na outra, modelando e rotulando o conteúdo do documento. No nível mais alto do documento, está presente uma única tag, denominada raiz, outros elementos são opcionais e devem ser declarados após a abertura e antes do fechamento da raiz. Quando um documento satisfaz às regras mínimas da XML, ou seja, respeitar o aninhamento das tags, diz-se que ele é bem formado. A Figura 1 mostra um exemplo de documento bem formado em XML (ERIK, 2003).

17 7 Figura 1: Documento XML. O documento da Figura 1, por exemplo, possui as tags universidade, aluno, nome, matricula, endereco, cidade, estado e pais. Além dos elementos internos também chamados de subelementos, a tag aluno possui um atributo sexo. Este documento é bem formado pois todas as tags são abertas e fechadas respeitando o aninhamento da XML. A tag universidade é a raiz do documento, pois é o primeira a ser aberta e a última a ser fechada. O mesmo é válido para as outras tags internas, respeitando o aninhamento. A linguagem XML propõe um modelo hierárquico onde os dados podem ser representados sob a forma de uma árvore com nós etiquetados. A Figura 2 representa o documento XML da Figura 1 no formato de árvore.

18 8 Figura 2: Representação em árvore de um documento XML. Na árvore representada pela Figura 2, pode-se perceber que o nó raiz é o elemento universidade, pois este é o elemento mais externo do documento. O elemento aluno aparece como um subelemento de universidade (duas vezes), assim estes são filhos do nó universidade. Por fim os elementos nome, matricula e endereco são descritos na árvore como sendo filhos de um dos elementos aluno, pois seguem a regra de aninhamento, ou seja, são abertos após o elemento aluno e fechados antes do elemento aluno ser fechado. O nó sexo é representado na árvore como filho do elemento aluno. Porém este é um atributo do elemento aluno e não um filho propriamente dito. Atributos podem ou não ser representados na árvore e, quando são, aparecem normalmente como os filhos mais a esquerda, cujo nome é precedido pelo Para a manipulação de documentos XML é necessário um analisador (parser) que suporte todas as funcionalidades necessárias para percorrer as estruturas destes documentos, permitindo o acesso aos elementos e seus atributos. Exemplo de processador XML são os browsers da Web. Os processadores XML são programas de software usados para analisar documentos XML e fornecem acesso ao conteúdo e à estrutura do documento. Com estes é possível também validar a estrutura de documentos XML. Com a popularização da linguagem XML e seus dialetos uma série de produtos surgiu para facilitar o uso desta nova tecnologia. Entre eles destacam-se, editores e gerenciadores de recursos. Todos estes compartilhavam características,

19 9 tais como: lidar com documentos, analisar e tratar da marcação XML. Também surgiram interfaces de programação de aplicações, ou API (Application Programming Interface), para o processamento da XML API XML Uma API é um conjunto de rotinas e padrões estabelecidos por um software, utilizado para acesso das suas funcionalidades por aplicações, evitando que a aplicação envolva-se em detalhes da implementação do software, assim, utilizando apenas seus serviços. Uma API XML é utilizada para facilitar a leitura, criação e atualização de documentos no formato XML. Além disso é encarregada da análise e o redirecionamento de dados para manipuladores de evento, enquanto as aplicações tratam somente os eventos2 (ERIK, 2003). O manipulador de eventos é um mecanismo de tratamento de ocorrência de um evento. Algumas tarefas exigem que a estrutura dos documentos permaneça em memória, possibilitando operações não seqüenciais. Para esse tipo de processamento é necessário a representação em árvore do documento na memória (ERIK, 2003). SAX (Simple API for XML) e DOM (Document Object Model) são dois exemplos de APIs XML. O desenvolvimento do padrão para a interface SAX foi liderado por David Megginson (HAROLD, 2002) e o padrão para a interface DOM foi publicado pelo World Wide Web Consortium (W3C, 2005). SAX é baseada em eventos, enquanto DOM é baseada em árvores, com métodos para permitir a criação e modificação de objetos. 2 Evento é uma mudança de comportamento em um fluxo de dados. O processador XML recebe um conjunto de dados e no momento que for encontrado alguma instrução de processamento o processador realiza, por exemplo, abertura ou fechamento de tag. Essas instruções são tratadas pelo processador em particular. (ERIK, 2003).

20 SAX (Simple API for XML) A SAX considera um documento XML como sendo uma cadeia de caracteres. É baseada em um mecanismo serial e orientado a eventos, que faz o acesso de elemento a elemento do documento XML a ser processado. A API SAX, gera eventos à medida que encontra elementos, atributos ou textos no documento. Existem eventos gerados quando o parser encontra o início do elemento, término do elemento, atributos, conteúdo de textos, entidades e outros (SANTOS, 2003). A interface SAX pode ser utilizada por aplicações que têm a necessidade de processar os documentos XML de modo seqüencial. Tende a processar um documento de forma rápida e baixo uso de memória para processamento. Esta interface é indicada para aplicações que processam muitos documentos simultaneamente ou aplicações que não suportam a representação em memória de todo o documento XML (ERIK, 2003) DOM (Document Object Model) DOM é uma interface de programação, baseada no modelo de objetos, que permite a manipulação e transformação de documentos em XML. A interface DOM manipula documentos XML na forma de uma estrutura em árvore. Quando um documento é carregado na memória do computador, suas estruturas podem ser lidas e manipuladas através do objeto DOM (ERIK, 2003). A interface DOM faz a representação do documento XML na forma de uma árvore de objetos, onde cada nó da árvore representa um componente do documento. Após o processamento completo do documento XML, a memória deverá conter a árvore de objetos DOM, a qual disponibiliza para as aplicações qualquer informação relacionada à estrutura e ao conteúdo do documento (SANTOS, 2003). O modelo implementado pela interface DOM é a forma mais flexível para manipulação do conteúdo de um documento XML. É possível navegar pelo documento em ordem aleatória. A utilização do objeto DOM requer a leitura de toda estrutura XML em uma árvore armazenada em memória, podendo levar a um alto consumo desse recurso do computador (ERIK, 2003). Segundo Santos (2003), o modelo DOM define classes de objetos para representar cada fragmento de um documento XML. Existem objetos para

21 11 representação de elementos, atributos, entidades, texto, entre outros. O objeto básico do DOM é o nó e, a maioria dos objetos DOM herda as características da sua classe dele. A raiz da árvore DOM é representada pelo nó Document, a qual possibilita o acesso à árvore completa do documento XML Esquemas XML Devido à independência de plataforma da XML, aplicações baseadas na tecnologia XML podem trocar dados com outras diferentes aplicações. Para tal é necessário que o documento XML esteja bem formado, porém aplicações podem necessitar conhecer a estrutura dos dados trocados a priori, a fim de otimizar consultas ou então integrar documentos de várias fontes. Para tornar isto possível é necessário que existam padrões estabelecidos entre as aplicações, ou seja, definir a estrutura dos documentos XML a serem trocados. A estrutura dos documentos XML são definidas por esquemas. Todavia existem inúmeras formas de padronizar os documentos XML, podendo ser por uma aplicação ou então alguma linguagem. Como citado anteriormente duas das principais linguagens que definem esquemas XML são: DTD e XML Schema (XSD) DTD A DTD (Document Type Definition) define as regras de quais elementos que um documento XML associado pode conter e seus conteúdos. Esta definição é feita por uma lista de elementos e atributos. Uma declaração de um DTD pode ser feita por um subconjunto interno ou externo de um documento XML. As declarações como um subconjunto interno são declaradas no documento, enquanto as declarações externas estão localizados em um documento separado declarados através de um identificador no documento XML. A Figura 3 ilustra um exemplo de documento DTD.

22 12 Figura 3: Documento DTD. No documento da Figura 3 são exemplificado alguns componentes de um DTD:!ELEMENT: Define um elemento do documento. Na linha 2 é declarado o elemento aluno que contém nome, matricula e endereco como elementos filho. Na linha 4 é declarado o elemento nome e contém uma string como conteúdo.!attlist: Define um atributo de um elemento. Na linha 3 é declarado o atributo sexo ao elemento aluno que contém um caractere como conteúdo, é obrigatório e seu padrão é M. A declaração interna ou externa de um DTD no documento XML é feita pela tag!doctype. Nessa tag é definido o elemento raiz do documento e o DTD associado. A DTD era utilizada como forma padrão de validação de documentos, porém em 2001 foi proposta pela W3C a linguagem XML Schema que por sua vem substituindo a DTD por possuir maneira de definir esquemas mais complexos e é baseada na linguagem XML XML Schema O W3C lançou no ano 2001 a recomendação para a linguagem de esquemas XML, o XML Schema. Escrito na linguagem XML, é utilizado para definir regras de validação para documentos XML. Um documento XSD (XML Schema Definition) é um documento XML utilizado para descrever a estrutura de um documento XML. Este documento é formado por: namespace, elemento, atributo e tipo de dados. A Figura 4 mostra um esquema XML escrito na linguagem XML Schema.

23 13 Figura 4: Documento XSD. No documento da Figura 4 são exemplificado alguns dos componentes de um documento XSD: Elemento: nas linhas 3, 6, 9, 10, 11, 14, 15 e16 são exemplos de declaração de elementos, esta regra define os elementos que um documento XML deve possuir, considerando o aninhamento das tags; Atributo: na linha 21 há a declaração de um atributo. Esta declaração define um atributo do elemento aluno declarado na linha 6, pois a declaração está dentro da declaração do elemento aluno; Tipo de dados: nas linhas 9, 10, 14, 15,16 e 21 o atributo type da tag define o tipo de dado do conteúdo do elemento ou atributo deve possuir, neste caso a linha 10 há a declaração do tipo decimal, as demais linhas são do tipo string. Em XSD há também a possibilidade da declaração de tipo de dados complexos, linhas 4, 7 e 12, onde o conteúdo são elementos e/ou atributos.

24 14 Namespace: na linha 2 o atributo xmlns contém a declaração de um namespace. Um namespace é uma coleção de dados e tem seu nome associado a um nome único. Com este componente um elemento e/ou atributo contém a característica única do nome associado. Em documentos XSD é obrigatório o uso da tag schema como elemento raiz dos documentos podendo conter um prefixo xsd ou xs, caso tenha-se utilizado o atributo xmlns e definido tais prefixos. As demais tags presentes no documento serão filhos da tag schema, respeitando o aninhamento da XML Associação de documentos XML a esquemas Como visto, o padrão da estrutura de documentos XML é estabelecido por esquemas. Ao associar um esquema a um documento XML, este se torna uma instância do esquema, afirma-se então que, se além de bem formado, o documento XML é válido e está de acordo com as regras impostas pelo esquema associado. Portanto, a validade de um documento XML está totalmente ligada ao padrão previamente especificado e associado (BRAGANHOLO, 2001). A padronização de documentos XML é necessária devido às variações de estruturas dos documentos para uma mesma aplicação, ou seja, vários documentos diferentes com a mesma informação. Ao estabelecer este padrão algumas vantagens podem ser citadas como (GALANTE, 2003): A estrutura dos documentos são definidas a priori ; Auxílio na consulta sobre os documentos associados; Otimização na consultas dos dados; Permite a padronização de um documento XML. A associação do esquema ao documento instância em XML Schema, se dá através de uma referência ao documento XSD no elemento raiz do documento. Com isso, o documento XML, além de obedecer às regras de formatação de documentos XML, deve também obedecer às regras que o esquema associado impõe. O documento da Figura 1 é associado ao esquema apresentado na Figura 4 e terá sua estrutura válida, pois o documento XML está de acordo com todas as regras impostas pelo esquema. No elemento raiz do documento XML há um atributo

25 15 nonamespaceschemalocation onde é especificado o caminho do arquivo referente ao esquema associado para validação Evolução de esquemas Em sistemas de informação a natureza da informação é dinâmica, portanto uma aplicação evolui ao longo do tempo por diversas razões: erros ocasionados devido à má especificação do projeto; modificação ou refinamento de requisitos; incorporação de novos requisitos na aplicação, entre outros. (SILVEIRA, 2007). Ao aplicar ações de alteração em um esquema, levam-se em consideração as instâncias previamente armazenadas. Tais alterações requerem o armazenamento de esquemas antigos para garantir o acesso aos dados associados, levando o problema de administrar diferentes versões do esquema e as relações com as instâncias. A evolução de esquemas em sistemas de banco de dados envolve a solução de dois problemas (GALANTE, 2003): a semântica de modificação de esquemas, que se refere aos efeitos das modificações no próprio esquema. Envolve a verificação e manutenção da consistência após as modificações no esquema; a semântica de propagação de mudanças, que descreve a forma como essas modificações nos esquemas afetam as instâncias da base de dados. Envolve a consistência das instâncias de acordo com as mudanças realizadas. A fim de preservar a consistência do banco de dados, a complexidade da evolução de esquemas pode ser classificada em cinco níveis (GALANTE, 2003): Representação de esquema: identificar os aspectos do esquema que devem sofrer alterações; Operações de modificação de esquema: identificar as operações de modificações permitidas para o esquema; Consistência na modificação de esquema: como qualificar e propagar as modificações do esquema no banco de dados; Integridade do banco de dados: identificar a forma como as instâncias no banco de dados são afetadas em uma modificação do esquema;

26 16 Disponibilidade do banco de dados: aplicações devem continuar em execução após a modificação do esquema. Alterações da base de dados em decorrência de uma evolução de esquema podem ser realizada de duas formas distintas: (i) on-line: o SGBD é mantido em operação enquanto o processo de evolução de esquemas é realizado; (ii) off-line: os processos em andamento são interrompidos enquanto a base de dados está sendo alterada (CAMOLESI, 1996). Tratar a evolução de esquemas é uma tarefa necessária, não somente durante a fase de projeto de um banco de dados, mas também durante toda sua fase operacional. Uma mudança no esquema dos dados pode afetar o sistema como um todo Evolução de esquemas em banco de dados semi-estruturados Em um SGBD atualizações que violam a integridade da base de dados em relação às restrições são consideradas como ilegais e são recusadas. Porém os dados das atualizações são dados mais recentes e podem ser considerados como prioritários em relação aos dados já armazenados. Logo, estabelecer um método para serem possível atualizações mantendo a integridade da base de dados torna-se necessário (COOX, 2003). Em banco de dados semi-estruturados a atualização pode ser uma tarefa complexa. Pois nesse contexto é permitido que usuários atualizem a base de dados sem a preocupação com as restrições impostas pelo esquema. No processo de evolução de esquemas XML alguns cenários devem ser considerados, tais como: (i) geração automática de documentos XML por aplicações; (ii) documentos distribuídos em pontos de rede não acessíveis, e entre outros. Se esses cenários não forem tratados, o processo de evolução torna-se incompleto (COOX, 2003). Um esquema evolui quando é aplicado alguma modificação. Segundo Zschornack (2002) esta modificação pode ser realizada pelo usuário, aplicação ou alguma linguagem de modificação de documentos XML. A XQuery e XUpdate são dois exemplos de linguagem de modificação de documento XML, são apresentadas a seguir.

27 Xquery Em janeiro de 2007 o W3C lançou a recomendação para a linguagem Xquery. Esta linguagem foi projetada para efetuar consultas (extrair e localizar elementos e atributos) em documentos XML. A linguagem utiliza expressões FLWOR (acrônimo para For, Let, Where, Order by e Return) para efetuar as consultas em documentos XML. Para efetuar alterações em documentos XML, a linguagem Xquery conta com uma extensão da linguagem que contém a cláusula Update, responsável pelo encapsulamento e descrição das modificações a serem realizadas em documentos XML. A cláusula Update aceita as operações: Delete, Rename, Insert, InsertBefore, InsertAfter, Replace e Sub-Update. A Figura 5 ilustra uma expressão Update da linguagem Xquery. Figura 5: Expressão XQuery. Se a cláusula representada na Figura 5 for aplicada no documento XSD representado na Figura 4, será adicionado a tag <xsd:element name="cpf" type= xsd:string /> entre as linhas 10 e 11. A Figura 6 mostra parte do documento ilustrado na Figura 4 após esta modificação. Figura 6: Documento XML alterado.

28 XUpdate XUpdate é uma linguagem para alteração de documentos XML proposta pelo grupo XML:DB. Ao contrário da linguagem Xquery, esta linguagem não necessita de uma terminologia específica para a declaração das modificações a serem realizadas. Essa linguagem utiliza a própria linguagem XML como meio de expressão das alterações (LAUX, 2000). Esta linguagem utiliza expressões de caminho para localizar a parte do documento a ser alterada e então efetuar as alterações. Exemplos de métodos de alteração de atributos e/ou elementos utilizados são: insert-before: Adicionar um elemento após um elemento específico; insert-after: Adicionar um elemento antes de um elemento específico; append: Acrescentar um elemento filho em um elemento do documento XML; update: Alterar o conteúdo de um elemento; remove: Remover um elemento e seus elementos filho; rename: Alterar o nome de um elemento. As modificações realizadas com XUpdate garantem que o documento XML continue bem formado após sua aplicação. Porém após esta modificação o documento XML pode perder sua validade perante o esquema associado, se existir. As modificações podem ser feitas tanto para uma coleção de documentos como para um documento específico (LAUX, 2000). A Figura 7 representa um exemplo de modificação que pode ser aplicada pela XUpdate no documento da Figura 4. A Figura 6 mostra parte do documento ilustrado na Figura 4 após a modificação. Figura 7: Documento XUpdate.

29 19 Após a modificação realizada no documento da Figura 4 pela instrução XUpdate representada na Figura 7, é adicionado um novo elemento após o elemento matrícula deste documento. Representado na Figura 6, o elemento é inserido entre as linhas 10 e 11 da Figura 4. Ao realizar essa alteração no documento XSD da Figura 4, o documento XML representado na Figura 1 perde sua validade perante as regras do esquema associado. Dependendo da aplicação, uma ação de adaptação pode ser aplicada para que o documento XML volte a respeitar as regras do esquema. Segundo Galante (2003), a evolução de esquemas não implica um suporte completo à história evolutiva do esquema, mas somente a habilidade para alterar as definições do esquema. Enquanto a evolução mantém apenas a versão corrente do esquema da base de dados, o versionamento preserva todas as versões de esquemas durante a evolução Versionamento Diversas aplicações, nas mais diferentes áreas, necessitam armazenar o histórico e a evolução de seus dados. O histórico dos dados se refere aos valores que um determinado dado assume no decorrer da sua existência. A evolução dos dados é referente às diversas alternativas estabelecidas para um dado. Essas alternativas são denominadas versões, e geralmente são aplicadas a aplicações que lidam com projetos (ROSSETTI, 2002). Versionamento é uma técnica que possibilita a existência de linhas paralelas na evolução de um objeto, que representam diferentes alternativas para a evolução deste. Cada versão é independente das demais, e embora compartilhem a mesma estrutura, cada uma possui o seu próprio histórico. Isto com exceção da versão inicial, novas versões são criadas através do processo de derivação de versões existentes, onde uma versão serve de base para a criação de outra. Considerando a derivação como uma relação do tipo pai-filho, cria-se uma hierarquia envolvendo o conjunto de versões definidas de acordo com este processo. Dependendo do modelo de dados, esta hierarquia pode tomar a forma de uma árvore ou de um grafo acíclico (GOLENDZINER, 1995). Um SGBD que trata o versionamento de esquemas, permite a visualização de todos os dados, tanto retrospectiva quanto prospectivamente, por meio de várias

30 20 versões de esquemas. Através do conceito de versão, é mantido um histórico das alterações efetuadas no banco de dados. O estado anterior às alterações é mantido, permitindo a navegação e consulta na base de dados. Além disso, é assegurado a integridade das instâncias armazenadas em qualquer versão solicitada (MORO, 2002). O versionamento de esquemas XML é proposto como forma de guiar as alterações efetuadas em uma base de dados. A principal motivação é o problema de gerenciar as modificações em esquemas enquanto o banco de dados permanece disponível, buscando minimizar o impacto nas aplicações existentes (MORO, 2002). Durante o desenvolvimento de um projeto de esquema, a evolução é mantida através do mecanismo de versionamento de esquemas. Um esquema que possui versões é representado através de um esquema versionado, este é o agrupamento de todas as suas versões, de tal forma que cada uma delas pode ser utilizada onde o esquema versionado é solicitado (GALANTE, 2003). Segundo Galante (2003) as versões de um esquema versionado estão relacionadas através de um relacionamento de derivação, formando um grafo, no qual uma versão pode ser derivada da versão corrente. A Figura 8 mostra graficamente um esquema sem versões e um esquema versionado com suas respectivas versões (V1, V2, V3). Figura 8: Representação de versões (GALANTE, 2003). Um esquema versionado possui uma versão que é considerada a versão corrente (V3 na Figura 8). A versão corrente é mantida como a mais recente criada. A versão é utilizada sempre que o usuário solicita uma operação sobre um esquema versionado, sem especificar uma de suas versões (GALANTE, 2003). Segundo Galante (2003), o versionamento de esquemas pode ser classificado em duas categorias: Versionamento parcial: as requisições de modificação de esquemas são permitidas somente no esquema corrente. Considerando a Figura

31 21 8, a requisição de evolução pode somente ser aplicada na versão V3, assim gerando uma nova versão (no caso V4) que será a próxima versão corrente; Versionamento total: as requisições de modificação de esquemas são permitidas em qualquer versão de esquema. Considerando a Figura 8, a requisição de evolução pode ser aplicada na versão V1, V2 ou V3. Assim criando uma nova versão, podendo ser derivada de V1, V2 ou V3, criando assim uma forma de árvore. As formas mais comuns de grafos de versões são de seqüência linear, árvore e grafo acíclico dirigido. O diferencial em cada uma das formas é o número de antecessores e/ou sucessores permitido. A relação entre duas versões em um grafo é representado por um delta. Delta é um script, que por sua vez são listas de operações que, quando aplicadas a um estado do grafo, transformam-no gerando um novo estado. Esta operação é suficiente para transformar qualquer documento em outro. Quanto mais operações forem adicionadas ao script, maior a sua semântica (CHIEN, 2001). Segundo Marian (2001) os scripts podem ser de três tipos: (i) progressivos, quando permitem obter um novo estado a partir de um estado antigo; (ii) regressivos, quando permitem voltar de um estado mais recente a um estado anterior; (iii) completos, quando servem tanto como scripts progressivos ou regressivos Considerações parciais Neste capítulo foram relacionados os principais conceitos para a implementação deste trabalho. Como visto a linguagem XML tem sido o principal mecanismo para representação de dados semi-estruturados. Todavia é necessário que o documento XML esteja bem formado e deve seguir o padrão imposto pelo seu esquema associado. Foram relacionadas as características das duas principais linguagens para a criação de esquemas XML, DTD e XML Schema. A padronização de documentos XML é necessária, devido às variações de estruturas dos documentos XML para uma mesma aplicação.

32 22 Porém esquemas não são entidades estáticas pois necessitam evoluir conforme a necessidade do usuário. Com isso foram apresentados os conceitos para a evolução de um esquema, assim como as linguagens que realizam esta operação, XQuery e XUpdate. Todavia ao modificar um esquema, documentos XML que estão associados podem perder sua validade. Contudo a evolução de um esquema deve ser controlada. Foram relacionados as características de versionamento, onde, este trabalho irá propor uma abordagem de versionamento de esquemas XML, que, ao ocorrer a evolução do esquema XML, cria-se uma nova versão do esquema, garantindo que as instâncias não percam a consistência entre o esquema e instâncias. Há propostas acadêmicas que aplicam técnicas de versionamento de documentos XML para solucionar o problema da evolução. No próximo capítulo serão descritos trabalhos que utilizam este conceito em banco de dados semiestruturados.

33 23 3. Trabalhos Relacionados Este capítulo apresenta algumas abordagens para o versionamento de documentos semi-estruturados. Estas abordagens para versionamento podem ser aplicadas aos esquemas XML, pois um esquema XML nada mais é que uma instância XML, ou seja, um documento XML Snapshot-collection e Snapshot-delta Em CHAWATHE (1998), são propostas duas abordagens que podem ser empregadas para o armazenamento de registros históricos (versões) de documentos semi-estruturados que evoluem linearmente, denominadas snapshot-collection e snapshot-delta. A snapshot-collection consiste em armazenar integralmente todos os estados assumidos pelo documento. Nesta abordagem é armazenado o estado original do documento X. Quando X sofre uma modificação, é gerada uma nova cópia de X com a parte modificada, ou seja, contêm todos os fragmentos do documento que foi alterado, quanto os trechos que permaneceram os mesmos. Rótulos temporais podem ser associados a essas diferentes cópias do documento, indicando seu período de validade. Esta abordagem otimiza o tempo de recuperação de um estado qualquer documento XML, pois todos estão presentes em sua totalidade, porém o custo em espaço de armazenamento é alto. A outra abordagem, snapshot-delta, consiste em armazenar um único estado, por exemplo o mais recente, em conjunto com uma coleção de regras de transformação (deltas). Dessa forma, a partir do primeiro estado armazenado podese gerar qualquer estado do documento aplicando os deltas. Esta abordagem otimiza o espaço consumido para armazenar o conjunto de estados, levando em consideração que um estado cujo conteúdo está armazenado explicitamente ocupa um espaço maior do que um script de conversão. Em compensação, este método requer um maior processamento para reconstruir estados passados, maximizando o tempo de recuperação de estados.

34 Usefulness-Based Change Control Em Chiem (2001b) é apresentado um método para reduzir os custos de recuperação de estados chamado de page-usefulness (utilidade de página). Neste método há o um agrupamento físico de todos os objetos válidos de um determinado estado em algumas páginas de dados. Quando o número de objetos válido em determinada página cai abaixo de certo limiar, os objetos são copiados para uma nova página. Na reconstrução de um estado, são acessadas as páginas úteis para este estado. O Usefulness-based Change Control (UBCC) possui duas variantes: (i) Editbased UBCC, baseado em scripts; e (ii) Copy-based UBCC, baseado em cópias de segmentos. O UBCC foi projetado para funcionar com o método snapshot-collection e snapshot-delta de forma híbrida, juntamente com o conceito page-usefulness. No Edit-based UBCC ao ocorrer uma instrução de inserção de um objeto em determinada posição, obtém-se o script de transição dos estados, então será buscado nas páginas úteis dos estados anteriores os trechos do estado, até que o trecho para inserção seja reconstruído e assim aplicado a instrução. Já no copybased UBCC, ao invés de representar as transições de estado com scripts, é aplicado o conceito de referência para fragmentos equivalentes. Referências são nós da árvore que referenciam outro nó da mesma árvore. A reconstrução de um estado é feita através das páginas úteis que contém os objetos e referências de subárvores. Ao encontrar uma referência, é feita uma recursão para recuperar o trecho específico do estado. Segundo Chiem (2002), que fez um estudo de caso comparativo entre as duas variantes do UBCC, ambas apresentaram um desempenho e custo de armazenamento similares. O copy-based UBCC ora supera o edit-based UBCC ora não, porém oferece flexibilidade para a escrita de consultas, mas com o mesmo desempenho.

35 Reference-Based Version Model Proposto em (CHIEN, 2002), o Reference-Based Version Model (RBVM) contém as seguintes características: (i) Preserva a estrutura lógica do documento, permitindo recuperação de estados e consultas baseadas em conteúdo; (ii) A história de evolução de um documento XML pode ser representada por outro documento XML; (iii) Utiliza técnicas para reduzir o custo de armazenamento da informação, umas delas é o conceito page-usefulness, detalhado em (CHIEN, 2001a). Além dos elementos de XML, a árvore proposta no RBVM inclui também nós de estado (servindo de raiz para as subárvores, e identificando cada uma das versões de um documento) e nós de referência (apontadores para subárvores em comum a dois estados distintos). A Figura 9 apresenta um exemplo de árvore gerada após um período de tempo a um documento XML versionado. Figura 9: Exemplo de versões da árvore RBVM (CHIEN, 2002). A árvore representada na Figura 9 desconsidera o nó raiz, pois é ilustrado somente a árvore a partir do segundo nível do documento XML. Neste exemplo é aplicado uma exclusão de um nó E (chapter) que contém como elemento filho title de conteúdo TSQL2 Tutorial e uma inserção de um nó E (chapter) que contém como elemento filho o nó title de conteúdo A second Example. O nó V representa as versões do documento XML, da esquerda para direita. O primeiro nó V representa a primeira versão do documento, e assim o segundo a segunda versão. Quando gerada a segunda versão, a subárvore E mais a direita do nó V é preservada pelo nó

36 26 de referência R. Já a subárvore E mais a esquerda é excluída segundo a instrução aplicada e adicionado uma nova subárvore. Para acesso das informações do nó E que contém como elemento filho o title de conteúdo Introduction to TSQL 2 a partir da segunda versão do documento XML, é feito através do nó R adicionado como filho do nó V. Assim a recuperação de um estado começa a partir do próprio estado a ser reconstruído. É recuperado os dados contido no estado e recursivamente através dos nós referências são recuperado os dados preservados Xyleme Em Marian (2001), foi proposto um sistema de gerenciamento de documentos XML em evolução. A Figura 10 apresenta a arquitetura do sistema, onde este sistema consiste na obtenção de novos estados para documentos através da Web e comparados com os estados armazenados na base. Nesta comparação é executado o algoritmo XyDiff (COBENA, 2002) que obtém as diferenças entre os dois estados (En e En-1). A partir deste algoritmo é gerado um script servindo como transição dos estados e armazenado em um banco de dados. O novo estado adquirido torna-se o estado corrente da aplicação. O sistema trabalha como um sistema observador, na medida em que é encontrado algum documento evoluído é feito o processamento para um novo estado corrente. É considerável o baixo custo de memória para o processamento. Figura 10: Arquitetura Xyleme.

37 27 Algumas características desse sistema pode ser consideradas, tais como: (i) a representação lógica é baseada em deltas, assim como o método snapshot-delta, porém são armazenados deltas completos, pois possuem instruções para navegação em ambos sentidos para a recuperação de estados; e (ii) há identificadores persistentes para cada nó do documento XML, obtidos através do algoritmo de XyDiff, que permitem registrar modificações nos dados e otimizando a recuperação. O armazenamento dos estados consiste em armazenar somente o estado corrente, e através da atribuição de identificadores que contém todos os deltas completos é possível recuperar um estado anterior desejado. Uma vantagem a ser destacada é a inclusão de um novo estado, pois não é necessário modificações em estados já armazenados Identificadores Persistentes O método proposto por Wong (2003) utiliza um conceito de identificadores persistentes para referenciar nós da árvore XML, armazenando a informação através de um conjunto de deltas e estados. Este método há diversos pontos de partida para a recuperação do estado desejado em um conjunto de estados, ou seja, não é armazenado o primeiro ou último estado para então aplicar os deltas, mas sim um conjunto de estados. A intenção para o armazenamento de um conjunto de estados para o inicio da recuperação surge do problema de recuperar a primeira versão (caso seja armazenado somente o último estado), ou a última versão (caso seja armazenado somente o primeiro estado). Outra vantagem citada nesta abordagem é o caso do armazenamento de um delta com espaço maior em relação ao estado gerado, dessa forma armazena-se o estado e não o delta. A Figura 11 mostra um exemplo de recuperação de estados, onde é solicitado a recuperação do Estado E8. Nesta recuperação é verificado que E5 e E13 são os estados anterior e posterior materializados mais próximos de E8. É calculado o gasto para a recuperação de E8 a partir de E5 (no caso 11) e a partir de E13 (9). Então a recuperação de E8 é realizada a partir de E13.

38 28 Figura 11: Versionamento com identificadores persistentes. As operações suportadas neste modelo são: inserção, remoção, atualização, movimentação e cópia. O conhecimento das operações é de base para o funcionamento deste método, pois é atribuído a um delta um custo medido pelo número de operações que esse contém. Ao solicitar a recuperação de um estado, varre-se uma estrutura de dados que armazena informações referente a cada estado armazenado. Nessa estrutura há informações se o estado está materializado integralmente e o custo do delta de seu antecessor para obtê-lo. O estado mais próximo do solicitado a recuperar é o com menor número de operações necessárias TXSchema O TXSchema é uma infraestrutura de apoio à criação e validação de documentos XML em uma variação de tempo, sem a necessidade de alteração no esquema XML (XML Schema). Em (DYESON, 2007) é abordado uma extensão para suporte ao versionamento de esquemas. Nesta abordagem é aplicado o conceito de pacote, onde um documento XML que contém anotações temporais de como o documento pode mudar, aplicado quando há documentos referenciando uma base de esquemas XML. A Figura 12 ilustra a arquitetura do módulo de suporte a versionamento de esquemas.

XVersioning - Uma Ferramenta para Versionamento de Esquemas XML

XVersioning - Uma Ferramenta para Versionamento de Esquemas XML XVersioning - Uma Ferramenta para Versionamento de Esquemas XML Renan Bet Rodrigues 1, Denio Duarte 2 1 Departamento de Ciência da Computação Universidade do Estado de Santa Catarina (UDESC) Joinville,

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

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

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

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

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

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

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

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL 232 - Encontro Anual de Tecnologia da Informação WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL Stevan D. Costa1, Alexandre T. Lazzaretti1, Anubis

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

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

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

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

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 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

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

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

Processamento de dados XML

Processamento de dados XML Processamento de dados XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Considerações no desenvolvimento de software para processar dados XML. Processamento de uma DTD para interpretar marcação

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

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

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

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

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

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

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

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS DE ARQUIVOS MACHADO/MAIA: CAPÍTULO 11 Prof. Pedro Luís Antonelli Anhanguera Educacional SISTEMAS DE ARQUIVOS - INTRODUÇÃO O armazenamento e a recuperação de informações é

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

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

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

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

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

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

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Análise da Nova Linguagem HTML5 para o Desenvolvimento Web Sergio N. Ikeno¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil sergioikn@gmail.com, kessia@unipar.br Resumo.

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

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

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

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

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

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

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

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa GEADA Gerador de Expressões Algébricas em Digrafos Acíclicos para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa 1 1 Introdução O GEADA (Gerador de Expressões Algébricas em Digrafos Acíclicos)

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

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

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

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

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

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

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

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

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

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

Leia mais

QualiQuantiSoft Versão 1.3c

QualiQuantiSoft Versão 1.3c QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de

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

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

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

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente

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

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

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

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

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

Manual dos Serviços de Interoperabilidade

Manual dos Serviços de Interoperabilidade MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO Secretaria de Logística e Tecnologia da Informação Manual dos Serviços de Interoperabilidade Sumário Lista de Figuras...3 Lista de Tabelas...4 Introdução...5

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI PERFIL TÉCNICO Versão 2.0 DEPARTAMENTO DE INFORMÁTICA E TELECOMUNICAÇÕES PREFEITURA DE GUARULHOS SP 1 Objetivo: Esse manual tem como objetivo principal instruir os

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

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

gsd - Service Desk Manual do Usuário versão 1

gsd - Service Desk Manual do Usuário versão 1 gsd - Service Desk Manual do Usuário versão 1 Sumário Introdução 1 Conceitos iniciais 2 Perfis de utilização 2 Parametrização do aplicativo - configuração 2 Prazo de atendimento 2 Prazo de conclusão 3

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitaçã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

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

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

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

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistemas Operacionais 3º bimestre Dierone C.Foltran Jr. dcfoltran@yahoo.com Sistema de Arquivos (1) Todas as aplicações precisam armazenar e recuperar informações. Considerações sobre os processos: Espaço

Leia mais