View
1
Download
0
Category
Preview:
Citation preview
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
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
Ao meu marido
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.
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.
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
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
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
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
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
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
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
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],
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.
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
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:
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.
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:
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
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.
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.
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:
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:
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.
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:
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:
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.
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.
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
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.
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:
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
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.
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:
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:
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.
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.
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.
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.
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,
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.
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:
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
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.
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:
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.
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:
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
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.
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:
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‖.
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.
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:
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‖:
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.
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
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:
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:
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:
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:
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:
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:
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
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.
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:
56
Greece Category Index
Rome Category Index
Egypt Category Index
Figura 4-26 — Telas dos índices do contexto de navegação Category Index.
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
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
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.
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.
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:
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.
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:
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.
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.
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:
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‖.
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‖.
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.
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.
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.
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.
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‖.
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:
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‖:
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:
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.
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.
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:
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)
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:
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.
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‖.
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.
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
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
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
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
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:
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.
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).
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.
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:
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:
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.
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:
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
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:
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:
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
Nó
# 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.
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).
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:
Nó
#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.
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
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.
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.
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
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.
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.
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
110
―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
Recommended