Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML

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

Download "Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML"

Transcrição

1 Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML Palmas 2004

2 Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML Avaliação da disciplina Práticas de Sistemas de Informação I: Estágio sob orientação do prof. Fernando Luiz de Oliveira. Palmas 2004 SUMÁRIO

3 SUMÁRIO...7 LISTA DE ILUSTRAÇÕES... 9 Lista de tabelas...9 RESUMO INTRODUÇÃO REVISAO DA LITERATURA EXTENSIBLE MARKUP LANGUAGE Estrutura de um Documento XML Documentos Válidos DOCUMENT TYPE DEFINITION Operadores de Seqüência Operadores de Ocorrência Definição de Atributos EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATION Estrutura de um documento XSLT Variáveis e Tipo de Dados DOCUMENT OBJECT MODEL Interface Document Interface Node API DOM e Java TRABALHOS CORRELATOS Javadoc Funcionamento e Tags Resultados da Documentação Analise da ferramenta de documentação Javadoc Visual Studio Funcionamento e Tags Resultados da Documentação Analise da documentação gerada pelo Visual Studio MATERIAL E MÉTODOS LOCAL E PERÍODO MATERIAIS Hardware Software Fontes Bibliográficas METODOLOGIA RESULTADOS E DISCUSSÃO ARQUITETURA DA FERRAMENTA DTD CRIADO XSLT CRIADO DESCRIÇÃO DA IMPLEMENTAÇÃO Inicialização do documento XML Leitura do Código fonte a ser Documentado Identificação de Tags Encontradas no Código-Fonte Verificação das tags que devem ser reconhecidas e adicionadas ao documento XML Criação do documento XML com as tags identificadas no código fonte Relacionando um documento XSLT a um documento XML, gerando os documentos HTML EXEMPLO PRÁTICO DE UTILIZAÇÃO DA FERRAMENTA VANTAGENS E DESVANTAGENS DA FERRAMENTA DESENVOLVIDA LIMITAÇÕES DA FERRAMENTA CONSIDERAÇÕES FINAIS TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRAFICAS...56 ANEXOS E APÊNDICES...58

4 LISTA DE ILUSTRAÇÕES Figura 1: Exemplo de um documento XML...9 Figura 2: Estrutura de um documento XML em formato de árvore...9 Figura 3: Exemplo de atributos em XML Figura 4: Exemplo de um DTD para estruturar uma agenda...11 Figura 5: Operadores de Seqüência: (a,b) e (a b)...12 Figura 6: Operadores de ocorrência...12 Figura 7: Exemplo da declaração de atributos em DTD's...13 Figura 8: Funcionamento do XSLT (KAY, 2002) Figura 9: Exemplo da declaração de um template Figura 10: Definição de variável em XSLT...16 Figura 11: Exemplo de documentação com Javadoc...22 Figura 12: Exemplo de chamada da ferramenta Javadoc Figura 13: Exemplo de tags no Javadoc Figura 14: Documentação gerada com o Javadoc Figura 15: Uso de tags como comentários no Visual Studio...28 Figura 16: Exemplo de utilização das tags pré-definidas no Visual Studio Figura 17: Interface para gerar a documentação no Visual Studio Figura 18: Documentação gerada com o Visual Studio Figura 19: Arquitetura da Ferramenta de Documentação...36 Figura 20: DTD utilizado para estruturar a documentação...37 Figura 21: Exemplo da utilização dos comandos for-each e value-of...39 Figura 22: Template responsável por buscar o elemento raiz...39 Figura 23: Exemplo for-each encontrado no XLST Figura 24: Exemplo do resultado da utilização de HTML e XSLT...40 Figura 25: Inicialização do documento XML Figura 26: Código fonte responsável por ler o documento a ser documentado...43 Figura 27: Instrução para verificar se um caractere é uma tag...43 Figura 28: Rotina para pegar o conteúdo entre as tags...44 Figura 29: Rotina de validação de tags Figura 30: Criação do documento XML Figura 31: Rotina para gerar os documentos HTML Figura 32: Exemplo código fonte para a documentação...49 Figura 33: Interface da ferramenta Figura 34: Tela inicial após adição de código-fonte para documentação...51 Figura 35: Documento XML gerado após a execução da Ferramenta...51 Figura 36: Página Web gerada após a aplicação do XSLT ao documento XML...52

5 LISTA DE TABELAS Tabela 1: Tipos que um atributo pode receber (ANDERSON, 2004)...14 Tabela 2: Tipos de uma variável Tabela 3 : Conversão entre tipos de dados XSLT Tabela 4: Alguns recurso pela API DOM no Java (VILAR, 2004) Tabela 5: Tags utilizadas no Javadoc... 25

6 RESUMO A documentação do código-fonte, no contexto da Engenharia de Software, visa auxiliar o desenvolvedor no processo de reutilização de módulos de uma aplicação em outras, promovendo um melhor entendimento das diversas estruturas que compõem estes módulos. Apesar da importância, o número de ferramentas que fornecem este tipo de serviço é pequeno e, por vezes, incipiente. Assim, existe a necessidade por ferramentas que padronize os processos necessários na documentação, criando facilidades para que desenvolvedores possam documentar códigos-fontes independente da linguagem em que o programa está escrito. O presente trabalho, objetiva desenvolver uma ferramenta com esta finalidade, utilizando tecnologias como: XML, DOM e a Linguagem de Programação Java. Palavras-chaves: XML, DOM, XSLT, Documentação.

7 1 INTRODUÇÃO Em termos de desenvolvimento de software, uma das grandes dificuldades refere-se a sua documentação, que se caracteriza por ser uma tarefa complexa e constante. Por causa da importância adquirida, documentar deixou de ser uma questão de organização, passando a ser uma necessidade, de forma a permitir que determinadas partes de uma aplicação possam ser facilmente reaproveitadas em outros sistemas. Diante dessa afirmação, é um tanto contraditório que boa parte dos desenvolvedores, ou não utilizam ou, quando utilizam, se apóiam em ferramentas de documentação inadequadas (COLLARD, 2004). Assim, a documentação do código-fonte é uma parte, por vezes, esquecida, possuindo poucas ferramentas que a automatizem. Neste ponto, entende-se documentação do código-fonte como sendo, em um ambiente orientado a objetos, uma descrição de cada classe, seus métodos, os tipos de argumentos, dentre outras informações; que possibilite que estas classes possam ser reutilizadas sem a necessidade de abrir o código-fonte com a finalidade de aprender ou re-aprender como funciona o fluxo de informação dentro da mesma. Existem algumas ferramentas que realizam esta atividade onde, dentre elas, pode ser citado duas: Javadoc, que trabalha com a Linguagem de Programação Java e o Visual Studio, que trabalha com as Linguagens de Programação suportadas pela plataforma. NET. No entanto, estas ferramentas são restritas a uma linguagem ou, quando não, são restritas a uma plataforma. O objetivo deste trabalho é desenvolver uma ferramenta que permita automatizar o processo de documentação do código-fonte de uma aplicação. Esta ferramenta terá que ser capaz de ler um arquivo fonte, capturar as informações necessárias para organizar a documentação, montar um documento e apresentá-lo. Para isso, será usado a versatilidade e

8 6 a capacidade de padronização oferecida pelo XML, associado as facilidades que a Linguagem de Programação Java traz na manipulação deste tipo de documento. Dessa forma algumas tarefas terão que ser desenvolvidas, tais como: Realizar testes referentes às ferramentas de documentação Javadoc e Visual Studio; Definir um DTD para padronizar as tags usadas para armazenar as informações (comentários) no arquivo-fonte; Criar um XSLT para, dado um documento XML gerado a partir da leitura do código-fonte, apresentá-lo. Este trabalho está organizado da seguinte forma: a seção 2 apresenta a Revisão de Literatura, onde são abordados os conceitos necessário para que os objetivos deste trabalho fossem alcançados; a seção 3 apresenta os Materiais e Método que foram utilizados no desenvolvimento da ferramenta e deste trabalho; a seção 4 traz os Resultados e Discussão, onde será descrita a ferramenta criada; e, por fim, a seção 5 aborda as Considerações Finais sobre este trabalho.

9 2 REVISAO DA LITERATURA Neste capítulo serão descritos os conceitos que se fazem necessários para o bom entendimento deste trabalho. Para tanto, esta revisão foi estruturada da seguinte forma: serão explicados os conceitos que envolvem o uso da linguagem XML, desde a criação de um DTD, responsável pela definição das estruturas a serem usadas em um determinado documento, até a criação de um XSLT, o qual será responsável pela apresentação do documento XML. Como o objetivo deste trabalho é desenvolver uma ferramenta de documentação de códigos-fontes, faz-se necessário à análise de ferramentas relacionadas que possuam este fim. As ferramentas estudadas foram: Javadoc e Visual Studio; sendo os resultados obtidos também apresentados no decorrer desta seção. 2.1 Extensible Markup Language Extensible Markup Language (XML) é uma linguagem de marcação que proporciona uma forma de estruturar e representar dados, que se caracteriza por ser um formato de texto simples e flexível, derivado do Standard Generalized Markup Language (SGML) 1 (W3C- XML, 2004). Sua simplicidade esta diretamente associada aos motivos de sua origem, dentre os quais se destacam a necessidade de suprir as deficiências apresentadas pelo HTML 2. Assim, o XML foi desenvolvido como sendo um subconjunto do SGML, 1 O SGML é um padrão internacional (ISO 8879) publicado em 1986 e descreve um padrão para o uso de marcações descritivas mescladas ao documento. 2 A sigla HTML deriva da expressão Hyper Text Markup Language. Trata-se de uma linguagem de marcação utilizada para produzir páginas na Internet.

10 8 possibilitando que o mesmo ofereça parte dos recursos complexos existentes no SGML, mas de uma forma muito mais controlável, facilitando, desta forma, a criação e sua utilização na Web (PITTS-MOULTIS & KIRK, 2000). Por sua vez, a flexibilidade é adquirida por permitir que o próprio desenvolvedor especifique o conjunto de tags a ser utilizada na representação e estruturação de seus documentos, característica esta proveniente do SGML. Por se tratar de uma linguagem de marcação, um documento XML possui semelhanças com um desenvolvido em HTML 3. No entanto, uma grande diferença referese ao fato de que, enquanto um documento HTML se preocupa apenas com a apresentação, a preocupação de um documento XML é com o seu conteúdo. Além desta característica, PITTS-MOULTIS & KIRK (2000) apresenta outros recursos que o XML fornece e que não são encontrados no HTML, tais como: Uma linguagem extensível que fornece a capacidade de definir suas próprias marcas e atributos. Esses elementos e suas marcas de início e de fim, juntamente com seus atributos o ajudam a definir os elementos estruturais do documento, de forma muito semelhante aos elementos do SGML; A capacidade de aninhar estruturas de documento dentro das estruturais de outros documentos para criar documentos complexos; A capacidade de verificar a validade de estruturas de documentos durante o processamento; Outra qualidade do XML refere-se a sua capacidade em separar a apresentação dos dados estruturados. Através desta característica é possível integrar diferentes fontes de dados. Por exemplo, em um sistema de compras, seria possível separar os dados referentes a consumidores, compras, ordens de compras, resultados de busca, pagamentos, etc; guardando-os em uma espécie de servidor, onde estes dados poderiam ser trocados de forma on-line tão facilmente como as páginas HTML apresentam seus dados (DUARTE & JUNIOR, 2001) Estrutura de um Documento XML 3 A sigla HTML deriva da expressão Hyper Text Markup Language. Trata-se de uma linguagem de marcação utilizada para produzir páginas na Internet.

11 Um documento XML é composto por tags de abertura <NomeTag> e tags de fechamento </NomeTag>, responsáveis por delimitar trechos de dados ou outras tags, criando o que pose ser chamado de estruturas de dados. A Figura 1 apresenta uma agenda estruturada segundo o padrão XML. <Agenda> <Pessoa> <Nome> Bruno Ribeiro de F </Nome> <Telefone> </Telefone> <Pessoa> <Pessoa> <Pessoa> </Agenda> Figura 1: Exemplo de um documento XML <Nome> Joao Jose </Nome> <Telefone> </Telefone> Neste exemplo (Figura 1), o elemento Agenda é composto por vários elementos do tipo Pessoas (contatos), que por sua vez, são compostos por elementos do tipo Nome e Telefone. A quantidade máxima de tags Pessoa que o elemento Agenda poderá receber, não é definida no documento XML, mas sim em um Document Type Definition (DTD) 4 que está relacionado ao documento XML. Um documento XML é estruturado em forma de uma árvore, criando assim relacionamentos entre elementos pais e filhos. A Figura 2 mostra com seria a estrutura do documento XML citado na Figura 1, no formato de uma árvore. 4 DTD: parte responsável por criar as regras que um documento XML deverá obedecer.

12 10 Agenda Pessoa Pessoa Nome Telefone Nome Telefone Bruno Ribeiro de F Joao Jose Figura 2: Estrutura de um documento XML em formato de árvore. O padrão XML não faz distinção entre os tipos de dados que podem estar contidos em suas tags. Esta distinção deve ser tratada por um DTD ou por um documento XSLT, responsável por formatar e exibir os dados contidos no documento XML. Além das tags, o XML ainda fornece a possibilidade de utilizar atributos em um elemento. Os atributos são usados para descrever os elementos XML ou para fornecer uma informação adicional sobre os elementos. A figura abaixo exemplifica como um atributo é utilizado em um documento XML. <Agenda> <Pessoa tipo= Fisica > <Nome> Bruno Ribeiro de F </Nome> <Telefone> </Telefone> <Pessoa> <Pessoa tipo= Juridica > <Nome> Joao Jose </Nome> <Telefone> </Telefone> <Pessoa> </Agenda> Figura 3: Exemplo de atributos em XML.

13 No exemplo da Figura 3, foi incluído ao elemento Pessoa o atributo tipo, que tem a responsabilidade de descrever uma informação adicional referente ao elemento Pessoa. Neste caso, o atributo acrescentado é o responsável por indicar se uma determinada pessoa é classificada como pessoa física ou jurídica Documentos Válidos Em um documento XML as regras que definem como um documento deve ser estruturado são descritos por DTD s, que são onde se encontram a definição dos elementos, atributos, etc; que um documento XML poderá utilizar. Portanto, a validação de um documento XML e baseada em sua DTD. Caso todos os elementos definidos no XML estejam em conformidade à sua DTD, e o documento esteja bem formatado, ou seja, o documento não possua erros de sintaxe, o mesmo é considerado válido e poderá ser processado por um analisador XML (DAUM & UDO, 2002). No caso, a responsabilidade pela validação de um documento XML fica a cargo de ferramentas chamadas parsers. Estas ferramentas possuem a capacidade de relacionar documentos XML e DTD s, verificando possíveis incoerências encontradas entre eles. 2.2 Document Type Definition Document Type Definition (DTD) é a base a partir do qual os documentos XML são criados. Um DTD define as partes de um documento e descreve como eles podem ou não serem usados, o que pode ser colocado em seus interiores e se são ou não elementos obrigatórios do documento (PITTS-MOULTIS & KIRK, 2000). Um exemplo de uma definição de elementos em um DTD é mostrado na figura abaixo. 1 <!ELEMENT Agenda (Pessoa+)> 2 <!ELEMENT Pessoa (Nome, Telefone*)> 3 <!ELEMENT Nome (#PCDATA)> 4 <!ELEMENT Telefone (#PCDATA)> Figura 4: Exemplo de um DTD para estruturar uma agenda.

14 12 O DTD apresentado na Figura 4 exemplifica a definição de uma agenda. Sua estrutura foi definida a partir de quatro elementos: Agenda, Pessoa, Nome e Telefone. Os elementos Agenda e Pessoa são compostos por outros elementos, o que significa que, em um documento XML que seja validado por esta DTD poderão conter apenas elementos e não texto. Ao contrário destes, os elementos Nome e Telefone poderão receber somente texto. Na primeira linha, o operador + indica que uma ou mais instâncias do elemento Pessoa poderá existir no documento XML. Já o operador * (2ª linha) indica que o elemento Telefone poderá aparecer zero ou mais vezes neste documento. Ainda neste DTD, foi utilizado o tipo #PCDATA, derivado do termo parsed character data (PAOLI, 2000). Este tipo de dado se caracteriza por ser entidades que contém apenas texto, uma seqüência de caracteres que podem representar markups ou dados de caracteres (BRAY, 2004) Operadores de Seqüência São responsáveis por indicar a ordem no qual os elementos deverão aparecer no documento XML. Estes operadores serão apresentados a seguir: (a, b): Indica que obrigatoriamente a deve preceder b em um documento XML. (a b): Indica que o elemento deve conter ou o elemento a ou o elemento b. A figura a seguir exemplifica a declaração dos operadores de seqüência. <!ELEMENT Pessoa (Nome, Telefone)> <!ELEMENT Pessoa (Nome, Telefone )> Figura 5: Operadores de Seqüência: (a,b) e (a b) Operadores de Ocorrência São aplicados a um elemento e tem como função regular a quantidade de vezes que o mesmo poderá aparecer em um documento XML. Podem ser citados como exemplo os operadores: +, * e?. (a+,b): Indica que o elemento a poderá aparecer uma ou mais vezes.

15 (a*,b): Indica que o elemento a pode aparecer zero ou mais vezes, sua declaração é semelhante ao operador de Ocorrência (a+,b). (a?,b): Indica que o elemento a pode aparecer zero ou uma vez no documento ocorrência. XML. A figura a seguir exemplifica como deve ser feita a declaração dos operadores de <!ELEMENT Agenda (Pessoa+)> <!ELEMENT Agenda (Pessoa*)> <!ELEMENT Agenda (Pessoa?)> Figura 6: Operadores de ocorrência Definição de Atributos Na definição de um DTD existe a possibilidade de se utilizar atributos para melhor definir um elemento. A estrutura para a definição de um atributo consiste em um nome para o atributo e um tipo para o atributo. Para a definição de um atributo é utilizado o comando ATTLIST. A figura a seguir exemplifica como deve ser realizada a declaração de um atributo. <!ATTLIST autor cod ID #REQUIRED posicao (contribuidor editor)contribuidor > Figura 7: Exemplo da declaração de atributos em DTD's. No exemplo da Figura 7, foram definidos dois atributos para o elemento autor: cod e posicao. No caso, o atributo cod possui sua especificação obrigatória. O caráter obrigatório do atributo é definido pelo valor #REQUIRED. O atributo posição, por sua vez, não possui a necessidade de ser especificado. Caso o mesmo não seja definido, o atributo assumirá o valor default (contribuidor). Caso contrário, se o mesmo for especificado, só serão admitidos dois valores: contribuidor e editor. Os possíveis valores que um atributo pode receber são mostrados na Tabela 1.

16 14 Tabela 1: Tipos que um atributo pode receber (ANDERSON, 2004). Tipo CDATA ID IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION [Valor Enumerado] Significado Dados de caracter (string). Nome único em um dado elemento. Referência a alguns elementos que tenham o atributo ID com o mesmo valor que o atributo IDREF Série de IDREFs delimitadas por espaço em branco Nome de uma entidade externa predefinida Série de nomes ENTITY delimitados por espaço em branco Um nome Uma série de NMTOKENs delimitados por espaço em branco Aceita um ou uma série de nomes indicando tipos de anotação declarados no DTD Aceita um e uma série de valores definidos por usuário explícitos que o atributo pode aceitar. 2.3 Extensible Stylesheet Language Transformation Extensible Stylesheet Language Transformation (XSLT) é uma linguagem e uma recomendação da World Wide Web Consortium (W3C) 5, escrita em XML e que possui uma poderosa capacidade de computar e transformar documentos XML (BOUK, 2004). A linguagem XSLT tem como função transformar os dados de um documento XML para um formato em que o mesmo possa ser melhor visualizado, tais como: XHTML, Xforms, WML, SMIL, SVG e assim por diante. A forma como um documento XSLT trabalha será apresentado na Figura 8. 5 W3C, fundado em outubro de 1994 tem o objetivo de desenvolver protocolos para novas técnologias, através de um conjunto de partes interessadas em trabalhar nestas novas técnologias.

17 Folha de Estilo (XSLT) Documento Fonte (XML) Documento Resultante (HTML) Processo de Transformação Figura 8: Funcionamento do XSLT (KAY, 2002). Na Figura 8 é exemplificado o funcionamento do processo de utilização de uma folha de estilo XSLT aplicado a um documento fonte XML. Um documento XSLT trabalha basicamente com templates, cada qual descrevendo como um determinado tipo de elemento ou construção deve ser processado (KAY, 2002). O documento XSLT varre o código fonte buscando padrões que atendam ao template definido, construindo um documento com o resultado deste processo Estrutura de um documento XSLT Em um documento XSLT, os vários templates definidos são listados na instrução <xsl:template> com um atributo match. Este atributo tem como função identificar em qual elemento do código-fonte XML o template deve ser aplicado. Por exemplo, <</>> indica que o template deve ser aplicado ao elemento raiz do documento fonte, ou <<elemento1/elemento2>> indica que o template deve ser aplicado ao elemento elemento2, que é filho do elemento1. A Figura abaixo exemplifica a definição de templates em um documento XSLT. Figura 9: Exemplo da declaração de um template

18 16 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns=" <xsl:template match= "Pessoa"> <p/><xsl:value-of select= "Nome"/> <p/><xsl:value-of select= "Telefone"/> </xsl:template> </xsl:stylesheet> Neste exemplo (Figura 9), o template definido deve procurar por elementos do tipo Pessoa existentes no documento XML. O atributo match é o responsável por definir que apenas o elemento Pessoa deve ser procurado e nele aplicado o template. Após encontrado algum elemento Pessoa no documento, deve ser processadas duas instruções: uma para exibir o conteúdo do elemento Nome e outra para exibir o conteúdo do elemento Telefone; estas instruções foram processadas fazendo uso da instrução <xsl:value-of>, responsável por exibir o conteúdo de um determinado elemento Variáveis e Tipo de Dados O XSLT permite a definição de variáveis através da instrução <xsl:variable>. Assim é possível criar variáveis globais que possam ser usadas por toda folha de estilo ou variáveis que sejam restritas a um template. Um exemplo de uma definição de variável é mostrado na figura abaixo. <xsl:variable name= variavel1 select= Bruno /> Figura 10: Definição de variável em XSLT. No exemplo da Figura 10 foi definido uma variável com nome variavel1 que contêm o valor Bruno. No XSLT, os tipos de variáveis não precisam ser definidos, sendo que uma determinada variável pode receber qualquer valor, desde que esteja entre os tipos citados na Tabela 2, já as conversões possíveis para estes tipos de dados se encontram definidas na Tabela 3.

19 Tabela 2: Tipos de uma variável. TIPO DESCRIÇÃO String Qualquer sequência de caracteres. Numérico Apenas valores numéricos Booleano Valores de caráter falso ou verdadeiro. Conjunto de Nós Um conjunto de Nós em uma árvore fonte XML. Objeto Externo Um objeto, por exemplo um objeto Java retornado por uma função de extensão. Tabela 3 : Conversão entre tipos de dados XSLT De/para Booleano Numérico String Conjunto de Nós Booleano Não Falso -> 0 Falso = false Não aplicável Verdadeiro = 1 Verdadeiro = permitido true Numérico 0 -> falso Não aplicável Converte para o Não outro -> formato decimal permitido verdadeiro String Nulo -> Interpreta como Não aplicável Não falso número decimal permitido Outro -> verdadeiro Conjunto Vazio -> Converte através Valor de string Não de Nós falso de String do primeiro nó aplicável Outro -> na ordem do verdadeiro documento Objeto Não Não permitido Não permitido Não Externo permitido permitido Objeto Externo Não permitido Não permitido Não permitido Não permitido Não aplicável

20 Document Object Model O Document Object Model (DOM) é uma interface de programação de aplicativos (API) 6 para documentos HTML e XML. É através da utilização do DOM que o documento Java transformará o código-fonte em um arquivo XML. Esta transformação se dará devido à capacidade que o DOM fornece de criar documentos XML, navegar através de documentos, modificar e apagar elementos e conteúdo (ROBIE, 2004). Esta característica se encaixa perfeitamente nas necessidades da ferramenta para criar um documento XML, seja na criação como na alteração. A interface principal da API DOM é formada por um conjunto de interfaces que a compõem, indo da representação de um documento até seus nodos, oferecendo recursos que são disponibilizados de acordo com o objeto a qual representam (VILAR, 2004). Algumas destas interfaces serão apresentadas nas seções seguintes Interface Document Esta interface tem a responsabilidade por representar todo o documento XML, ou seja, será através dela que todos os elementos existentes em um documento XML serão definidos. Pode-se considerar o Document como o ponto de partida para qualquer nó existente na estrutura XML. A interface Document fornece métodos que possuem características, por exemplo, de criar e adicionar um determinado elemento ao documento. Alguns métodos fornecidos pela interface Document são definidos abaixo. createelement: cria um elemento de tipo especificado. Possui o parâmetro tagname que tem a responsabilidade de identificar o nome do tipo especificado. O valor de retorno do método é um novo elemento. creattextnode: cria um elemento texto, o valor do texto é especificado como parâmetro do método. O valor retornado pelo método é um elemento texto. 6 Uma Application Programming Interface (API) é um conjunto de funções e sub-rotinas usadas pelos programas que informam ao sistema operacional como executar determinada tarefa.

21 createattribute: cria um atributo que pode ser atribuído a um elemento. O nome do elemento é passado como parâmetro na execução do método Interface Node Esta interface é responsável por representar um único nó na árvore do documento (ROBIE, 2004). Seus métodos possuem a característica de alterar um determinado nó, acessar um nó exibindo seu valor, adicionar um nó a um elemento, etc. Os principais atributos definidos pela interface Node são identificados abaixo. nodename: retorna o nome do nó, por exemplo, se o nó acessado for um elemento, não do tipo texto, valor retornado será o nome do elemento entre tags (<NomeElememento>). Este resultado é como o mesmo está disposto no documento XML. nodevalue: retorna o conteúdo de um determinado nó, por exemplo, se o conteúdo do nó for do tipo texto, o valor será o próprio conteúdo. Caso conteúdo seja um elemento, o valor de retorno será null. childlist: retorna um nodelist (lista de nós), com todos os filhos de um determinado nó, sendo que, caso não exista filhos para o nó em questão, o valor de retorno será null. firstchild: retorna o primeiro filho do nó, sendo que, caso o nó não possua filhos, o valor retornado será null. lastchild: retorna o último filho do nó, a exemplo do atributo firstchild, caso não exista um filho, o valor retornado será null. Além dos atributos a interface Node ainda fornece alguns métodos importantes para a manipulação de documentos utilizando a API DOM. Entre os métodos fornecidos pela interface, os principais são citados abaixo. removechild: remove o nó filho de um determinado nó. Para remover o nó é passado como parâmetro o filho do nó acessado.

22 20 appendchild: adiciona o nó a última posição de filhos do último nó acessado. A exemplo do método removechild, é passado como parâmetro o nó a ser manipulado, no caso o nó a ser adicionado. haschildnodes: este método tem como responsabilidade identificar se um determinado nó acessado possui filhos ou não. Caso o nó possua filhos o valor retornado e true caso contrário, o valor retornado e false. Além destas interfaces ainda pode-se citar a interface NodeList, que retorna um lista de nós ordenada, sem delimitação ou limitação de como esta coleção esta implementada (ROBIE, 2004) API DOM e Java A API do DOM no Java é fornecida pelo pacote org.w3c.dom. Porém, para sua implementação são utilizados recursos do pacote javax.xml.parsers. Alguns recursos importantes fornecidos pelo pacote javax.xml.parsers são descritos abaixo (VILAR, 2004). Tabela 4: Alguns recurso pela API DOM no Java (VILAR, 2004). RECURSO Package javax.xml.parsers DocumentBuilderFactory DocumentBuilder. DESCRIÇÃO Pacote da API do Java que oferece classes que permitem realizar o processamento de dados XML. Classe oferece recursos para que a mesma possa realizar o parsing de um documento XML e gerar um objeto que constitui sua representação em árvore. Classe que, através dos recursos obtidos da classe DocumentBuilderFactory, implementa a API que verifica a validade de um documento XML e armazena sua estrutura numa instância da classe Document.

23 2.5 Trabalhos Correlatos Para o desenvolvimento deste projeto foram necessários alguns testes com as ferramentas existentes no mercado, estes testes tiveram como objetivo identificar a forma como estas ferramentas trabalham com a questão da documentação de código-fonte de uma aplicação. Neste trabalho, foram abordadas duas ferramentas: o Javadoc que trabalha com a linguagem de programação Java e a Visual Studio que suporta a plataforma.net. No decorrer desta seção, serão apresentados os resultados desta análise, bem como uma breve descrição e o funcionamento das mesmas Javadoc O Javadoc consiste em uma ferramenta de documentação de códigos-fonte Java, sendo possível gerar páginas HTML com descrições de métodos, classes, atributos e etc (Sun, 2001). Nesta seção será explicado, de forma resumida, o funcionamento desta ferramenta, como gerar a documentação, algumas funções fornecidas pelo Javadoc, entre outras Funcionamento e Tags A ferramenta Javadoc processa arquivos que possuam a extensão.java, que estejam em um determinado diretório, ou que esteja definido por um package 7, ou de uma forma menos usual arquivos individuais que possuam a extensão.java (Sun, 2001). Este último método acaba não se tornando viável porque dificilmente um projeto de desenvolvimento consistirá de uns poucos arquivos fontes. O funcionamento do Javadoc consiste em varrer o código-fonte procurando por comentários, ou seja, textos que estejam entre os caracteres /** e */ ; e por tags que 7 Pacote (package) é uma forma de agrupar classes e interfaces de forma única.

24 22 estejam imediatamente precedendo uma classe ou um membro de uma classe, ignorando os comentários iniciados com // ou que estejam no corpo do código (LESLIE, 2002). Um exemplo de como as tags e os comentários são utilizados para documentar um código-fonte está explicitado na figura abaixo: Figura 11: Exemplo de documentação com Javadoc. No exemplo acima (), ainda foram definidas algumas tags @version Estas tags acionam determinadas funções no Javadoc como, por responsável por especificar ao Javadoc que o mesmo deverá mostrar na documentação uma descrição do parâmetro que é utilizado pelo método. O Javadoc é um programa que não possui uma interface gráfica, sendo iniciado via linha de comando. Um exemplo de como o Javadoc é invocado é apresentado na figura abaixo:

25 Figura 12: Exemplo de chamada da ferramenta Javadoc A linha de comando mostrada no exemplo (Figura 12) é composta pelo comando javadoc, responsável pelo processo de chamada da ferramenta Javadoc. Este processo é semelhante ao processo de invocação do compilador Java. Neste ponto, vale ressaltar que a ferramenta Javadoc precisa do compilador Java para funcionar. O Javadoc chama parte do javac para compilar as declarações, ignorando os membros da implementação. A ferramenta constrói uma rica representação interna das classes, incluindo a hierarquia das classes, e relacionamentos e então gera o HTML a partir disso (Sun, 2001). Além da chamada da ferramenta, também foi inserido os parâmetro d diretoriodestino, responsável pôr indicar o diretório em que a documentação deve ser criada (e não o local onde o arquivo a ser documentado está). Caso o diretório não exista, um novo diretório com o nome indicado será criado. Também foram adicionados os parâmetros version e author, que fazem referência as tags declaradas no código fonte, estes comandos indicam que as devem ser consideradas e acrescentadas na documentação. Finalmente vem o nome do arquivo.java (código-fonte) o qual será varrido para montar a documentação. A ferramenta Javadoc, além de trabalhar com comentários delimitados pelos caracteres /** e /*, também fornece algumas funções na documentação que são ativadas através de tags pré-definidas pela ferramenta. A identifica as principais tags:

26 24 Tabela 5: Tags utilizadas no Javadoc. TAG Exibe na documentação o nome do autor que foi definido no código Exibe na documentação os parâmetros existentes em um método (construtor ou não), semelhante a após sua definição deve ser informado uma descrição do parâmetro em Está tag indica qual o nome e o tipo do retorno de um determinado método. A figura abaixo mostra como as tags citadas anteriormente devem ser declaradas em um código-fonte. /** Bruno Ribeiro de F. Machado */ /** *Classe para decriptar um texto passado como parametro * textoparacifrar Texto a ser cifrado alfabeto Alfabeto Utilizado para Cifrar k Posicao no alfabeto textoencriptado Texto em sua versao original */ public String Encriptar (String textoparacifrar, String alfabeto, int k){... Figura 13: Exemplo de tags no Javadoc Resultados da Documentação Após a execução da ferramenta são geradas páginas Web que seguem a hierarquia e a estrutura do código-fonte. A Figura 14 mostra o resultado após a execução do Javadoc.

27 Figura 14: Documentação gerada com o Javadoc. As páginas são estruturadas da seguinte forma: a esquerda estão os arquivos que foram utilizados na documentação, CifradorCesar e Principal. No topo da página é mostrado um índice composto pelos packages, classes, classes que se tornaram obsoletas e um help definido pelo desenvolvedor. No corpo da página são encontradas as descrições dos métodos, variáveis, parâmetros, etc; que foram definidos no código-fonte. O acesso às diferentes áreas da documentação dar-se através dos links gerados pela ferramenta Analise da ferramenta de documentação Javadoc A partir dos estudos realizados com a ferramenta Javadoc foi possível identificar vantagens e desvantagens em sua utilização, as quais serão citadas a seguir: Vantagens: É uma ferramenta gratuita;

28 26 Existe a opção de documentar um arquivo, um package ou um diretório completo; A documentação final fornece vários recursos, como, visualizar estrutura dos documentos em formato de árvore, ordenar todos os itens que compõem a documentação em ordem alfabética, possibilidade adicionar um help a documentação. Desvantagens: Não possui uma interface para execução da ferramenta; A execução da ferramenta é relativamente complexa, visto que sua execução é iniciada através de uma linha de comando. Algumas tags só são consideradas se na linha de execução deste processo for identificado, por exemplo, a Só funciona para arquivos com a extensão.java. É necessário ter instalado o compilador Java para que a ferramenta de documentação seja executada Visual Studio Ao contrário do Javadoc, o Visual Studio não é apenas uma ferramenta de documentação, mas sim, uma ferramenta de desenvolvimento. O Visual Studio proporciona um ambiente altamente produtivo para uma ampla variedade de aplicações e tecnologias conectadas com a plataforma.net 8 (VISUAL, 2004) Funcionamento e Tags Assim como o Javadoc, a documentação do Visual Studio também se baseia em tags. No entanto, as tags usadas no Visual Studio são definidas são definidas segundo o padrão XML. A figura abaixo exemplifica algumas tags usadas na documentação de códigos-fonte no Visual Studio. 8 Desenvolvido sobre os padrões de Web Services XML,.NET possibilita que sistemas e aplicativos, novos ou já existentes, conectem seus dados e transações independente do sistema operacional.

29 /// <summary> /// /// </summary> /// <param name="strfilepath"></param> public void LoadXMLFromFile(string strfilepath) Figura 15: Uso de tags como comentários no Visual Studio. O Visual Studio reconhece como comentários linhas começadas com // ou ///. A diferença entre estas duas formas de comentário se deve ao fato de que a primeira indica ao compilador para ignorar o texto que segue. Já a segunda forma, indica que é um comentário XML e deve ser tratado como tal. Os comentários considerados válidos para a documentação no Visual Studio são os que começam com os sinais ///. Além destes comentários, o Visual Studio, a exemplo do Javadoc, varre o código fonte buscando por tags pré-definidas pela própria ferramenta. Algumas tags que o Visual reconhece e considera para a documentação são: <remarks>, <summary>, <param>, <returns> e <seealso>. Estas tags serão definidas a seguir: <remarks> e <summary>: estas tags têm por função descrever tipos, tais como métodos, propriedades e campos. É recomendado que a tag <remarks> seja utilizada para descrever um tipo e a tag <summary> seja destinada para descrever um membro do tipo. <param>: têm por função exibir os parâmetros ou propriedades de um método. Esta tag é composta por um atributo que possui o mesmo nome do parâmetro encontrado no código-fonte. <return>: esta é responsável por especificar o valor de retorno de um determinado método. <seealso>: esta tag exibe um link para outros tópicos referente ao assunto. tags. A Figura 16, apresentada a seguir, mostra um exemplo que utiliza estas referidas

30 28 /// <remarks> /// Descricao de uma classe por exemplo. /// </remarks> /// <summary> /// Definicao de um atributo existente em um método. /// </summary> /// <param name="nomedoparametro">descricao do paramametro em /// questao. /// </param> /// <returns> /// Descricao do retorno de um metodo. /// </returns> /// <seealso cref="nomedolink"/> Figura 16: Exemplo de utilização das tags pré-definidas no Visual Studio Resultados da Documentação Após a inclusão das tags no código-fonte, o próximo passo é invocar a ferramenta Visual Studio para que a mesma gere a documentação. Ao contrário do Javadoc, o Visual Studio fornece uma interface visual para executar tal função. A figura abaixo traz a interface fornecida pela ferramenta para invocar o processo de documentação. Figura 17: Interface para gerar a documentação no Visual Studio.

31 Após a solicitação, são geradas páginas chamadas Code Comment Web Reports, que representa a documentação do código-fonte. É possível, através destas páginas, selecionar as diversas partes do código-fonte como: classes, atributos, variáveis, etc; contidas na documentação através de links, situadas no lado esquerdo da página. A figura abaixo mostra uma Code Comment Web Reports. Figura 18: Documentação gerada com o Visual Studio Analise da documentação gerada pelo Visual Studio As vantagens e desvantagens identificadas com a utilização da ferramenta, são mostradas a seguir: Vantagens: Sua execução é bem mais simples do que no Javadoc. É possível identificar se apenas um programa ou um projeto será documentado.

32 30 As tags utilizadas na documentação, por serem baseada no padrão XML, são mais fáceis de serem trabalhadas e lembradas; A visualização da documentação gerada após a execução da ferramenta é mais simples que a gerada pela ferramenta Javadoc. Desvantagens: Só funciona para a plataforma.net; É uma ferramenta paga; A documentação só acontecerá com as tags que estejam delimitadas pela instrução ///, ignorando as que estejam entre a instrução //, gerando confusão, devido à semelhança das instruções.

33 3 MATERIAL E MÉTODOS Para o desenvolvimento desse trabalho foram utilizados diversos recursos: bibliográficos, hardware e software; que em conjuntos com as orientações permitiram o desenvolvimento da ferramenta como resultado final. 3.1 Local e Período Este trabalho foi desenvolvido durante o primeiro semestre de 2004, como parte da disciplina Prática em Sistemas de Informação I - Estágio. Os locais utilizados para sua elaboração foram os Laboratórios de Informática do Curso de Sistemas de Informação (labins), sendo que o mais utilizados foi o e Núcleo de Desenvolvimento de Software (NDS) do Centro Universitário Luterano de Palmas. Além da utilização dos labins, também se fez a necessária a utilização de um computador pessoal para o término do projeto. 3.2 Materiais Os recursos utilizados para o desenvolvimento do trabalho foram disponibilizados pelo próprio curso Sistemas de Informação do CEULP/ULBRA em seus laboratórios, tais como

34 32 hardware e software licenciados. As demais ferramentas free e trials foram adquiridas via Internet Hardware Pentium III, 750 Mhz e 128 Mb de RAM (Disponível no laboratório); Pentium III (1.4 Ghz) e 128Mb de RAM (Computador pessoal) Software Microsoft Windows 2000 Professional; Microsoft Office 2000 Professional; Internet Explorer 6.0; Acrobat Reader 6.0; XMLWriter (Trial); Jcreator (Free); Visual Studio; J 2 SDK versão 1.4.2; Fontes Bibliográficas Teses de Mestrados; Trabalhos de Conclusão de Curso; Publicações Científicas; Artigos; Site da W3C (World Wide Web Consortium) (W3C, 2004); Site da Sun (SUN, 2001); Outras fontes. 3.3 Metodologia

35 Diversas pesquisas foram realizadas no sentido de recolher informações referentes ao domínio do trabalho desenvolvido, de maneira a oferecer uma sustentação teórica necessária para a sua conclusão. Assim, foram abordados conceitos e técnicas alusivas ao escopo do trabalho, como XML, XSLT, DTD, etc; para que fosse possível desenvolver a ferramenta de documentação, além dos conceitos e técnicas também foram realizados testes com algumas ferramentas de documentação existentes no mercado.

36 34 4 RESULTADOS E DISCUSSÃO Esta seção aborda os detalhes referentes ao desenvolvimento da ferramenta. Serão descritas as partes que compõem a estrutura da ferramenta, tais como: o DTD e o XSLT; desenvolvidos para estruturar e apresentar o documento XML. Outro ponto focado referese a implementação em si, onde serão descritos os principais métodos envolvidos. Ao final, será apresentado um exemplo prático de utilização da ferramenta, mostrando como são gerados os documentos XML e HTML (através do uso do XSLT). Por fim, será realizada uma análise exibindo vantagens e desvantagens com relação às ferramentas testadas (Javadoc e Visual Studio) e limitações encontradas no desenvolvimento da ferramenta. 4.1 Arquitetura da Ferramenta Para melhor exemplificar o funcionamento da ferramenta e como as partes interagem entre si, será apresentada, através da Figura 19, a arquitetura do sistema desenvolvido. Esta arquitetura identifica cada parte que compõe a ferramenta e a ordem com que as mesmas interagem entre si no processo de documentação.

37 Figura 19: Arquitetura da Ferramenta de Documentação. A arquitetura da ferramenta, mostrada na Figura 19, é composta por: módulo que representa os códigos-fonte a serem documentados; o sistema ; os documentos XML gerados após a identificação das tags por parte do Sistema; o documento XSLT predefinido que é o responsável por servir como base para o desenvolvimento dos documentos HTML, resultado final da documentação. Depois de definido como está estruturada a ferramenta, o próximo passo é identificar como acontece a interação entre cada parte da estrutura, visando o desenvolvimento final da documentação. No processo de documentação executado pela ferramenta, o primeiro passo constitui na inserção das tags no código-fonte, tags estas que a ferramenta deve reconhecer e utilizar para a documentação. Após esta atividade, o próximo passo é iniciar a leitura do

38 36 código-fonte em busca de tags e gerar o documento XML, com a utilização da API DOM. Depois de construído o documento XML, o Sistema cria um documento HTML vazio, que será preenchido após aplicação do documento XSLT ao documento XML. Nas próximas seções serão descritos com mais detalhes o que cada parte que compõe a ferramenta está destinada a fazer, e como a mesma é composta. 4.2 DTD CRIADO Para estruturar o documento XML, foi criado um DTD, o qual é o responsável por especificar o conjunto de tags que poderão compor a documentação do código-fonte de uma determinada aplicação. Este DTD é apresentado na Figura 20. <!ELEMENT Programa (NomePrograma, Autor?, Versao?, Observacao?, Data?, Biblioteca*, Classe*)> <!ELEMENT NomePrograma (#PCDATA)> <!ELEMENT Autor (Nome+)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT Versao (#PCDATA)> <!ELEMENT Observacao (#PCDATA)> <!ELEMENT Data (#PCDATA)> <!ELEMENT Biblioteca (#PCDATA)> <!ELEMENT Classe (NomeClasse, DescricaoClasse, Metodo*)> <!ELEMENT NomeClasse (#PCDATA)> <!ELEMENT DescricaoClasse (#PCDATA)> <!ELEMENT Metodo (NomeMetodo, DescricaoMetodo, Parametro*, RetornoMetodo?)> <!ELEMENT NomeMetodo (#PCDATA)> <!ELEMENT DescricaoMetodo (#PCDATA)> <!ELEMENT Parametro (NomeParametro, DescricaoParametro)> <!ELEMENT NomeParametro (#PCDATA)> <!ELEMENT DescricaoParametro (#PCDATA)> <!ELEMENT RetornoMetodo (#PCDATA)> Figura 20: DTD utilizado para estruturar a documentação. O DTD é composto pelo elemento Programa que, obrigatoriamente, será criado no momento da execução do Sistema. Este elemento vai servir como base para a criação do documento XML, sendo composto pelos elementos: NomePrograma, Autor, Versão, Observação, Data, Biblioteca e Classe. O elemento NomePrograma deve conter apenas texto, é

39 será utilizado para definir o nome da classe documentada. Este elemento deve, obrigatoriamente, ser especificado no código-fonte. O elemento Autor é composto por, pelo menos, um elemento Nome. Para definir vários autores é necessário criar uma tag Autor e, dentro desta tag, deve-se definir quantos elementos Nome forem necessários. A tag Autor é opcional, mas caso seja especificada, obrigatoriamente, será necessário a definição de, pelo menos, um elemento Nome. Os elementos: versão, Observação e Data; a exemplo do elemento Autor, são opcionais e devem receber apenas texto. O elemento Biblioteca também é opcional e conterá as bibliotecas utilizadas no código-fonte. Além das tags citadas anteriormente, o elemento Programa é composto pelo elemento Classe, sendo este o elemento que conterá o real conteúdo da documentação. Este elemento é composto pelos itens: NomeClasse, DescricaoClasse e o elemento Método. O elemento Método contido no item Classe é opcional e pode não existir ou possuir várias instâncias. Este elemento é responsável por definir quais métodos uma classe é composta. Por sua vez, ele é composto pelos elementos NomeMetodo, DescricaoMetodo, Parâmetro e Retorno. O elemento parâmetro e composto por dois elementos obrigatórios NomeParametro e DescricaoParametro. A exemplo do elemento classe, um parâmetro é opcional, mas se o mesmo for definido, obrigatoriamente, os elementos que o compõem deverão ser declarados. 4.3 XSLT Criado O documento XSLT é utilizado para transformar o documento XML, gerado após a execução da ferramenta, em páginas HTML, que é o resultado final da documentação. O documento XSLT é invocado pelo Sistema após a verificação das tags existentes no código-fonte, e conseqüentemente a criação do documento XML.

40 38 A estrutura do XSLT é composta por comandos for-each, que possuem a responsabilidade de identificar a existência de um elemento e criar uma estrutura de iteração, enquanto instâncias desse elemento forem encontradas. Ainda compondo a estrutura do documento XSLT, a exibição de um valor de um determinado elemento, caso o mesmo exista, é exibido a partir da instrução value-of. Depois de identificado os elementos, para uma melhor visualização dos mesmos na documentação final, foram utilizados recursos fornecidos pelo HTML. Estes recursos tiveram como objetivo delimitar Classes de Métodos, através da instrução table, responsável por criar uma tabela. As tabelas criadas são estruturadas da seguinte forma: a primeira coluna é responsável por identificar o nome do elemento, enquanto que a segunda coluna tem a responsabilidade de identificar os outros campos que pertencem ao elemento, como uma descrição por exemplo. A Figura 21 exibe um trecho do documento XSLT que faz uso dos comandos for-each e value-of, unido aos recursos do HTML. <xsl:for-each select = "Classe"> <p/> <table width="700" height="50" border="1" bordercolor="#000000" aling= "center"> <tr> <td width="200" height="35" valign="middle" align= "center"> <font size= "6" align= "center"/><xsl:value-of select= "NomeClasse"/> </td> <td width="500" height="35" valign="middle" align= "center"> <font size= "4" align= "center"/><xsl:value-of select= "DescricaoClasse"/> </td> </tr> </table> Figura 21: Exemplo da utilização dos comandos for-each e value-of. Depois de definido como o XSLT foi estruturado, o próximo passo é identificar como o mesmo interage com o documento XML. A primeira linha de comando tem a função de localizar no documento XML o elemento Programa, que é o elemento raiz do documento XML. As regras definidas no XSLT só serão realizadas se o elemento raiz for encontrado. A instrução que realiza esta busca é descrita na figura.

41 <xsl:template match= "Programa"> Figura 22: Template responsável por buscar o elemento raiz. Depois de encontrado o elemento Programa, é executado uma série de templates responsáveis construir as páginas finais da documentação. Estes templates são todos constituídos de instruções for-each responsáveis por encontrar todos os elementos que atendam aos critérios da consulta. A identifica um exemplo de uma busca por um elemento e a exibição de seu valor. xsl:for-each select = "Autor"> <b><p>autores: </p></b> <ul> <xsl:for-each select = "Nome"> <li><xsl:value-of select= "."/></li> </xsl:for-each></ul> </xsl:for-each> Figura 23: Exemplo for-each encontrado no XLST. No exemplo mostrado na, e realizada uma busca no documento XML por tags do tipo Autor, se encontrada é realizada uma nova consulta por tags Nome e é adicionado ao documento HTML o valor desta tag. Os elementos: Programa, Versão, Observação e Data; seguem o mesmo estilo do elemento Autor, uma seqüência for-each para localizar a tag no documento XML em seguida seus valores são usados para montar o documento HTML. Para os elementos Classe e Método, o documento XLST organiza as tags no formato de uma tabela identificando cada tag e seu respectivo valor, facilitando assim a visualização. Para organizar os dados no formato de uma tabela, o XSLT faz uso de recursos fornecidos pelo HTML, tal com o comando table. O resultado da aplicação de comandos em HTML pode ser visualizado Figura 24. Figura 24: Exemplo do resultado da utilização de HTML e XSLT.

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

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

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

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

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza ROTEIRO Introdução ao DTD Elementos Atributos Entidades Validando um documento XML DTD (DOCUMENT

Leia mais

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

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

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

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Um documento XML possui Unidade lógica - os elementos Usuário inventa as marcas através de DTDs XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML

Leia mais

Este relatório tem por objetivo, abordar a sintaxe XML.

Este relatório tem por objetivo, abordar a sintaxe XML. Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] Dados de caracteres (uma

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

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Desenvolvendo Websites com PHP

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

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

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

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

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

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO

SISTEMA DE BANCO DE IMAGENS MANUAL DE USO SISTEMA DE BANCO DE IMAGENS MANUAL DE USO Versão: BETA Última atualização: 24/06/2012 Índice O sistema de banco de imagens 03 Pesquisa de fotos 04 Pautas e eventos 08 Cadastro de fotos 09 Edição e indexação

Leia mais

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

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

Leia mais

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

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

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

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

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

WORKSHOP Ferramenta OLAP IBM Cognos

WORKSHOP Ferramenta OLAP IBM Cognos WORKSHOP Ferramenta OLAP IBM Cognos O objetivo deste documento é orientar o usuário final na utilização das funcionalidades da ferramenta OLAP IBM Cognos, referente a licença de consumidor. Sumário 1 Query

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

Leiaute-IMPORTAÇÃO-Plano de Contas - XML

Leiaute-IMPORTAÇÃO-Plano de Contas - XML Leiaute-IMPORTAÇÃO-Plano de Contas - XML DOC-IN 1.0 1 / 6 Leiaute-IMPORTAÇÃO-Plano de Contas - XML Leiaute-IMPORTAÇÃO-Plano de Contas - XML DOC-IN 1.0 2 / 6 ÍNDICE ARQUIVO DE LEIAUTE... 3 Formato... 3

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Construção Páginas de Internet

Construção Páginas de Internet Construção Páginas de Internet Definir um Site no Frontpage Objectivos da sessão: No final da sessão os formandos deverão ser capazes de: Saber o que são os metadados do Frontpage; Distinguir entre Sites

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

Aplicação Prática de Lua para Web

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

Leia mais

PHP AULA1. Prof. Msc. Hélio Esperidião

PHP AULA1. Prof. Msc. Hélio Esperidião PHP AULA1 Prof. Msc. Hélio Esperidião NAVEGADOR O navegador também conhecido como web browseré um programa que habilita seus usuários a interagirem com documentos hospedados em um servidor Web. SERVIDOR

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

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

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Validando dados de páginas WEB

Validando dados de páginas WEB Validando dados de páginas WEB Para que validar os dados? Validar os dados informados pelo usuário garante que sua aplicação funcione corretamente e as informações contidas nela tenha algum sentido. Outro

Leia mais

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

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

Leia mais

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

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

Leia mais

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

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

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Aula 2 Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Conceitos O software controla os computadores(freqüentemente conhecido

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia Outlook XML Reader Versão 8.0.0 Manual de Instalação e Demonstração UNE Tecnologia Add-in para o Outlook 2003, 2007 e 2010 responsável pela validação e armazenamento de notas fiscais eletrônicas. Atenção,

Leia mais

Tutorial Sistema de Eventos de Certificação e Capacitação

Tutorial Sistema de Eventos de Certificação e Capacitação Tutorial Sistema de Eventos de Certificação e Capacitação Junho 2014 Sumário 1 O que é o Sistema de Certificados?... 3 2 Como acessar o Sistema?... 3 3 - Pré-requisitos para a Geração dos Certificados...

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

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

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

Leia mais

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

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários Objetivos Explorar funções de procura e referência; Explorar ferramentas para controle de formulários em planilhas; Importar

Leia mais

Técnicas e processos de produção. Profº Ritielle Souza

Técnicas e processos de produção. Profº Ritielle Souza Técnicas e processos de produção Profº Ritielle Souza INTRODUÇÃO HTML Sigla em inglês para Hyper Text Markup Language, traduzindo daria algo como Linguagem para marcação de Hipertexto. E o que seria o

Leia mais

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO 12. DOCUMENTAÇÃO Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações Podemos visualizar a documentação dessas classes e interfaces

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Roteiro 2: Conceitos de Tags HTML

Roteiro 2: Conceitos de Tags HTML Roteiro 2: Conceitos de Tags HTML Objetivos Detalhar conceitos sobre TAGS HTML: elementos, atributos, elemento vazio, links. Implementar páginas de internet com uso da linguagem HTML; Ferramentas Necessárias

Leia mais

Sintaxe XML. César Vittori cvittori@inf.ufrgs.br. Outubro de 2000. Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos

Sintaxe XML. César Vittori cvittori@inf.ufrgs.br. Outubro de 2000. Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos Sintaxe XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos XML. Sintaxe XML Marcação de documentos eletrônicos XML é

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

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

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

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011 XML Básico Murillo Vasconcelos Henriques B. Castro 17 de maio de 2011 O QUE É? Sigla para extensible Markable Language É uma linguagem de marcação, assim como HTML Desenvolvida para ser auto explicativa

Leia mais

1. Apresentação. 1.1. Objetivos

1. Apresentação. 1.1. Objetivos 1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em

Leia mais

AULA 4 Sistemas Operacionais

AULA 4 Sistemas Operacionais AULA 4 Sistemas Operacionais Disciplina: Introdução à Informática Professor: Gustavo Leitão Email: gustavo.leitao@ifrn.edu.br Sistemas Operacionais Conteúdo: Continuação S.O Funções Básicas Sistema de

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

Planejando o aplicativo

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

Leia mais

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Manual de Gerenciamento de Conteúdo

Manual de Gerenciamento de Conteúdo Manual de Gerenciamento de Conteúdo 1 Sumário 1) O que é um Gerenciador de Conteúdo...3 2) Como o Site está Estruturado...3 3) Como Gerenciar o Conteúdo do Site...5 3.1) Adicionar Itens no Menu de Navegação...6

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Documentação Usando o Javadoc

Documentação Usando o Javadoc Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Manual do usuário. v1.0

Manual do usuário. v1.0 Manual do usuário v1.0 1 Iniciando com o Vivo Gestão 1. como fazer login a. 1º acesso b. como recuperar a senha c. escolher uma conta ou grupo (hierarquia de contas) 2. como consultar... de uma linha a.

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

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Arquitetura da Informática e Automação MBA Gestão em Tecnologia 1 da Informaçao 2 Figura: Tela do IBM Mainframe Fonte: Arquivo próprio

Leia mais

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

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

Leia mais

Manual Framework Daruma para ECF

Manual Framework Daruma para ECF Manual Framework Daruma para ECF DESENVOLVENDO SOLUÇÕES Autor: Leandro Doc. Vrs. 01 Revisão: Laila Maria Aprovado em: Março de 2015. Nota de copyright Copyright 2015 Teorema Informática, Guarapuava. Todos

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Manual Geral do OASIS

Manual Geral do OASIS Manual Geral do OASIS SISTEMA DE GESTÃO DE DEMANDA, PROJETO E SERVIÇO DE TECNOLOGIA DA INFORMAÇÃO OASIS Introdução Esse manual tem como objetivo auxiliar aos usuários nos procedimentos de execução do sistema

Leia mais

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Manual do Publicador Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Sumário Painel de Administração... 3 1 - Inserção de post... 5 2 Publicação de post com notícia na área headline (galeria de

Leia mais

Glossários em Moodle (1.6.5+)

Glossários em Moodle (1.6.5+) Glossários em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Glossários em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Glossários em Moodle 3 Índice

Leia mais

Menus Personalizados

Menus Personalizados Menus Personalizados Conceitos básicos do Painel Logando no Painel de Controle Para acessar o painel de controle do Wordpress do seu servidor siga o exemplo abaixo: http://www.seusite.com.br/wp-admin Entrando

Leia mais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 Prezados Senhores da comissão de licitação da UENF, seguem alguns questionamentos acerca do edital de concorrência 01/2013 para esclarecimentos: 1. ANEXO

Leia mais

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO TRIÂNGULO MINEIRO SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MÓDULO PROTOCOLO MANUAL DO USUÁRIO VERSÃO: SETEMBRO/2010 SUMÁRIO Introdução...

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Manual de Instalação, Administração e Uso do Sistema Elétric

Manual de Instalação, Administração e Uso do Sistema Elétric Manual de Instalação, Administração e Uso do Sistema Elétric Versão 1.0 Autores Bruna Cirqueira Mariane Dantas Milton Alves Robson Prioli Nova Odessa, 10 de Setembro de 2013 Sumário Apoio 1. Licença deste

Leia mais

Introdução. História. Como funciona

Introdução. História. Como funciona Introdução O HTML é uma linguagem de marcação utilizada para desenvolvimento de sites. Esta linguagem surgiu junto com o HTTP, ambos possibilitaram a internet ser popularizada. História O HTML foi criado

Leia mais

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson. 1- Introdução 1.1- Visão Geral O ANT é uma ferramenta destinada a construção (build) de programas JAVA. É semelhante a ferramentas como make, nmake, jam mas com o diferencial de ser multi-plataforma, pois

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

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

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

Leia mais

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual do Sistema Vida Controle de Contatos Editorial Brazil Informatica Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...

Leia mais

XML (extensible Markup Language)

XML (extensible Markup Language) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

Codificar Sistemas Tecnológicos

Codificar Sistemas Tecnológicos Codificar Sistemas Tecnológicos Especificação dos Requisitos do Software Sistema de gestão para a Empresa Cliente SlimSys Autor: Equipe Codificar Belo Horizonte MG Especificação dos Requisitos do Software

Leia mais