SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al.,...

122
SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ESPECIFICAÇÃO DA NAVEGAÇÃO EM APLICAÇÕES HIPERMÍDIA DISSERTAÇÃO DE MESTRADO Departamento de Informática Rio de Janeiro, 22 de Fevereiro de 1995

Transcript of SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al.,...

Page 1: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

SIMONE DINIZ JUNQUEIRA BARBOSA

MODELAGEM E ESPECIFICAÇÃO DA NAVEGAÇÃO

EM APLICAÇÕES HIPERMÍDIA

DISSERTAÇÃO DE MESTRADO

Departamento de Informática

Rio de Janeiro, 22 de Fevereiro de 1995

Page 2: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

SIMONE DINIZ JUNQUEIRA BARBOSA

MODELAGEM E ESPECIFICAÇÃO DA NAVEGAÇÃO

EM APLICAÇÕES HIPERMÍDIA

Dissertação apresentada ao Departamento de

Informática da PUC/RJ como parte dos

requisitos para obtenção do título de Mestre em

Informática: Ciência da Computação.

Orientador: Prof. Daniel Schwabe.

Departamento de Informática

Pontifícia Universidade Católica do Rio de Janeiro

Rio de Janeiro, 22 de Fevereiro de 1995

Page 3: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

Ao meu marido

Page 4: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

Meus agradecimentos

– ao Prof. Daniel Schwabe, pela orientação e apoio;

– aos meus pais, pelo carinho, educação e dedicação;

– ao meu irmão, pelo apoio e material cedidos;

– ao CNPq, Conselho Nacional de Pesquisa e Desenvolvimento, pelo apoio financeiro no

desenvolvimento deste trabalho;

– ao meu marido.

Page 5: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente
Page 6: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

RESUMO

Uma característica importante das aplicações hipermídia é a liberdade de navegação através

dos nós da rede. Essa flexibilidade pode acarretar na desorientação do usuário, que ficará

―perdido no hiperespaço‖.

Este trabalho apresenta o conceito de contextos de navegação — definido sobre o

OOHDM (Object-Oriented Hypermedia Design Methodology) —, que fornece um mecanismo

consistente para especificar a estrutura de navegação de aplicações hipermídia, utilizando um

modelo híbrido que combina hipertexto orientado a grafos e hipertexto orientado a conjuntos.

Os contextos de navegação visam a reduzir a carga cognitiva imposta pela navegação em

hiperdocumentos, propondo caminhos com estratégias de navegação bem definidas e

informações contextuais que auxiliam o usuário a percorrer os nós de seu interesse, evitando o

problema de desorientação.

ABSTRACT

An important feature of hypermedia applications is the freedom to navigate through the

network nodes. This flexibility may cause user disorientation, the problem known as ―lost in

hyperspace‖.

This dissertation presents the concept of navigational contexts — defined in the framework of

the Object-Oriented Hypermedia Design Methodology —, which offers a consistent way to

specify the navigation structure of hypermedia applications, using a hybrid model that

combines graph-oriented and set-oriented hypertexts. The navigational contexts attempt to

reduce the cognitive load created when navigating in hyperdocuments by proposing paths with

well-defined navigational strategies and contextual information that help the user traverse the

nodes according to her interest, avoiding user disorientation.

Page 7: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

iii

SUMÁRIO

LISTA DE ILUSTRAÇÕES ................................................................................................... V

1. INTRODUÇÃO .................................................................................................................... 1

1.1. ETAPAS DE DESENVOLVIMENTO DE APLICAÇÕES HIPERMÍDIA .............................................. 2

1.1.1. Modelagem Conceitual ................................................................................................. 2

1.1.2. Modelagem da Navegação ............................................................................................ 3

1.1.3. Projeto Abstrato da Interface ........................................................................................ 3

1.1.4. Implementação .............................................................................................................. 4

2. VISÃO GERAL DE OOHDM ............................................................................................. 5

3. CONTEXTOS DE NAVEGAÇÃO ................................................................................... 11

3.1. INTRODUÇÃO ...................................................................................................................... 11

3.1.1. Definição Informal ...................................................................................................... 12

3.2. ESPECIFICAÇÃO FORMAL .................................................................................................... 21

3.2.1. Definição .................................................................................................................... 21

3.3. CLASSES, OBJETOS E ELOS DE CONTEXTO .......................................................................... 29

4. ESTUDOS DE CASO ......................................................................................................... 34

4.1. MICROSOFT

ART GALLERY ............................................................................................... 34

4.2. MICROSOFT

ANCIENT LANDS ............................................................................................ 49

4.3. MICROSOFT

MULTIMEDIA BEETHOVEN ............................................................................. 65

4.4. PROJETO PORTINARI ........................................................................................................... 78

5. OUTRAS ABORDAGENS ................................................................................................ 84

5.1. COLEÇÕES........................................................................................................................... 84

5.2. ROTEIROS GUIADOS ............................................................................................................ 86

5.3. ESTRUTURAÇÃO AUTOMÁTICA DE DOCUMENTOS ............................................................... 88

Page 8: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

iv

6. FERRAMENTA .................................................................................................................. 91

6.1. OBJETIVOS .......................................................................................................................... 91

6.2. COMPILAÇÃO DE UM ESQUEMA EM OOHDM ..................................................................... 91

6.3. IMPLEMENTAÇÃO ................................................................................................................ 93

7. CONCLUSÃO ................................................................................................................... 103

7.1. TRABALHOS FUTUROS ...................................................................................................... 103

8. REFERÊNCIAS................................................................................................................ 108

Page 9: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

v

LISTA DE ILUSTRAÇÕES

Figura 2-1 — Exemplos de relação explícita e implícita. ....................................................................................... 6

Figura 2-2 — Especificação de classes e sub-sistemas. .......................................................................................... 7

Figura 2-3 — Esquema conceitual de uma aplicação em OOHDM. ...................................................................... 7

Figura 2-4 — Esquema de classes de navegação em OOHDM. ............................................................................. 9

Figura 2-5 — Objeto da classe Pintura. ............................................................................................................... 10

Figura 3-1 — Representação informal utilizada nos exemplos desta seção. ........................................................ 13

Figura 3-2 — Contexto de navegação arbitrário. ................................................................................................. 14

Figura 3-3— Contexto de navegação cujos elementos são todas as instâncias da classe ―Artista‖ .................... 14

Figura 3-4 — Representações de contextos de navegação aninhados em uma classificação. ............................. 15

Figura 3-5— Ilustração de elo para um nó e outro elo para um contexto de navegação. ................................... 16

Figura 3-6 — Uso e omissão de contextos de navegação para especificar a estrutura de objetos agregados. ... 17

Figura 3-7 — Contexto de navegação de índice. .................................................................................................. 17

Figura 3-8 — Contexto de navegação de sessão, contendo anotações acrescentadas pelo usuário. ................... 18

Figura 3-9 — Contextos de navegação manual e automaticamente construídos. ................................................ 19

Figura 3-10 — Contexto de navegação ilustrando o caminho seqüencial de um roteiro guiado. ........................ 20

Figura 3-11 — Mudança dos elos visíveis a partir do mesmo nó em contextos de navegação diferentes. .......... 21

Figura 3-12 — Especificação de um contexto de navegação. .............................................................................. 22

Figura 3-13 — Contexto de navegação arbitrário. ............................................................................................... 24

Figura 3-14— Especificação de um contexto de navegação de classe. ................................................................ 24

Figura 3-15— Contexto de navegação derivado de elo. ....................................................................................... 25

Figura 3-16 — Especificação de um contexto de navegação derivado de um objeto agregado. ........................ 25

Figura 3-17 — Contexto de navegação de índice. ................................................................................................ 26

Figura 3-18 — Comportamentos possíveis de um contexto de navegação. ......................................................... 28

Figura 3-19 — Notação utilizada para especificar classes de contexto. .............................................................. 31

Figura 3-20 — Classe de contexto associada a uma classe de navegação. .......................................................... 31

Figura 3-21 — Classes de contexto utilizadas em um contexto de navegação de sessão. .................................... 32

Figura 3-22 — Notação utilizada para especificar elos de contexto .................................................................... 33

Figura 4-1 — Esquema OOHDM da aplicação Art Gallery, da Microsoft. ......................................................... 34

Figura 4-2 — Classes de navegação da aplicação Art Gallery. ........................................................................... 36

Figura 4-3 — Partes do objeto de navegação ―Londres‖, da classe ―Local‖, e o contexto de navegação

correspondente. ............................................................................................................................. 37

Figura 4-4 — Objeto ―The Battle of San Romano‖ da classe ―Pintura‖. ............................................................ 38

Figura 4-5 — Menu principal da aplicação Art Gallery, representado por um contexto de navegação............. 40

Page 10: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

vi

Figura 4-6 — Contexto de navegação do índice dos nomes dos artistas da aplicação e contexto de navegação

da classe ―Artista‖. ....................................................................................................................... 41

Figura 4-7 — Contexto de navegação do índice das cidades, regiões e períodos de tempo da aplicação e

contexto de navegação cujos nós pertencem à classe.‖Local/Período‖. ...................................... 41

Figura 4-8 — Contextos de navegação dos tipos de pintura e das pinturas segundo a classificação. ................. 42

Figura 4-9 — Contexto de navegação do índice dos termos de referência e contexto de navegação da classe

―Termo de Referência‖. ................................................................................................................ 43

Figura 4-10 — Contextos de navegação correspondentes aos roteiros guiados da aplicação. ........................... 43

Figura 4-11— Contextos de navegação de classe da aplicação Art Gallery. ....................................................... 44

Figura 4-12 — Contextos de navegação gerados a partir das relações entre as classes. .................................... 44

Figura 4-13 — Contexto de navegação derivado de uma classe agregada. ......................................................... 45

Figura 4-14 — Estrutura da classe de navegação ―Local‖ representada através de um contexto de navegação

derivado de agregado. ................................................................................................................... 45

Figura 4-15 — Contexto de navegação computado em função de um atributo de classe. ................................... 45

Figura 4-16 — Contexto de navegação derivado do elo ―trabalhou em‖, inexistente na aplicação. .................. 46

Figura 4-17 — Classe de contexto definida como parte da classe ―Pintura‖ no contexto de navegação

―Composition and Perspective‖. ................................................................................................... 47

Figura 4-18 — Roteiro guiado representado por um contexto de navegação com metainformação e elementos de

contexto. ........................................................................................................................................ 48

Figura 4-19 — Esquema de navegação da aplicação Art Gallery, utilizando contextos de navegação. ............. 49

Figura 4-20 — Esquema OOHDM da aplicação Ancient Lands. ......................................................................... 50

Figura 4-21 — Classes de navegação da aplicação. ............................................................................................ 51

Figura 4-22 — Exemplo de tela da aplicação Ancient Lands. .............................................................................. 52

Figura 4-23 — Especificação do contexto de navegação Tópicos e de seus elos de contexto.............................. 53

Figura 4-24 — Elos do tipo ―está relacionado a‖ a partir de detalhes de um tópico, levando a outros elementos

do mesmo contexto de navegação. ................................................................................................ 54

Figura 4-25 — Contextos de navegação de índice da aplicação Ancient Lands. ................................................. 55

Figura 4-26 — Telas dos índices do contexto de navegação Category Index. ...................................................... 56

Figura 4-27 — Principais índices da aplicação Ancient Lands............................................................................ 57

Figura 4-28 — Contextos de navegação que definem as possibilidades de navegação a partir dos índices da

aplicação Ancient Lands. .............................................................................................................. 58

Figura 4-29 — Especificação do contexto de navegação Tópicos e Gastronomique Gourmand (guia). ............. 60

Figura 4-30 — Contextos de navegação Tópicos e Gastronomique Gourmand (guia). ....................................... 61

Figura 4-31 — Tela de um objeto da classe Tópico dentro de um contexto de navegação de guia. .................... 62

Figura 4-32 — Pedido de confirmação para desativar um guia. ......................................................................... 63

Figura 4-33 — Esquema de navegação da aplicação Ancient Lands. .................................................................. 64

Page 11: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

vii

Figura 4-34 — Esquema OOHDM da aplicação Multimedia Beethoven. ............................................................ 65

Figura 4-35 — Objetos de navegação da aplicação Multimedia Beethoven. ....................................................... 67

Figura 4-36 — Menu principal e índice geral da aplicação Multimedia Beethoven. .......................................... 68

Figura 4-37 — Tela inicial ilustrando o índice ―Table of Contents‖. .................................................................. 68

Figura 4-38 — O contexto de navegação ―A Pocket Guide‖ permite acessar os trechos da sinfonia diretamente,

por seção ou por parte. ................................................................................................................. 70

Figura 4-39 — Tela ilustrando o índice do contexto de navegação ―A Pocket Guide‖. ...................................... 71

Figura 4-40 — O contexto de navegação ―Beethoven’s World‖ possui dois modos de navegação. .................... 71

Figura 4-41 — Tela ilustrando um elemento do contexto de navegação ―Beethoven’s World‖. ......................... 72

Figura 4-42 — O contexto de navegação ―The Art of Listening‖. ....................................................................... 73

Figura 4-43 — O contexto de navegação ―A Close Reading‖. ............................................................................ 75

Figura 4-44 — Tela ilustrando um elemento do contexto de navegação ―A Close Reading‖. ............................. 76

Figura 4-45 — Esquema de navegação da aplicação Multimedia Beethoven utilizando contextos de navegação.77

Figura 4-46 — Esquema OOHDM da aplicação PP. ........................................................................................... 78

Figura 4-47 — Classes de navegação da aplicação PP. ...................................................................................... 81

Figura 4-48 — Tela de um objeto da classe ―Obra‖. ........................................................................................... 81

Figura 4-49 — Contextos de navegação de classe da aplicação Portinari. ......................................................... 82

Figura 4-50 — Alguns contextos de navegação derivados de elo da aplicação Portinari. .................................. 83

Figura 4-51 — ―Chooser‖ do contexto de navegação ―Obras‖. ......................................................................... 83

Figura 5-1 — Aninhamento de contextos de navegação para representar uma estrura em árvore. .................... 90

Figura 6-1 — Processo de compilação de um esquema em OOHDM. ................................................................. 92

Figura 6-2 — Tabelas correspondentes ao esquema conceitual em OOHDM. .................................................... 93

Figura 6-3 — Entrada de dados das classes e relações do esquema conceitual. ................................................. 94

Figura 6-4 — Tabelas correspondentes às classes de navegação de OOHDM. ................................................... 95

Figura 6-5 — Tela de derivação das classes de nós e de elos do esquema de navegação a partir dos elementos

do esquema conceitual. ................................................................................................................. 96

Figura 6-6 — Tela de entrada de dados do esquema de navegação. ................................................................... 97

Figura 6-7 — Tabelas correspondentes a contextos de navegação. ..................................................................... 97

Figura 6-8 — Tela de entrada de dados de contextos de navegação. ................................................................... 98

Figura 6-9 — Tabelas correspondentes a classes e elos de contexto. .................................................................. 99

Figura 6-10 — Tela de entrada de dados de classes e elos de contexto de navegação. ..................................... 100

Figura 6-11 — Tabelas de instâncias dos elementos do hiperdocumento. ......................................................... 100

Figura 7-1 — Esquema OOHDM alternativo para a aplicação Multimedia Beethoven. ................................... 105

Figura 7-2 — Classes de navegação da aplicação Multimedia Beethoven, ilustrando um contexto de navegação

derivado do mapeamento induzido por uma classe conceitual. .................................................. 106

Page 12: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

1

1. INTRODUÇÃO

Aplicações hipermídia têm sido desenvolvidas para todas as áreas e todos os propósitos, desde

quiosques de propaganda em locais públicos até cursos de treinamento altamente

especializados. A interatividade e flexibilidade das aplicações, aliadas ao poder de

comunicação dos dados multimídia (imagens, sons, vídeo, animações) têm sido descobertas

por um número cada vez maior de pessoas de diversas áreas. Cresce a demanda para

aplicações maiores e mais complexas e portanto cresce a necessidade de uma abordagem

sistemática para o desenvolvimento de tais aplicações.

Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação

hipertextual está diretamente relacionado à capacidade de o autor capturar e organizar a

estrutura de um assunto completo de forma a torná-lo claro e acessível a um público amplo.

Foi apresentado o HDM (Hypertext Design Model), que apóia uma abordagem com base em

um modelo de autoria em ponto grande para especificar aplicações hipermídia. [Schwabe e

Rossi, 94] utiliza uma abordagem orientada a objetos para a construção de grandes aplicações

hipermídia e descreve o OOHDM (Object-Oriented Hypermedia Design Model).

Este trabalho complementa a modelagem da navegação prevista em OOHDM,

propondo o conceito de contextos de navegação, classes e objetos de contexto. Esses

conceitos oferecem uma maneira consistente de especificar os aspectos de navegação de

aplicações hipermídia, e mecanismos para aumentar a inteligibilidade da rede hipermídia.

O conceito de contextos de navegação explora a idéia de que os elementos de

informação de um hiperdocumento, quando apresentados em contexto, adquirem um

significado mais preciso e mais claro. O uso de contextos de navegação tende a minimizar o

problema de desorientação do usuário e reduzir a carga cognitiva imposta pela navegação em

hiperdocumentos complexos [Zellweger89].

Um contexto de navegação é um conjunto de nós, elos e outros contextos de

navegação. Ele possui atributos que podem incluir informações sobre si próprio, sobre seus

membros como fazendo parte de um contexto e sobre como esse contexto se relaciona com o

Page 13: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

2

restante do hiperdocumento. Além dessas informações de contexto como um todo, o contexto

de navegação pode incluir elementos de informação contextual a serem acrescentados aos seus

membros, ou seja, um contexto de navegação pode conter objetos que acrescentem conteúdo a

seus nós.

Um contexto de navegação pode sugerir um caminho através de seus membros,

visando orientar o usuário e reduzir a carga cognitiva imposta pela navegação livre e arbitrária

das aplicações hipermídia típicas, onde o usuário com freqüência se pergunta ―onde estou?‖,

―por que vim para este nó?‖, ―para onde devo ir?‖. Os elos que definem um caminho por um

contexto de navegação também podem conter informações, importantes para criar transições

suaves entre os fragmentos de informação contidos nos diversos membros de um contexto.

É importante ressaltar que usar contextos de navegação não significa eliminar a

flexibilidade das aplicações hipermídia, mas sim fornecer uma orientação para os usuários,

mantendo a liberdade de navegação.

Através dos contextos de navegação, este trabalho propõe uma maneira sistemática de

especificar os aspectos de navegação das aplicações hipermídia, a partir da modelagem do

domínio.

1.1. Etapas de Desenvolvimento de Aplicações Hipermídia

Este trabalho pretende complementar o OOHDM, descrito em [Schwabe e Rossi, 94]. De

acordo com ele, o desenvolvimento de aplicações hipermídia pode ser visto como um

processo de quatro etapas. Essas etapas não seguem o modelo de desenvolvimento em

cascata, mas sim uma mistura dos modelos iterativo, incremental e de prototipação rápida.

As etapas do processo de desenvolvimento de aplicações hipermídia são as seguintes:

1.1.1. Modelagem Conceitual

Esta etapa consiste na organização do domínio da aplicação em uma hiperbase, utilizando as

primitivas de OOHDM. Aqui, não há preocupação com o uso ou a tarefa da aplicação, apenas

com a semântica do domínio. O domínio é modelado definindo-se classes, subsistemas e

Page 14: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

3

relações. Em seguida essas definições são refinadas, estabelecendo hierarquias de classe do

tipo ―part-of‖ e atribuindo tipos aos atributos das classes. Finalmente, a modelagem é

enriquecida com informações específicas das instâncias (objetos) e é construído um esquema

utilizando os objetos, classes, relações e sub-sistemas.

1.1.2. Modelagem da Navegação

Aqui são especificadas as estruturas de acesso e os mecanismos de navegação da aplicação

hipermídia, considerando o perfil do usuário e as tarefas que o autor pretende apoiar. A partir

da modelagem conceitual, são definidos os nós e elos do hiperdocumento. Visto que nem

todo objeto conceitual produz um nó e nem toda relação produz um elo, são utilizadas classes

e objetos de navegação para mapear a hiperbase conceitual nos nós e elos do hiperdocumento.

Uma classe de navegação pode ser mapeada diretamente de uma classe conceitual ou

ser formada a partir de fragmentos de uma ou mais classes. O mesmo ocorre com relações e

elos.

A partir das classes e objetos de navegação, são definidos os contextos de navegação e

classes e objetos de contexto, que completam a especificação da modelagem da navegação de

uma aplicação hipermídia. Este trabalho concentra-se na construção de contextos de

navegação e de classes e objetos de contexto, a partir das classes e objetos de navegação.

1.1.3. Projeto Abstrato da Interface

Esta etapa consiste na especificação do comportamento dinâmico da interface da aplicação,

onde são considerados os aspectos de apresentação da aplicação, incluindo o formato da

informação (texto, tabelas, imagens, etc.) e os eventos correspondentes (mostrar um texto

após clicar um botão, etc.).

Os elementos considerados nesta estapa são chamados objetos perceptíveis. Os

objetos perceptíveis existem dentro de contextos de percepção que podem sofrer

transformações de acordo com as ações do usuário, e o conjunto dos contextos de percepção

define o comportamento dinâmico da aplicação. Os objetos perceptíveis e suas

transformações são representados utilizando ADV‘s (Abstract Data Views) [Cowan et al., 93],

Page 15: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

4

que permitem a especificação dos aspectos de interface independentemente do objeto

propriamente dito.

1.1.4. Implementação

O mapeamento dos objetos perceptíveis em objetos de interface de um determinado sistema

ocorre nesta etapa, cujo resultado é a aplicação hipermídia propriamente dita. Esta etapa

depende da plataforma em que a aplicação será utilizada.

A abordagem OOHDM visa a facilitar a transição da modelagem do domínio para o

projeto da navegação e da interface e em seguida para a implementação, além de fornecer toda

a documentação necessária para a compreensão, manutenção e reuso dos elementos do

hiperdocumento.

Page 16: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

5

2. VISÃO GERAL DE OOHDM

Para compreender melhor os exemplos apresentados neste trabalho, e como os contextos de

navegação se encaixam no desenvolvimento de aplicação hipermídia, esta seção descreve

sucintamente o OOHDM e apresenta a notação utilizada, ilustrada com exemplos.

O modelo do domínio é representado por um esquema de modelagem, chamado

―Object-Oriented Hypermedia Modeling Scheme‖, construído com base em objetos, classes,

relações e sub-sistemas. Um esquema consiste em um conjunto de classes, objetos e sub-

sistemas conectados por relações.

As classes são descritas através de um conjunto de atributos tipados e métodos, e são

organizadas em hierarquias do tipo part-of (agregados) e is-a (sub-classes). As relações

também são definidas como classes, e portanto incluem atributos e comportamento. As classes

podem estar relacionadas a sub-sistemas, que são abstrações de um esquema de modelagem

hipermídia completo.

Os atributos representam propriedades intrínsecas ou conceituais dos objetos, como o

nome de uma pintura, por exemplo. O tipo de um atributo representa uma relação implícita, a

aparência visual ou a realização retórica do atributo na aplicação hipermídia final.

Cada realização de um atributo é chamada de perspectiva do atributo. Quando houver

múltiplas perspectivas, é utilizada a notação [Perspectiva1+, Perspectiva2], onde o sinal de

―+‖ indica a perspectiva default.

Uma relação implícita ocorre quando o tipo de um atributo se refere a outros objetos

no esquema e portanto pode dar origem a uma relação. Por exemplo, em uma aplicação sobre

escritores e obras literárias, um atributo ―escritor‖ da classe Obra Literária representaria uma

relação implícita, pois poderia dar origem a uma relação ―escrita por‖, entre as classes Obra

Literária e Escritor. Em geral, não se deve esconder uma relação em um atributo de classe, e

sim especificá-la sempre que possível. Seria correto especificar ―escritor‖ como atributo da

classe Obra Literária apenas se o autor do hiperdocumento estiver interessado apenas no nome

Page 17: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

6

do escritor. Nesse caso, a classe Escritor não precisaria existir. A Figura 2-1 ilustra as duas

situações:

nome: String

data nascimento: Date

nacionalidade: String

biografia: Text

título: String

data publicação: Date

páginas: Integer

idioma: String

Classe Obra Literária Classe Escritor

Classes de uma aplicação sobre obras literárias e seus autores:

escrita por

título: String

autor: String

data publicação: Date

páginas: Integer

idioma: String

Classe Obra Literária

Classe de uma aplicação sobre obras literárias, que inclui apenas o nome de

seus autores:

Figura 2-1 — Exemplos de relação explícita e implícita.

Para documentar o modelo, são utilizados Cartões de Classes, Relações e Sub-

Sistemas, pois são fáceis de manipular e podem ser automatizados, por exemplo, no próprio

estilo hipermídia. Os cartões de classes e sub-sistemas são exibidos na

Figura 2-2:

Page 18: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

7

Cartão de Classe

Comments

Part-of

Class Name Inherits from

Attributes

Parts

Behavior

S-Sist/Class Relat.

Related with

Trace Fwd Trace Bck

Cartão de Sub-Sistema

Comments

Entry Points

Sub-System Name

Includes

S-Sist/Class Relat.

Related with

Trace Fwd Trace Bck

Figura 2-2 — Especificação de classes e sub-sistemas.

A Figura 2-3 ilustra um esquema em OOHDM de uma aplicação sobre pinturas de

uma galeria:

nome: String

retrato: Imagem

estilo: Texto

biografia: Texto

Artista

nome: String

período: Data-Data

mapaEuropa: Mapa

mapaRegião: Mapa

mapaCidade: Mapa

panorama histórico: Texto

panorama cultural: Texto

Local/Período

trabalhou

em produzida

em

relacionado com

tem estilo

semelhante a

influenciou

pintou

nome: String

data criação: Data

descrição: Imagem

dados técnicos: Texto

tipo: Conjunto(tipos)

Pintura

Descrição Geral

texto: Texto

Comentário

título: String

comentário: [Imagem+,

Texto]

n

Termo de Referência

termo: String

descrição: Texto

Agregado

Sub-classe

Figura 2-3 — Esquema conceitual de uma aplicação em OOHDM.

Page 19: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

8

Para representar objetos que possuem características excepcionais, é utilizado um

esquema de instâncias, juntamente com cartões de objetos. Nesse esquema, atributos podem

ser acrescentados ou modificados, e relações podem ser acrescentadas ou refinadas, mas não é

permitido eliminar atributos ou relações. A construção desse esquema é dependente da

aplicação, enquanto o esquema conceitual de classes é dependente do domínio.

As classes conceituais representam abstrações de conceitos do mundo real. Entretanto,

para definir os nós da aplicação hipermídia final é necessário tomar algumas decisões. Trata-

se agora da modelagem da navegação, que modela a aplicação considerando o perfil do

usuário final e as tarefas que o autor deseja apoiar.

Os nós da aplicação podem conter informações de mais de uma classe conceitual. O

mapeamento entre as classes e nós nem sempre é isomorfo, assim como o mapeamento entre

as relações e elos da aplicação. Isso ocorre porque o modelo conceitual pretende descrever

todo o domínio, e cada esquema de navegação descreve um determinado aspecto desse

domínio, tendo em vista uma aplicação específica.

Após completar a modelagem da semântica do domínio, é necessário especificar os

nós, os elos e a semântica de navegação (como descrito na seção 1.1.2, ―Modelagem da

Navegação‖). Para representar os elementos desta etapa, são utilizadas classes de navegação,

que são utilizadas para definir os nós, elos, estruturas de acesso, browsers e outros

mecanismos de navegação. A Figura 2-4 ilustra um esquema de classes de navegação

referente ao esquema conceitual da Figura 2-3:

Page 20: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

9

nome: String

retrato: Imagem

estilo: Texto

biografia: Texto

influências: Anchor (influenciou)

pinturas: Anchor (pintou)

locais: Anchor (trabalhou em)

relacionado com: Anchor (relacionado com-1)

glossário: Anchor (significa)

Artista

nome: String

mapaEuropa: Mapa

mapaRegião: Mapa

Local

trabalhou em produzida

em

significa

relacionado

com

semelhante ainfluenciou

pintou

nome: String

data criação: Data

descrição: Imagem

dados técnicos: Texto

criador: String (a.nome(a,p) pintou p.nome =

nome, a Artista)

pintor: Anchor (pintou-1)

local: Anchor (produzida em)

semelhante a: Anchor (semelhante a)

relacionado com: Anchor (relacionado com-1

)

glossário: Anchor (significa)

Pintura

Descrição Geral

texto: Texto

glossário: Anchor (significa)

Comentário

título: String

comentário: Texto

ilustração: Imagem

glossário: Anchor (significa)

n

Termo de Referência

termo: String

descrição: Texto

relacionado com: Anchor (relacionado com)

glossário: Anchor (significa)

período: Data-Data

mapaCidade: Mapa

panorama histórico: Texto

panorama cultural: Texto

artistas: Anchor (trabalhou em-1)

pinturas: Anchor (produzida em-1)

relacionado com: Anchor (relacionado com-1)

glossário: Anchor (significa)

Local/Período

Termo de Glossário

termo: String

descrição: Texto

Figura 2-4 — Esquema de classes de navegação em OOHDM.

As classes Artista, Pintura e Termo de Referência foram mapeadas diretamente para

classes de navegação que incluem as âncoras correspondentes às suas relações. A classe

Local/Período, entretanto, foi mapeada como fazendo parte de uma classe agregada Local.

Assim, ao acessar um objeto da classe Local/Período, pode-se percorrer elos estruturais para

outros períodos daquele mesmo local.

Observe que o atributo ―criador‖ da classe de navegação Pintura é derivado do atributo

―nome‖ da classe conceitual Artista, e seu valor é definido através da relação entre as classes

Page 21: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

10

conceituais Artista e Pintura. Os elementos do esquema estão claramente representados nas

telas da aplicação, como pode ser visto na Figura 2-5 para um objeto da classe Pintura:

atributos do objeto:

nome, data de criação, dados técnicos, descrição

atributo ―criador‖,

derivado do elo

produziu-1

parte:

Descrição

Geral

relações

da parte

Figura 2-5 — Objeto da classe Pintura.

A partir da especificação das classes e objetos conceituais e das classes e objetos de

navegação, são criados contextos de navegação, que agrupam esses elementos de acordo com

algum critério e definem uma estratégia de navegação.

Page 22: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

11

3. CONTEXTOS DE NAVEGAÇÃO

3.1. Introdução

Um contexto de navegação é definido agrupando-se objetos que compõem tópicos

relacionados, apresentados sob um determinado ponto de vista e abordados em um certo nível

de conhecimento. Os contextos de navegação devem garantir a coerência do material

apresentado e fornecer um contexto, a fim de que o usuário se sinta à vontade para explorar o

material, sem se sentir desorientado ou perdido na complexa rede de nós. O usuário poderá

compreender melhor a aplicação, visto que os elementos de informação são apresentados em

contextos, e portanto seu significado se torna mais claro.

O conceito de contextos de navegação foi inspirado no Modelo de Contextos

Aninhados, ou MCA [Soares et al., 93]. O MCA utiliza contextos aninhados para permitir ―a

implementação das abstrações de agregação, hierarquia e visão‖. Os contextos de navegação

como definidos neste trabalho se concentram nos aspectos de navegação de um

hiperdocumento, considerando um hiperdocumento que tenha sido especificado previamente

em OOHDM.

A idéia de contextos de navegação é semelhante ao conceito de visões de bancos de

dados. Uma visão de banco de dados pode ser vista como uma tabela virtual, derivada de uma

ou mais tabelas da base de dados [Date, 81]. Analogamente, um contexto de navegação é

definido a partir dos objetos de navegação existentes, apresentando ao usuário um

subconjunto de objetos, segundo critérios definidos por seu autor. Isso possibilita que o

usuário se concentre apenas em informações que lhe interessam, com menor interferência de

outros dados ou de opções de navegação irrelevantes ou desnecessárias.

Page 23: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

12

3.1.1. Definição Informal

Os contextos de navegação são definidos a partir das classes e objetos de navegação (também

chamados de classes de nós e nós, respectivamente) definidos no início da etapa de

modelagem da navegação ([Schwabe e Rossi, 94b]).

A especificação de uma classe de nó indica as classes conceituais das quais é derivada,

os atributos e as âncoras que contém. Uma classe de nó pode ser derivada de várias classes

conceituais. Cada atributo de uma classe de nó possui um único tipo, ou seja, quando um

atributo possui mais de um tipo na modelagem conceitual, ele deve ser mapeado para mais de

um atributo de uma (ou mais) classe de nó.

As relações da modelagem conceitual são mapeadas para classes de elos. As classes

de elos são definidas especificando-se os atributos dos elos, comportamento, objetos de

origem e de destino e a cardinalidade. A partir das classes de nós e de elos pode-se

especificar os contextos de navegação.

Para facilitar a compreensão dos exemplos de uso de contexto de navegação utilizados

a partir desta seção, será utilizada uma representação informal cujos elementos aparecem na

Figura 3-1:

Page 24: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

13

O

C

CN

(C)

contexto de navegação CN cujos

elementos pertencem à classe C

contexto de navegação CN cujos

elementos são O1...On.

CN

CN

R

elo de contexto de CN (CN pode ser omitido quando

não houver ambigüidade)

C

relação R

objeto O da classe C

classe C

OnO1 ...

elemento acessível através do índice do contexto de

navegação

ponto de entrada PE do contexto CN

elo entre CNs diferentes: representa possíveis elos

partindo de cada objeto do CN1 para cada objeto do CN2

elo entre determinados objetos de CNs diferentes

Ox Oy

CN2CN1

Ox Oy

CN2CN1

CN

O1PE

Figura 3-1 — Representação informal utilizada nos exemplos desta seção.

Um contexto de navegação é definido como um conjunto de objetos, elos e outros

contextos de navegação. Seus elementos compõem um assunto sob um ponto de vista

determinado e em um certo nível de conhecimento. Ele deve ser composto de objetos que

possam ser agrupados de acordo com algum critério. Existem diversos tipos de contexto de

navegação.

Um contexto de navegação arbitrário é aquele em que o autor escolhe explicitamente

cada membro do contexto. A Figura 3-2 exibe um exemplo de contexto de navegação

arbitrário, representando um roteiro guiado sobre a composição de pinturas de uma galeria de

arte:

Page 25: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

14

Composição e Perspectiva

―O Batismo de

Cristo‖

Geometria de

Superfície

―O Martírio de

São Sebastião‖

Composição da

Pintura

―A Embarcação

da Rainha de

Sheeba‖

Composição

―A Batalha de

São Romano‖

Descrição Geral

―A Batalha de

São Romano‖

Perspectiva

―A Ceia em

Emmaus‖

Composição

―Os

Embaixadores‖

Anamorfose e o

Crânio

Página final deste

roteiro

Figura 3-2 — Contexto de navegação arbitrário.

Um tipo de contexto de navegação é o conjunto de todas as instâncias de uma

determinada classe, chamado contexto de navegação de classe, ilustrado na Figura 3-3:

ArtistaArtista

Artista

The AACHEN

ALTARPIECE

Master

Francisco de

ZURBARAN...

Artistas de A a Z

Artistas de A a Z

(Artista)

Figura 3-3— Contexto de navegação cujos elementos são todas as instâncias da classe ―Artista‖

Um contexto de navegação pode ser aninhado, ou seja, conter outros contextos de

navegação. Nessa situação o usuário deve escolher um dos contextos de navegação

apresentados para prosseguir a navegação. Contextos de navegação aninhados ocorrem com

freqüência no caso de raciocínio taxonômico ([Parunak91]), onde cada nível da classificação

corresponde a um contexto de navegação. Por exemplo, uma aplicação sobre obras de arte

pode conter contextos de navegação aninhados representando uma classificação, como

indicado na Figura 3-4. Observe que o contexto de navegação no nível mais interno contém

os objetos correspondentes às próprias pinturas.

Page 26: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

15

Natureza Morta:Fruta

Natureza morta

com maçãs ...

Natureza mortaNatureza morta:

Fruta

...

......

Tipos de Pintura

Decoração

de Igrejas

Imagens

Religiosas

Retratos

de Estado

Outros

Objetos

Pseudo-

Retratos

Peças de

Altar

PinturaPinturaPintura

Fruta

Imagens Religiosas

Mitos

Antigos

Alegoria e Nu

Nu

Retratos

...

Natureza Morta

...

.........

...

Figura 3-4 — Representações de contextos de navegação aninhados em uma classificação.

Alguns contextos de navegação são gerados a partir da definição dos elos entre duas

classes. São os chamados contextos de navegação derivados de elos. São utilizados

geralmente para representar a situação em que o usuário percorre um elo que aponta para mais

de um nó. Nesse caso, ou o usuário tem que escolher um dos nós-destino explicitamente ou

ele é levado para um desses nós-destino, e depois pode visitar os outros nós-destino daquele

elo, seqüencialmente ou através de um ―chooser‖. Outra possibilidade é a ativação simultânea

de nós, que ocorre principalmente quando um nó possui como atributos elementos em certas

mídias, como de som, animação, etc.

A Figura 3-5 apresenta os contextos de navegação correspondentes às situações em

que o usuário é levado diretamente para um nó ou tem que escolher um dos nós-destino:

Page 27: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

16

Pinturas de VAN GOGH

Cadeira de Van

Gogh

Longa Relva

com Borboletas...Vincent VAN

GOGH

produziu_1

produziu_2

O elo produziu_2 necessita que o usuário escolha um dos nós-destino.

O elo produziu_1 leva o usuário diretamente para um dos nós-destino.

Figura 3-5— Ilustração de elo para um nó e outro elo para um contexto de navegação.

Existe um tipo de contexto de navegação derivado da estrutura de uma classe que

possui agregados: é o chamado contexto de navegação derivado de agregado. As partes de

um objeto agregado formam uma estrutura hierárquica (uma árvore ordenada) que pode

possuir uma ordem de navegação. Essa estrutura hierárquica pode ser mapeada em um

contexto de navegação. Em geral, esse tipo de contexto não é explicitamente especificado.

Quando esses contextos não são definidos, os objetos agregados são utilizados diretamente na

especificação dos aspectos de navegação do hiperdocumento. A Figura 3-6 ilustra o uso e a

omissão dos contextos de navegação no caso de objetos agregados:

Page 28: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

17

GirassóisCadeira de Van Gogh

Pinturas de VAN GOGH

Pintura

Descrição Geral Comentário

2. Omitindo o contexto de navegação para

representar objetos agregados:

n

Classe agregada: Pintura

1. Usando contexto de navegação para

representar objetos agregados:

Cadeira de Van

Gogh

Girassóis

Pinturas de VAN GOGH

Cadeira de

Van Gogh

Comentário

Cadeira de

Van Gogh

Desc. Geral

Cadeira de

Van Gogh

Girassóis

Comentário

Girassóis

Desc. GeralGirassóis

...

...

Figura 3-6 — Uso e omissão de contextos de navegação para especificar a estrutura de objetos agregados.

Um tipo de contexto de navegação que possui uma estratégia de navegação definida é

o contexto de navegação de índice. Esse contexto possui um índice para seus elementos. A

navegação é feita do índice para os elementos do contexto de navegação ou de um elemento

para o índice. Um contexto de navegação de índice torna possíveis outras estratégias de

navegação, como uma navegação seqüencial através dos elementos do contexto de navegação,

ou uma navegação para outro contexto de navegação que tenha um elemento em comum com

o atual. A Figura 3-7 ilustra um contexto de navegação de índice simples:

Tipos de Pintura

Natureza MortaPaisagensCotidiano

Imagens Religiosas RetratosAlegoria e Nu

Figura 3-7 — Contexto de navegação de índice.

Page 29: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

18

Alguns contextos de navegação são construídos dinamicamente, de acordo com o

usuário ou com a sessão. Um exemplo de contexto de navegação de sessão é o histórico de

uma aplicação, ou seja, a lista dos nós visitados naquela sessão. Os contextos de navegação

de sessão também podem criados com comentários feitos pelo usuário, ―bookmarks‖, e assim

por diante. Esse é um recurso valioso, pois o usuário pode criar suas próprias ―visões‖ do

hiperdocumento. Essa noção de anotações e visões criadas pelo usuário pode ser estendida

para o caso em que o usuário cria interativamente seu hiperdocumento inteiro. A Figura 3-8

ilustra um contexto de navegação com anotações feitas pelo usuário ao visitar alguns nós do

hiperdocumento.

―Cristóvão Colombo partiu em 1492 em sua

primeira viagem em busca de um caminho mais

rápido para a Ásia.‖

―Isabela I e seu marido patrocinaram as viagens

de Cristóvão Colombo.‖

Anotações

Anotação Cristóvão Colombo Anotação Isabela I

Figura 3-8 — Contexto de navegação de sessão, contendo anotações acrescentadas pelo usuário.

Quanto à construção dos contextos de navegação, eles podem ser gerados manual ou

automaticamente. Para gerar um contexto de navegação automaticamente, o autor precisa

estabelecer expressões e regras sobre como computá-lo.

Page 30: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

19

...

Contexto de navegação ―Artistas‖ — construído automaticamente a partir da classe

―Artista‖:

Composição e Perspectiva

Artistas

Artista Artista

PinturaPinturaPintura

Roteiro guiado ―Composição e Perspectiva‖ — contexto de navegação

manualmente construído:

O Batismo de

Cristo

Geomet. Superf.

Os Embaixadores

Anamorfose...

Página final deste

roteiro

O Mestre de Peças

de Altar de

AACHEN

Francisco de

ZURBARAN...Artista

Figura 3-9 — Contextos de navegação manual e automaticamente construídos.

Quanto ao tipo dos elementos de um contexto, os contextos de navegação podem ser

homogêneos ou heterogêneos. Um contexto de navegação é homogêneo caso seus nós

pertençam à mesma classe, e heterogêneo caso seus nós pertençam a classes diferentes. Os

contextos de navegação utilizados para classificação, como no exemplo da Figura 3-4, são

geralmente homogêneos (nesse caso, todos os nós pertencem à classe ―Pintura‖). Por outro

lado, um contexto arbitrário, como um roteiro guiado, pode possuir nós de diversas classes.

Utilizando o exemplo de artistas e suas obras, poderíamos ter um tour que apresentasse uma

determinada corrente artística, e que portanto contivesse nós de artistas e obras relevantes ao

assunto.

Os contextos de navegação podem definir caminhos onde os nós são apresentados em

seqüências predefinidas pelo autor (como em roteiros guiados), onde o usuário pode escolher

entre percorrer o caminho ou explorar os nós de alguma outra maneira. Esses contextos

podem incluir caminhos seqüenciais ou condicionais que sugerem o melhor ―próximo passo‖

dentro do contexto de navegação atual.

Os roteiros guiados são exemplos de contextos de navegação com um caminho

seqüencial. A navegação em um roteiro guiado pode ser exclusiva, na qual o usuário só pode

Page 31: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

20

percorrer o caminho predeterminado ou desativar o roteiro guiado; ou livre, na qual o usuário

pode percorrer outros elos além do elo de seqüência do tour.

Roteiro Guiado “Composição e Perspectiva”

―O Batismo de

Cristo‖

Geometria de

Superfície

―O Martírio de

São Sebastião‖

Composição da

Pintura

―A Embarcação

da Rainha de

Sheeba‖

Composição

―A Batalha de

São Romano‖

Descrição Geral

―A Batalha de

São Romano‖

Perspectiva

―A Ceia em

Emmaus‖

Composição

―Os

Embaixadores‖

Anamorfose e o

Crânio

Página final deste

roteiro

Figura 3-10 — Contexto de navegação ilustrando o caminho seqüencial de um roteiro guiado.

Como o modelo utilizado é híbrido, com características dos modelos baseados em

grafos e em conjuntos, o usuário pode percorrer o hiperdocumento de várias maneiras,

segundo os caminhos e as estratégias de navegação definidos pelo autor para cada contexto de

navegação.

O usuário pode percorrer os elos do contexto de navegação atual, seguindo o caminho

predefinido pelo autor. Visto que um nó pode pertencer a mais de um contexto de navegação,

o usuário pode mudar para um outro contexto de navegação que contenha o nó atual e

percorrer um elo desse novo contexto. Além disso, o usuário pode percorrer um elo que leve

a outro nó de outro contexto, de acordo com alguma relação entre as classes a que pertencem.

Ao definir um contexto de navegação, o autor decide quais elos estarão disponíveis a

partir de cada nó dentro de cada contexto. Em algumas situações, o autor pode dar ao usuário

total liberdade de navegação, ou seja, o usuário possui todas as opções de navegação

disponíveis em todos os momentos. Existem casos, no entanto, em que o autor restringe as

possibilidades de navegação para garantir que o usuário passe por nós considerados

importantes pelo autor.

Page 32: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

21

Quando um usuário escolhe um contexto de navegação, ele pode ser guiado pelo

hiperdocumento através de um caminho predeterminado ou navegar arbitrariamente, onde as

opções de navegação variam de acordo com o contexto atual. Assim, ao ativar um contexto, o

conjunto de opções de navegação pode mudar, ou seja, alguns elos não estarão mais

disponíveis e novos elos surgirão (Figura 3-11):

Termo de Referência

Termo de Referência

Termo de Referência

Local/Período

ArtistaTermo de Referência

PinturaPintura

Pintura Pintura

Pinturas de PIERO della Francesca

Roteiro Guiado “Composição e Perspectiva”

O Martírio de São Sebastião

‗Composição da Pintura‘

O Batismo de Cristo

‗Geometria da Superfície‘

O Batismo de Cristo

‗Geometria da Superfície‘ ......

O Batismo de Cristo

‗Precedentes‘

PIERO della

Francesca

Resto da Itália

1400-1450

Discípulos

O Espírito Santo

Batismo de Cristo

Jesus Cristo

Peças de Altar:

Painéis Centrais

......

Figura 3-11 — Mudança dos elos visíveis a partir do mesmo nó em contextos de navegação diferentes.

3.2. Especificação Formal

3.2.1. Definição

A especificação de contextos de navegação segue a notação de cartões utilizada para

especificar sub-sistemas, classes e objetos em OOHDM. A Figura 3-12 mostra o cartão

utilizado para especificar contextos de navegação:

Page 33: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

22

Caminho

Comentários

Comportamento

Exporta/Importa

Nome do Contexto de Navegação Herda de

Pontos de Entrada

Atributos (incluindo metainformação)

CN/Classe/Obj Relação

Relacionado com

Inclui (Objetos, Classes, CNs)

Figura 3-12 — Especificação de um contexto de navegação.

Os atributos de um contexto de navegação são utilizados para representar propriedades

do contexto de navegação, assim como informações contextuais.

Existem dois tipos de informação contextual: informação sobre o contexto de

navegação propriamente dito, chamada metainformação [Marshall89]; e elementos de

informação que são acrescentados a cada nó do contexto de navegação, ditos elementos

contextuais.

A metainformação consiste em todas as informações sobre o contexto de navegação

como um todo: uma descrição do contexto de navegação, como o contexto se encaixa no

hiperdocumento original, como interpretar os elementos do contexto de navegação, etc. Ela

facilita a compreensão do contexto de navegação e conseqüentemente da rede hipermídia,

evitando a desorientação do usuário. A metainformação é definida através dos atributos do

contexto de navegação, como especificado na Figura 3-12.

Os elementos contextuais — classes e objetos de contexto — serão definidos na seção

3.3, ‖Classes, Objetos e Elos de Contexto‖.

Os pontos de entrada de um contexto de navegação definem que membros do contexto

podem ser acessados de um nó fora desse contexto. Em geral, todos os membros de um

Page 34: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

23

contexto podem ser acessados a partir de um nó que não pertence ao contexto, exceto quando

há um ponto de entrada obrigatório. Um ponto de entrada é dito obrigatório quando ele for

necessariamente o primeiro nó a ser acessado ao entrar no contexto de navegação. Alguns

contextos de navegação de índice possuem um ponto de entrada obrigatório para o próprio nó

do contexto, que contém o índice para seus membros. Um uso comum de um ponto de

entrada obrigatório ocorre em roteiros guiados, que devem iniciar no primeiro elemento do

contexto de navegação. Isso ocorre com freqüência também em contextos de navegação

derivados de agregados, cujo ponto de entrada obrigatório é geralmente a raiz da estrutura

hierárquica do agregado.

Quando existe uma interseção entre dois ou mais contextos de navegação, cada um

pode ―exportar‖ seus elos, ou seja, definir quais dos seus elos serão visíveis a partir de um

elemento da interseção. Da mesma forma, um contexto pode ―importar‖ elos de outros. Uma

das aplicações desta característica é a possibilidade de se definir elos (aplicativos, por

exemplo) em um contexto de navegação global, que contenha todos os elementos, e torná-los

visíveis em seus subcontextos, que podem ser utilizados apenas como agrupamentos para fins

de classificação. Os estudos de caso apresentam exemplos desse mecanismo.

Como descrito anteriormente, existem diversos tipos de contexto de navegação. A

especificação de cada tipo de contexto de navegação será ilustrada a seguir.

A Figura 3-13 ilustra um contexto de navegação arbitrário, em que o autor define cada

elemento pertencente ao contexto.

Page 35: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

24

CN Composição e Perspectiva

ponto de entrada:

1o nó, obrigatório

inclui:

O Batismo de Cristo.‘Geometria de Superfície‘

O Martírio de São Sebastião.Composição da Pintura

A Embarcação da Rainha de Sheeba.Composição e Proporção

A Batalha de São Romano.Descrição Geral

A Batalha de São Romano.‘Perspectiva‘

A Ceia em Emmaus.Composição

Os Embaixadores.‘Anamorfose e o Crânio‘

Página final deste roteiro

Figura 3-13 — Contexto de navegação arbitrário.

A especificação de um contexto de navegação de classe, que é composto de todas as

instâncias de uma determinada classe, aparece na Figura 3-14:

Classe Artista

nome: String

data nasc.: Data

estilo: Texto

biografia: Texto

O Mestre de Peças

de Altar de

AACHEN

Francisco de

ZURBARAN...

Artistas de A a Z

ArtistaArtista

classe: contexto de navegação:

CN Artistas de A a Z

Inclui: Artista

Figura 3-14— Especificação de um contexto de navegação de classe.

Os contextos de navegação derivados de elos são gerados a partir da definição das

relações entre duas classes. Quando o usuário percorre um elo que aponta para mais de um

nó, ou ele usuário deve escolher um dos nós-destino explicitamente ou ele é levado

diretamente para um desses nós-destino. A Figura 3-15 apresenta um contexto de navegação

derivado de elo que ilustra essas duas situações:

Page 36: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

25

Classe Artista

nome: String

data nasc.: Data

estilo: Texto

biografia: Texto

relacionado com:relação:

Pinturas de <nome> pintou

Pinturas de <nome>@e1 pintou

CN Pinturas de <nome>

pontos de entrada:

e1: 1o nó

inclui:

p Pintura (a,p) pintou

a.nome = <nome>, a Artista

Pinturas de <nome>: o usuário deve

escolher um dos nós-destino.

Pinturas de <nome>@e1 : o usuário é

levado diretamente para um dos nós-

destino (e1 = ponto de entrada para o

primeiro elemento do contexto).

Esse contexto de navegação é derivado de um

elo (pintou), percorrido a partir de um objeto

(aArtista).

Por exemplo, o contexto de navegação

formado a partir do artista ―Fulano‖ se chama

―Pinturas de Fulano‖, e seus elementos são as

pinturas produzidas pelo artista cujo nome é

―Fulano‖. A relação ―produziu‖ define que

obra cada artista produziu através do par

ordenado (artista, pintura).

Figura 3-15— Contexto de navegação derivado de elo.

A especificação de um contexto de navegação derivado da estrutura de uma classe

agregada aparece na Figura 3-16:

Classe Pintura

nome: String

data: Data

descrição: Imagem

Descrição Geral

texto: Texto

Comentário

título: String

comentário: [Imagem+, Texto,

Animação]

n

classe agregada: contexto de navegação:

CN Pintura

ponto de entrada:

Pintura, obrigatório

inclui:

Pintura,

Descrição Geral,

Comentárioi, i = 1...n

Figura 3-16 — Especificação de um contexto de navegação derivado de um objeto agregado.

A especificação de um contexto de navegação de índice aparece na Figura 3-17:

Page 37: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

26

caminho:

seqüencial, circular

comportamento:

acesso direto

CN Tipos de Pintura

índice

inclui:

Imagens Religiosas

Alegoria e Nu

Retratos

Cotidiano

Paisagens

Natureza Morta

exporta:

elos de contexto

Figura 3-17 — Contexto de navegação de índice.

O ―caminho‖ em um contexto de navegação é a seqüência sugerida pelo autor para

navegar através dos membros do contexto de navegação. Esse caminho pode ser classificado

em três tipos: seqüenciais, de ramificação e condicionais [Zellweger89].

O tipo mais simples de caminho é o seqüencial, no qual os membros do contexto de

navegação são apresentados seqüencialmente segundo uma ordem predefinida. Esse tipo de

caminho pode ser utilizado para apresentar uma progressão ordenada ou simplesmente para

agrupar um conjunto desordenado de itens.

Um caminho de ramificação representa uma subrede do hiperdocumento, que contém

ramos que o usuário precisa escolher explicitamente para continuar a navegação. Esse

caminho é representado através do aninhamento de contextos de navegação.

Um caminho condicional possui ramos onde o sistema avalia condições predefinidas

pelo autor para determinar para onde navegar. Os caminhos condicionais incluem caminhos

procedurais, nos quais um caminho pode aparecer como item de um outro caminho;

programáveis, que podem armazenar informações para uso futuro; variáveis, que possuem

elos variáveis e cujo próximo elo será computado dinamicamente; e paralelos, que podem ser

executados simultaneamente e sincronizados com atividades em outros ramos.

Page 38: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

27

Assim, ao especificar o ―caminho‖ de um contexto de navegação, o autor deve

determinar o tipo de caminho, o caminho propriamente dito (a seqüência de nós ou elos de

contexto) e as condições necessárias para decidir qual ramo seguir no caso de caminhos

condicionais.

Outra característica que deve ser especificada é para onde o usuário pode navegar

quando está no último nó do caminho seqüencial de um contexto de navegação. Em geral, o

usuário poderá percorrer um elo de contexto do contexto de navegação ao qual o contexto

atual pertence, ou seja, o usuário volta para um nível anterior no aninhamento de contextos de

navegação. Para especificar isso, são definidos que elos podem ser ―exportados‖ ou

―importados‖ pelo contexto de navegação. Assim, o contexto de navegação de um nível

―mais externo‖ de um aninhamento exporta seus elos de contexto, enquanto os contextos de

navegação ―mais internos‖ importam esses elos de contexto. Esse mecanismo será ilustrado

com detalhes nas seções que descrevem os estudos de caso.

O ―comportamento‖ de um contexto de navegação define como será a navegação

daquele contexto, segundo dois aspectos: controle e restrição. O controle da navegação

dentro de um contexto pode ser automático, no qual o usuário é guiado automaticamente pelo

programa, como uma apresentação linear e não interativa; ou passo a passo, no qual o usuário

escolhe quando dar o próximo passo. O comportamento passo a passo é subdividido em

acesso direto, ou através de índice, e seqüencial. O acesso direto ocorre quando os elos de

contexto definem um índice de contexto de navegação, através do qual o usuário pode

escolher diretamente o nó que deseja visitar. A navegação seqüencial ocorre quando os elos

de contexto definem um caminho seqüencial a ser percorrido pelo usuário.

No caso da navegação automática, o usuário não tem controle sobre a navegação, que

ocorre exclusivamente através dos elos de contexto.

Quando a navegação de um contexto de navegação se faz através de um índice (acesso

direto) ou seqüencialmente, existem três tipos de restrição de navegação: navegação livre,

exclusiva ou parcial.

Page 39: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

28

Quando a navegação é de acesso direto livre, o usuário pode acessar diretamente

qualquer elemento daquele contexto de navegação, o que corresponde ao índice do contexto

de navegação apontar para todos seus elementos. Caso seja de acesso direto exclusivo, o

índice não inclui todos os elementos daquele contexto, e somente os elementos contidos no

índice são acessíveis diretamente. Se a navegação ocorrer através de acesso direto parcial, o

contexto de navegação ―importa‖ elos de outro contexto de navegação, que podem então ser

acessados pelo usuário.

No caso da navegação seqüencial, se for livre, o usuário pode percorrer qualquer elo

de cada elemento do contexto de navegação, mesmo que saia da seqüência definida pelos elos

de contexto. No caso de a navegação em um contexto ser seqüencial exclusiva, os únicos elos

disponíveis são os elos de contexto, ou seja, o único caminho permitido é a seqüência

predefinida pelo autor, e o usuário só decide em que momento vai prosseguir a navegação. A

navegação passo a passo parcial em um contexto de navegação ocorre quando alguns elos são

―importados‖ de outros contextos de navegação, e acrescentados aos elos acessíveis pelo

usuário. Observe que a navegação livre em um contexto de navegação equivale a importar

todos os elos de seu super-contexto. A Figura 3-18 ilustra os possíveis comportamentos de

um contexto de navegação:

controle

restrição de

navegação

navegação

livre

navegação

exclusiva

navegação

parcial

automático

o usuário é guiado

automaticamente

através dos elos de

contexto*

acesso direto

(índice)

o usuário pode

acessar quaisquer

elementos do

contexto de

navegação

o usuário só pode

acessar elementos do

contexto definidos no

índice do contexto*

o usuário pode

acessar elos

―importados‖ de

outros contextos de

navegação

passo a

passo

seqüencial o usuário pode

percorrer quaisquer

elos*

o usuário só pode

percorrer elos de

contexto

o usuário pode

percorrer elos

―importados‖ de

outros contextos de

navegação

*navegação default

Figura 3-18 — Comportamentos possíveis de um contexto de navegação.

Page 40: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

29

O uso de contextos de navegação implica em um modelo híbrido, ou seja, uma

composição de um modelo baseado em grafos e um modelo baseado em conjuntos. Assim, a

navegação passo a passo através de uma aplicação hipermídia com contextos de navegação

pode ocorrer de duas maneiras: orientada a conjuntos (acesso direto), como em [Parunak91],

onde o usuário pode navegar entre os elementos de um mesmo contexto de navegação ou

entre contextos de navegação que contenham um mesmo elemento; e orientada a grafos

(seqüencial), percorrendo elos entre nós diferentes de contextos de navegação distintos,

obedecendo a restrição de navegação do contexto de origem.

3.3. Classes, Objetos e Elos de Contexto

A descrição dos contextos de navegação de sessão mostrou um exemplo simples da

importância de se poder acrescentar elementos de informação aos nós do hiperdocumento

(Figura 3-8). Esta seção descreve como isso pode ser realizado, propondo o conceito de

classes e objetos de contexto.

Em [Schwabe e Rossi, 94b], a definição de uma classe de nós foi ampliada para incluir

a especificação de atributos contextuais. Uma classe de nó passaria a ter uma seção ―global‖,

que conteria os atributos comuns a todos os contextos de navegação a que pertencesse, e uma

ou mais seções contextuais, contendo os atributos particulares de cada contexto de navegação.

Essa definição de classes de nós que incluem informações contextuais traz outras

questões. Cada vez que o autor quisesse construir um novo contexto de navegação, deveria

modificar diretamente as classes de nós para incluir a nova informação. Muitas vezes, a

informação contextual é de caráter subjetivo, como pontos de vista ou críticas, e não deveria

ser misturada com as informações factuais e objetivas. Anotações e outros elementos criados

pelo usuário também fariam parte da base principal, se incluídas nos objetos de navegação.

Page 41: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

30

Além disso, informações que se repetem em diversos nós de diversos contextos de navegação,

como instruções e dicas, seriam duplicadas desnecessariamente.

Este trabalho propõe uma abordagem um pouco diferente, mas com o mesmo

resultado, onde a classe de nó é especificada somente com sua seção global, e as informações

contextuais são acrescentadas por outros nós que se ―encaixam‖ nas classes de nós. Essas

informações contextuais seriam definidas em classes e objetos de contexto. Ao construir um

novo contexto de navegação ou alterar um contexto de navegação existente, o autor só

precisaria modificar as classes e objetos de contexto, garantindo assim a integridade dos dados

fornecidos pelas classes e objetos de navegação.

As classes e objetos de contexto são visíveis apenas em determinados contextos de

navegação. Por exemplo, um professor pode definir um contexto de navegação contendo os

objetos que correspondem às suas aulas e acrescentar alguns objetos com comentários, dicas,

erros freqüentes de compreensão, dados específicos, propostas para trabalhos e outras

informações relevantes apenas dentro desse contexto.

Um objeto de contexto pode existir de maneira independente, onde se comportará

como um objeto de navegação visível apenas dentro de determinados contextos; ou pode

existir como ―parte de‖ um objeto de navegação. Nesse caso, seus atributos são apresentados

juntamente com os atributos do objeto de navegação do qual faz parte, quando o usuário

acessa esse objeto de navegação dentro do contexto de navegação especificado. Além disso,

esse objeto de contexto não pode ser acessado fora dos contextos de navegação para os quais

foi especificado.

Ao definir uma classe ou um objeto de contexto, é necessário especificar seu ―escopo‖

e sua ―participação‖. O escopo de uma classe ou objeto de contexto consiste nos contextos de

navegação em que a classe ou objeto é visível. A participação consiste nos objetos de

navegação aos quais serão acrescentados os atributos da classe ou objeto de contexto sendo

definido. Observe que esse ―acréscimo‖ se dá somente no momento de apresentação, ou seja,

os objetos de navegação aos quais os objetos de contexto são associados não são modificados,

Page 42: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

31

e a definição de um objeto de navegação não menciona nenhum objeto de contexto como

fazendo ―parte‖ dele.

A notação utilizada para especificar classes de contexto é análoga à especificação de classes

em OOHDM [Schwabe e Rossi, 94]:

Escopo (CNs)

Atributos

CN/Classe/Obj Relação

Relacionada com

Partes

Comportamento

Comentários

Parte-de

Herda deNome da Classe de Contexto

Figura 3-19 — Notação utilizada para especificar classes de contexto.

Assim, uma classe de contexto é especificada da seguinte forma:

classe de navegação ―Pintura‖:

classe de contexto ―Composição‖:

Classe NavegaçãoPintura

nome: String

data de criação: Data

descrição: Imagem

Os atributos dos objetos da classe de contexto ―Composição‖ (conceito e ilustração) serão

acrescentados aos objetos da classe ―Pintura‖ (= parte de) quando vistos a partir do contexto de

navegação ―Composition and Perspective‖ (= escopo).

Assim, quando o usuário visitar uma pintura dentro do contexto ―Composition and Perspective‖,

verá os atributos nome, data de criação, descrição, conceito e ilustração. Ao visitar a mesma

pintura fora desse contexto de navegação, verá apenas os atributos nome, data de criação e

descrição.

Classe ContextoComposição

escopo: Composition and Perspective

parte de: Pintura

conceito: Locução

ilustração: Locução

Figura 3-20 — Classe de contexto associada a uma classe de navegação.

Page 43: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

32

É importante observar que alguns elementos contextuais podem ser acrescentados ou

modificados durante a execução do programa, pelo próprio usuário, como é o caso de

anotações e ―bookmarks‖. Assim, a definição cada atributo de uma classe ou objeto de

contexto deve indicar, além do nome e tipo (texto, imagem, etc.) do atributo, a liberdade de

edição que o usuário terá ao acessar cada atributo do objeto de contexto: um atributo com

liberdade read-only não pode ser modificado pelo usuário, mas um atributo com liberdade

read/write é completamente editável. Assume-se que todo atributo seja read-only, a menos

que seja explicitamente indicada a liberdade read/write. O exemplo ilustrado na Figura 3-8

deve então ser especificado como na Figura 3-21:

―escopo‖ define em que contextos de navegação o objeto é visível.

―parte de‖ indica a que classes ou objetos os atributos desse objeto serão acrescentados.

Anotações

OCAnotação Cristóvão Colombo

OCAnotação Isabela I

escopo: Anotações

parte de: Cristóvão Colombo

escopo: Anotações

parte de: Isabela I

anotação: Texto, read/write anotação: Texto, read/write

Figura 3-21 — Classes de contexto utilizadas em um contexto de navegação de sessão.

Para especificar um caminho de um contexto de navegação, é necessário definir os

elos do contexto que definem o caminho desejado. Existem casos simples de caminhos

seqüenciais em que os elos de contexto ligam elementos ordenados segundo algum critério.

Nesses casos, não é obrigatória a especificação dos elos do contexto. Entretanto, quando os

elos de contexto possuem atributos ou quando o contexto de navegação possui caminhos

condicionais, torna-se necessária a especificação dos elos daquele contexto. A notação

utilizada para definir elos de contexto pode ser vista na Figura 3-22:

Page 44: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

33

Atributos

Escopo (CNs)

Origem Destino Condição

Comportamento

Comentários

Herda deNome do Elo de Contexto

Figura 3-22 — Notação utilizada para especificar elos de contexto

Page 45: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

34

4. ESTUDOS DE CASO

Este capítulo se destina a analisar a estrutura e o funcionamento de aplicações comerciais

utilizando contextos de navegação para facilitar a compreensão de tais aplicações, e a

demonstrar o uso de contextos de navegação como parte do processo de desenvolvimento de

uma aplicação hipermídia.

4.1. Microsoft Art Gallery

A aplicação Art Gallery, da Microsoft, descreve as obras contidas na National Gallery, de

Londres, bem como os artistas que as produziram, a época e local onde foram produzidas e

alguns termos relacionados aos assuntos das obras, técnicas empregadas e outros tópicos de

interesse. A Figura 4-1 apresenta o esquema OOHDM da aplicação:

nome: String

retrato: Imagem

estilo: Texto

biografia: Texto

Artista

nome: String

período: Data-Data

mapaEuropa: Mapa

mapaRegião: Mapa

mapaCidade: Mapa

panorama histórico: Texto

panorama cultural: Texto

Local/Período

trabalhou

em produzida

em

relacionado com

tem estilo

semelhante a

influenciou

pintou

nome: String

data criação: Data

descrição: Imagem

dados técnicos: Texto

tipo: Conjunto(tipos)

Pintura

Descrição Geral

texto: Texto

Comentário

título: String

comentário: [Imagem+,

Texto]

n

Termo de Referência

termo: String

descrição: Texto

tem relação com

Figura 4-1 — Esquema OOHDM da aplicação Art Gallery, da Microsoft.

Page 46: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

35

A classe ―Artista‖ consiste em dados pessoais, informações sobre o estilo do artista,

características gerais de suas obras, etc.

A classe ―Pintura‖ é composta de informações gerais, observações sobre sua

composição e detalhes.

A classe ―Local/Período‖ consiste em informações históricas e geográficas sobre uma

cidade ou região em um determinado período de tempo.

A classe ―Termo de Referência‖ representa os termos de glossário da aplicação.

As classes de navegação da aplicação são mapeadas a partir das classes conceituais,

resultando no esquema da Figura 4-2:

Page 47: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

36

nome: String

retrato: Imagem

estilo: Texto

biografia: Texto

influências: Anchor (influenciou)

pinturas: Anchor (pintou)

locais: Anchor (trabalhou em)

relacionado com: Anchor (relacionado com-1)

glossário: Anchor (significa)

Artista

nome: String

mapaEuropa: Mapa

mapaRegião: Mapa

Local

trabalhou em produzida

em

significa (relacionado com)

relacionado com

semelhante ainfluenciou

tem relação

com

nome: String

data criação: Data

descrição: Imagem

dados técnicos: Texto

criador: String (a.nome(a,p) pintou p.nome =

nome, a Artista, p Pintura)

pintor: Anchor (pintou-1

)

local: Anchor (produzida em)

relacionado com: Anchor (relacionado com-1)

Pintura

Descrição Geral

texto: Texto

artista rel.: Anchor (tem relação com)

semelhante a: Anchor (semelhante a)

glossário: Anchor (significa)

Comentário

título: String

comentário: Texto

ilustração: Imagem

artista rel.: Anchor (tem relação com)

semelhante a: Anchor (semelhante a)

glossário: Anchor (significa)

n

Termo de Referência

termo: String

descrição: Texto

relacionado com: Anchor (relacionado com)

glossário: Anchor (significa)

período: Data-Data

mapaCidade: Mapa

panorama histórico: Texto

panorama cultural: Texto

artistas: Anchor (trabalhou em-1)

pinturas: Anchor (produzida em-1)

relacionado com: Anchor (relacionado com-1)

glossário: Anchor (significa)

Local/Período

Termo de Glossário

termo: String

descrição: Texto

pintou

Figura 4-2 — Classes de navegação da aplicação Art Gallery.

Observe que a classe conceitual ―Termo de Referência‖ foi mapeada para duas classes

de navegação: ―Termo de Referência‖ e ―Termo de Glossário‖. Isso ocorre porque, na

aplicação, existem duas formas de acessar a definição de um termo: ao acessar um objeto da

classe de navegação ―Termo de Referência‖, o usuário navega para uma tela que contém a

descrição do termo e âncoras para objetos relacionados; ao acessar um objeto da classe de

navegação ―Termo de Glossário‖, a aplicação apresenta uma janela pop-up que contém apenas

a descrição do termo, sem âncoras.

Page 48: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

37

A classe conceitual ―Local/Período‖ também foi mapeada para duas classes de

navegação: ―Local‖ e ―Local/Período‖. Isso se deve ao fato de a aplicação apresentar os nós

da classe de navegação ―Local/Período‖ como partes de uma outra classe, aqui chamada

―Local‖. Embora os nós pertencentes à classe ―Local‖ não possam ser acessados diretamente,

eles contêm elementos comuns às partes. De fato, visto que são partes de um agregado,

existem elos estruturais que garantem a navegação entre essas partes, como indicado na Figura

4-3 através de um contexto de navegação derivado de agregado:

Londres

Londres

1775-1800

Londres

1750-1775

Londres

1650-1750

Londres

1600-1650

Londres

1300-1600

Londres

1850-1900

Londres

1800-1850

Londres

1775-1800

Londres

1750-1775

Londres

1650-1750

Londres

1600-1650

Londres

1300-1600

Londres

1850-1900

Londres

1800-1850

Contexto de navegação ―Londres‖:

Objeto ―Londres‖ e suas partes:

Londres

Figura 4-3 — Partes do objeto de navegação ―Londres‖, da classe ―Local‖, e o contexto de navegação

correspondente.

A Figura 4-4 ilustra um objeto da classe Pintura:

Page 49: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

38

relações

da parte

...

indicação do

contexto

elo de

contexto

relações do

objeto

―scroll‖ local

The Battle of San Romano

PerspectiveThe LocationOriginal

Design

The Sport of

War

General

Description

Artistic

Context

Patterning

Partes do objeto ―The Battle of

San Romano‖, da classe ―Pintura‖

Figura 4-4 — Objeto ―The Battle of San Romano‖ da classe ―Pintura‖.

Cada parte do objeto é representada por uma tela na aplicação. As âncoras das

relações das partes são indicadas no conteúdo do nó (no meio do texto ou como imagens

reduzidas), enquanto as âncoras das relações do objeto aparecem quando o botão ―See Also‖

(Veja Também) é clicado. Observe que esse botão (―See Also‖) não é uma âncora. Trata-se

apenas de um ―scroll‖ local, que ao invés de exibir mais texto ou outras imagens, revela

algumas âncoras. É importante perceber que nem todos os botões e áreas sensíveis de uma

Page 50: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

39

aplicação hipermídia representam âncoras e resultam em navegação; muitas vezes são

utilizados apenas como recursos de interface.

O botão ―Next Page‖ (Próxima Página) é uma âncora de elo de contexto, e é utilizada

a partir das partes de um objeto como um elo estrutural, para navegar através da estrutura da

classe.

A navegação pode ser feita entre os nós, segundo as relações entre as classes a que

pertencem, ou através de índices. Se o nó atual pertence à classe ―Artista‖, o usuário pode

navegar para um outro artista através da relação ―influenciou‖, para um dos locais em que o

artista viveu, através da relação ―trabalhou em‖, para uma pintura através da relação ―pintou‖

ou para um termo de referência, através da relação ―relacionado com-1

‖. A análise é análoga

para os nós de outras classes, seguindo o esquema de navegação.

O índice global da aplicação é o menu principal, que pode ser acessado em qualquer

lugar e a qualquer momento durante a execução do programa. Esse menu contém os itens:

―Artists A to Z Directory‖, ―Historical Atlas‖, ―Picture Types‖, ―General Reference Index‖ e

―Guided Tours‖, que levam o usuário aos seguintes índices:

―Artists A to Z Directory‖: índice das letras iniciais dos nomes dos artistas, em ordem

alfabética. Este índice leva a um índice de nomes e daí para o artista escolhido.

―Historical Atlas‖: índice em forma de mapa com as cidades, regiões e períodos no tempo

relevantes. Caso o usuário selecione uma cidade ou região, é levado para o local

escolhido; caso selecione um período de tempo, é levado para um outro índice em forma

de mapa contendo as cidades relevantes durante o período escolhido, e onde o usuário

pode novamente selecionar uma cidade ou região.

―Picture Types‖: índice de classificação das pinturas segundo determinados critérios. Esse

índice leva a outros índices, cada qual representando uma subclassificação das pinturas, e

depois para as pinturas classificadas conforme o escolhido.

―General Reference Index‖: índice das letras iniciais dos termos do glossário, em ordem

alfabética. Este índice leva a um índice de termos e daí para o termo escolhido.

Page 51: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

40

―Guided Tours‖: índice dos roteiros guiados da aplicação. Cada roteiro descreve um

aspecto do processo de criação das pinturas. Os roteiros guiados da aplicação Art Gallery

serão analisados com detalhes mais adiante.

A Figura 4-5 apresenta o contexto de navegação de índice que representa o menu

principal:

Top Level Sections

Artists A toZ Directory

HistoricalAtlas

PictureTypes

General Ref.Index

GuidedTours

caminho: seqüencial, circular

comportamento: passoa a passo

(acesso direto ou seqüencial)

CNTop Level Sections

índice: Index(Top Level Sections)

inclui:

Artists A to Z Directory

Historical Atlas

Picture Types

General Reference Index

Guided Tours

Figura 4-5 — Menu principal da aplicação Art Gallery, representado por um contexto de navegação.

Observe que a navegação dentro do contexto de navegação é circular. Isso ocorre na

maioria dos contextos de navegação dessa aplicação.

As próximas figuras ilustram a navegação na aplicação através dos contextos de

navegação acessados a partir do menu principal:

Page 52: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

41

Top Level Sections

Artists AtoZDirectory

HistoricalAtlas

PictureTypes

GeneralRef. Index

GuidedTours

Artists A to Z Directory

... W-ZWALSCAPPELLE-ZUBARAN

A-BAACHEN-BARTOLOMMEO

Artists A to Z

...ZUBARANThe AACHEN

ALTARPIECE MASTER

Figura 4-6 — Contexto de navegação do índice dos nomes dos artistas da aplicação e contexto de navegação

da classe ―Artista‖.

Top Level Sections

Artists AtoZDirectory

HistoricalAtlas

PictureTypes

GeneralRef. Index

GuidedTours

Bologna

Atlas at Periods

Historical Atlas of the Collection

targets:

Amsterdam

...

Venice

IndexAtlas

...

Bologna

1625-1950

Bologna

1375-1500...

targets:

Rest of Italy

IndexBefore 1300

targets:

Bologna

...

Rome

Index1900-1925

Figura 4-7 — Contexto de navegação do índice das cidades, regiões e períodos de tempo da aplicação e

contexto de navegação cujos nós pertencem à classe.‖Local/Período‖.

Page 53: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

42

Top Level Sections

Artists AtoZDirectory

HistoricalAtlas

PictureTypes

GeneralRef. Index

GuidedTours

Picture Types

Religious Imagery

Altarpieces

Small-scale Single panelPolyptychs Central Panels

Side Panels Predellas Pinnacles

Religious Images

Virgin ... Child Virgin ... SaintsChrist

Saints Old Testament New Testam.

Modern

History

Narrative, Allegory,and the Nude

Ancient Myth Vernac. Lit.

Modern Hist.

Allegory,

Personif.

Nudes

Views

Land

Water and Coast

Coastal BeachSea

Ports Rivers Waterfalls

Testament

Topographical IdealisedNaturalistic

Animals Battle Scene Winter

Architecture

Interiors FantasyTowns

Still Life

Flowers Fruit Flower/Fruit

Food Dead Vanitas

Musical Objects

Portraits

State Seated Standing

Half Bust Double

Group Self Donor

Small-Scale Disguises Pseudo

Everyday Life

Music Brothels Drinking

Leisure Education Work

Soldiers Smoking Interiors

Figura 4-8 — Contextos de navegação dos tipos de pintura e das pinturas segundo a classificação.

Page 54: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

43

Top Level Sections

Artists AtoZDirectory

HistoricalAtlas

PictureTypes

GeneralRef. Index

GuidedTours

General Reference Index

... V-XVanishing–X-ray

AAbraham–Ascension

General Reference A to Z

... X-rayAbraham

Figura 4-9 — Contexto de navegação do índice dos termos de referência e contexto de navegação da classe

―Termo de Referência‖.

Top Level Sections

Artists AtoZDirectory

HistoricalAtlas

PictureTypes

GeneralRef. Index

GuidedTours

... índice das

pinturas do tour

The Baptism of Christ

‗Surface Geometry‘

Composition and Perspective

... índice das

pinturas do tour

A Female Figure and St.

Luke‘s Painting

Making Paintings

... índice das

pinturas do tour

Incredulity of St. Thomas

Restoring the Paintwork

Beneath the Varnish

... índice das

pinturas do tour

The Coronation of the

Virgin

Paintings as Objects

Figura 4-10 — Contextos de navegação correspondentes aos roteiros guiados da aplicação.

Além dos contextos de navegação acessados a partir dos índices, a aplicação Art

Gallery apresenta contextos de navegação derivados de classes, como pode ser visto na Figura

4-11. Esses contextos contêm todas as instâncias das classes indicadas:

Page 55: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

44

CNArtistas de A a Z

inclui:

Artista

caminho: seqüencial (ordem: a.nome,

ascendente, a Artista), circular

comportamento: passo a passo (seqüencial)

CNReferência de A a Z

caminho: seqüencial (ordem: t.nome,

ascendente, t Termo de Referência),

circular

comportamento: passo a passo (seqüencial)

inclui:

Termo de Referência

Figura 4-11— Contextos de navegação de classe da aplicação Art Gallery.

Os contextos de navegação gerados a partir das relações entre as classes estão

ilustrados na Figura 4-12:

CNPinturas de <local>

caminho:

seqüencial (ordem: p.data, ascendente, p Pintura),

circular

comportamento: passo a passo (seqüencial)

inclui:

p Pintura (p,l) produzida em l.nome =

<nome>, l Local

CNPinturas de <nome>

inclui:

p Pintura (a,p) produziu a.nome = <nome>,

a Artista

caminho:

seqüencial (ordem: p.data, ascendente, p Pintura),

circular

comportamento: passo a passo (seqüencial)

CNPinturas de <termo>

inclui:

p Pintura (t,p) relacionado a t.nome =

<nome>, t Termo de Referência

caminho:

seqüencial (ordem: p.data, ascendente, p Pintura),

circular

comportamento: passo a passo (seqüencial)

Figura 4-12 — Contextos de navegação gerados a partir das relações entre as classes.

Um contexto de navegação derivado de agregado pode ser visto na Figura 4-13, no

caso da classe ―Pintura‖:

Page 56: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

45

ClassePintura

nome: String

data: Data

descrição: Imagem

Descrição Geral

texto: Texto

Comentário

título: String

comentário: [Imagem+, Texto,

Animação]

n

classe agregada: contexto de navegação:

CNPintura

ponto de entrada:

Pintura, obrigatório

inclui:

Pintura (raiz),

Descrição Geral,

Comentárioi, i = 1..n

Figura 4-13 — Contexto de navegação derivado de uma classe agregada.

A aplicação inclui também um contexto de navegação derivado da estrutura interna da

classe de navegação ―Local‖. Esse contexto contém todos os períodos relevantes do local em

questão, como indicado na Figura 4-14:

CN<local>

Inclui:

lp Local/Períodolp.nome_local = <local>

caminho: seqüencial (ordem: lp.período,

ascendente, lp Local/Período), circular

comportamento: passo a passo (seqüencial)

Figura 4-14 — Estrutura da classe de navegação ―Local‖ representada através de um contexto de navegação

derivado de agregado.

Podemos observar o exemplo de contexto de navegação computado, ilustrado na

Figura 4-15, calculado em função de um dos atributos da classe ―Pintura‖:

CNPinturas de <tipo>

inclui:

p Pintura p.tipo <tipo>

caminho: seqüencial (ordem: p.data,

ascendente, p Pintura), circular

comportamento: passo a passo (seqüencial)

Figura 4-15 — Contexto de navegação computado em função de um atributo de classe.

Page 57: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

46

É importante notar que os únicos contextos de navegação derivados de elo ou

computados são os que contêm pinturas. Isso significa que não existe um contexto de

navegação contendo os artistas que trabalharam em um determinado local ou contendo os

locais em que um determinado artista trabalhou. Por exemplo, as âncoras do elo ―trabalhou

em‖ a partir do artista ―Monet‖, levam aos seguinte locais/períodos: ―Rest of France 1850-

1875‖, ―London 1850-1900‖ e ―Paris 1850-1875‖. Ao visitar algum desses locais, como

―London 1850-1900‖, por exemplo, o ―próximo passo‖ não é ―Paris 1850-1875‖ (o ―próximo‖

local/período em que o Monet trabalhou), mas sim ―London 1300-1600‖, porque o contexto

de navegação é ―London‖, e não ―Locais/Períodos em que Monet trabalhou‖. Uma alternativa

seria criar um contexto de navegação derivado do elo ―trabalhou em‖ para cada artista,

análogo aos contextos de navegação criados para as pinturas de um artista. Esse novo

contexto de navegação seria definido como na Figura 4-16:

CNLocais em que <nome> trabalhou

inclui:

lp Local/Período (a,lp) trabalhou em a.nome =

<nome>, a Artista

caminho:

seqüencial (ordem: lp.data & lp.nome local, ascendente, lp

Local/Período), circular

comportamento: passo a passo (seqüencial)

Figura 4-16 — Contexto de navegação derivado do elo ―trabalhou em‖, inexistente na aplicação.

O glossário da aplicação é representado por uma janela pop-up, acionada quando o usuário

seleciona uma âncora de termo de glossário (um termo seguido de ‗*‘ no meio do texto). A

partir dessa janela pop-up, não é possível realizar nenhum tipo de navegação. Assim, é

possível definir um contexto de navegação global, que contém todos os CNs de classe e

derivados de elo, além das instâncias da classe ―Termo de Glossário‖, de forma que estas

possam ser acessadas de qualquer ponto da aplicação.

Os roteiros guiados da aplicação também são representados por contextos de

navegação. Esse contexto de navegação possui como atributo uma narração que descreve o

Page 58: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

47

contexto de navegação como um todo, e elementos de contexto, que acrescentam uma

descrição também narrada a cada membro do contexto (Figura 4-17).

Classe Navegação Pintura

nome: String

data de criação: Data

descrição: Imagem

Classe Contexto Composição

escopo: Composition and Perspective

parte de: Pintura

conceito: Locução

ilustração: Locução

classe de navegação: classe de contexto:

Figura 4-17 — Classe de contexto definida como parte da classe ―Pintura‖ no contexto de navegação

―Composition and Perspective‖.

O último membro dos contextos de navegação de roteiro guiado dessa aplicação são

índices para um outro contexto de navegação, cujos elementos são as pinturas abordadas no

roteiro guiado, ordenadas pela data de criação. Esse mecanismo pode ser observado na Figura

4-18:

Page 59: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

48

CNComposition and Perspective

inclui:

The Baptism of Christ.‘Surface Geometry‘

The Martyrdom of St. Sebastian.Picture Composition

The Embarkation of the Queen of Sheeba.Composition and Proportion

The Battle of San Romano.General Description

The Battle of San Romano.‘Perspective‘

The Supper at Emmaus.Composition

The Ambassadors.‘Anamorphosis and the Skull‘

Tela final (índice das pinturas do tour)

caminho: seqüencial

comportamento: passo a passo (seqüencial)

ponto de entrada: 1o nó, obrigatório

descrição: Locução

contexto de navegação computado a

partir do guided tour:

contexto de navegação do guided tour:

=

CNPinturas do tour

‗Composition and Perspective‘

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial)

inclui:

p Pintura pp p.parte

pp Composition and Perspective

CNPinturas do tour

‗Composition and Perspective

inclui:

The Battle of San Romano

The Baptism of Christ.

The Martyrdom of St. Sebastian

The Ambassadors

The Supper at Emmaus

The Embarkation of the Queen of Sheeba

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial)

Figura 4-18 — Roteiro guiado representado por um contexto de navegação com metainformação e elementos de

contexto.

Observe que apenas as partes dos objetos da classe ―Pintura‖ são incluídos no contexto

de navegação do roteiro guiado. Isso significa que o usuário não pode acessar os elos dos

objetos agregados como um todo, mas apenas os elos das partes de cada objeto. Já o contexto

de navegação das pinturas de um tour inclui os objetos agregados, e assim possibilita o acesso

a todos seus elos.

A partir dos contextos de navegação ilustrados em toda esta seção, pode-se construir

um esquema de navegação da aplicação como na Figura 4-19:

Page 60: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

49

Pinturas de <nome>

Picture Types

Historical Atlas

Artists A to Z Directory

Atlas at Periods

Global

Menu (Top Level Sections)

Artists A to Z

<Local>

Pinturas de <tipo>

Pinturas de <termo>

Pinturas de <local/período>

General Reference Index Gen. Ref. A to Z

Guided Tours Index

...

...

Termo de Glossário

Composition andPerspective Pinturas de <tour>

As setas indicam a navegação que pode ocorrer entre elementos de contextos diferentes, devido tanto aoaninhamento de contextos quanto às relações entre as classes de navegação.

Figura 4-19 — Esquema de navegação da aplicação Art Gallery, utilizando contextos de navegação.

4.2. Microsoft Ancient Lands

A aplicação Ancient Lands, da Microsoft apresenta a história do mundo antigo, considerando

principalmente Roma, Grécia e Egito. A história é composta de tópicos, e cada tópico possui

detalhes.

A Figura 4-20 mostra o esquema OOHDM da aplicação:

Page 61: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

50

título: String

história: Texto

ilustração: Imagem

vídeo: Vídeo

ClasseTópico

está relacionado a

título_detalhe: String

história_detalhe: Texto

ilustração_detalhe: Imagem

vídeo_detalhe: Vídeo

comentário: Som

ClasseDetalhe

nome: String

mapa: Imagem

cronologia: Imagem

ClasseLocal

Figura 4-20 — Esquema OOHDM da aplicação Ancient Lands.

A classe ―Local‖ inclui informações genéricas de um local, como um mapa e uma

cronologia. A classe ―Tópico‖ é subclasse de ―Local‖, representando um tópico de

informação de um determinado local. É uma classe agregada de ―Detalhes‖. A relação ―está

relacionado a‖ liga uma parte de ―Detalhe‖ de um objeto da classe ―Tópico‖ a outro objeto da

classe ―Tópico‖.

As classes de navegação dessa aplicação são semelhantes às classes conceituais, como

mostra a Figura 4-21:

Page 62: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

51

nome: String

mapa: Imagem

cronologia: Imagem

ClasseLocal

título: Stringhistória: Textoilustração: Imagemvídeo: Vídeodetalhe: Anchor (Detalhe)

ClasseTópico

está relacionado a

título_detalhe: String

história_detalhe: Texto

ilustração_detalhe: Imagem

vídeo_detalhe: Vídeo

comentário: Som

relação: Anchor (está relacionado a)

ClasseDetalhe

Figura 4-21 — Classes de navegação da aplicação.

A Figura 4-22 ilustra a tela de um objeto da classe Tópico e um de seus detalhes:

Page 63: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

52

Tópico Building Feats

elo ―está relacionado a‖

elo do contexto ―Tópicos‖

Detalhe The Colosseum do

Tópico Building Feats

Figura 4-22 — Exemplo de tela da aplicação Ancient Lands.

A aplicação consiste principalmente em um contexto de navegação de classe, que

inclui todos os objetos da classe Tópico. Esse contexto de navegação, chamado Tópicos,

define um caminho seqüencial circular, e seus elos de contexto possuem um atributo do tipo

locução que descreve a ligação entre dois objetos consecutivos, tornando a transição entre eles

mais clara e natural. A Figura 4-23 apresenta a especificação do contexto de navegação e de

seus elos de contexto:

Page 64: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

53

exporta: elos de contexto

caminho: seqüencial, circular

comportamento: passo a passo

inclui:

Tópico

CNTópicos

escopo: Tópicos

descrição: Locução

Elo de ContextoElo de Tópicos

Figura 4-23 — Especificação do contexto de navegação Tópicos e de seus elos de contexto.

Embora o caminho do contexto de navegação tenha sido especificado como

seqüencial, não foi especificada a ordem de seqüência. Isso ocorre quando a seqüência é

arbitrária. Nesse caso, o autor deve especificar a ordem em que os elementos aparecem no

contexto, como a seguir:

Ordem dos elementos do CN Tópicos

1. The Bloody Arena

2. The Theater

3. Roman Society

4. Scribes and Scholars

5. Thinkers and StoryTellers

6. Mummies: Eternal Bodies

7. Mesoamerica

8. Costume and Adornment

9. Vases and Vessels

10. The Egyptians at Home

11. A Craftsman at Work

12. Building Feats

13. Wonders of the Greek World

14. The Babylonians

15. The Lighthouse of Alexandria

16. Greek Expansion

17. Queens of the Nile

18. Women‘s World

19. To Troy and Back

20. City-State to Superpower

21. Timetable of Ancient Rome

22. The Legacy of Rome

23. Life of a Gladiator

24. Death and Burial

25. Dangers in the Tomb

26. China

27. Science and Medicine

28. Healing the Sick

29. Myth and Magic

30. Death and the AfterLife

31. The Valley of the Kings

32. Great Pharaohs of the New Kingdom

33. Face to Face

34. Rulers of the Old Kingdom

35. Timetable of Ancient Egypt

36. Writing

37. The Written Word

38. The Lost Land of Atlantis

39. Pompeii

40. Craftsmen and Technology

41. Weapons of War

42. The Persian Empire

43. Battles of Ancient Greece

44. Timetable of the Greek World

45. The Greeks Today

46. Power and Politics in Athens

47. Making Music

48. Gods and Goddesses

49. Animals of the Nile Valley

50. Transport, Travel ,and Trade

51. Life on the Nile

52. Ancient Cities

53. The Roman Legions

54. The Barbarians

55. The Twilight of Rome

56. Early Europe

57. All that Glitters

58. The Mycenaean World

59. What is History?

60. Writing it All Down

61. Growing Up in Rome

62. Growing Up in Egypt

63. Tutankhamen: The Boy King

64. The Emperor

65. Battle and Defense

66. Ancient Battles

67. Craft, Travel, and Trade

68. Money Matters

69. The Romans Abroad

70. After the Pharaohs

71. Modern Egypt

72. Market Day in Athens

73. Roman Street Scene

74. Rome Today

75. A Trip to the Baths

76. Temples and Palaces

77. The Legacy of Greece

78. Drama and Theaters

79. Song and Dance

80. Temples and Priests

81. A World of Many Gods

82. A Family of Gods

83. Wining and Dining

84. Roman Cooking

85. Farming, Fishing, and Food

86. Hunting, Fishing, and Fowling

87. Sailing on the Nile

88. Egyptian Explorers

89. Mesopotamia

90. Food and Drink

91. The Great Pyramids

92. A Journey to the Afterlife

93. Magic and Medicine

94. Oracles, Omens, and Offerings

95. Worship and Sacrifice

96. House and Home

97. A Day at the Races

98. Rulers of the Roman Empire

99. The Women of Rome

100. Adorning the Body

101. The Minoan World

102. Ancient Artists

103. Weapons and War

104. Sparta

105. Alexander the Great

106. The Indus Valley

107. At Home

108. Family Life

109. Fun and Games

110. Growing Up in Greece

111. Growing Up in Ancient Lands

112. Toys and Games

113. The Great Games

Page 65: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

54

A partir de um Detalhe de um Tópico, o elo ―está relacionado a‖ leva o usuário a outro

objeto Tópico dentro desse contexto de navegação, criando ―desvios‖ no caminho sugerido

pelo contexto de navegação Tópicos. Esse mecanismo é ilustrado na Figura 4-24:

Greece

Growing Up in Greece

Rome

The Theater

Greece

Timetable of the Greek World

General

What is History?

Greece

The Lost Land of Atlantis

Greece

Thinkers and Storytellers

The Inventors

of History

The Great

Teacher

Poets and

Playwrights

Developing

Democracy

Math &

Science

...

Tópicos

...

...

...

...

...

Figura 4-24 — Elos do tipo ―está relacionado a‖ a partir de detalhes de um tópico, levando a outros elementos

do mesmo contexto de navegação.

Page 66: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

55

Os principais índices da aplicação podem ser vistos na Figura 4-25, representados

através de contextos de navegação:

CN Category Index

inclui:

Rome Category Index

Greece Category Index

Egypt Category Index

comportamento: passo a passo (acesso direto)

índice

índice

inclui:

Monuments & Mysteries of Rome

People & Politics of Rome

Work & Play in Rome

Guides of Rome

comportamento: passo a passo (acesso

direto)

CN Rome Category Index

índice

inclui:

Monuments & Mysteries of Greece

People & Politics of Greece

Work & Play in Greece

Guides of Greece

comportamento: passo a passo (acesso

direto)

CN Greece Category Index

índice

inclui:

Monuments & Mysteries of Egypt

People & Politics of Egypt

Work & Play in Egypt

Guides of Egypt

comportamento: passo a passo (acesso

direto)

CN Egypt Category Index

Figura 4-25 — Contextos de navegação de índice da aplicação Ancient Lands.

Visto que os índices dos locais (Roma, Grécia e Egito) pertencem a um contexto de

navegação de índice, é possível navegar de um índice de um local para o índice de outro local

(navegação entre membros de um contexto de navegação). A Figura 4-26 apresenta uma tela

da aplicação que ilustra essa situação:

Page 67: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

56

Greece Category Index

Rome Category Index

Egypt Category Index

Figura 4-26 — Telas dos índices do contexto de navegação Category Index.

Page 68: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

57

O índice de cada local contém outros índices, como ilustrado na Figura 4-27, para

Roma.

importa: elos de contexto

comportamento: passo a passo

(acesso direto, seqüencial)

comportamento: passo a

passo (acesso direto,

seqüencial)

importa: elos de contexto

comportamento: passo a passo

(acesso direto, seqüencial)

importa: elos de contexto

comportamento:

passo a passo (acesso direto)

comportamento: passo a passo (acesso direto)

índice

CNRome Category Index

inclui:

Monuments & Mysteries of Rome

People & Politics of Rome

Work & Play in Rome

Guides of Rome

General Index

CNMonuments &

Mysteries of Rome

(Tópicos) índice

índiceíndice

inclui:

The Bloody Arena

Building Feats

A World of Many Gods

Healing the Sick

Death and Burial

Pompeii

The Legacy of Rome

A Day at the Races

Worship and Sacrifice

Rome Today

índice

CNPeople & Politics

of Rome

(Tópicos)

inclui:

Battle and Defense

The Twilight of Rome

The Roman Legions

Timetable of Ancient Rome

City-State to Superpower

Transport, Travel & Trade

Roman Society

The Barbarians

Rulers of the Roman Empire

The Emperor

The Romans Abroad

CNWork & Play

in Rome

Tópicos)

inclui:

The Women of Rome

Writing it all Down

A Trip to the Baths

Life of a Gladiator

Craftsmen and Technology

Making Music

Family Life

Growing Up in Rome

House & Home

The Theater

Roman Cooking

Roman Street Scene

CNGuides of Rome

inclui:

Corpulus, Nero‘s Right-Hand

Man

Rufus, a Roman Soldier

Falco, a Roman Snack Vendor

Marcus, a Farm Boy

Farah, a Slave Girl

Figura 4-27 — Principais índices da aplicação Ancient Lands.

Para cada local (Rome, Greece, Egypt) existem três índices para objetos do contexto

de navegação Tópicos, segundo uma classificação (Monuments and Mysteries, People and

Politics, Work and Play), e um índice de guias (Guides). Um guia é um contexto de

navegação cujos membros são objetos da classe Tópico, em uma seqüência diferente do

Page 69: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

58

contexto de navegação Tópico, de acordo com os ―interesses‖ do guia. Os guias serão

ilustrados com detalhes mais adiante.

Existe também um índice geral (General Index), que aparece nos índices de todos os

locais, e que contém todos os objetos da classe Tópicos, apresentados em ordem alfabética.

A partir de um índice de um local, é possível acessar o índice correspondente em outro

local ou outro índice do mesmo local. Por exemplo, a partir do índice de guias de Roma, o

usuário pode acessar o índice dos guias da Grécia, ou acessar o índice de Monumentos de

Roma (Figura 4-28).

Quando o objeto atual pertence a mais de um contexto de navegação, é possível navegar para outro objeto de um dos

contextos de navegação do qual é membro.

No caso dos índices da aplicação Ancient Lands, seguindo a representação abaixo, é possível navegar na horizontal ou na

vertical a partir de qualquer contexto de navegação de índice.

Monuments andMysteries

People and Politics

Work and Play

Guides

CN M & M

of Egypt

CNM & M

of Greece

CNM & M

of Rome

Egypt Category IndexGreece Category IndexRome Category Index

CNP & P

of Egypt

CNP & P

of Greece

CNP & P

of Rome

CNW & P

of Egypt

CNW & P

of Greece

CNW & P

of Rome

CNGuides

of Egypt

CNGuides

of Greece

CNGuides

of Rome

Figura 4-28 — Contextos de navegação que definem as possibilidades de navegação a partir dos índices da

aplicação Ancient Lands.

Os contextos de navegação de índice de cada categoria para cada local são

subcontextos do contexto de navegação Tópicos. Como esses contextos de navegação de

índice não possuem um caminho definido, e importam os elos de contexto exportados pelo

Page 70: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

59

contexto de navegação Tópicos, esses elos também são acessíveis a partir de um objeto do

contexto de navegação de índice. Assim, os contextos de navegação de índice agrupam

objetos segundo uma classificação, e o contexto de navegação Tópicos fornece o caminho

entre esses objetos.

EXEMPLO

Esse caso ilustra os dois tipos de navegação: a navegação com base em grafos, através

dos elos de contexto, e a navegação com base em conjuntos, que permite ao usuário navegar

de um objeto para o índice do contexto de navegação a que pertence. Assim, pode-se dizer

que existem dois contextos de navegação ativos: Tópicos e um dos contextos de navegação

de índice (Monuments & Mysteries of Rome, por exemplo). Quando o usuário ativa um guia,

entretanto, a navegação torna-se exclusiva, como será visto a seguir.

Os guias (―guides‖) da aplicação são representados por contextos de navegação. São

formados de determinados objetos da classe Tópico, em uma ordem diferente da ordem do

contexto de navegação Tópicos (como visto na Figura 4-27, os contextos de navegação de

guia não importam os elos de contexto do CN Tópicos). Os elos do contexto de navegação

Tópicos possuem uma locução que explica a ligação entre o nó atual e o próximo. No

contexto de navegação de um guia, os elos de contexto definem outro caminho e não possuem

locução. Entretanto, existem objetos de contexto que contêm uma locução para cada objeto

de navegação incluído no contexto de navegação do guia. Essa locução acrescenta o ponto de

vista do guia sobre o nó atual.

A Figura 4-29 e a Figura 4-30 ilustram alguns elementos e o caminho do contexto de

navegação Tópicos e o caminho definido pelo contexto de navegação de um guia para os

mesmos elementos.

Page 71: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

60

caminho: seqüencial

comportamento: passo a passo (seqüencial);

navegação exclusiva

ponto de entrada:

1o nó, obrigatório

inclui:

World–Mesopotamia

Rome–Roman Cooking

Egypt–Hunting, Fishing, and Fowling

Greece–Farming, Fishing, and Food

World–The Indus Valley

Egypt–Animals of the Nile Valley

World–China

Greece–Wining and Dining

World–Mesoamerica

CNGastronomique Gourmand

World-Famous Chef

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial)

exporta: elos de contexto

inclui:

...

World–Mesoamerica

...

World–China

...

Egypt–Animals of the Nile Valley

...

Greece–Wining and Dining

Rome–Roman Cooking

Greece–Farming, Fishing, and Food

Egypt–Hunting, Fishing, and Fowling

...

World–Mesopotamia

...

World–The Indus Valley

CNTópicos

Figura 4-29 — Especificação do contexto de navegação Tópicos e Gastronomique Gourmand (guia).

Observe que o contexto de navegação de um guia não importa os elos de contexto do

CN Tópicos, mas definem um outro caminho seqüencial por seus elementos.

Page 72: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

61

Tópicos

Rome

Roman Cooking

World

Mesopotamia

World

The Indus Valley

Egypt

Hunting, Fishing, and Fowling

Greece

Farming, Fishing, and Food

...

tr

ec

ho

s

...

tr

ec

ho

s

...

tr

ec

Ponto de

entrada do CN

Gastron.omique

Gourmand

Elo do contexto de navegação Tópicos

trechosElo do contexto de navegação Gastronomique Gourmand

World

Mesoamerica

World

China

Greece

Wining and Dining

Egypt

Animals of the Nile Valley

...

tr

ec

ho

s

...

tr

ec

ho

s

...

tr

ec

ho

s

Figura 4-30 — Contextos de navegação Tópicos e Gastronomique Gourmand (guia).

A Figura 4-31 ilustra a tela do objeto exibido na Figura 4-22, mas agora dentro de um

contexto de navegação de guia, indicando a âncora do elo de contexto do CN de guia,

diferente da âncora do elo de contexto do CN Tópicos para o mesmo objeto:

Page 73: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

62

âncora de elo de

contexto, com

indicação do guia

Figura 4-31 — Tela de um objeto da classe Tópico dentro de um contexto de navegação de guia.

Ao visitar um nó dentro de um contexto de navegação de guia, o usuário ainda tem

acesso a todos os detalhes (partes) desse objeto. Entretanto, para percorrer um elo a partir de

um detalhe, o que causaria um desvio para o contexto de navegação Tópicos, o usuário tem

que desativar o guia atual, e assim ir para o contexto de navegação Tópicos. A aplicação pede

para o usuário confirmar que quer deixar o contexto de navegação do guia, como mostra a

Figura 4-32. O mesmo ocorre quando o usuário tenta navegar para o índice de um dos

contextos de navegação de índice a que pertence o nó atual do guia.

Page 74: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

63

Ao clicar a âncora do elo ―está

relacionado a‖, a aplicação

pede para o usuário confirmar

a desativação do guia.

Figura 4-32 — Pedido de confirmação para desativar um guia.

Assim, o esquema de navegação da aplicação pode ser visto na Figura 4-33:

Page 75: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

64

Monuments andMysteries

People andPolitics

Work and Play

Guides

CNM & M

of Egypt

CNM & M

of Greece

CNM & M

of Rome

Egypt Category IndexGreece Category Index

Category Index

Rome Category Index

CNP & P

of Egypt

CNP & P

of Greece

CNP & P

of Rome

CNW & P

of Egypt

CNW & P

of Greece

CNW & P

of Rome

CNGuides

of Egypt

CNGuides

of Greece

CNGuides

of Rome

inclui:

Tópico

exporta: elos de contexto

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial)

CNTópicos

inclui:

...

caminho: seqüencial

comportamento: passo a passo

(seqüencial); navegação exclusiva

ponto de entrada:

1o nó, obrigatório

CNGastron. Gourmand

...

inclui:

...

caminho: seqüencial

comportamento: passo a passo

(seqüencial); navegação exclusiva

ponto de entrada:

1o nó, obrigatório

CNAlexander the Great

...

inclui:

...

caminho: seqüencial

comportamento: passo a passo

(seqüencial); navegação exclusiva

ponto de entrada:

1o nó, obrigatório

CNan Egyptian Boy

...

Figura 4-33 — Esquema de navegação da aplicação Ancient Lands.

Page 76: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

65

4.3. Microsoft Multimedia Beethoven

A aplicação Multimedia Beethoven, The Ninth Symphony, da Microsoft, descreve a Nona

Sinfonia de Beethoven, alguns conceitos musicais relevantes para sua compreensão e o

panorama histórico e cultural da época de Beethoven. Os movimentos da Sinfonia são

comentados e ilustrados com trechos de música em CD e MIDI, incluindo partituras de alguns

fragmentos. A aplicação inclui também o texto de Schiller original em alemão e sua tradução

para o inglês.

A Figura 4-34 ilustra um esquema OOHDM da aplicação:

comentada por

nome: String

Sinfonia

nomeM: String

Movimento

nomeS: String

Seção

nomeP: String

Parte

descrição: CD

comentário: Texto

texto de Schiller:

[Alemão, Inglês]

Trecho

nome: String

Movimento Comentado

nomeS: String

descrição: Texto

ilustrado por

Seção Comentada

Mundo do Autor

fragmento: [CD, MIDI,

partitura]

Fragmento de Música

nome: String

descrição: [Texto+,

Imagem]

Capítulo

nome: String

Conceito Musical

nomeC: String

descrição: [Texto, Imagem]

Capítulo do Conceito

Apreciação

Figura 4-34 — Esquema OOHDM da aplicação Multimedia Beethoven.

Page 77: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

66

A classe ―Mundo do Autor‖ descreve o panorama histórico da época de Beethoven,

sua biografia, seus rascunhos, seu relacionamento com Schiller e como a Sinfonia era tocada

na época e como ela é tocada hoje.

A classe ―Sinfonia‖ representa a Nona Sinfonia propriamente dita, subdividida em

movimentos, seções, partes e trechos.

A classe ―Apreciação‖ inclui as partes ―Conceito Musical‖, que representa conceitos

musicais da arquitetura musical e da orquestra clássica, e ―Movimento Comentado‖, que

inclui comentários sobre cada seção da sinfonia.

A classe ―Trecho de Música‖ consiste em um fragmento de música em três possíveis

formas: tocado diretamente do CD ou no padrão MIDI e representado em partitura.

Os objetos de navegação da aplicação podem ser vistos na Figura 4-35:

Page 78: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

67

comentada por

nome: String

Sinfonia Det.

nomeM: String

Movimento Det.

nomeS: String

comentários: Anchor

(comentada por)

Seção Det.

nomeP: String

Parte Det.

trecho: CD

comentário: Texto

textoInglês: Texto

textoAlemão: Texto

fragmento: Anchor (ilustrado por)

Trecho Det.

Mundo do Autor

título: String

descrição: Texto

ilustração: Imagem

Capítulo

nome: String

Conceito Musical

ilustrado por

nomeC: String

descrição: Texto

ilustração: Imagem

trecho: Anchor (ilustrado por)

Capítulo Conceito

CD: CD

MIDI: MIDI

partitura: partitura

Fragmento de Música

Apreciação

nome: String

Movimento Comentado

nomeS: String

descrição: texto

trecho: Anchor (ilustrado por)

Seção Comentada

nome: String

Sinfonia

nomeM: String

Movimento

nomeS: String

Seção

nomeP: String

Parte

CD: CD

Trecho

Figura 4-35 — Objetos de navegação da aplicação Multimedia Beethoven.

A classe ―Mundo do Autor‖ agrupa os diversos aspectos históricos e biográficos

relevantes em ―Capítulos‖.

A classe ―Sinfonia‖ trata agora da música propriamente dita, enquanto a classe

―Sinfonia Detalhada‖ traz comentários sobre cada trecho da música, e permite o acesso à

classe ―Apreciação‖ através do elo ―comentada por‖ .

Na versão para Macintosh desta aplicação, não existe a relação ―comentada por‖.

Page 79: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

68

A classe ―Apreciação‖ consiste nos conceitos musicais e em comentários sobre cada

seção da sinfonia.

O menu principal (Table of Contents) corresponde à primeira tela da aplicação. Existe

também um índice geral (Contents) que pode ser acessado de qualquer parte do programa.

Ambos estão representados na Figura 4-36:

targets:

Table of Contents

A Pocket Guide

Beethoven‘s World

The Art of Listening

A Close Reading

Movement 1

Movement 2

Movement 3

Movement 4

The Ninth Game

IndexContents

targets:

A Pocket Guide

Beethoven‘s World

The Art of Listening

A Close Reading

The Ninth Game

IndexTable of Contents

Figura 4-36 — Menu principal e índice geral da aplicação Multimedia Beethoven.

Figura 4-37 — Tela inicial ilustrando o índice ―Table of Contents‖.

Page 80: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

69

Os contextos de navegação acessados pelo índice podem ser vistos nas figuras abaixo,

com detalhes e comentários.

O contexto de navegação ―A Pocket Guide‖ inclui todos os trechos da sinfonia,

agrupados em partes ou em seções, que podem ser acessadas diretamente.

Page 81: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

70

CNA Pocket Guide

índice

comportamento: passo a passo (acesso direto)

inclui:

Seção

Parte

=

índice

CNA Pocket Guide

comportamento: passo a passo (acesso direto)

inclui:

Movement1.Exposition

Movement1.Exposition.Primary Area

Movement1.Exposition.Transition

Movement1.Exposition.Secondary Area

Movement1.Exposition.Closing Area

Movement1.Development

Movement1.Recapitulation

Movement1.Recapitulation.Primary Area

Movement1.Recapitulation.Secondary Area

Movement1.Recapitulation.Closing Area

Movement1.Coda

Movement2.Exposition

Movement2.Development

Movement2.Recapitulation

Movement2.First Half

Movement2.Second Half

Movement2.Scherzo da capo

Movement2.Coda

Movement3.A-Section

Movement3.B-Section

Movement3.A-Section varied

Movement3.B-Section

Movement3.Interlude

Movement3.A-Section varied

Movement3.Coda

Movement4.Open Ritornello

Movement4.Exposition

Movement4.Exposition.Horror/Recitative

Movement4.Exposition.Joy Theme

Movement4.Exposition.Turkish Music

Movement4.Development

Movement4.Recapitulation

Movement4.Recapitulation.Joy Theme

Movement4.Recapitulation.Awe Theme

Movement4.Coda

Movement4.Coda.1

Movement4.Coda.2

Movement4.Coda.3

Figura 4-38 — O contexto de navegação ―A Pocket Guide‖ permite acessar os trechos da sinfonia diretamente,

por seção ou por parte.

Observe que, embora as partes sejam compostas de trechos, estes não podem ser

acessados separadamente. Assim, no contexto ―A Pocket Guide‖, o usuário pode acessar uma

seção ou uma parte, e escutar os fragmentos de música correspondentes.

Page 82: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

71

Figura 4-39 — Tela ilustrando o índice do contexto de navegação ―A Pocket Guide‖.

O contexto de navegação ―Beethoven‘s World‖ (―Mundo do Autor‖) é um contexto de

navegação de índice que possui dois modos de navegação (comportamento): passo a passo ou

acesso direto. O usuário pode percorrer os elementos do contexto seqüencialmente ou acessar

diretamente o elemento desejado.

caminho: seqüencial

comportamento: passo a passo (seqüencial ou

acesso direto)

inclui: Capítulo

índice

CNBeethoven‘s World

índice

caminho: seqüencial

comportamento: passo a passo

(seqüencial ou acesso direto)

inclui:

Introduction

Historical Background

Beethoven‘s Life

The Conversation Books

Beethoven‘s Sketches

Beethoven & Schiller

Performing the Ninth Then

Performing the Ninth Today

More Reading

CNBeethoven‘s World

=

Figura 4-40 — O contexto de navegação ―Beethoven’s World‖ possui dois modos de navegação.

Page 83: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

72

Figura 4-41 — Tela ilustrando um elemento do contexto de navegação ―Beethoven’s World‖.

O contexto de navegação ―The Art of Listening‖ (―Apreciação‖) também é contexto de

navegação de índice e possui dois modos de navegação. Além disso, possui um índice parcial

como primeiro elemento.

Page 84: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

73

caminho: seqüencial

comportamento: passo a passo (seqüencial ou

acesso direto)

exporta: elos de contexto

inclui:

Índice de Conceitos Musicais

Conceito Musical

Capítulo Conceito

Movimento Comentado

índice

CNThe Art of Listening

índice

caminho: seqüencial

comportamento: passo a passo (seqüencial ou

acesso direto)

exporta: elos de contexto

inclui:

Índice de Conceitos Musicais

Musical Architecture

Sonata Form Demystified

History

Terminology

Sonata Psychology

Musical Elements

Exposition

Development

Recapitulation

Coda

The Classical Orchestra

Strings

Woodwings

Brass

Percussion

Anatomy of a Symphony

Movement 1

Movement 2

Movement 3

Movement 4

The Text of Schiller‘s Ode

CNThe Art of Listening

=

Figura 4-42 — O contexto de navegação ―The Art of Listening‖.

Observe o primeiro elemento do contexto de navegação ―The Art of Listening‖,

―Índice de Conceitos Musicais‖. Trata-se de um contexto de navegação aninhado, que

funciona apenas como um índice para os elementos do CN. Quando um dos elementos é

acessado, o caminho utilizado é o caminho definido pelos elos de contexto do CN ―The Art of

Listening‖, importados pelo CN ―Índice de Conceitos Musicais‖.

Page 85: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

74

importa: elos de contexto (The Art of Listening)

inclui:

Musical Architecture,

Sonata Form Demystified,

The Classical Orchestra,

Anatomy of a Symphony,

Movement 1,

Movement 2,

Movement 3,

Movement 4,

The Text of Schiller‘s Ode

índice

CNÍndice de Conceitos Musicais

O contexto de navegação ―A Close Reading‖ consiste na sinfonia detalhada. Devido à

natureza seqüencial da música, o caminho por seus elementos é seqüencial. O usuário pode

navegar passo a passo ou automaticamente, no tempo da música. Ele pode ainda acessar

diretamente cada parte ou seção do movimento atual (através do índice para Seção Detalhada

ou Parte Detalhada do contexto de navegação Movimento Detalhado) ou a primeira parte da

primeira seção de outro movimento (através do índice para Movimento Detalhado do contexto

de navegação ―A Close Reading‖). O contexto de navegação ―A Close Reading‖ está

ilustrado na Figura 4-43:

Page 86: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

75

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

inclui:

Movimento Detalhado

índice

CNA Close Reading

índice

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

Inclui:

Movement1.Exposition

Movement1.Exposition.Primary Area

Movement1.Exposition.Transition

Movement1.Exposition.Secondary Area

Movement1.Exposition.Closing Area

Movement1.Development

Movement1.Recapitulation

Movement1.Recapitulation.Primary Area

Movement1.Recapitulation.Secondary Area

Movement1.Recapitulation.Closing Area

Movement1.Coda

CNMovement 1 (Movimento Detalhado)

índice

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

Inclui:

Movement2.Exposition

Movement2.Development

Movement2.Recapitulation

Movement2.First Half

Movement2.Second Half

Movement2.Scherzo da capo

Movement2.Coda

CNMovement 2 (Movimento Detalhado)

índice

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

Inclui:

Movement3.A-Section

Movement3.B-Section

Movement3.A-Section varied

Movement3.B-Section

Movement3.Interlude

Movement3.A-Section varied

Movement3.Coda

CNMovement 3 (Movimento Detalhado)

índice

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

Inclui:

Movement4.Open Ritornello

Movement4.Exposition

Movement4.Exposition.Horror/Recitative

Movement4.Exposition.Joy Theme

Movement4.Exposition.Turkish Music

Movement4.Development

Movement4.Recapitulation

Movement4.Recapitulation.Joy Theme

Movement4.Recapitulation.Awe Theme

Movement4.Coda

Movement4.Coda.1

Movement4.Coda.2

Movement4.Coda.3

CNMovement 4 (Movimento Detalhado)

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

inclui:

Seção Detalhada, Parte Detalhada

índice

CNMovimento Detalhado

Figura 4-43 — O contexto de navegação ―A Close Reading‖.

A tela Figura 4-44 ilustra alguns elementos do esquema do contexto de navegação ―A

Close Reading‖:

Page 87: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

76

seção.comentário:

Anchor (comentada por)

trecho.comentário

Index (Movement 1)Index (A Close Reading)

fragmento:

Anchor (ilustrado por)

Figura 4-44 — Tela ilustrando um elemento do contexto de navegação ―A Close Reading‖.

É importante observar que nem todo botão é de navegação. O botão ―Play Page‖, por

exemplo, apenas controla a reprodução do atributo ―trecho‖ (som em CD) do objeto

correspondente à tela.

Como se pôde observar, os contextos de navegação na aplicação ―Multimedia

Beethoven‖ representam geralmente a estrutura interna de uma classe agregada, ou seja, são

contextos de navegação derivados de agregados. A Figura 4-45 mostra o esquema da

navegação da aplicação utilizando contextos de navegação:

Page 88: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

77

targets:

Table of Contents

A Pocket Guide

Beethoven‘s World

The Art of Listening

A Close Reading

Movement 1

Movement 2

Movement 3

Movement 4

The Ninth Game

IndexContents

targets:

A Pocket Guide

Beethoven‘s World

The Art of Listening

A Close Reading

The Ninth Game

IndexTable of Contents

caminho: seqüencial

comportamento: passo a passo (seqüencial ou

acesso direto)

inclui: Capítulo

índice

CNBeethoven‘s World

caminho: seqüencial

comportamento: passo a passo (seqüencial ou

acesso direto)

inclui:

Index(Conceito Musical, Capítulo Conceito,

Movimento Comentado)

Conceito Musical

Capítulo Conceito

Movimento Comentado

índice

CNThe Art of Listening

caminho: seqüencial

comportamento: automático ou passo a

passo (seqüencial ou acesso direto)

inclui:

Movimento Detalhado

índice

CNA Close Reading

caminho: seqüencial

comportamento: automático ou passo a passo

(seqüencial ou acesso direto)

inclui:

Seção Detalhada, Parte Detalhada

índice

CNMovimento Detalhado

comentado

por

CNA Pocket Guide

índice

comportamento: passo a passo (acesso direto)

inclui:

Seção

Parte

Figura 4-45 — Esquema de navegação da aplicação Multimedia Beethoven utilizando contextos de navegação.

Page 89: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

78

4.4. Projeto Portinari

A aplicação PP (Projeto Portinari) foi especificada e desenvolvida utilizando contextos de

navegação. Trata-se de uma interface hipermídia para a recuperação de dados do Projeto

Portinari.

A Figura 4-46 apresenta o esquema conceitual da aplicação em OOHDM:

Livro ou Periódico

título: String

data publicação: Data

local public.: String

páginas: Integer

volume: Integer

assunto: Texto

capa: Imagem

transcrição: Texto

Pessoa

nome: String

foto: Imagem

nascimento: Data

local nasc. String

profissão: String

biografia: Textoentrevistador

entrevistado

enviada para

produziu

participou de

escrito por

Obra

título: String

código: Integer

criação: Data

local: String

técnica: String

descrição: [Imagem, Texto]

dimensão: String

observações: Texto

Evento

nome: String

data: Data

local: String

obras expostas: Integer

obras de Portinari: Integer

observações: Texto

Correspondência

escrita em: Data

local remet.: String

local destin.: String

idioma: String

assunto: Texto

conteúdo: [Imagem, Texto]

retrata

Depoimento

data: Data

local: String

idioma: String

assunto: Texto

conteúdo: [Som, Texto]

Arquivo Fotográfico

data: Data

local: String

descrição: [Imagem, Texto]

se refere a

Figura 4-46 — Esquema OOHDM da aplicação PP.

Page 90: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

79

A classe ―Obra‖ descreve uma obra de Portinari, com seus dados técnicos e outras

observações, além de uma imagem da própria pintura. A classe ―Evento‖ inclui dados sobre

leilões e exposições de que as obras de Portinari participaram.

―Pessoa‖ consiste nos dados pessoais de Portinari e de outras pessoas de alguma forma

relacionadas a ele ou a suas obras.

A classe ―Arquivo Fotográfico‖ representa as fotos de Portinari.

―Livro ou Periódico‖ consiste nos livros e periódicos escritos sobre Portinari ou sobre

suas obras, livros ilustrados por Portinari ou livros de referência que o citam. A classe

―Correspondência‖ inclui correspondências enviadas ou recebidas por Portinari ou pessoas a

ele relacionadas.

A classe ―Depoimento‖ consiste nos depoimentos de pessoas relacionadas a Portinari,

sobre o próprio.

A Figura 4-47 mostra as classes de navegação da aplicação:

Page 91: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

80

Livro ou Periódico

título: String

data publicação: Data

local public.: String

páginas: Integer

volume: Integer

assunto: Texto

capa: Imagem

transcrição: Texto

autor: Anchor (escrito por)

obras: Anchor (se refere a)

pessoas: Anchor (se refere a)

eventos: Anchor (se refere a)

documentos: Anchor (se refere a)

Pessoa

nome: String

foto: Imagem

nascimento: Data

local nasc. String

profissão: String

biografia: Texto

obras: Anchor (produziu)

retratado: Anchor (retrata-1)

livros: Anchor (escrito por -1)

documentos: Anchor (se refere a-1)

entrevistador

entrevistado

enviada para

produziu

participou de

se refere a

escrito por

Obra

título: String

código: Integer

criação: Data

local: String

técnica: String

a obra: Imagem

descrição: Texto

dimensão: String

observações: Texto

criador: Anchor (produziu-1)

eventos: Anchor (participou de)

retrata: Anchor (retrata)

documentos: Anchor (se refere a -1)

Evento

nome: String

data: Data

local: String

obras expostas: Integer

obras de Portinari: Integer

observações: Texto

obras: Anchor (participou de -1)

documentos: Anchor (se refere a-1)

Correspondência

escrita em: Data

local remet.: String

local destin.: String

idioma: String

assunto: Texto

a carta: Imagem

transcrição: Texto

remetente: Anchor (escrito por)

destinatário: Anchor (enviada para)

obras: Anchor (se refere a)

pessoas: Anchor (se refere a)

eventos: Anchor (se refere a)

documentos: Anchor (se refere a)

retrata

Depoimento

data: Data

local: String

idioma: String

assunto: Texto

depoimento: Som (conteúdo)

transcrição: Texto (conteúdo)

entrevistado: Anchor (entrevistado)

entrevistador: Anchor (entrevistador)

obras: Anchor (se refere a)

pessoas: Anchor (se refere a)

eventos: Anchor (se refere a)

documentos: Anchor (se refere a)

Arquivo Fotográfico

data: Data

local: String

foto: Imagem (descrição)

descrição: Texto (descrição)

obras: Anchor (se refere a)

pessoas: Anchor (se refere a)

eventos: Anchor (se refere a)

documentos: Anchor (se refere a)

Page 92: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

81

Figura 4-47 — Classes de navegação da aplicação PP.

A Figura 4-48 ilustra a tela de um objeto da classe ―Obra‖:

Figura 4-48 — Tela de um objeto da classe ―Obra‖.

Os contextos de navegação da aplicação são contextos de classe e contextos derivados

de elos. A Figura 4-49 e a Figura 4-50 mostram alguns desses contextos de navegação:

Page 93: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

82

CNPessoas

inclui:

Pessoa

ponto de entrada: 1o nó (default)

CNObras

inclui:

Obra

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

CNEventos

inclui:

Evento

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

CNDepoimentos

inclui:

Depoimento

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

CNLivros

inclui:

Livro

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

CNFotos

inclui:

Arquivo Fotográfico

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

CNCorrespondências

inclui:

Correspondência

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo

(seqüencial ou acesso direto)

Figura 4-49 — Contextos de navegação de classe da aplicação Portinari.

Page 94: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

83

...

CNPessoas em <nome>

inclui:

p Pessoa (f,p) se refere a

f.nome = <nome>, f Arquivo Fotográfico

Pessoas retratadas em uma foto:

ponto de entrada: 1 o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial ou

acesso direto)

CNAutores do Livro <nome>

inclui:

p Pessoa (l,p) escrito por

l.nome = <nome>, l Livro

Autores de um livro:

ponto de entrada: 1o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial ou

acesso direto)

CNObras citadas em <nome>

inclui:

o Obra (l,o) se refere a

l.nome = <nome>, l Livro

Obras citadas em um livro:

ponto de entrada: 1 o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial ou

acesso direto)

CNObras do Evento <nome>

inclui:

o Obra (o,e) participou de

e.nome = <nome>, e Evento

Obras que participaram de um evento:

ponto de entrada: 1 o nó (default)

caminho: seqüencial, circular

comportamento: passo a passo (seqüencial ou

acesso direto)

Figura 4-50 — Alguns contextos de navegação derivados de elo da aplicação Portinari.

Observe que os contextos de navegação da aplicação possuem comportamento acesso

direto. Essa navegação é feita através de um ―chooser‖, como pode ser visto na Figura 4-51:

Figura 4-51 — ―Chooser‖ do contexto de navegação ―Obras‖.

Page 95: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

84

5. OUTRAS ABORDAGENS

Esta seção analisa outras abordagens utilizadas para solucionar os problemas de navegação e

estruturação de uma rede hipermídia e sugere a utilização de contextos de navegação em

alguns casos.

5.1. Coleções

[Garzotto et al., 94] ressalta a importância do uso de estruturas compostas e a necessidade de

uma definição precisa da semântica da navegação por essas estruturas. Seu conceito de

coleções (―collections‖) trata de uma interpretação do componente composto do Dexter

Model.

Um nó é um composto que agrupa diversos ―slots‖ (análogos aos atributos de

OOHDM) e que representa uma unidade lógica de informação e de navegação. Uma coleção

contém diversos membros (nós ou outras coleções) e uma estrutura interna que define sua

semântica de navegação. Os atributos de uma coleção são definidos por um nó especial,

chamado nó de coleção.

As coleções taxonômicas são descritas como estáveis (não são modificadas com

freqüência), enquanto as de apresentação sofrem modificações contínuas para tornar o

conteúdo da aplicação mais acessível, abordando novos pontos de vistas, novas perspectivas

culturais, etc.

Uma coleção possui um nó especial, chamado nó de coleção, que possui ―slots‖ com

informações sobre a própria coleção (meta-informação).

Os membros de uma coleção podem ser definidos por seis métodos: embutido,

intencional, ―pick-up‖, orientado a conjuntos, orientados a elos e baseados em sessão.

O método embutido é análogo à criação de contextos de navegação de classe, e é o

único que não requer uma outra coleção como ponto de partida.

Page 96: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

85

O método intencional é baseado em um mecanismo de seleção que deve ser aplicado

sobre uma ou mais coleções segundo algum critério.

O método ―pick-up‖ é semelhante à especificação de contextos de navegação

arbitrários, onde o autor deve selecionar cada membro que deverá pertencer à coleção.

O método orientado a conjuntos explora a natureza não-estruturada de coleções, onde

podem ser aplicadas operações de conjuntos, como união, interseção, diferença, etc.

O método orientado a elos parte de uma coleção e de um conjunto de elos e aplica

esses elos a todos os membros da coleção, obtendo uma nova coleção

As coleções geradas por métodos baseados em sessão abordadas são os históricos dos

nós visitados em uma aplicação, e bookmarks, onde o usuário deve marcar os nós que quer

inserir na coleção.

Quanto à estrutura interna de uma coleção, esta pode possuir topologia seqüencial, de

árvore ou grafo. A navegação por coleções pode ocorrer de duas formas: por índice ou por

roteiro guiado. A navegação por índice permite que o usuário navegue do nó de coleção para

um dos membros e vice-versa. A navegação por roteiros guiados ocorre através de controles

do tipo ―próximo‖, ―anterior‖, ―primeiro‖ e ―último‖, e pode terminar voltando para o nó de

coleção (comando ―fechar‖) ou permanecer no membro atual, mas fora do controle da coleção

(comando ―parar‖).

Os métodos para a criação de coleções são análogos aos tipos de contexto de

navegação abordados neste trabalho. As semânticas de navegação também podem ser

descritas utilizando os contextos de navegação: navegação de acesso direto exclusiva para

representar uma navegação por índice em uma coleção, e navegação passo a passo exclusiva

para representar uma navegação por roteiro guiado. As outras semânticas de navegação que a

definição de contextos de navegação apresenta não são abordadas no estudo sobre coleções.

A navegação pode ser ―standard‖, através dos nós e elos do hiperdocumento, ou por

―coleção‖, através dos elos de uma coleção. As aplicações que incluem simultaneamente a

Page 97: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

86

navegação ―standard‖ e a navegação por coleção são mencionadas como exibindo

comportamento inconsistente, e não são exploradas com detalhes.

A definição de coleções requer que o usuário ative um nó de coleção para que os elos

desta coleção possam ser ativados. Não são abordadas formas de ativação de coleção

definidas pelo autor, transparentes para o usuário.

[Garzotto et al., 94] considera também algumas formas de apresentação, como

modelos de sincronização de dados multimídia, que são abordadas no estudo de projeto

abstrato de interface, próxima etapa no desenvolvimento de aplicações hipermídia.

5.2. Roteiros Guiados

[Oren et al., 90] propõe reduzir a carga cognitiva imposta aos usuários de hipertextos

educacionais pela necessidade de decidir para onde navegar a partir de cada nó. A proposta

era sugerir um ―próximo passo‖ em um caminho que apresentasse o material de forma

coerente e que se adaptasse às ações e necessidades do usuário.

O acervo é de documentos da história americana de 1800 a 1850. O conteúdo foi

fornecido principalmente pela Grolier Electronic Publishing, que distribuiu os textos e

índices, e influenciou na seleção de imagens, mapas e sons.

A solução apareceu na forma de ―guias‖. Um guia é um personagem de um

determinado período histórico e com determinados interesses, como História, Geografia,

Artes, Música, etc. Assim, cada guia ―conta‖ a história de um período a partir de seu ponto de

vista. O usuário pode escolher um guia e acompanhar a história apresentada por ele, ou

consultar vários guias, sempre disponíveis para recomendar o ―próximo passo‖ ou procurar

tópicos relevantes.

Para implementar os guias, foi utilizado um índice hierárquico de tópicos. Cada artigo

foi classificado através dos termos do índice. Cada guia criado possuía uma lista de

interesses, e o ponto de vista de um guia era resultado de uma comparação entre sua lista de

Page 98: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

87

interesse e os artigos. Para cada guia, foi criada uma lista de artigos graduada de acordo com

seu interesse.

Assim, através de sua lista graduada de artigos, cada guia poderia oferecer uma

―próxima escolha‖ a partir do artigo atual ou uma representação de todos os artigos

relacionados de seu interesse, em ordem de relevância. A qualquer momento, o usuário

poderia escolher um guia diferente e obter um novo conjunto de sugestões para o próximo

passo.

O estudo mostrou que os usuários queriam explicações sobre o caminho seguido pelo

guia, ou seja, uma resposta à pergunta ―por que o guia me trouxe até aqui?‖ Além disso, eles

queriam conhecer a ―vida‖ do guia e como ela se relacionava com as opções feitas. Os

usuários também tentavam identificar os guias como personagens específicos, visto que os

guias eram representados por figuras humanas e que o primeiro artigo que cada guia indicava

era geralmente sobre uma pessoa. Os usuários esperavam ainda que os guias influenciassem o

conteúdo dos artigos indicando seus pontos de vista, ou seja, um mesmo artigo seria escrito de

forma diferente se visto a partir de um guia indígena ou de um guia escravo. Assim, embora o

papel de um guia fosse de navegação, o estudo revelou que os usuários também gostariam que

os guias fornecessem conteúdo.

Essas questões foram abordadas na versão em vídeo, onde um guia era uma

personagem específica e suas histórias eram contadas em primeira pessoa. O gerador do

próximo passo também fornecia conteúdo sobre a relação entre o artigo atual e o próximo

(como uma prévia sobre o próximo artigo, ressaltando a ligação entre eles) e sobre o ponto de

vista do guia com relação ao próximo artigo.

Para incorporar os pontos de vista, cada artigo foi dividido em uma parte central

factual e objetiva, rodeados por elementos que acrescentavam os pontos de vista dos guias.

Dessa forma, ao acessar um artigo, o usuário veria não apenas os fatos, mas também como o

guia interpretava esses fatos.

Os contextos de navegação poderiam ser utilizados na especificação dos guias. Cada

guia seria representado por um contexto de navegação, e seus pontos de vista por objetos de

Page 99: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

88

contexto incorporados aos objetos de navegação que contêm os fatos. Os elos de contexto

poderiam conter informações para esclarecer a ligação entre os artigos sugeridos pelo guia e

criar uma transição suave entre os nós, evitando a confusão entre o conteúdo dos artigos e o

porquê da relação entre eles. Além disso, a navegação utilizando contextos de navegação é

semelhante à navegação utilizando guias, onde o usuário pode navegar de um artigo para o

próximo sugerido pelo guia (elo de contexto dentro de um contexto de navegação), ou por

outros guias que contenham o mesmo artigo (mudança de contexto de navegação).

[Marshall89] também aborda o problema de tornar as grandes redes hipertextuais

inteligíveis aos usuários, criando coerência, gerenciando a transição entre os nós e oferecendo

um contexto, como nas formas escritas tradicionais. Ela propõe o uso de roteiros guiados

como mecanismos de apresentação, e defende o acréscimo de metainformação para tornar o

material inteligível e evitar a desorientação do usuário. Além disso, são propostas diversas

convenções de apresentação, como layout de telas e referências visuais. É sugerido ainda o

uso de ―spines‖, que são caminhos através do roteiro com mínima ramificação.

5.3. Estruturação Automática de Documentos

Embora o conceito de contextos de navegação tenha surgido para facilitar a navegação em

aplicações hipermídia, existem outras aplicações em que pode ser útil. É o caso do sistema

descrito em [Salton et al., 94], de comparação global e local de artigos para identificar

documentos relacionados, juntamente com estratégias de information retrieval e estruturação

de texto.

Através da análise automática de um texto qualquer, são gerados vetores de termos

com pesos que refletem a importância de cada termo dentro do documento. Assim, um termo

que aparece com freqüência dentro de um documento e raramente fora dele recebe um peso

alto, por ser bastante característico de tal documento. Com base nesses pesos, são calculados

coeficientes de similaridade entre documentos ou partes desses documentos.

O método de comparação de texto sugerido inclui uma comparação global,

considerando-se os termos de documentos inteiros; e uma comparação local, que compara

Page 100: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

89

seções, parágrafos e frases dentro dos documentos. Um modo de ―relevance feedback‖ pode

ser utilizado, no qual o usuário seleciona como relevantes alguns dos artigos previamente

recuperados (através das comparações global e local), e uma nova busca é realizada

incorporando-se os termos desses artigos relevantes ao texto originalmente utilizado para a

busca

São apresentadas três maneiras de se estruturar o texto com base em seu método de

comparações: busca ―breadth m–depth n‖, uma estratégia de recuperação variável e um

processo de ―clustering‖.

Na busca ―breadth m–depth n‖, um texto é utilizado como base da busca para

recuperar os m textos com maior coeficiente de similiaridade. Esses m textos são utilizados

para novas buscas, cada busca resultando em m textos, até formar uma estrutura de

profundidade n. Nesse caso, os textos recuperados por último não são muito semelhantes ao

texto original.

A estratégia de recuperação variável é semelhante à anterior, mas a cada nível de busca

aumenta o limiar do coeficiente de similaridade entre os documentos, até que não se

encontrem mais documentos com similaridade tão alta. Por causa da variação do limiar de

similiaridade da busca, essa estratégia produz uma estrutura auto-contida de artigos

relacionados.

No processo de ―clustering‖, os itens mutualmente semelhantes são agrupados em

classes de afinidade, ou ―clusters‖. É sugerido que cada ―cluster‖ possa dar origem a um

―supernó‖, que representaria um conjunto de nós muito semelhantes.

Os contextos de navegação podem ser utilizados para representar as estruturas de texto

sugeridas por [Salton et al., 94]. No caso da busca ―breadth m–depth n‖, assim como na

estratégia de recuperação variável, a estrutura resultante é uma árvore, que pode ser

representada como um aninhamento de contextos de navegação, onde cada contexto de

navegação contém um documento e um outro contexto de navegação, que representa sua sub-

árvore (os ―filhos‖ do documento). Essa conversão está ilustrada na Figura 5-1:

Page 101: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

90

E GF

DCB

H JI K ML

A

A B E F G

C H I J

D K L M

Figura 5-1 — Aninhamento de contextos de navegação para representar uma estrura em árvore.

No processo de ―clustering‖, cada ―cluster‖ dá origem a um contexto de navegação.

Assim, cada contexto de navegação possui documentos altamente relacionados.

Como a navegação utilizando-se contextos de navegação é feita entre os documentos

de um mesmo contexto de navegação ou de um contexto de navegação para outro que

contenha o mesmo documento, os contextos de navegação gerados através do processo de

―clustering‖ garantem o agrupamento coerente dos textos e a navegação entre eles.

Page 102: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

91

6. FERRAMENTA

6.1. Objetivos

Tendo em vista o processo de desenvolvimento descrito em 1.1, ―Etapas de Desenvolvimento

de Aplicações Hipermídia‖, torna-se possível criar ferramentas para auxílio de cada etapa do

desenvolvimento. A ferramenta implementada se concentra na etapa de modelagem da

navegação de uma aplicação hipermídia.

Essa ferramenta visa a facilitar a construção sistemática de classes, objetos e contextos

de navegação a partir da modelagem do domínio. Ela tem como entrada a especificação de

classes e objetos conceituais de um domínio e como resultado a definição dos nós, elos e

contextos de navegação de uma aplicação.

Com um conjunto de ferramentas para cada etapa do processo de desenvolvimento,

torna-se mais fácil especificar, implementar e fazer a manutenção de uma aplicação

hipermídia de forma sistemática.

6.2. Compilação de um Esquema em OOHDM

Esta seção descreve o processo de compilação de um esquema em OOHDM para uma

especificação — no nível de abstração de nós, elos e contextos de navegação — que possa ser

utilizada como entrada para uma ferramenta de apoio ao projeto abstrato de interface (Figura

6-1).

Page 103: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

92

a1:String

a2:String

Classe C1

a1:String

Classe C2

a1:String

a2:String

R1

Parte P1

Esquema Conceitual

Ferramenta de apoio

ao projeto abstrato de

interface

COMPILAÇÃO

Nós, elos e contextos

de navegação

Esquema de Navegação

(contextos de navegação,

estruturas de acesso,

classes e elos de contexto)

Instâncias

Esquema de Classes de Navegação

a1:String

a2:String

c2:Anchor(R1)

c3:Anchor(R1)

filho:Anchor(son)

Classe C1(C1)

a1 (C2)

a2:a1(C1)...

Classe C2

a1:String

a2:String

pai:Anchor(father)

R2

R1

Parte P1(P1) a1:a2(P1)+”xxx”

c1:Anchor(R2)

Classe C3

C1 The Battle of San Romano

C1.P1 General Description

C1.a1 9999

Figura 6-1 — Processo de compilação de um esquema em OOHDM.

Em primeiro lugar, o autor define o esquema OOHDM conceitual, especificando as

classes, relações e seus atributos, de acordo com o domínio.

A partir do esquema conceitual, o autor utiliza a ferramenta para definir o esquema de

classes de navegação, com base nos usuários-alvo e na aplicação desejada. Nesse passo, o

autor decide que classes serão criadas diretamente a partir das classes conceituais e que

classes devem ser acrescentadas; como os elos serão derivados das relações e que elos

estruturais devem ser considerados; que atributos devem ser derivados de outras classes, etc.

Com base no esquema de classes de navegação e na definição das instâncias do

hiperdocumento, o autor define, através da ferramenta, os contextos de navegação, as

estruturas de acesso da aplicação e as classes e os elos de contexto necessários.

Em seguida, o esquema de navegação é compilado, gerando uma especificação de nós,

elos e contextos de navegação que poderá ser utilizada como entrada para uma ferramenta de

apoio ao projeto abstrato de interface.

Page 104: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

93

6.3. Implementação

Para implementar a ferramenta de especificação da navegação utilizando contextos, foi

utilizado o Microsoft Access, sistema gerenciador de banco de dados relacional. Como não

havia uma ferramenta para especificar a modelagem conceitual, essa etapa também teve que

ser implementada.

O mapeamento da especificação para as tabelas foi inspirado em [Schwabe et al., 92].

Na notação utilizada, ―*‖ indica uma chave primária e ―#‖ indica um identificador de objeto.

As tabelas correspondentes aos elementos do esquema conceitual podem ser vistos na

Figura 6-2:

# ID *

é classe?

nome

#herda de (classe)

#pai (parte ou classe)

ordem

cardinalidade

Parte ou Classe

# ID *

nome

#herda de (relação)

#origem (parte ou classe)

#destino (parte ou classe)

cardinalidade

bidirecional?

Relação

# ID *

nome

tipo

#pertence a (parte ou classe)

Atributo de Parte ou Classe

# ID *

nome

tipo

#pertence a (relação)

Atributo de Relação

Figura 6-2 — Tabelas correspondentes ao esquema conceitual em OOHDM.

Um atributo de uma classe ou relação conceitual pode possuir mais de um tipo

(perspectiva) a ele associado. Na ferramenta, isso significa que há atributos de uma mesma

classe ou relação com mesmo nome, mas tipos diferentes.

A Figura 6-3 ilustra a tela de entrada de dados do esquema conceitual:

Page 105: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

94

Figura 6-3 — Entrada de dados das classes e relações do esquema conceitual.

As tabelas correspondentes às classes de navegação podem ser vistas na Figura 6-4:

Page 106: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

95

# ID *

é classe?

nome

#herda de (classe de navegação)

#pai (parte ou classe de navegação)

ordem

cardinalidade

#derivado de (parte ou classe conc.)

mantém consistência?

Parte ou Classe

(Conceitual)

Atributo de

Parte ou Classe

(Conceitual)

Atributo de

Relação

(Conceitual)

Relação

(Conceitual)

Parte ou Classe (Navegação)

# ID *

nome

#herda de (relação)

#origem (parte ou classe)

#destino (parte ou classe)

cardinalidade

bidirecional?

#derivado de (relação conceitual)

mantém consistência?

Classe de Elo (Navegação)

# ID *

nome

tipo

#pertence a (parte ou classe de nav.)

#derivado de (atributo de parte ou classe

conceitual)

mantém consistência?

Atributo de Parte ou Classe

(Navegação)

# ID *

nome

tipo

#pertence a (classe de elo de nav.)

#derivado de (atributo de relação

conceitual)

mantém consistência?

Atributo de Elo (Navegação)

Figura 6-4 — Tabelas correspondentes às classes de navegação de OOHDM.

Uma classe de navegação pode ou não ser criada a partir de um objeto conceitual.

Seus atributos podem ser construídos diretamente a partir de atributos de uma classe

conceitual, computados a partir de atributos de uma ou mais classes conceituais, ou derivados

de um atributo de uma classe conceitual computados através de uma relação. Um atributo de

uma classe de navegação só pode possuir um tipo. Se houver mais de um tipo para um

atributo da classe conceitual, este terá que ser mapeado para mais de um atributo de uma ou

mais classes de navegação.

Como visto anteriormente, existem atributos derivados de outros atributos, ou de relações

entre partes ou classes, como o atributo ―criador‖ da classe de navegação ―Pintura‖ do estudo

de caso Art Gallery. Esses atributos são definidos por um comando em SQL.

Page 107: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

96

No esquema de navegação, são incluídos os elos estruturais, ou seja, entre partes de

uma classe. Podem ser definidos os seguintes tipos de elos estruturais: pai, filho, irmão

esquerdo, irmão direito e raiz. Cabe ao autor decidir que elos estruturais serão acessíveis pelo

usuário.

A Figura 6-5 ilustra a tela de derivação do esquema de navegação a partir do esquema

conceitual:

Figura 6-5 — Tela de derivação das classes de nós e de elos do esquema de navegação a partir dos elementos

do esquema conceitual.

A Figura 6-6 apresenta a tela de entrada de dados do esquema de navegação:

Page 108: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

97

Figura 6-6 — Tela de entrada de dados do esquema de navegação.

As tabelas correspondentes aos contextos de navegação podem ser vistas na

Figura 6-7:

# ID *

nome

tipo

definição

caminho

comportamento

importa

exporta

Contexto de Navegação

# ID *

#pertence a (CN)

nome

tipo

Atributo de Contexto

Figura 6-7 — Tabelas correspondentes a contextos de navegação.

A definição do contexto varia de acordo com o tipo. Assim, pode-se ter as seguintes

combinações tipo (definição): ―classe (nome da classe)‖, ―índice (lista de nós)‖, ―arbitrário

(lista de nós)‖, ―derivado-elo (nome do elo)‖, ―derivado-agregado (nome do agregado)‖ ou

Page 109: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

98

―sessão (expressão)‖. Caminho pode ser ―nenhum‖, ―seqüencial‖ ou ―circular‖.

Comportamento pode ser ―automático‖ ou ―seqüencial‖ e/ou ―acesso direto‖.

Os pontos de entrada de um contexto são definidos como atributos, cujo tipo deve ser

―entry point‖, e cujo valor — a ser definido na instanciação — será o identificador do nó de

entrada.

A Figura 6-8 ilustra a tela de entrada de contextos de navegação:

Figura 6-8 — Tela de entrada de dados de contextos de navegação.

As tabelas correspondentes às classes e aos elos de contexto podem ser vistas na

Figura 6-9:

Page 110: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

99

# ID *

é classe

nome

#herda de (classe)

#pai (parte ou classe)

ordem

cardinalidade

Parte ou Classe (Contexto)

# ID *

#pertence a (parte, classe ou elo)

nome

tipo

Atributo de Elem. de CN

# ID *

nome

#herda de (elo de contexto)

#origem

#destino

Elo de Contexto

#elemento

#contexto

Escopo de Elem. de CN

Contexto de

navegação

Figura 6-9 — Tabelas correspondentes a classes e elos de contexto.

A definição de classes e elos de contexto é feita através da tela ilustrada na Figura 6-

10:

Page 111: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

100

Figura 6-10 — Tela de entrada de dados de classes e elos de contexto de navegação.

As instâncias de nós e elos do hiperdocumento são definidas de acordo com as tabelas

da Figura 6-11:

# ID *#parte/classe (de navegação/contexto)nome

# ID *#elo (de navegação/contexto)

Elo

#atributo (de elem. de nav./contexto)#elemento (nó ou elo)valor

Atributo

Figura 6-11 — Tabelas de instâncias dos elementos do hiperdocumento.

Page 112: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

101

Com base nessas tabelas e através de ―queries‖, é possível gerar o esquema conceitual

e o esquema de navegação, incluindo os contextos de navegação. As tabelas a seguir ilustram

uma pequena parte da aplicação Art Gallery:

Parte ou Classe Conceitual

#ID* é classe? nome #herda de #pai ordem cardinalidade

CC1 T Artista — — 1 n

CC2 T Pintura — — 1 n

CC3 F Descrição Geral — CC2 1 1

CC4 F Comentário — CC2 2 n

Relação Conceitual

#ID* nome #herda de #origem #destino cardinalidade bidirec.

RC1 pintou — CC1 CC2 1-n T

Atributo de Parte ou Classe Conceitual

#ID* nome tipo #pertence a

ACC1 nome String CC1

ACC2 retrato Imagem CC1

...

ACC6 nome String CC2

ACC7 data de criação Data CC2

...

Parte ou Classe de Navegação

#ID* é classe? nome #herda de #pai ordem cardinalidade #derivado de

CN1 T Artista — — 1 n CC1

CN2 T Pintura — — 1 n CC2

CN3 F Descrição Geral — CN2 1 1 CC3

CN4 F Comentário — CN2 2 n CC4

Classe de Elo (Navegação)

#ID* nome #herda de #origem #destino cardinalidade bidirec. #derivado de

CE1 pintou — CC1 CC2 1-n T RC1

Atributo de Parte ou Classe de Navegação

#ID* nome tipo #pertence a #derivado de

ACN1 nome String CN1 ACC1

ACN2 retrato Imagem CN1 ACC2

ACN3 pinturas Anchor (CE1) CN1 CE1

...

ACN6 nome String CN2 ACC6

ACN7 data de criação Data CN2 ACC7

ACN8 criador String (CN1.nome) CN2 CE1

ACN9 pintor Anchor(CE1-1

) CN1 CE1

...

Observe os atributos de classe de navegação ―pinturas‖ (ACN3), ―criador‖ (ACN8) e ―pintor‖

(ACN9), que foram derivados da classe de elo ―pintou‖ (CE1).

Page 113: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

102

Alguns contextos de navegação são ilustrados na tabela a seguir:

Contexto de Navegação

#ID* nome tipo definição caminho comportamto importa exporta

XN0 Global global global — — — elos

XN1 Artistas: A a Z classe CN1 seq circ seq global —

XN2 Pinturas de

<Artista>

deriv. de elo CN2(CE1) seq circ seq global —

Os nós e elos poderiam então ser representados através das seguintes tabelas:

#ID* #parte/classe

N1 CN1

N2 CN1

N3 CN2

N4 CN2

N5 CN2

Elo

#ID* #elo #origem #destino

E1 CE1 N1 N3

E2 CE1 N2 N4

E3 CE1 N2 N5

Atributo

#atributo #elemento (nó ou elo) valor

ACN1 N1 Gauguin

ACN1 N2 Van Gogh

ACN6 N3 A Vase of Flowers

ACN8 N3 Gauguin

ACN6 N4 Sunflowers

ACN8 N4 Van Gogh

ACN6 N5 Van Gogh‘s Chair

ACN8 N5 Van Gogh

A partir dessas tabelas, pode-se gerar os dados de entrada de uma ferramenta de apoio ao

projeto abstrato de interface.

Page 114: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

103

7. CONCLUSÃO

O conceito de contextos de navegação completa a modelagem da navegação prevista pelo

OOHDM e aparece como solução para diversas questões levantadas sobre aplicações

hipermídia. Ele incorpora diversas idéias e conceitos, tais como: hipertextos orientados a

conjuntos [Parunak91], modelos híbridos com nós de composição [Soares et al., 93],

caminhos [Zellweger89] e roteiros guiados [Marshall89] e [Trigg88].

O uso de contextos de navegação mostrou-se adequado tanto para a especificação

quanto para a análise da navegação em aplicações hipermídia, como visto nos estudos de caso.

A definição de contextos de navegação prevê a integração com os objetos de esquemas

em OOHDM. Existem diversas formas de geração de contextos de navegação, que abrangem

as situações de navegação mais comuns, como ilustrado nos exemplos.

Foi desenvolvida uma ferramenta que permite a definição do esquema em OOHDM e

de contextos de navegação, gerando uma base de dados que pode ser utilizada para a definição

da interface.

Os contextos de navegação fornecem mecanismos adequados para especificar roteiros

guiados, através de seus caminhos, atributos (metainformação) e elementos de contexto,

permitindo a distinção entre a formulação da rede hipertextual e a apresentação dessa rede

para um determinado público, indicada como necessária em [Marshall89].

A utilização dos caminhos de contextos de navegação reduz a carga cognitiva imposta

pela necessidade de escolher um próximo passo a cada nó e minimiza o problema de ―lost in

hyperspace‖ [Zellweger89].

7.1. Trabalhos Futuros

Com a modelagem do domínio e da navegação bem definidas, o próximo passo é definir os

aspectos de apresentação da aplicação. Esses aspectos consistem no formato da informação e

Page 115: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

104

os eventos correspondentes, incluindo a sincronização de mídias. A especificação desta etapa,

o ―Projeto Abstrato de Interface‖ está atualmente sob estudo.

A questão de especificação intencional dos elementos (nós, elos e contextos de

navegação) de uma aplicação hipermídia deve ser abordada, visando fornecer mecanismos

para a definição de ―estruturas virtuais‖, e assim evitar o ―problema de organização

prematura‖, descrito em [Halasz88]. Essa especificação deverá ser definida através de

―queries‖ e de operações sobre conjuntos.

A especificação da navegação pode ser ampliada para incluir sincronização e restrições

de integridade, como dependência entre nós e a ordem em que devem ser visitados (por

exemplo, quando um nó A deve ser visitado imediatamente antes do nó B).

São necessários ainda estudos para incluir a semântica de backtracking na

especificação dos contextos de navegação.

Os conceitos de contextos de navegação, classes e objetos de contexto podem ser

ampliados para abordar as questões de ―apoio para trabalho cooperativo‖ e de ―extensibilidade

e customização‖ descritas em [Halasz88].

Devem ser analisados ainda outros possíveis tipos de contextos de navegação, como

um contexto de navegação induzido por uma classe conceitual Esse contexto de navegação

surgiria através do mapeamento de atributos de uma classe conceitual em atributos de mais de

uma classe de navegação. A aplicação Microsoft Multimedia Beethoven pode ser modelada

de forma diferente, considerando-se esse novo tipo de contexto de navegação (Figura 7-1).

Nesse caso, a modelagem do domínio não inclui uma classe ―Apreciação‖, pois esta

pode ser vista como classe de navegação apenas, não fazendo parte do domínio da aplicação.

A classe ―Sinfonia Comentada‖ inclui os movimentos, seções, partes e trechos já com seus

comentários.

Page 116: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

105

nome: String

Sinfonia Comentada

nome: String

Movimento

nome: Stringdescrição: Texto

Seção

nome: String

Parte

descrição: CDcomentário: Textotexto de Schiller: [Alemão, Inglês]

Trecho

nome: String

Conceito Musical

nome: Stringdescrição: [Texto, Imagem]

ilustrado porCapítulo do Conceito

Mundo do Autor

trecho: [CD, MIDI,partitura]

Fragmento de Música

nome: Stringdescrição: [Texto, Imagem]

Capítulo

Figura 7-1 — Esquema OOHDM alternativo para a aplicação Multimedia Beethoven.

No esquema da navegação (Figura 7-2), as partes ―Seção Detalhada‖ e ―Seção

Comentada‖ são derivadas da parte conceitual ―Seção‖, e induzem um contexto de navegação

(―Seção (conceitual)‖). Esse contexto de navegação permite a navegação entre seus

elementos, substituindo assim a relação ―comentada por‖, descrita anteriormente no estudo de

caso.

Page 117: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

106

nome: String

Sinfonia Det.

nome: String

Movimento Det.

nome: Stringcomentários: Anchor(Seção Comentada)

Seção Det.

nome: String

Parte Det.

trecho: Trechocomentário: TextotextoInglês: TextotextoAlemão: Textofragmento: Anchor (ilust. por)

Trecho Det.

Mundo do Autor

título: Stringdescrição: Textoilustração: Imagem

Capítulo

nome: String

Conceito Musical

ilustrado por

nome: Stringdescrição: Textoilustração: Imagemtrecho: Anchor (ilust. por)

Capítulo Conceito

CD: CDMIDI: MIDIpartitura: partitura

Fragmento de Música

Apreciação

nome: String

Movimento Comentado

nome: Stringdescrição: textotrecho: Anchor (ilust. por)

Seção Comentada

nome: String

Sinfonia

nome: String

Movimento

nome: String

Seção

nome: String

ParteComentada

CD: CD

Trecho

Seção (conceitual)

Figura 7-2 — Classes de navegação da aplicação Multimedia Beethoven, ilustrando um contexto de navegação

derivado do mapeamento induzido por uma classe conceitual.

Esse tipo de contexto de navegação induzido por uma classe conceitual já apareceu em

outras ocasiões e deve ser analisado em profundidade e, caso necessário, incluído na definição

de contextos de navegação.

A partir do momento que estiver definida a modelagem de todas as etapas do

desenvolvimento de uma aplicação hipermídia, torna-se possível construir um ambiente para a

especificação e o desenvolvimento dessas aplicações (CAHDE — Computer-Aided

Hypermedia Development Environment). O objetivo desse ambiente seria permitir a

Page 118: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

107

especificação semi-automatizada de uma aplicação hipermídia com base no OOHDM,

documentando cada etapa do processo e tendo como resultado final a própria aplicação,

rodando em uma ou mais plataformas.

Page 119: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

108

8. REFERÊNCIAS

[Cowan et al., 93] Cowan, D.; Ierusalimschy, R.; Lucena, C.; Stepian, T. Abstract

Data Views. Structured Programming, 14 (1):1-13. Janeiro, 1993.

[Date, 81] Date, C.J. An Introduction to Database Systems. Third Edition.

Addison-Wesley, 1981.

[Garzotto et al., 90] Garzotto, F.; Paolini, P.; Schwabe, D. HDM – A Model-Based

Approach to Hypertext Application Design Technical Report —

Politecnico de Milano. Dezembro, 1990.

[Garzotto et al., 94] Garzotto, F.; Mainetti, L.; Paolini, P. Adding Multimedia

Collections to the Dexter Model. ECHT ‗94 Proceedings.

Setembro 1994. pp. 70-80.

[Halasz88] Halasz, F. Reflections on Notecards: Seven Issues for the Next

Generation of Hypermedia Systems. Communications of the

ACM, 31 (7). Julho 1988. pp.836-852.

[Marshall89] Marshall, C. Guided Tours and On-Line Presentations: How

Authors Make Existing Hypertext Intelligible for Readers.

Hypertext ‗89 Proceedings. Novembro, 1989. pp.15-26.

[Oren et al., 90] Oren, T.; Salomon, G.; Kreitman, K.; Don, A. Guides:

Characterizing the Interface. The Art of Human-Computer

Interface Design. Addison-Wesley, 1990. pp. 367-381.

[Parunak91] Parunak, H. Don’t Link Me In: Set Based Hypermedia for

Taxonomic Reasoning. Hypertext ‗91 Proceedings. Dezembro,

1991. pp. 233-242.

Page 120: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

109

[Salton et al., 94] Salton, G.; Allan, J.; Buckley, C. Automatic Structuring and

Retrieval of Large Text Files. Communications of the ACM

Vol.37, No.2. Fevereiro, 1994. pp. 97-108.

[Schwabe e Rossi, 94] Schwabe, D. e Rossi, G. OOHDM: An Object-Oriented

Hypermedia Design Model. Technical Report, Departamento de

Informática, PUC-Rio.

[Schwabe e Rossi, 94b] Schwabe, D. e Rossi, G. Building Hypermedia Applications as

Navigational Views of Information Models. Technical Report,

Departamento de Informática, PUC-Rio.

[Schwabe et. al, 92] Schwabe, D.; Caloini, A.; Garzotto, F.; Paolini, P. Hypertext

Development Using a Model-based Approach. Software—

Practice and Experience, vol. 22(11), pp.937-962. John Wiley &

Sons, Ltd. Novembro, 1992.

[Soares et al., 93] Soares, L.F.G; Casanova, M.A.; Rodriguez, N. Tratamento de

Versões em um Modelo Conceitual Hipermídia com Nós de

Composição. Relatório Técnico PUC-Rio — Departamento de

Informática. Rio de Janeiro. Maio, 1993.

[Trigg88] Trigg, R. Guided Tours and Tabletops: Tools for Communicating

in a Hypertext Environment. ACM Transactions on Office

Information Systems Vol.6, No.4. Outubro 1988. pp. 398-414.

[Zellweger89] Zellweger, P. Scripted Documents: A Hypermedia Path

Mechanism Hypertext ‗89 Proceedings. Novembro, 1989. pp.1-

14

Page 121: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

110

Page 122: SIMONE DINIZ JUNQUEIRA BARBOSA MODELAGEM E ...simone/publications/dissertacao...Em [Garzotto et al., 90], afirmou-se que o grau de sucesso de uma aplicação hipertextual está diretamente

―MODELAGEM E ESPECIFICAÇÃO DA NAVEGAÇÃO EM APLICAÇÕES

HIPERMÍDIA‖: Dissertação de Mestrado apresentada por SIMONE DINIZ JUNQUEIRA

BARBOSA em 22 de fevereiro de 1955, ao Departamento de Informática da PUC/RJ, e

aprovada pela Comissão Julgadora, formada pelos seguintes professores:

Prof. Daniel Schwabe (Orientador)

Depto de Informática — PUC/RJ

Profa. Clarisse Sieckenius de Souza

Depto de Informática — PUC/RJ

Prof. Hugo Fuks

Depto de Informática — PUC/RJ

Visto e permitida a impressão

Rio de Janeiro,

Coordenador dos Programas de Pós-Graduação do

CENTRO TÉCNICO CIENTÍFICO