190
GILDA DAHIS Um Modelo Para a Especificação de Cenários de Interação Dissertação apresentada ao Departamento de Informática da PUC-Rio como parte dos requisitos para obtenção do título de Mestre em Informática. Orientadoras: Clarisse Sieckenius de Souza Simone Diniz Junqueira Barbosa Departamento de Informática Pontifícia Universidade Católica do Rio de Janeiro Rio de janeiro, 14 de outubro de 2001.

Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

GILDA DAHIS

Um Modelo Para a Especificação

de Cenários de Interação

Dissertação apresentada ao Departamento de

Informática da PUC-Rio como parte dos requisitos

para obtenção do título de Mestre em Informática.

Orientadoras: Clarisse Sieckenius de Souza

Simone Diniz Junqueira Barbosa

Departamento de Informática

Pontifícia Universidade Católica do Rio de Janeiro

Rio de janeiro, 14 de outubro de 2001.

Page 2: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

GILDA DAHIS

Um Modelo Para a Especificação

de Cenários de Interação

Dissertação apresentada ao Departamento de

Informática da PUC-Rio como parte dos requisitos

para obtenção do título de Mestre em Informática.

Orientadoras: Clarisse Sieckenius de Souza

Simone Diniz Junqueira Barbosa

Departamento de Informática

Pontifícia Universidade Católica do Rio de Janeiro

Rio de janeiro, 14 de outubro de 2001.

Page 3: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Dedico este trabalho a todas as pessoas que

sentiram falta da minha atenção durante os anos

de mestrado.

Page 4: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Agradecimentos

Agradeço a D´us por ter me dado forças para persistir até o fim e vencer os percalços

deste longo caminho. Agradeço ao meu amor, Paramahansa, o maior de todos os mensageiros

de boas notícias, pelas revisões, pelo apoio em todos os momentos e sobretudo, por seu amor.

Este trabalho não teria sido concluído sem a sua ajuda. Agradeço a meus pais, a meus irmãos

Goldinha e Julinho, a minha cunhadinha Rose e a meus sobrinhos Gisele, Amanda e Ricardo,

pelo seu eterno amor e pela crença que depositam em mim. Ao meu irmão e a sua família,

agradeço ainda, pela doce acolhida, pertinho da PUC. Agradeço a minhas orientadoras

Clarisse e Simone pela paciência e pela dedicação. Agradeço à Patrícia, ao Bazílio, à Geiza,

ao Anselmo, ao Dadá, à Lene e ao Rodrigo pelos momentos agradáveis que passamos juntos

na PUC. À Patty e ao Baz agradeço em especial, pela impressão, encadernação e distribuição

das cópias desta dissertação. Agradeço a turma *.93 e agregados pela amizade e pelas

manifestações de incentivo e emissões de bons fluídos em todos os momentos. Agradeço a

todos os membros do SERG, pelo incentivo constante, pelas sugestões a este trabalho e

sobretudo por fazerem com que este seja um grupo do qual é gratificante ser membro.

Agradeço especialmente à Cecília por me "emprestar seu tempo" durante um dia inteiro para a

realização de testes e por suas inteligentes sugestões. Agradeço à Raquel, também por ter me

"emprestado" seu tempo, me introduzindo seu trabalho. Agradeço à Milene, à Lúcia, à

Claudia, à Clarissa e ao Elton pelo apoio constante. A estes dois últimos agradeço ainda pelos

empréstimos de materiais importantíssimos para o desenvolvimento deste trabalho. Agradeço

à Rosane da biblioteca do D.I., pelas diversas vezes em que me ajudou a conseguir fontes

bibliográficas utilizadas neste trabalho, sempre com muita boa vontade e dedicação. Agradeço

ao senhor Fernando Anysio Dias, pelo incentivo e pela ajuda em tarefas do dia a dia.

Agradeço à vovó Olga e ao tio Lourenço que sempre estiveram presentes. Agradeço a CAPES

pelo apoio financeiro.

Page 5: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Resumo

Diante da existência de diversas abordagens complementares que visam contribuir

para apoiar o design de interação homem-computador, é oportuno aproveitar o que algumas

delas têm de melhor para tratar questões que não tenham sido muito exploradas. A escassez

de pesquisa sobre modelagem em níveis de abstração situados entre a tarefa e a interface e o

fato de que, apesar do constante surgimento de novas tecnologias, os modelos existentes

privilegiam estilos de interfaces e dispositivos físicos específicos, tornam interessante

investigar a modelagem em um nível de abstração intermediário, que enfoque representações

menos dependentes das tecnologias de implementação. Um nível de abstração que represente

as possíveis conversas travadas entre usuário e sistema, ao qual denominamos nível de

interação, nos parece satisfazer estes requisitos. Acreditamos que a conversa pode

representar a execução de um sistema computacional interativo, independentemente da

tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre na

troca de informações entre este sistema e o(s) usuário(s). Mediante o reconhecido valor de

cenários como ferramentas de design, apresentamos neste trabalho um modelo para a

especificação de cenários neste nível de abstração pouco explorado. Como a maioria dos

modelos para a especificação de cenários é voltada para seu uso na elicitação de requisitos, a

parte do processo de design que enfoca a comunicação dos usuários/clientes para o designer,

nos concentramos em explorar a utilização de cenários no sentido contrário desta

comunicação. Seguimos a abordagem proposta pela Engenharia Semiótica, que considera a

aplicação como uma mensagem do designer para o usuário, propomos um modelo para a

especificação de cenários de interação como parte do conteúdo desta mensagem.

Page 6: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Abstract

Since there are many complementary approaches that aim to contribute to support

human-computer interaction design, it is worth use the best of some of them to treat questions

less explored. The lack of research about modeling in abstraction levels intermediary between

task and interface levels in addition with the fact that despite of the constant development of

new technologies the existing models privilege specific interface styles and I-O devices make

interesting the investigation of modeling in an abstraction level intermediary between task and

interface, that focus on representations less dependent of implementation technologies. An

abstraction level that represents the possible conversations between user and system, which

we call interaction level, seems to satisfy those requirements. We believe that the

conversation can represent an interactive system execution, independently of the interface

implementation technology, because, in fact, this execution always consists in the information

exchange between this system and its user or group of users. By means of the recognized

value of scenarios as design tools, in this work we present a scenario specification model in

this abstraction level little explored. As the majority of the scenario specification models are

more concerned with the use of scenarios on requirements elicitation activities, the design

process part that focus on user/client to designer communication, we concentrate on exploring

the use of scenarios on the other side of this communication. Following the Semiotic

Engineering approach, which considers that software applications are messages, sent from

designers to users, we propose a model for the specification of scenarios as part of the content

of these messages.

Page 7: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

iv

- Sumário -

Lista de Figuras ................................................................................................................................ ix

Lista de Tabelas ................................................................................................................................x

Capítulo 1 – Introdução ...................................................................................................................11.1 Motivações ............................................................................................................................ 11.2 Objetivos .............................................................................................................................. 31.3 A Organização da Dissertação ...............................................................................................4

Capítulo 2 -Trabalhos Relacionados ...............................................................................................62.1 Abordagens Fundamentadas na Psicologia Cognitiva ...........................................................6

2.1.1 CLG .............................................................................................................................82.1.2 TAG ............................................................................................................................ 92.1.3 Modelos da Família GOMS ........................................................................................102.1.4 UAN ............................................................................................................................12

2.2 Abordagens fundamentadas na Engenharia de Software ...................................................... 142.2.1 Cenários de Interação ..................................................................................................152.2.2 Design Patterns ...........................................................................................................19

2.3 Abordagens fundamentadas na Semiótica .............................................................................202.3.1 A Engenharia Semiótica ............................................................................................. 21

Um modelo e um formalismo de apoio à expressão da mensagem do designer ........ 22

Capítulo 3 - Um Modelo para a Especificação de Cenários de Interação ...................................243.1 Interação ................................................................................................................................243.2 Componentes do Modelo Proposto para a Especificação de Cenários de Interação .............24

3.2.1 Representação de cursos típicos ..................................................................................27Tarefa .......................................................................................................................... 28Diálogo ........................................................................................................................29Enunciado de Usuário .................................................................................................29Enunciado de Sistema .................................................................................................29Conceito da Aplicação ................................................................................................ 30Resumo dos componentes propostos para a representação de cursos típicos .............31Tipos de Articulação para Estruturas de Diálogos e de Enunciados .......................... 31Controles de Ocorrência de Diálogos ......................................................................... 33

3.2.2 Representação de cursos de exceção ...........................................................................33Fornecimento de informação inválida realizado pelo usuário .................................... 34Falhas de execução do sistema ................................................................................... 36Falhas da organização .................................................................................................38Resumo dos componentes propostos para representar cursos de exceção ..................38

3.2.3 Representação de cursos alternativos ..........................................................................39O estado da aplicação no momento da interação ........................................................39Possibilidades de escolha disponibilizadas para o usuário, pelo designer ..................46Possibilidade de interrupção e de posterior retomada de passos de tarefas ................47Resumo dos componentes propostos para representar interações alternativas ...........48

3.2.4 Componentes necessários para representar aplicações multi-usuário ..........................49

Page 8: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

v

Capítulo 4 - Tipos Semânticos de Tarefas, Diálogos e Enunciados ............................................. 514.1 Tipos Semânticos de Tarefas .................................................................................................51

4.1.1 Tipos Semânticos de Tarefas que Atuam sobre Objetos do Domínio ........................ 52Criação ........................................................................................................................ 52Edição ......................................................................................................................... 52Consulta a Informações ...............................................................................................53Comunicação ...............................................................................................................53Destruição.................................................................................................................... 53

4.1.2 Tipos Semânticos de Tarefas que Atuam sobre Processos ......................................... 53Planejamento ...............................................................................................................53Registro de Atividade ................................................................................................. 53Avaliação .................................................................................................................... 54Desativação .................................................................................................................54Encerramento .............................................................................................................. 54

4.2 Tipos Semânticos de Diálogos .............................................................................................. 544.2.1 Tipos Semânticos de Diálogos onde o Usuário é o Falante Predominante .................55

Diálogos para o Fornecimento de Informação ao Sistema ......................................... 56Diálogos para a Solicitação de Informação ao Sistema ..............................................56Diálogos para a Comunicação de Usuário ..................................................................57

4.2.2 Tipos Semânticos de Diálogos onde o Sistema é o Falante Predominante .................57Apresentação de Informação Referente ao Domínio ..................................................58Confirmação de Operação ...........................................................................................58Ajuda ...........................................................................................................................58Feedback .....................................................................................................................58Comunicação de Sistema ............................................................................................ 59

4.3 Tipos Semânticos de Enunciados ..........................................................................................594.3.1 Tipos Semânticos de Enunciados de Usuário ............................................................. 59

Enunciados para o Fornecimento de Informação ........................................................60Customização .........................................................................................................60Comunicação Interpessoal ..................................................................................... 61Fornecimento de Informação Referente ao Domínio ............................................ 61

Enunciados para Controle da Interação ...................................................................... 61Mudança de Tópico ............................................................................................... 61Controle de Função ................................................................................................62Controle do Diálogo .............................................................................................. 62Controle do Fluxo da Tarefa ..................................................................................63

Enunciados para Solicitação de Informação ...............................................................64Solicitação de Detalhes ..........................................................................................64Solicitação de Ajuda .............................................................................................. 65

Sobreposição de Tipos Semânticos de Enunciados de Usuário ..................................654.3.2 Tipos Semânticos de Enunciados de Sistema ............................................................. 66

Solicitação de Informação ...........................................................................................67Apresentação de Informação Referente ao Domínio ..................................................67Aposto .........................................................................................................................67Informação Contextual ................................................................................................68Ajuda ...........................................................................................................................68Feedback .....................................................................................................................68Parêntese ..................................................................................................................... 69Comunicação de Sistema ............................................................................................ 69

Page 9: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

vi

Comunicação de Usuário Remoto .............................................................................. 69Sobreposição de Tipos Semânticos de Enunciados de Sistema ..................................69

4.4 Sugestões para o mapeamento entre os tipos semânticos ..................................................... 704.4.1 Templates sugeridos para especificar tarefas ..............................................................71

Template para a especificação de tarefas do tipo Criação .......................................... 71Explicação ..............................................................................................................71

Template para a especificação de tarefas do tipo Edição ............................................72Explicação ..............................................................................................................72

Template para a especificação de tarefas do tipo Consulta a Informações .................73Explicação ..............................................................................................................73

Template para a especificação de tarefas do tipo Comunicação .................................74Explicação ..............................................................................................................74

Template para a especificação de tarefas do tipo Destruição ou Desativação ............74Explicação ..............................................................................................................75

Template para a especificação de tarefas do tipo Planejamento .................................76Explicação ..............................................................................................................76

Template para a especificação de tarefas do tipo Avaliação .......................................76Explicação ..............................................................................................................77

Template para a especificação de tarefas do tipo Encerramento ................................ 77Explicação ..............................................................................................................78

4.4.2 Templates Sugeridos para Representar Diálogos ........................................................79Template para a especificação de diálogos do tipoFornecimento de Informação Referente ao Domínio ..................................................79

Explicação ..............................................................................................................80Template para a especificação de diálogos do tipo Seleção ....................................... 81

Explicação ..............................................................................................................82Template para a especificação de diálogos do tipo Controle de Função .................... 82

Explicação ..............................................................................................................82Template para a especificação de diálogos do tipo Customização ............................. 83Template para a especificação de diálogos do tipo Solicitação de Informação ..........83Template para a especificação de diálogos do tipoComunicação de Usuário Síncrona .............................................................................83

Explicação ..............................................................................................................84Template para a especificação de diálogos do tipoComunicação de Usuário Assíncrona ......................................................................... 85

Explicação ..............................................................................................................85Template para a especificação de diálogos do tipo Ajuda .......................................... 86

Explicação ..............................................................................................................86Template para a especificação de diálogos do tipo Comunicação de Sistema ........... 87

Explicação ..............................................................................................................87Template para a especificação de diálogos do tipo Feedback .................................... 88Template para a especificação de diálogos do tipoApresentação de Informações Referentes ao Domínio ...............................................88

Explicação ..............................................................................................................88Template para a especificação de diálogos do tipo Confirmação de Operação ..........88

Explicação ..............................................................................................................89

Page 10: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

vii

Capítulo 5 - Uma Linguagem para a Especificação de Cenários de Interação .......................... 905.1 Notação Utilizada para a Definição da Sintaxe da LECI ......................................................905.2 Representação de Papéis de Usuário .....................................................................................905.3 Representação de Conceitos da Aplicação ............................................................................915.4 Representação de Enunciados de Usuário .............................................................................92

5.4.1 Representação de Enunciados para Fornecimento Informação .................................. 925.4.2 Representação de Enunciados para Controle da Interação e

Solicitação de Informação ...........................................................................................945.5 Representação de Enunciados de Sistema .............................................................................975.6 Representação de Estruturas de Articulação ......................................................................... 99

5.6.1 Representação de Articulações de Diálogos ................................................................ 1005.6.2 Representação de Articulações de Enunciados ............................................................ 102

5.7 Representação de Diálogos ................................................................................................... 1045.8 Representação de Tarefas ......................................................................................................1075.9 Representação de Interrupções ..............................................................................................1085.10 Representação de Contextos de Interação .............................................................................110

5.10.1Representação de Estruturas de Interação Dependentes de Contexto ........................ 1115.10.2Representação da Exclusividade entre Contextos de Interação ................................. 1135.10.3Representação de Relações entre contextos ............................................................... 115

União ...........................................................................................................................115Interseção .................................................................................................................... 116Subcontexto .................................................................................................................116Complementaridade .................................................................................................... 117

5.10.4Representação de Mudanças no Contexto de Interação Inicial do Diálogo devidas a Enunciados de Usuário ............................................................................................... 118

5.11 Representação de Estratégias para Tratamento de Erros de Usuário ....................................1195.12 Representação de Estratégias para Tratamento de Falhas de Sistema .................................. 1225.13 Reuso de Especificações ....................................................................................................... 124

5.13.1 Reuso de Especificações de Diálogos ........................................................................ 1245.13.2 Reuso de Especificações de Tarefas ...........................................................................126

5.14 Componentes Tecnológicos e Meta-Tecnológicos do Modelo de Interação ........................ 128

Capítulo 6 - Utilização Prática da LECI ....................................................................................... 1306.1 Estudo de Caso 1: Especificação de Cenários de Interação Reais na LECI ......................... 130

Tarefa 1: Criar Reunião .........................................................................................................130Curso Típico ................................................................................................................130Cursos de Exceção ...................................................................................................... 134

Tarefa 2: Editar Reunião ....................................................................................................... 134Curso Típico ................................................................................................................134Cursos de Exceção ...................................................................................................... 135

6.1.1 Especificação Passo a Passo dos Cenários de Interação na LECI .............................. 135Especificação dos Papéis de Usuário ..........................................................................135Especificação dos Conceitos da Aplicação .................................................................136Especificação dos Contextos de Interação ..................................................................136Especificação da Estrutura da Tarefa ..........................................................................137Especificação da Estrutura dos Diálogos ....................................................................139

6.2 Estudo de Caso 2: Utilização da LECI no Apoio à Especificação de AplicaçõesMulti-Tecnologia ...................................................................................................................1446.2.1 O designer pode decidir se quer manter os mesmos subtópicos .................................146

Page 11: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

viii

Especificação da interação para Desktop ....................................................................147Especificação da interação para Telefone ...................................................................148

6.2.2 O designer pode decidir se quer manter os mesmos diálogos e contextosde interação ................................................................................................................. 148Especificação da interação para Desktop ....................................................................149Especificação da interação para Telefone ...................................................................149

6.2.3 O designer pode decidir se quer manter a seqüência da interação ............................. 149Especificação da interação para Desktop ....................................................................150Especificação da interação para Telefone ...................................................................151

6.2.4 Conclusões a Partir do Estudo de Caso .......................................................................1526.3 Estudo de Caso 3: Análise Comparativa entre a LECI e a LEMD ....................................... 153

6.3.1 Especificação de Papéis de Usuário e Restrições de Acesso a Funções ...................... 1536.3.2 Especificação de Conceitos da Aplicação ....................................................................1536.3.3 Especificação da Estrutura da Tarefa ...........................................................................1546.3.4 Especificação das Estruturas dos diálogos ...................................................................1556.3.5 Apoio à Especificação de Aplicações Multi-Tecnologia ............................................. 1566.3.6 Conclusões sobre a Análise Comparativa .................................................................... 156

Capítulo 7 - Conclusões ................................................................................................................... 1587.1 Contribuições e Limitações ...................................................................................................158

7.1.1 Modelo para a Especificação de Cenários de Interação ..............................................1587.1.2 Linguagem para a Especificação de Cenários de Interação ........................................159

Inserção de nosso trabalho na classificação realizada em [Rolland et al., 1996]........ 1597.2 Oportunidades para Trabalhos Futuros ................................................................................. 164

7.2.1 Identificação de padrões de design de interação e sua representação na LECI .......... 1647.2.2 Identificação de analogias entre padrões de design de interação dependentes de

tecnologias distintas e sua representação na LECI ..................................................... 1657.2.3 Determinação de Sistemas Expressivos e Regras de Correlação ................................1677.2.4 Incorporação de Controle de Evolução de Cenários ...................................................1687.2.5 Experimentos para avaliação de características da LECI ........................................... 169

Referências ........................................................................................................................................171

Page 12: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

ix

- Lista de Figuras -

Figura 2.1: Sumário da notação UAN adaptado de [Griffiths] ........................................................ 13Figura 2.2: Exemplo de representação de uma interface de manipulação direta através da notação

UAN adaptado de [Griffiths] .........................................................................................13Figura 2.3: Cenário de interação descrito em linguagem natural estruturado da forma proposta

por Jacobson et al. em [Jacobson et al., 1992] .............................................................. 19Figura 3.1: Componentes do modelo de interação ...........................................................................27Figura 3.2: Comparação entre os níveis de abstração adotados por Leite [Leite, 1998] e

por este trabalho ............................................................................................................ 28Figura 3.3: Relações entre Contextos de Interação...........................................................................42Figura 3.4: Representação correta e errônea do contexto de interação "RNC não aberto pelo

supervisor, não devido à reclamação de cliente" utilizando a relação decomplementaridade ........................................................................................................46

Figura 3.5: A decomposição da tarefa "Criar proposta de contrato de prestação de serviços"em diálogos ....................................................................................................................48

Figura 4.1: Tipos semânticos de tarefas identificados ..................................................................... 52Figura 4.2: Tipos semânticos de diálogos identificados .................................................................. 55Figura 4.3: Tipos semânticos de enunciados de usuário identificados ............................................ 60Figura 4.4: A hierarquia de tipos semânticos de enunciados de sistema identificados ................... 67Figura 6.1: Capacidade que os dispositivos têm de permitir troca de informação de cada vez .......145Figura 7.1: Algumas operações evolutivas que podem vir a ser representadas utilizando-se

a LECI ........................................................................................................................... 169

Page 13: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

x

- Lista de Tabelas -

Tabela 2.1: Questões consideradas nos níveis de abstração representados pelaCommand Language Grammar (CLG) ......................................................................... 8

Tabela 2.2: Classificação apresentada em [Rolland et al., 1996] para abordagensque utilizam cenários de interação ................................................................................ 17

Tabela 2.3: Componentes do meta-modelo para o modelo de usabilidade de Leite ........................ 23Tabela 3.1: Adaptações aos componentes do modelo de usabilidade identificados por Leite para a definição de componentes do modelo de interação ............................................ 31Tabela 3.2: A representação de tipos de articulação definidos em formalismos para a modelagem de tarefas através dos tipos de articulação adotados em nosso modelo ........................ 32Tabela 3.3: Componentes do modelo de interação identificados a partir da análise de fatores

que ocasionam cursos de exceção ................................................................................. 39Tabela 3.4: Componentes do modelo de interação identificados a partir da análise de fatores

que determinam possibilidades de interação alternativas ..............................................49Tabela 4.1: Sobreposições de tipos semânticos de enunciados de usuário identificadas

neste trabalho .................................................................................................................66Tabela 4.2: Sobreposições de tipos semânticos de enunciados de sistema identificadas

neste trabalho .................................................................................................................70Tabela 5.1: Identificadores para a representação de tipos semânticos de enunciados de usuário

para informação de valores de conceitos na LECI ........................................................ 93Tabela 5.2: Identificadores para a representação de controles de ocorrência de diálogos

na LECI ......................................................................................................................... 95Tabela 5.3: Identificadores para a representação de tipos semânticos de enunciados de usuário

para solicitação de informações e controle da interação na LECI .................................96Tabela 5.4: Identificadores para a representação de tipos semânticos de enunciados de sistema

na LECI ......................................................................................................................... 97Tabela 5.5: Identificadores para a representação de tipos de articulação na LECI ..........................100Tabela 5.6: Identificadores para a representação de tipos semânticos de diálogos na LECI ........... 105Tabela 5.7: Identificadores para a representação de tipos semânticos de tarefas na LECI .............. 107Tabela 5.8: Identificadores LECI para tipos de respostas do sistema para tratamento

de erros cometidos pelo usuário .................................................................................... 120Tabela 5.9: Identificadores das formas de encaixe para diálogos de correção na LECI .................. 120Tabela 5.10:Identificadores dos tipos de tratamento de falhas de sistema na LECI .........................122Tabela 7.1: Inserção deste trabalho na classificação apresentada em [Rolland et al., 1996]

para abordagens que utilizam cenários de interação ..................................................... 163

Page 14: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

1

Capítulo 1

Introdução

Atualmente, uma interação humano-computador (IHC) de qualidade é considerada um

componente vital de sistemas computacionais bem sucedidos. Entretanto, o design de IHC

não é uma tarefa fácil. Segundo Preece et al., isto pode ser provado por muitos sistemas

computacionais mal projetados [Preece et al., 1993]. Várias abordagens, baseadas nas mais

diversas áreas do conhecimento, visam contribuir para o estabelecimento de métodos e

técnicas que possam apoiar o design de IHC. Neste trabalho, procuramos participar deste

esforço de pesquisa seguindo a Engenharia Semiótica [de Souza, 1993] para propor um

modelo para a especificação de cenários de interação. Na seção 1.1 apresentamos as

motivações deste trabalho, na seção 1.2, seus objetivos e na seção 1.3 sua organização.

1.1 Motivações

Um dos fatores que tornam o design de interação humano-computador uma tarefa

difícil é a inexistência de um método estruturado e preciso para o mapeamento entre as tarefas

que o usuário deverá realizar utilizando a aplicação e uma interface adequada para esta

realização. De fato, a própria natureza do processo de design de sistemas computacionais

dificulta bastante a existência deste tipo de método. O processo de design de sistemas

computacionais (incluindo o design de IHC) pode ser descrito como um processo de

comunicação entre designers e usuários, composto por vários ciclos. Em cada ciclo os

usuários comunicam seus requisitos aos designers e estes comunicam sua solução ao

problema dos usuários sob a forma de aplicação computacional [de Souza, 1993]. Ao interagir

com a aplicação, os usuários percebem novos requisitos1 e os comunicam aos designers,

iniciando um novo ciclo. A natureza cíclica e dinâmica deste processo sugere que o

mapeamento tarefa-interface não pode ser fechado e é isto que dificulta o estabelecimento de

um método preciso para a realização deste mapeamento.

1 Isto pode ser explicado pelo fenômeno da Semiose Ilimitada [Peirce, 1931], que ocorre quando um signo

desencadeia uma seqüência ilimitada de interpretações na mente de quem o interpreta. Uma definição simples

para signo é "algo que representa uma outra coisa para alguém". A Engenharia Semiótica considera que a

interface é um signo para o usuário e que, durante a interação, desencadeia interpretações em sua mente, que o

levam a identificar ou a criar requisitos não percebidos previamente.

Page 15: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

2

Apesar da inexistência de métodos precisos para a realização do mapeamento tarefa-

interface, diversas abordagens têm contribuído para apoiar a realização deste mapeamento

(como será visto no capítulo 2). Apesar de estas abordagens pregarem a estruturação do

design em níveis de abstração, desde o nível de tarefa até o de interface, a maioria dos

esforços de pesquisa são voltados para a representação ou da tarefa [UML, 1999],

[Lawrence, 1997] ou da interface [Moran, 1981], [Card, 1983], [Hix, 1993], [Leite, 1998].

Aqueles que privilegiam a interface, muitas vezes, são voltados, principalmente, para

determinados estilos de interface e determinados dispositivos de entrada e saída. Quanto ao

foco de representação, muitas abordagens enfocam apenas o ponto de vista do usuário

[Moran, 1981], [Card et al., 1983] ou o do sistema [Jacob, 1986], [Harel, 1987]. Outras

abordagens para o design de interfaces enfocam ambos os pontos de vista [Nadin, 1988],

[Andersen, 1990], [Hix, 1993], [de Souza, 1993], [Carroll, 1995], [Kotonya, 1998]. Dentre

elas, está a Engenharia Semiótica [de Souza, 1993], que vê o sistema como um "mensageiro"

do ponto de vista do designer, pois considera a aplicação como uma mensagem do designer

para o usuário, expressa através da interface. Enquanto a Engenharia Semiótica se preocupa

com a expressão da mensagem do designer, a Engenharia de Requisitos [Kotonya, 1998] se

preocupa com a expressão dos requisitos dos usuários. Ferramentas bastante utilizadas por

esta abordagem são os cenários [Carroll, 1995]. Carroll define cenário como "uma descrição

narrativa do que as pessoas fazem e experimentam enquanto tentam utilizar sistemas de

computadores e aplicações."2 [Carroll, 1995]. Em [Carroll, 1995] e [Carroll, 2000], indica-se

como cenários podem ser utilizados nas diversas fases do processo de design e apresentam-se

inúmeras vantagens desta utilização. Uma destas vantagens é justamente o fato de que

cenários podem ser usados como língua franca para a comunicação entre usuários e equipes

de designers, beneficiando sobretudo as equipes multi-disciplinares, tão comuns, devido à

própria natureza da atividade de design de IHC.

Diante da existência de diversas abordagens complementares que visam contribuir

para apoiar o design de IHC, é oportuno aproveitar o que algumas delas têm de melhor para

tratar questões que não tenham sido muito exploradas. A escassez de pesquisa sobre

modelagem em níveis de abstração intermediários entre a tarefa e a interface e o fato de que,

apesar do constante surgimento de novas tecnologias, os modelos existentes privilegiam

estilos de interfaces e dispositivos físicos específicos, tornam interessante investigar a

2 Carroll frisa que esta descrição não precisa ser feita de forma textual.

Page 16: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

3

modelagem em um nível de abstração intermediário, que enfoque representações menos

dependentes das tecnologias de implementação. O nível de abstração no qual é representada a

conversa travada entre usuário e sistema, ao qual denominamos nível de interação, nos

parece vir ao encontro desta oportunidade. A conversa pode representar a execução de um

sistema computacional interativo, independentemente da tecnologia de implementação da

interface, pois, na verdade, esta execução consiste sempre na troca de informações entre este

sistema e o(s) usuário(s). Mediante o reconhecido valor de cenários como ferramentas de

design, é oportuna a realização de esforços para o estabelecimento de modelos que apóiem a

sua especificação neste nível de abstração pouco estudado. Como a maioria dos modelos para

a especificação de cenários é voltada para seu uso na elicitação de requisitos, a parte do

processo de design que enfoca a comunicação dos usuários para o designer, é interessante

explorar a utilização de cenários no sentido contrário desta comunicação: a expressão da

mensagem do designer para os usuários. Ao enfocar justamente este aspecto do processo de

design, a Engenharia Semiótica pode ser aplicada para a definição de um modelo para a

especificação estruturada de cenários de interação como parte do conteúdo da mensagem do

designer para os usuários. A utilização de um modelo para a especificação estruturada de

cenários de interação em termos de componentes bem definidos poderá conscientizar

designers acerca de informações que devem ser especificadas, evitando que algumas

necessidades de especificação passem despercebidas, o que é comum quando não se segue um

modelo estruturado. A representação de cenários no nível de interação traz vantagens como:

(1) a representação de um conjunto mais abrangente de interfaces, implementáveis em

diversos estilos e tecnologias; (2) o reuso de parte de uma mesma especificação para a

modelagem de interfaces em diferentes ambientes tecnológicos (3) o não comprometimento

precoce com decisões de design de interface; (4) a detecção de problemas de interface mais

cedo no processo de design. Ante ao exposto, acreditamos que o modelo a ser apresentado

neste trabalho traga alguns benefícios relevantes para a tarefa de design de IHC.

1.2 Objetivos

O objetivo deste trabalho é apresentar um modelo para a especificação de cenários de

interação. Seguindo a proposta da Engenharia Semiótica, o modelo propõe a estruturação de

cenários de interação em termos de componentes necessários para sua representação como

parte do conteúdo da mensagem do designer. Utilizamos a comunicação como paradigma e

Page 17: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

4

pretendemos apoiar a especificação de cenários que descrevam as conversas que podem ser

travadas entre usuário e sistema (como porta-voz do designer) para que o primeiro realize

tarefas utilizando o segundo como ferramenta. Desta forma, propomos a estruturação de

cenários de interação em três níveis de articulação: tarefa, diálogo e enunciados. Para a

especificação de cenários de interação estruturados de acordo com o modelo proposto,

apresentamos ainda um formalismo. Para auxiliar designers a especificar cenários de

interação consistentes e de maior qualidade, através do formalismo proposto, descrevemos

conjuntos de tipos semânticos de tarefas, diálogos e enunciados e sugerimos mapeamentos

preferenciais entre estes tipos.

Visando obter resultados práticos, definimos o modelo, o formalismo e os conjuntos

de tipos semânticos propostos, considerando nossa experiência no desenvolvimento de um

sistema real, o Qualitas. Este é um sistema de workflow baseado na web desenvolvido pelo

TeCGraf [TECGRAF], laboratório de pesquisa da PUC-Rio, em parceria com a SUSEMA,

Superintendência de Segurança e Meio Ambiente da PETROBRAS. A função do sistema é

auxiliar os funcionários da SUSEMA a prestar seus serviços de acordo com as normas de

qualidade vigentes na organização. O Qualitas foi escolhido por ser uma aplicação de

workflow, que nos permite não apenas analisar as tarefas de um único usuário, mas também

tarefas que envolvem o trabalho em grupo. Assim, esperamos englobar muitos casos com a

análise deste sistema.

1.3 A Organização da Dissertação

No capítulo 2 introduziremos algumas abordagens que contribuem para o design da

interação, fundamentadas na Psicologia Cognitiva, na Engenharia de Software (em especial

cenários) e também na Semiótica, incluindo a Engenharia Semiótica. O capítulo 3 descreverá

o modelo para a especificação de cenários de interação como parte do conteúdo da mensagem

do designer. O capítulo 4 apresentará os conjuntos de tipos semânticos de tarefas, diálogos e

enunciados propostos neste trabalho e nossas sugestões para o mapeamento entre estes tipos

semânticos, elaboradas para auxiliar designers a especificar cenários de interação de maior

qualidade, através do formalismo proposto. O capítulo 5 descreverá a Linguagem para a

Especificação de Cenários de Interação (LECI), proposta com base em nosso modelo. O

capítulo 6 apresentará estudos de caso realizados para ilustrar a utilização prática da LECI na

Page 18: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

5

especificação de cenários de interação. O capítulo 7 apresentará as contribuições deste

trabalho para o apoio ao design da interação e as oportunidades para trabalhos futuros.

Page 19: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

6

Capítulo 2

Trabalhos Relacionados

Neste capítulo introduzimos trabalhos que visam contribuir para o estabelecimento de

técnicas e métodos para o design de interação humano-computador. A seção 2.1 apresenta

abordagens fundamentadas na Psicologia Cognitiva. A seção 2.2 apresenta abordagens

fundamentadas na Engenharia de Software, em especial, a utilização de cenários. A seção 2.3

apresenta abordagens fundamentadas na Semiótica, em especial a Engenharia Semiótica.

2.1 Abordagens Fundamentadas na Psicologia Cognitiva

A maioria das abordagens para o design de interfaces se baseiam na Psicologia

Cognitiva [Neisser, 1967]. Estas abordagens consideram que os usuários formulam um

modelo mental do sistema, o qual lhes permite mapear suas metas para comandos e funções e

para as ações físicas necessárias para o seu acionamento [Norman, 1986]. Desta forma, estas

abordagens propõem que as propriedades que os modelos de interação devem ter, para que a

interação possa ser desempenhada facilmente, devem ser identificadas com base em modelos

cognitivos que descrevam como funcionam os processos1 e estruturas mentais do usuário.

Assim, têm surgido uma variedade de técnicas, baseadas em modelos cognitivos, para a

análise da tarefa, que é o "processo de investigar um problema, quebrando tarefas que um

usuário potencial de um sistema faz ou faria em seqüências de ações e objetos."

[Preece et al., 1993]. Estas técnicas costumam ser aplicadas para solucionar diversos

problemas relacionados ao design de IHC, dentre os quais destacamos:

1. a previsão/avaliação da facilidade de aprendizado de um sistema,

2. a previsão/avaliação das dificuldades de uso de uma interface,

3. a previsão/avaliação da performance e da complexidade de um sistema,

4. mapeamento das tarefas para a interface e

5. a síntese (criação) de interfaces.

1 Tais como interpretação, aprendizado, recordação e planejamento.

Page 20: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

7

As técnicas baseadas na Psicologia Cognitiva resolvem os tipos de problemas

relacionados nos 3 primeiros itens, estimando como os usuários realizarão/realizam tarefas

usando o sistema, em termos de suas operações perceptivas, cognitivas e motoras. A partir

destas estimativas, os designers podem prever:

• o esforço cognitivo requerido para o aprendizado do modelo de interação,

• os esforços cognitivo e físico requeridos para o uso do sistema e

• o tempo gasto na realização das tarefas.

Técnicas de análise de tarefa empregadas para prever ou avaliar a qualidade de

interfaces, costumam ser usadas também como técnicas para o mapeamento de tarefas para

interfaces e para síntese destas. Estas técnicas auxiliam o designer a tomar decisões de design

duas formas:

• através da estimativa da qualidade de designs de interface alternativos para a

comparação entre estes designs;

• através de guidelines [Smith, 1986], que são pequenas regras heurísticas que têm o

propósito de capturar o conhecimento de design e que podem então ser usadas

para ajudar designers na construção de novas interfaces [van Welie et al., 2000].

A estimativa da qualidade de designs de interface alternativos pode até auxiliar na

escolha do melhor destes designs, mas de forma alguma garante que o design escolhido é um

design adequado para a tarefa que está sendo modelada. Quanto à utilização de guidelines

como ferramentas para guiar um bom design de interface, relata-se freqüentemente que esta

utilização apresenta vários problemas [Dix, 1998], [Mahemoff, 1998]. Segundo

[van Welie et al., 2000] alguns destes problemas são:

• guidelines são, freqüentemente, ou muito simplificadas ou muito abstratas;

• guidelines são, usualmente, numerosas e é difícil selecionar as que se aplicam a um

problema de design particular;

• guidelines podem ser difíceis de interpretar;

• guidelines podem ser conflitantes;

Page 21: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

8

• a validade e a aplicação de guidelines sempre dependem de um contexto e raras

vezes esse contexto é especificado.

Em resumo, as abordagens baseadas na Psicologia Cognitiva permitem ao designer

identificar as propriedades que boas interfaces devem apresentar, entretanto, não

oferecem meios eficazes para a produção de interfaces com estas propriedades. O design

de uma boa interface, quando apoiado por estas abordagens, ainda permanece muito

dependente do talento do designer. Nas próximas seções introduziremos brevemente alguns

dos formalismos propostos com base em abordagens fundamentadas na Psicologia Cognitiva.

2.1.1 CLG

A CLG, Command Language Grammar [Moran, 1981], é um formalismo antigo

voltado principalmente para a modelagem de interfaces com estilo linguagem de comando.

Este formalismo apresenta uma notação para a representação do design da interface através de

três componentes: o componente conceitual, o componente de comunicação e o componente

físico. Cada um destes componentes é representado em dois níveis de abstração, claramente

distinguíveis entre si, e cada nível representa um refinamento do nível anterior. O componente

conceitual é representado no nível de tarefa e no nível semântico. O componente de

comunicação compreende os níveis sintático e de interação. O componente físico é

representado nos níveis de layout e de dispositivos. Em cada nível de abstração é feita uma

descrição completa do sistema a partir da perspectiva do nível. A tabela 2.1 sumariza as

questões consideradas em cada nível de abstração.

Componente Nível de Abstração Questões ConsideradasComponenteConceitual

Tarefa O que a análise de tarefas diz que os usuáriosdesejarão fazer?

Semântica Que objetos, ações e métodos são necessáriospara a realização de cada sub-tarefa?

Componente deComunicação

Sintaxe Como deveria ser o diálogo e a apresentação deinformações?

Interação Quais deveriam ser as entradas e saídas exatas,utilizando-se um dispositivo de entrada X e umdispositivo de saída Y?

ComponenteFísico

Layout Qual deve ser o layout da interface?

Dispositivos Que dispositivos devem ser usados?Tabela 2.1: Questões consideradas nos níveis de abstração representados pela CommandLanguage Grammar (CLG).

Page 22: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

9

Algumas vantagens da CLG são os fatos de que ela permite o design estruturado de

interfaces em níveis de abstração e fornece regras para a realização do mapeamento entre

estes níveis, permitindo a verificação da consistência entre eles. Entretanto, foram realizados

estudos que indicam que o formalismo efetivamente não guia o designer na produção de

designs de qualidade [Sharratt, 1987a], [Sharratt, 1987b]. Sharratt descreve um experimento

no qual a CLG foi usada por alguns alunos de pós-graduação para o design de um sistema

para o controle do horário de transportes (transport timetabling system). O estudo mostrou

uma grande variedade de designs produzidos. Isto parece indicar que a CLG funciona apenas

como notação, não oferecendo grande suporte às decisões de design, pois, apesar de ter sido

usada como ferramenta de suporte ao design, por todos os alunos, estes produziram designs

bastantes distintos. Nestes estudos, Sharratt também nota dificuldades no uso da CLG e

declara que "se estas dificuldades aparecem até mesmo em áreas de design como um sistema

para o controle do horário de transportes, não há muitas razões para supor que a CLG poderia

ajudar substancialmente nas decisões para o design de sistemas complexos.". Em [Firth, 1991]

é apresentado detalhadamente um exemplo de aplicação da CLG para descrição da interface

do utilitário NotePad do Macintosh. Esta especificação revelou falhas no projeto, que não

tinham sido previstas, e resultou numa reestruturação no nível de tarefa.

2.1.2 TAG

A TAG (Task-Action Grammar) [Payne & Green, 1986] é uma meta-linguagem para a

representação do modelo mental que o usuário cria sobre linguagens para a descrição de

tarefas. Assim coma a CLG, ela enfoca a representação de interfaces com estilo linguagem de

comando. A TAG foi criada para atacar o problema de consistência, pois seus idealizadores

acreditam que especificações consistentes implicam em interfaces mais fáceis de aprender e

usar. Reisner, em [Reisner, 1981], propôs uma gramática de ações para descrever duas

versões da interface de um mesmo sistema e mostrou que a versão que tinha uma gramática

mais simples era mais fácil de aprender.

Os pontos fortes da TAG são os fatos de que ela é um formalismo que permite

elaboração de linguagens de comandos a partir de modelos de tarefas [Payne & Green, 1986]

e apresenta uma boa solução para o problema da consistência, possibilitando a representação

de uma gramática que generaliza a sintaxe de um conjunto de comandos. Como pontos fracos

podemos citar que a TAG não permite a representação de saída de informações (output),

Page 23: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

10

somente entrada (input), embora a DTAG (Display-based TAG) [Howes, 1990] seja uma

extensão da TAG que já permite a representação de output. Outro ponto fraco é que a TAG

não apresenta uma estrutura de níveis de abstração bem definida, com a CLG. Para fazer face

a isto, a extensão ETAG (Extended Task-Action Grammar) [de Haan, 2000] estrutura a TAG

com os níveis apresentados pela CLG e adiciona alguns refinamentos.

2.1.3 Modelos da Família GOMS

O GOMS [Card et al., 1983] é um modelo que representa as atividades perceptivas,

cognitivas e motoras realizadas pelo usuário durante a interação com sistemas em termos dos

seguintes componentes:

• Metas (Goals): definem estados de desejos a serem realizados e um conjunto de

métodos possíveis para esta realização.

• Operadores (Operators): são ações perceptivas, cognitivas e motoras elementares,

cuja execução é necessária para mudar algum aspecto do estado mental do usuário

ou para afetar o ambiente de execução da tarefa. Os operadores definidos no

modelo GOMS são voltados para a representação de interfaces baseadas em

dispositivos físicos de entrada como o teclado e o mouse e de saída, como o

monitor.

• Métodos (Methods): descrevem um procedimento para se alcançar uma meta. Um

método consiste de um conjunto de operadores;

• Regras de Seleção (Selection Rules): uma regra de seleção funciona como um

controle para seleção quando existem métodos alternativos para o alcance de uma

mesma meta. Essas regras possuem a seguinte forma:

“se <tais condições na situação atual da tarefa são satisfeitas>

então <use o método M>”.

A abordagem GOMS para a modelagem de usuários tem pontos fortes e fracos. Como

ponto forte há o fato de que ela possibilita a previsão dos melhores casos de utilização do

sistema sem ter que treinar usuários para usá-lo e realizar testes de usabilidade com eles.

Além disso, permite a comparação entre designs alternativos e a identificação de problemas

Page 24: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

11

de usabilidade. Entretanto Card et al. [Card et al., 1980] admitem várias fraquezas do GOMS,

das quais destacamos:

1. o modelo só pode ser aplicado para usuários experts na aplicação, não servindo

para modelar a interação de iniciantes ou intermediários.

2. Até usuários experts cometem erros ocasionalmente; entretanto, o modelo não

representa erros. Segundo Bodnar, et al. [Bodnar et al., 1996], estudos revelaram

que usuários experts gastam até 25% do seu tempo de uso de um sistema,

cometendo erros ou se recuperando de erros.

3. Diferenças individuais entre usuários não são consideradas no modelo.

4. o modelo não considera o aprendizado do sistema ou a recordação de como usá-lo

após um período de desuso.

5. Direção para a previsão de se usuários vão julgar o sistema útil ou satisfatório ou

se o sistema será globalmente aceito não está incluída no modelo.

6. o modelo não trata o impacto social ou organizacional do sistema ou a influência

deste impacto na produtividade.

7. o modelo não trata funcionalidade, ou seja, que tarefas deveriam ser realizadas

pelo sistema. O modelo considera apenas a usabilidade de uma tarefa em um

sistema.

Além destas fraquezas, há o fato de que o objetivo do GOMS é representar apenas

tarefas seqüenciais que possam ser descritas em termos de uma estrutura hierárquica de metas

e sub-metas. Tarefas que envolvam processamento paralelo ou não tenham hierarquia bem

definida não são boas candidatas para modelagem GOMS. Por exemplo, em uma interface de

manipulação direta, é comum a exploração de possibilidades durante a execução de uma

tarefa e não a elaboração e o prosseguimento de um plano. Segundo [Bodnar et al., 1996] o

GOMS apresenta ainda, deficiências para ser usado na modelagem de sistemas baseados em

novas tecnologias, pois além de poder não existir usuário expert para estes sistemas, os

operadores empregados pelo usuário e o aprendizado durante a interação com estes sistemas

podem ser imprevisíveis. Por fim, alguns pesquisadores fazem críticas também à notação do

GOMS. Kieras comenta que esta notação é difícil de usar [Kieras, 1988] e Bodnar et al.

Page 25: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

12

[Bodnar et al., 1996] a declaram restritiva e que o seu uso para a modelagem manual de um

grande conjunto de tarefas consome muito tempo.

Algumas extensões foram feitas, na tentativa de resolver problemas identificados no

GOMS. CMN-GOMS (Card, Moran and Newel GOMS) [Card et al., 1983] é mais específico

que o GOMS, com uma rigorosa hierarquia de metas. NGOMSL (Natural GOMS Language)

[Kieras, 1988] faz previsões de tempo de aprendizado e refina o CMN-GOMS, fornecendo

um formato estruturado para sua especificação em linguagem natural. CPM-GOMS

(Cognitive Perceptual Motor GOMS) [John, 1990] estende o CMN-GOMS para tratar

atividades concorrentes.

2.1.4 UAN

UAN (User Action Notation) [Hix, 1993] é uma notação para a representação de

interfaces de manipulação direta assíncronas, orientada ao mesmo tempo a usuário e a tarefa.

A notação permite a decomposição de tarefas em vários níveis de sub-tarefas até chegar a

ações físicas realizadas para a interação com o sistema. No nível mais baixo, as ações são

representadas em tabelas que as relacionam com os conseqüentes feedback do sistema e

mudanças do estado da interface. Além disso, a UAN permite a representação de relações

temporais entre sub-tarefas, como seqüência, intercalação e concorrência. As descrições do

design produzidas na notação são associadas a cenários (representados por seqüências de

desenhos), diagramas de estado e notas sobre decisões de design. A notação inicial foi

proposta com o objetivo de se representar interfaces de manipulação direta, mas é aberta para

extensões. A figura 2.1 apresenta um sumário da notação original proposta e a figura 2.2

apresenta um exemplo de especificação de interface em UAN. A tabela apresentada descreve

que para selecionar um arquivo arqX, o usuário deve mover o cursor até o ícone que

representa o arquivo, pressionar e liberar o botão do mouse.

Page 26: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

13

Figura 2.1: Sumário da notação UAN adaptado de [Griffiths].

Tarefa: selecionar o arquivo arqXAções do Usuário Feedback do Sistema Estado da Interface

~[ícone de arqX.'] Mvícone de arqX.'!¥ ícone de arqX.* ícone de arqX.' :ícone do arq.-!

arquivo selecionado = arqX

M^

Figura 2.2: Exemplo de representação de uma interface de manipulação direta através danotação UAN adaptado de [Griffiths].

UAN é uma das primeiras notações baseadas na Psicologia Cognitiva que foi projetada

com a consciência de que o design da interface deve ser representado também sob o ponto de

vista do comportamento do sistema e não somente sob o ponto de vista do comportamento do

usuário. Além disso, este é um dos primeiros trabalhos a considerar a importância do fato de

que o modelo design é criado pelo designer, conforme mostra a seguinte declaração em

Objetos e AçõesM = mousev = pressionamento (mouse)^ = liberação (mouse)[ objeto ] = contexto físico de objeto, ex. [linha] ponto médio~ = mover o cursorK = informação de um caracter (teclado/voz)K”comando” = representa o comando literal comandoK(variavel) = variavel é uma variávelK(user ID = [A-Z] [A-Z 0-9] +) = uso de expressão regular para restringir a entrada

Feedbackícone de arq. ! = ícone de arq. acende.ícone de arq -! = ícone de arq apaga.ícone da aplicação!! = ícone daaplicação acende de forma diferentedifferently

Mais FormalismoUso de Lógica:¥ = para todo¬ = negação= igual* diferenteícone’ = ícone está selecionadocaixa > ~ = caixa segue o cursoração* = ação é repetida 0 ou mais vezesação+ = ação é repetida 1 ou mais vezesação+N = ação é repetida N vezes

Page 27: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

14

[Hix, 1993]: "A UAN foi proposta para ser escrita primeiramente por alguém projetando o

componente de interação e para ser lida por todos desenvolvedores, particularmente por

aqueles que estão projetando e implementando o software de interface de usuário". Em

relação aos formalismos apresentados anteriormente, UAN ainda apresenta a vantagem de ser

um único formalismo capaz de representar tarefas seqüenciais e concorrentes, hierárquicas ou

não e os estilos de linguagem de comando e de manipulação direta.

2.2 Abordagens fundamentadas na Engenharia de Software

As primeiras abordagens para o design de interfaces apresentadas por pesquisadores da

área de Engenharia de Software visavam estabelecer modelos para a representação formal do

comportamento da interface. Estas abordagens [Jacob, 1986], [Harel, 1987], [Harisson, 1994]

propõem a representação formal da interface através de Diagramas de Transição de Estados

(DTE). O uso de DTE para a representação de interfaces foi proposto inicialmente em

[Jacob, 1986]. Entretanto, alguns trabalhos revelaram que certas características da interação

não podiam ser representadas de forma satisfatória por este formalismo [Green, 1986],

[Foley et al., 1990], [Shneiderman, 1992]. Embora os DTEs sejam efetivos para representar

o fluxo de ações de uma interação, eles podem facilmente se tornar grandes e confusos. Esta

confusão geralmente acontece quando cada estado deve apresentar transições para estados de

help, estado inicial ou estados finais. Concorrência também é pobremente representada por

DTEs. Em [Harel, 1987] são propostos os statecharts, que estendem os diagramas de

transição de estados, acrescentando concorrência, comunicação (broadcast) e hierarquia. Há

dois problemas com estas abordagens. Enquanto a maioria das abordagens baseadas na

Psicologia Cognitiva enfocam o comportamento do usuário, deixando um pouco de lado a

representação do comportamento do sistema, as abordagens baseadas em diagramas de estado

fazem exatamente o contrário. Sua formalidade impede a representação de aspectos informais

da interação, como por exemplo os contextos social e organizacional que envolvem o

ambiente onde a aplicação será implantada. Outro problema é que os formalismos

apresentados também funcionam como notações, mesmo quando possibilitam a decomposição

de tarefas, não apresentando regras que indiquem qual a melhor forma de fazê-la.

Mais recentemente, a Engenharia de Software tem apresentado técnicas para o design

de interfaces que consideram aspectos relacionados ao comportamento do usuário e aos

Page 28: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

15

contextos de uso. As mais importantes são cenários de interação e Design Patterns (padrões

de design). Nas próximas seções, introduziremos brevemente estas abordagens.

2.2.1 Cenários de Interação

Carroll [Carroll, 1995] descreve "cenário", como "uma descrição narrativa do que as

pessoas fazem e experimentam conforme tentam utilizar sistemas computacionais" e afirma

que estes são "um meio particularmente pertinente para representar, analisar e planejar como

um sistema de computador pode impactar as atividades e experiências de seus usuários".

Cenários possuem um vocabulário que é rico e acessível para todos os participantes no

desenvolvimento de um sistema, incluindo os usuários, além de poder orientar o

desenvolvimento de um software em todas as etapas do projeto. Durante a etapa de análise, os

designers podem criar cenários, em conjunto com os usuários, ou não, para documentar o

trabalho destes antes da implantação do sistema. Durante a etapa de especificação, os

cenários podem ser usados para que os designers descrevam quais são suas idéias para a

futura aplicação. Na etapa de prototipação eles podem ser usados como os protótipos a serem

avaliados pelos usuários. Na etapa de testes do sistema, podem descrever as situações a serem

testadas para a validação do sistema. Os cenários podem ainda ser usados como exemplos e

tutoriais na documentação e treinamento para os usuários e, finalmente, podem descrever

tarefas que os usuários devem executar na aplicação, durante a realização de uma avaliação de

usabilidade. Em [Monteiro et al., 2000] é apresentado um estudo de caso que descreve a

utilização de cenários nas diversas etapas do processo de design de uma aplicação real (o

Qualitas). Além do estudo de caso, o artigo compara este processo de design com processos

anteriormente adotados no laboratório onde o estudo foi realizado (TecGraf), apresentando

vantagens da utilização de cenários. Devido às reconhecidas vantagens da utilização de

cenários ao longo do processo de design, grande esforço de pesquisa vem sendo realizado no

sentido de se estabelecer modelos para a sua especificação. Diversas abordagens têm sido

propostas para a utilização de cenários para o design de aplicações computacionais

[Benner et al., 1992], [Hsia et al. 1994], [Jacobson et al., 1992]. Em [Rolland et al., 1996] é

apresentado um framework para a classificação de abordagens baseadas em cenários. Neste

trabalho propõe-se a classificação deste tipo de abordagem sob quatro perspectivas: forma,

conteúdo, propósito e ciclo de vida. Cada uma destas perspectivas é caracterizada por facetas

que por sua vez são caracterizadas por atributos. A forma se refere ao modo de expressão do

Page 29: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

16

cenário. O conteúdo se refere ao tipo de conhecimento expresso no cenário. O propósito se

refere ao papel que o cenário exerce no processo de design. Finalmente, o ciclo de vida se

refere à maneira como os cenários evoluem durante este processo. Para ilustrar o framework

proposto, Rolland et al. o utilizam para classificar 11 abordagens que propõem a utilização de

cenários. A tabela 2.2 apresenta a classificação realizada em [Rolland et al.,1996] 2. Note que

para alguns dos atributos associados ao trabalho de Rengell et al. são apresentados dois

valores, aparentemente conflitantes (eg. tempo de vida = Transiente e Persistente). Isto se

deve ao fato de que esta abordagem propõe a definição de cenários em dois níveis de

abstração: descrições de casos de uso e especificações de casos de uso3. Quando o valor de

um atributo não é o mesmo para os dois níveis, são apresentados dois valores, o primeiro se

refere ao nível de descrição e o segundo ao nível de especificação. Por exemplo, tempo de

vida Transiente e Persistente significa que os cenários do nível de descrição são transientes e

os do nível de especificação são persistentes.

2 Estas tabelas foram traduzidas e adaptadas de [Rolland et al., 1996], entretanto apenas a forma de apresentação

dos dados sofreu adaptações, o conteúdo das tabelas não foi alterado.3 Esta abordagem é uma extensão da abordagem proposta em [Jacobson, 1992].

Page 30: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Tabela 2.2: classificação apresentada em [Rolland et al., 1996] para abordagens queutilizam cenários de interação.

Face

taAt

ribut

o[B

enne

r et

al.,

1992

][G

ough

et

al.,

1995

][H

sia

etal

., 19

94]

[Hol

broo

k,19

90]

[Jac

obso

net

al.,

1992

][K

yng,

1995

][P

otts

et

al.,1

994]

[Reg

nell

etal

., 19

95]

[Rum

baug

het

al.,

199

1][S

calz

o, 1

995]

[Som

é et

al.,

1996

]M

eio

(1)

{T, I

, P}

{T, I

, P}

{T}

{T, I

}{T

}{T

, P}

{T}

{T, I

}{T

, G}

{T, G

}{T

}De

scriç

ãoNo

taçã

o (2

)Q

ualq

uer

IF

II

IS-

FS-

FS-

FS-

FS-

FAn

imaç

ão (3

)Q

ualq

uer

VF

VF

VF

FF

FF

F O R M AAp

rese

ntaç

ãoIn

tera

tivid

ade

Qua

lque

rH

iper

text

oN

enhu

ma

Hip

erte

xto

Nen

hum

aH

iper

text

oH

iper

text

oN

enhu

ma

Nen

hum

aN

enhu

ma

Nen

hum

a

Inst

ânci

a (3

)V

FV

VV

VV

FF

VF

Tipo

(3)

VV

VV

VV

VV

VV

VAb

stra

ção

Mis

ta (3

)V

FF

VF

VV

FF

VF

Inte

rno

ao S

ist.

(3)

VF

FF

FV

VV

FV

VIn

tera

ção

com

Usuá

rio (3

)V

VV

VV

VV

VV

VV

Cont

exto

Org

aniz

acio

nal (

3)V

FF

VF

VV

FF

VF

Cont

exto

Ambi

ente

Org

aniz

acio

nal (

3)V

FF

FF

FF

FF

FF

Posi

ção

(3)

VF

FF

FV

FF

FV

FAr

gum

ento

s (3

)V

FF

VF

VF

FF

VF

Que

stõe

s (3

)V

FF

VF

VF

FF

VF

Argu

men

taçã

o

Deci

sões

(3)

VF

FV

FF

FF

FF

FFu

ncio

nal (

4){E

, F, C

}{E

, F, C

}{C

}{F

, C}

{E,F

,C}

{E,F

,C}

{E,F

,C}

{E, C

, F}

{E,F

,C}

{E,F

,C}

{E, C

}In

tenc

iona

l (5)

{ }{ }

{ }{M

, DM

}{}

(M, R

){}

{M, R

}{ }

{M, R

, O}

{ }

C O N T E Ú D O

Cobe

rtura

Não-

Func

iona

l (6)

{ }{ }

{ }{ }

{}{S

U,S

,P,R

D}

{}{ }

{ }{P

,RT,

RC

,SU

,F,T

E}{R

T}De

scrit

ivo

(3)

VV

VV

VV

VV

VV

VEx

plor

atór

io (3

)V

FF

VF

VF

FF

VF

P R O P Ó S I T O

Pape

lEx

plan

atór

io (3

)V

FF

FF

FF

FF

FF

Tem

pode

Vid

a (3

)?

Pers

iste

nte

Pers

iste

nte

Tran

sien

tePe

rsis

tent

ePe

rsis

tent

ePe

rsis

tent

eTr

ansi

ente

ePe

rsis

tent

eTr

ansi

ente

?Pe

rsis

tent

e

Capt

ura

Reu

sodo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

oR

euso

do z

ero

Inte

graç

ão (3

)?

FF

FF

FV

F e

VV

VV

Refin

amen

to (3

)?

VF

FV

FF

FV

FF

Expa

nsão

(3)

?F

FF

FV

FV

FF

V

C I C V

L I

O D

A

D EO

pera

ções

Dele

ção

(3)

?F

FV

FF

VV

e F

V?

VL

egen

da:

(1) T

: Tex

to, I

: Im

agem

, G: G

ráfic

os, P

: Pro

tótip

o(2

) I: I

nfor

mal

, S-F

: Sem

i-For

mal

, F: F

orm

al(3

) V: v

erda

deiro

, F: F

also

, ?: i

ndet

erm

inad

o

(4) E

: Est

rutu

ra, F

: Fun

ção,

C: C

ompo

rtam

ento

(5) M

: Met

a, D

M: D

ecom

posi

ção

de M

eta,

R: R

espo

nsab

ilidad

es, O

: Opo

rtuni

dade

(6) F

: Fle

xibi

lidad

e, P

: Per

form

ance

, RC

: Res

triçõ

es d

e cu

sto,

RD

: Res

triçõ

es d

e D

esig

n,

RT:

Res

triçõ

es d

e Te

mpo

, S: s

egur

ança

, SU

: Sup

orte

a U

suár

io, T

E: T

rata

men

to d

e Er

ro

17

Page 31: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

18

Das abordagens classificadas em [Rolland et al., 1996], destacaremos a abordagem

proposta em [Jacobson et al., 1992], pelo fato de esta ter influenciado nosso trabalho.

Jacobson et al. propõem a descrição de cenários como casos de uso, os quais são estruturas

compostas por atores, normalmente um único curso típico e alguns cursos alternativos. Os

atores são os agentes que executam as tarefas descritas nos cenários. O curso típico descreve

todos os passos necessários para a realização de uma determinada tarefa de forma típica,

desconsiderando situações não típicas ou a ocorrência de problemas. Cada curso alternativo

descreve apenas parte dos passos da mesma tarefa, começando em algum ponto onde podem

ser executados passos alternativos ou onde pode ocorrer algum determinado problema, com o

objetivo de descrever como será a interação no caso deste ocorrer. Como cada curso

alternativo é idêntico ao curso típico até o ponto onde um passo alternativo é executado ou

onde ocorre um problema, são descritas apenas as diferenças. Quando não leva ao

cancelamento da tarefa, após a execução de um conjunto de passos alternativos ou após a

correção de um problema, o curso alternativo volta a ser idêntico ao curso típico. A divisão

em curso típico e cursos alternativos facilita a organização da descrição e permite o reuso das

partes comuns do caso de uso, pois como cada curso alternativo é idêntico ao curso típico até

o momento da variação e muitas vezes retorna a um ponto deste curso, as partes comuns são

descritas uma única vez, no curso típico. Devido às vantagens proporcionadas por este tipo de

especificação, ela foi usada para inspirar a definição de nosso modelo para a especificação de

cenários, como será visto no próximo capítulo.

Para exemplificarmos a descrição narrativa de cenários estruturada da forma proposta

por Jacobson et al., apresentamos na figura 2.3 um cenário de interação para a tarefa

"Registrar um empréstimo de publicações", no contexto de um Sistema Gerenciador de

Biblioteca.

Page 32: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

19

Tarefa: Registrar um Empréstimo de Publicações

Atores: Aluno, Atendente da Biblioteca

1. Curso TípicoUm aluno chega a Biblioteca e pesquisa por publicações. Ao encontrar as publicações quesatisfazem suas necessidades, informa ao atendente que deseja pegá-las emprestadas. Oatendente pergunta o nome do aluno e informa este nome ao sistema. O sistema informaque o aluno está habilitado a pegar publicações emprestadas e solicita que o atendenteinforme quais publicações o aluno irá levar. O atendente informa ao sistema o código decada publicação que o aluno deseja alugar. Em seguida, o sistema solicita que o atendentepeça ao aluno para informar sua senha. O aluno informa a senha e o sistema confirma queo registro do empréstimo foi realizado com sucesso, além de apresentar as datas limites dedevolução para cada publicação. O atendente carimba cada publicação com sua respectivadata e as entrega ao aluno.

Cursos Alternativos

1. O aluno não está cadastrado como usuário da bibliotecaNeste caso, o atendente informa ao aluno que deve se cadastrar na secretaria de alunos.

2. O aluno não está habilitado a pegar publicações emprestadasDepois que o atendente informa o nome do aluno ao sistema, este informa que o aluno nãoestá habilitado a pegar publicações emprestadas pois já pegou o máximo número depublicações que lhe é permitido. O atendente informa isto ao aluno e ele decide voltar nodia seguinte e trocar algumas das publicações que está com ele pelas que tentou pegaremprestadas.

3. O aluno informa a senha incorretamenteNeste caso, o sistema permite que ele tente informá-la novamente. Desta vez ele o fazcorretamente e a partir deste ponto o curso volta a ser como o curso típico.

3.1 O aluno erra a senha por 3 vezesApós a terceira vez que o aluno erra a senha, o sistema informa que seus empréstimosficarão bloqueados por 1 dia, por questões de segurança e que, para desfazer o bloqueioele deve contatar a bibliotecária chefe. O aluno decide voltar à biblioteca no dia seguinte.

Figura 2.3: cenário de interação descrito em linguagem natural estruturado da forma propostapor Jacobson et al. em [Jacobson et al., 1992].

2.2.2 Design Patterns

Padrões de design (Design Patterns) são um meio de captura e reuso de experiência de

design. Em outras palavras, padrões de design são abstrações de lições aprendidas. Eles foram

concebidos por Alexander [Alexander et al., 1977], no campo da arquitetura, como meio para

auxiliar designers menos experientes. As idéias de Alexander inspiraram pesquisadores de

Page 33: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

20

Engenharia de Software e a abordagem de Design Patterns passou a ser aplicada na

construção de código [Gamma et al., 1995]. O interesse em padrões para o design de

interfaces data de 1994 [Rijken, 1994]. Apesar de vários formatos terem sido sugeridos para a

representação de padrões de design, eles normalmente incluem:

• a descrição do problema,

• uma possível solução,

• exemplos de uso da solução em designs reais,

• razões por que a solução apresentada realmente resolve o problema,

• critérios para se decidir quando usar ou não uma determinada solução,

• relações com outros padrões de design.

Quando uma comunidade concorda sobre uma coleção de padrões, é possível falar de

uma linguagem de padrões. O principal objetivo da pesquisa em design patterns é justamente

o desenvolvimento de linguagens de padrões. Em [Borschers, 2000] é apresentado um modelo

formal para a representação de linguagens de padrões de interação. Para exemplificar este

modelo, é apresentada uma linguagem de padrões para o design de sistemas interativos

projetados para ser utilizados em exposições4 sobre o uso de computadores para o

aprendizado e o trabalho. Neste trabalho, o autor afirma que a linguagem de padrões definida

foi útil para a criação de sistemas do tipo enfocado por ela. Linguagens de padrões enfocando

outros tipos de aplicação também poderiam trazer grandes benefícios a atividade de design de

IHC. Design Patterns se apresenta como uma técnica promissora para o mapeamento de

tarefas para interfaces adequadas, pois ao abstrair a partir de experiência, os padrões têm

relevância e potencial para serem reusados [Trætteberg, 2000].

2.3 Abordagens fundamentadas na Semiótica

As abordagens semióticas revelam uma nova perspectiva e permitem uma nova

interpretação dos modelos computacionais. Elas são bastante promissoras como bases teóricas

para a canalização de fenômenos de IHC pois consideram o design como um processo de

4 do inglês exhibit.

Page 34: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

21

comunicação e propõem a utilização da Semiótica5 como fundamentação teórica para sua

realização e para explicações de fenômenos relativos à interação humano-computador. O foco

de interesse é o papel que sistemas de significação e comunicação exercem sobre as

atividades cognitivas do usuário e não estas atividades propriamente ditas [Leite,1998]. Em

[Leite, 1998] analisa-se algumas abordagens fundamentadas na Semiótica, dentre as quais

podemos citar o Paradigma Semiótico [Nadin, 1988] e a Teoria de Semiótica

Computacional [Andersen, 1990]. Leite declara que apesar destas abordagens reconhecerem

que o processo de design de IHC é um processo de comunicação, elas não apresentam

métodos ou ferramentas precisas para o design da interface [Leite, 1998]. A Engenharia

Semiótica vai um pouco mais longe propondo a aplicação da teoria da produção de signo

[Eco, 1976] para o design de interfaces [Leite, 1998] e seguindo esta abordagem, Leite aplica

esta teoria na prática, criando um sistema semiótico para a produção de interfaces em

ambiente GUI e WIMP [Leite, 1998]. A seguir introduziremos brevemente a Engenharia

Semiótica e o trabalho de Leite, as maiores fontes inspiradoras do trabalho apresentado nesta

dissertação.

2.3.1 A Engenharia Semiótica

A Engenharia Semiótica [de Souza, 1993] é uma abordagem para o design de IHC que

considera um sistema computacional interativo como uma mensagem emitida pelo designer

para os usuários e expressa através da interface. O conteúdo desta mensagem é o modelo de

uso6 da aplicação proposto pelo designer. Ao interpretar a expressão da mensagem do

designer (interface), o usuário concebe seu próprio modelo de uso. Para que ele possa

compreender como utilizar a aplicação na realização de suas tarefas, o modelo de uso

concebido pelo usuário deve ser próximo ao proposto pelo designer.

Por considerar o processo de design de interfaces como um processo de produção de

mensagem, a Engenharia Semiótica elege a Semiótica como base teórica, fundamentando-se

nas teorias semióticas propostas por Charles S. Peirce [Peirce, 1931] e Umberto Eco

[Eco, 1976]. A idéia básica é que, se for utilizado no design de interfaces um sistema

semiótico, conhecido tanto pelo designer como pelo usuário, que relacione elementos de

5 A Semiótica é uma disciplina que estuda os signos, sistemas de signos, significação, comunicação e todos os

processos culturais [Eco, 1976].6 Este modelo indica o que o usuário pode fazer com a aplicação e como.

Page 35: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

22

interfaces (sistema expressivo) a intenções de comunicação do designer (sistema semântico),

a interpretação do usuário ficará potencializada por estas intenções. Desta forma, o usuário

poderá adquirir um modelo de uso da aplicação compatível com o modelo proposto pelo

designer.

A Engenharia Semiótica se apresenta como abordagem complementar às abordagens

baseadas na Psicologia Cognitiva, apresentadas na seção 2.1. Estas abordagens visam

determinar como funcionam os processos cognitivos do usuário enquanto ele interage com

interfaces de forma a identificar que propriedades devem ter estas interfaces para facilitar

estes processos. Entretanto, estas abordagens não consideram o papel fundamental dos signos

produzidos pelo designer na ocorrência destes processos cognitivos. Assim, apesar de

conseguirem reconhecer interfaces fáceis de aprender e usar, estas abordagens não conseguem

explicar claramente o porquê desta facilidade e conseqüentemente não podem prover um

método estruturado para atingi-la. A Engenharia Semiótica enxerga o design como uma

atividade meta-comunicativa e proporciona uma perspectiva mais pragmática. Sob esta

perspectiva, é possível relacionar o aprendizado à interpretação dos usuários, explicando estes

processos de interpretação através do conceito de signo e utilizar sistemas semióticos, os

instrumentos de apoio a processos comunicativos providos pela Semiótica, como ferramenta

para o design de interfaces. Em outras palavras, a Engenharia Semiótica aplica a teoria

semiótica, visando determinar como o conhecimento que o usuário precisa adquirir, para

utilizar melhor o sistema, pode ser melhor comunicado através da interface de usuário

[Leite, 1998].

Um modelo e um formalismo de apoio à expressão da mensagem do designer

Seguindo a Engenharia Semiótica [de Souza, 1993], Leite define um meta-modelo

para a representação do modelo de uso da aplicação (ao qual chama de modelo de

usabilidade) como conteúdo da mensagem do designer e um sistema semiótico cujo objetivo é

apoiar a elaboração do conteúdo e da expressão desta mensagem. O sistema semântico deste

sistema semiótico é formado pelos componentes do meta-modelo e seu sistema expressivo é

composto por componentes de interfaces estilo WIMP. Leite fornece também as regras de

correlação entre os elementos dos dois sistemas. Com isto, ele estende a proposta original da

Engenharia Semiótica, propondo uma ferramenta prática para o design de IHC baseada no

Page 36: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

23

modelo teórico. A tabela 2.3 resume os componentes do meta-modelo para a representação do

modelo de usabilidade identificados por Leite.

Componente Descriçãosigno do domínio abstração das diversas formas que uma informação do domínio

pode ser representada em um sistemafunção aplicada componentes operacionais que operam sobre objetos de

representação de signos do domínio, modificando seus estadosinteração básica operações perceptivas, motoras e cognitivas realizadas pelo

usuário diretamente na interface (fornecimento de caracteres,seleções e acionamentos)

visualização percepção de estados de funções aplicadas e informações sobresignos do domínio, que permitem ao usuário avaliar os efeitos deseus comandos de funções e decidir quais as próximas funções aserem comandadas

comando de função estrutura que articula as interações básicas e/ou visualizações,que podem controlar uma função aplicada e modificar o seuestado

Tabela 2.3: componentes do meta-modelo para o modelo de usabilidade de Leite.

Nosso modelo para a especificação de cenários de interação, também segue a

abordagem da Engenharia Semiótica e desta forma pretende suportar a especificação destes

cenários como parte do objeto da mensagem do designer. O trabalho de Leite foi a principal

fonte inspiradora para a realização nosso trabalho pois também define um modelo para a

comunicação de um modelo como objeto da mensagem do designer que inclui componentes

para a representação de interação. No próximo capítulo descrevermos o modelo para a

especificação de cenários proposto neste trabalho, abordando entre outras coisas a influência

do trabalho de Leite na sua definição.

Page 37: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

24

Capítulo 3

Um Modelo para a Especificação deCenários de Interação

Neste capítulo apresentamos um modelo para a especificação de cenários de interação

como parte do conteúdo da mensagem do designer. Na seção 3.1 apresentamos a definição de

"interação" na qual nos baseamos. Na seção 3.2 descrevemos os componentes do modelo para

a especificação de cenários de interação proposto.

3.1 Interação

Na literatura de IHC pesquisada, encontramos definições para a palavra interação em

[Preece et al., 1993] e [Leite, 1998]. No glossário apresentado em [Preece et al., 1993], o

termo é definido como "a troca que ocorre entre usuários e computadores". Em [Leite, 1998] a

interação é definida como "o processo de comunicação que ocorre entre um usuário e uma

aplicação de software". Seguindo o paradigma de comunicação no qual se baseiam estas

definições, propomos a representação da interação sob uma ótica conversacional. Neste

trabalho, consideramos a interação como a conversa travada entre usuário e sistema (como

porta-voz do designer) para que o primeiro realize tarefas utilizando o segundo como

ferramenta. Acreditamos que um modelo que represente a interação desta maneira é

adequado para abstrair interfaces de forma menos dependente da tecnologia de

implementação que um modelo que a represente em termos de ações físicas de usuários.

Enquanto ações físicas muitas vezes são fortemente vinculadas a dispositivos de entrada e

saída (ex.: digitar � teclado, clicar � mouse), a conversa tem grandes chances de

representar a execução de qualquer sistema interativo, pois, na verdade, esta execução

consiste sempre na troca de informações entre o sistema e o(s) usuário(s), independentemente

da tecnologia usada na implementação (ex.: informar � teclado, mouse, voz, monitor

sensível ao toque (touch-screen monitor), etc.).

3.2 Componentes do Modelo Proposto para a Especificação deCenários de Interação

De acordo com nossa concepção de interação, apresentada na seção anterior,

propomos que o conjunto de cenários de interação, integrante do conteúdo da mensagem do

Page 38: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

25

designer, deve descrever todos os caminhos conversacionais entre usuário(s) e uma

aplicação definidos pelo designer como meio obrigatório, adicional ou auxiliar para que o(s)

usuário(s) realize(m) tarefas acessando as funções da aplicação. Em outras palavras, este

conjunto de cenários de interação deve indicar como a funcionalidade da aplicação pode e

deve ser acessada pelo(s) usuário(s) através de conversas com a mesma. Para apoiar a

elaboração de cenários com este conteúdo definimos um modelo para a especificação de

cenários de interação cujos componentes são apresentados na figura 3.1. Estes componentes

foram identificados com base em:

• uma análise de quais informações são necessárias para a estruturação de cenários

em cursos típicos e alternativos de interação [Jacobson et al.,1992];

• uma análise de quais informações são necessárias para a especificação de

aplicações multi-usuário e

• uma análise do modelo de interação do Qualitas.

A análise de quais informações são necessárias para a estruturação de cenários em

cursos típicos e alternativos de interação, conforme definidos em [Jacobson et al., 1992] foi

realizada por considerarmos vantajoso suportar este tipo de especificação. A estruturação de

cenários desta forma permite o reuso de especificações de partes de cursos típicos comuns a

cursos alternativos, além de encorajar o designer a modelar situações atípicas as quais devem

ser tratadas pela aplicação. Convém notar que realizamos uma pequena modificação na

nomenclatura proposta em [Jacobson et al., 1992], apresentada no capítulo 2. Jacobson et al.

apresentam um curso típico como uma descrição de todos os passos necessários para a

realização de uma determinada tarefa de forma típica, desconsiderando situações não típicas

ou a ocorrência de problemas. Em seus cursos alternativos, ele inclui tanto as descrições da

interação a partir da execução passos alternativos ao curso típico, como as descrições da

interação a partir da ocorrência de problemas. Entretanto, observe que tanto em cursos típicos

como em cursos alternativos, pode haver interações alternativas no sentido de distintas

possibilidades de interação a partir de um mesmo ponto. Muitas vezes é até difícil ou

impossível precisar qual é o curso típico, pois há casos em que nenhuma interação alternativa

pode ser considerada mais “típica” que outra. Por exemplo, ao modelar a tarefa “criar

reunião” do módulo de organização de reuniões do Qualitas, os designers disponibilizaram

três alternativas para a realização a tarefa: criar a reunião a partir de uma reunião existente,

Page 39: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

26

criar a reunião a partir de um template de reuniões ou criar a reunião a partir do zero. A

escolha dentre estas alternativas pode levar a 3 cursos de interação distintos. Todos estes

cursos são componentes do curso típico da tarefa “criar reunião”. Desta forma, achamos

interessante separar variantes aceitáveis do curso típico de cursos que descrevem a ocorrência

de problemas. Assim, passamos a utilizar o termo curso de exceção para nos referir apenas

aos cursos que representam problemas, liberando o termo alternativo para referenciar apenas

possibilidades distintas de interação, que na verdade, podem estar relacionadas tanto a cursos

típicos como a cursos de exceção. Assim, ao apresentarmos os componentes do modelo

proposto, na próxima seção, os dividiremos de acordo com os tipos de descrição de interação

que permitem representar: cursos típicos sem interações alternativas, cursos de exceção

sem interações alternativas e cursos alternativos.

A análise de quais informações são relevantes para a especificação de aplicações

multi-usuário foi realizada para tornar nosso modelo mais abrangente. Embora as mesmas

questões consideradas para o design de aplicações mono-usuário sejam relevantes para o

design de aplicações multi-usuário, este ainda requer a consideração de novas questões que

influenciam a modelagem da interação. Isto será discutido na seção 3.2.4.

A análise do modelo de interação do Qualitas foi feita com o objetivo de adequar

nosso modelo aos requisitos de representação práticos de modelos de interação de sistemas

reais. Apesar de termos nos baseado neste sistema para o desenvolvimento deste trabalho,

para fins didáticos, sempre que possível, utilizaremos um Sistema Gerenciador de

Biblioteca (SGB) quando houver necessidade de fornecer exemplos ao longo deste e dos

próximos dois capítulos. A utilização de um SGB para testar especificações formais foi

proposta inicialmente por Kemmerer em 1981 [Kemmerer, 1981]. Desde então este tipo de

sistema tem sido bastante utilizado para exemplificar e testar modelos e formalismos

apresentados em trabalhos de Engenharia de Software. Em [Wing, 1988] é apresentado um

estudo sobre 12 especificações deste sistema realizadas em formalismos diferentes. SGBs têm

sido referenciados em tantos trabalhos, justamente por terem um domínio simples e conhecido

por seus prováveis leitores. Acreditamos que o mesmo se aplica a esta dissertação. Entretanto,

como o Qualitas é muito mais complexo que um SGB, algumas necessidades detectadas

através da análise do modelo de interação do primeiro não existem para o segundo e desta

forma, não podem ser exemplificadas por ele. Nestes casos, utilizaremos o próprio Qualitas

para fornecer exemplos.

Page 40: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

27

Nas próximas seções descreveremos em detalhes os componentes do modelo para a

especificação de cenários proposto.

Notação

Tarefa

Diálogo

Enunciado

Enunciadode Usuário

Enunciadode Sistema

Conceitoda

Aplicação

Conceito doDomínio Original

ConceitoIntroduzido com a

Tecnologia

Contexto deInteração

Determina

Componentes do Modelo de InteraçãoEstratégia

paraTratamentode Erros de

Usuário

Estratégiapara

Tratamentode Falhas

de Sistema

Possui

Possui

Possui

Possui

Interrupção

PermiteOcorre

emPermiteRevisar

Classe Relação de Herança: a classe Bé subclasse da classe A.

Relação deAssociação

A

<nome_classe>

B

A

B

Relação de Composição: objetosda classe A são compostos porobjetos da classe B.

A

B

Papel doUsuário

Determina

Enunciado

Determina

Determina

Determina

Modif ica

Figura 3.1: Componentes do modelo de interação.

3.2.1 Representação de cursos típicos

Para identificar os componentes necessários para a representação de cursos típicos de

interação nos baseamos no meta-modelo para o modelo de usabilidade e no formalismo

propostos por Leite em [Leite,1998]. Escolhemos o trabalho de Leite como base, por duas

razões:(1) ele também define um modelo para a comunicação de um modelo como objeto da

Page 41: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

28

mensagem do designer e (2) seu modelo de usabilidade é formado por um modelo de

funcionalidade e por um modelo de interação, incluindo componentes para a representação de

interação.

Ao analisar os componentes do meta-modelo proposto por Leite, os consideramos

suficientes para a representação de cursos típicos de interação. Entretanto, foram realizadas

adaptações para deslocar a abstração adotada por Leite, do nível de ações e visualizações de

usuário para o nível de conversa entre usuário e sistema, adotado neste trabalho (veja a

figura 3.2). A seguir descrevemos os componentes que consideramos necessários para a

representação de cursos típicos de interação, indicando como se derivam do trabalho de Leite.

Após estas descrições apresentamos um resumo das diferenças entre os componentes

propostos no trabalho de Leite e neste trabalho.

Figura 3.2: comparação entre os níveis de abstração adotados por Leite [Leite, 1998] e poreste trabalho.

Tarefa

Leite define que as funções aplicadas são componentes do modelo de usabilidade e

devem ser comunicadas ao usuário através da interface. Contudo, as funções aplicadas só

existem para que o usuário possa realizar tarefas de um domínio particular através da

aplicação. Em geral, ao interagir com uma aplicação o usuário tem maior consciência da

tarefa que deseja realizar do que das funções disponíveis na aplicação. Desta forma, do ponto

de vista de interação, o mais importante é comunicar que tarefas o usuário pode realizar.

Apesar de Leite não explicitar que tarefas são componentes do modelo de usabilidade, o

formalismo que ele propõe para a representação deste modelo permite a especificação de

mensagens de tarefa. Estas mensagens objetivam comunicar ao usuário que estruturas de

comandos são necessárias para que ele consiga executar metas de alto nível, para as quais não

existe uma única função aplicada no sistema. Inspirados nas mensagens de tarefa

Tarefa Interface

Modelo de Cenáriode Interação

Mensagem do Designer

Modelo deUsabilidade

Page 42: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

29

identificamos as tarefas que o usuário pode realizar utilizando a aplicação como

componentes do modelo de interação. Estendemos a noção apresentada por Leite propondo

que sejam representadas quaisquer tarefas que o designer pretenda que a aplicação apóie e

não apenas as que não possuem mapeamento direto para funções existentes. Em outras

palavras, em nosso modelo, as tarefas são os componentes do modelo de interação que

representam tudo o que o designer tem consciência1 de que o usuário pode realizar

utilizando a aplicação. Para manter a visão conversacional, caracterizamos a tarefa como

uma articulação de diálogos ao invés de uma articulação de comandos. O componente do

modelo de interação, diálogo, será apresentado no próximo item.

Diálogo

O diálogo é o componente proposto em nosso modelo para representar o componente

comando de função definido por Leite sob a ótica conversacional. Um diálogo é a conversa

ou parte da conversa travada entre usuário e sistema para que o usuário acesse uma

determinada função da aplicação criada para auxiliar a realização da tarefa da qual o diálogo é

componente. Para manter a ótica conversacional, ao invés de articular interações básicas do

usuário e visualizações, como um comando de função, um diálogo é caracterizado por uma

articulação de enunciados de usuário e enunciados de sistema. Estes componentes do

modelo de interação serão descritos nos próximos itens.

Enunciado de Usuário

O enunciado de usuário é o componente proposto em nosso modelo como adaptação

para as interações básicas de usuário definidas por Leite. Um enunciado de usuário

representa algo que o usuário deve ou pode comunicar ao sistema no diálogo em que é

emitido, independentemente da forma como esta comunicação é realizada.

Enunciado de Sistema

O enunciado de sistema é o componente proposto em nosso modelo para adaptar as

visualizações definidas por Leite. Um enunciado de sistema representa algo que o designer

1 Muitas vezes, utilizando a aplicação, o usuário descobre que pode realizar tarefas não premeditadas ou

previstas pelo designer.

Page 43: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

30

deseja comunicar ao usuário e o faz através do sistema, independentemente da forma como

esta comunicação é realizada.

Conceito da Aplicação

Leite define signos do domínio como componentes do modelo de usabilidade que se

referem a conceitos do domínio. Ao analisarmos o Qualitas, percebemos que aplicações

podem apresentar tanto signos referentes a conceitos do domínio original como signos que se

referem a conceitos que não existiam neste domínio e que foram incorporados a ele devido à

introdução da tecnologia utilizada na aplicação. Um exemplo deste segundo tipo de conceito é

o conceito "forma de comunicação", que aparece nas interfaces para registro de comunicações

obrigatórias entre funcionários da SUSEMA, durante algumas etapas dos processos de

trabalho realizados através do Qualitas. Nestas interfaces, o usuário deve informar ao sistema

ou o texto de um e-mail para realizar a comunicação através do sistema ou indicar que a

comunicação foi feita de outra forma. Este conceito surgiu devido à introdução da tecnologia.

O usuário precisa informar que a comunicação foi feita, mesmo que não envie e-mail,

somente para que o sistema possa verificar se o serviço foi prestado de acordo com as normas.

Antes da introdução do sistema, isto não era necessário, ou seja, o conceito "forma de

comunicação" não faz parte do domínio original, tendo sido incorporado a este por causa da

tecnologia.

A distinção entre os conceitos do domínio original e conceitos introduzidos é muito

importante para o design pois o tipo de conceito pode fornecer indicações sobre o grau de

conhecimento do usuário sobre este conceito e conseqüentemente sobre a necessidade de

mensagens de help. Para domínios bem conhecidos e razoavelmente estáveis, pode ser mais

necessário fornecer explicações conceitos incorporados devido a introdução de tecnologia do

que fornecer explicações sobre conceitos conhecidos do usuário por fazerem parte do domínio

original.

Desta forma, decidimos distinguir em nosso modelo signos do domínio original e

signos que foram incorporados a este devido a introdução de tecnologia. Inicialmente optamos

por generalizar o componente signo do domínio para signo da aplicação. Mas este termo se

mostrou inadequado, pois qualquer coisa representada na aplicação é um signo da aplicação.

Por exemplo, a forma física como um widget é desenhado e as cores utilizadas na interface

são signos da aplicação mas não são conceitos relevantes para a modelagem da interação. Na

Page 44: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

31

verdade o que queremos representar em nosso modelo são conceitos e desta forma decidimos

adotar o termo conceito da aplicação para representar este componente. De acordo com o que

foi exposto, subdividimos inicialmente os conceitos da aplicação em dois tipos: conceitos

existentes no domínio original da aplicação e conceitos incorporados a este domínio devido à

introdução da tecnologia utilizada na implementação da aplicação. Futuramente podem ser

identificados outros tipos de conceito da aplicação relevantes para a modelagem da interação.

Resumo dos componentes propostos para a representação de cursos típicos

A tabela 3.1 resume as adaptações realizadas aos componentes do modelo de

usabilidade identificado por Leite para a definição dos componentes do modelo de interação

necessários para a representação de cursos típicos de cenários de interação.

Componente do Modelo deUsabilidade de Leite

Componente do Modelo para aEspecificação de Cenários Derivado

função da aplicação tarefacomando de função diálogointeração básica (exceto visualização) enunciado de usuáriovisualização (componente e interação básica) enunciado de sistemasigno do domínio conceito da aplicação (inclui conceito

do domínio original e introduzido coma tecnologia)

Tabela 3.1: adaptações aos componentes do modelo de usabilidade identificados por Leitepara a definição de componentes do modelo de interação.

Tipos de Articulação para Estruturas de Diálogos e de Enunciados

Para a representação de tarefas em termos de articulações de diálogos e de diálogos em

termos de articulações de enunciados, propomos praticamente os mesmos tipos de articulação

definidos por Leite para articular comandos de função e interações básicas e/ou visualizações.

Estes tipos são: seqüência, agrupamento, combinação, repetição e seleção. A seqüência

articula elementos de forma seqüencial. O agrupamento articula elementos cuja ordem de

ocorrência pode ser qualquer uma. A combinação articula elementos que devem ocorrer de

maneira dependente um do outro ou de maneira síncrona. A repetição articula elementos que

devem ser repetidos. A seleção articula elementos alternativos, ou seja, indica que o usuário

pode escolher qual destes elementos ocorrerá.

A este conjunto de tipos de articulação definido por Leite, acrescentamos o tipo

seleção múltipla, que deve ser utilizado para articular um grupo de elementos quando o

Page 45: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

32

designer permite que o usuário decida pela ocorrência de um ou mais destes elementos. A

necessidade de se incorporar este tipo de articulação foi detectada a partir de um estudo no

qual verificamos se os tipos de articulação definidos por Leite são suficientes para representar

tipos de articulação de atividades definidos em formalismos para a modelagem de tarefas

[UML,1999], [Lawrence, 1997], [Amyot, 1999]. O resultado desta análise foi bastante

satisfatório. Há um único tipo de articulação representável pelos formalismos que não pode

ser representado através dos tipos de articulação definidos por Leite: or-join. Este tipo de

articulação determina que uma atividade só pode ser executada se ao menos uma atividade

dentre um conjunto de atividades determinado tiver sido completada. Analogamente, ao

articular qualquer tipo de elemento, a estrutura or-join representaria que um elemento só pode

ocorrer se ao menos um elemento dentre um conjunto de elementos determinado tiver

ocorrido. Para se representar a seqüência entre o conjunto de elementos, dos quais um ou mais

devem ocorrer e o elemento que depende desta ocorrência podemos utilizar o tipo de

articulação seqüência. A seleção múltipla de alternativas de elementos se faz necessária

justamente para se representar a articulação dos elementos do conjunto. A tabela 3.2 indica

como os tipos de articulação definidos nos formalismos estudados podem ser representados a

partir dos tipos de articulação adotados em nosso modelo.

Tipos de Articulação de Formalismospara a Modelagem de Tarefas

Representação Através de Tipos deArticulação Propostos Neste Trabalho

paralelismo combinaçãoseqüência seqüênciaand_split (depois da execução de umaatividade, uma ou mais atividades têm queser executadas em paralelo)

seqüência entre a primeira atividade executadae o conjunto de atividades que devem serexecutadas em paralelo, articuladas porcombinação

or_split (depois da execução de umaatividade, existe um conjunto dealternativas possíveis de atividades quepodem ser executadas)

seqüência entre a primeira atividade executadae o conjunto de atividades alternativas,articuladas por seleção

and_join (uma atividade só pode serexecutada se todas as atividades de umconjunto de atividades determinadotiverem sido completadas)

seqüência entre um conjunto de atividadesarticuladas por agrupamento e a atividade cujaexecução depende da execução deste conjuntode atividades

or_join (uma atividade só pode serexecutada se ao menos uma atividadedentre um conjunto de atividadesdeterminado tiver sido completada.)

seqüência entre um conjunto de atividadesarticuladas por seleção e a atividade cujaexecução depende da execução de ao menosuma das atividades deste conjunto

Tabela 3.2: A representação de tipos de articulação definidos em formalismos para amodelagem de tarefas através dos tipos de articulação adotados em nosso modelo.

Page 46: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

33

Controles de Ocorrência de Diálogos

Apesar de o designer disponibilizar diversos diálogos que o usuário pode travar com o

sistema para realizar tarefas utilizando-o, na maioria das vezes ele permite que estes diálogos

só sejam iniciados quando desejado pelo usuário. Esta possibilidade de escolha é chamada por

Leite de controle de leitura de mensagens2. Neste trabalho chamamos estes controles de

controles sobre a ocorrência de diálogos (mantendo nossa visão conversacional) e fazemos

algumas modificações no conjunto de controles identificados por Leite, que resultam no

seguinte conjunto de controles de ocorrência de diálogos: inicialização, finalização,

interrupção, retomada (após interrupção) e reinicialização do diálogo com ou sem

sugestões do sistema.

Os nomes dos quatro primeiros controles indicam literalmente qual a intenção de

controle do usuário que representam, dispensando maiores explicações. Convém esclarecer

alguns pontos sobre o controle reinicialização. Quando aciona um controle para a

reinicialização do diálogo, o usuário pretende recomeçar a troca de informação com o sistema,

restaurando o estado inicial do diálogo. Ou seja, ele quer responder novamente a todas as

perguntas do sistema, como se o diálogo nem tivesse sido iniciado. Observe que no diálogo

original, o sistema pode ter sugerido o conteúdo para alguns enunciados do usuário (valores

default) e desta forma, a reinicialização do diálogo pode ser feita mantendo-se ou não estas

sugestões.

3.2.2 Representação de cursos de exceção

Conforme mencionado, chamamos de cursos de exceção as descrições de como será a

interação a partir da ocorrência de um problema. A partir de nossa experiência, identificamos

os seguintes fatores como determinantes de cursos de exceção:

1. fornecimento de informação inválida realizado pelo usuário;

2. falhas de execução do sistema e

3. falhas da organização.

2 Nossos diálogos equivalem a comandos de função no modelo de Leite, os quais são representados em seu

formalismo como mensagens de comando.

Page 47: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

34

A seguir analisaremos que componentes são necessários para a representação dos cursos

de exceção gerados por cada um destes fatores.

1. Fornecimento de informação inválida realizado pelo usuário

O fornecimento incorreto de informação pelo usuário em cada passo da tarefa

representa um curso de exceção que deve ser previsto pelo designer para que possa ser tratado

pela aplicação. Para representar estes cursos é necessário descrever o que acontece em termos

de interação caso ocorra algum erro de fornecimento de informação. Isto não é possível a

partir dos componentes identificados para a representação de cursos típicos. Para satisfazer

esta necessidade, incorporamos em nosso modelo o componente estratégia para tratamento

de erros de usuário. Esta estratégia se caracteriza por três atributos: o tipo de validação, o

tipo de resposta do sistema e a forma de encaixe do diálogo de correção na interação.

Existem dois tipos de validação:

• pontual: o sistema checa cada informação enunciada pelo usuário, assim que ele

termina de enunciá-la.

• por lote: o sistema checa todas as informações enunciadas pelo usuário em um

mesmo diálogo de uma só vez.

Existem dois tipos de resposta do sistema:

• Correção Interativa: definindo este tipo de tratamento de erro, o designer está

dizendo que a correção será feita interativamente com o auxílio do usuário. Terá

início um diálogo remediador, onde o sistema informará ao usuário os erros

ocorridos e lhe pedirá para reformular seus enunciados inválidos. O usuário pode

abandonar o diálogo a qualquer momento, o que significará que ele está

abandonando a tarefa, pois não é possível continuar uma tarefa sem corrigir erros

detectados pela aplicação.

• Correção Interativa Sugerida: definindo este tipo de tratamento de erro, o

designer está dizendo que o sistema tentará inferir quais são os valores corretos

para as informações inválidas e no diálogo remediador, apresentará estes valores

como sugestão de correção ao usuário.

Definimos as seguintes formas de encaixe para o diálogo de correção:

Page 48: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

35

• Inserido: indica que o diálogo original será re-iniciado e enunciados do sistema

que abordam os erros ocorridos serão inseridos dentro dele, solicitando

reformulações dos enunciados inválidos do usuário. O termo inserido pretende ser

uma analogia com o termo insertion sequences (seqüências de inserção)

[Schegloff, 1968] utilizado em análise de discurso. Este termo é apresentado no

contexto da definição do termo adjacency pairs (pares de adjacência). Existem

enunciados que "pedem" certos tipos de enunciados por parte do interlocutor de

quem os emite, por exemplo: pergunta/resposta, saudação/saudação, etc. Estes

tipos de pares de enunciados são chamados de pares adjacentes. Qualquer

seqüência de enunciados ocorrida entre o primeiro e o segundo enunciados que

representem um par adjacente é chamada de seqüência de inserções. Por exemplo:

quando um indivíduo A faz uma pergunta ao indivíduo B, B pode pedir que A

explique melhor o que deseja saber e só depois que A emitir novo enunciado com

explicações, B poderá fechar o par adjacente fornecendo a resposta solicitada pela

pergunta de A. O pedido de explicação de B e a explicação de A formam uma

seqüência de enunciados inserida entre o par adjacente pergunta/resposta. A

analogia com o tipo de tratamento de erro representado consiste no fato de que

enunciados do sistema e reformulações de informação do usuário são inseridos no

diálogo, entre o enunciado de usuário no qual ele solicita a apresentação do

próximo passo da tarefa pelo sistema e seu par adjacente que é justamente esta

apresentação.

• Autônomo: indica que terá início um novo diálogo, o qual será composto apenas

por enunciados do sistema informativos dos erros ocorridos e por correções do

usuário a seus enunciados considerados inválidos pelo sistema. A partir deste

diálogo, o usuário tem a opção de solicitar uma correção estendida, iniciando um

diálogo mais completo, equivalente ao diálogo com encaixe inserido, apresentado

acima. Ou seja, ele é composto por todos os enunciados do diálogo original, pelos

enunciados informativos dos erros ocorridos e por correções do usuário em seus

enunciados originais inválidos.

• Autônomo Contextualizado: indica que terá início um novo diálogo, o qual será

composto por enunciados do sistema informativos dos erros ocorridos, por

correções do usuário em seus enunciados e, quando necessário, por trechos do

Page 49: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

36

diálogo original relevantes para a reformulação dos enunciados inválidos. A partir

deste diálogo, o usuário também tem a opção de iniciar uma correção estendida,

iniciando um diálogo mais completo, equivalente ao diálogo com encaixe inserido.

Quando o diálogo encaixado é autônomo, torna-se necessário especificar se ele é

modal ou não e se o diálogo original persiste ou não.

Observe que o designer pode desejar que os erros cometidos pelo usuário em todos os

diálogos de uma mesma tarefa sejam tratados juntos, após o último diálogo que compõe a

tarefa. Neste caso, o tratamento deve ser definido para a tarefa e não para cada diálogo que a

compõe. Uma mesma tarefa ou diálogo pode ter mais de uma estratégia associada, desde que

todas as estratégias associadas a eles estejam relacionadas a contextos de interação distintos.

Existem outras alternativas de especificação a respeito de tratamento de erros que

deliberadamente não são consideradas em nosso modelo. Isto se deve ao fato de

considerarmos desnecessário permitir especificações que acreditamos ser de baixa qualidade.

Exemplos de especificações que foram descartadas são:

• o não tratamento de erro - descartada pois a validação de dados é fundamental,

visto que o fornecimento de informações inválidas pode causar erros de execução

ou inconsistências no banco de dados da aplicação.

• a enunciação das mensagens de erro feita antes e separadamente da reformulação

dos enunciados inválidos do usuário - descartada pois o usuário teria que recordar

quais de seus enunciados devem ser reformulados e por que estão inválidos, o que

dificultaria desnecessariamente a correção dos erros.

• a impossibilidade de o usuário abandonar a tarefa em caso de ocorrência de erro -

descartada por não deixar o controle nas mãos do usuário.

2. Falhas de execução do sistema

Outros cursos de exceção ocorrem devido a outros tipos de erros: as falhas de

sistema. Também não é possível descrever o que acontece em termos de interação caso ocorra

alguma falha de sistema, a partir dos componentes identificados para a representação de

cursos típicos. Para satisfazer esta necessidade, incorporamos em nosso modelo o componente

estratégia para tratamento de falhas de sistema, similarmente ao realizado para a

Page 50: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

37

representação de cursos de exceção devido a erros de usuário. A estratégia para tratamento

de falhas de sistema se caracteriza por um único atributo: o tipo de tratamento de falha. A

forma de encaixe do diálogo corretivo na interação não precisa ser definida pois estamos

assumindo que ele será sempre encaixado de forma independente, visto que uma falha de

sistema não tem relação com erros de usuário e não precisa ser inserida ou contextualizada no

diálogo travado anteriormente à falha.

Os tipos de correção de erro definidos para erros de usuários, Correção Interativa e

Correção Interativa Sugerida são válidos para o tratamento de falhas de sistema, mas neste

contexto, sua definição sofre uma pequena variação: os enunciados do sistema visam extrair

informação que "ele julga" (representando o designer) necessária para corrigir a falha e os

enunciados do usuário visam fornecer estas informações requisitadas pelo sistema. Além

destes tipos de tratamento de falhas de sistema, definimos os seguintes:

• Feedback Prestativo: definindo este tipo de tratamento, o designer está dizendo

que, nesta situação de falha, há a possibilidade de o próprio usuário resolver o

problema e o sistema, além de informar a falha ocorrida, irá instruir o usuário

sobre como proceder para corrigi-la. O usuário poderá finalizar o diálogo ou

solicitar mais detalhes ao sistema. Um exemplo de aplicação deste tipo de

tratamento de falha de sistema ocorre quando há falha na tentativa de

armazenamento de um arquivo em um disco cheio. O sistema informa ao usuário

que o problema pode ser resolvido caso ele próprio apague um ou mais arquivos,

liberando espaço em seu disco rígido.

• Feedback Esperançoso: definindo este tipo de tratamento, o designer está dizendo

que nesta situação de falha, nem o usuário nem o sistema podem fazer nada para

solucionar o problema, mas há a esperança de que ela não volte a ocorrer caso o

usuário tente executar a operação interrompida novamente. Desta forma, além de

informar ao usuário a falha ocorrida e permitir que ele solicite detalhes sobre esta

falha, o sistema também permite que o usuário tente refazer a operação, na

esperança de que a falha não se repita. Um exemplo de aplicação deste tipo de

tratamento de falha de sistema ocorre quando há interrupção temporária dos

serviços de rede. O sistema informa este fato ao usuário e permite que ele tente

acessar a rede novamente ou cancele a operação.

Page 51: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

38

• Feedback Sumário: definindo este tipo de tratamento, o designer está dizendo que

nesta situação de falha não haverá possibilidade de correção e tudo o que o sistema

poderá fazer é informar ao usuário a falha ocorrida e aguardar que ele finalize o

diálogo ou que solicite detalhes sobre o que o sistema está dizendo.

Analogamente às estratégias para tratamento de erros de usuário, uma estratégia

para tratamento de falha de sistema pode ser associada a uma tarefa, valendo para todos os

diálogos que a compõem, ou pode ser associada a cada um destes diálogos, assim como, uma

mesma tarefa ou diálogo pode ter mais de uma estratégia associada, desde que todas as

estratégias associadas a eles estejam relacionadas a contextos de interação distintos.

3. Falhas da organização

Algumas falhas da organização que utiliza a aplicação podem atrapalhar ou até

impedir totalmente a sua utilização. Um exemplo real ocorrido foi a perda do banco de dados,

devido à falha de determinada organização em seguir o procedimento correto para fazer

backup. O sistema podia funcionar, mas a inexistência de informações que já tinham sido

registradas impedia que funcionasse corretamente, pois se ele fosse utilizado nestas

condições, poderia gerar inconsistências. A solução adotada foi tirar o sistema do ar até que

uma versão estável e a mais atualizada possível do banco de dados fosse recuperada. A

recuperação demorou quase dois meses. Durante este tempo, atividades que haviam sido

iniciadas através do sistema, antes da perda do banco, não puderam prosseguir e atividades

surgidas no período de inatividade da aplicação, tiveram de ser realizadas e registradas

manualmente, sem as verificações de consistência e qualidade possibilitadas pela aplicação. O

problema de falhas da organização é mencionado aqui devido a sua importância, mas não está

no escopo deste trabalho, pois estes tipos de falha não são facilmente previsíveis, requerendo-

se um estudo a parte, baseado em muita experiência, para que possamos categorizá-las. A

categorização de falhas da organização beneficiaria um sistema de help que poderia preparar

os usuários e administradores da aplicação para situações como esta e possivelmente evitá-las.

Resumo dos componentes propostos para representar cursos de exceção

A tabela 3.3 sumariza os componentes propostos para a representação de cursos de

exceção, apresentando os fatores que ocasionam estes cursos e os componentes do modelo de

interação identificados em nosso modelo a partir da análise destes fatores.

Page 52: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

39

Fatores que Ocasionam Cursos De Exceção Componentes do Modelo de InteraçãoDerivado

Fornecimento de informação inválidarealizado pelo usuário

estratégias de tratamento de erros deusuário

Falhas de execução do sistema estratégias de tratamento de falhas desistema

Tabela 3.3: Componentes do modelo de interação identificados a partir da análise de fatoresque ocasionam cursos de exceção.

3.2.3 Representação de cursos alternativos

Para identificar informações que são necessárias para a representação de cursos

alternativos de interação, analisamos os seguintes fatores, cujas combinações podem

determiná-las:

1. o estado da aplicação no momento da interação;

2. possibilidades de escolha disponibilizadas para o usuário, pelo designer;

3. possibilidade de interrupção de tarefas antes de sua conclusão e de posterior

retomada.

Convém mencionar, que este conjunto de fatores foi obtido através de observação

informal, não representando o conjunto completo dos fatores que determinam possibilidades

de interação alternativas. A seguir, apresentaremos nossa análise de cada um destes fatores,

identificando se os cursos alternativos determinados por eles podem ou não ser representados

pelos componentes apresentados nas seções anteriores. Quando a representação é possível,

indicamos como é feita e em caso contrário, apresentamos os componentes do modelo de

interação incorporados ao nosso modelo devido à necessidade revelada pela análise do fator.

1. O estado da aplicação no momento da interação

O estado da aplicação no momento da interação pode determinar cursos alternativos de

interação. Isto ocorre pois os principais determinantes deste estado são os enunciados

emitidos pelo usuário e quase sempre há dependência semântica entre os conceitos da

aplicação abordados por estes enunciados e os abordados por enunciados a serem emitidos

posteriormente. Em outras palavras, a semântica de um enunciado de usuário pode restringir

ou determinar a semântica de enunciados posteriores (do usuário e/ou do sistema) que

Page 53: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

40

abordem conceitos que dependam do conceito abordado por ele. Desta forma, Dependendo

deste estado, uma mesma tarefa pode ser realizada através de diálogos distintos ou um mesmo

diálogo pode apresentar variações nos enunciados que o compõem.

Utilizemos o Sistema Gerenciador de Biblioteca para ilustrar como diferentes estados

da aplicação podem determinar cursos alternativos. Na interação para a pesquisa por

publicação, o usuário enuncia as condições para filtrar a pesquisa. Dependendo das condições

enunciadas, podem ser encontradas uma ou mais publicações. Assim, a semântica dos

enunciados prévios do usuário, poderia determinar a iniciação de ao menos dois diálogos

alternativos para o curso típico: (1) poderia ser iniciado um diálogo onde o sistema enunciasse

os títulos de várias publicações que satisfizessem as condições fornecidas pelo usuário e

solicitasse que ele indicasse qual delas deve ter informações exibidas em maiores detalhes;

(2) um curso alternativo seria a iniciação de um diálogo onde o sistema enunciasse

diretamente informações detalhadas sobre a única publicação encontrada.

Exemplificaremos agora como a semântica de enunciados prévios do usuário pode

determinar contextos distintos para um mesmo diálogo. Se ao solicitar ao sistema a

apresentação de informações sobre uma publicação, o usuário enuncia que a publicação é um

livro, no diálogo iniciado pelo sistema para a apresentação destes dados, este enuncia

informações como ISBN e editora. Se em seu enunciado o usuário solicita a apresentação de

informação sobre uma tese, o sistema enuncia informações como curso e universidade,

caracterizando um outro contexto do diálogo iniciado para apresentação de informações sobre

publicação.

Observe que enunciados previamente emitidos pelo usuário podem influenciar também

o diálogo no qual são emitidos e não somente os posteriores. Para exemplificar isto,

consideremos a interação para a descrição de uma não conformidade3 no Qualitas. Ao

descrever a não conformidade é necessário também classificar sua natureza em processo,

produto ou sistema. Existem motivos padrão para não conformidades e alguns destes

motivos estão sempre associados à mesma natureza de RNC. Seria interessante que o designer

pudesse especificar que o sistema pode identificar automaticamente a natureza, dependendo

do motivo da não conformidade enunciado pelo usuário. Por exemplo, se o usuário enunciar

3 Uma não conformidade ocorre quando um serviço não é prestado de acordo com o padrão especificado pelas

normas de qualidade vigentes na organização.

Page 54: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

41

que o motivo do RNC é "A análise crítica do contrato foi realizada após o prazo estabelecido

na norma.", ao invés da natureza ser também enunciada pelo usuário, o sistema poderia inferir

que ela é de processo e enunciar isto no lugar do usuário impedindo-o de escolher outra

natureza, enquanto mantiver este motivo.

Observe que além de determinar cursos alternativos de interação, o estado da aplicação

determina a disponibilidade de funções da aplicação. Uma mesma função pode ser acessível

em alguns momentos e pode não o ser em outros, para um mesmo usuário. Por exemplo, no

Windows existe a função “colar o objeto que está no clipboard”. Mas, esta função só está

habilitada quando há um objeto no clipboard (estado da aplicação). Desta forma, além de ser

necessário especificar quem pode acessar uma função (veja a seção 3.2.3), é preciso

especificar em que condições isto pode ser feito.

Para representar as condições que caracterizam estados da aplicação em que ocorrem

cursos alternativos de interação, habilitação ou desabilitação de acesso a funções,

incorporamos ao nosso modelo o componente contexto de interação. Contexto, conforme

definido para análise de discurso [Yule, 1983], engloba o conjunto de conhecimentos do

mundo necessários para a inferência de pressuposições implícitas, que influenciam não apenas

a interpretação de uma mensagem, mas também sua geração. Isto é exemplificado pelo fato de

as pessoas usarem anáforas4 ao falarem. Em nosso modelo, analogamente à noção descrita

acima, o contexto de interação tem, como uma de suas funções, a definição dos diálogos a

serem travados entre usuário e sistema. Ele define quais diálogos serão travados (veja o

exemplo de pesquisa por publicação descrito acima), como eles serão travados (veja o

exemplo de apresentação de informações sobre publicação descrito acima) e que

pressuposições podem ser feitas (veja o exemplo da descrição da não conformidade descrito

acima). É através da representação do contexto de interação que o designer determinará o que

usuário e sistema poderão dizer sobre um determinado tópico, em cada uma das situações

onde o tópico é abordado. Os contextos de interação também podem ser utilizados para

representar comportamentos dinâmicos da interação, dependentes de outros fatores, que não a

semântica dos enunciados prévios do usuário, como por exemplo fatores dependentes do

modelo de grupo.

4 Anáfora é uma referência a algo que foi dito anteriormente. Exemplo: "Marcelo encontrou Luciana e pediu a

ela que lhe emprestasse o livro do Norman". "ela" se refere a Luciana, e "lhe" se refere a Marcelo.

Page 55: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

42

Ao definirmos contextos de interação, definimos também um conjunto de relações

que pode haver entre contextos. Elas podem ser usadas para definir um contexto de interação

reusando definições de um ou mais contextos já definidos. As relações entre contextos de

interação identificadas neste trabalho são: União, Interseção, Subcontexto e

Complementaridade. Estas relações foram inspiradas na teoria de conjuntos e estão

ilustradas na figura 3.3. A seguir descreveremos cada uma destas relações.

Figura 3.3: Relações entre Contextos de Interação.

União

Esta relação é usada para determinar que um contexto de interação é definido pela

união de N contextos de interação. A figura 3.3a ilustra um contexto de interação A formado

pela união dos contextos de interação B e C. Especificar que um contexto de interação A é a

união dos contextos de interação B e C, significa definir que qualquer situação que se

encontre no contexto de interação B ou C estará também no contexto de interação A e que, se

uma situação está no contexto de interação A, necessariamente está também, em pelo menos

um dos contextos de interação B ou C.

Para exemplificarmos a utilização prática da relação de união na definição de

contextos de interação, consideremos a interação para registro de um empréstimo de

publicação, no Sistema Gerenciador de Biblioteca. Suponhamos que quando o empréstimo é

feito para um professor ou aluno da pós-graduação, o sistema enuncie para o funcionário da

biblioteca que informa este empréstimo, uma mensagem indicando que o usuário tem 20 dias

para devolver a publicação e que em outros contextos, o sistema enuncie que o usuário tem 15

dias para devolvê-la. O primeiro contexto de interação poderia ser definido pela união dos

contextos de interação "o locatário da publicação é professor" e "o locatário da

publicação é aluno de pós-graduação".

CB

A

a) União

CB A

b) Interseção

BA

C

d) Complementaridade

A

B

c) Subcontexto

Page 56: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

43

Interseção

Esta relação é usada para determinar que um contexto de interação é formado pela

interseção de N contextos de interação. A figura 3.3b ilustra um contexto de interação A

formado pela interseção entre os contextos de interação B e C. Especificar que o contexto de

interação A é a interseção entre os contextos de interação B e C, significa definir que uma

situação só se encontrará no contexto A se estiver simultaneamente nos contextos de interação

B e C.

Para exemplificarmos a utilização prática da relação de interseção para a definição de

contextos de interação, consideremos novamente a interação para a apresentação de

informação sobre publicação, no Sistema Gerenciador de Biblioteca. Suponhamos que

somente quando o usuário que realiza a consulta é um professor e a publicação está

emprestada para algum aluno seu, o sistema enuncie o nome do aluno que está com a

publicação. Este contexto de interação poderia ser definido pela interseção dos contextos de

interação "o usuário corrente do sistema é professor" e "o locatário da publicação é

aluno do usuário".

Subcontexto

Esta relação é usada para determinar que um contexto de interação é subcontexto de

outro. A figura 3.3c ilustra um contexto de interação A que é subcontexto do contexto de

interação B. Especificar que A é subcontexto de B, significa definir que B engloba todas as

situações definidas por A, mas A só engloba as situações definidas por B que satisfazem a

determinadas restrições.

Para exemplificarmos a utilização prática da relação de subcontexto para a definição

de contextos de interação, consideremos a interação para a abertura de Relatórios de Não

Conformidade (RNC), no Qualitas. Após o diálogo para o fornecimento de informações

sobre o RNC, podem ser iniciados 3 diálogos distintos:

1. se o usuário indicar que houve reclamação de cliente, inicia-se um diálogo no qual

ele fornece informações sobre a reclamação, como o nome do cliente que

reclamou, etc.

Page 57: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

44

2. se o usuário não indicar que houve reclamação de cliente:

2.1 se o usuário não for o responsável por supervisionar o RNC é iniciado um

diálogo no qual ele enuncia uma mensagem a ser transmitida para o supervisor

do RNC solicitando que este o ratifique.

2.2 se o usuário for o responsável por supervisionar o RNC, não precisa comunicar

mensagem a si mesmo para pedir a ratificação e assim inicia-se um diálogo

onde o sistema lhe apresenta as informações sobre o RNC, para que ele as

confirme ou revise.

Poderíamos definir o contexto de interação descrito no item 2.2, "RNC aberto pelo

supervisor, não devido a reclamação de cliente", como sendo um subcontexto do contexto

"RNC não devido a reclamação de cliente" associado à restrição de que o RNC foi aberto

pelo supervisor5.

Complementaridade

Esta relação é usada para determinar que um contexto de interação é complementar a

outro, em relação a um contexto de interação do qual ambos são subcontextos. Para facilitar

as próximas explicações, chamaremos este contexto de interação de supercontexto. A figura

3.3d ilustra um contexto de interação A que é complementar a um contexto de interação B em

relação ao supercontexto comum C. Especificar que os contextos de interação A e B são

complementares em relação ao contexto de interação C, significa definir que C é formado pela

união exclusiva dos contextos de interação A e B, ou seja,

1. Se uma situação se encontra no contexto A, ela não está no contexto B e vice-

versa.

2. Se uma situação se encontra em apenas um dos contextos A ou B, ela

necessariamente encontra-se no contexto C.

3. Se uma situação se encontra no contexto C, ela necessariamente se encontra em

um e somente um dos contextos de interação A ou B.

5 Observe que o contexto "RNC aberto pelo supervisor, não devido a reclamação de cliente" também pode

ser representado como a interseção entre os contextos "RNC aberto pelo supervisor" e "RNC não devido à

reclamação de cliente".

Page 58: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

45

Quando a relação de complementaridade é usada para a definição de um contexto de

interação, ela também define implicitamente uma relação de subcontexto entre este e o

supercontexto do contexto de interação complementar. A restrição que define esta relação de

subcontexto é a negação das restrições especificadas na relação de subcontexto entre o

contexto complementar e o supercontexto.

Para exemplificarmos a utilização prática da relação de complementaridade para a

definição de contextos de interação, consideremos novamente a interação para a abertura de

Relatórios de Não Conformidade, descrita no item anterior.

Poderíamos definir o contexto de interação descrito no item 2.1, "RNC não aberto

pelo supervisor, não devido a reclamação de cliente", como sendo o complementar do

contexto "RNC aberto pelo supervisor, não devido a reclamação de cliente" em relação

ao supercontexto "RNC não devido a reclamação de cliente". Note que, para este exemplo,

a identificação do supercontexto comum é indispensável, pois se a complementaridade fosse

absoluta, os RNCs abertos pelo supervisor, devidos a reclamação de cliente e os RNCs não

abertos pelo supervisor, devidos à reclamação de cliente seriam erroneamente associados ao

contexto "RNC não aberto pelo supervisor, não devido a reclamação de cliente" (veja a

figura 3.4).

Page 59: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

46

Figura 3.4: representação correta e errônea do contexto de interação "RNC não aberto pelosupervisor, não devido à reclamação de cliente" utilizando a relação de complementaridade.

2. Possibilidades de escolha disponibilizadas para o usuário, pelo designer

Para algumas tarefas, os designers disponibilizam alternativas para os usuários, tanto a

nível de diálogos que ele pode iniciar, como a nível de enunciados que ele pode emitir6. Como

exemplo, consideremos novamente um Sistema Gerenciador de Biblioteca. No diálogo inicial

de uma interação para pesquisa por publicações, o designer pode permitir que o usuário

escolha entre iniciar ou não um outro diálogo, no qual ele possa informar restrições adicionais

para sua pesquisa, não abordadas no diálogo inicial. Como exemplo de possibilidade de

escolha dentre enunciados de usuário alternativos, considere a interação para cadastro de

publicação, em um Sistema Gerenciador de Biblioteca. O designer pode permitir que o

usuário, ao informar o assunto associado à publicação, escolha entre selecionar um assunto de

6 Observe que o usuário não pode escolher diretamente quais os enunciados de sistema que serão apresentados.

A escolha direta é feita dinamicamente "pelo próprio sistema", que funciona de forma dependente do contexto da

interação, de acordo com o especificado pelo designer. O usuário pode "escolher" enunciados de sistema de

forma indireta, pois suas ações influenciam o contexto da interação.

b) Representação errônea do contexto "RNC nãoaberto pelo supervisor, não devido à reclamação decliente", como complementar absoluto do contexto"RNC aberto pelo supervisor, não devido àreclamação de cliente".

RNC

RNC aberto pelosupervisor, não devidoà reclamação decliente

RNC nãoaberto peloSupervisor

RNC abertopeloSupervisor

RNC não devido àreclamação de cliente

RNC não aberto pelo supervisor, nãodevido à reclamação de cliente

RNC

RNC aberto pelosupervisor, não devidoà reclamação decliente

RNC nãoaberto peloSupervisor

RNC não aberto pelosupervisor, não devidoà reclamação decliente

RNC abertopeloSupervisor

RNC não devido àreclamação de cliente

RNC devido à reclamação de cliente

a) Representação do contexto "RNC não aberto pelosupervisor, não devido à reclamação de cliente",como complementar do contexto "RNC aberto pelosupervisor, não devido à reclamação de cliente" emrelação ao supercontexto comum "RNC não devido àreclamação de cliente".

Page 60: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

47

um conjunto de assuntos pré-definidos ou indicar um novo assunto. As possibilidades de

escolha disponibilizadas para o usuário, pelo designer, podem ser representadas através da

utilização das estruturas seleção e seleção múltipla para articulação de diálogos e enunciados

de usuário.

Convém notar que algumas alternativas disponibilizadas na aplicação para a realização

de uma mesma meta muitas vezes são descobertas pelo usuário a partir do uso da aplicação.

Estas alternativas são possibilitadas por acaso, não tendo sido premeditadas ou previstas pelo

designer.

3. Possibilidade de interrupção e de posterior retomada de passos de tarefas

Para algumas tarefas, o designer pode desejar estabelecer pontos onde elas podem ser

interrompidas e posteriormente retomadas. Por exemplo, considere a tarefa "criar proposta de

contrato de prestação de serviços", no Qualitas. A figura 3.5 ilustra a decomposição desta

tarefa em diálogos. Os diálogos estão representados como retângulos e para aqueles onde a

tarefa pode ser interrompida, a borda é mais grossa. A tarefa é composta pelos seguintes

diálogos: fornecimento de informações sobre o órgão cliente, fornecimento de informações

sobre o contato no cliente, fornecimento de informações sobre o serviço a ser prestado,

elaboração do cronograma para a prestação do serviço e registro da proposta. O usuário pode

interromper a tarefa durante a elaboração do cronograma e durante o registro da proposta, sem

perda das ações realizadas anteriormente a estas etapas. Se ele interromper a tarefa em um

destes diálogos, pode retomá-la posteriormente, podendo retornar a qualquer passo anterior,

exceto o fornecimento de informações sobre o órgão cliente.

A existência de pontos de interrupção em tarefas possibilita cursos alternativos de

interação: o usuário pode executar todos os passos para a realização da tarefa de uma só vez,

ou executar um subconjunto de passos de uma só vez, interrompendo a tarefa antes de

completá-la, para, posteriormente retomá-la no ponto onde parou podendo revisar, ou

não, pontos anteriores. Ele pode, ainda, realizar N interrupções, no mesmo ponto e em

pontos distintos. Na figura 3.5, as setas que apontam para a direita representam o curso de

interação para a execução da tarefa sem interrupções e os caminhos que contém ao menos

uma das setas que apontam para a esquerda representam cursos de execução da tarefa com

interrupções.

Page 61: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

48

Figura 3.5: a decomposição da tarefa "Criar proposta de contrato de prestação de serviços"em diálogos.

É importante representar quais passos de uma tarefa podem ser interrompidos e quais

podem ser retomados após uma interrupção, pois deve existir um ato comunicativo para

transmitir estas decisões do designer ao usuário. Ou seja, este tipo de especificação deve ser

mapeado de alguma forma para a interface, como por exemplo, a existência de um marcador

ou mensagem em diálogos que podem ser interrompidos.

Não é possível representar interrupções de tarefas a partir dos componentes

apresentados na seção anterior. Desta forma, incorporamos a nosso modelo o componente

interrupção. Os passos de uma tarefa são representados em nosso modelo pelos diálogos que

a compõem. Desta forma, uma interrupção associa uma tarefa a um dos diálogos que a

compõem, indicando que este é um ponto de interrupção da tarefa. Os pontos de interrupção

são também os pontos de entrada para a continuação da tarefa. Embora a tarefa deva ser

sempre retomada a partir do ponto de interrupção, a interrupção também pode definir quais

pontos da tarefa (diálogos) anteriores a este podem ser revisados, quando o usuário retoma

a tarefa, caso haja.

Resumo dos componentes propostos para representar interações alternativas

A tabela 3.4 sumariza os componentes propostos para a representação de

possibilidades de interação alternativas, apresentando os fatores que as determinam e os

componentes do modelo de interação identificados em nosso modelo a partir da análise destes

fatores.

Forn. de Info.sobre Cliente

Forn. de Info.sobre Contato

Forn. de Info.sobre Serviço

Elaboração doCronograma

Registro daProposta

Page 62: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

49

Fatores que Determinam Possibilidades deInteração Alternativas

Componentes do Modelo de InteraçãoDerivado

Estado da aplicação no momento da interação Contextos de interaçãoPossibilidades de escolha disponibilizadaspelo designer para o usuário

Tipos de articulação seleção e seleçãomúltipla

Mudanças dinâmicas no diálogo decorrentesde ações do usuário ao longo da interação

Eventos de diálogo

Tabela 3.4: Componentes do modelo de interação identificados a partir da análise de fatoresque determinam possibilidades de interação alternativas.

3.2.4 Componentes necessários para representar aplicações multi-usuário

Para ser abrangente, nosso modelo precisa considerar não somente aplicações mono-

usuário, mas também aplicações multi-usuário. Embora as mesmas questões consideradas

para o design de aplicações mono-usuário sejam relevantes para o design de aplicações multi-

usuário, este ainda requer a consideração de novas questões. Estas questões dizem respeito a

informações adicionais que precisam ser representadas na fase de modelagem da aplicação

pois influenciam sua funcionalidade e sua interface. São elas: os papéis dos membros e a

hierarquia da organização, os modelos colaborativos e as habilidades comunicativas dos

membros da organização sobre os objetos do domínio [Prates, 1998]. O modelo no qual estas

informações são representadas pode ser chamado de modelo de grupo.

Os componentes do modelo de grupo influenciam a interação em importantes

aspectos: influenciam as restrições de acesso a funções da aplicação, determinando diferentes

visões desta para diferentes tipos de usuários, além de determinar quais são as possibilidades

de comunicação entre usuários. Os papéis e a hierarquia influenciam as restrições de acesso a

funções e diferentes visões da aplicação, pois determinam qual é a distribuição da autoridade

entre o grupo. As informações sobre os objetos do domínio e suas habilidades comunicativas

determinam diferentes visões sobre estes objetos e restrições de acesso a operações

comunicativas sobre eles.

As possibilidades de comunicação entre usuários são muito bem representadas pelo

meta-modelo para a representação do modelo de grupo como parte da mensagem do designer,

definido em [Prates, 1998]. Entretanto, como este modelo não representa funções ou tarefas,

as restrições de acesso a funções não são representadas. Desta forma, criamos mecanismos

somente para representação deste aspecto do modelo de grupo que influencia a interação.

Page 63: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

50

As restrições de acesso a funções da aplicação determinam diferentes visões desta para

diferentes tipos de usuários. Estas diferentes visões de interfaces representam quais diálogos

cada tipo de usuário pode iniciar e o que eles e o sistema podem enunciar nestes diálogos. Por

exemplo, em um Sistema Gerenciador de Biblioteca, somente o bibliotecário pode iniciar o

diálogo para o cadastro de publicações, pois é ele quem decidirá como organizá-las. A visão

da aplicação para um atendente, não apresentará diálogos para o cadastro de publicações.

Para representar as restrições de acesso a funções da aplicação decorrentes da estrutura

hierárquica do grupo, incorporamos ao nosso modelo o componente papel de usuário. Este

componente é caracterizado por dois atributos: o conjunto de tarefas que podem ser

executadas por usuários que exerçam o papel representado e o conjunto de papéis definidos

pela organização, superiores a ele. Definido desta forma, o componente permite a

representação de restrições ao acesso a funções da aplicação associadas ao papel do usuário.

As restrições quanto à inicialização de diálogos e ocorrência de enunciados de sistemas

associadas ao papel do usuário podem ser representadas através de contextos de interação, que

sejam caracterizados, entre outras coisas, pelo papel do usuário que está interagindo na

situação representada pelo contexto de interação.

Page 64: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

51

Capítulo 4

Tipos Semânticos de Tarefas, Diálogos e Enunciados

Neste capítulo apresentamos os conjuntos de tipos semânticos de tarefas, diálogos e

enunciados propostos neste trabalho com o objetivo de facilitar a conscientização de

designers a respeito de suas intenções de comunicação. Ainda neste capítulo apresentamos

sugestões para o mapeamento entre os tipos semânticos identificados, elaboradas para auxiliar

designers a especificar cenários de interação de consistentes e de qualidade através do

formalismo proposto. Na seção 4.1 apresentamos tipos semânticos de tarefas, na seção 4.2

apresentamos tipos semânticos de diálogos e na seção 4.3 apresentamos tipos semânticos de

enunciados. Na seção 4.4 apresentamos nossas sugestões para a realização do mapeamento

entre os tipos semânticos apresentados.

4.1 Tipos Semânticos de Tarefas

Nesta seção apresentamos um conjunto de tipos semânticos de tarefas identificados

com base em sistemas de workflow baseados na web, desenvolvidos no TecGraf,

principalmente com base no Qualitas. Este é apenas um conjunto inicial e está aberto a

modificações. Foram identificados dois grupos de tipos semânticos de tarefas: tarefas que

atuam sobre objetos do domínio e tarefas que atuam sobre processos. A figura 4.1 ilustra estes

tipos, os quais serão descritos a seguir.

Page 65: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

52

Tipos Semânticos de Tarefas

Tarefa que AtuaSobre Objeto do

Domínio

NotaçãoClasse

Relação de Herança: aclasse B é subclasse daclasse A.

A

<nome_classe>

B

Criação

Edição

Consulta aInformações

Destruição EncerramentoAvaliação

Registro deAtividadeComunicação

Tarefa

Desativação

Tarefa que AtuaSobre Processo

Planejamento

Figura 4.1: Tipos semânticos de tarefas identificados.

4.1.1 Tipos Semânticos de Tarefas que Atuam sobre Objetos do Domínio

A seguir apresentamos tipos semânticos de tarefas identificados que atuam sobre

objetos do domínio.

Criação

Este tipo semântico equivale a tarefas de criação de objetos do domínio, como, por

exemplo, a inclusão de uma publicação no cadastro de um Sistema Gerenciador de Biblioteca.

Edição

Este tipo semântico corresponde a tarefas de edição de informações sobre objetos do

domínio já criados, como, por exemplo, a edição de informações sobre uma publicação, em

um Sistema Gerenciador de Biblioteca.

Page 66: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

53

Consulta a Informações

Este tipo semântico equivale a tarefas de consulta a informações sobre objetos do

domínio, como, por exemplo, a busca por informações sobre uma publicação, em um Sistema

Gerenciador de Biblioteca.

Comunicação

Este tipo semântico corresponde a tarefas de comunicação de informações referentes a

assuntos do domínio, para outras pessoas, através do sistema. Um exemplo deste tipo de tarefa

em um Sistema Gerenciador de Biblioteca é o envio de uma mensagem para locatários que

estão há mais de uma semana com atraso na devolução de publicações.

Destruição

Este tipo semântico equivale a tarefas de destruição completa de informações sobre

objetos do domínio. Um exemplo deste tipo de tarefa, em um Sistema Gerenciador de

Bibliotecas seria a exclusão do registro de uma publicação do cadastro do sistema.

4.1.2 Tipos Semânticos de Tarefas que Atuam sobre Processos

A seguir apresentamos tipos semânticos de tarefas identificados que atuam sobre

processos.

Planejamento

Este tipo semântico corresponde a tarefas de planejamento de atividades, como, por

exemplo, a elaboração de um plano de ações corretivas para o tratamento de uma não

conformidade na prestação de um serviço, registrada no Qualitas.

Registro de Atividade

Este tipo semântico equivale a tarefas de registro de informações sobre execução de

atividades, como, por exemplo, o registro da execução de uma ação de um plano de ações

corretivas.

Page 67: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

54

Avaliação

Este tipo semântico corresponde a tarefas de tomada de decisão sobre o

prosseguimento ou mudança de etapa em um processo de trabalho1, como, por exemplo, a

verificação da eficácia de um plano de ações corretivas, no Qualitas. Após a execução de

todas as ações do plano, seu supervisor deve analisar se as ações remediaram a não

conformidade e, a partir desta análise, decidir se deve ser feito um novo plano de ações ou se

o processo pode ser encerrado.

Desativação

Este tipo semântico equivale a tarefas de desativação de um processo de trabalho, de

forma que informações referentes a ele sejam mantidas. Um exemplo deste tipo de atividade

no Qualitas é o cancelamento de um processo de tratamento de uma não conformidade.

Encerramento

Este tipo semântico corresponde a tarefas de encerramento por vias normais (sem

desativação ou destruição) de um processo de trabalho, como, por exemplo, o encerramento

de um processo de tratamento de uma não conformidade, no qual o supervisor informa suas

conclusões.

4.2 Tipos Semânticos de Diálogos

Nesta seção descrevemos o conjunto de tipos semânticos de diálogos identificado.

Apesar de este conjunto também ter sido elaborado a partir de sistemas de workflow, os tipos

identificados são independentes de domínio e de contexto. Ainda assim, o conjunto é inicial e

não está fechado para modificações. Os tipos semânticos de diálogos identificados estão

classificados em dois grandes grupos: diálogos onde o usuário é o falante predominante e

diálogos onde o falante predominante é o sistema. Nas próximas seções descreveremos os

tipos semânticos de diálogos em termos das intenções do designer ao propor o diálogo e em

termos do efeito que o falante predominante deseja causar sobre o ouvinte. É importante

1 Um processo de trabalho pode ser definido como "um conjunto de um ou mais procedimentos ou atividades

conectadas que, coletivamente, realizam um objetivo de trabalho ou meta de um plano, normalmente no contexto

de uma estrutura organizacional que define papéis e relacionamentos funcionais." [Lawrence, 1997].

Page 68: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

55

ressaltar que os participantes do diálogo só podem desejar causar efeitos permitidos pelo

designer e que quando o sistema é o falante predominante, ele é apenas um porta-voz do

designer, ou seja, quem deseja causar efeitos com a "fala do sistema" é o designer e não o

sistema.

A figura 4.2 ilustra uma classificação dos tipos semânticos de diálogos identificados

neste trabalho. A seguir, descreveremos cada um destes tipos.

Tipos Semânticos de Diálogos

Apresentaçãode InformaçãoReferente ao

Domínio

Comunicaçãode SistemaFornecimento

de Informaçãode Controle

Solicitaçãode

Informaçãoao Sistema

Ajuda Feedback

Diálogo

Diálogo onde o Usuário é oFalante Predominante

Diálogo onde o Sistema éFalante Predominante

Seleção

Controlede Função

Customização

Solicitaçãode Ajuda

Solicitação deInformação

Referente aoDomínio

Fornecimentode InformaçãoReferente ao

Domínio

Confirmaçãode Operação

Comunicaçãode Usuário

Comunicaçãode UsuárioSíncrona

Comunicaçãode UsuárioAssíncrona

Notação

Classe Relação de Herança: aclasse B é subclasseda classe A.

A<nome_c lasse

>

B

Fornecimentode Informação

ao Sistema

Figura 4.2: Tipos semânticos de diálogos identificados.

4.2.1 Tipos Semânticos de Diálogos onde o Usuário é o Falante Predominante

Os tipos semânticos de diálogos onde o usuário é o falante predominante estão

classificados em três grupos: diálogos para o fornecimento de informação ao sistema, diálogos

para a solicitação de informação ao sistema e diálogos para a comunicação de usuário.

Apresentaremos a seguir os tipos semânticos pertencentes a cada um destes grupos.

Page 69: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

56

Diálogos para o Fornecimento de Informação ao Sistema

Nestes tipos de diálogo o objetivo do designer é permitir que o usuário forneça ao

sistema algum tipo de informação necessária para a realização de suas tarefas. Existem

diálogos para Fornecimento de Informação Referente ao Domínio e diálogos para

Fornecimento de Informação de Controle.

Diálogos para o Fornecimento de Informação Referente ao Domínio são propostos

pelo designer para permitir ao usuário fornecer este tipo de informação, como por exemplo,

um diálogo para o fornecimento de informações sobre uma publicação, em um Sistema

Gerenciador de Biblioteca. Observe que as informações referentes ao domínio podem

compreender tanto os conceitos do domínio original como os introduzidos com a tecnologia.

Ao propor diálogos do tipo Fornecimento de Informação de Controle, o principal

efeito desejado pelo designer é que o usuário forneça informações de controle ao sistema. O

designer deseja comunicar que o usuário tem o controle da aplicação, ou seja, que ele tem

"livre arbítrio". Do ponto de vista do usuário, o efeito desejado, ao acionar estes tipos de

diálogo, é que o sistema obedeça o seu controle. Existem três tipos semânticos de diálogos

para Fornecimento de Informação de Controle: Seleção, Controle de Função e

Customização. Seleção corresponde a diálogos definidos para que o usuário escolha o que

quer fazer, dentre um conjunto de opções fornecidas pelo sistema como, por exemplo, o menu

de opções de um Sistema Gerenciador de Biblioteca. Controle de Função equivale a diálogos

definidos para que o usuário possa controlar a execução de uma função, ao mesmo tempo em

que toma conhecimento do progresso da execução. Um exemplo deste tipo de diálogo seria

um diálogo apresentado durante a realização de um Backup do banco de dados de um Sistema

Gerenciador de Biblioteca para indicar o estado de execução da função e possibilitar seu

cancelamento. Customização corresponde a diálogos estabelecidos para que o usuário possa

ajustar aspectos do sistema conforme suas preferências. Um exemplo deste tipo de diálogo

seria um diálogo para a configuração de impressão.

Diálogos para a Solicitação de Informação ao Sistema

Ao propor diálogos deste tipo, a principal intenção do designer é permitir que o

usuário solicite informações ao sistema. Da mesma forma, a intenção do usuário ao acioná-lo

é que o sistema forneça as informações de que ele necessita. Existem dois tipos semânticos de

Page 70: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

57

diálogos classificados como Solicitação de Informação ao Sistema. Solicitação de

Informação Referente ao Domínio (conceitos do domínio original e/ou introduzidos com a

tecnologia) corresponde a diálogos definidos com o propósito de que o usuário solicite

informações desta natureza, como, por exemplo, um diálogo para montagem de consultas ao

banco de dados da aplicação. Solicitação de Ajuda caracteriza diálogos criados para que o

usuário solicite informações de ajuda para saber mais sobre um determinado tópico como, por

exemplo, um diálogo para busca de informação no banco de dados de ajuda.

Diálogos para a Comunicação de Usuário

A principal intenção do designer ao propor estes tipos de diálogo é permitir que o

usuário forneça informações relativas a uma ou mais comunicações que deseja fazer com um

ou mais agentes, através do sistema. O efeito desejado pelo usuário, ao acionar este tipo de

diálogo, é que o sistema envie sua(s) comunicação(ões) ao(s) devido(s) destinatário(s). Se a(s)

comunicação(ões) permitida(s) for(em) síncrona(s), o diálogo é classificado como

Comunicação de Usuário Síncrona. Se for(em) assíncrona(s), ele é classificado como

Comunicação de Usuário Assíncrona.

Para exemplificar, considere que um Sistema Gerenciador de Biblioteca possibilite ao

administrador comunicar-se com usuários que estão há mais de uma semana com atraso na

devolução de publicações. O diálogo proposto para a realização desta comunicação é

classificado como Comunicação de Usuário Assíncrona. Já um diálogo onde dois usuários se

comunicam sincronamente, como por exemplo, através de um chat como o ICQ, pode ser

classificado como Comunicação de Usuário Síncrona.

4.2.2 Tipos Semânticos de Diálogos onde o Sistema é o Falante Predominante

Os diálogos onde o sistema é o falante predominante são quase monólogos do sistema,

mas não podem ser considerados como tal, pois o usuário atua no diálogo, ainda que

minimamente. Eventualmente ele solicita detalhes ou esclarecimentos sobre uma determinada

informação e, ao fim do diálogo, ele sempre toma uma decisão sobre o que fazer depois de

analisar tudo o que foi apresentado pelo sistema, decisão esta que determina o próximo

diálogo a ser travado. A seguir descrevemos os tipos semânticos de diálogos onde o sistema é

o falante predominante.

Page 71: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

58

Apresentação de Informação Referente ao Domínio

A principal intenção do designer ao propor um diálogo deste tipo é apresentar, ao

usuário, informações relativas a conceitos do domínio original e/ou introduzidos com a

tecnologia. Podem ser apresentadas informações sobre um único objeto ou sobre um grupo de

objetos. Um exemplo de diálogo para Apresentação de Informação Referente ao Domínio, em

um Sistema Gerenciador de Biblioteca, é um diálogo para apresentação de informações sobre

uma publicação.

Confirmação de Operação

Um diálogo com semântica de Confirmação de Operação é proposto quando o

designer tem a intenção de permitir ao usuário confirmar operações que podem ter

conseqüências importantes para o estado da aplicação, incluindo conseqüências que podem

ser revertidas, como a inclusão ou alteração de informações e conseqüências que não o

podem, como a destruição de informações. Neste tipo de diálogo, além de perguntar, através

do sistema, se o usuário deseja ou não confirmar a operação, o designer deve apresentar

informações referentes a operação (que podem se referir ou não a objetos do domínio) que

auxiliem o usuário a tomar sua decisão. Um exemplo de diálogo com semântica de

Confirmação de Operação em um Sistema Gerenciador de Biblioteca é o diálogo para a

confirmação das informações fornecidas para cadastro de uma publicação, no qual o sistema

apresenta todas as informações fornecidas, de forma que o usuário possa revisá-las e verificar

se deve alterá-las antes de confirmar o término da tarefa.

Ajuda

O designer apresenta diálogos deste tipo quando tem a intenção de eliminar dúvidas

que o usuário possa ter sobre a realização de uma tarefa com utilização da aplicação ou

ensiná-lo a realizá-la desde o início. Qualquer diálogo onde é apresentada informação de

ajuda em qualquer sistema exemplifica este tipo semântico.

Feedback

Estes diálogos são apresentados pelo designer para informar ao usuário sobre o

resultado de suas últimas ações. O efeito desejado pelo designer é que o usuário não fique

Page 72: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

59

insatisfeito ou inseguro por não saber se as ordens que deu foram ou estão sendo cumpridas e,

no caso de estarem sendo cumpridas, quanto tempo ainda vão demorar. Um exemplo deste

tipo de diálogo, possível em qualquer aplicação, seria um onde o sistema informasse ao

usuário que as informações que ele forneceu foram armazenadas com sucesso.

Comunicação de Sistema

Estes diálogos são apresentados pelo designer, quando ele tem a intenção de realizar

uma comunicação síncrona do sistema com um ou mais usuários sobre fatos de seu interesse

ou que influenciarão sua utilização do sistema como, por exemplo, o quadro de avisos sobre

tarefas pendentes do Qualitas. O efeito desejado pelo designer é auxiliar o usuário na

realização de suas tarefas.

4.3 Tipos Semânticos de Enunciados

Cada enunciado componente de diálogos pré-estabelecidos pelo designer é

disponibilizado por ele com um determinado propósito. Os enunciados de usuário são a

expressão das intenções de comunicação do usuário permitidas pelo designer. Os enunciados

de sistema representam as intenções de comunicação do próprio designer, tendo o sistema

como porta-voz. Para que a especificação de modelos de interação baseados em nosso meta-

modelo permita que o designer explicite estas intenções de comunicação, identificamos tipos

semânticos de enunciados de usuário e de sistema, independentes de domínio e de contexto.

Os tipos semânticos identificados serão descritos a seguir.

4.3.1 Tipos Semânticos de Enunciados de Usuário

Nesta seção apresentamos os tipos semânticos de enunciados de usuário identificados

neste trabalho. A figura 4.3 ilustra estes tipos. Há dois tipos principais dos quais todos os

demais tipos são subtipos: Fornecimento de Informação, Controle da Interação e

Solicitação de Informação. Descreveremos estes tipos e seus subtipos de enunciados de

usuário nas próximas seções.

Page 73: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

60

Reinicializaçãodo Diálogo

Controle daInteração

Tipos Semânticos de Enunciados de Usuário

Fornecimento deInformação Referente

ao Domínio

Customização

Mudança deTópico

Controlede Função

Acionamentode Função

Cancelamentode Função

Interrupçãode Função

Retomada deFunção

Controle doFluxo da

Tarefa

ConfirmaçãoLocal

Solicitaçãode Revisão

ConfirmaçãoParcial

ConfirmaçãoTotal

Controle doDiálogo

Interrupçãodo Diálogo

Retomadado Diálogo

Cancelamentodo Diálogo

Solicitação deExtensão do

Diálogo

Solicitação deInformação

Solicitação deDetalhes

Solicitaçãode Ajuda

ComunicaçãoInterpessoal

ComunicaçãoAssíncrona

ComunicaçãoSíncrona

Solicitação deCancelamento

da Tarefa

Fornecimentode Informação

Enunciadode Usuário

Notação

Classe

Relação de Herança: ac lasse B é subclasse daclasse A.

A

<nome_c lasse>

B

Figura 4.3: Tipos semânticos de enunciados de usuário identificados.

Enunciados para o Fornecimento de Informação

Estes tipos de enunciados objetivam fornecer ao sistema algum tipo de informação

necessária para a realização da tarefa. Seus três subtipos serão apresentados a seguir.

Customização

Este tipo de enunciado é emitido pelo usuário quando ele deseja ajustar aspectos do

sistema conforme suas preferências para a configuração da aplicação. Considerando-se um

Page 74: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

61

Sistema Gerenciador de Biblioteca, um exemplo deste tipo de enunciado seria a informação

sobre o número máximo de publicações que devem ser exibidas por diálogo onde são

apresentados resultados de pesquisa por publicações, sem que o usuário tenha que acionar a

exibição das próximas publicações.

Comunicação Interpessoal

Emitindo estes tipos de enunciado, o usuário tem por objetivo se comunicar com

outros usuários através do sistema. Há dois subtipos de enunciados do tipo Comunicação.

Comunicação Síncrona representa comunicações síncronas como, por exemplo, as

mensagens enviadas através de chats como o ICQ. Comunicação Assíncrona representa

comunicações assíncronas como, por exemplo textos de e-mails, os quais são mensagens que

podem vir a ser lidas pelo destinatário muito tempo depois de emitidas.

Fornecimento de Informação Referente ao Domínio

Este tipo semântico representa enunciados emitidos pelo usuário quando ele tem a

intenção de comunicar ao sistema informações referentes ao domínio requisitadas por este em

nome do designer. Estas informações estão sempre associadas a um conceito da aplicação (do

domínio original ou introduzido com a tecnologia) definido. Como exemplos, consideremos

os enunciados nos quais o bibliotecário informa o título de uma publicação ou o código de

barra fixado a ela, ao cadastrá-la em um Sistema Gerenciador de Biblioteca.

Enunciados para Controle da Interação

A intenção que o usuário tem quando emite um enunciado do tipo Controle da

Interação é solicitar o controle de algum aspecto da interação, como o fluxo da tarefa, a

ocorrência dos diálogos, as funções do sistema ou até mesmo a leitura de informações. A

seguir descreveremos os subtipos do tipo Controle da Interação.

Mudança de Tópico

Este enunciado é emitido quando o usuário deseja mudar de tópico e sempre causa a

finalização do diálogo ativo. Um exemplo de enunciado da classe Mudança de Tópico é o

acionamento de uma âncora para uma referência citada por uma publicação. Com esta

Page 75: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

62

interação, usuário e sistema passam a "falar" sobre a publicação referenciada, deixando de

falar sobre a publicação que a cita.

Controle de Função

Emitindo estes tipos de enunciado, o usuário tem por objetivo controlar a execução de

uma função. Há quatro tipos de enunciados do tipo Controle de Função. Acionamento de

Função representa enunciados emitidos pelo usuário quando ele tem o objetivo requisitar a

execução de uma função da aplicação. Interrupção de Função representa enunciados

emitidos pelo usuário quando ele tem o objetivo de interromper temporariamente a execução

de uma função. Retomada de Função representa enunciados emitidos pelo usuário quando

ele tem o objetivo de retomar a execução interrompida de uma função. Cancelamento de

Função classifica enunciados emitidos pelo usuário quando ele tem o objetivo de cancelar a

execução de uma função.

Para exemplificar os enunciados do tipo Controle de Função, consideremos a interação

para a realização de Backup do banco de dados de um Sistema Gerenciador de Biblioteca.

Para iniciar o Backup o usuário emite um enunciado de Acionamento de Função. O designer

pode disponibilizar um diálogo, durante a execução da função Backup, que permita ao usuário

interrompê-la (Interrupção de Função) para posteriormente retomá-la (Retomada de

Função) ou cancelá-la (Cancelamento de Função).

Controle do Diálogo

Emitindo estes tipos de enunciado, o usuário tem por objetivo controlar o diálogo

corrente. A identificação destes tipos de enunciados baseia-se nos controles de ocorrência de

diálogo apresentados no capítulo anterior. Há seis subtipos de enunciados do tipo Controle

do Diálogo. Interrupção do Diálogo representa enunciados emitidos pelo usuário quando ele

deseja interromper temporariamente o diálogo corrente. Retomada do Diálogo representa

enunciados emitidos quando o usuário deseja retomar um diálogo interrompido.

Cancelamento do Diálogo representa enunciados cujo objetivo é cancelar o diálogo. Observe

que o cancelamento de um diálogo pode representar a interrupção da tarefa corrente, mas não

o seu cancelamento. Reinicialização do Diálogo representa enunciados cujo objetivo é

reiniciar o diálogo inerente à interação com ou sem sugestões do sistema. Solicitação de

Extensão do Diálogo representa enunciados cujo objetivo é solicitar a extensão do diálogo,

Page 76: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

63

ou seja, solicitar alterações dinâmicas no diálogo, como por exemplo, a inclusão de

enunciados.

Para exemplificar estes tipos de enunciados, consideremos um Sistema Gerenciador de

Biblioteca. Em uma interação para a apresentação de resultados de uma pesquisa por

publicações, podem ser apresentadas âncoras para diversos diálogos, cada diálogo associado à

apresentação de informações sobre uma das publicações encontradas pela pesquisa. Ao

interagir com um destes diálogos o usuário pode desejar interrompê-lo temporariamente

(Interrupção do Diálogo) para acionar outro e posteriormente retomá-lo (Retomada do

Diálogo) ou até cancelá-lo (Cancelamento do Diálogo).

Para exemplificar enunciados do tipo Reinicialização do Diálogo, consideremos que

devido à chegada de novos exemplares à biblioteca, um bibliotecário está alterando a

informação sobre a quantidade de exemplares de publicações seguindo um roteiro escrito em

papel. Após alterar a quantidade de exemplares da publicação "A", ele percebe que leu o

número de novos exemplares da publicação "B". Para desfazer sua alteração, ao invés de

subtrair da quantidade de exemplares de "A" a quantidade de novos exemplares de "B", ele

prefere emitir um enunciado do tipo Reinicialização do Diálogo, aceitando as sugestões do

sistema para seus enunciados. Como estas sugestões indicam os valores originais das

informações referentes à publicação "A" antes da alteração, ele obtém a quantidade original

de exemplares de "A".

Para exemplificar enunciados do tipo Solicitação de Extensão do Diálogo, considere

um diálogo para cadastro de informações sobre uma publicação. Neste diálogo o designer

pode sugerir que o usuário informe até 10 palavras-chave, mas pode permitir que ele estenda

o diálogo caso deseje fornecer mais palavras-chave. Ao solicitar esta extensão, o usuário

emite um enunciado com semântica Solicitação de Extensão do Diálogo.

Controle do Fluxo da Tarefa

Emitindo estes tipos de enunciado, o usuário tem por objetivo controlar o fluxo da

tarefa que está executando através da interação com o sistema. Há cinco subtipos de

enunciado do tipo Controle do Fluxo da Tarefa. Solicitação de Revisão representa

enunciados emitidos pelo usuário quando ele deseja revisar passos anteriores da tarefa que

está executando. Confirmação Parcial representa enunciados emitidos pelo usuário quando

Page 77: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

64

ele deseja confirmar tudo o que já realizou da tarefa até um determinado instante e prosseguir

para o próximo passo do fluxo da tarefa. Confirmação Local representa enunciados emitidos

pelo usuário quando ele deseja confirmar tudo o que já realizou da tarefa até um determinado

instante sem avançar no seu fluxo. Confirmação Total representa enunciados emitidos pelo

usuário quando ele deseja confirmar a completude da tarefa. Solicitação de Cancelamento

da Tarefa representa enunciados que o usuário emite com a intenção de cancelar a tarefa.

Para exemplificar os enunciados para controle de fluxo de tarefa descritos, considerem

novamente um Sistema Gerenciador de Biblioteca. Em uma interação para cadastro de

publicação, o usuário poderia escolher entre salvar as informações já fornecidas sem

prosseguir (Confirmação Local) ou prosseguindo com a tarefa (Confirmação Parcial) para

uma interação para confirmação das informações fornecidas. Nesta interação o usuário

poderia escolher entre revisar as informações fornecidas (Solicitação de Revisão) ou

confirmá-las (Confirmação Total) concluindo a tarefa. E em qualquer diálogo componente

da tarefa o usuário pode decidir cancelá-la (Solicitação de Cancelamento da Tarefa).

Os enunciados para Controle do Fluxo da Tarefa sempre causam a inicialização de um

novo diálogo, causando a finalização do diálogo ativo, excetuando-se enunciados do tipo

Confirmação Local, que mantêm o mesmo diálogo.

Enunciados para Solicitação de Informação

Os enunciados deste tipo são emitidos pelo usuário quando ele tem a intenção de

solicitar alguma informação ao sistema. Estes tipos de enunciado sempre causam a

inicialização de um novo diálogo, sem finalizar o diálogo ativo (apenas o interrompem

temporariamente). A seguir descreveremos os dois tipos de enunciados para a solicitação de

informação identificados.

Solicitação de Detalhes

Este tipo semântico representa enunciados com os quais o usuário objetiva obter mais

detalhes sobre informação referente a um conceito da aplicação, já apresentada pelo sistema

no diálogo. Por exemplo, considerando-se um Sistema Gerenciador de Biblioteca, podemos

classificar como Solicitação de Detalhes o acionamento de uma âncora para o resumo do

Page 78: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

65

conteúdo de uma publicação em um diálogo onde o sistema apresenta informações sobre a

publicação.

Solicitação de Ajuda

Este tipo semântico representa enunciados que objetivam obter informações de ajuda.

Como exemplos, podemos considerar o acionamento de uma âncora para um texto de ajuda,

em qualquer sistema.

Sobreposição de Tipos Semânticos de Enunciados de Usuário

Alguns enunciados de usuário podem ser instâncias de mais de um dos tipos

semânticos apresentados. Para exemplificar isto, consideremos o Qualitas. Uma das

características do domínio deste sistema é que algumas das comunicações referentes à

prestação de serviços enviadas e recebidas pelos funcionários da organização devem ser

guardadas como documentos associados a estes serviços. Desta forma, um enunciado do

usuário onde ele informa ao sistema uma comunicação que deseja fazer a outra pessoa,

através do sistema, instancia, ao mesmo tempo, os tipos semânticos Comunicação de

Usuário Assíncrona e Fornecimento de Informação Referente ao Domínio (neste caso o

objeto é o serviço prestado). A tabela 4.1 apresenta esta e outras possíveis sobreposições de

tipos semânticos de enunciados de usuário identificadas neste trabalho.

Page 79: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

66

Tipo Semântico Possíveis SobreposiçõesCustomização Fornecimento de Informação Referente ao

Domínio, Comunicação InterpessoalComunicação Interpessoal Customização, Fornecimento de Informação

Referente ao DomínioFornecimento de Informação Referenteao Domínio

Customização, Comunicação Interpessoal

Solicitação de Detalhes Mudança de Tópico, Interrupção do Diálogo,Cancelamento do Diálogo

Solicitação de Ajuda Mudança de Tópico, Interrupção do DiálogoMudança de Tópico Solicitação de Detalhes, Solicitação de Ajuda,

Interrupção do Diálogo, Cancelamento do Diálogo,Solicitação de Cancelamento da Tarefa, Retomadado Diálogo (outro, que aborda o novo tópico)

Acionamento de Função Confirmação Total, Confirmação Parcial,Cancelamento do Diálogo

Interrupção de Função Interrupção do Diálogo, Cancelamento do Diálogo,Retomada do Diálogo (outro)

Retomada de Função Retomada do DiálogoCancelamento de Função Cancelamento do DiálogoInterrupção do Diálogo Interrupção de Função, Retomada do Diálogo

(outro)Retomada do Diálogo Mudança de Tópico, Retomada de Função,

Interrupção de Função, Interrupção do Diálogo(outro), Cancelamento do Diálogo (outro)

Cancelamento do Diálogo Mudança de Tópico, Acionamento de Função,Cancelamento de Função, Solicitação deCancelamento da Tarefa,Retomada do Diálogo (outro)

Solicitação de Revisão Cancelamento do DiálogoConfirmação Parcial Cancelamento do DiálogoConfirmação Total Cancelamento do DiálogoSolicitação de Cancelamento da Tarefa Mudança de Tópico, Cancelamento do Diálogo

Tabela 4.1: Sobreposições de tipos semânticos de enunciados de usuário identificadas nestetrabalho.

4.3.2 Tipos Semânticos de Enunciados de Sistema

A seguir apresentaremos os tipos semânticos de enunciados que o sistema pode emitir

representando o designer, identificados neste trabalho. A figura 4.4 ilustra estes tipos

semânticos.

Page 80: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

67

Enunciadode Sistema

Tipos Semânticos de Enunciados de Sistema

Apresentaçãode InformaçãoReferente ao

DomínioComunicação

de UsuárioRemoto

Parêntese

Comunicaçãode Sistema

AjudaPreventiva

Solicitaçãode

Informação

Aposto

InformaçãoContextual

Ajuda

Feedback

AjudaCorretiva

AjudaExplicativa

Notação

Classe Relação de Herança: ac lasse B é subc lasseda c lasse A.

A<nome_classe

>

B

Comunicaçãode Usuário

RemotoSíncrona

Comunicaçãode Usuário

RemotoAssíncrona

Figura 4.4: a hierarquia de tipos semânticos de enunciados de sistema identificados.

Solicitação de Informação

Enunciados deste tipo objetivam solicitar que o usuário forneça informações. Um

exemplo deste tipo de enunciado em um Sistema Gerenciador de Biblioteca, é a solicitação do

título de uma publicação em um diálogo para o fornecimento de informações sobre este objeto

do domínio.

Apresentação de Informação Referente ao Domínio

Enunciados com esta semântica objetivam apresentar ao usuário informações

associadas a conceitos da aplicação (original ou introduzidos com a tecnologia), como, por

exemplo, o título de uma publicação ou qualquer outra informação associada a ela.

Aposto

Enunciados deste tipo estão sempre associados a outros enunciados de sistema. Eles

funcionam como apostos para estes enunciados, indicando para o usuário o que significa a

informação que eles apresentam. Por exemplo, "ISBN:" é um aposto para "0-201-62769-8",

que é uma apresentação de uma informação (ISBN) referente conceito do domínio (Livro).

Page 81: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

68

Informação Contextual

Um enunciado deste tipo objetiva apresentar informações que indiquem o tópico, o

subtópico ou o foco que estão sendo discutidos em um diálogo. Um exemplo de Informação

Contextual é a descrição da tarefa que está sendo executada ou alguma informação que

identifique o objeto específico do domínio que está sendo manipulado durante a tarefa. No

diálogo para cadastro de publicação, em um Sistema Gerenciador de Biblioteca, os

enunciados "Alteração de Publicação", "Human Computer Interaction" e "Jenny Preece et.

al." podem ser usados para contextualizar a tarefa, indicando o tópico (tarefa sendo

executada) e o foco (objeto do domínio manipulado).

Ajuda

Os enunciados do tipo Ajuda têm o propósito de auxiliar o usuário na utilização do

sistema, seja com informações sobre a interface ou sobre o domínio da aplicação. Há três

classes de enunciado do tipo Ajuda. Ajuda Preventiva classifica enunciados que objetivam

evitar que o usuário cometa erros. Eles se caracterizam por serem emitidos para o usuário sem

que ele os solicite. Ajuda Corretiva classifica enunciados que objetivam auxiliar o usuário a

corrigir erros já ocorridos, sendo emitidos sempre que ocorre algum erro para o qual a

correção é de conhecimento do designer. Ajuda Explicativa classifica enunciados que

objetivam eliminar dúvidas que o usuário possa ter sobre a realização de uma tarefa com

utilização da aplicação ou ensiná-lo a realizá-la desde o início. Estes enunciados são emitidos

somente quando solicitados pelo usuário, quando este deseja saber mais sobre como utilizar o

sistema ou sobre o próprio domínio da aplicação.

Feedback

Enunciados com esta semântica têm o propósito de informar ao usuário sobre o

resultado de suas últimas ações ou sobre o andamento de uma tarefa longa executada pelo

sistema, para não deixá-lo sem uma resposta e manter a conversa. Um exemplo de enunciado

do tipo Feedback, em um Sistema Gerenciador de Biblioteca, seria uma mensagem que

indicasse que as informações fornecidas pelo usuário ao cadastrar uma publicação, foram

armazenadas com sucesso.

Page 82: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

69

Parêntese

Enunciados deste tipo representam um parêntese no diálogo entre usuário e sistema,

uma informação que tem apenas uma relação indireta com o tópico sendo discutido, como,

por exemplo, um pequeno resumo da biografia de Paramahansa Yogananda em um diálogo

onde o sistema apresenta informações sobre um livro escrito por ele.

Comunicação de Sistema

Enunciados deste tipo objetivam comunicar, sincronamente, ao usuário, fatos de seu

interesse ou que influenciarão a sua utilização do sistema, como por exemplo avisos sobre

tarefas de sua responsabilidade que estejam pendentes. Considerando-se um Sistema

Gerenciador de Biblioteca, um exemplo de comunicação síncrona é uma mensagem

apresentada ao administrador da biblioteca assim que ele entra no sistema, informando que

usuários da biblioteca ele deve notificar por estarem devendo livros há mais de uma semana.

Comunicação de Usuário Remoto

Enunciados deste tipo objetivam comunicar mensagens de usuários remotos enviadas

para o usuário que está interagindo com o sistema, através dele. Esta comunicação também

pode ser síncrona (Comunicação de Usuário Remoto Síncrona) ou assíncrona

(Comunicação de Usuário Remoto Assíncrona). Um exemplo de comunicação síncrona

seria a apresentação de uma mensagem enviada por um usuário remoto através de um chat,

como o ICQ. Um exemplo de comunicação assíncrona seria a apresentação do conteúdo de

um e-mail enviado por um usuário remoto.

Sobreposição de Tipos Semânticos de Enunciados de Sistema

Enunciados de sistema também podem ser instâncias de mais de um tipo semânticos.

Para exemplificar este fato, vamos aproveitar o exemplo apresentado para exemplificar a

sobreposição de tipos semânticos de enunciados de usuário. Um enunciado do sistema que

apresenta uma comunicação recebida por um usuário do Qualitas instancia, ao mesmo tempo,

o tipo semântico Comunicação de Usuário Remoto Assíncrona e Apresentação de

Informação Referente ao Domínio (o objeto é o serviço prestado). A tabela 4.2 apresenta

Page 83: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

70

esta e outras possíveis sobreposições de tipos semânticos de enunciados de sistema

identificadas neste trabalho.

Tipo Semântico Possíveis SobreposiçõesApresentação de Informação Referente aoDomínio

Informação Contextual, Comunicação deUsuário Remoto Assíncrona

Aposto Informação ContextualInformação Contextual Aposto, Apresentação de Informação

Referente ao DomínioAjuda Preventiva Comunicação de SistemaAjuda Corretiva Feedback, Comunicação de SistemaFeedback Ajuda Corretiva, Comunicação de SistemaComunicação de Sistema Ajuda Preventiva, Ajuda CorretivaComunicação de Usuário Remoto Assíncrona Apresentação de Informação ao Domínio

Tabela 4.2: Sobreposições de tipos semânticos de enunciados de sistema identificadas nestetrabalho.

4.4 Sugestões para o mapeamento entre os tipos semânticos

Nesta seção, apresentamos sob a forma de templates, nossas sugestões para o

mapeamento entre os tipos semânticos de tarefas, diálogos e enunciados apresentados. Estes

templates funcionam como regras semânticas para o formalismo proposto neste trabalho a ser

descrito no próximo capítulo. Para definir estes templates, utilizamos a seguinte notação:

• As palavras Seqüência, Agrupamento, Seleção Exclusiva, Seleção Múltipla,

Combinação e Repetição indicam o tipo de articulação de uma estrutura de tipos

semânticos de diálogos ou enunciados.

• Os elementos articulados são definidos entre { }, após a palavra que representa o tipo de

articulação.

• A expressão [tipo_semantico] representa que a ocorrência do tipo semântico

tipo_semantico é opcional, ou seja, ele pode ocorrer ou não.

• A expressão (exp1 | exp2 ... | expN) representa que é possível a ocorrência de qualquer

uma das expressões expI.

• A expressão (tipo_semantico1 & tipo_semantico2 ... & tipo_semanticoN) representa que

ocorre um enunciado que instancia ao mesmo todos os tipos semânticos tipo_semanticoI.

• A expressão (tipo_semantico_enunciado_sistema » tipo_semantico_enunciado_usuario)

representa que um enunciado do sistema com semântica tipo_semantico_enunciado_sistema

Page 84: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

71

tem potencial para inspirar o usuário a emitir um enunciado com semântica

tipo_semantico_enunciado_usuario, cujo efeito é a inicialização de um outro diálogo.

• A expressão (tipo_semantico)* representa que é possível a ocorrência de 0 ou mais

diálogos/enunciados que instanciem o tipo semântico tipo_semantico.

• A expressão (tipo_semantico)+ representa que é possível a ocorrência de 1 ou mais

diálogos/enunciados que instanciem o tipo semântico tipo_semantico.

4.4.1 Templates sugeridos para especificar tarefas

Nesta seção apresentaremos os templates sugeridos para a especificação dos tipos

semânticos de tarefas identificados através de estruturas de tipos semânticos de diálogos. Para

cada template, forneceremos uma explicação que descreve as motivações para nossas

sugestões.

Template para a especificação de tarefas do tipo Criação

Sugerimos que as tarefas do tipo Criação sejam especificadas de acordo com o

seguinte template:

Seqüência{

(Fornecimento de Informação Referente ao Domínio)+Confirmação de OperaçãoFeedback

}

Explicação

Para criar um objeto do domínio o usuário deve informar seus atributos ao sistema.

Isto é feito através de um ou mais diálogos que têm a semântica Fornecimento de

Informação Referente ao Domínio. Após informar todos os atributos do objeto, o usuário

deve ter a chance de revisar as informações fornecidas a fim de confirmar se estão corretas

antes de finalizar a tarefa. Isto é feito através de um diálogo com semântica Confirmação de

Operação. Finalmente, após o usuário confirmar as informações e solicitar que o sistema as

armazene, o sistema deve apresentar um Feedback informando se o armazenamento foi

realizado ou não com sucesso, o que é feito através de um diálogo com semântica Feedback.

Page 85: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

72

Template para a especificação de tarefas do tipo Edição

Sugerimos que as tarefas do tipo Edição sejam especificadas de acordo com o seguinte

template:

seqüência{

(Seleção(Fornecimento de Informação Referente ao Domínio)+Confirmação de OperaçãoFeedback

)|(

Solicitação de Informação Referente ao Domínio(Feedback|([Seleção](Fornecimento de Informação Referente ao Domínio)+Confirmação de OperaçãoFeedback

))

)}

Explicação

Este template é similar ao template sugerido para a representação da tarefa criação. A

diferença é que antes de começar a editar as informações sobre um determinado objeto do

domínio, o usuário deve indicar ao sistema que objeto deseja editar. Isto pode ser feito de

duas maneiras: ou o sistema apresenta ao usuário uma lista com todos os objetos que ele pode

editar, solicitando que ele escolha um, através de um diálogo com semântica Seleção e após

esta escolha inicia-se um diálogo com semântica Fornecimento de Informação Referente ao

Domínio associado ao objeto escolhido; ou o usuário informa ao sistema parâmetros para a

realização da busca pelo objeto que deseja editar, através de um diálogo com semântica de

Solicitação de Informação Referente ao Domínio. Neste caso, há três possibilidades de

interação. Se não for encontrado nenhum objeto o sistema deve informar isto ao usuário

através de um diálogo com semântica Feedback. Se for encontrado um único objeto, o

sistema deve iniciar o diálogo com semântica Fornecimento de Informação Referente ao

Domínio, associado a este objeto. Se for encontrado mais de um objeto, o sistema deve iniciar

um diálogo com semântica Seleção para que o usuário escolha qual destes objetos deseja

Page 86: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

73

alterar antes de iniciar o diálogo com semântica Fornecimento de Informação Referente ao

Domínio.

Template para a especificação de tarefas do tipo Consulta a Informações

Sugerimos que as tarefas do tipo Consulta a Informações sejam especificadas de

acordo com o seguinte template:

seqüência{

(SeleçãoApresentação de Informação Referente ao Domínio

)|(

Solicitação de Informação Referente ao Domínio(Feedback|Apresentação de Informação Referente ao Domínio

(Seleção Apresentação de Informação Referente ao Domínio)

|(Apresentação de Informação Referente ao Domínio)+)

)}

Explicação

Para consultar informações sobre um ou mais objetos do domínio, o usuário deve

primeiramente indicar ao sistema quais são estes objetos. Isto pode ser feito de duas maneiras:

ou o sistema apresenta ao usuário uma lista com todos os objetos sobre os quais ele pode

consultar informações, solicitando que ele escolha um, através de um diálogo com semântica

Seleção e após esta escolha apresenta informações sobre o objeto através de um diálogo com

semântica Apresentação de Informação Referente ao Domínio; ou o usuário informa ao

sistema parâmetros para a realização da busca pelos objetos sobre os quais deseja consultar

informações, através de um diálogo com semântica de Solicitação de Informação Referente

ao Domínio. Neste caso, há diversas possibilidades de interação. Se não for encontrado

nenhum objeto, o sistema deve informar isto ao usuário através de um diálogo com semântica

Feedback. Se for encontrado um único objeto, o sistema deve iniciar o diálogo com semântica

Apresentação de Informação Referente ao Domínio, associado a este objeto. Se for

encontrado mais de um objeto, o sistema deve iniciar um diálogo com semântica Seleção para

que o usuário escolha sobre qual destes objetos deseja consultar informações, antes de iniciar

o diálogo com semântica Apresentação de Informação Referente ao Domínio. Outra

Page 87: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

74

possibilidade é que o sistema inicie um diálogo com semântica Apresentação de Informação

Referente ao Domínio que apresente informações sobre o primeiro objeto encontrado e que

permita ao usuário iniciar outro diálogo com a mesma semântica, que apresente as

informações referentes ao próximo objeto encontrado e assim sucessivamente.

Template para a especificação de tarefas do tipo Comunicação

Sugerimos que as tarefas do tipo Comunicação sejam especificadas de acordo com o

seguinte template:

seqüência{

(Comunicação InterpessoalFeedback)+

}

Explicação

Para realizar uma comunicação, o usuário deve iniciar um diálogo com semântica

Comunicação Interpessoal (síncrona ou assíncrona). Após finalizar a comunicação, o

sistema deve informar ao usuário se ela foi enviada (no caso de ser assíncrona), ou se foi

encerrada (no caso de ser síncrona) com sucesso. Isto é feito através de um diálogo com

semântica Feedback. Uma tarefa de comunicação pode envolver diversas comunicações e

desta forma, ela pode ser composta por uma ou mais seqüências de diálogos com semânticas

Comunicação Interpessoal e Feedback.

Template para a especificação de tarefas do tipo Destruição ou Desativação

Sugerimos que as tarefas do tipo Destruição ou Desativação sejam especificadas de

acordo com o seguinte template:

Page 88: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

75

seqüência{

(SeleçãoConfirmação de OperaçãoFeedback

)|(

Solicitação de Informação Referente ao Domínio(Feedback|(

[Seleção]Confirmação de OperaçãoFeedback

))

)}

Explicação

Para realizar uma tarefa de destruição de objeto ou desativação de processo, o usuário

deve, inicialmente, informar ao sistema qual o objeto que deseja destruir ou o processo que

deseja desativar. Isto pode ser feito de duas maneiras: ou o sistema apresenta ao usuário uma

lista com todos os objetos que ele pode destruir/processos que ele pode desativar, solicitando

que ele escolha um, através de um diálogo com semântica Seleção e após esta escolha

apresenta informações sobre o objeto/processo e solicita a confirmação da operação através de

um diálogo com semântica Confirmação da Operação; ou o usuário informa ao sistema

parâmetros para a realização da busca pelo objeto/processo sobre o qual deseja atuar, através

de um diálogo com semântica de Solicitação de Informação Referente ao Domínio. Neste

caso, há diversas possibilidades de interação. Se não for encontrado nenhum objeto ou

processo o sistema deve informar isto ao usuário através de um diálogo com semântica

Feedback. Se for encontrado um único objeto ou processo, o sistema deve apresentar

informações sobre este objeto ou processo ao usuário e solicitar que ele confirme se realmente

deseja destruir o objeto/desativar o processo. Isto é feito através de um diálogo com semântica

Confirmação de Operação. Se for encontrado mais de um objeto/processo, o sistema deve

iniciar um diálogo com semântica Seleção para que o usuário escolha sobre qual destes

objetos/processos deseja atuar e só depois da escolha do usuário é iniciado um diálogo com

semântica Confirmação da Operação. Por fim, após a confirmação da operação o sistema

deve informar ao usuário se esta foi ou não realizada com sucesso. Isto é feito através de um

diálogo com semântica Feedback.

Page 89: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

76

Template para a especificação de tarefas do tipo Planejamento

Sugerimos que as tarefas do tipo Planejamento sejam especificadas de acordo com o

seguinte template:

seqüência{

(Fornecimento de Informação Referente ao Domínio)+Confirmação de Operação(

(Comunicação de UsuárioFeedback)*|Feedback

)}

Explicação

Para realizar uma tarefa com semântica Planejamento o usuário deve inicialmente

elaborar um cronograma de atividades e informá-lo ao sistema. Isto é feito através de um ou

mais diálogos com semântica Fornecimento de Informação Referente ao Domínio. Após

terminar de elaborar o cronograma, o usuário deve ter a chance de revisar as informações

fornecidas a fim de confirmar se estão corretas antes de finalizar a tarefa. Isto é feito através

de um diálogo com semântica Confirmação de Operação. Após confirmar as informações, o

usuário deve comunicar o cronograma aos indivíduos envolvidos ou interessados nas

atividades que o compõem, caso haja. Para isto, devem ser iniciados um ou mais diálogos

com semântica Comunicação de Usuário. Após a solicitação de envio da comunicação feita

pelo usuário, em cada um destes diálogos, o sistema deve informar se a comunicação foi ou

não enviada com sucesso, o que é feito através de um diálogo com semântica Feedback.

Quando não há outras pessoas envolvidas no cronograma, após a confirmação das

informações fornecidas, o sistema deve apenas informar se elas foram ou não armazenadas

com sucesso, através de um diálogo com semântica Feedback. Observe que o sistema pode e

deve apresentar este Feedback, mesmo quando o diálogo iniciado após a confirmação das

informações tem a semântica de Comunicação de Usuário.

Template para a especificação de tarefas do tipo Avaliação

Sugerimos que as tarefas do tipo Avaliação sejam especificadas de acordo com o

seguinte template:

Page 90: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

77

seqüência{

(Apresentação de Informação Referente ao Domínio)*(Fornecimento de Informação Referente ao Domínio)+Confirmação de Operação((Comunicação de UsuárioFeedback)*|Feedback

)}

Explicação

Para realizar uma tarefa com semântica Avaliação o usuário pode ou não ter de

consultar informações sobre o domínio necessárias para que ele tome a decisão referente a

tarefa de avaliação, o que deve ser realizado através de um ou mais diálogos do tipo

Apresentação de Informação Referente ao Domínio. Ao realizar a avaliação ele precisa

fornecer informações sobre sua decisão (qual a decisão, justificativas, etc) o que é feito

através de um ou mais diálogos com semântica Fornecimento de Informação Referente ao

Domínio. Após terminar de fornecer estas informações, o usuário deve ter a chance de revisá-

las a fim de confirmar se estão corretas antes de prosseguir com a tarefa. Isto deve ser feito

através de um diálogo com semântica Confirmação de Operação. Após confirmar as

informações, o usuário deve comunicar sua decisão aos interessados, caso haja. Para isto,

devem ser iniciados um ou mais diálogos com semântica Comunicação de Usuário. Após a

solicitação de envio da comunicação feita pelo usuário em cada um destes diálogos, o sistema

deve informar se a comunicação foi ou não enviada com sucesso, o que é feito através de um

diálogo com semântica Feedback. Quando não há outras pessoas interessadas na decisão do

usuário, após a confirmação das informações fornecidas, o sistema deve apenas informar se

elas foram ou não armazenadas com sucesso, através de um diálogo com semântica

Feedback. Observe que o sistema pode e deve apresentar este feedback, mesmo quando o

diálogo iniciado após a confirmação das informações tem a semântica de Comunicação de

Usuário.

Template para a especificação de tarefas do tipo Encerramento

Sugerimos que as tarefas do tipo Encerramento sejam especificadas de acordo com o

seguinte template:

Page 91: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

78

seqüência{

(Apresentação de Informação Referente ao Domínio)*(Fornecimento de Informação Referente ao Domínio)+(

(Comunicação de UsuárioFeedback)*|Feedback

)}

Explicação

Para realizar uma tarefa com semântica Encerramento de processo, o usuário deve,

inicialmente, informar ao sistema qual o processo que deseja encerrar. Isto pode ser feito de

duas maneiras: ou o sistema apresenta ao usuário uma lista com todos os processos que ele

pode encerrar, solicitando que ele escolha um, através de um diálogo com semântica Seleção;

ou o usuário informa ao sistema parâmetros para a realização da busca pelo objeto/processo

sobre o qual deseja atuar, através de um diálogo com semântica de Solicitação de

Informação Referente ao Domínio. Neste caso, há diversas possibilidades de interação. Se

não for encontrado nenhum processo o sistema deve informar isto ao usuário através de um

diálogo com semântica Feedback. Se for encontrado mais de um processo, o sistema deve

iniciar um diálogo com semântica Seleção para que o usuário escolha qual destes processos

deseja encerrar. Após a seleção do processo a ser encerrado, o usuário pode ou não precisar

analisar informações para elaborar suas observações referentes ao encerramento do processo.

Quando necessárias, estas informações devem ser apresentadas através de um ou mais

diálogos do tipo Apresentação de Informação Referente ao Domínio. Ao realizar o

encerramento ele precisa informar suas observações, o que é feito através de um ou mais

diálogos com semântica Fornecimento de Informação ao Domínio. Após terminar de

fornecer estas informações, o usuário deve ter a chance de revisá-las a fim de confirmar se

estão corretas antes de prosseguir com a tarefa. Isto é feito através de um diálogo com

semântica Confirmação de Operação. Após confirmar as informações, o usuário deve

comunicar o encerramento aos interessados, caso haja. Para isto, devem ser iniciados um ou

mais diálogos com semântica Comunicação de Usuário. Após a solicitação de envio da

comunicação feita pelo usuário em cada um destes diálogos o sistema deve informar se a

comunicação foi ou não enviada com sucesso, o que é feito através de um diálogo com

semântica Feedback. Quando não há outras pessoas interessadas no encerramento do

processo, após a confirmação das informações fornecidas, o sistema deve apenas informar se

Page 92: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

79

elas foram ou não armazenadas com sucesso, através de um diálogo com semântica

Feedback. Observe que o sistema pode e deve apresentar este feedback, mesmo quando o

diálogo iniciado após a confirmação das informações tem a semântica de Comunicação de

Usuário.

4.4.2 Templates Sugeridos para Representar Diálogos

Nesta seção apresentaremos os templates sugeridos para a especificação dos tipos

semânticos de diálogos identificados através de estruturas de tipos semânticos de enunciados

de usuário e de sistema. Para cada template, forneceremos uma explicação que descreve as

motivações para nossas sugestões.

Template para a especificação de diálogos do tipo Fornecimento de InformaçãoReferente ao Domínio

Sugerimos que os diálogos do tipo Fornecimento de Informação Referente ao Domínio

sejam especificados de acordo com o seguinte template:

Combinação{

Seqüência{([Aposto] Informação Contextual)+(Seqüência | Agrupamento){

(Seqüência {

Solicitação de Informação » [Solicitação de Ajuda][Ajuda Preventiva » [Solicitação de Ajuda]]Fornecimento de Informação Referente ao Domínio

})+}Confirmação Parcial

}Seleção{Confirmação LocalInterrupção do Diálogo [& Retomada do Diálogo (outro)]Interrupção da Tarefa[Solicitação de Revisão](Cancelamento do Diálogo | Solicitação de Cancelamento da Tarefa)[Reinicialização do Diálogo]

}}

Page 93: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

80

Explicação

A combinação entre a seqüência e a seleção representa que a qualquer momento do

subdiálogo representado pelos enunciados articulados em seqüência, o usuário pode

interrompê-lo ou finalizá-lo ao emitir um dos enunciados alternativos articulados pela seleção.

Desta forma, para facilitar a explicação deste template, a dividiremos em duas partes:

explicaremos primeiramente o subdiálogo articulado em seqüência e posteriormente o

subdiálogo articulado em seleção.

O subdiálogo articulado em seqüência deve ser iniciado com um ou mais enunciados

de sistema com semântica de Informação Contextual, para que o usuário se conscientize do

tópico que está sendo abordado. Para alguns destes enunciados, podem ser especificados

enunciados para explicar seu significado, com semântica de Aposto. Após a apresentação de

informações contextuais inicia-se o subdiálogo onde o sistema solicita e o usuário fornece

informações referentes ao domínio. Estes enunciados de sistema têm a semântica de

Solicitação de Informação Referente ao Domínio e os de usuário têm a semântica de

Fornecimento de Informação Referente ao Domínio. Quando não for trivial a compreensão

de que informação deve ser fornecida, estes enunciados de sistema devem ter o potencial de

inspirar o usuário a solicitar ajuda sobre este fornecimento, através de enunciados com

semântica Solicitação de Ajuda. Eventualmente, o designer pode especificar que o sistema

emita enunciados com semântica de Ajuda Preventiva, numa tentativa de evitar erros no

fornecimento da informação. Estes enunciados também devem ter o potencial de inspirar o

usuário a emitir enunciados com semântica Solicitação de Ajuda. Cada subdiálogo composto

por enunciados de sistema e de usuário referentes a uma mesma informação deve ser

articulado na seguinte seqüência: enunciado de sistema com semântica de solicitação de

informação, enunciado de sistema com semântica de ajuda preventiva (caso haja) e enunciado

de usuário. Antes de apresentar ajuda preventiva relativa a uma informação que deve ser

fornecida, o sistema deve indicar que informação é esta. A eventual ajuda é quase um

detalhamento da identificação da informação e deve sucedê-la imediatamente. Depois de

analisar tudo o que o designer quer comunicar sobre a informação solicitada o usuário pode

emitir seu enunciado para o fornecimento da mesma.

Embora a ordem de ocorrência dos enunciados de cada subdiálogo referente ao

fornecimento de uma determinada informação seja seqüencial, a ordem de ocorrência dos

Page 94: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

81

subdiálogos não é necessariamente seqüencial. Ela pode ser aleatória, deixada a cargo da

escolha do usuário. Desta forma, o template indica que estes subdiálogos podem ser

articulados tanto em seqüência como em agrupamento. Após a ocorrência de todos estes

subdiálogos, o usuário pode prosseguir com a tarefa, emitindo um enunciado com semântica

Confirmação Parcial.

Explicaremos agora a segunda parte do template: a articulação de enunciados em

seleção. Alguns enunciados de usuário podem ser emitidos a qualquer momento, e podem

controlar a ocorrência do diálogo corrente e até de outros diálogos. Em diálogos com

semântica para o Fornecimento de Informação Referente ao Domínio, o usuário deve ter a

opção de, a qualquer momento, solicitar o armazenamento das informações já fornecidas no

diálogo (Confirmação Local); re-iniciar o diálogo (Reinicialização do Diálogo); interromper

o diálogo, através de enunciados com semânticas Interrupção do Diálogo, devida ou não a

retomada de outro diálogo, Interrupção da Tarefa ou Solicitação de Revisão, quando é

possível revisar informações fornecidas no diálogo anterior. O usuário deve poder ainda

cancelar o diálogo a qualquer momento, através de enunciados com semântica Cancelamento

do Diálogo ou Solicitação de Cancelamento da Tarefa.

Template para a especificação de diálogos do tipo Seleção

Sugerimos que os diálogos do tipo Seleção sejam especificados de acordo com o

seguinte template:

Combinação {Seqüência{

([Aposto] Informação Contextual)+(Seleção{([Ajuda » [Solicitação de Ajuda]]

Acionamento de Função)+})

|Seleção)}Seleção{

Confirmação LocalInterrupção do Diálogo [& Retomada do Diálogo (outro)]Interrupção da Tarefa[Solicitação de Revisão](Cancelamento do Diálogo|Solicitação de Cancelamento da Tarefa)[Reinicialização do Diálogo]

}}

Page 95: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

82

Explicação

A combinação entre a seqüência e a seleção representa que a qualquer momento do

subdiálogo representado pelos enunciados articulados em seqüência, o usuário pode

interrompê-lo ou finalizá-lo ao emitir um dos enunciados alternativos articulados pela seleção,

assim como para o template do diálogo Fornecimento de Informação Referente ao

Domínio. A explicação subdiálogo articulado em seleção é a mesma descrita na explicação

deste template. Desta forma, explicaremos apenas o subdiálogo articulado em seqüência. Os

enunciados de sistema com semântica Aposto e Informação Contextual devem ocorrer neste

subdiálogo nas mesmas circunstâncias e pelos mesmos motivos apresentados na explicação do

template do diálogo Fornecimento de Informação Referente ao Domínio. Pode haver dois

tipos de seleção: seleção de função ou seleção de objeto. Para a seleção de função o usuário

deve emitir um dentre um conjunto de enunciados alternativos com semântica Acionamento

de Função. Eventuais enunciados com semântica Ajuda podem ser emitidos pelo sistema

para auxiliar o usuário a decidir que função deve acionar. Ocasionalmente estes enunciados

podem ter o potencial de inspirar o usuário a emitir um enunciado com semântica Solicitação

de Ajuda com o objetivo de obter mais informações de auxílio. Para a seleção de objeto o

usuário deve emitir um enunciado com semântica Seleção.

Template para a especificação de diálogos do tipo Controle de Função

Sugerimos que os diálogos do tipo Controle de Função sejam especificados de acordo

com o seguinte template:

Seqüência{

(Feedback)+Seleção{(Interrupção de Função | Retomada de Função)Cancelamento de Função

}}

Explicação

Os diálogos com semântica Controle de Função têm o propósito de informar ao

usuário a respeito do progresso da execução de uma função e permitir que ele controle esta

execução. Para informar sobre o progresso da execução da função estes diálogos devem

conter um ou mais enunciados de sistema com semântica Feedback. Para que o usuário possa

Page 96: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

83

controlar a execução da função, deve ser permitido que ele emita enunciados com semântica

de Interrupção de Função quando ela estiver sendo executada, de Retomada de Função

quando ela houver sido interrompida ou Cancelamento de Função em qualquer destas

situações.

Template para a especificação de diálogos do tipo Customização

O template para diálogos com semântica Customização é quase idêntico ao template

para diálogos com semântica Fornecimento de Informação Referente ao Domínio. A única

diferença é que os enunciados com semântica Fornecimento de Informação Referente ao

Domínio são substituídos por enunciados com semântica Customização, que deve ser a

semântica das informações fornecidas pelo usuário em diálogos deste tipo.

Template para a especificação de diálogos do tipo Solicitação de Informação

O template para diálogos com semântica Solicitação de Informação é idêntico ao

template para diálogos com semântica Fornecimento de Informação Referente ao Domínio,

também consistindo, basicamente em seqüências de enunciados de sistema e usuários para a

solicitação e o fornecimento de informações referentes ao domínio. A diferença sutil, que não

pode ser representada nos templates, é que enquanto em diálogos com semântica

Fornecimento de Informação Referente ao Domínio as informações fornecidas pelo

usuário são utilizadas para a criação ou edição de atributos de objetos do domínio, em

diálogos com semântica Solicitação de Informação estas informações são utilizadas para a

busca por informações referentes a objetos do domínio ou de ajuda.

Template para a especificação de diálogos do tipo Comunicação de Usuário Síncrona

Sugerimos que os diálogos do tipo Comunicação de Usuário Síncrona sejam

especificados de acordo com o seguinte template:

Page 97: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

84

Combinação{

Seqüência{([Aposto] Informação Contextual)+[Ajuda Preventiva] » [Solicitação de Ajuda](Combinação{

Comunicação Síncrona de UsuárioComunicação Síncrona de Usuário Remoto

}|([Comunicação Síncrona de Usuário][Comunicação Síncrona de Usuário Remoto])

)+}Seleção{[Reinicialização do Diálogo]Interrupção do Diálogo [& Retomada do Diálogo (outro)]Cancelamento do Diálogo

}}

Explicação

A combinação entre a seqüência e a seleção representa que a qualquer momento do

subdiálogo representado pelos enunciados articulados em seqüência, o usuário pode

interrompê-lo ou finalizá-lo ao emitir um dos enunciados alternativos articulados pela seleção,

assim como para o template do diálogo Fornecimento de Informação Referente ao

Domínio. A explicação do subdiálogo articulado em seleção é a mesma descrita na explicação

deste template. Desta forma, explicaremos apenas o subdiálogo articulado em seqüência. Os

enunciados de sistema com semântica Aposto e Informação Contextual devem ocorrer neste

subdiálogo nas mesmas circunstâncias e pelos mesmos motivos apresentados na explicação do

template do diálogo Fornecimento de Informação Referente ao Domínio. O enunciado com

semântica Ajuda Preventiva deve informar ao usuário como realizar a comunicação síncrona

através do sistema e eventualmente pode ter o potencial de inspirar o usuário a emitir um

enunciado com semântica Solicitação de Ajuda com o objetivo de obter mais informações

sobre a utilização da interface para comunicação síncrona.

Após estes enunciados inicia-se um subdiálogo formado por enunciados de usuário

com semântica Comunicação Síncrona de Usuário e de sistema com semântica

Comunicação Síncrona de Usuário Remoto. Estes subdiálogo é o diálogo travado entre o

usuário do sistema e um usuário remoto que tem o sistema como porta-voz. Os enunciados

que o compõem podem ocorrer em qualquer ordem, inclusive em paralelo. Os enunciados de

Page 98: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

85

usuário e de usuário remoto não são necessariamente emitidos de forma alternada, podendo

ser emitido mais de um enunciado de um mesmo usuário, antes que o outro se pronuncie.

Template para a especificação de diálogos do tipo Comunicação de Usuário Assíncrona

Sugerimos que os diálogos do tipo Comunicação de Usuário Assíncrona sejam

especificados de acordo com o seguinte template:

Combinação{

Seqüência{([Aposto] Informação Contextual)+(Seqüência | Agrupamento){

(Seqüência {

((Solicitação de Informação » [Solicitação de Ajuda][Ajuda Preventiva » [Solicitação de Ajuda]]Fornecimento de Informação Referente ao Domínio)

)|Apresentação de Informação Referente ao Domínio

)+

(Solicitação de Informação » [Solicitação de Ajuda][Ajuda Preventiva » [Solicitação de Ajuda]]Comunicação de Usuário Assíncrona

)|Apresentação de Informação Referente ao Domínio)

})+}Confirmação Parcial

}Seleção{Confirmação LocalInterrupção do Diálogo [& Retomada do Diálogo (outro)]Interrupção da Tarefa[Solicitação de Revisão](Cancelamento do Diálogo | Solicitação de Cancelamento da Tarefa)[Reinicialização do Diálogo]

}}

Explicação

O template para diálogos com semântica Comunicação de Usuário Assíncrona é

bastante similar ao template para diálogos com semântica Fornecimento de Informação

Referente ao Domínio. As diferenças estão ilustradas em negrito. As informações às quais se

Page 99: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

86

referem cada seqüência de enunciados de sistema e usuário são relativas aos conceitos

associados à comunicação: remetente, destinatário, assunto. Eventualmente, uma ou mais

destas informações são apresentadas pelo sistema ao invés de serem fornecidas pelo usuário,

através de enunciados com semântica Apresentação de Informação Referente ao Domínio.

Após o fornecimento destas informações o usuário deve informar o conteúdo propriamente

dito da comunicação, através de um enunciado com semântica Comunicação de Usuário

Assíncrona. Eventualmente o sistema também o faz no lugar do usuário, através de um

enunciado com semântica Apresentação de Informação Referente ao Domínio (o conteúdo

padrão de uma comunicação é uma informação referente ao domínio). Finalmente, um único

diálogo com semântica Comunicação Assíncrona pode permitir que o usuário realize mais de

uma comunicação e desta forma, o conjunto de enunciados referente a uma comunicação pode

ser repetido uma ou mais vezes.

Template para a especificação de diálogos do tipo Ajuda

Sugerimos que os diálogos do tipo Ajuda sejam especificados de acordo com o

seguinte template:

Combinação{

Seqüência{([Aposto] Informação Contextual)+Seqüência{(Ajuda Explicativa » [Solicitação de Ajuda])+

}}Seleção{[Confirmação Parcial]Interrupção do Diálogo [& Retomada do Diálogo (outro)]Cancelamento do Diálogo

}}

Explicação

A combinação entre a seqüência e a seleção representa que a qualquer momento do

subdiálogo representado pelos enunciados articulados em seqüência, o usuário pode

interrompê-lo ou finalizá-lo ao emitir um dos enunciados alternativos articulados pela seleção,

assim como para o template do diálogo Fornecimento de Informação Referente ao

Domínio. A explicação do subdiálogo articulado em seleção é a mesma descrita na explicação

Page 100: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

87

deste template. Desta forma, explicaremos apenas o subdiálogo articulado em seqüência. Os

enunciados de sistema com semântica Aposto e Informação Contextual devem ocorrer neste

subdiálogo nas mesmas circunstâncias e pelos mesmos motivos apresentados na explicação do

template do diálogo Fornecimento de Informação Referente ao Domínio. O conteúdo

principal deste diálogo são a informações explicativas providas pelo sistema de Help de

acordo com o contexto da solicitação da ajuda. Estas informações são representadas por uma

seqüência de enunciados de sistema com semântica Ajuda Explicativa e, eventualmente,

podem ter o potencial de inspirar o usuário a solicitar mais informações de ajuda através de

enunciados com semântica Solicitação de Ajuda.

Template para a especificação de diálogos do tipo Comunicação de Sistema

Sugerimos que os diálogos do tipo Comunicação de Sistema sejam especificados de

acordo com o seguinte template:

Seqüência{

([Aposto] Informação Contextual)+(Comunicação de Sistema »[Solicitação de Ajuda | Solicitação de Detalhes])+Seleção{Interrupção do Diálogo [& Retomada do Diálogo (outro)]Cancelamento do Diálogo

}}

Explicação

O sistema inicia o diálogo emitindo enunciados com semântica Informação

Contextual e eventualmente, Aposto, nas mesmas circunstâncias e pelos mesmos motivos

apresentados na explicação do template do diálogo Fornecimento de Informação Referente

ao Domínio. O conteúdo principal deste tipo de diálogo é a comunicação do sistema. Esta

comunicação é representada por uma seqüência de enunciados de sistema com semântica

Comunicação de Sistema que, eventualmente, podem ter o potencial de inspirar o usuário a

solicitar informações de ajuda através de enunciados com semântica Solicitação de Ajuda, ou

mais detalhes sobre a comunicação, através de enunciados com semântica Solicitação de

Detalhes. Após tomar conhecimento da comunicação do sistema, o usuário deve decidir se

interrompe o diálogo, retomando ou não algum outro diálogo interrompido ou se cancela o

diálogo.

Page 101: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

88

Template para a especificação de diálogos do tipo Feedback

O template sugerido para este diálogo é bastante similar ao template apresentado no

item anterior. A única diferença é que ao invés de emitir enunciados com semântica

Comunicação de Sistema, o sistema emite enunciados com semântica Feedback.

Template para a especificação de diálogos do tipo Apresentação de InformaçõesReferentes ao Domínio

Sugerimos que os diálogos do tipo Apresentação de Informações Referentes ao

Domínio sejam especificados de acordo com o seguinte template:

Seqüência{

([Aposto] Informação Contextual)+(Aposto » [Solicitação de Detalhes]Informação Referente ao Domínio » [Solicitação de Detalhes])+Seleção{Interrupção do Diálogo [& Retomada do Diálogo (outro)]Cancelamento do Diálogo

}}

Explicação

O template sugerido para este diálogo é bastante similar aos templates apresentados

nos dois itens anteriores. As diferenças estão em negrito e são as seguintes: o conteúdo

principal deste tipo de diálogo é apresentação de informações referentes ao domínio. Estas

informações são apresentadas através de pares de enunciados de sistema com semântica

Aposto e Informação Referente ao Domínio. Os Apostos indicam para o usuário o que

significa a informação apresentada pelos enunciados com semântica Informação Referente

ao Domínio. Eventualmente, estes enunciados do sistema podem ter o potencial de inspirar o

usuário a solicitar informações mais detalhes sobre as informações referentes ao domínio

apresentadas, através de enunciados com semântica Solicitação de Detalhes. Após tomar

conhecimento da comunicação do sistema, o usuário deve decidir se interrompe o diálogo,

retomando ou não algum outro diálogo interrompido ou se cancela o diálogo.

Template para a especificação de diálogos do tipo Confirmação de Operação

Sugerimos que os diálogos do tipo Confirmação de Operação sejam especificados de

acordo com o seguinte template:

Page 102: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

89

Seqüência{

([Aposto] Informação Contextual)+(Aposto » [Solicitação de Detalhes]Informação Referente ao Domínio » [Solicitação de Detalhes])+Seleção{[Solicitação de Revisão]Confirmação TotalInterrupção do Diálogo [& Retomada do Diálogo (outro)]Cancelamento do Diálogo

}}

Explicação

O template sugerido para este diálogo é bastante similar aos templates apresentados no

item anterior. As diferenças estão em negrito e são as seguintes: além de poder interromper ou

cancelar o diálogo o usuário pode decidir solicitar uma revisão de informações fornecidas em

diálogos anteriores ou confirmar a operação. Uma diferença sutil que não pode ser percebida

no template é o fato de que as informações referentes ao domínio são apresentadas com o

objetivo de auxiliar o usuário a decidir se deve ou não confirmar a operação.

Page 103: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

90

Capítulo 5

Uma Linguagem para a Especificaçãode Cenários de Interação

Neste capítulo, apresentamos a Linguagem para a Especificação de Cenários de

Interação (LECI) definida com base no modelo para a especificação de cenários de interação

descrito no capítulo 3. A LECI é uma ferramenta para auxiliar designers a especificar

instâncias de modelos de interação que estão de acordo com nosso meta-modelo. Inicialmente

procuramos adaptar a LEMD, formalismo proposto por Leite [Leite, 1998] para a

especificação do modelo de usabilidade, mas como este se mostrou bastante orientado a ação

e o paradigma adotado por nós vê a interação como conversa, acabamos por criar uma outra

linguagem. Assim como o meta-modelo e os tipos semânticos propostos neste trabalho, a

LECI também foi concebida analisando-se o modelo de interação do Qualitas. Porém,

continuaremos utilizando um Sistema Gerenciador de Biblioteca para exemplificar a sintaxe

da linguagem, sempre que possível, conforme feito nos capítulos anteriores. A seguir

descrevemos a notação utilizada para a definição da sintaxe da LECI e como cada

componente do modelo de interação identificado no capítulo 3 pode ser especificado através

desta sintaxe. Por questões didáticas, apresentamos a sintaxe para a representação dos

componentes em uma ordem diferente da utilizada para a sua descrição no capítulo 3.

5.1 Notação Utilizada para a Definição da Sintaxe da LECI

Será usada a seguinte notação para definir a sintaxe da LECI:

• A expressão <variavel> representa que variavel é uma expressão variável.

• A expressão [expressao] representa que expressao é uma expressão opcional, ou

seja, que nem sempre ocorre.

5.2 Representação de Papéis de Usuário

Um papel de usuário é definido na LECI através de uma sentença com a seguinte

sintaxe:

Role <role_name> [sub-role of <super_roles_set>][may access <tasks_set>]

onde:

Page 104: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

91

<role_name> é o identificador do papel.

<super_roles_set> é o conjunto de identificadores de papéis dos quais o papel definido

é uma especialização. Os identificadores devem ser separados por vírgulas. A especificação

de herança entre papéis foi introduzida na linguagem para permitir o reuso de especificações.

Por exemplo, todo o bibliotecário e todo o atendente são funcionários da biblioteca, desta

forma não é necessário definir que são acessíveis para os papéis bibliotecário e atendente, as

tarefas já definidas para o papel funcionário da biblioteca.

<tasks_set> é o conjunto de identificadores de tarefas (veja a seção 5.8) definidas no

modelo de interação que podem ser realizadas por indivíduos que exerçam o papel sendo

definido. Os identificadores devem ser separados por vírgulas. Se o papel estiver sendo

definido como especialização de um ou mais papéis, só é necessário definir as tarefas

específicas do papel, ou seja, as que não foram definidas para os papéis dos quais ele é uma

especialização.

Exemplos:

Os papéis funcionário da biblioteca, bibliotecário e atendente, de um Sistema

Gerenciador de Biblioteca podem ser definidos na LECI através das seguintes sentenças:

Role funcionário da bibliotecamay access cadastrar usuário, registrar empréstimo,

registrar devolução

Role bibliotecário sub-role of funcionário da bibliotecamay access cadastrar publicações

Role atendente sub-role of funcionário da biblioteca

5.3 Representação de Conceitos da Aplicação

Um conceito da aplicação é definido na LECI através de uma sentença com a seguinte

sintaxe:

Concept <concept_name> type <concept_type>

<concept_name> é o nome do conceito definido.

<concept_type> é o tipo de conceito da aplicação: original domain indica que o

conceito é do domínio original e introduced by technology indica que ele é um conceito

surgido devido à introdução da tecnologia.

Page 105: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

92

Exemplos:

O conceito "título de uma publicação" é um conceito do domínio original de um

Sistema Gerenciador de Biblioteca. Podemos defini-lo na LECI através da seguinte sentença:

Concept título de publicação type original domain

O conceito "registro de uma comunicação" é um conceito incorporado ao domínio

original do Qualitas devido à introdução da tecnologia. Este conceito só passou a existir

quando foi criado um sistema computacional que precisa ser informado quando ocorre uma

comunicação. Podemos definir este conceito na LECI através da seguinte sentença:

Concept registro comunicacao type introduced by technology

5.4 Representação de Enunciados de Usuário

Como vimos no capítulo anterior, existem três grandes grupos de enunciados de

usuário: enunciados para o fornecimento de informação, enunciados para a solicitação de

informação e enunciados para o controle da interação. Os dois últimos tipos de enunciados

ocasionam mudanças na ocorrência dos diálogos. Além disso, as informações fornecidas por

enunciados do primeiro tipo estão sempre relacionadas a conceitos da aplicação. Devido a

estas diferenças, existem duas sintaxes na LECI para a representação de enunciados de

usuário, uma para enunciados para o fornecimento de informação e outra para enunciados

para a solicitação de informação ou para o controle da interação. Estas sintaxes serão

apresentadas a seguir.

5.4.1 Representação de Enunciados para Fornecimento Informação

Estes tipos de enunciados são representados na LECI através de sentenças com a

seguinte sintaxe:

user [<information_form>] [<obligation_constraints>]:<concept_name> (<semantic_type1> [,<semantic_type2>, ...,

<semantic_typeN>])

onde:

<information_form> indica a forma como o usuário fornece a informação. Informs

indica que ele informa um valor livremente. Chooses indica que ele seleciona um valor de um

conjunto de opções apresentadas pelo sistema. Chooses Multiple é similar a Chooses. A

Page 106: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

93

diferença é que o usuário pode selecionar mais de um valor do conjunto apresentado pelo

sistema. Esta forma de informação pode ser especificada com parâmetros, através da seguinte

sintaxe:

Chooses Multiple [at least <minimum_number_of_values>][at most <maximum_number_of_values>]

onde

<minimum_number_of_values> é o número mínimo de valores que devem ser

selecionados, o default é 1;

<maximum_number_of_values> é o número máximo de valores que podem ser

selecionados, o default é o número total de valores disponíveis para seleção;

O valor default para a forma de informação é Informs, ou seja quando uma

informação for fornecida de forma livre, o parâmetro não precisa ser especificado.

<concept_name> é o nome do conceito da aplicação cujo valor é enunciado pelo

usuário.

<semantic_typeI> é o identificador do i-ésimo tipo semântico instanciado pelo

enunciado de usuário. Os tipos semânticos de enunciados de usuário para a informação de

valores de conceitos da aplicação foram descritos no capítulo anterior A tabela 5.1 indica

quais são os identificadores para a representação de cada um destes tipos na LECI.

Tipo Semântico IdentificadorCustomização CustomizationComunicação Síncrona Synchronous CommunicationComunicação Assíncrona Asynchronous CommunicationFornecimento de Informação Referente ao Domínio Domain Information

Tabela 5.1: Identificadores para a representação de tipos semânticos de enunciados deusuário para informação de valores de conceitos na LECI.

<obligation_constraints> indica a restrição quanto à obrigatoriedade do enunciado do

usuário: mandatorily representa que este enunciado é obrigatório e optionally representa que

ele é opcional. Se o parâmetro não for especificado, o valor assumido é mandatorily.

Page 107: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

94

Exemplos:

Por exemplo, em um Sistema Gerenciador de Biblioteca, no diálogo para o cadastro de

um usuário da biblioteca, o enunciado onde o responsável pelo cadastro informa o nome do

usuário pode ser representado na LECI através da seguinte sentença:

user: nome do usuário (Domain Information)

Neste mesmo diálogo, o responsável pelo cadastro deve informar o tipo do usuário, se

ele é aluno da graduação, aluno da pós-graduação, aluno professor da graduação ou professor

da pós-graduação. Para definir que o usuário (responsável pelo cadastro) escolherá um ou

mais tipos (ex.: um aluno da pós-graduação pode ser também professor da graduação) a partir

de um conjunto de tipos apresentados pelo sistema, poderíamos ter a seguinte sentença:

user chooses multiple at least 1 at most 2mandatorily: tipo de usuário (Domain Information)

5.4.2 Representação de Enunciados para Controle da Interação e Solicitaçãode Informação

Tanto os enunciados de usuário para Controle da Interação como os para a

Solicitação de Informação, controlam a ocorrência de diálogos (enunciados do último tipo

sempre iniciam um novo diálogo onde o sistema enuncia as informações solicitadas ou

informa ao usuário que não pode fazê-lo). Estes tipos de enunciados são representados na

LECI através de sentenças com a seguinte sintaxe:

<roles_set> <control> of <object>[causing <activation_behavior>](<semantic_type1> [,<semantic_type2>, ..., <semantic_typeN>])

onde:

<roles_set> é o conjunto de identificadores de papéis de usuário que podem controlar

a interação através do enunciado sendo definido. Pode ser um papel definido por uma

sentença Role ou o papel predefinido user que indica que qualquer usuário pode emitir o

enunciado. Os identificadores de papéis devem ser delimitados por vírgulas.

<control> é o identificador do controle de ocorrência de diálogo associado ao

enunciado. Os controles que podem ser exercidos sobre diálogos foram definidos no capítulo

3. A tabela 5.2 indica quais são os identificadores que representam cada um destes controles

na LECI.

Page 108: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

95

Controle de Ocorrência de Diálogo IdentificadorInicialização Initialize(s)Finalização Terminate(s)Interrupção Interrupt(s)Retomada Resume(s)Reinicialização mantendo sugestões do sistema Reinitialize(s)Reinicialização sem sugestões do sistema Reinitialize(s) without suggestions

Tabela 5.2: Identificadores para a representação de controles de ocorrência de diálogos naLECI.

<object> é o identificador do diálogo que está sendo controlado pelo enunciado. Pode

assumir os valores this que indica que o enunciado controla a ocorrência do diálogo corrente;

next, que indica que o enunciado controla a ocorrência do próximo diálogo, determinado pela

estrutura da tarefa e pelo contexto de interação corrente ou previous, indicando que quem é

controlado é o diálogo anterior, determinado da mesma forma que o próximo diálogo.

<activation_behavior> indica o comportamento que o diálogo, em cuja interação

ocorre o enunciado, deve ter após este enunciado. Observe que só é relevante especificar este

comportamento se o enunciado controlar a ocorrência de outro diálogo, pois se este estiver

controlando o próprio diálogo onde ele ocorre, o comportamento deste já é definido pelo

controle utilizado. Estão definidos os seguintes tipos de comportamento: interruption, que

indica que o diálogo corrente deve ser temporariamente interrompido; termination que indica

que ele deve ser finalizado e persistence, que indica que ele deve permanecer ativo. Para

enunciados definidos em diálogos persistentes (qualificados com persistent, veja a seção 5.7),

o comportamento é sempre persistence e não precisa ser especificado. Para outros tipos de

diálogo, se a sentença não for especificada, o valor default depende do tipo de controle

enunciado. Quando o enunciado controla a ocorrência de um outro diálogo através dos

controles initialization, resumption, reinitialization e reinitialization without suggestions,

o comportamento default para o diálogo onde ocorre o enunciado é interruption. Para os

controles termination e interruption, o comportamento default é persistence.

<semantic_typeI> é o identificador do i-ésimo tipo semântico instanciado pelo

enunciado de usuário. Os tipos semânticos de enunciados de usuário para a solicitação de

informações e controle da interação foram descritos no capítulo anterior A tabela 5.3 indica

quais são os identificadores para a representação de cada um destes tipos na LECI.

Page 109: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

96

Tipo Semântico IdentificadorSolicitação de Detalhes Detailed Information RequestSolicitação de Ajuda Help RequestMudança de Tópico Topic ChangeAcionamento de Função Function ActivationInterrupção de Função Function InterruptionRetomada de Função Function ResumptionCancelamento de Função Function CancellationInterrupção do Diálogo Dialog InterruptionRetomada do Diálogo Dialog ResumptionCancelamento do Diálogo Dialog CancellationRestauração do Diálogo Dialog RestorationReinicialização do Diálogo Dialog ReinitializationSolicitação de Extensão do Diálogo Dialog Extension RequestSolicitação de Revisão Revision RequestConfirmação Local Local ConfirmationConfirmação Parcial Partial ConfirmationConfirmação Total ConfirmationSolicitação de Cancelamento da Tarefa Task Cancellation Request

Tabela 5.3: Identificadores para a representação de tipos semânticos de enunciados deusuário para solicitação de informações e controle da interação na LECI.

Exemplo:

No menu que apresenta as funções disponibilizadas pelo Sistema Gerenciador de

Biblioteca, é necessário especificar que papéis têm acesso a que funções. Para definir que

somente bibliotecários podem cadastrar publicações, somente funcionários podem registrar

empréstimos e devoluções e qualquer usuário do sistema pode pesquisar por publicações,

teríamos as seguintes sentenças LECI no diálogo que representa o menu:

bibliotecário initializes cadastro de publicaçãocausing persistence (Function Activation)

funcionário initializes registro de empréstimocausing persistence (Function Activation)

funcionário initializes registro de devoluçãocausing persistence (Function Activation)

user initializes pesquisa por publicaçãocausing persistence (Function Activation)

Page 110: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

97

5.5 Representação de Enunciados de Sistema

Um enunciado de sistema é representado na LECI através de uma sentença com a

seguinte sintaxe:

system: <utterance> (<semantic_type1> [, <semantic_type2> ..., <semantic_typeN>]) [user_alternatives <user_alternatives>] [suggestion <suggestion>]

[affords: <user_request_utterance>]

onde:

<utterance> é a mensagem emitida pelo sistema em seu enunciado.

<semantic_typeI> é o identificador do i-ésimo tipo semântico instanciado pelo

enunciado de sistema. Os tipos semânticos de enunciados de sistema foram descritos no

capítulo anterior. A tabela 5.4 indica quais são os identificadores para a representação de cada

um destes tipos na LECI.

Tipo Semântico IdentificadorSolicitação de Informação Information RequestApresentação de Informação Referente aoDomínio

Domain Information

Aposto AppositionInformação Contextual Contextual InformationAjuda Preventiva Preventive HelpAjuda Corretiva Corrective HelpAjuda Explicativa Explicative HelpFeedback FeedbackParêntese ParenthesisComunicação de Sistema System CommunicationComunicação de Usuário Remoto Síncrona Synchronous Remote User CommunicationComunicação de Usuário RemotoAssíncrona

Asynchronous Remote User Communication

Tabela 5.4: Identificadores para a representação de tipos semânticos de enunciados desistema na LECI.

<user_alternatives> só deve ser especificado quando o enunciado de sistema tem a

semântica de Solicitação de Informação (Information Request) e o enunciado que o usuário

deve emitir em resposta a esta solicitação está restrito a um conjunto fechado de enunciados

alternativos. Este conjunto pode ser determinado em tempo de design, ou determinado em

tempo de execução da aplicação. Um exemplo de conjunto determinado em tempo de design

seria o seguinte conjunto de tipos de publicação existentes em uma biblioteca: livro,

Page 111: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

98

periódico, tese de doutorado, dissertação de mestrado e relatório técnico. Um exemplo de

conjunto determinado em tempo de execução da aplicação seria o conjunto de assuntos

abordados pelas publicações armazenadas na biblioteca. Para alguns Sistemas Gerenciadores

de Biblioteca, o designer pode não definir este conjunto em tempo de design, deixando que o

próprio bibliotecário defina os assuntos, ou ainda definir este conjunto de forma aberta,

deixando que o bibliotecário o estenda. Quando o parâmetro <user_alternatives> estiver

representando um conjunto de enunciados de usuário possíveis definido em tempo de design,

ele deve ser especificado com a seguinte sintaxe:

{<alternative1>, <alternative2>, ..., <alternativeN>},

onde <alternativeI> é a I-ésima alternativa. Quando o parâmetro estiver representando

um conjunto determinado em tempo de execução, ele deve ser especificado com um

identificador da semântica comum aos enunciados alternativos que fazem parte deste

conjunto. Em nosso exemplo, o conjunto de assuntos abordados pelas publicações da

biblioteca poderia ser representado pelo termo <assuntos>. Quando o designer define um

conjunto inicial de alternativas e permite ao usuário estender este conjunto, a sintaxe para a

representação do parâmetro <user_alternatives> é:

{<alternative1>, <alternative2>, ..., <alternativeN>}+,

onde <alternativeI> é a I-ésima alternativa predefinida pelo designer.

<suggestion> só deve ser especificado quando o enunciado de sistema tem a semântica

de Solicitação de Informação (Information Request) e o designer deseja apresentar uma

sugestão para o enunciado que o usuário deve emitir em resposta a esta solicitação. Esta

sugestão se apresenta como um default para o enunciado do usuário e representa aquilo que o

designer acredita ser provável que o usuário vá enunciar em determinada situação. Observe

que quando o designer determina um conjunto fechado de alternativas para o enunciado do

usuário, sua sugestão deve pertencer a este conjunto. Quando o usuário pode enunciar ao

mesmo tempo mais de um dos enunciados definidos no conjunto de alternativas, o parâmetro

<suggestion> deve ser especificado com a seguinte sintaxe:

{<alternative1>, <alternative2>, ..., <alternativeN>},

onde <alternativeI> é a I-ésima alternativa sugerida pelo designer.

A extensão opcional affords: <user_request_utterance> só deve ser

especificada quando o enunciado de sistema tem potencial para inspirar o usuário a emitir um

Page 112: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

99

enunciado cujo efeito é a inicialização de um outro diálogo. <user_request_utterance> é o

enunciado de usuário para solicitação que pode ser inspirado pelo enunciado do sistema. A

sentença <user_request_utterance> tem quase a mesma sintaxe apresentada na seção 5.4.2.

As únicas restrições são: o controle de ocorrência do diálogo deve ser initialization e as

semânticas de usuário permitidas são Detailed Information Request, Help Request, Topic

Change, Function Activation.

Para exemplificar, consideremos uma interação para o cadastro de uma publicação,

onde um Sistema Gerenciador de Biblioteca solicita que o usuário informe, entre outras

coisas, o tipo, os autores, o assunto e as palavras-chave da publicação. Suponha que o

designer do sistema acredite que na maioria das vezes será cadastrado um livro, ao invés de

outros tipos de publicação e, desta forma, sugira que o usuário enuncie "livro" ao informar o

tipo da publicação. Suponha também que o designer forneça um conjunto inicial de assuntos e

permita ao usuário estender este conjunto, mas que permita que o conjunto de palavras-chave

seja totalmente definido pelo usuário. Suponha ainda que os enunciados do sistema tenham

potencial para inspirar o usuário a emitir um enunciado cujo efeito é a solicitação de

informações de ajuda que indicam como o usuário deve fornecer as informações solicitadas.

Estes enunciados poderiam ser representados na LECI através das seguintes sentenças:

system: <Tipo de Publicação> (Information Request)user_alternatives { livro, periódico, tese de doutorado,dissertação de mestrado e relatório técnico}

suggestion livro affords: user initializes Ajuda Tipo de Publicação (Help Request)

system: <Autores> (Information Request)affords: user initializes Ajuda Autores (Help Request)

system: <Assunto> (Information Request)user_alternatives {Interação Humano Computador, O.O., Redes}+affords: user initializes Ajuda Assunto (Help Request)

system: <Palavras-Chave> (Information Request)user_alternatives <Palavras-Chave>affords: user initializes Ajuda Palavras-Chave (Help Request)

5.6 Representação de Estruturas de Articulação

Como vimos no capítulo 3, as estruturas de diálogos componentes de tarefas e as

estruturas de enunciados componentes de diálogos podem ser articuladas de diversas formas.

A sintaxe para a representação de articulações de diálogos e de enunciados na LECI será

apresentada a seguir.

Page 113: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

100

5.6.1 Representação de Articulações de Diálogos

A forma geral para a representação de uma articulação de diálogos é:

<articulation_structure>{

<articulated_elements>} <structured_information_providing_constraints>

<articulation_structure> é o identificador do tipo de articulação na LECI. A tabela 5.5

apresenta os identificadores associados a cada tipo de articulação.

Tipo de Articulação IdentificadorArticulação em seqüência sequenceArticulação em qualquer ordem, dependente da vontade dousuário

group

Articulação de opções alternativas mutuamente-exclusivas, ouseja, somente um dos enunciados/diálogos articulados ocorrerá,de acordo com a escolha do usuário

exclusive choice

Articulação de enunciados/diálogos que ocorrerão, de acordocom a vontade do usuário, ou seja ele pode escolher um ou maisdestes elementos

multiple choice

Articulação de enunciados/diálogos que ocorremsimultaneamente ou que são interdependentes

combination

Articulação de enunciados/diálogos que se repetem repetition

Tabela 5.5: Identificadores para a representação de tipos de articulação na LECI.

<articulated_elements> são os elementos de interação articulados pela estrutura.

Quando a estrutura de articulação definida é uma tarefa, estes elementos são sentenças dialog

(veja seção 5.8) ou articulações destas sentenças. Quando a estrutura definida é um diálogo,

os elementos articulados são enunciados (veja seções 5.4 e 5.5) ou articulações de enunciados.

<structured_information_providing_constraints> informa sobre a obrigatoriedade da

emissão de enunciados de usuário para informação de valor de conceito da aplicação que

ocorrem na estrutura articulada. O parâmetro pode assumir os seguintes valores:

• optionally, que indica que todos enunciados de usuário para informação de valor

de conceito da aplicação presentes na estrutura são opcionais ou

• mandatorily [<comparison_operator> <quantity>

[from {<utterance_id1>, ...,<utterance_idN>}], que indica que um

subconjunto dos enunciados de usuário para informação de valor de conceito da

Page 114: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

101

aplicação presentes na estrutura, são obrigatórios. Este subconjunto é determinado

pelos parâmetros <comparison_operator>, <quantity> e <subset>. A não

especificação destes parâmetros indica que todos os enunciados de usuário para

informação de valor de conceito da aplicação presentes na estrutura são

obrigatórios.

<comparison_operator> é o operador de comparação da restrição quanto ao

tamanho do subconjunto de enunciados obrigatórios, o qual pode assumir os

seguintes valores:

• at least: representa que o subconjunto de enunciados obrigatórios tem tamanho

mínimo.

• exactly: representa que o subconjunto de enunciados obrigatórios tem tamanho

fixo.

• at most: representa que o subconjunto de enunciados obrigatórios tem tamanho

máximo.

<quantity> é o número operando da restrição quanto ao tamanho do subconjunto

de enunciados obrigatórios.

<utterance_idI> é o identificador do i-ésimo enunciado do subconjunto de

enunciados possivelmente obrigatórios. Se os componentes tiverem semânticas

e/ou tipos distintos (quando não articulados por repetição), o identificador é o

identificador do conceito da aplicação cujo valor é informado pelo enunciado. Se

os enunciados estiverem articulados por repetição, o identificador é o identificador

do conceito concatenado com o índice da repetição que gera o enunciado.

Exemplo:

Tarefa "Editar Informações Sobre Livro"

A seguir apresentamos trechos da definição LECI da tarefa "Editar Informações Sobre

Livro". Esta tarefa é composta por uma seqüência de diálogos (sequence).

sequence {dialog Edição de Informações Gerais de Publicaçãodialog Edição de Informações Específicas de Livro. . .

}

Page 115: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

102

5.6.2 Representação de Articulações de Enunciados

Articulações de enunciados são representadas de forma similar a articulações de

diálogos. Entretanto, ao se definir um diálogo como uma articulação de enunciados de usuário

e de sistema, é importante explicitar-se, além do tipo da articulação, qual a estrutura de

subtópicos do diálogo. Isto pode ajudar o usuário a percorrer as possibilidades de referência e

expressão a cada pedaço da conversa. Desta forma, a LECI provê um mecanismo para a

identificação de subtópicos em uma estrutura de diálogo. A forma geral para a representação

de articulações de enunciados na LECI é:

[<articulation_structure>] subtopic [<subtopic_name>]{

<articulated_elements>} <structured_information_providing_constraints>

onde todos os parâmetros homônimos aos descritos no item 5.6.1 têm a mesma semântica

definida para seus homônimos e o parâmetro adicional <subtopic_name> é o identificador do

subtópico composto pelos enunciados articulados. Este parâmetro é opcional porque pode ser

mais importante identificar que grupos de enunciados fazem parte de um subtópico comum do

que qual é este subtópico. Observe que para articulações de enunciados, a especificação do

tipo de articulação pode ser opcional, fazendo com que a sentença seja usada apenas para

indicar que um subconjunto de enunciados faz parte do mesmo subtópico. Isto foi permitido

para facilitar a representação de um mesmo tipo de articulação para várias estruturas de

subtópico.

Exemplos:

Diálogo para a Solicitação de Impressão de um Arquivo

A seguir apresentamos trechos da definição LECI de um diálogo para a solicitação de

impressão de um arquivo. Este diálogo é composto por uma seqüência (sequence) de

enunciados de usuário e sistema, sendo um dos enunciados do usuário resultante de uma

escolha exclusiva (exclusive choice) obrigatória entre selecionar o nome do arquivo a partir

de um conjunto de nomes enunciados pelo sistema ou informar este nome livremente. Outro

enunciado possível neste diálogo é a solicitação de inicialização de um diálogo para a

configuração da impressora. Este enunciado é dependente (combination) do enunciado através

do qual o usuário informa o tipo de impressora.

Page 116: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

103

sequence {. . .subtopic <Nome do Arquivo> {system: <Nome do Arquivo> (Information Request)user_alternatives <nomes de arquivos>

exclusive choice {user chooses: nome do arquivo (Domain Information)user informs: nome do arquivo (Domain Information)

} mandatorily}

combination subtopic <Nome da Impressora> {system: <Nome da Impressora> (Information Request)user_alternatives <nomes de impressoras>

user chooses: nome da impressora (Domain Information)user initializes configuração da impressoracausing persistence (Function Activation)

} . . .}

Diálogo para a Inclusão de Informações sobre Publicação

A seguir apresentamos trechos da definição LECI de um diálogo para a inclusão de

informações sobre uma publicação. Neste diálogo, inicialmente, o sistema solicita que o

usuário informe ao menos uma de 4 palavras-chave e que cada vez que o usuário emite um

enunciado com semântica Repetition Request, aumenta em dois o número de palavras-chave

que podem ser informadas.

sequence subtopic <palavras-chave>{system: <Palavras-Chave> (Information Request)combination {

repetition {user: palavra-chave (Domain Information)

} mandatorily at least 1user requests: reinitialization ofInclusão de Informações sobre Publicaçãocausing persistence ( Dialog Extension Request)

}}

Diálogo para a Inclusão de Informações sobre Usuário da Biblioteca

A seguir apresentamos trechos da definição LECI de um diálogo para a inclusão de

informações sobre um usuário da biblioteca. Neste diálogo, o designer permite que o usuário

do sistema, que realiza a inclusão, informe um conjunto de meios de contato com o usuário da

biblioteca, mas exige que seja informado ao menos o e-mail ou o telefone. As informações

podem ser fornecidas em qualquer ordem (group), mas os enunciados de sistema devem

ocorrer antes dos enunciados de usuário (sequence).

Page 117: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

104

group{

system:<Meio de contato> (Information Request)sequence subtopic <e-mail>{

system: <E-mail> (Information Request)user: e-mail (Domain Information)

}sequence subtopic <telefone>{

system: <Telefone> (Information Request)user: telefone (Domain Information)

}sequence subtopic <endereço>{

system: <Endereço> (Information Request)user: endereco (Domain Information)

}} mandatorily at least 1 from {e-mail, telefone}

5.7 Representação de Diálogos

Um diálogo é representado na LECI através de uma sentença com a seguinte sintaxe:

[shared] [persistent] Dialog <dialog_name> ([<semantic_type>])

[operands <dialog_operands>]<utterance_structure>

[<user_errors_handling_sentence>][<system_failures_handling_sentence>]

O identificador opcional shared é especificado quando o diálogo pode ser reusado,

sendo incluído no corpo de outros diálogos, através da sentença include (veja a seção 5.13.1).

O identificador opcional persistent deve ser especificado quando o diálogo for

persistente, ou seja, estiver sempre ativo ao longo de toda a interação com a aplicação, como,

por exemplo, um menu de opções.

<dialog_name> é o nome que identifica o diálogo.

<semantic_type> é o identificador do tipo semântico instanciado pelo diálogo. Os

tipos semânticos de diálogos foram descritos no capítulo anterior. A tabela 5.6 indica quais

são os identificadores para a representação de cada um destes tipos na LECI.

Page 118: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

105

Tipo Semântico IdentificadorFornecimento de Informação Referenteao Domínio

Domain Information

Seleção SelectionControle de Função Function ControlCustomização CustomizationSolicitação de Informação Referente aoDomínio

Domain Information Request

Solicitação de Ajuda Help RequestComunicação de Usuário Síncrona Synchronous User CommunicationComunicação de Usuário Assíncrona Asynchronous User CommunicationApresentação de Informação Referente aoDomínio

Domain Information Presentation

Confirmação de Operação Operation ConfirmationAjuda HelpFeedback FeedbackComunicação de Sistema System Communication

Tabela 5.6: Identificadores para a representação de tipos semânticos de diálogos na LECI.

<dialog_operands> é um parâmetro que só deve ser especificado para diálogos que

podem ser reusados como templates (qualificados como shared). Este parâmetro representa

uma lista de operandos (separados por vírgulas) que servem para instanciar o template na

situação em que ele é reusado (veja a seção 5.13.1).

<utterance_structure> é a estrutura de enunciados definida para o diálogo. Ela é

composta por articulações (seção 5.6) de sentenças que representam enunciados de usuário

(seção 5.4) e de sistema (seção 5.5). Estas articulações podem ser recursivas, ou seja, pode

haver articulações de articulações.

<user_errors_handling_sentence> é a sentença que define como os erros cometidos

pelo usuário ao longo do diálogo serão tratados. Esta sentença será apresentada na seção 5.11.

Observe que o designer pode desejar que os erros cometidos pelo usuário em todos os

diálogos de uma mesma tarefa sejam tratados juntos, após o último diálogo que a compõe.

Neste caso, o tratamento deve ser definido para a tarefa e não para cada diálogo que a

compõe. Quando o designer define uma estratégia de tratamento de erros de usuário para um

diálogo e ele é invocado por uma tarefa que também tem uma estratégia de tratamento de

erros de usuário definida, prevalece a estratégia definida pela tarefa e os erros cometidos no

diálogo são tratados junto com os erros cometidos nos outros diálogos da tarefa. Dito isto,

parece não fazer sentido que se especifique uma estratégia para tratamento de erros para um

Page 119: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

106

diálogo invocado por uma tarefa que também tem estratégia definida. Mas observe que um

mesmo diálogo pode ser componente de tarefas distintas e para alguma delas pode não ter

sido definida nenhuma estratégia de tratamento de erros de usuário.

<system_failures_handling_sentence> é a sentença que define como as falhas de

sistema ocorridas ao longo do diálogo serão tratadas. Esta sentença será apresentada na seção

5.12. Observe que, para uma determinada tarefa, o designer pode desejar especificar o mesmo

tipo de tratamento de falhas de sistema para mais de um dos diálogos que a compõem. Neste

caso, assim como o tratamento de erros de usuário, o tratamento de falhas de sistema também

pode ser definido para a tarefa, só precisando ser redefinido para diálogos componentes cujos

tratamentos devam ser diferentes do definido para a tarefa.

Exemplo:

A sentença apresentada a seguir representa na LECI o diálogo para a solicitação de

impressão de um arquivo mencionado na seção anterior.

Dialog Solicitação de Impressão de Arquivo (Task Information)sequence{

system: <Para imprimir você deve fornecer os dados, e, em seguida,selecionar o controle da função que você deseja acionar> (Help)subtopic <Nome do Arquivo> {system: <Nome do Arquivo> (Information Request)user_alternatives <nomes de arquivos>

exclusive choice {user chooses: nome do arquivo (Domain Information)user informs: nome do arquivo (Domain Information)

} mandatorily}combination subtopic <Nome da Impressora> {

system: <Nome da Impressora> (Information Request)user_alternatives <nomes de impressoras>

user chooses: nome da impressora (Domain Information)user requests: initialization of configuração da impressoracausing persistence (Function Activation)

}subtopic <Número de Cópias> {

system: <Número de Cópias> (Information Request)suggestion <1>

user: numero_copias (Domain Information)}user requests: initialization of Controle de Impressãocausing persistence (Function Activation)

}

Page 120: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

107

5.8 Representação de Tarefas

Uma tarefa é representada na LECI através de uma sentença com a seguinte sintaxe:

[shared] Task <task_name> ([<semantic_type>])[operands <task_operands>]<dialog_structure>[<user_errors_handling_sentence>][<system_failures_handling_sentence>]

O identificador opcional <shared> é especificado quando a tarefa pode ser reusada,

sendo incluída no corpo de outras tarefas, através da sentença include (veja a seção 5.13.2).

<task_name> é o nome que identifica a tarefa.

<semantic_type> é o identificador do tipo semântico instanciado pela tarefa. Os tipos

semânticos de tarefas foram descritos no capítulo anterior. A tabela 5.7 indica quais são os

identificadores para a representação de cada um destes tipos na LECI.

Tipo Semântico IdentificadorCriação CreationEdição EditingConsulta por Informações Information RetrievalComunicação CommunicationDestruição DestructionPlanejamento PlanningRegistro de Atividade Activity RegistrationAvaliação EvaluationDesativação DeactivationEncerramento Termination

Tabela 5.7: Identificadores para a representação de tipos semânticos de tarefas na LECI.

<task_operands> é um parâmetro que só deve ser especificado para tarefas que podem

ser reusadas como templates (qualificadas como shared). Este parâmetro representa uma lista

de operandos (separados por vírgulas) que servem para instanciar o template na situação em

que ele é reusado (veja a seção 5.13.2).

<dialog_structure> é a estrutura de diálogos que compõe a tarefa. Ela é composta por

articulações (seção 5.6) de sentenças dialog que representam a inicialização dos diálogos

componentes da tarefa. Estas articulações podem ser recursivas, ou seja, pode haver

articulações de articulações. As sentenças dialog têm a seguinte sintaxe:

Page 121: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

108

dialog <dialog_name> ([<semantic_type>]), onde

<dialog_name> é o nome do diálogo a ser inicializado e <semantic_type> é seu tipo

semântico.

<user_errors_handling_sentence> é a sentença que define como os erros cometidos

pelo usuário ao longo dos diálogos componentes da tarefa serão tratados. Esta sentença será

apresentada na seção 5.11. Conforme mencionado na seção anterior, a estratégia de

tratamento de erros de usuário só deve ser definida para tarefas para as quais o designer

deseje que os erros cometidos pelo usuário em todos os diálogos da tarefa sejam tratados

juntos, após o último diálogo que a compõe.

<system_failures_handling_sentence> é a sentença que define como as falhas de

sistema ocorridas ao longo dos diálogos componentes da tarefa serão tratadas. Esta sentença

será apresentada na seção 5.12. Conforme mencionado na seção anterior, este é o tipo de

tratamento que o designer especifica para a maioria dos diálogos da tarefa, podendo ser

redefinido de forma diferente para um ou mais destes diálogos.

Exemplo:

Para exemplificar a definição de uma tarefa na LECI, apresentamos a seguir uma

sentença que define a tarefa "Editar Informações sobre Livro". Esta tarefa é realizada através

de uma seqüência de diálogos, conforme ilustra a sentença.

Task Editar Informações Sobre Livro (Editing)sequence{

dialog Edição de Informações Gerais de Publicação (Domain Information)

dialog Edição de Informações Específicas de Livro(Domain Information)

dialog Confirmação de Informações Fornecidas(Operation Confirmation)

dialog Feedback de Salvamento de Informações (Feedback)}

5.9 Representação de Interrupções

Para representar uma tarefa que possui pontos de interrupção é necessário dividi-la em

passos de forma que ao menos os passos que podem ser interrompidos e retomados estejam

explícitos para que se possa qualificá-los como tal. Os passos de uma tarefa são representados

na LECI por sentenças que definem inicializações de diálogos (dialog, veja a seção 5.8).

Page 122: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

109

Desta forma, introduzimos para esta sentença, a seguinte extensão para a especificação de

interrupções:

[identified by <step_id>] [allows interruption[after resumption, allows revisions at <revisable_steps>]]

<step_id> é o identificador do passo da tarefa representado pelo diálogo cuja

inicialização está sendo representada. A sentença identified by <step_id> é opcional, pois,

por default, o identificador de um passo de tarefa é o próprio identificador do diálogo que é

inicializado no passo. A sentença foi introduzida para tratar casos onde há inicialização de um

mesmo diálogo, em diferentes passos de uma mesma tarefa e desta forma é necessário definir

explicitamente identificadores distintos para cada passo. Note que passos representados dentro

de contextos de interação exclusivos podem ter o mesmo identificador, já que nunca serão

executados em uma mesma situação.

A sentença allows interruption deve ser especificada quando o passo representado

pela inicialização do diálogo pode ser interrompido. A sentença after resumption, allows

revisions at <revisable_steps>, quando especificada, indica quais passos anteriores ao ponto

de interrupção poderão ser revisados a posteriori, quando a tarefa for retomada no ponto de

interrupção. O parâmetro <revisable_steps> é o conjunto de identificadores de passos

anteriores ao passo onde pode ocorrer a interrupção, separados por vírgulas. Observe que

qualquer dos passos articulados por seleção (exclusive choice) ou seleção múltipla (multiple

choice) podem não vir a ser executados. Dentre os passos articulados por seleção, somente

um é executado de cada vez e desta forma, qualquer deles pode não vir a ser executado. Uma

articulação do tipo seleção múltipla permite que o usuário execute até todos os passos

articulados, mas ele também pode decidir deixar de executar um ou mais e desta forma,

qualquer dos passos articulados por seleção múltipla também correm o risco de não ser

executados. Se um passo que pode não vir a ser executado for especificado na lista de passos

revisáveis, assumimos que isto significa que ele é revisável somente se tiver sido executado.

Inicialmente, pensamos em associar um identificador de passo às sentenças que representam

as estruturas de seleção e seleção múltipla. Este identificador representaria os passos

escolhidos dinamicamente pelo usuário. Entretanto, desta forma, só poderíamos definir casos

extremos: ou que todos os passos articulados são revisáveis ou que nenhum o é.

Page 123: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

110

Exemplo:

Para exemplificar a especificação de uma tarefa que pode ser interrompida em

determinados pontos, considere a tarefa "Editar Informações Sobre Livro" apresentada no

exemplo anterior. Ela será especificada na LECI, a seguir, considerando-se os seus pontos de

interrupção.

Task Editar Informações Sobre Livro (Editing)sequence{

dialog Edição de Informações Gerais de Publicaçãoallows interruption (Domain Information)

dialog Edição de Informações Específicas de Livroallows interruption after resumption, allows revisions atEdição de Informações Gerais de Publicação

(Domain Information)dialog Confirmação de Informações Fornecidas allows interruption

after resumption, allows revisions atEdição de Informações Gerais de Publicação,Edição de Informações Específicas de Livro

(Operation Confirmation)dialog Feedback de Salvamento de Informações (Feedback)

}

5.10 Representação de Contextos de Interação

Um contexto de interação pode ser definido na LECI através de uma sentença com a

seguinte sintaxe:

Interaction-Context(<context_name>,{[<operands>]},<<condition>>)

<context_name> é o nome que identifica o contexto de interação.

<operands> é uma lista com os conceitos da aplicação que funcionam como

operandos para as condições que verificam se uma determinada situação está no contexto de

interação que está sendo definido.

<condition> é uma expressão lógica que indica as condições necessárias para a que

uma situação esteja no contexto de interação que está sendo definido. Estas condições são

especificadas com base nos conceitos da aplicação especificados na lista de operandos.

Relações entre contextos também podem ser usadas para a montagem destas condições. A

sintaxe para a especificação destas relações será descrita na seção 5.10.3.

Page 124: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

111

Exemplos:

Considere uma interação para a apresentação dos resultados de uma pesquisa por

publicações. Podemos dizer que um curso típico ocorre quando a pesquisa encontra uma lista

de publicações e um curso de exceção ocorre quando não é encontrada nenhuma publicação.

Podemos definir o contexto de interação que representa o curso típico na LECI, através da

seguinte sentença:

Interaction-Context(publicacao_encontrada,{número de publicações encontradas},<o número de publicações encontradas é maior ou igual a 1>,{Apresentação dos Resultados de Pesquisa por Publicações})

Para definir na LECI o contexto de interação no qual nenhuma publicação é

encontrada, podemos utilizar a seguinte sentença:

Interaction-Context(publicacoes_nao_encontradas,{número de publicações encontradas},<o número de publicações encontradas é igual a 0>)

5.10.1 Representação de Estruturas de Interação Dependentes de Contexto

O objetivo da representação de contextos de interação na LECI é possibilitar

definições de estruturas de interação (articulações de diálogos e enunciados) que ocorrem

somente em contextos de interação específicos. Para representar estas definições na LECI,

antes da sentença que define a estrutura de interação dependente de contexto, deve ser

declarada a seguinte sentença:

when context is [one of] <contexts_set>, onde

<contexts_set> é o conjunto de identificadores dos contextos de interação onde a

estrutura de interação ocorre, separados por vírgulas. Quando há apenas um contexto de

interação no conjunto, não é necessário especificar o termo one of e quando há mais de um, o

termo dever ser obrigatoriamente especificado. Um contexto de interação pode ser

identificado das seguintes formas:

• pelo identificador de um contexto de interação que tenha sido previamente

definido, através de uma sentença Interaction-Context. Caso tenham sido

definidos operandos para o contexto de interação, os valores a ser associados a

estes devem ser representados junto ao identificador, com a seguinte sintaxe:

<context_identifier> (<operand_value1>, ..., <operand_valueN>),

Page 125: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

112

onde <context_identifier> é o identificador do contexto de interação e

<operand_valueI> é o valor que deve ser associado ao I-ésimo operando definido

para o contexto de interação.

Exemplo:

No diálogo onde o sistema apresenta ao usuário os resultados de uma pesquisa por

publicações, ele deve enunciar uma mensagem informando que nenhuma

publicação foi encontrada, somente no contexto de interação em que isto ocorre.

Este enunciado é então dependente deste contexto. Aproveitando a definição do

contexto publicacoes_nao_encontradas na LECI, apresentada na seção anterior,

podemos representar esta dependência através da seguinte sentença:

when context ispublicacoes_nao_encontradas(num. de publicações encontradas){

system: <Não foi encontrada nenhuma publicação> (Feedback)}

• por um contexto de interação anônimo criado apenas para ser associado àquela

estrutura de interação, representado pelo construtor de contextos anônimos

Interaction-Context( {<operands>}, <<condition>> ), onde,

<operands> é uma lista de conceitos da aplicação (separados por vírgulas) que

são operandos utilizados para montar <condition>, que é uma expressão lógica

que indica as condições necessárias para a que uma situação esteja no contexto

anônimo definido. Estas condições são especificadas com base nos conceitos da

aplicação especificados na lista de operandos. Relações entre contextos também

podem ser usadas para a montagem destas condições. A sintaxe para a

especificação destas relações será descrita na seção 5.10.3.

Exemplo:

Caso o contexto de interação publicacoes_nao_encontradas, definido na seção

anterior, seja apenas utilizado em um único diálogo, ele pode ser definido no

próprio diálogo, através da seguinte sentença LECI:

Interaction-Context( {número de publicações encontradas},<o número de publicações encontradas é igual a 0>)

Page 126: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

113

5.10.2 Representação da Exclusividade entre Contextos de Interação

Os contextos de interação podem ser independentes ou mutuamente exclusivos. Por

default os contextos de interação são independentes, ou seja, se temos a especificação

especificação de um diálogo na forma

Dialog <dialog_name>Sequence {

when context is <context1><utterance_structure1>

when context is <context2><utterance_structure2>

...when context is <contextN>

<utterance_structureN>}

onde:

<dialog_name> é o nome do diálogo; <contextI> é o identificador do I-ésimo

contexto de interação e <utterance_structureI> é a estrutura de enunciados que devem ocorrer

quando o sistema estiver no I-ésimo contexto de interação, nada impede que quando o diálogo

seja travado, o sistema possa estar ao mesmo tempo em um ou mais dos contextos de

interação context1, context2, ..., contextN. Para representar exclusividade entre contextos de

interação, a LECI disponibiliza a estrutura Exclusive-Contexts que possui a seguinte sintaxe:

Exclusive-Contexts {when context is <context1>

<utterance_structure1>when context is <context2>

<utterance_structure2>...when context is <contextN>

<utterance_structureN>}

onde,

<dialog_name> é o nome da mensagem de comando;

<contextI> é o identificador do I-ésimo contexto de interação e

<utterance_structureI> é a estrutura de enunciados que devem ocorrer somente

quando o sistema estiver no I-ésimo contexto de interação.

Page 127: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

114

Exemplo:

O diálogo onde o sistema apresenta informações sobre uma publicação pode ocorrer

em pelo menos cinco contextos de interação mutuamente exclusivos: a publicação é um livro,

a publicação é uma dissertação de mestrado, a publicação é um periódico, a publicação é um

relatório técnico ou a publicação é uma tese de doutorado. Existem informações que

caracterizam qualquer tipo de publicação e que devem ser apresentadas independentemente do

contexto de interação, como por exemplo, o título, os autores, etc. Já outras informações são

específicas de cada tipo de publicação e só devem ser apresentadas em determinados

contextos. A seguir apresentamos trechos da especificação LECI de um diálogo para a

apresentação de informações sobre uma publicação, onde a exclusividade entre contextos é

utilizada para a definir enunciados de sistema que devem ser emitidos de acordo com o tipo

de publicação que está sendo apresentada.

Dialog Apresentação de Informações sobre Publicação(Domain Information)Sequence {

subtopic <título> {system: <Título> (Apposition)system: Título da Publicação (Domain Information Presentation)

}subtopic <Autores> {system: <Autores> (Apposition)system: Autores da Publicação (Domain Information Presentation)

}. . .subtopic <Tipo de Publicação> {system: <Tipo de Publicação> (Apposition)system: Tipo da Publicação (Domain Information Presentation)

}Exclusive-Contexts{when context is publicacao_e_livro {Sequence{subtopic <ISBN> {system: <ISBN> (Apposition)system: ISBN do livro (Domain Information Presentation)

}subtopic <Editora> {system: <Editora> (Apposition)system: editora do livro (Domain Information Presentation)

}subtopic <Edição> {system: <Edição> (Apposition)system: edição do livro (Domain Information Presentation)

}

Page 128: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

115

subtopic <Volume> {system: <Volume> (Apposition)system: volume do livro (Domain Information Presentation)

}}

}. . .when context is one-of publicacao_e_dissertacao_mestrado,

publicacao_e_tese_doutorado{Sequence{subtopic <Volume> {system: <Universidade> (Apposition)system: universidade (Domain Information)

}subtopic <Volume> {system: <Curso> (Apposition)system: curso (Domain Information)

}}

}}. . .

}

Convém mencionar que inicialmente pensou-se em utilizar a estrutura if then else para

a representação de contextos de interação mutuamente exclusivos. Entretanto, esta sintaxe foi

substituída por uma estrutura menos procedimental, onde grupos de condições básicas são

representados em um nível mais alto de abstração (contextos de interação). Adotamos esta

sintaxe pois acreditamos que com ela:

1. As especificações serão compreendidas mais facilmente.

2. A linguagem será mais acessível para usuários finais, permitindo que, em trabalhos

futuros, a LECI possa ser usada para end user designing ou end user programming [Myers,

1992].

5.10.3 Representação de Relações entre contextos

As relações entre contextos identificadas em nosso meta-modelo foram apresentadas

no capítulo 3. Nesta seção apresentaremos a sintaxe LECI para a definição de cada uma delas.

União

A união de contextos de interação é definida na LECI através da seguinte sintaxe:

union( <contexts_set> ), onde

Page 129: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

116

<contexts_set> é o conjunto de identificadores dos contextos que formam a união,

separados por vírgulas.

Exemplo:

Suponhamos que os contextos de interação "O locatário da publicação é professor." e

"O locatário da publicação é aluno da pós-graduação.", mencionados no capítulo 3, tenham

sido definidos na LECI e identificados, respectivamente por locatario_professor e

locatario_aluno_pos. Para definir o contexto de interação "O locatário da publicação é

professor ou aluno da pós-graduação." poderíamos especificar a seguinte sentença na LECI:

union(locatario_professor, locatario_aluno_pos)

Interseção

A interseção de contextos de interação é definida na LECI através da seguinte sintaxe:

intersection( <contexts_set> ), onde

<contexts_set> é o conjunto de identificadores dos contextos que formam a interseção,

separados por vírgulas.

Exemplo:

Suponhamos que os contextos de interação "O usuário corrente do sistema é

professor." e "O locatário da publicação é aluno do usuário.", mencionados no capítulo 3,

tenham sido definidos na LECI e identificados, respectivamente por usuario_professor e

locatario_aluno_do_usuario. Para definir o contexto de interação "O usuário corrente do

sistema é professor e o locatário da publicação é seu aluno" poderíamos especificar a seguinte

sentença na LECI:

intersection(usuario_professor, locatario_aluno_do_usuario)

Subcontexto

A relação de Subcontexto entre contextos de interação é definida na LECI através da

seguinte sintaxe:

Page 130: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

117

subcontext( <basic_context>, <constraints> ), onde

<basic_context> é o identificador do contexto base, do qual o contexto definido pela

relação é subcontexto.

<constraints> é uma expressão lógica que indica que restrições ao contexto base

caracterizam o subcontexto sendo definido. Estas restrições são especificadas com base em

conceitos do domínio e / ou relações entre contextos.

Exemplo:

Suponhamos que o contexto de interação "RNC aberto pelo supervisor", mencionado

no capítulo 3, tenha sido definido na LECI e identificado por RNC_aberto_pelo_supervisor.

Para definir o contexto de interação "RNC aberto pelo supervisor devido a reclamação de

cliente", como subcontexto deste contexto de interação com a restrição adicional de que o

RNC foi aberto devido a reclamação de cliente, poderíamos especificar a seguinte sentença na

LECI:

subcontext(RNC_aberto_pelo_supervisor, há reclamação de cliente)

Complementaridade

A relação de Complementaridade entre contextos de interação é definida na LECI

através da seguinte sintaxe:

complement( <complement_context>, [<super_context>] ), onde

<complement_context> é o identificador do contexto complementar ao contexto

definido pela relação.

<super_context> é o identificador do supercontexto comum aos contextos

complementares, no escopo do qual será definida a relação de complementaridade. Este

parâmetro é opcional. Se não for especificado, a complementaridade é total e não em relação a

algum supercontexto restrito.

Exemplo:

Suponhamos que os contextos de interação "RNC aberto pelo supervisor" e "RNC não

devido a reclamação de cliente", mencionados no capítulo 3, tenham sido definidos na LECI e

identificados, respectivamente por RNC_aberto_pelo_supervisor e

RNC_sem_reclamacao_cliente. Para definir o contexto de interação "RNC não aberto pelo

Page 131: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

118

supervisor, não devido a reclamação de cliente." como sendo o complementar do contexto

"RNC aberto pelo supervisor" em relação ao supercontexto "RNC não devido a reclamação de

cliente", poderíamos especificar a seguinte sentença na LECI:

complement(RNC_aberto_pelo_supervisor, RNC_sem_reclamacao_cliente)

5.10.4 Representação de Mudanças no Contexto de Interação Inicial do Diálogodevidas a Enunciados de Usuário

Vimos no capítulo 3 que a semântica de enunciados previamente emitidos pelo usuário

pode influenciar também o diálogo no qual são emitidos e não somente os diálogos

posteriores. A dependência semântica entre enunciados de um mesmo diálogo faz com que

determinados enunciados de usuário modifiquem o contexto de interação inicial deste diálogo.

Para a representação de mudanças no contexto de interação inicial de um diálogo criamos

duas formas especiais de identificação de contextos de interação:

• a palavra Initial, que representa o contexto de interação inicial do diálogo;

• uma sentença na forma:

user utterances: <concept> [<value>],

que representa o contexto de interação resultante da enunciação de value

associado ao conceito <concept>. Quando <value> não é especificado, a sentença

representa o contexto de interação resultante de qualquer enunciação do usuário

que aborde o conceito <concept>.

Estes dois tipos especiais de contexto de interação em conjunto com a cláusula

Exclusive-Contexts permitem representar que enunciados do contexto de interação inicial

do diálogo são afetados devido a um determinado enunciado de usuário, assim como que

enunciados que não seriam emitidos no contexto de interação inicial serão emitidos em

conseqüência deste enunciado.

Exemplos:

Consideremos a interação para a descrição de uma não conformidade no Qualitas,

mencionada no capítulo 3, para exemplificar a representação da interdependência entre

enunciados de um mesmo diálogo na LECI. Conforme mencionamos, em alguns casos, a

natureza de uma não conformidade pode ser inferida de acordo com o motivo da abertura do

Page 132: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

119

relatório da não conformidade (RNC). No exemplo do capítulo 3, mencionamos que se o

técnico informar que o motivo do RNC é "A análise crítica do contrato foi realizada após o

prazo estabelecido na norma.", a natureza é de processo e o sistema deve impedir que o

técnico escolha outra natureza, enquanto se mantiver este motivo. A seguir apresentamos

trechos do diálogo para a descrição da não conformidade definido na LECI, ilustrando a

representação desta dependência.

Dialog Descrição da Não Conformidade (Domain Information)Sequence {

. . .

system: <Natureza> (Information Request)user_alternatives {processo, produto, sistema}

Exclusive-Contexts {When context is Initial {

user: natureza do RNC (Domain Information)}when user utterances motivo do RNC as <análise crítica fora do prazo>

{system: processo (Domain Information Presentation)

}. . .

system: <Motivo do RNC> (Information Request)user: motivo do RNC (Domain Information). . .

}

5.11 Representação de Estratégias para Tratamento de Erros deUsuário

Para indicar como será o tratamento de erros de usuário ocorridos durante um diálogo,

ou vários diálogos componentes de uma mesma tarefa, o designer deverá adicionar à sentença

que define, respectivamente, o diálogo, ou a tarefa. uma sentença com a seguinte sintaxe:

has user errors handled byhandle_user_errors(<validation_type1>, <system_response_type1>,<dialog_embedding1>) [when context is [one of] <contexts_set1>...handle_user_errors(<validation_typeN>, <system_response_typeN>,<dialog_embeddingN>) [when context is [one of] <contexts_setN>]

<validation_typeI> identifica, para cada conjunto de contextos de interação

<context_setI>, o tipo de validação a ser executada. immediate identifica uma validação

pontual e batch identifica uma validação por lote.

<system_response_typeI> identifica, para cada conjunto de contextos de interação

<contexts_setI>, o tipo de resposta do sistema para o tratamento de erros cometidos pelo

Page 133: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

120

usuário. A tabela 5.8 apresenta os identificadores LECI associados a cada um dos tipos de

resposta de sistema apresentados no capítulo 3.

Tipo de Resposta do Sistema IdentificadorCorreção Interativa interactive correctionCorreção Interativa Sugerida suggested interactive correction

Tabela 5.8: Identificadores LECI para tipos de respostas do sistema para tratamento de erroscometidos pelo usuário.

<dialog_embeddingI> identifica, para cada conjunto de contextos de interação

<context_setI>, a forma como o diálogo remediador será encaixado na interação. A tabela 5.9

apresenta os identificadores LECI associados a cada uma das formas de encaixe de diálogos

apresentadas no capítulo 3.

Forma de Encaixe para Diálogos de Correção IdentificadorInserido insertedAutônomo autonomousAutônomo Contextualizado contextualized autonomous

Tabela 5.9: Identificadores das formas de encaixe para diálogos de correção na LECI.

<contexts_setI> é um conjunto de identificadores dos contextos de interação para

os quais é utilizada a estratégia de tratamento de erros de usuário, definida pela I-ésima

sentença handle_user_errors. As várias formas de se representar um identificador de

contexto são apresentadas na seção 5.10.1. Quando há uma única estratégia de tratamento,

válida para qualquer contexto de interação, não devem ser especificadas sentenças when

context is [one of].

Exemplos:

Tratamento de erros de usuário para um único diálogo

Consideremos o diálogo para a solicitação de impressão de um arquivo definido na

LECI na seção 5.7. Vamos defini-lo novamente, especificando, desta vez, uma estratégia de

tratamento de erros cometidos pelo usuário. A seguir apresentamos a nova definição do

diálogo na LECI, na qual especificamos uma validação em batch, com correção interativa,

onde o diálogo remediador é inserido no diálogo original.

Page 134: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

121

Dialog Solicitação de Impressão de Arquivo (Task Information)sequence{

system: <Para imprimir você deve fornecer os dados, e, em seguida,selecionar o controle da função que você deseja acionar> (Help)subtopic <Nome do Arquivo> {system: <Nome do Arquivo> (Information Request)user_alternatives <nomes de arquivos>

exclusive choice {user chooses: nome do arquivo (Domain Information)user informs: nome do arquivo (Domain Information)

} mandatorily}combination subtopic <Nome da Impressora> {

system: <Nome da Impressora> (Information Request)user_alternatives <nomes de impressoras>

user chooses: nome da impressora (Domain Information)user requests: initialization of configuração da impressoracausing persistence (Function Activation)

}subtopic <Número de Cópias> {

system: <Número de Cópias> (Information Request)suggestion <1>

user: numero_copias (Domain Information)}user requests: initialization of Controle de Impressãocausing persistence (Function Activation)

}has user errors handled by

handle_user_errors( batch, interactive correction, inserted )

Tratamento de erros de usuário para todos os diálogos de uma mesma tarefa

Consideremos a tarefa "Editar Informações Sobre Livro" definida na LECI na seção

5.8. Vamos defini-la novamente, especificando, desta vez, um tratamento de erros de usuário

padrão para todos os diálogos que a compõem. A seguir apresentamos a nova definição da

tarefa na LECI, na qual especificamos uma validação em batch, com correção interativa, onde

o diálogo remediador é autônomo contextualizado.

Task Editar Informações Sobre Livro (Editing)sequence{

dialog Edição de Informações Gerais de Publicaçãoallows interruption (Domain Information)

dialog Edição de Informações Específicas de Livroallows interruption after resumption, allows revisions atEdição de Informações Gerais de Publicação

(Domain Information)dialog Confirmação de Informações Fornecidas allows interruption

after resumption, allows revisions atEdição de Informações Gerais de Publicação,Edição de Informações Específicas de Livro

(Operation Confirmation)dialog Feedback de Salvamento de Informações (Feedback)

}

Page 135: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

122

has user errors handled byhandle_user_errors( batch, interactive correction,

contextualized autonomous )

5.12 Representação de Estratégias para Tratamento de Falhas deSistema

Para indicar como será o tratamento das falhas do sistema ocorridas durante um

diálogo, ou vários diálogos componentes de uma mesma tarefa, o designer deverá adicionar à

sentença que define, respectivamente, o diálogo, ou a tarefa, uma sentença com a seguinte

sintaxe:

has system failures handled by

handle_system_failures(<system_failures_handling_type1>)

[when context is [one of] <contexts_set1>

...

handle_system_failures(<system_failures_handling_typeN>)

[when context is [one of] <contexts_setN>

onde,

<system_failures_handling_typeI> indica, para cada conjunto de contextos de

interação <system_failures_contextI>, o identificador do tipo de tratamento de erro a ser

executado quando ocorre uma falha do sistema. Estes tipos foram apresentados no capítulo 3.

A tabela 5.10 indica quais os identificadores LECI associado a cada um deles.

Tipo de Tratamento de Falhas de Sistema IdentificadorCorreção Interativa interactive correctionCorreção Interativa Sugerida suggested interactive correctionFeedback Prestativo helpful feedbackFeedback Esperançoso hopeful feedbackFeedback Sumário simple feedback

Tabela 5.10: Identificadores dos tipos de tratamento de falhas de sistema na LECI.

<contexts_setI> é um conjunto de identificadores dos contextos de interação para

os quais é utilizada a estratégia de tratamento falhas de sistema, definida pela I-ésima

sentença handle_system_failures. As várias formas de se representar um identificador de

contexto são apresentadas na seção 5.10.1. Quando há uma única estratégia de tratamento,

válida para qualquer contexto de interação, não devem ser especificadas sentenças when

context is [one of].

Page 136: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

123

Exemplos:

Tratamento de falhas de sistema para um único diálogo

Vamos acrescentar agora, ao diálogo para a solicitação de impressão de um arquivo,

redefinido na seção anterior, estratégias para tratamento de falhas de sistema. Nos contextos

onde a falha é "impossibilidade de conexão com a impressora" ou "falta de papel" a estratégia

é feedback esperançoso. Em qualquer outro contexto, a estratégia é feedback sumário. A

redefinição do diálogo é apresentada a seguir.

Dialog Solicitação de Impressão de Arquivo (Task Information)sequence{

system: <Para imprimir você deve fornecer os dados, e, em seguida,selecionar o controle da função que você deseja acionar> (Help)subtopic <Nome do Arquivo> {system: <Nome do Arquivo> (Information Request)user_alternatives <nomes de arquivos>

exclusive choice {user chooses: nome do arquivo (Domain Information)user informs: nome do arquivo (Domain Information)

} mandatorily}combination subtopic <Nome da Impressora> {

system: <Nome da Impressora> (Information Request)user_alternatives <nomes de impressoras>

user chooses: nome da impressora (Domain Information)user requests: initialization of configuração da impressoracausing persistence (Function Activation)

}subtopic <Número de Cópias> {

system: <Número de Cópias> (Information Request)suggestion <1>

user: numero_copias (Domain Information)}user requests: initialization of Controle de Impressãocausing persistence (Function Activation)

}has user errors handled by

handle_user_errors( batch, interactive correction, inserted )

has system failures handled byhandle_system_failures( hopeful feedback ) when context is one of

impressora_nao_conectada, falta_de_papel

handle_system_failures( simple feedback ) when context iscomplement(union(impressora_nao_conectada, falta_de_papel))

Tratamento de falhas de sistema para todos os diálogos de uma mesma tarefa

Vamos acrescentar agora, à tarefa "Editar Informações Sobre Publicação", redefinida

na seção anterior, estratégias para tratamento de falhas de sistema. No contexto onde a falha é

Page 137: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

124

"não há espaço em disco para o salvamento da informações" a estratégia é feedback

prestativo. Em qualquer outro contexto, a estratégia é feedback sumário. A redefinição da

tarefa é apresentada a seguir.

Task Editar Informações Sobre Livro (Editing)sequence{

dialog Edição de Informações Gerais de Publicaçãoallows interruption (Domain Information)

dialog Edição de Informações Específicas de Livroallows interruption after resumption, allows revisions atEdição de Informações Gerais de Publicação

(Domain Information)dialog Confirmação de Informações Fornecidas allows interruption

after resumption, allows revisions atEdição de Informações Gerais de Publicação,Edição de Informações Específicas de Livro

(Operation Confirmation)dialog Feedback de Salvamento de Informações (Feedback)

}has user errors handled by

handle_user_errors( batch, interactive correction,contextualized autonomous )

has system failures handled byhandle_system_failures( helpful feedback ) when context is

falta_espaco_em_discohandle_system_failures( simple feedback ) when context is

complement(falta_espaco_em_disco)

5.13 Reuso de Especificações

Em qualquer especificação, muitas definições podem ser válidas para diversas

situações. Para evitar que o designer tenha que especificar várias vezes as mesmas definições,

introduzimos na LECI mecanismos de reuso. Estes mecanismos visam melhorar a

redigibilidade da linguagem e facilitar a manutenção do modelo de interação especificado. A

LECI possibilita os seguintes mecanismos de reuso: herança entre papéis de usuário, relações

entre contextos de interação, reuso de especificações de diálogos e reuso de especificações de

tarefas. A representação de herança entre papéis de usuário e relações entre contextos de

interação foram abordadas, respectivamente, nas seções 5.2 e 5.10.3. Os reusos de

especificações de diálogos tarefas serão descritos a seguir.

5.13.1 Reuso de Especificações de Diálogos

A possibilidade de reuso de especificações de diálogos se faz bastante vantajosa. O

designer pode desejar encaixar um mesmo "subdiálogo" dentro de diálogos distintos ou ainda

Page 138: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

125

definir templates de diálogos ou subdiálogos, para instanciá-los através de passagem de

parâmetros.

Um exemplo de reuso de subdiálogo ocorre no Qualitas. Existem diálogos onde o

usuário fornece informações sobre a avaliação de um serviço prestado por ele. Como existem

quatro tipos de serviço, há quatro diálogos distintos para a informação sobre a avaliação de

serviço, cada um correspondendo a um tipo de serviço. Todos estes diálogos incluem um

subdiálogo idêntico que aborda pontos fortes e fracos da prestação do serviço. Outros

exemplos, de mesmos subdiálogos que fazem parte de diálogos distintos, são subdiálogos que

contêm apenas enunciados de sistema. Por exemplo, um mesmo conjunto de mensagens

padrão preventivas de erro, como "* campos obrigatórios.", costuma ser enunciado em

diversos diálogos.

A representação de informações contextuais sobre tarefas exemplifica a utilização de

templates de subdiálogos. Normalmente a apresentação deste tipo de informação segue um

mesmo padrão. Por exemplo, em qualquer diálogo que aborde o tópico publicação, o designer

pode desejar informar ao usuário que este é o tópico, que o subtópico é a tarefa realizada

sobre a publicação (Alteração, Consulta, etc) e que o foco do diálogo é uma determinada

publicação, identificada, por exemplo, por seu título e autores.

O reuso de diálogos é suportado pela LECI através da inclusão de diálogos

compartilhados (qualificados com o identificador shared) na estrutura que define o diálogo

que reusa as especificações compartilhadas. Esta inclusão é representada através da seguinte

sintaxe:

include(<dialog_name> [, {<dialog_operands>}])

<dialog_name> é o identificador do diálogo compartilhado a ser reusado.

<dialog_operands> este parâmetro só deve ser especificado quando o diálogo

compartilhado é um template. Ele representa a lista de operandos necessários para a

instanciação do template (separados por vírgulas).

Exemplos:

A seguir, apresentamos uma sentença LECI que define o template de um subdiálogo

onde o sistema enuncia informações contextuais que devem ser apresentadas ao usuário em

diálogos sobre o tópico publicação. Em seguida apresentamos trechos de dois diálogos, onde

são definidas inclusões deste subdiálogo.

Page 139: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

126

shared Dialog contexto_publicacao (Information Presentation)operands { tarefa, título da publicação, autores }Sequence{subtopic {system: <Publicação - > (Contextual Information)system: tarefa (Contextual Information)

}subtopic {system: <Título> (Apposition)system: Título da Publicação (Domain Information)

}subtopic {system: <Autores> (Apposition)system: Autores da Publicação (Domain Information)

}}

Dialog Edição de Informações Específicas de PublicaçãoSequence{

include(contexto_publicacao,{<Alteração>, título da publicação, autores})...

}

Dialog Apresentação de Informações sobre PublicaçãoSequence{

include(contexto_publicacao,{<Consulta>, título da publicação, autores})...

}

5.13.2 Reuso de Especificações de Tarefas

A possibilidade de reuso de especificações de tarefas também é importante, pois

tarefas distintas podem ter passos em comum. Por exemplo, as tarefas "Editar informações

sobre dissertação de mestrado", "Editar informações sobre livro", "Editar informações sobre

periódico", "Editar informações sobre relatório técnico" e "Editar informações sobre tese de

doutorado" são similares, variando apenas o diálogo para a edição das informações

específicas.

O reuso de tarefas é possibilitado na LECI de forma análoga ao reuso de diálogos,

através da inclusão de tarefas compartilhadas (qualificadas com o identificador shared) na

estrutura que define a tarefa que reusa as especificações compartilhadas. Esta inclusão é

representada através da seguinte sintaxe:

include(<task_name> [, {<task_operands>}])

<task_name> é o identificador da tarefa compartilhada a ser reusado.

Page 140: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

127

<task_operands> este parâmetro só deve ser especificado quando a tarefa

compartilhada é um template. Ele representa a lista de operandos necessários para a

instanciação do template (separados por vírgulas). Os operandos para templates de tarefa são

identificadores de diálogos.

Exemplos:

Para simplificar as definições das tarefas de edição dos diversos tipos de publicação

mencionadas, poderíamos definir um template para tarefas de edição de publicação, que

recebesse como parâmetro o diálogo para a edição de informações específicas sobre a

publicação. O template e as tarefas que o instanciam poderiam ser definidas na LECI

conforme apresentado a seguir.

shared Task Editar Informações Sobre Livro (Editing)operands dialogo_para_edicao_de_informacoes_especificassequence{

dialog Edição de Informações Gerais de Publicaçãoallows interruption (Domain Information)

dialog dialogo_para_edicao_de_informacoes_especificasallows interruption after resumption, allows revisions atEdição de Informações Gerais de Publicação

(Domain Information)dialog Confirmação de Informações Fornecidas allows interruption

after resumption, allows revisions atEdição de Informações Gerais de Publicação,dialogo_para_edicao_de_informacoes_especificas

(Operation Confirmation)dialog Feedback de Salvamento de Informações (Feedback)

}has user errors handled by

handle_user_errors( batch, interactive correction,contextualized autonomous )

has system failures handled byhandle_system_failures( helpful feedback ) when context is

falta_espaco_em_discohandle_system_failures( simple feedback ) when context is

complement(falta_espaco_em_disco)

Task Editar Informações Sobre Dissertação de Mestrado (Editing)include( Editar Informações Sobre Publicação,

{Edição de Informações Específicas de Dissertação de Mestrado})

Task Editar Informações Sobre Livro (Editing)include( Editar Informações Sobre Publicação,

{Edição de Informações Específicas de Livro} )

Task Editar Informações Sobre Periódico (Editing)include( Editar Informações Sobre Publicação,

{Edição de Informações Específicas de Periódico} )

Page 141: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

128

Task Editar Informações Sobre Relatório Técnico (Editing)include( Editar Informações Sobre Publicação,

{Edição de Informações Específicas de Relatório Técnico} )

Task Editar Informações Sobre Tese de Doutorado (Editing)include( Editar Informações Sobre Publicação,

{Edição de Informações Específicas de Tese de Doutorado} )

5.14 Componentes Tecnológicos e Meta-Tecnológicos do Modelode Interação

Acreditamos que os componentes do modelo de interação apresentados no capítulo 3

têm semântica meta-tecnológica, ou seja, podem ser utilizados para construir um discurso

sobre a tecnologia, seja ela qual for. Entretanto, a forma de instanciação destes componentes

pode variar dependendo das limitações e dos recursos das tecnologias para as quais o modelo

de interação será mapeado. Por outro lado, algumas partes do modelo de interação podem ser

comuns a mais de uma tecnologia ou até mesmo a todas para as quais será mapeado. Permitir

que o designer separe em seu modelo de interação o discurso meta-tecnológico de sua

instanciação em uma tecnologia pode trazer as seguintes vantagens:

• pode auxiliar designers a conscientizar-se sobre que partes de seu modelo teriam

que ser modificadas caso a aplicação tenha de ser implementada em uma

tecnologia diferente daquela para a qual tenha sido inicialmente projetada;

• pode facilitar a elaboração de analogias entre os padrões de interação adotados em

tecnologias distintas nas quais o mesmo modelo será implementado.

Desta forma, para permitir que esta separação seja explicitada na LECI, definimos o

seguinte construto:

[Exclusive-Technologies {]when technology is <technology_type1> {

<interaction_structure1>}[. . .when technology is <technology_typeN> {

<interaction_structureN>}

}]

onde:

<technology_typeI> é a descrição do I-ésimo tipo de tecnologia na qual a aplicação

poderá ou deverá ser implementada;

Page 142: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

129

<interaction_structureI> é a estrutura de interação específica que só deve existir

quando a aplicação for implementada no I-ésimo tipo de tecnologia especificado e que,

portanto, é componente da mensagem tecnológica do designer.

Exemplo:

Considere um diálogo para a Seleção de uma Publicação, a ser travado para a

realização da tarefa Editar Informações sobre Publicação, em um Sistema Gerenciador de

Biblioteca. Suponha que, ao especificar versões deste diálogo acessíveis via desktop (web) ou

telefone, o designer queira explicitar que partes deste diálogo são comuns aos dois ambientes

e quais são mais adequadas a cada um deles. Suponha, por exemplo, que, assumindo que há

grande possibilidade de o usuário estar procurando editar uma publicação cadastrada

recentemente, o designer decida disponibilizar para os dois ambientes, uma lista com as

últimas N publicações cadastradas e um diálogo para busca pela publicação, caso ela não

esteja na lista. Suponha, entretanto, que ele opte por disponibilizar acessos ao diálogo de

busca, de formas distintas para cada ambiente. Por exemplo, no desktop ele pode incluir este

diálogo dentro do diálogo para a seleção de publicação, aproveitando o espaço disponível e

minimizando o número de diálogos, para evitar espera por carregamento de página. No

telefone ele pode optar por definir que o usuário deve solicitar explicitamente este diálogo

após ouvir as N opções de publicação e ainda permitir que ele solicite a repetição das

informações que caracterizam as N publicações, visto que elas não são persistentes como no

desktop. Para representar estas abstrações através da LECI, faríamos a seguinte especificação

para o diálogo para seleção de publicação:

Dialog Seleção de Publicação (Selection)Sequence subtopic Escolha de Publicação {system:<escolha dentre as N últimas publicações cadastradas oua busque em todo o cadastro> (Information Request)user_alternatives <N últimas publicações cadastradas>

Choice {user chooses: identificador da publicação(Domain Information)

Exclusive-Technologies {when technology is telefone {Choice {user reinitializes this (Dialog Reinitialization)user initializes Busca por Publicação(Function Request)

}}when technology is desktop {

include(Busca por Publicação) }

}}

}

Page 143: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

130

Capítulo 6

Utilização Prática da LECI

Neste capítulo apresentamos estudos de caso realizados com o objetivo de ilustrar a

aplicação prática da LECI e as vantagens de se utilizá-la como ferramenta de especificação de

cenários de interação. Na seção 6.1 descrevemos passo a passo como designers devem utilizar

a linguagem para especificar cenários de interação reais. Na seção 6.2 exemplificamos como

a LECI pode apoiar o designer na especificação de aplicações multi-tecnologia. Por fim, na

seção 6.3 utilizamos os cenários apresentados na seção 6.1 para realizar uma análise

comparativa entre a LECI e a LEMD, a qual ilustra nossas motivações para a decisão de criar

uma nova linguagem, ao invés de adaptar a LEMD.

6.1 Estudo de Caso 1: Especificação de Cenários de InteraçãoReais na LECI

Nesta seção descrevemos como designers devem utilizar a LECI para especificar

cenários de interação reais. Os cenários utilizados nesta descrição abordam duas tarefas do

módulo de reuniões do Qualitas: as tarefas “Criar Reunião” e “Editar Reunião”. A tarefa

“Criar Reunião” consiste na iniciação da preparação de uma reunião, através da definição

preliminar de suas características. A tarefa “Editar Reunião” consiste na edição das

características definidas para a reunião, durante sua preparação, por qualquer dos usuários

definidos como seu organizador. A seguir apresentamos os cenários que descrevem estas

tarefas e na próxima seção, apresentaremos passo a passo como especificá-los na LECI.

Tarefa 1: Criar Reunião

Atores: usuário do módulo reuniões e sistema.

Curso Típico

A)- Descrição Geral

O sistema solicita que o usuário informe se deseja criar uma reunião:

• a partir de uma reunião existente,

Page 144: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

131

• a partir de um template de reuniões,

• a partir do zero.

Após o usuário escolher a forma de criação, o sistema solicita que ele forneça/atualize

as informações que caracterizam a reunião:

• sua natureza e assunto de forma genérica;

• se a reunião segue alguma norma;

• a pauta da reunião;

• quais são os papéis que serão atribuídos aos participantes da reunião;

• quem são os outros usuários do módulo reuniões, organizadores da reunião, e para

cada um deles (inclusive o criador da reunião), quais são seus papéis na

organização desta reunião;

• quem são os outros participantes, quais são seus papéis;

• quais são as listas de comunicações a serem utilizadas durante a preparação e

divulgação dos resultados da reunião e quem são seus membros;

• o local;

• a data e

• os prazos relativos (em dias) para: definição da pauta, definição da programação,

convocação da reunião, confirmação da presença e definição de representação,

emissão de lembrete, aprovação e divulgação da ata. (Os prazos para a aprovação

e divulgação da ata são contados a partir da data da ocorrência da reunião e os

demais prazos, a partir da data de sua criação).

As informações sobre os papéis, organizadores, participantes e listas de comunicação

são fornecidas pelo usuário através de subdiálogos iniciados a partir do diálogo corrente.

Depois que o usuário termina de informar as características da nova reunião, o sistema lhe

apresenta todas as informações que ele forneceu, solicita que ele as confirme e que indique se

deseja criar um template de reuniões definido por elas.

Page 145: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

132

B)- Alternativas Quanto ao Método de Criação da Reunião

B1. O usuário decide criar uma reunião a partir de uma reunião existente

O sistema solicita que ele informe qual reunião servirá de base para a criação da nova

reunião. Para isto, apresenta ao usuário uma lista com as últimas n reuniões, permitindo que

este escolha a reunião desejada dentre a lista ou inicie um diálogo onde pode informar

parâmetros para buscar a reunião em todo o banco de dados.

B1.1. O usuário escolhe uma das n reuniões apresentadas

O sistema apresenta um subconjunto das informações que caracteriza a reunião

escolhida pelo usuário (mesmo conjunto de informações apresentado na descrição geral, com

exceção da data1) e solicita que ele escolha quais destas informações deseja aproveitar para a

criação da nova reunião. Após a escolha do usuário, o curso segue como apresentado na

descrição geral.

B1.2. O usuário decide realizar uma busca pela reunião em todo o Banco de Dados

Neste caso o usuário inicia um diálogo no qual o sistema permite que ele informe os

seguintes parâmetros para a busca: o assunto, a data, a natureza e/ou os participantes da

reunião. O usuário informa os parâmetros que deseja e o sistema realiza a busca.

B1.2.1. É encontrada apenas uma reunião que satisfaz as condições de busca

O sistema apresenta ao usuário o assunto, a data, a natureza e os participantes da

reunião encontrada, para identificá-la. Em seguida, permite que o usuário selecione quais

informações associadas à reunião deseja aproveitar para a criação da nova reunião ou que

inicie uma nova busca. Se o usuário decide iniciar nova busca o curso segue como

apresentado no item B1.2, em caso contrário, o curso segue como apresentado na descrição

geral.

B1.2.2. É encontrada uma lista de reuniões

O sistema apresenta ao usuário a lista de reuniões encontradas e permite que ele

escolha a partir de qual delas deseja criar a nova reunião ou que inicie uma nova busca. Se o

1 A data é a única das informações que caracteriza uma reunião existente que não pode ser aproveitada para a

criação de uma nova.

Page 146: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

133

usuário decide iniciar nova busca o curso segue como apresentado no item B1.2, em caso

contrário, o curso segue como apresentado no item B1.2.1.

B1.2.3 Não é encontrada reunião que satisfaça as condições de busca

Neste caso o sistema informa este fato ao usuário e permite que ele inicie uma nova

busca. A partir deste ponto o curso segue como apresentado no item B1.2.

B2. O usuário decide criar uma reunião a partir de um template de reuniões

Neste caso o sistema solicita que o usuário informe qual o template a ser usado como

base para a criação da reunião. O usuário informa o template desejado. O sistema apresenta o

conjunto de informações que caracteriza o template escolhido pelo usuário (mesmo conjunto

de informações apresentado na descrição geral, com exceção da data) e solicita que ele

escolha quais destas informações deseja aproveitar para a criação da nova reunião. Após a

escolha do usuário, o curso segue como apresentado no item D1.

B3. O usuário decide criar uma reunião a partir do zero

Neste caso, não há passos intermediários, o curso segue exatamente como apresentado

no item D1, abaixo.

C)- Alternativas Quanto à Criação de Template

C1. O usuário decide criar um template a partir da reunião criada

No mesmo diálogo em que informa que os dados foram armazenados com sucesso o

sistema também informa que o template foi criado com sucesso. A partir deste ponto o curso

segue como apresentado na descrição geral.

C2. O usuário decide NÃO criar um template a partir da reunião criada

Neste caso o curso segue exatamente como apresentado na descrição geral.

D)- Alternativas Quanto à Confirmação das Informações

D1. O usuário confirma as informações fornecidas

O sistema informa que as informações foram armazenadas com sucesso, apresenta a

mensagem padrão sobre criação de reunião que deve ser enviada aos outros organizadores e

pergunta se ele deseja que ela seja enviada imediatamente ou posteriormente.

Page 147: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

134

D1.1 O usuário solicita o envio imediato da mensagem

O sistema a envia, informando ao usuário que este envio foi realizado com sucesso.

D1.2. O usuário decide enviar a mensagem posteriormente

O sistema informa ao usuário que ele poderá enviar a mensagem posteriormente

acessando a opção “Comunicar Criação de Reunião” ou após editar as características da

reunião, acessando a opção “Editar Reunião”.

Cursos de Exceção

O usuário fornece informações incorretamente

O sistema apresenta para o usuário apenas as informações ele forneceu incorretamente

e indica como ele deve corrigi-las.

O sistema falha

O sistema exibe uma mensagem informando o usuário sobre a falha ocorrida e

solicitando que ele tente, se for o caso, invocar novamente a função do sistema que falhou.

Tarefa 2: Editar Reunião

Atores: organizador da reunião e sistema.

Curso Típico

A) - Descrição Geral

O sistema apresenta ao usuário uma lista com todas as reuniões em preparação para as

quais ele foi designado como organizador e solicita que ele informe qual delas deseja editar.

Após o usuário escolher a reunião, o sistema solicita que ele atualize as informações que

caracterizam a reunião. A partir deste ponto este cenário é quase idêntico ao cenário da tarefa

“Criar Reunião”. As únicas diferenças são as seguintes:

• o sistema só pergunta ao usuário se ele deseja criar um template a partir da

reunião, caso isto já não tenha sido feito por ele ou por outro organizador;

Page 148: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

135

• a mensagem que o sistema permite que o usuário envie após confirmar as

informações fornecidas para a reunião diz respeito a “alterações realizadas” e não a

“criação de reunião”.

Cursos de Exceção

Há apenas um curso de exceção para esta tarefa que não tenha sido descrito no cenário

da tarefa “Criar Reunião”. Ele será descrito a seguir

O usuário escolhe uma reunião que está sendo editada por outro organizador

Neste caso o sistema lhe informa este fato e quem é o organizador que está editando a

reunião.

6.1.1 Especificação Passo a Passo dos Cenários de Interação na LECI

Para especificar na LECI os cenários de interação apresentados nesta seção, assim

como qualquer outro cenário de interação, são necessários os seguintes passos:

1. especificação dos papéis dos usuários que atuam no cenário,

2. especificação dos conceitos da aplicação referenciados,

3. especificação dos contextos de interação,

4. especificação da estrutura da tarefa em termos de diálogos,

5. especificação das estruturas dos diálogos componentes da tarefa, em termos de

enunciados de usuário e de sistema.

Nas próximas seções ilustraremos a realização de cada um destes passos, utilizando os

cenários apresentados.

Especificação dos Papéis de Usuário

Os papéis de usuário são identificados a partir dos atores mencionados no cenário,

excetuando-se o sistema. Desta forma, a partir dos cenários descritos, podemos identificar os

seguintes papéis: usuário do módulo reuniões e organizador da reunião. Podemos identificar

ainda a seguinte relação de herança entre os papéis: todo o organizador é um usuário do

Page 149: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

136

módulo reuniões. Assim, as seguintes sentenças definem estes papéis na LECI, considerando-

se apenas as tarefas descritas:

Role usuário do módulo reuniões may access Criar Reunião

Role organizador da reunião sub-role of usuário do módulo reuniõesmay access Editar Reunião

Especificação dos Conceitos da Aplicação

Os conceitos da aplicação são todas as informações que os cenários descrevem ser

fornecidas pelo usuário ou apresentadas pelo sistema. Desta forma, as seguintes sentenças

definem na LECI todos os conceitos da aplicação referenciados nos cenários apresentados:

Concept identificador da reunião type Original DomainConcept assunto type Original DomainConcept natureza type Original DomainConcept pauta type Original DomainConcept norma type Original DomainConcept organizadores type Original DomainConcept organizador type Original DomainConcept papéis type Original DomainConcept papel do organizador type Original DomainConcept participantes type Original DomainConcept participante type Original DomainConcept obrigatoriedade da presença type Original DomainConcept listas de comunicação type Original DomainConcept local type Original DomainConcept data type Original DomainConcept prazo para a definição da pauta type Original DomainConcept prazo para a definição da programação type Original DomainConcept prazo para a convocação type Original DomainConcept prazo para a confirmação da presença type Original DomainConcept prazo para o lembrete type Original DomainConcept prazo para a aprovação da ata type Original DomainConcept prazo para a divulgação da ata type Original DomainConcept método de criação da reunião type Introduced by TechnologyConcept identificador do template type Introduced by TechnologyConcept informações aproveitáveis type Introduced by TechnologyConcept criar template type Introduced by TechnologyConcept nome da lista de comunicação type Introduced by TechnologyConcept membros da lista de comunicação type Introduced by Technology

Especificação dos Contextos de Interação

Os contextos de interação são identificados através de alternativas de interação. Cada

alternativa de interação representa um contexto de interação. Apresentaremos a seguir as

sentenças que definem na LECI todos os contextos de interação necessários para a

representação das alternativas de interação descritas nos cenários.

Page 150: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

137

Interaction-Context(<Criacao_a_partir_de_reuniao_existente>,{método de criação de reunião},<método de criação de reunião = a partir de reunião existente>)

Interaction-Context(<Criacao_a_partir_de_template>,{método de criação de reunião},<método de criação de reunião = a partir de template>)

Interaction-Context(<usuario_realiza_busca>,{})

Interaction-Context(<reuniao_nao_encontrada>,{número de reuniões encontradas},<o número de reuniões encontradas é igual a 0>)

Interaction-Context(<mais_de_uma_reuniao_encontrada>,{número de reuniões encontradas},<o número de reuniões encontradas é maior que 1>)

Interaction-Context(<reuniao_concorrentemente_editada>,{identificador da reunião}, <a reunião identificada poridentificador da reunião está sendo editada por outro usuário>)

Especificação da Estrutura da Tarefa

As tarefas são representadas na LECI em termos de diálogos. Para segmentar a tarefa

em termos de diálogos é necessário analisar em que pontos do cenário ocorrem mudanças de

tópico. As alternativas de interação também têm papel fundamental para a especificação da

estrutura de uma tarefa na LECI. As alternativas de interação indicam em que contextos

ocorrem os diálogos. Alguns diálogos ocorrem em qualquer contexto e outros só em contextos

determinados. Por exemplo, para a tarefa “Criar Reunião”, o diálogo inicial para a seleção do

método de criação de reunião ocorre sempre, enquanto o diálogo para a seleção de um

template de reuniões só ocorre se o usuário desejar criar uma reunião a partir de um template.

Os cursos de exceção também influenciam a especificação das tarefas. Eles indicam

como devem ser especificadas na LECI, as estratégias de tratamento de erros de usuário e de

sistema. De acordo com o que está descrito nos cenários, a estratégia de tratamento de erros

de usuário a ser empregada ao longo dos diálogos componentes da tarefa correção é uma

correção interativa (Interactive Correction) feita em lote (Batch) e no diálogo de correção, o

sistema aborda apenas as informações que foram fornecidas incorretamente (Contextualized

Autonomous). A estratégia de tratamento de falhas de sistema é do tipo Feedback

Esperançoso (Hopeful Feedback).

Por fim, ao especificarmos a estrutura das tarefas convém analisar, também, se é

possível reusar especificações. Por exemplo, as tarefas descritas nos cenários apresentados são

Page 151: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

138

compostas por muitos passos comuns: os cenários são praticamente iguais a partir do ponto

onde o usuário fornece/atualiza as informações que caracterizam a reunião. Desta forma

podemos especificar uma única vez as partes comuns a ambas as tarefas e ao especificarmos

suas estruturas, reusar estas especificações utilizando a cláusula include.

Tendo em mente as considerações apresentadas, especificamos na LECI a estrutura de

diálogos das tarefas descritas, através das seguintes sentenças:

Partes Comuns a Ambas as Tarefas

shared Task Informar Atributos da Reunião (Editing)operands tarefa_correnteSequence {

Dialog Edição dos Atributos da Reunião (Domain Information)Dialog Confirmação dos Atributos da Reunião (Operation Confirmation)Dialog Comunicação sobre Reunião (Communication)Exclusive-Contexts {

When Context is mensagem_sera_enviada_imediatamente {Dialog Feedback sobre Envio de Comunicação (Feedback)

}When Context is mensagem_sera_enviada_posteriormente {

Dialog Informação sobre Envio Posterior (Feedback)}

}}

Tarefa Criar Reunião

Task Criar Reunião (Creation)Sequence {

Dialog Seleção do Método de Criação da Reunião (Selection)Exclusive-Contexts {

When context is criacao_a_partir_de_reuniao_existente {Dialog Seleção de Reunião (Selection)When context is usuario_realiza_busca {

Repetition {Dialog Busca por ReuniãoExclusive-Contexts {When context is reuniao_nao_encontrada {

Dialog Feedback sobre Reunião não encontrada (Feedback)}When context is mais_de_uma_reuniao_encontrada {

Dialog Reuniões Encontradas (Selection)}

}}

}Dialog Seleção de Informação Aproveitável (Selection)

}When context is criacao_a_partir_de_template {

Dialog Seleção de Template (Selection)Dialog Seleção de Informação Aproveitável (Selection)

}}

Page 152: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

139

include(Informar Atributos da Reunião, {“Criar Reunião”})}has user errors handled by

handle_user_errors( batch, interactive correction,contextualized autonomous )

has system failures handled byhandle_system_failures( hopeful feedback )

Tarefa Editar Reunião

Task Editar Reunião (Creation)Sequence {

Dialog Seleção de Reunião (Selection)include(Informar Atributos da Reunião, {“Editar Reunião”})

}has user errors handled by

handle_user_errors( batch, interactive correction,contextualized autonomous )

has system failures handled byhandle_system_failures( hopeful feedback )

Especificação da Estrutura dos Diálogos

Para a especificação de cada diálogo componente de uma tarefa na LECI, é necessário

identificar quais os enunciados de sistema e de usuário que o compõem. Os enunciados de

sistema são as apresentações de informação realizadas pelo sistema. Os enunciados de usuário

são todas as informações fornecidas por ele e todas as solicitações que ele faz durante a

interação. Para cada enunciado emitido pelo sistema com semântica Solicitação de

Informação, deve haver um enunciado de usuário correspondente, com semântica

Fornecimento de Informação. Desta forma, os enunciados de usuário para fornecimento de

informação podem ser identificados implicitamente no cenário do exemplo, a partir de trechos

que indicam que o sistema solicita o fornecimento de determinada informação, em conjunto

com trechos que indicam que o usuário fornece as informações solicitadas. Com base nestas

considerações, especificamos os diálogos descritos no cenário na LECI através das seguintes

sentenças:

Dialog Seleção do Método de Criação da Reunião (Selection)Sequence subtopic Método de Criação da Reunião {

system: <método de criação da reunião> (Information Request)user_alternatives { <a partir de uma reunião existente>,<a partir de um template de reuniões>, <a partir do zero> }

user: método de criação da reunião (Domain Information)}

Dialog Seleção de Reunião (Selection)Sequence subtopic Escolha de Reunião {

system:<escolha dentre as N últimas reuniões ou a busque em todo o cadastro> (Information Request)user_alternatives <N últimas reuniões>

Page 153: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

140

Choice {user chooses: identificador da reunião (Domain Information)user initializes Busca por Reunião (Domain Information Request)

}}

Dialog Busca por Reunião (Information Request)Sequence subtopic parâmetros para a busca {

system: <Informe os parâmetros para a busca> (Contextual Information)subtopic Assunto {system: <assunto> (Information Request)user informs optionally: assunto (Domain Information)

}subtopic Data {system: <data> (Information Request)user informs optionally: data (Domain Information)

}subtopic Natureza {system: <natureza> (Information Request)user informs optionally: natureza (Domain Information)

}subtopic Participantes {system: <participantes> (Information Request)user informs optionally: participantes (Domain Information)

}}

Dialog Reuniões Encontradas (Selection)Sequence subtopic Escolha de Reunião {

system:<escolha dentre as reuniões encontradasou busque novamente> (Information Request)user_alternatives <reuniões encontradas>

Choice {user chooses: identificador da reunião (Domain Information)user initializes Busca por Reunião (Domain Information Request)

}}

Dialog Feedback sobre Reunião não encontrada (Feedback)Sequence {system: <Não foi encontrada nenhuma reunião> (Feedback)user initializes Busca por Reunião (Domain Information Request)

}

Dialog Seleção de Informação Aproveitável (Selection)Sequence {

system: <Informações que deseja aproveitar:> (Information Request)user alternatives: {natureza, assunto, norma, pauta, papéis,organizadores, participantes, listas de comunicação, local, prazo paraa definição da pauta, prazo para a definição da programação, prazopara a convocação, prazo para a confirmação da presença, prazo para olembrete, prazo para a aprovação da ata, prazo para a divulgação daata}

Choice {user chooses multiple: informações aproveitáveis

(Domain Information)user initializes Busca por Reunião (Domain Information Request)

}}

Page 154: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

141

Dialog Seleção de Template (Selection)Sequence {

system: <selecione o template> (Information Request)user alternatives <templates>

user: identificador do template (Domain Information)}

Dialog Informação dos Atributos da Reunião (Domain Information)Sequence {

subtopic natureza {system: natureza (Domain Information)system: <natureza> (Information Request)user: natureza (Domain Information)

}subtopic assunto {system: assunto (Domain Information)system: <assunto> (Information Request)user: assunto (Domain Information)

}subtopic norma {system: norma (Domain Information)system: <norma> (Information Request)user informs optionally: norma (Domain Information)

}subtopic pauta {system: pauta> (Domain Information)system: <pauta> (Information Request)user: pauta (Domain Information)

}subtopic papéis {system: <papéis> (Apposition)system: papéis (Domain Information)user initializes: Informação de Papéis (Topic Change)

}subtopic organizadores {system: <organizadores> (Apposition)repetition {

system: organizador (Domain Information)system: papel do organizador (Domain Information)

}user initializes: Informação de Organizadores (Topic Change)

}subtopic participantes {system: <participantes> (Apposition)repetition {

system: participante (Domain Information)system: papel do participante (Domain Information)

}user initializes: Informação de Participantes (Topic Change)

}subtopic listas de comunicação {system: <listas de comunicação> (Apposition)repetition {

system: nome da lista de comunicação (Domain Information)}user initializes: Informação de Listas de Comunicação(Topic Change)

}

Page 155: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

142

subtopic local {system: local (Domain Information)system: <local> (Information Request)user: local (Domain Information)

}subtopic data {system: data (Domain Information)system: <data> (Information Request)user: data (Domain Information)

}subtopic prazo para a definição da pauta {system: prazo para a definição da pauta (Domain Information)system: <prazo para a definição da pauta> (Information Request)user: prazo para a definição da pauta (Domain Information)

}subtopic prazo para a definição da programação {system: prazo para a definição da programação (Domain Information)system: <prazo para a definição da programação>(Information Request)user: prazo para a definição da programação (Domain Information)

}subtopic prazo para a convocação {system: prazo para a convocação (Domain Information)system: <prazo para a convocação> (Information Request)user: prazo para a convocação (Domain Information)

}subtopic prazo para a confirmação da presença {system: prazo para a confirmação da presença (Domain Information)system: <prazo para a confirmação da presença> (Information Request)user: prazo para a confirmação da presença (Domain Information)

}subtopic prazo para o lembrete {system: prazo para o lembrete (Domain Information)system: <prazo para o lembrete> (Information Request)user: prazo para o lembrete (Domain Information)

}subtopic prazo para a aprovação da ata {system: prazo para a aprovação da ata (Domain Information)system: <prazo para a aprovação da ata> (Information Request)user: prazo para a aprovação da ata (Domain Information)

}subtopic prazo para a divulgação da ata {system: prazo para a divulgação da ata (Domain Information)system: <prazo para a divulgação da ata> (Information Request)user: prazo para a divulgação da ata (Domain Information)

}}

Dialog Confirmação dos Atributos da Reunião (Operation Confirmation) {Sequence {

subtopic natureza {system: <natureza> (Apposition)system: natureza (Domain Information)

}subtopic assunto {system: <assunto> (Apposition)system: assunto (Domain Information)

}

Page 156: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

143

subtopic norma {system: <norma> (Apposition)system: norma (Domain Information)

}subtopic pauta {system: <pauta> (Apposition)system: pauta (Domain Information)

}subtopic papéis {system: <papéis> (Apposition)system: papéis (Domain Information)

}subtopic organizadores {system: <organizadores> (Apposition)repetition {

system: organizador (Domain Information)system: papel do organizador (Domain Information)

}}subtopic participantes {system: <participantes> (Apposition)repetition {

system: participante (Domain Information)system: papel do participante (Domain Information)

}}subtopic listas de comunicação {system: <listas de comunicação> (Apposition)repetition {

system: nome da lista de comunicação (Domain Information)system: membros da lista de comunicação (Domain Information)

}}subtopic local {system: <local> (Apposition)system: local (Domain Information)

}subtopic data {system: <data> (Apposition)system: data (Domain Information)

}subtopic prazo para a definição da pauta {system: <prazo para a definição da pauta> (Apposition)system: prazo para a definição da pauta (Domain Information)

}subtopic prazo para a definição da programação {system: <prazo para a definição da programação>(Apposition)system: prazo para a definição da programação (Domain Information)

}subtopic prazo para a convocação {system: <prazo para a convocação> (Apposition)system: prazo para a convocação (Domain Information)

}subtopic prazo para a confirmação da presença {system: <prazo para a confirmação da presença> (Apposition)system: prazo para a confirmação da presença (Domain Information)

}

Page 157: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

144

subtopic prazo para o lembrete {system: <prazo para o lembrete> (Apposition)system: prazo para o lembrete (Domain Information)

}subtopic prazo para a aprovação da ata {system: <prazo para a aprovação da ata> (Apposition)system: prazo para a aprovação da ata (Domain Information)

}subtopic prazo para a divulgação da ata {system: <prazo para a divulgação da ata> (Apposition)system: prazo para a divulgação da ata (Domain Information)

}subtopic criação de template {system: <deseja criar template> (Apposition)

user alternatives: {sim, não} user chooses: <criar template> (Domain Information)

}Choice {user initializes next causing persistence (Confirmation)user initializes previous causing persistence (Revision Request)

}}

Dialog Comunicação sobre Reunião (Communication)Sequence {

system: <as informações foram armazenadas com sucesso> (Feedback)system: <mensagem padrão sobre criação de reunião que deve ser

enviada aos outros organizadores> (Communication)system: <forma de comunicação desta mensagem> (Information Request)user initializes next causing termination (Confirmation)

}

Dialog Feedback sobre Envio de Comunicação (Feedback)Sequence subtopic Confirmação do Envio {

system: <a mensagem foi enviada com sucesso para> (Feedback)system: organizadores (Domain Information)

}

Dialog Informação sobre Envio Posterior (Feedback)operands opção que permite envio posteriorSequence subtopic Confirmação do Envio {system: <para enviar a comunicação posteriormente acesse a opção>

(Feedback)system: opção que permite envio posterior (Feedback)

}

6.2 Estudo de Caso 2: Utilização da LECI no Apoio àEspecificação de Aplicações Multi-Tecnologia

Para avaliar o potencial da LECI como ferramenta de apoio à especificação de

aplicações multi-tecnologia, procuramos especificar na linguagem versões de partes da

interação de aplicações para duas tecnologias distintas: (1) interface acessível via desktop,

baseada na web e (2) interface acessível via telefone comum, baseada em processamento de

voz. A escolha destes tipos de dispositivos deve-se aos seguintes motivos:

Page 158: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

145

1. acreditamos que estes possuem capacidades extremamente diferentes de permissão

de troca de informação, no tempo, entre um usuário e uma aplicação

computacional;

2. acreditamos que dispositivos com diferentes capacidades de permitir troca de

informação requerem e/ou possibilitam interfaces com diferentes estruturas de

interação.

A figura 6.1 ilustra nossa crença de que o telefone comum e o desktop são dispositivos

com capacidades extremamente diferentes de permitir troca de informação entre usuário e

sistema. Ela se baseia nas seguintes considerações:

A capacidade de troca de informação permitida por um dispositivo é determinada pela

capacidade dos dispositivos de entrada e saída que o compõem. Quanto mais sofisticados

estes dispositivos, menores as restrições sobre a quantidade de informação que pode ser

trocada. Por exemplo, quanto maior o monitor, mais informação pode ser apresentada de uma

só vez. Se não há monitor, como no caso de um telefone comum, a apresentação de

informação ao usuário só pode se dar via voz, o que só pode ser feito de forma seqüencial,

limitando assim ao mínimo possível a quantidade de informação que pode ser apresentada em

um mesmo instante. Da mesma forma, quanto mais teclas tem um teclado, mais informação

pode ser fornecida pelo usuário de cada vez: em um teclado de um celular, onde cada tecla

pode representar até mesmo 3 ou mais caracteres, o usuário pode ter de pressionar até 3 vezes

a mesma tecla para informar ao sistema um único caracter, enquanto que um teclado padrão

acoplado a um desktop, ele só precisa pressionar uma única tecla para fornecer a mesma

informação.

Telefone Comum Celular Palm-Top Notebook Desktop

- capacidade de permitir troca de informação de cada vez +baixa alta

Figura 6.1: capacidade que os dispositivos têm de permitir troca de informação de cada vez.

Acreditamos que a utilização da LECI pode apoiar o designer na especificação de

aplicações multi-tecnologia pois permite que ele represente, na mesma linguagem, versões de

modelos de interação de uma mesma aplicação para diferentes tecnologias. A visualização de

dois ou mais modelos de interação na mesma linguagem, devidamente semantizada em algum

Page 159: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

146

sistema subjacente (no caso da LECI, o modelo proposto para a especificação de cenários de

interação, apresentado no capítulo 3) presta grande apoio à comparação entre eles. A partir

desta visualização, o designer pode analisar mais facilmente quais são as diferenças entre os

modelos. Utilizando a LECI como ferramenta para a modelagem da interação, o designer

pode realizar uma análise da conversa entre usuário e sistema em diferentes ambientes

tecnológicos. Assim, ao invés de comparar, por exemplo, widgets de interfaces acessíveis via

desktop com pressionamentos de tecla e processamento de voz em interfaces acessíveis via

telefone, o designer pode comparar diálogos, tópicos, contextos de interação e todos os

elementos da conversa usuário-sistema que a LECI permite caracterizar para os dois

ambientes.

Visualizando na mesma linguagem de representação, diferentes versões tecnológicas

de modelos de interação de uma mesma aplicação, o designer pode aplicar regras, baseadas

em seu conhecimento e experiência, para decidir que partes destes modelos ele pode e quer

manter invariantes, definindo assim o que é o coração da aplicação, que estará presente em

qualquer ambiente e o que deve ser possibilitado apenas em determinados ambientes. Isto

facilitaria a manutenção da consistência entre versões de uma mesma aplicação para

tecnologias distintas, o que permitiria que usuários que a usem em diferentes ambientes, ao

acessá-la em um destes ambientes, possam importar conhecimentos deste uso para quando a

acessem em outro ambiente.

Exemplificaremos a seguir, algumas das decisões relevantes ao design de aplicações

multi-tecnologia que podem ser tomadas e representadas pelo designer com o apoio da LECI.

6.2.1 O designer pode decidir se quer manter os mesmos subtópicos

Conhecendo as restrições sobre a quantidade de informação que deve ser comunicada

em diferentes ambientes, o designer pode decidir o que comunicar nestes ambientes,

considerando quais subtópicos são essenciais e deverão ser sempre abordados e quais só

serão abordados dependendo da tecnologia. Para exemplificar, imagine que um designer de

um Sistema Gerenciador de Bibliotecas queira especificar, para interfaces acessíveis via

telefone e desktop, um diálogo onde o sistema apresenta informações sobre um livro ao

usuário. São diversas as informações que caracterizam um livro (título, autores, etc), cada

uma representa um subtópico do tópico livro. Conhecendo as restrições sobre a quantidade de

informação que deve ser comunicada em uma aplicação acessível via telefone e a natureza

Page 160: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

147

quase irrestrita do desktop, o designer pode determinar que subtópicos considera essenciais e

definir que devem ser abordados nos dois ambientes e ao mesmo tempo aproveitar a

capacidade do desktop para abordar outros subtópicos de interesse, que se abordados via

telefone, tornariam o diálogo denso. Esta análise poderia resultar nas seguintes especificações:

Especificação da interação para Desktop

Dialog Apresentação de Informação sobre Livro(Domain Information Presentaion)

Sequence {subtopic Título {

system: <Título> (Apposition)system: Título (Domain Information)

}subtopic Autores {

system: <Autores> (Apposition)system: Autores (Domain Information)affords: user initializes

Informação Sobre Autores (Information Request)}subtopic Assunto {

system: <Assunto> (Apposition)system: Assunto (Domain Information)affords: user initializes

Publicações sobre Assunto (Information Request)}subtopic Palavras-Chave {

system: <Palavras-Chave> (Apposition)system: Palavras-Chave (Domain Information)affords: user initializes

Publicações associadas a Palavras-Chave (Information Request)}subtopic Resumo {

system: <Resumo> (Apposition)system: Resumo (Domain Information)

}subtopic Ano de Publicação {

system: <Ano de Publicação> (Apposition)system: Ano de Publicação (Domain Information)

}subtopic Edição {

system: <Edição> (Apposition)system: Edição (Domain Information)

}subtopic Editora {

system: <Editora (Apposition)system: Editora (Domain Information)

}}

Page 161: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

148

Especificação da interação para Telefone

Dialog Apresentação de Informação sobre Livro(Domain Information Presentaion)

Sequence {subtopic Título {

system: <Título> (Apposition)system: Título (Domain Information)

}subtopic Autores {

system: <Autores> (Apposition)system: Autores (Domain Information)

}subtopic Assunto {

system: <Assunto> (Apposition)system: Assunto (Domain Information)

}subtopic Palavras-Chave {

system: <Palavras-Chave> (Apposition)system: Palavras-Chave (Domain Information)

}}

Neste exemplo foram mantidos invariantes os subtópicos Título, Autores, Assunto e

Palavras-chave. Já os subtópicos Resumo, Edição, Ano de Publicação e Editora, apesar de

serem informações de interesse, não foram considerados essenciais e foram omitidos da

interação com o telefone. Observe que a ordem dos subtópicos invariantes foi mantida,

visando aproximar-se as duas versões tecnológicas.

6.2.2 O designer pode decidir se quer manter os mesmos diálogos econtextos de interação

Considere a tarefa Criar Reunião do Qualitas, descrita na seção 6.1. Ao definir a

interação acessível via desktop, o designer pode disponibilizar os três métodos de criação

mencionados: criação a partir de reunião existente, criação a partir de template de reunião e

criação a partir do zero. Considerando que (1) quando houver muitas reuniões cadastradas,

apresentar as informações que as caracterizem, para que o usuário selecione uma como base,

pode ser extremamente ineficiente via telefone e que (2) o número de templates de reunião

será provavelmente bem menor; o designer pode decidir disponibilizar por telefone apenas a

criação por template ou a criação a partir do zero. Assim, diálogos e contextos de interação

relacionados à seleção de reunião, assim como o contexto de interação que representa que a

nova reunião deve ser criada a partir de uma reunião existente, só seriam necessários para a

interação via desktop. Desta forma, teríamos as seguintes especificações da tarefa na LECI:

Page 162: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

149

Especificação da interação para Desktop

Task Criar Reunião (Creation)Sequence {

Dialog Seleção do Método de Criação da Reunião (Selection)Exclusive-Contexts {When context is criacao_a_partir_de_reuniao_existente {

Dialog Seleção de Reunião (Selection)When context is usuario_realiza_busca {Repetition {

Dialog Busca por ReuniãoExclusive-Contexts {When context is reuniao_nao_encontrada {Dialog Feedback sobre Reunião não encontrada (Feedback)

}When context is mais_de_uma_reuniao_encontrada {Dialog Reuniões Encontradas (Selection)

}}

}}Dialog Seleção de Informação Aproveitável (Selection)

}When context is criacao_a_partir_de_template {

Dialog Seleção de Template (Selection)Dialog Seleção de Informação Aproveitável (Selection)

}}include(Informar Atributos da Reunião, {“Criar Reunião”})

}

Especificação da interação para Telefone

Task Criar Reunião (Creation)Sequence {

Dialog Seleção do Método de Criação da Reunião (Selection)When context is criacao_a_partir_de_template {

Dialog Seleção de Template (Selection)Dialog Seleção de Informação Aproveitável (Selection)

}include(Informar Atributos da Reunião, {“Criar Reunião”})

}

Os diálogos e contextos de interação, referenciados na especificação desktop em

sentenças com fundo cinza, são os que não foram mantidos na especificação da interação para

telefone.

6.2.3 O designer pode decidir se quer manter a seqüência da interação

Ainda que um designer decida manter os mesmos subtópicos, diálogos e contextos de

interação em diferentes ambientes, ele pode decidir definir seqüências distintas para a

ocorrência dos diálogos e subtópicos, de acordo com as restrições e facilidades de cada

ambiente. Por exemplo, consideremos a tarefa Editar Reunião, do Qualitas. A realização

Page 163: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

150

desta tarefa requer que sistema e usuário conversem sobre diversos atributos da reunião: data,

hora, assunto, participantes, organizadores, listas de comunicação, etc. Alguns destes atributos

são mais complexos que outros e o designer pode optar por definir que sejam abordados em

subdiálogos a parte. Por exemplo, ao informar quem são os organizadores e participantes, o

usuário também deve informar quais são seus papéis, podendo escolher um papel já

cadastrado no sistema ou ainda criar um novo papel, para o qual terá que fornecer a descrição

e etc. Tanto o diálogo principal como os eventuais subdiálogos abordam informações

essenciais a tarefa e devem estar presentes em qualquer ambiente. A interação no telefone é

restrita à seqüência, ainda que sua ordem possa ser determinada por escolhas do usuário. Já o

desktop permite que o diálogo principal e qualquer dos subdiálogos sejam ao menos

percebidos simultaneamente. Assim, um designer poderia optar por definir para o telefone

que primeiro deve ser travado o diálogo principal e depois cada um dos subdiálogos que

abordam os tópicos mais complexos. Para o desktop, o designer poderia definir que a partir do

diálogo principal, o usuário tem a opção de iniciar, a qualquer hora, qualquer dos referidos

subdiálogos e que, o diálogo principal sempre se manterá persistente. As seguintes

especificações representariam estas decisões na LECI:

Especificação da interação para Desktop

Task Editar Reunião (Editing)Sequence {

Dialog Seleção de Reunião (Selection)Dialog Informação dos Atributos da Reunião (Domain Information)Dialog Confirmação dos Atributos da Reunião (Operation Confirmation)Dialog Comunicação sobre Reunião (Communication)Exclusive-Contexts {When Context is mensagem_sera_enviada_imediatamente {

Dialog Feedback sobre Envio de Comunicação (Feedback)}When Context is mensagem_sera_enviada_posteriormente {

Dialog Informação sobre Envio Posterior (Feedback)}

}}

Trecho do diálogo Informação dos Atributos da Reunião

Dialog Informação dos Atributos da Reunião (Domain Information)Sequence {

. . .subtopic papéis {system: <papéis> (Apposition)system: papéis (Domain Information)user initializes: Informação dos Papéis (Topic Change)

}

Page 164: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

151

subtopic organizadores {system: <organizadores> (Apposition)repetition {

system: organizador (Domain Information)system: papel do organizador (Domain Information)

}user initializes: Informação dos Organizadores (Topic Change)

}subtopic participantes {system: <participantes> (Apposition)repetition {

system: participante (Domain Information)system: papel do participante (Domain Information)

}user initializes: Informação dos Participantes (Topic Change)

}subtopic listas de comunicação {system: <listas de comunicação> (Apposition)repetition {

system: nome da lista de comunicação (Domain Information)}user initializes: Informação das Listas de Comunicação (Topic Change)

}. . .

}

Especificação da interação para Telefone

Task Editar Reunião (Editing)Sequence {

Dialog Seleção de Reunião (Selection)Dialog Informação dos Atributos da Reunião (Domain Information)Dialog Confirmação dos Atributos da Reunião (Operation Confirmation)Dialog Informação dos Papéis (Domain Information)Dialog Confirmação dos Papéis (Operation Confirmation)Dialog Informação dos Organizadores (Domain Information)Dialog Confirmação dos Organizadores (Operation Confirmation)Dialog Informação dos Participantes (Domain Information)Dialog Confirmação dos Participantes (Operation Confirmation)Dialog Informação das Listas de Comunicação (Domain Information) Dialog Confirmação das Listas de Comunicação (Operation Confirmation)Dialog Comunicação sobre Reunião (Communication)Exclusive-Contexts {When Context is mensagem_sera_enviada_imediatamente {

Dialog Feedback sobre Envio de Comunicação (Feedback)}When Context is mensagem_sera_enviada_posteriormente {

Dialog Informação sobre Envio Posterior (Feedback)}

}}

As sentenças que ilustram diferenças entre as seqüências dos diálogos nas

especificações para os dois ambientes tecnológicos estão sinalizadas com fundo cinza.

Observe que o diálogo Confirmação dos Atributos da Reunião da especificação para o

Desktop equivale à união do diálogo Confirmação dos Atributos da Reunião da

Page 165: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

152

especificação para o telefone com os outros diálogos menores desta especificação, que têm

semântica de Confirmação de Operação. Entretanto, estes diálogos não aparecem

consecutivamente ao fim da estrutura da tarefa, de forma a evidenciar esta equivalência. Ao

contrário, optou-se por defini-los sempre após o diálogo com semântica de Fornecimento de

Informação Referente ao Domínio, cujos subtópicos são os mesmos do diálogo de

confirmação.

6.2.4 Conclusões a Partir do Estudo de Caso

Nos exemplos apresentados, a LECI permitiu a representação de versões de parte da

interação de aplicações, para diferentes ambientes tecnológicos, sem perda de expressividade.

O estudo indica que a representação permitida pela LECI pode apoiar o trabalho do designer,

trazendo insights sobre as diferenças entre os tipos de conversa usuário-sistema mais

adequadas à ambientes tecnológicos distintos e conseqüentemente, facilitando a sua tomada

de certas decisões, que uma vez tomadas, também podem ser representadas na LECI. As

decisões são tomadas com base na aplicação de restrições, como por exemplo, restringir que

nos vários ambientes tecnológicos alternativos necessariamente deve-se manter o aspecto X

(X pode ser um conjunto de diálogos, subtópicos, contextos de interação, seqüências, etc). Por

enquanto estas restrições estão somente na cabeça do designer e dependem de seu

conhecimento e experiência de design. Ainda assim, a LECI permite que ele visualize lado a

lado versões tecnológicas de modelos de interação de uma mesma aplicação, na mesma

linguagem, facilitando a aplicação destas restrições. Futuramente, a utilização da LECI poderá

trazer ainda mais apoio à aplicação de restrições para a tomada de decisão do designer. Uma

vez que se tem uma linguagem semi-formal como a LECI, é possível definir-se parsers que

trabalhem com conjuntos de regras. Se for definido, por exemplo, um conjunto de regras que

indiquem padrões de equivalência e/ou similaridade entre ambientes tecnológicos distintos e

entre um mesmo ambiente, estas regras auxiliariam o designer a modelar aplicações para uma

nova tecnologia T2 de forma consistente com um modelo da mesma aplicação previamente

especificado para uma outra tecnologia T1.

A LECI permite a especialização da interação para tipos de tecnologia distintos,

seguindo-se diferentes critérios no que diz respeito ao que será o invariante de uma mesma

aplicação em diferentes ambientes tecnológicos. Ou seja, o objetivo do design de uma mesma

aplicação em diferentes ambientes tecnológicos não é que cada versão seja idêntica às demais.

Page 166: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

153

Ao contrário, é imprescindível que o designer esteja atento às diferentes restrições e

oportunidades de cada ambiente. O objetivo é ter ao menos uma parte do modelo invariante, o

que ajudará os usuários a se darem conta, em cada ambiente, de que estão interagindo com

uma aplicação cuja identidade conhecem e a tomarem as decisões certas sobre como agir em

cada ambiente e quando trocar de ambiente porque o atual não é o adequado para o que

querem fazer. Nossa proposta possibilita que o designer eleja o que vai constituir a marca

constante do seu design em qualquer ambiente, e que a partir deste momento, especifique as

diversas versões em conformidade com esta escolha.

6.3 Estudo de Caso 3: Análise Comparativa entre a LECI e a LEMD

Nesta seção realizamos uma análise comparativa entre a LECI e a LEMD, com o

objetivo de ilustrar nossas motivações para a decisão de criar uma nova linguagem, ao invés

de adaptar a LEMD. A análise está estruturada da seguinte maneira: para cada tipo de

informação que deve ser especificada para se representar os cenários de interação descritos na

seção 6.1 analisamos se ela pode ser especificada na LEMD e se mesmo quando isto é

possível, há vantagens em fazê-lo na LECI.

6.3.1 Especificação de Papéis de Usuário e Restrições de Acesso a Funções

Os papéis de usuário e as restrições de acesso a funções identificados a partir do

cenário não poderiam ser representados na LEMD. E nem deveriam poder. A LEMD foi

proposta para a especificação de aplicações mono-usuário e desta forma não está em seu

escopo permitir a especificação de papéis de usuário e das restrições de acesso a funções da

aplicação dependentes destes papéis.

6.3.2 Especificação de Conceitos da Aplicação

Os conceitos da aplicação referenciados nos cenários poderiam ser representados na

LEMD como signos do domínio. A vantagem de se representá-los na LECI é que ela permite

separar conceitos do domínio original de conceitos introduzidos com a tecnologia, como por

exemplo, o conceito método de criação da reunião. Este conceito só existe porque o sistema

permite que o usuário cadastre informações sobre uma reunião e decida se quer ou não obter

automaticamente valores iniciais para elas a partir de dois tipos de fontes.A vantagem de se

separar conceitos do domínio original, dos introduzidos é que isto pode aumentar a

Page 167: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

154

consciência do designer sobre os conceitos potencialmente menos conhecidos, auxiliando-o

no planejamento do sistema de help.

6.3.3 Especificação da Estrutura da Tarefa

As estruturas das tarefas descritas nos cenários podem ser representadas na LEMD

através de mensagens de tarefas. Enquanto as tarefas da LECI são estruturadas em termos de

diálogos, as mensagens de tarefa da LEMD são estruturadas em termos de comandos de

função. Embora não haja na LEMD um construto próprio para a representação dos contextos

de interação identificados a partir dos cenários apresentados, é possível representar uma única

tarefa através de diversas mensagens de tarefa (task-message) e utilizar a nomenclatura

destas mensagens para associar cada uma delas a um diferente curso possível para a tarefa.

Por exemplo, a seguir apresentamos 3 mensagens de tarefa que seriam necessárias para

especificar apenas alguns dos cursos possíveis para a tarefa “Criar Reunião”, após a decisão

do usuário de criar a reunião a partir de uma reunião existente. As diferenças entre as

mensagens, que caracterizam os diferentes cursos estão representadas com fundo cinza.

Task-Message Criar Reunião a partir de uma das N últimas Reuniões {Sequence {

Command Seleção do Método de Criação da ReuniãoCommand Seleção de ReuniãoCommand Seleção de Informação Aproveitável Command Informação dos Atributos da Reunião Command Confirmação dos Atributos da Reunião Command Comunicação da Criação da ReuniãoCommand Feedback: Envio de Comunicação sobre Nova Reunião

}}

Task-Message Criar Reunião a partirda única Reunião Encontrada Após Busca {

Sequence {Command Seleção do Método de Criação da ReuniãoCommand Seleção de ReuniãoCommand Busca por ReuniãoCommand Seleção de Informação Aproveitável Command Informação dos Atributos da Reunião Command Confirmação dos Atributos da Reunião Command Comunicação da Criação da ReuniãoCommand Feedback: Envio de Comunicação sobre Nova Reunião

}}

Task Criar Reunião a partir de uma de N Reuniões Encontradas Após Busca {Sequence {

Command Seleção do Método de Criação da ReuniãoCommand Seleção de ReuniãoCommand Busca por Reunião

Page 168: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

155

Command Reuniões Encontradas Command Seleção de Informação Aproveitável Command Informação dos Atributos da Reunião Command Confirmação dos Atributos da Reunião Command Comunicação da Criação da ReuniãoCommand Feedback: Envio de Comunicação sobre Nova Reunião

}}

Para representar na LEMD todos os cursos possíveis para a tarefa, seria necessário

especificar ainda muitas outras mensagens de tarefa. Apesar disto, há uma vantagem deste

tipo de especificação em relação a especificação LECI apresentada na seção 6.1: ela permite

visualizar de forma mais clara os passos de cada curso de interação. Convém notar, entretanto,

que este tipo de especificação também pode ser realizado na LECI.

As vantagens de se especificar a tarefa na LECI, através de contextos de interação,

são: maior clareza da estrutura geral da tarefa e o reuso de passos comuns a cursos de

interação distintos. Na especificação LEMD apresentada, os comandos de função Seleção de

Reunião, Seleção de Informação Aproveitável e diversos outros são referenciados em todas

as mensagens de tarefa definidas e o teriam de ser nas outras mensagens necessárias para a

especificação de todos os cursos de interação possíveis para a tarefa. Na LECI, conforme

apresentado na seção 6.1, a estrutura desta tarefa é única e os passos comuns a dois ou mais

cursos de interação são representados uma única vez, facilitando a manutenção da

especificação. Modificações na estrutura da tarefa na LEMD, poderiam acarretar mudanças

na estrutura de diversas mensagens de tarefa enquanto que na LECI, apenas em uma estrutura

de tarefa.

Outra vantagem de se realizar a especificação da estrutura das tarefas descritas na

seção 6.1 na LECI, ao invés de na LEMD, é que a primeira permite não só o reuso de passos

comuns a cursos de interação distintos de uma mesma tarefa, mas também de passos comuns

a tarefas distintas. O reuso dos passos comuns às tarefas “Criar Reunião” e “Editar Reunião”

ilustrado na seção 6.1, não pode ser feito na LEMD. Ao invés disso, é necessário repetir estes

passos na especificação de várias das mensagens de tarefa necessárias para a representação de

cada tarefa.

6.3.4 Especificação das Estruturas dos diálogos

As estruturas dos diálogos componentes das tarefas descritas nos cenários podem ser

representadas na LEMD através de mensagens de comando. Enquanto os diálogos da LECI

Page 169: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

156

são estruturados em termos de enunciados de usuário e de sistema, as mensagens de comando

da LEMD são estruturadas em termos de interações básicas de usuário e visualizações. Da

mesma forma que para a especificação de contextos de interação distintos para uma mesma

tarefa na LEMD é necessário especificar mensagens de tarefa distintas, para a especificação

de contextos distintos para um mesmo diálogo é necessária a especificação de mensagens de

comando distintas. Esta forma de especificação apresenta vantagens e desvantagens análogas

às apresentadas pela forma de especificação de tarefas na LEMD em relação à forma de

especificação na LECI: permite visualizar de forma mais clara os enunciados que ocorrem

em cada curso, mas enunciados comuns têm de ser repetidos nas especificações de cursos

distintos, dificultando a manutenção destas especificações.

6.3.5 Apoio à Especificação de Aplicações Multi-Tecnologia

Como vimos no estudo de caso apresentado na seção 6.2, a LECI apóia a especificação

de aplicações multi-tecnologia ao permitir a representação de modelos de interação de uma

mesma aplicação, que abstraem diferentes tecnologias de implementação. A visualização

destas representações pode auxiliar o designer a analisar as diferenças entre as tecnologias e a

tomar decisões com respeito a que partes da interação devem ser comuns a qualquer

tecnologia e que partes são mais adequadas para cada uma delas. Além disso, as cláusulas

Exclusive-Technologies e when technology is permitem que o designer destaque

explicitamente em seu modelo de interação, os componentes dependentes de tecnologia. A

LEMD não permite estes tipos de apoio ao design de aplicações multi-tecnologia e nem há

razão para que ela o faça, pois esta linguagem foi desenvolvida com o objetivo de abstrair

interfaces WIMP e desta forma, auxiliar o designer a especificar aplicações multi-tecnologia

não está em seu escopo.

6.3.6 Conclusões sobre a Análise Comparativa

Pelo fato de a LECI ter surgido a partir de adaptações propostas à LEMD, muitas das

informações representáveis na LECI também podem ser representadas na LEMD e estas

representações são equivalentes. Ambas as linguagens foram definidas seguindo o paradigma

da comunicação usuário sistema, a diferença está na forma como representam está

comunicação. A LEMD foi definida para abstrair interfaces WIMP e desta forma, representa a

comunicação entre usuário e sistema através de visualizações e ações de usuário

Page 170: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

157

(Fornecimento de caracteres, Seleção de Informação e Acionamento). A LECI representa esta

comunicação como conversa, composta por enunciados de usuário e de sistema.

Entretanto, a comparação entre a especificação de cenários de interação na LECI e na

LEMD, apresentada neste capítulo, sugere que a LECI apresenta algumas vantagens em

relação a LEMD, para a especificação daquilo que se propõe: cenários de interação abstratos

instanciáveis em diferentes tecnologias. Isto era de se esperar, sendo devido às diferenças de

escopo das duas linguagens. Uma vantagem são os mecanismos que facilitam a manutenção

da especificação em relação a especificações LEMD: os contextos de interação e inclusão de

templates de tarefas e diálogos. Como a LECI foi criada com o objetivo de permitir a

especificação de cenários de interação, diferentemente da LEMD, nos inspiramos na estrutura

de especificação de casos de uso proposta por Jacobson [Jacobson, 1995] e introduzimos estes

mecanismos de reuso na linguagem. Outra vantagem é que a LECI permite a especificação de

papéis de usuário e restrições de acesso a funções dependentes de papéis. Isto se deve ao fato

de que a LECI foi definida a partir do estudo de aplicações multi-usuário e com o objetivo de

suportar a especificação deste tipo de aplicação, ao contrário da LEMD.

Por fim, a grande vantagem da LECI em relação à LEMD, considerando-se os

objetivos a que se propõe, é que enquanto a LEMD foi desenvolvida com o objetivo de apoiar

a especificação de interfaces com a tecnologia específica WIMP, a LECI permite apoiar o

design de aplicações multi-tecnologia.

Page 171: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

158

Capítulo 7

Conclusões

Neste capítulo apresentamos as conclusões deste trabalho. Na seção 7.1 apresentamos

suas contribuições e limitações e na seção 7.2, discutimos algumas oportunidades para

trabalhos futuros.

7.1 Contribuições e Limitações

Neste trabalho, procuramos contribuir para o estabelecimento de modelos e

ferramentas de apoio ao design de interação de qualidade. Seguindo a abordagem da

Engenharia Semiótica, nosso objetivo foi definir um modelo que auxiliasse designers a

especificar cenários de interação como parte de sua mensagem para os usuários. Motivados

pelo fato de que, apesar do constante surgimento de novas tecnologias, os modelos existentes

privilegiam tecnologias específicas, procuramos especificar um modelo que permitisse o

aproveitamento de especificações pré-existentes ao se desenvolver uma mesma aplicação para

diferentes ambientes tecnológicos. Nas próximas seções, descreveremos as contribuições

deste trabalho na direção de seus objetivos e também suas limitações.

7.1.1 Modelo para a Especificação de Cenários de Interação

O modelo proposto para a especificação de cenários de interação contribui para apoiar

designers nesta especificação ao identificar que informações devem ser especificadas e como

elas devem ser estruturados. O modelo permite a caracterização da interação como conversa

travada entre usuário e sistema, estruturando a interação em termos de tarefas, diálogos e

enunciados. Acreditamos que a conversa pode caracterizar a execução de um sistema

computacional interativo, independentemente da tecnologia de implementação da interface,

pois, na verdade, esta execução consiste sempre na troca de informações entre este sistema e

o(s) usuário(s). Assim, consideramos que esta proposta tem potencial para permitir o

aproveitamento de especificações pré-existentes, em diferentes ambientes tecnológicos. A

maior contribuição do modelo proposto foi ter servido de base para a definição de uma

linguagem para a especificação de cenários de interação que acreditamos contribuir para o

alcance dos objetivos deste trabalho (veja a próxima seção). O modelo pode ainda ser usado

por outros pesquisadores como base para a definição de outros formalismos.

Page 172: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

159

Em linha com os objetivos da Engenharia Semiótica, o modelo suporta a associação de

tipos semânticos a tarefas, diálogos e enunciados, com o objetivo de auxiliar designers a

conscientizar-se sobre suas intenções de comunicação. Para auxiliá-los na expressão destas

intenções, o modelo sugere templates para o mapeamento entre os tipos semânticos.

Entretanto, estes templates não podem ser considerados padrões, tendo sido definidos com

base em “bom senso” e experiência de design. Se fazem necessários estudos experimentais

para avaliar sua qualidade.

Convém mencionar que o modelo não considera aspectos relacionados a evolução de

cenários nem à especificação de aplicações que suportem End User Programming

[Myers, 1992] e tão pouco suporta End User Designing.

7.1.2 Linguagem para a Especificação de Cenários de Interação

Foi definida uma linguagem para a especificação de cenários de interação (LECI) com

base no modelo proposto. Inicialmente, procuramos adaptar a LEMD, formalismo proposto

por Leite [Leite, 1998] para a especificação de modelos de usabilidade. Entretanto, conforme

ilustrado pela análise comparativa entre as duas linguagens, apresentada no capítulo 6, este

formalismo não se mostrou adequado aos objetivos deste trabalho; justamente por ter escopo

bastante diferente do escopo da LECI.

No capítulo 6, apresentamos também um estudo de caso que ilustra a grande

contribuição da LECI: ela pode apoiar o designer na especificação de aplicações multi-

tecnologia, auxiliando-o a tomar decisões com respeito às partes de seu modelo de interação

que devem ser comuns a qualquer tecnologia e às que são mais adequadas para tecnologias

específicas. Além disso, as cláusulas Exclusive-Technologies e when technology is

permitem que o designer destaque explicitamente em seu modelo de interação os

componentes dependentes de tecnologia.

Inserção de nosso trabalho na classificação realizada em [Rolland et al., 1996]

Como o modelo proposto neste trabalho trata de uma abordagem para a especificação

de cenários de interação, convém situá-lo no contexto de outras abordagens que utilizam

cenários. Desta forma, tentaremos classificá-lo utilizando o frameork proposto em

Page 173: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

160

[Rolland et al., 1996] para a classificação de abordagens que utilizam cenários, o qual foi

mencionado no capítulo 2.

Por propor a especificação de cenários através da LECI, nosso trabalho tem o meio

classificado como textual e a notação como Semi-Formal (semi pois a especificação dos

contextos de interação é livre), além de não possuir qualquer animação ou interatividade.

A abstração do modelo proposto é a nível de tipo, pois ele só permite especificar tarefas e

atores de forma genérica (ex. “editar publicação” ao invés de “editar o livro Human Computer

Interaction”; “bibliotecário” ao invés de “João”). Quanto ao contexto, representamos somente

os de “Interação com Usuário” e “Organizacional”, através dos componentes contexto de

interação e papel de usuário, respectivamente. O modelo não representa argumentação, pois

propõe a utilização de cenários apenas com papel descritivo. Quanto à cobertura funcional, o

modelo representa estrutura, através da decomposição de tarefas em diálogos e de diálogos

em enunciados e comportamento, através do próprio modelo de interação que permite

representar. Quanto à cobertura intencional, são representadas metas, através de semânticas

de tarefas, diálogos e enunciados e responsabilidades, através do componente papel de

usuário. Quanto à cobertura não-funcional, o modelo representa tratamento de erros, através

dos componentes estratégia de tratamento de erros de usuário e estratégia de tratamento de

falhas de sistema e suporte ao usuário, através de enunciados e diálogos com semântica de

help. Finalmente, quanto ao ciclo de vida, os cenários representáveis em nossa abordagem são

persistentes, pois não há controle de evolução. Das operações consideradas por Rolland et al.,

nosso modelo possibilita o refinamento (o termo é utilizado por ele com o sentido de reuso).

Este é possibilitado, através de herança de papéis, relações entre contextos de interação e

principalmente templates de diálogos e de tarefas.

A inserção de nossa abordagem na classificação de Rolland et al. está ilustrada na

tabela 7.1.1 A tabela mostra que nosso modelo não apresenta as seguintes facilidades

presentes em alguns dos outros modelos relacionados:

• Apresentação de cenários através de gráficos, protótipo, animação e/ou hipertexto;

1 Conforme mencionamos no capítulo 2, o trabalho de Rengell et al. propõe a especificação de cenários em dois níveis de abstração (descrição e especificação). Desta forma,

quando o valor de um atributo não é o mesmo para os dois níveis, são apresentados dois valores. O primeiro se refere ao nível de descrição e o segundo ao nível de

especificação. Por exemplo, tempo de vida “Transiente e Persistente” significa que os cenários do nível de descrição são transientes e os do nível de especificação são

persistentes.

Page 174: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

161

• Abstração a nível de Instância;

• Representação do contexto interno do sistema e de alguns aspectos de cobertura

funcional, intencional e não funcional;

• Representação do contexto do ambiente organizacional;

• Exploração e documentação de argumentação e explicação;

• Operações para controle de evolução de cenários.

Outras formas de apresentação de cenários, assim como a abstração a nível de

instância, poderiam ser vantajosas, sobretudo se o modelo proposto for utilizado para design

participativo (Participatory Design) [Muller, 1991], onde os cenários são feitos pelos usuários

ou com o seu auxílio. Entretanto, um certo cuidado deve ser tomado para não se perder a

abstração. Por exemplo, um protótipo deve representar uma conversa entre usuário e sistema,

não uma interface propriamente dita.

A representação do contexto interno do sistema e de alguns dos aspectos de cobertura

funcional (função) e não funcional (performance, restrições de design, de tempo e de custo),

representados em outras abordagens, está totalmente fora dos objetivos deste trabalho. Nossa

meta não é modelar o comportamento interno e funcional do sistema e sim seu

comportamento externo e interativo, que é enxergado pelo usuário.

A representação de aspectos intencionais não tomados em conta (Dependência de

Meta e Oportunidade) pode ser considerada.

A representação do contexto do ambiente organizacional tem extrema importância

durante a fase de análise de requisitos e também quando se deseja utilizar cenários com papel

exploratório e explanatório. Nosso modelo é voltado para a fase de especificação, quando já

se fez uma primeira análise e se quer descrever a semântica da aplicação que deve expressa

através da interface. Entretanto, ao se estender o modelo proposto para permitir a utilização de

cenários com papel exploratório e explanatório, seria de grande utilidade a representação de

informações sobre o ambiente organizacional. Apesar de o estado atual do modelo não

possibilitar documentação de argumentação e explicação, o conjunto de templates poderia ser

estendido, incorporando-se a ele templates alternativos e regras de seleção que seriam uma

forma de permitir esta representação.

Page 175: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

162

Por fim, a evolução de cenários é um dos aspectos que mais traria benefícios a

abordagem proposta neste trabalho e desta forma, será discutido em maiores detalhes na seção

7.2.4.

Convém observar, que apesar de não possuir algumas das facilidades presentes em

outros modelos apresentados na tabela, nosso modelo possui características que só estão

presentes em poucos dos outros 11 modelos classificados. Somente nosso modelo e o modelo

proposto por Scalzo apresentam cobertura não funcional de tratamento de erro. Suporte ao

Usuário é representado somente nestes dois modelos e no modelo de Kyng.

Outra importante observação, possível através da análise da tabela, é que o modelo

proposto parece ter muitos pontos em comum com modelos que também utilizam cenários

somente com papel descritivo: nenhum destes modelos representa argumentação, a maioria

deles não representam os contextos internos do sistema e do ambiente organizacional, são

persistentes e suportam poucas operações para controle de evolução de cenários.

Page 176: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

Face

taAt

ribut

o[B

enne

r et

al.,

1992

][D

ahis

,20

01]

[Gou

gh e

tal

., 19

95]

[Hsi

a et

al.,

1994

][H

olbr

ook,

1990

][J

acob

son

et a

l.,19

92]

[Kyn

g,19

95]

[Pot

ts e

tal

.,199

4][R

egne

ll et

al.,

1995

][R

umba

ugh

et a

l., 1

991]

[Sca

lzo,

199

5][S

omé

etal

., 19

96]

Mei

o (1

){T

, I, P

}{T

}{T

, I, P

}{T

}{T

, I}

{T}

{T, P

}{T

}{T

, I}

{T, G

}{T

, G}

{T}

Desc

rição

Nota

ção

(2)

Qua

lque

rS-

FI

FI

II

S-F

S-F

S-F

S-F

S-F

Anim

ação

(3)

Qua

lque

rF

VF

VF

VF

FF

FF

F O R M AAp

rese

ntaç

ãoIn

tera

tivid

ade

Qua

lque

rN

enhu

ma

Hip

erte

xto

Nen

hum

aH

iper

text

oN

enhu

ma

Hip

erte

xto

Hip

erte

xto

Nen

hum

aN

enhu

ma

Nen

hum

aN

enhu

ma

Inst

ânci

a (3

)V

FF

VV

VV

VF

FV

FTi

po (3

)V

VV

VV

VV

VV

VV

VAb

stra

ção

Mis

ta (3

)V

FF

FV

FV

VF

FV

FIn

tern

o ao

Sis

t. (3

)V

FF

FF

FV

VV

FV

VIn

tera

ção

com

Usuá

rio (3

)V

VV

VV

VV

VV

VV

V

Cont

exto

Org

aniz

acio

nal (

3)V

VF

FV

FV

VF

FV

FCo

ntex

to

Ambi

ente

Org

aniz

acio

nal (

3)V

FF

FF

FF

FF

FF

F

Posi

ção

(3)

VF

FF

FF

VF

FF

VF

Argu

men

tos

(3)

VF

FF

VF

VF

FF

VF

Que

stõe

s (3

)V

FF

FV

FV

FF

FV

FAr

gum

enta

ção

Deci

sões

(3)

VF

FF

VF

FF

FF

FF

Func

iona

l (4)

{E, F

, C}

{E, C

}{E

, F, C

}{C

}{F

, C}

{E,F

,C}

{E,F

,C}

{E,F

,C}

{E, C

, F}

{E,F

,C}

{E,F

,C}

{E, C

}In

tenc

iona

l (5)

{ }{M

, R}

{ }{ }

{M, D

M}

{}(M

, R)

{}{M

, R}

{ }{M

, R, O

}{ }

C O N T E Ú D O

Cobe

rtura

Não-

Func

iona

l (6)

{ }{T

E, S

U}

{ }{ }

{ }{}

{SU

,S,P

,RD

}{}

{ }{ }

{P,R

T,R

C,S

U,F

,TE}

{RT}

Desc

ritiv

o (3

)V

VV

VV

VV

VV

VV

VEx

plor

atór

io (3

)V

FF

FV

FV

FF

FV

FP R O P Ó S I T O

Pape

lEx

plan

atór

io (3

)V

FF

FF

FF

FF

FF

F

Tem

pode

Vid

a (3

)?

Pers

iste

nte

Pers

iste

nte

Pers

iste

nte

Tran

sien

tePe

rsis

tent

ePe

rsis

tent

ePe

rsis

tent

eTr

ansi

ente

ePe

rsis

tent

eTr

ansi

ente

?Pe

rsis

tent

e

Capt

ura

Reu

sodo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

odo

zer

oR

euso

do z

ero

Inte

graç

ão (3

)?

FF

FF

FF

VF

e V

VV

VRe

finam

ento

(3)

?V

VF

FV

FF

FV

FF

Expa

nsão

(3)

?F

FF

FF

VF

VF

FV

C I C V

L I

O D

A

D EO

pera

ções

Dele

ção

(3)

?F

FF

VF

FV

V e

FV

?V

Leg

enda

:(1

) T: T

exto

, I: I

mag

em, G

: Grá

ficos

, P: P

rotó

tipo

(2) I

: Inf

orm

al, S

-F: S

emi-F

orm

al, F

: For

mal

(3) V

: ver

dade

iro, F

: Fal

so, ?

: ind

eter

min

ado

(4) E

: Est

rutu

ra, F

: Fun

ção,

C: C

ompo

rtam

ento

(5) M

: Met

a, D

M: D

epen

dênc

ia d

e M

eta,

R: R

espo

nsab

ilidad

es, O

: Opo

rtuni

dade

(6) F

: Fle

xibi

lidad

e, P

: Per

form

ance

, RC

: Res

triçõ

es d

e cu

sto,

RD

: Res

triçõ

es d

e D

esig

n,

RT:

Res

triçõ

es d

e Te

mpo

, S: s

egur

ança

, SU

: Sup

orte

a U

suár

io, T

E: T

rata

men

to d

e Er

ro

Tabela 7.1: inserção deste trabalho na classificação apresentada em[Rolland et al., 1996] para abordagens que utilizam cenários de interação.

163

Page 177: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

164

7.2 Oportunidades para Trabalhos Futuros

O presente trabalho inspira a realização de alguns trabalhos futuros, dos quais

destacamos:

• Identificação de padrões de design de interação (interaction design patterns)

independentes e dependentes de tecnologia e sua representação na LECI;

• Identificação de analogias entre padrões de design de interação dependentes de

tecnologias distintas e sua representação na LECI;

• Determinação de sistemas expressivos associados às tecnologias existentes e de

regras de correlação entre estes sistemas e os tipos semânticos propostos;

• Incorporação de controle de evolução de cenários ao modelo proposto;

• Realização de experimentos para avaliação de características da LECI.

Nas próximas seções, apresentamos breves discussões sobre cada um deles.

7.2.1 Identificação de padrões de design de interação e sua representação naLECI

Acreditamos que a representação de padrões de design (design patterns) de interação

na LECI traria grandes benefícios para a atividade de design de IHC. Ao abstrair a partir de

experiência, padrões de design têm relevância e potencial para serem reusados. Entretanto,

isoladamente, eles não têm o mesmo valor que se estruturados dentro de uma linguagem de

padrões e por isto o principal objetivo da pesquisa em design patterns é justamente o

desenvolvimento de linguagens de padrões. Desta forma, acreditamos que haveria as

seguintes vantagens em se adaptar a LECI para que ela pudesse ser utilizada para caracterizar

padrões de design de interação:

• seria possível estruturar padrões de design de interação, permitindo-se assim a

representação de linguagens de padrões;

• seria possível representar padrões de design de interação menos dependentes de

tecnologia, em termos de tipos semânticos, ao invés de em termos de componentes

de interface específicos, como feito em vários trabalhos, eg. [Trætteberg, 2000];

Page 178: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

165

• seria possível representar analogias entre padrões de design de interação de

tecnologias distintas (isto será discutido na próxima seção).

Para adaptar a LECI para que possa permitir a caracterização de padrões de design de

interação será necessário primeiramente, definir um formato para a representação dos padrões

de design. Alguns formatos são apresentados em [Gamma et al., 1995], [Borschers, 2000].

Após a escolha da estrutura de representação, para cada atributo definido nesta estrutura, será

necessário avaliar se a LECI já permite a representação deste atributo e que extensões seriam

necessárias caso ela não o permita. Para exemplificar, consideremos um conjunto de atributos

normalmente incluídos em diversos formatos definidos para design patterns:

• a descrição do problema,

• uma possível solução,

• exemplos de uso da solução em designs reais,

• razões por que a solução apresentada realmente resolve o problema,

• critérios para se decidir quando usar ou não uma determinada solução,

• relações com outros padrões de design.

Deste conjunto de atributos, acreditamos que a LECI já permite a representação dos

seguintes: uma possível solução para o problema, critérios de decisão e algumas das possíveis

relações com outros padrões de design. Uma possível solução poderia ser representada por

templates de tarefa e de diálogos. Critérios de decisão poderiam ser representados através de

estruturas de interação definidas em contextos de interação exclusivos e as expressões que

descrevem as condições lógicas que caracterizam estes contextos. Por fim, relações de

composição entre tarefas e diálogos padrão poderiam ser representadas através da própria

estrutura de especificação da LECI.

7.2.2 Identificação de analogias entre padrões de design de interaçãodependentes de tecnologias distintas e sua representação na LECI

A identificação de analogias entre estruturas de interação dependentes de tecnologias

distintas pode trazer os seguintes benefícios para o design de aplicações multi-tecnologia:

• facilitaria o mapeamento entre as partes da especificação do modelo de interação

que não possam ser reusadas ao se migrar de uma tecnologia para outra;

Page 179: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

166

• facilitaria a manutenção da consistência entre versões de uma mesma aplicação

implementadas em tecnologias distintas, com o objetivo de se permitir que um

usuário que a use em diferentes ambientes, ao acessá-la em um destes ambientes,

possa importar conhecimentos obtidos a partir do uso em outro.

No estado em que se encontra este trabalho, a LECI permite ao menos a representação

de analogias entre estruturas de interação dependentes de tecnologias distintas. A cláusula

Exclusive-Technologies relaciona partes da interação mutuamente exclusivas devido a

dependência tecnológica e desta forma permite ao designer representar as versões análogas

definidas por ele para distintos tipos de tecnologia. Para representar estas analogias como

analogias entre padrões de interação, pode se utilizar templates de diálogos e/ou tarefas. Por

exemplo, a sentença apresentada a seguir teria a seguinte semântica:

para um diálogo ou tarefa genérico (qualificado(a) com shared) denominado

<object_name> e com semântica <semantic_type>, <interaction_structure1>, ...

<interaction_N> são estruturas de interação análogas quando se migra entre as tecnologias

<technology_type1>, ..., <technology_typeN>.

shared dialog | task <object_name> (<semantic_type>) {

[operands <operands>]Exclusive-Technologies {

when technology is <technology_type1> {<interaction_structure1>

}. . .when technology is <technology_typeN> {

<interaction_structureN>}

}

A LECI também permite a representação de estruturas de interação dependentes de

determinada tecnologia que não têm equivalente ou não são necessárias em outras

tecnologias. Basta que não seja especificada a cláusula Exclusive-Technologies.

Entretanto, convém ressaltar que permitir a representação de analogias entre estruturas

de interação dependentes de tecnologias distintas não é suficiente. É preciso garantir a

qualidade destas analogias. Para isto, sugerimos a realização de estudos de caso que

verifiquem se existem analogias entre padrões de design de interação bem sucedidos de

tecnologias distintas. Observe que também se faz necessária uma discussão mais aprofundada

para se avaliar se existem situações onde é impossível transportar uma aplicação de uma

tecnologia para outra, de forma que as versões das interfaces sejam equivalentes.

Page 180: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

167

7.2.3 Determinação de Sistemas Expressivos e Regras de Correlação

Conforme mencionado no capítulo 2, a aplicação prática da Engenharia Semiótica ao

design de interfaces baseia se na seguinte idéia: se for utilizado um sistema semiótico,

conhecido tanto pelo designer como pelo usuário, que relacione elementos de interfaces

(sistema expressivo) a intenções de comunicação do designer (sistema semântico), a

interpretação do usuário ficará potencializada por estas intenções. Desta forma, o usuário

poderá adquirir um modelo de uso da aplicação compatível com o modelo proposto pelo

designer. A partir destas considerações, acreditamos que definições de sistemas semióticos

que indiquem regras de correlação entre sistemas expressivos associados a diferentes

tecnologias e os tipos semânticos representáveis na LECI, representam importantes trabalhos

futuros, na direção de aumentar a aplicabilidade da LECI como ferramenta de auxílio à

expressão da mensagem do designer.

É bastante provável que ainda não tenha sido estabelecido um conjunto bem definido

de regras de correlação entre intenções de comunicação dos designers e sistemas expressivos

dos ambientes tecnológicos. Se isto houvesse ocorrido, o seu conhecimento por parte de

designers e usuários faria do design de interfaces uma atividade bem mais simples do que é de

fato. Mesmo sem a consciência de estar usando um sistema semiótico para o design de

interfaces, o designer se beneficiaria deste sistema. Partindo deste pressuposto, de que as

regras ainda não estão totalmente estabelecidas, seria oportuno que pesquisadores definissem

boas regras e que estas regras fossem "ensinadas" aos usuários, estabelecendo-se assim

sistemas semióticos. Para a determinação de boas regras, sugerimos a investigação do uso de

padrões de design de interface como fonte de conhecimento. Design Patterns não só

apresentam soluções para problemas de design mas também argumentação e exemplos para

comprovar que estas soluções são boas, além de critérios para se decidir quando usar ou não

uma determinada solução. Observe que desta vez, nos referimos a design patterns de interface

e não de interação, pois o objetivo será justamente identificar tipos expressivos de ambientes

tecnológicos.

Para analisar se a investigação de padrões de design de interface realmente pode trazer

benefícios para a aplicação prática da Engenharia Semiótica, encorajamos a utilização da

semiótica para explicar porque uma experiência bem sucedida, quando repetida em um

contexto similar, tem grandes chances de ser também bem sucedida. Acreditamos que isto

Page 181: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

168

pode estar relacionado ao fato de ter sido repetida um número suficiente de vezes para que sua

relação com o problema que resolve seja bastante conhecida por usuários e designers,

representando assim uma regra de um sistema Semiótico.

7.2.4 Incorporação de Controle de Evolução de Cenários

O processo de design de sistemas computacionais (incluindo o design de IHC) pode

ser descrito como um processo de comunicação entre designers e usuários, composto por

vários ciclos. Em cada ciclo os usuários comunicam seus requisitos aos designers e estes

comunicam sua solução ao problema dos usuários sob a forma de aplicação

computacional [de Souza, 1993]. Devido a Semiose Ilimitada2 [Peirce, 1931], ao interagir

com a aplicação, os usuários percebem novos requisitos e os comunicam aos designers,

iniciando um novo ciclo. A natureza cíclica e dinâmica deste processo faz com que a

especificação da aplicação evolua com o tempo. Desta forma, é interessante que modelos e

linguagens concebidos para a descrição do design em termos de cenários, como os

desenvolvidos neste trabalho, possam suportar a evolução de cenários. Segundo

[Breitman, 1998], os maiores benefícios de se proporcionar o controle da evolução de

cenários seriam: documentação, reuso e criação de design rationale. A evolução de cenários

costuma ser representada através de operações que, ao serem aplicadas a um conjunto inicial

de cenários, geram um novo conjunto de cenários. Em [Breitman, 1998] são identificadas

operações que envolvem um conjunto de cenários e outras que se dão dentro do âmbito de um

mesmo cenário, como, por exemplo, inserção, exclusão ou modificação de partes do cenário.

Acreditamos que a estruturação da LECI, em termos de componentes bem definidos (tarefa,

diálogo e enunciados) facilitará sua adaptação para o suporte a representação da evolução de

cenários através de operações. A figura 7.1 ilustra que poderiam ser representadas operações

relacionando componentes em 3 níveis de abstração e que até mesmo a mudança de tipos

semânticos poderia ser representada. Tendo em vista estas considerações, podemos dizer que

para que a LECI possa suportar a evolução de cenários, será necessário:

1. estabelecer um conjunto de operações de evolução a serem suportadas e os níveis

de abstração em que convém aplicá-las e

2Semiose Ilimitada é o fenômeno que ocorre quando um signo desencadeia uma seqüência ilimitada de

interpretações na mente de quem o interpreta.

Page 182: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

169

2. incorporar novos construtos na linguagem capazes de representar as operações a

serem suportadas.

Figura 7.1: algumas operações evolutivas que podem vir a ser representadas utilizando-se aLECI.

7.2.5 Experimentos para avaliação de características da LECI

Alguns experimentos se fazem necessários para avaliar e aumentar a qualidade da

LECI. Por exemplo, os tipos semânticos e os templates apresentados neste trabalho foram

definidos com base em nossa experiência de design, mas representam apenas conjuntos

iniciais, não podendo ser considerados padrões. Além disso, se faz se necessária uma análise

aprofundada sobre que templates e outras combinações de elementos da LECI podem

apresentar dependência tecnológica. Acreditamos que o mapeamento de alguns elementos

caracterizáveis na LECI são mais adequados para interfaces web acessíveis via desktop,

devido ao fato de que, para a definição da linguagem, estudamos somente sistemas com este

tipo de interface. Desktops permitem um maior número de possibilidades de interação que

outros tipos de dispositivos, como palmtops, celulares e telefones, por possibilitarem um

T1 (ST1)

D1 (SD1)

E1 (SE1)

E2 (SE2)

D2 (SD2)

E3 (SE3)

E4 (SE4)

T1 (ST2)

D1 (SD2)

E1 (SE5)

E5 (SE5)

D3 (SD3)

E6 (SE6)

E7 (SE7)

Modificação

Inserção

Modificação

ModificaçãoModificação

Exclusão

Exclusão

T<i> = Tarefa ST<i> = Semântica de TarefaD<i> = Diálogo SD<i> = Semântica de DiálogoE<i> = Enunciado SE<i> = Semântica de Enunciado

Inserção

Page 183: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

170

maior fluxo de informação no tempo. Desta forma, alguns elementos da LECI abstraídos a

partir de interfaces acessíveis via desktop podem não ter mapeamento viável ou adequado

para alguns dispositivos distintos. Como o nível de abstração e a independência tecnológica

de uma especificação dependem da capacidade que o designer tem para abstrair, o

conhecimento de potenciais dependências tecnológicas de elementos da LECI, auxiliaria

designers a alcançar um nível de caracterização satisfatoriamente abstrato e a identificar mais

facilmente os componentes tecnológicos de seu modelo, para que possa separá-los

adequadamente, dos meta-tecnológicos.

A análise das potenciais dependências tecnológicas de elementos da LECI poderá ser

feita com mais facilidade ao se representar padrões de interação na linguagem (veja a seção

7.2.1). Da mesma forma, os templates inicialmente propostos poderão ser validados e/ou

substituídos pelos padrões de design comprovados representáveis na LECI.

A realização de mais estudos de caso que apliquem a LECI na especificação de

aplicações multi-tecnologia, como o apresentado no capítulo 6, também traria grandes

benefícios. Também contribuiria para a avaliação e o refinamento dos conjuntos de tipos

semânticos e templates e para a identificação de elementos da LECI que potencializam

dependência tecnológica, assim como lançaria mais luz sobre as formas de apoio que a LECI

presta à especificação de aplicações multi-tecnologia. Convém realizar estudos considerando

outros dispositivos (ex. celular, palm tops) e outros estilos de interação (realidade virtual,

manipulação direta, etc) não considerados neste trabalho.

Por fim, são necessários experimentos com designers com distintos níveis de

experiência em design, para avaliar a usabilidade e a qualidade da LECI como ferramenta

para a especificação de cenários de interação.

Page 184: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

171

Referências

[Alexander et al., 1977] Alexander, C.; Ishikawa, S.; Silverstein, M.; Jacobson, M.;Fiksdahl-King, I. e Angel, S. 1977.A Pattern Language.Oxford University Press, New York.

[Amyot, 1999] Amyot, Daniel. 1999. Use Case Maps - Quick Tutorial -version 1.0. SITE, University of Ottawa.

[Andersen, 1990] Andersen, P. 1990. A Theory of Computer Semiotics.Cambridge University Press, 1990.

[Benner et al., 1992] Benner, K. M.; Feather, S.; Johnson, W. L.; Zorman, L. A.1992.Utilising Scenarios in the Software DevelopmentProcess. IFIP WG 8.1 Working Conference on InformationSystems Development Process, pp. 117-134, Dezembro, 1992.

[Bodnar et al., 1996] Bodnar, Roger; Heagy, Win; Seals, Cheryl. 1996. Curso:Models and Theories of Human-Computer Interactionsministrado em 1996 em Virginia Polytechnic Institute andState University. Disponível em:http://ei.cs.vt.edu/~cs5724/g2/Último acesso em 22/09/2001.

[Borchers, 2000] Borchers, J. O. 2000. A Pattern Approach to InteractionDesign. John Wiley & Sons.

[Breitman, 1998] Breitman, Karin Koogan; Leite, J. C. 1998. SuporteAutomatizado à Gerência da Evolução de Cenários. Anais doWorkshop de Engenharia de Requisitos 1998. Departamentode Informática. PUC-Rio. Outubro,1998. pp. 49-56.

[Card et al., 1980] Card et al., S. K. 1980. Computer text-editing:An information-processing analysis of a routine cognitive skill. CognitivePsychology, Volume 12, 1980, pp. 32 - 74.

[Card et al., 1983] Card, Stuart K.; Moran, Thomas P.; Newell, Allen. 1983. Thepsychology of human-computer interaction. LEA.

[Carroll, 1995] Carroll, John M. Carroll. 1995. Introduction: The ScenarioPerspective on System Development. Em Scenario BasedDesign: Envisioning Work and technology in systemdevelopment. Editado por John M. Carroll. John Wiley &Sons, Inc.

Page 185: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

172

[Carroll, 2000] Carroll, John M. Carroll. 2000. Making Use - scenario baseddesign of human-computer interactions. MIT Press.Cambridge, Massachusetts.

[de Haan, 2000] de Haan, Geert. 2000. ETAG - A Formal Model ofCompetence Knowledge for User Interface Design. Tese deDoutorado. Mathematics and Computer Science Department.Vrije Universiteit Amsterdam.

[de Souza ,1993] de Souza, C. S. 1993. "The Semiotic Engineering of UserInterface Languages". International Journal of Man-MachineStudies (1993) 39, 753-773.

[Dix, 1998] Dix, A.; Abowd, G.; Beale, R. and Finlay, J. 1998. Human-Computer Interaction. Prentice Hall.

[Eco, 1976] Eco, U. A Theory of Semiotics. Bloomington, IN. IndianaUniversity Press. 1976.

[Firth, 1991] Firth, Chris; Thomas; Richard C.. 1991. The use of commandlanguage grammar in a design tool. International Journal ofMan-Machine Systems, v. 34, pp. 479-496.

[Foley et al., 1990] Foley, James D.; van Dam, Andries; Feiner, Steven K.;Hughes, Jon F. 1990. Computer Graphics: Principles andPractice. 2a edição. Addison-Wesley.

[Gamma et al., 1995] Gamma, E.; Helm, R.; Johnson, R. e Vlissides, J. 1995.Design Patterns: Elements of Reusable Object-OrientedSoftware. Addison-Wesley, Reading.

[Gough et al., 1995] Gough, P. A.; Fodemski, F. T.; Higgins, S. A.; Ray, S. J."Scenario - na industrial Case Study and HypermediaEnhancements".1995. Second IEEE International SymposiumOn Requirements Engineering, 1995.

[Green, 1986] Green, Mark. 1986. A survey of three dialogue models. ACMTrans. Graph., v. 5, n. 3, pp. 244-275, Julho 1986.

[Griffiths] Griffiths, Richard. Notas de curso que abordam UAN.Universidade de Brighton. Inglaterra. Disponível em:http://www.it.bton.ac.uk/staff/rng/teaching/notes/UAN.html.último acesso em 04/07/2001.

[Harel, 1987] Harel, D. 1987. Statecharts: a visual formalism for complexsystems. Science of Computer Programming, v. 8, n. 3, pp.231-274, Junho 1987.

Page 186: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

173

[Harrison, 1994] Harrison, M.D.; Duke, D. J. 1994. A review of formalismsdescribing interactive behaviour. Technical Report,Department of Computer Science, University of York, 1994.Apresentado no "Research Issues in the Intersection ofSoftware Engineering and Human-Computer Interaction"workshop. ICSE'94. Sorrento.

[Hix, 1993] Hix, Deborah; Harston, H. Rex. 1993. Developing UserInterface - Ensuring Usability Trough Product & Process.

[Holbrook, 1990] Holbrook, C. H. 1990. III, "A Scenario-Based Methodologyfor Conducting Requirement Elicitation", ACM SIGSOFTSoftware Engineering Notes, 15 (1), pp. 95-104,1990.

[Howes, 1990] Howes, A.; Payne, S. J.. 1990. Display-based competence:towards user models for menu-driven interfaces . InternationalJournal of Man-Machine Studies , 33:637--655, 1990.

[Hsia et al., 1994] Hsia, P.; Samuel, J.; Gao, J.; Kung, D.; Toyoshima, Y.; Chen,C. 1994. Formal Approach to Scenario Analysis. IEEESoftware, pp. 33-41.

[Jacob, 1986] Jacob, Robert J. K. 1986. Using formal specifications in thedesign of a human-computer interface. In N. Gehani e A. D.McGettrik, eds., Software Specification Techniques, pp. 209-222. Addison-Wesley, 1986.

[Jacobson et al., 1992] Jacobson, I.; Christerson, M.; Jonsson, P.; Oevergaard, G.1992. "Object Oriented Software Engineering: a Use CaseDriven Approach", Addison-Wesley.

[John, 1990] John, B. E. 1990. Extensions of GOMS analyses to expertperformance requiring perception of dynamic visual andauditory information. Proceedings of ACM CHI'90Conference on Human Factors in Computing Systems, pp.107-115. J. C. Chew and J. Whiteside. New York, ACM Press.

[Kemmerer, 1981] Kemmerer, R. A. Testing Formal Specifications to DetectDesign Errors. IEEE Transactions On Software Engineering.Janeiro de 1981. pp. 32-43.

[Kieras, 1988] Kieras, David E. 1988. Towards a pratical GOMS modelmethodology for user interface design. Em M. Helander, ed.,Handbook of Human Computer Interaction, pp. 135-157.Elsevier.

Page 187: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

174

[Kotonya, 1998] Kotonya, G.; Sommerville, I. 1998. RequirementsEngineering: processes and techniques. Chichester. JohnWiley & Sons, Inc.

[Kyng, 1995] Kyng, M. 1995. "Creating Contexts for Design", Em"Scenario Based Design". Editado por John M. Carroll. JohnWiley & Sons, Inc.

[Lawrence, 1997] Workflow Handbook 1997. 1997. Editado por Peter Lawrencee publicado em associação com a Workflow ManagementCoalition. John Wiley & Sons, Inc.

[Leite, 1998] Leite, Jair Cavalcanti; de Souza, C. S. 1998. Modelos eFormalismos para a Engenharia Semiótica de Interfaces deUsuário. Tese de Doutorado. Departamento de Informática.PUC-Rio. Rio de Janeiro.

[Mahemoff, 1998] Mahemoff, M.J. and Johnston, L.J.. 1998. Principles for aUsability-Oriented Pattern Language. Anais da AustralianComputer Human Interaction Conference OZCHI'98Adelaide. IEEE Computer Societey, Los Alamitos, 132-139

[Monteiro et al., 2000] Monteiro, C. C. O.; Barbosa, S. D. J.; de Souza; C. S. 2000.The Role of Designer-Generated Scenarios in DevelopingWeb Applications: A Case Study. Anais do IHC 2000 - IIIWorkshop sobre Fatores Humanos em SistemasComputacionais - Muitas faces em interfaces.

[Moran, 1981] Moran, T. 1981. The command language grammar: arepresentation for the user interface of interactive computersystems. Int. J. Man-Machine Systems, v. 15, n. 1, pp. 3-51,Julho de 1981.

[Muller, 1991] Muller, M. 1991. Participatory Design in Britain and NorthAmerica: “Responding to the Scandinavian Challenge.” Em:S. P. Robertson, G. M. Oslon & J. S. Oslon (eds.), Reachingthrough Technology, CHI´91 Conference Proceedings, NewOrleans, April 28-May 2. New York: ACM Press, pp. 389-392

[Myers, 1992] Myers, B. A. 1992. Languages for Developing UserInterfaces. Jones and Bartlett Publishers, Inc. Boston.

[Nadin, 1988] Nadin, M. 1988. “Interface Design: a semiotic paradigm”.Semiotica 69, 3/4, 269-302, 1988.

[Neisser, 1967] Neisser, U. 1967. Cognitive Psicology. Prentice Hall. MITPress. New York.

Page 188: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

175

[Norman, 1986] Norman, D.; Draper, S. 1986. User Centered System Design.Hillsdale, NJ. Lawrence Erlbaum.

[Payne & Green, 1986] Payne, S. & Green. T. 1986. “Task-Action Grammar: a modelof mental representation of task languages. Human-ComputerInteraction, 2(2), 93-133, 1986.

[Peirce, 1931] Peirce, C. S.; 1931.Collected Papers. Harvard UniversityPress.

[Potts et al., 1994] Potts, C.; Takahashi, K.; Anton, A. I. "Inquiry-basedRequirements Analysis". IEEE Software. Março de 1994. pp.21-32.

[Prates, 1998] Prates, R. de O.; de Souza, C. S.. 1998. A EngenhariaSemiótica de Linguagens de Interface Multi-Usuário. Tese deDoutorado. Departamento de Informática. PUC-Rio. Rio deJaneiro.

[Preece et al. , 1993] Preece, J.; Rogers, Y.; Sharp, H.; Benyon, D.; Holland, S.;Carey, T. 1993. Human Computer Interaction. Addison-Wesley.

[Regnell et al., 1995] Regnell, B.; Kimbler, K.; Wesslen, A. 1995. "Improving theUse Case Driven Approach to Requirements Engineering", I.C. S. Press, Eds., Second IEEE International Symposium OnRequirements Engineering, (York, England), pp. 40-47,March 1995.

[Reisner, 1981] Reisner, Phyllis. 1981. Formal grammar and human factorsdesign of an interactive graphics system. IEEE Trans. Soft.Eng., v. SE-7, n. 2, pp.229-240, Março, 1981.

[Rijken, 1994] Rijken, D. 1994. The Timeless Way... the design of meaning.SIGCHI Bulletin. vol. 6, No. 3 (1994) 70-79

[Rolland et al., 1996] Rolland, C.; Ben Achour, C.; Cauvet, C.; Ralyté, J.; Sutcliffe,A.; Maiden, N.A.M.; Jarke, M.; Haumer, P.; Pohl, K.; Dubois,E.; Heymans, P. A Proposal for a Scenario ClassificationFramework (CREWS Report, janeiro de 1996)Disponível em: ftp://sunsite.informatik.rwth-aachen.de/pub/CREWS/CREWS-96-01.pdfúltimo acesso em 22/09/2001.

[Rumbaugh et al., 1991] Rumbaugh, J.; Blaha, M.; Premerlani, W.; Eddy, F.;Lorensen, W. 1991. "Object-Oriented Modeling and Design",Prentice Hall. 1991.

Page 189: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

176

[Scalzo, 1995] Scalzo, Betsy. 1995. UPROAR - User processes reveal objectsand requirements. OOPSLA '95, Workshop on Use Cases,1995.

[Schegloff, 1968] Schegloff, E. 1968. Sequencing in Conversational Openings.American Anthropologist, vol. 70, 1968. pp. 1075-1095.

[Sharratt, 1987a] Sharratt, B. 1987. Internal report: The incorporation of earlyinterface evaluation into Command Language Grammar.Scottish HCI Centre.

[Sharratt, 1987b] Sharratt, B. 1987. Top down interactive systems design: somelessons learned from using Command Language Grammar.Human Computer Interaction - INTERACT '87, 1987. North-Holland. Amsterdam.

[Shneiderman, 1992] Shneiderman, Ben. 1992. Designing the User Interface:Strategies for Effective Human-Computer Interaction 2a

edição. Addison-Wesley.

[Smith, 1986] Smith, S. L.; Mosier, J. N.. 1986. Guidelines for DesigningUser Interface Software. ESD-TR86-278. Bedford. MITRECorporation.

[Somé et al., 1996] Somé, S.; Dssouli, R.; Vaucher, J. 1995. "Toward anAutomation of Requirements Engineering using Scenarios",Journal of Computing and Information, Special issue:ICCI'96, 8th International Conference of Computing andInformation, Waterloo, Canada,2(1) pp. 1110-1132, 1996.

[TECGRAF] Home-Page do TeCGraf, laboratório de pesquisa emTecnologia Em Computação Gráfica da PUC-Rio,www.tecgraf.puc-rio.br/

[Trætteberg, 2000] Trætteberg, Hallvard. 2000 "Model based design patterns".Position paper. CHI 2000.

[UML,1999] OMG Unified Modeling Language Specification - version 1.3.Junho de 1999. Disponível em:http://www.rational.com/uml/index.jtmpl.último acesso em 09/04/2001.

[van Welie et al., 2000] van Welie, M.; van der Veer, G.C.; Eliëns, A.. 2000. Patternsas Tools for User Interface Design. International Workshopon Tools for Working with Guidelines , 7-8 Outubro de 2000,Biarritz, França.

Page 190: Um Modelo Para a Especificação de Cenários de Interaçãosimone/files/GDahis2001.pdf · tecnologia de implementação da interface, pois, na verdade, esta execução consiste sempre

177

[Wing, 1988] Wing, Jeannette M. 1988. A Study of 12 Specifications of theLibrary Problem. IEEE Software. Julho de 1988 pp.66-76.

[Yule, 1983] Yule, George. 1983. Discourse Analysis. CambridgeUniversity Press.