50
Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Embed Size (px)

Citation preview

Page 1: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Autoria de Aplicações Hipermídia

Daniel SchwabeDepartamento de Informática

PUC-Rio

[ Parte 6 ]

Page 2: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Estudo de Caso: Publicação OnLine

Projeto Conceitual(Parte 2)

Page 3: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Fases do Projeto da Navegação

Projeto da Navegação da Tarefa

Projeto da Navegação

da Aplicação

Esquema de Contextos da

Tarefa

Esquema de Contextos

Diagrama de Interação do Usuário

Esquema Conceitual

Use Case

Cenário

Cartão de Especificação

Esquema de Classes em

Contexto

Esquema Navegacional

Cartão de Visão

Page 4: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Projeto da Navegação da Tarefa

• Para cada tarefa

– determinar a seqüência de navegação mais apropriada

• esquema de contextos da tarefa

• cartões de visão dos contextos

– validar a navegação com os usuários

Page 5: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• O projeto da navegação da tarefa é baseado em:

– UIDs• representam uma forma aceitável de realizar a tarefa

pois foram validados com os usuários

• não devem ser adotados como único guia

– Descrições dos cenários• permitem apreciar a perícia e o conhecimento que os

usuários têm sobre a tarefa

– Reutilização de soluções

Projeto da Navegação da Tarefa

Page 6: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Mapeamento dos UIDs para Navegação• Mapeamento dos Conjuntos de Estruturas do

UID para– Estruturas de Acesso– Contextos de Navegação– Listas

• Mapeamento das Estruturas Singulares do UID para – Contextos de Navegação

• Mapeamento das Entradas de Dados do UID para – Estruturas de Acesso

Page 7: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Mapeamento dos Conjuntos de Estruturas

• Cada conjunto de estrutura retornado pelo sistema, representado no UID, é analisado para determinar o tipo de primitiva para o qual será mapeado.

– Estrutura de Acesso,

– Contexto de Navegação ou

– Lista

• A solução navegacional é representada em um esquema e contexto da tarefa.

Page 8: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Diretrizes para Análise dos Conjuntos

Diretriz 1:

• Quando a tarefa correspondente ao UID requer que os elementos do conjunto sejam comparados entre si, permitindo que o usuário selecione o elemento desejado.

– mapear o conjunto de estruturas para uma Estrutura de Acesso

Page 9: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz 1 – Exemplo 1UID: Ler matérias de uma seção

… Seção (nome)

…Matéria (data de publicação, título, resumo)

Matéria (título,data de publicação, 0..N Matéria Relacionada (título), conteúdo, Autor (nome))

1 (imprimir matéria)

(enviar matéria)

Autor (nome, foto, biografia)

(mostrar dados do autor)

1

Seções: Matérias

Page 10: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

UID: Pesquisar matérias a partir do nome de um autor.

nome do autor …Autor (nome, ...Matéria (data de publicação, título, conteúdo, Autor(nome)))

1 (imprimir matéria)

Autores

Aplicando a Diretriz 1 – Exemplo 2

Page 11: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

UID: Ler matérias a partir do nome de um autor que publica em uma seção.

Seções: Autores

… Seção (nome)

…Matéria (data de publicação, título, conteúdo)

1 [1 autor]

…Autor(nome)

1 [2 ou mais autores]

1

Aplicando a Diretriz 1 – Exemplo 3

Page 12: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

UID: Ler matérias a partir do nome de um autor que publica em uma seção.

Seções: Autores

… Seção (nome)

…Matéria (data de publicação, título, conteúdo)

1 (matérias)

…Autor(nome)

1 (autores)

1

1 (destaques)

Matérias por Seção

Aplicando a Diretriz 1 – Exemplo 4

Page 13: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

UID: Ler matérias a partir do nome de um autor que publica em uma seção.

Seções: Autores

… Seção (nome)

…Matéria (data de publicação, título, resumo)

1 (matérias)

…Autor(nome)

1 (autores)

1

1 (destaques)

1 Matéria (data de publicação, título, conteúdo)

Matérias por Seção

Matérias por Seção e Autor

Matérias em destaque

Aplicando a Diretriz 1 – Exemplo 5

Page 14: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Diretrizes para Análise dos Conjuntos

Diretriz 2:

• Quando a tarefa correspondente ao UID requer que as informações de um elemento específico do conjunto sejam acessadas pelo usuário – mapear o conjunto de estruturas para um

Contexto de Navegação

– definir a forma de acesso para o contexto• estrutura de acesso associada ao contexto

• âncora para um objeto no contexto

Page 15: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Se durante a análise de um conjunto não é possível determinar o nome do contexto correspondente– adotamos como prática rotular este contexto

com a expressão “por ?”

Diretrizes para Análise dos Conjuntos

Page 16: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz 2 – Exemplo 1UID: Ler matérias de uma seção

… Seção (nome)

…Matéria (data de publicação, título, resumo)

Matéria (título,data de publicação, 0..N Matéria Relacionada (título), conteúdo, Autor (nome))

1 (imprimir matéria)

(enviar matéria)

Autor (nome, foto, biografia)

(mostrar dados do autor)

1

Matéria

Relacionada

Page 17: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz 2 – Exemplo 2UID: Ler matérias a partir do nome de um autor que publica em

uma seção … Seção (nome)

…Matéria (data de publicação, título, conteúdo)

1 (matérias)

…Autor(nome)

1 (autores)

1

1 (destaques)

Matéria

por Seção e Autor

por Seção

Autores por Seção Matérias por

Seção e Autor

em Destaque por Seção

Seções

Matérias por Seção

Matérias em destaque por Seção

Page 18: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz 2 – Exemplo 3

UID: Consultar informações da matéria

...Matéria (título, data de publicação, resumo, conteúdo, Autor (nome))

Matéria

por ?

Page 19: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Diretrizes para Análise dos Conjuntos

Diretriz 3:

• Quando a tarefa correspondente ao UID não requer que os elementos do conjunto sejam comparados entre si, mas, que eles sejam acessados simultaneamente – mapear o conjunto de estruturas para uma

Lista

Page 20: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz 3 – Exemplo

UID: Consultar informações de um autor

...Autor (nome)

1

Autor (nome, foto, biografia, ...Seção

(nome), ...Matéria (título, data de publicação e conteúdo))

nome do autor

Autor Alfabético

nome, foto, biografia, seções: list of <s:Seção, s.nome where a:Autor publica m:Matéria and m pertence_a s>

Leitor - leitura

Page 21: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Mapeamento das Estruturas Singulares

Diretriz:

• Quando a tarefa correspondente ao UID requer que as informações de um elemento, correspondente à estrutura, sejam acessados pelo usuário – mapear a estrutura singular para um Contexto de Navegação

Se durante a análise da estrutura não é possível determinar o nome do contexto correspondente– adotamos como prática rotular este contexto com a expressão

“por ?”

Page 22: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Aplicando a Diretriz – Exemplo

UID: Ler matérias de uma seção

… Seção (nome)

…Matéria (data de publicação, título, resumo)

Matéria (título,data de publicação, 0..N Matéria Relacionada (título), conteúdo, Autor (nome))

1 (imprimir matéria)

(enviar matéria)

Autor (nome, foto, biografia)

(mostrar dados do autor)

1 Matéria

por Seção

Autor

Alfabético

Page 23: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Mapeamento das Entradas de Dados

Diretriz:

• Quando a tarefa correspondente ao UID requer que seja feita uma pesquisa que retorne um elemento específico de um contexto

– mapear a entrada de dados para uma Estrutura de Acesso

Page 24: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Caso a entrada de dados seja seguida por um estado de interação, que apresenta um conjunto de estruturas com o mesmo tipo de infomação

– a entrada de dados e o conjunto de estrututras são mapeados para uma única estrutura de acesso

Mapeamento das Entradas de Dados

Page 25: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Definição do Tipo de Estrutura de Acesso• Quando o usuário formula consultas arbitrárias

– mapear a interação de entrada de dados e o conjunto resultante para uma Estrutura de Acesso Dinâmica (os objetos são computados a partir da entrada do usuário)

• Quando o sistema pode gerar os valores da entrada do usuário

– mapear a interação de entrada de dados e o conjunto resultante para uma Estrutura de Acesso Simples ou Hierárquica

Page 26: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

...Matéria (título, data de publicação, resumo)

palavra-chave

1..3 opção [título, conteúdo, resumo]

1

Matéria (título, data de publicação, conteúdo,

Autor (nome))

Matérias por Consulta <título, conteúdo e/ou

resumo>

Matéria

por Consulta

Aplicando a Diretriz - Exemplo 1

• Quando o usuário formula consultas arbitrárias

Page 27: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Autores

Autor

Alfabético

• Quando o sistema pode gerar os valores da entrada do usuário

...Autor (nome)

1

Autor (nome,foto, biografia)

nome do autor

Aplicando a Diretriz - Exemplo 2

Page 28: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Projeto de Navegação da Tarefa

• Não existem diretrizes para o mapeamento dos UIDs para contextos de criação, modificação e exclusão

• O mapeamento dos UIDs para esses contextos é feito com base– na semântica do nome da tarefa– nas descrições dos cenários da tarefa

Page 29: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

ExemploUID: Modificar e remover matérias

Matéria Modificação/Exclusão título, resumo, data de publicação, conteúdo, nome do autor matériaRel: list of <m: Matéria, m.título where m relacionada matéria_origem>

modificar_matéria () excluir_matéria ()

Editor, Autor - escrita

Matéria

Modificação/ Exclusão

Matérias

... Matéria (título, resumo)

1

data de publicação

título data de publicaçãoconteúdo

0..N Matéria Relacionada (título)

nome do autor

resumo

(modificar matéria)

Matéria (título, resumo, data de publicação, conteúdo,Autor (nome), 0..N Matéria Relacionada (título))

(excluir matéria)

Page 30: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Validação da Navegação de Cada Tarefa

• Validar a solução navegacional da tarefa com o usuário

• Ferramentas de comunicação entre projetista e usuários:– Esquema de contextos e cartões de visão

• Processo:– Registrar cada entrevista separadamente

Page 31: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• Processo:– Tentar conciliar as diversas propostas dos usuários

entrevistados

• Baseado no registro das entrevistas e na própria experiência do projetista

• Opiniões contraditórias podem indicar que há necessidade de diversas aplicações

– Se levar a grandes mudanças, constrói-se um novo

esquema de contextos e repete-se a validação; caso

contrário, seguir para o próximo passo

Validação da Navegação de Cada Tarefa

Page 32: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Projeto da Navegação da Tarefa

Projeto da Navegação

da Aplicação

Esquema de Contextos da

Tarefa

Esquema de Contextos

Diagrama de Interação do Usuário

Esquema Conceitual

Use Case

Cenário

Cartão de Especificação

Esquema de Classes em

Contexto

Esquema Navegacional

Cartão de Visão

Fases do Projeto da Navegação

Page 33: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Projeto da Navegação da Aplicação

• Construção do Esquema de Contextos da Aplicação– União dos contextos das tarefas individuais

• Síntese do Esquema Navegacional– Derivado do esquema de contextos da aplicação

• Síntese dos Esquemas de Classes em Contexto– Derivados do esquema de contextos da aplicação e dos cartões de visão

• Cartões de Especificação– Estruturas de Acesso– Contextos

• Verificação de Completude

Page 34: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

União de Contextos

• Unir os esquemas de contextos parciais

• Estratégia de união:

– por grupo de usuário, começar pelo grupo que realiza as principais tarefas

– unir em seqüência as tarefas onde um mesmo objeto navegacional é acessado

• A cada passo de união:

– construir um novo esquema de contextos

– rever os cartões de visão do objeto em cada contexto

Page 35: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• A mesma classe navegacional pode aparecer em contextos de esquemas parciais diferentes– Tentar substituir esses contextos por um único contexto

• Se as visões e as permissões não são conflitantes

• Se o contexto resultante pode dar suporte às tarefas originais

– Se foi feita a substituição:• Tentar unificar os caminhos de acesso dos contextos originais

– Se não foi feita a substituição (os contextos originais são mantidos):• Tentar generalizar as navegações próprias de um contexto para

os outros contextos da mesma classe

• Tentar explorar as possíveis navegações entre eles

União de Contextos

Page 36: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

“Ler matérias de uma seção”

Matéria

por Seção

Autor

Alfabético

Seções: Matérias

“Ler matérias a partir de uma palavra-chave”

Matéria

Matérias por Consulta <título, conteúdo e/ou

resumo>

por Consulta

Relacionada

• Substituir “Matéria por Seção” e “Matéria por Consulta” por um contexto? – As visões do objeto Matéria e as permissões de usuário nos contextos são

conflitantes? – O contexto resultante daria suporte às tarefas originais?

União de Contextos - Exemplo

Page 37: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Matéria

Menu Principal

por Seção

Autor

Alfabético

Seções : Matérias

“Ler matérias de uma seção” + “Ler matérias a partir de uma palavra chave”

Matérias por Consulta <título, conteúdo e/ou

resumo por Consulta

Relacionada

Matéria por Seção, Matéria por Consulta Matéria Relacionada

título, data de publicação, resumo, conteúdo, matériaRel: Idx Matérias Relacionadas (self) inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m:Matéria))

• Navegação dos contextos “por Seção” e “por Consulta” de Matéria – generalizar as navegações próprias de um contexto para os outros?

• Toda matéria tem autor e matérias relacionadas?

– permitir navegações entre eles?

União de Contextos - Exemplo

Page 38: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Matéria

Menu Principal

por Seção

Autor

Alfabético

Seções : Matérias

“Ler matérias de uma seção” + “Ler matérias a partir de uma palavra chave”

Matérias por Consulta <título, conteúdo e/ou

resumo por Consulta

Relacionada

Matéria por Seção, Matéria por Consulta Matéria Relacionada

título, data de publicação, resumo, conteúdo, matériaRel: Idx Matérias Relacionadas (self) inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m:Matéria))

Autores

Autor

Alfabético

Matéria

por Autor

Autor Alfabético

nome, foto, biografia, seções: list of <s:Seção, s.nome where a:Autor publica m:Matéria and m pertence_a s> matérias: Idx Matérias por Autor (self)

Leitor - leitura

Matéria por Autor

título, data de publicação, conteúdo

Leitor - leitura

+ “Ler matérias de um autor”

Autor Alfabético nome, foto, biografia Leitor - leitura

União de Contextos - Exemplo

Page 39: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Autor

Matéria

Menu Principal

por Seção

Alfabético

Seções : Matérias

“Ler matérias de uma seção” + “Ler matérias a partir de uma palavra chave”+ “Ler matérias de um autor”

Matérias por Consulta <título, conteúdo e/ou

resumo por Consulta

Relacionada

Matéria por Seção, Matéria por Consulta Matéria Relacionada, Matéria por Autor

título, data de publicação, resumo, conteúdo, matériaRel: Idx Matérias Relacionadas (self) inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m:Matéria))

Autores

por Autor

Autor Alfabético

nome, foto, biografia, seções: list of <s:Seção, s.nome where a:Autor publica m:Matéria and m pertence_a s> matérias: Idx Matérias por Autor (self)

Leitor - leitura

União de Contextos - Exemplo

Page 40: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Síntese do Esquema Navegacional • O esquema navegacional é derivado do Esquema de

Contextos e dos Cartões de Visões• Nós:

– cada classe do esquema de contextos é um nó

• Elos:– as navegações entre contextos do esquema podem ser elos

• analisar a regra de seleção do contexto destino, especialmente para navegações entre contextos de uma mesma classe

• Atributos de Nós: – são definidos com base nos cartões de visão e nos UIDs

• Pode ser necessário acrescentar nós e elos, que não são derivados diretamente do esquema de contextos...

Page 41: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Síntese do Esquema Navegacional

Exemplo:

Matéria

Menu Principal

por Seção

Autor

Seções : Matérias

Matérias por Consulta <título, conteúdo e/ou

resumo> por Consulta

Relacionada

Alfabético Autores

Matéria Relacionada Matéria por Consulta Matéria por Seção título, data de publicação, resumo, conteúdo, autor: a:Autor, a.nome where a publica m: Matéria matériasRel: Idx Matérias Relacionadas (self), inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m: Matéria)) Leitor - leitura

Autor Alfabético

nome, foto, biografia, seções: list of <s:Seção, s.nome where a:Autor publica m:Matéria and m pertence_a s> Leitor - leitura

Page 42: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Exemplo:

Matéria {from m: Matéria}

título: string resumo: text conteúdo: text foto: image* data_publicação: date autor: a: Autor, a.nome where a publica m inf_autor: anchor (Ctx Autor Alfabético (a:Autor where a publica m)) matériasRel: Idx Matérias Relacionadas (self)

Autor {from a: Autor}

nome: string biografia: text foto: image seções: list of <s:Seção, s.nome where a publica m:Matéria and m pertence_a s>

publica

* 1

* *

está relacionada

Síntese do Esquema Navegacional

Page 43: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• Quando um objeto pode ser acessado em contextos diferentes e é necessário, ou conveniente, apresentar seus dados e suas navegações de um modo diferente em cada um desses contextos,– definimos uma classe em contexto para a classe

navegacional desse objeto

• Os esquemas de classes em contexto são derivados– do Esquema de Contextos e

– dos Cartões de Visões

Síntese: Esquemas de Classes em Contexto

Page 44: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Exemplo: Matéria

Menu Principal

por Seção

Autor

Seções : Matérias

Favorita

Relacionada

Alfabético Autores

Matérias favoritas

Matéria Relacionada Matéria por Seção título, data de publicação, resumo, conteúdo, autor: a:Autor, a.nome where a publica m: Matéria matériasRel: Idx Matérias Relacionadas (self), inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m: Matéria))

Leitor - leitura

Matéria Favorita título, data de publicação, resumo, conteúdo, autor: a:Autor, a.nome where a publica m: Matéria, matériasRel: Idx Matérias Relacionadas (self), inf_autor: anchor (Ctx Autor Alfabético (a: Autor where a publica m)) comentários: list of <c: Comentário, l: Leitor, m: Matéria, c.texto where Comentário (m, l, c) Leitor - leitura

Síntese: Esquemas de Classes em Contexto

Page 45: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Exemplo:

Matéria {from m: Matéria}

título: string resumo: text conteúdo: text foto: image* data_publicação: date destaque: boolean autor: a: Autor, a.nome where a publica m inf_autor: anchor (Ctx Autor Alfabético ( a:Autor where a publica m)) matériasRel: Idx Matérias Relacionadas (self)

Matéria Favorita

comentários: list of<c:Comentário, l:Leitor, c.texto where Comentário (m, l, c)>

Ctx Matéria Favorita

Síntese: Esquemas de Classes em Contexto

Page 46: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Cartões de Especificação

• Definir um cartão para cada contexto do esquema

• Definir um cartão para cada tipo de estrutura de acesso utilizado no esquema de contextos, seja

– uma estrutura representada graficamente ou

– descrita como um atributo de uma classe navegacional

Page 47: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• Exemplo:

Estrutura de Acesso: Autores

Parâmetros:

Elementos: a: Autor

Atributos Destino a.nome Ctx Autor Alfabético (self)

Ordenação: por a.nome, ascendente

Usuário: leitor Permissão: leitura

Comentários:

Depende de: Influencia:

Cartões de Especificação

Page 48: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• Exemplo:

Contexto: Autor Alfabético

Parâmetros:

Elementos: a: Autor

Classes em Contexto:

Ordenação: a.nome, ascendente

Navegação Interna: por índice (Idx Autores)

Operações:

Usuário: leitor Permissão: leitura

Comentários:

Cartões de Especificação

Page 49: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

Verificação de Completude

• Identificar classes ou relacionamentos conceituais do qual não se deriva informação navegacional– O esquema conceitual foi derivado dos UIDs, portanto

há tarefas que precisam de todas as classes e relacionamentos conceituais

• Baseado no Esquema Conceitual e no Esquema Navegacional– Para cada classe conceitual, procurar se há algum nó

ou atributo que deriva da mesma

– Para cada relacionamento conceitual, procurar se há algum elo que deriva do mesmo

Page 50: Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]

• Na abordagem proposta, onde classes conceituais e navegacionais são derivados dos UIDs, não é comum que este tipo de erro ocorra.

Verificação de Completude