128
Wikis para Sistemas de Informação Emergentes Marco André Gonçalves Pinheiro Dissertação para obtenção do Grau de Mestre em Engenharia Informática e Computadores Júri Presidente: Prof. Nuno João Neves Mamede, IST/UTL Orientador: Prof. António Manuel Ferreira Rito da Silva, IST/UTL Vogais: Prof. Pedro Alexandre de Mourão Antunes, FC/UL Prof. João Vieira da Cunha, FE/UNL Maio 2011

Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Wikis para Sistemas de Informação Emergentes

Marco André Gonçalves Pinheiro

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática e Computadores

Júri

Presidente: Prof. Nuno João Neves Mamede, IST/UTL

Orientador: Prof. António Manuel Ferreira Rito da Silva, IST/UTL

Vogais: Prof. Pedro Alexandre de Mourão Antunes, FC/UL

Prof. João Vieira da Cunha, FE/UNL

Maio 2011

Page 2: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos
Page 3: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Agradecimentos

Gostaria de agradecer a todos aqueles que estiveram presentes e me apoiaram ao longo da

minha vida academica e em particular durante a realizacao desta dissertacao.

Ao meu orientador Professor Antonio Rito Silva pelo apoio, disponibilidade, perseveranca e

espırito crıtico que em muito contribuıram para o resultado final agora apresentado.

Ao Professor Joao Vieira da Cunha pelas sugestoes e melhorias, dando total atencao as

questoes acerca do caso de estudo, de sua, autoria, que serviu de base a realizacao desta dis-

sertacao.

A todos os colegas e professores com quem trabalhei ao longo do curso.

A todos os meus amigos por estarem sempre presentes com palavras de amizade e incentivo.

A Ines, por toda a compreensao, dedicacao e enorme ajuda a ultrapassar os obstaculos.

E por fim aos meus pais e irmao, o meu profundo agradecimento pelo acompanhamento e

apoio incondicional ao longo de toda a minha vida.

Maio 2011,

Marco Andre Goncalves Pinheiro

i

Page 4: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

ii

Page 5: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Resumo

Na era digital, grande parte das organizacoes usa sistemas de informacao como suporte

para diversas actividades aos nıveis operacional, estrategico e de gestao. Tradicionalmente,

esses sistemas sao prescritos como resultado das decisoes de governacao. No entanto, numa visao

mais minuciosa, vislumbram-se sistemas de informacao nao prescritos, ditos emergentes, os quais

nao resultam directamente do desenho inicial. Independentemente da natureza do seu suporte

(electronico ou nao), esses sistemas surgem no seio da organizacao entre os sistemas prescritos e

sao em parte promovidos por iniciativas dos agentes humanos da organizacao. Sao exemplos de

sistemas e tecnicas de trabalho emergentes: anotacoes e apontamentos em documentos impressos

ou post-it de informacao relevante e necessaria para a realizacao de tarefas, coordenacao e

visao geral sobre o progresso de uma tarefa complexa atraves de tabelas em folhas de calculo

e papel onde se anota informacao oriunda de diferentes fontes nao integradas. Este tipo de

sistemas tem desvantagens inerentes, como por exemplo, falham no suporte a rastreabilidade

e actualizacao da informacao, nao sao orientados a partilha de informacao e nao suportam

a colaboracao entre grupos de actores. Esta tese procura providenciar um modelo de como as

transferencias de informacoes emergente e prescrita e as praticas de trabalho que usam artefactos

emergentes podem ser suportados por uma plataforma emergente. Apos modelar em Tropos as

caracterısticas dos sistemas de informacao emergentes e de estudar um cenario de como estes

surgem e gerado uma arquitectura centrada em tres conceitos principais: artefactos, dados e

importacao/exportacao. Proposta a arquitectura, a XWiki e estendida de modo a potenciar

as suas caracterısticas de suporte a emergencia obtendo-se uma plataforma emergente que e

posteriormente validada ao simular o cenario usado para expor o problema.

iii

Page 6: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

iv

Page 7: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Abstract

In the digital era, most organizations use information systems as support for activities at

operational, strategic and management level. Traditionally, these systems are prescribed as a

result of governance’s decisions. However, on a more meticulous evaluation, some of them are

not prescribed, said emergent, which are not derived directly from the initial design. Regardless

of its medium nature (electronic or not), these systems arise within the organization alongside

the prescribed ones and are in part promoted by initiatives of non-manager agents. Examples

of unprescribed systems and work are: annotations and notes in printed documents, and post-it

with information necessary to accomplish tasks; coordination and overview of the progress of a

complex task through structured spreadsheets; and running logs where information is written

down from different sources that are not integrated. Such systems have inherent disadvantages,

for example, fail to support traceability and updating information, are not oriented to sharing

information and do not support well collaboration among an large group of users. This thesis

seeks to provide a model of how emergent and prescribed information and artifacts can be

supported by an emerging platform. After modeling in Tropos the features of unprescribed

systems of a case study and to consider a scenario of how emerging aspects arise, software

architecture is generated focused on three main concepts: artifacts, data, and import/export.

After that, XWiki is extended so as to enhance its features to support emergency resulting in

an emerging platform that is subsequently validated by simulating the scenario used to expose

the problem previously.

v

Page 8: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

vi

Page 9: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Palavras-Chave

Palavras-Chave

Sistema de Informacao Emergente

Artefacto Emergente

Informacao Emergente

Wiki

Keywords

Unprescribed Information System

Emergent Artefacts

Emergent Information

Wiki

vii

Page 10: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

viii

Page 11: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

�Indice

Agradecimentos i

Resumo iii

Palavras-Chave vii

Indice xiii

Lista de Figuras xvii

Lista de Tabelas xix

Lista de Acronimos xxi

1 Introducao 1

1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Estrutura da Dissertacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Trabalho Relacionado 5

2.1 Sistemas de Informacao Emergentes . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Artefactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.2 Funcionalidades dos Artefactos . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.3 Adopcao e Aprendizagem Improvisada da Tecnologia . . . . . . . . . . . . 10

ix

Page 12: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

2.2 Wikis e Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Wikis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.2 Google Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Problema 19

3.1 Descricao do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Caso de Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.1 Lista de Afazeres e Post-It . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2.2 Pilha de Documentos e Correio Electronico . . . . . . . . . . . . . . . . . 23

3.2.3 Running Log e Folha de Calculo . . . . . . . . . . . . . . . . . . . . . . . 25

3.3 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3.1 Situacao A – relembrar de tarefas . . . . . . . . . . . . . . . . . . . . . . . 28

3.3.2 Situacao B – priorizar tarefas . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3.3 Situacao C – relembrar de informacao . . . . . . . . . . . . . . . . . . . . 29

3.4 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Solucao 31

4.1 Solucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2 Atributos de Qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3 Arquitectura de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3.1 Tipo de Vista Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3.1.1 Estilo Decomposicao . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.3.1.2 Estilo Utilizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.3.1.3 Estilo Generalizacao . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3.2 Tipo de Vista Componente e Conector . . . . . . . . . . . . . . . . . . . . 41

x

Page 13: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

4.4 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Implementacao 45

5.1 Tecnologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1.1 XWiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1.2 Google Web Toolkit e Smart GWT . . . . . . . . . . . . . . . . . . . . . . 48

5.2 Implementacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2.1 Artefactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2.2 Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.3 Importacao, Exportacao e Conectores . . . . . . . . . . . . . . . . . . . . 54

5.3 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6 Validacao 61

6.1 Configuracao do ambiente na plataforma emergente . . . . . . . . . . . . . . . . . 61

6.2 Validacao das situacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2.1 Situacao A – relembrar de tarefas . . . . . . . . . . . . . . . . . . . . . . . 62

6.2.2 Situacao B – priorizar tarefas . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.2.3 Situacao C – relembrar de informacao . . . . . . . . . . . . . . . . . . . . 65

6.3 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

7 Conclusao 75

7.1 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.2 Principais contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.3 Trabalho futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

xi

Page 14: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A Arquitectura de Software 83

A.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

A.2 Atributos de qualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

A.3 Cenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

A.3.1 Artefactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

A.3.1.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

A.3.1.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

A.3.1.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A.3.2 Leitura e Escrita de Dados Emergentes atraves de Artefactos . . . . . . . 85

A.3.2.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A.3.2.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A.3.2.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.3.3 Definicao de Tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.3.3.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

A.3.3.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.3.3.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.3.4 Importacao de Novos Dados . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.3.4.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.3.4.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

A.3.4.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

A.3.5 Importacao de Novos Dados mantidos num Ficheiro . . . . . . . . . . . . 89

A.3.5.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

A.3.5.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

A.3.5.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

xii

Page 15: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A.3.6 Importacao de Novos Dados mantidos num Sistema Prescrito . . . . . . . 90

A.3.6.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

A.3.6.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

A.3.6.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

A.3.7 Exportacao de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.3.7.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.3.7.2 Tacticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.3.7.3 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.4 Responsabilidade dos modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

B i*/Tropos 97

B.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

B.2 Principais Conceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

B.3 Caso de Estudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.4 i*/Tropos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

B.5 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

xiii

Page 16: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

xiv

Page 17: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Lista de Figuras

1.1 Natureza do alinhamento com os objectivos da empresa segundo a classificacao

emergente e prescrita das duas dimensoes - tecnologia de informacao e praticas

de utilizacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2.1 Entidades de uma wave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1 Desafios que levam o vendedor a utilizar artefactos emergentes. . . . . . . . . . . 20

3.2 Artefactos emergentes modelados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Modelo relacional estrategico referente a lista de afazeres. . . . . . . . . . . . . . 22

3.4 Modelo relacional estrategico (simplificado) referente ao post-it. . . . . . . . . . . 23

3.5 Modelo relacional estrategico referente a pilha de documentos. . . . . . . . . . . . 24

3.6 Modelo relacional estrategico referente ao correio electronico. . . . . . . . . . . . 25

3.7 Modelo relacional estrategico referente ao running log. . . . . . . . . . . . . . . . 26

3.8 Modelo relacional estrategico referente a folha de calculo. . . . . . . . . . . . . . 27

4.1 Vista geral da solucao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2 Decomposicao num nıvel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.3 Decomposicao do modulo Dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 Decomposicao do modulo Fonte de Dados. . . . . . . . . . . . . . . . . . . . . . . 37

4.5 Estilo utilizacao do tipo de vista modulo. . . . . . . . . . . . . . . . . . . . . . . 39

4.6 Generalizacao dos Conectores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.7 Generalizacao dos Artefactos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

xv

Page 18: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

4.8 Vista Componente e Conector — Repositorio de Dados. . . . . . . . . . . . . . . 42

5.1 Menu do editor grafico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2 Modelo de renderizacao da XWiki. . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.3 Modelo de tratamento de pedidos HTTP da XWiki. . . . . . . . . . . . . . . . . 48

5.4 Area de trabalho com post-its, pilhas de documentos e paineis. . . . . . . . . . . 51

5.5 Diagrama entidade-relacao do meta-modelo. . . . . . . . . . . . . . . . . . . . . . 52

5.6 Configuracao de tipo de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.7 Interaccao do Conector com a Importacao e Exportacao. . . . . . . . . . . . . . . 55

5.8 Interaccao entre modulos durante a importacao de um ficheiro CSV. . . . . . . . 55

5.9 Interaccao entre modulos durante a exportacao para um ficheiro CSV. . . . . . . 56

5.10 Configuracao do conector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.11 Configuracao da transferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.12 Configuracao da estrategia de transferencia. . . . . . . . . . . . . . . . . . . . . . 58

5.13 Configuracao do mapeamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.1 Escrita de uma nova pagina usando o editor grafico WYSIWYG preenchendo

hierarquia, tıtulo, corpo e sumario da versao. . . . . . . . . . . . . . . . . . . . . 63

6.2 Modo de edicao in-line do artefacto pilha. . . . . . . . . . . . . . . . . . . . . . . 63

6.3 Artefacto pilha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.4 Botoes de adicao de artefactos e colunas na area de trabalho durante o seu modo

de edicao in-line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.5 Adicao de um post-it escrevendo o conteudo e opcionalmente um tıtulo. . . . . . 64

6.6 Artefacto post-it. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.7 Nuvem de tags e lista de documentos na area de trabalho MTEL. . . . . . . . . . 66

6.8 Modo de edicao in-line numa pagina com referencias. As caixas de texto sao as

referencias prontas a editar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

xvi

Page 19: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

6.9 Exportacao para um ficheiro CSV os clientes modificadas desde ultima exportacao. 67

6.10 Criacao e visualizacao de anotacoes numa pagina. . . . . . . . . . . . . . . . . . . 68

6.11 Navegacao na hierarquia de dados e insercao de referencias numa pagina. . . . . 69

6.12 Importacao a partir de um ficheiro CSV todos os clientes actualizando os impor-

tados anteriormente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.13 Configuracao da referencia no processo de importacao. . . . . . . . . . . . . . . . 71

6.14 Adicionar uma tag a um documento. . . . . . . . . . . . . . . . . . . . . . . . . . 71

A.1 Decomposicao apos o primeiro cenario. . . . . . . . . . . . . . . . . . . . . . . . . 85

A.2 Decomposicao apos o segundo cenario. . . . . . . . . . . . . . . . . . . . . . . . . 86

A.3 Decomposicao apos o terceiro cenario. . . . . . . . . . . . . . . . . . . . . . . . . 87

A.4 Decomposicao apos o quarto cenario. . . . . . . . . . . . . . . . . . . . . . . . . . 89

A.5 Decomposicao apos o quinto cenario. . . . . . . . . . . . . . . . . . . . . . . . . . 90

A.6 Decomposicao apos o sexto cenario. . . . . . . . . . . . . . . . . . . . . . . . . . . 91

A.7 Decomposicao apos o setimo cenario. . . . . . . . . . . . . . . . . . . . . . . . . . 93

B.1 Modelo de dependencia estrategica para o caso de estudo. . . . . . . . . . . . . . 101

B.2 Modelo racional estrategico para o caso de estudo. . . . . . . . . . . . . . . . . . 102

xvii

Page 20: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

xviii

Page 21: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Lista de Tabelas

2.1 Artefactos para organizacao de elementos num escritorio. . . . . . . . . . . . . . 7

2.2 Principais diferencas entre robots e gadgets. . . . . . . . . . . . . . . . . . . . . . 16

3.1 Artefactos e respectivos formatos para o suporte de cada desafio. . . . . . . . . . 21

4.1 Estrategias para seleccao de dados sujeito a importacao e exportacao. . . . . . . 32

4.2 Relacao entre os atributos de qualidade e os modulos e componentes arquitecturais. 43

5.1 Aspectos tecnicos e funcionais dos artefactos da plataforma emergente. . . . . . . 50

5.2 Funcionalidades XWiki usadas para a implementacao de alguns modulos e com-

ponentes arquitecturais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

xix

Page 22: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

xx

Page 23: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Lista de Acr�onimos

AJAX Asynchronous Javascript and XML

API Application Programming Interface

CSV Comma-Separated Values

ETL Extract, Transform, Load

GWT Google Web Toolkit

HTML HyperText Markup Language

HTTP Hypertext Transfer Protocol

JRE2 Java Runtime Environment 2

RPC Remote Procedure Call

RSS Really Simple Syndication

SQL Structured Query Language

TAM Technology Acceptance Model

XDOM eXtensible Document Object Model

WYSIWYG What You See Is What You Get

xxi

Page 24: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos
Page 25: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

1Introdu�c~ao

1.1 Introducao

O termo sistema de informacao tem sido comummente usado para referir interaccoes entre

pessoas, processos, dados e tecnologia (Laudon and Laudon 2006). Nesse sentido, o termo refere-

se nao so a tecnologia de informacao e comunicacao usada por uma organizacao, mas tambem na

forma pela qual os utilizadores interagem com a mesma enquanto meio de suporte para atingir

os seus objectivos e satisfazer as suas necessidades.

Os sistemas de informacao de uma organizacao podem ser classificados quanto a tecnologia

utilizada e quanto a forma de utilizacao da tecnologia em um dos seguintes tipos: prescrito ou

emergente. Adicionalmente os objectivos e necessidades que levam os utilizadores a interagir

com o sistema de informacao podem convergir ou divergir dos objectivos da organizacao. A

figura 1.1 apresenta a natureza desse alinhamento quando a tecnologia e a forma de utilizacao

sao classificadas como emergentes ou prescritas.

Figura 1.1: Natureza do alinhamento com os objectivos da empresa segundo a classificacaoemergente e prescrita das duas dimensoes - tecnologia de informacao e praticas de utilizacao.

A tecnologia utilizada nos sistemas de informacao pode ser de um dos seguintes tipos: pres-

crita ou emergente. A primeira e desenhada e implementada como consequencia das decisoes

Page 26: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

de governacao da organizacao. A segunda aparece num contexto organizacional de emergencia

como uma tecnologia adoptada para suportar as tarefas diarias, promovida em parte por inici-

ativas dos membros da organizacao. Em relacao as praticas de utilizacao, estas sao prescritas

quando a tecnologia (independentemente da sua natureza) e utilizada de acordo com os padroes

e regras de trabalho planeados e definidos pela governacao e consequentemente encontram-se ali-

nhadas com os objectivos da organizacao. As praticas de utilizacao emergentes, pelo contrario,

estendem as funcionalidades dos sistemas de informacao ao serem usados de forma nao prevista

pela governacao (Leclercq et al. 2009). Importa frisar que essa extensao do sistema advem, nao

da sua implementacao, mas da utilizacao das funcionalidades existentes de uma forma diferente

do habitual.

A convergencia e divergencia resumem-se a natureza do alinhamento com os objectivos gerais

da organizacao. Tomemos como exemplo uma recem-formada equipa de vendas que tem como

objectivo demonstrar a sua importancia para a organizacao. Se esse objectivo e derivado de um

desejo de aumento de poder e desse modo as praticas de utilizacao nao prescritas vao no sentido

de ocultar o fracasso da equipa em atingir os objectivos de vendas, entao resulta em divergencia

com os objectivos da organizacao. Por outro lado, se o objectivo e derivado de um desejo de

aumentar o valor gerado pela organizacao e desse modo as praticas de utilizacao nao prescritas

vao no sentido de tornar o trabalho mais eficiente e eficaz, entao resulta em convergencia com

os objectivos da empresa.

Este trabalho foca-se no estudo da relacao entre sistemas de informacao prescritos e emer-

gentes e as suas caracterısticas. Pretende-se estudar a utilizacao de sistemas de informacao

emergentes e o modo como estes surgem no seio da organizacao. Nesse sentido, sera necessario

adoptar uma metodologia de levantamento de requisitos que possa capturar os porques e as

intencoes dos utilizadores enquanto promotores deste tipo de sistemas. Ao aplicar a metodolo-

gia adoptada a casos de estudo exemplificativos de emergencia, obtem-se uma aproximacao das

funcionalidades e caracterısticas pretendidas de um sistema emergente.

Por outro lado, pretende-se avaliar um conjunto de plataformas colaborativas, principal-

mente wikis e waves, com o objectivo de identificar as caracterısticas e funcionalidades que

oferecem. Numa analise empırica, pensa-se que este tipo de plataformas podera acarretar be-

nefıcios importantes para o desenho e criacao de um sistema de informacao emergente assente

em tecnologia. Essas ferramentas poderao ser a base sobre as quais os utilizadores desenvolverao

2

Page 27: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

os sistemas emergentes.

1.2 Objectivos

O objectivo deste trabalho passa por um levantamento das caracterısticas dos sistemas que

surgem no seio de uma organizacao, usando para tal tecnicas de levantamento de requisitos

sobre um caso de estudo que descreve a emergencia ocorrida numa organizacao em particular.

De seguida compara-se essas caracterısticas com as caracterısticas de ferramentas do tipo wikis

ou waves de forma a concluir se essas plataformas colaborativas servem as necessidades de um

sistema emergente. Por fim serao implementadas as funcionalidades mais relevantes na plata-

forma colaborativa escolhida com o objectivo desta servir de base para o desenvolvimento de um

sistema, pelos proprios utilizadores finais, capaz de satisfazer as suas necessidades emergentes.

1.3 Estrutura da Dissertacao

A dissertacao e dividida em 7 capıtulos.

Este capıtulo introduziu o tema do sistema de informacao emergente e prescrito e formalizou

os objectivos do trabalho.

O capıtulo 2 focado no trabalho relacionado divide-se em dois temas: sistemas de informacao

emergentes e wikis e waves. O primeiro tema revela conceitos de mudanca emergente, artefactos

emergentes e suas funcionalidades e aprendizagem improvisada. O segundo tema fala sobre as

wikis e waves e o modo como estas podem suportar a emergencia.

O capıtulo 3 formaliza a descricao do problema e faz um levantamento das caracterısticas e

funcionalidades dos artefactos emergentes, tendo em conta um caso de estudo exemplificativo. A

partir da modelacao e do caso de estudo, o capıtulo finaliza com a descricao de um cenario com

aspectos emergentes. Este capıtulo e acompanhado pelo anexo B que descreve a metodologia de

engenharia de requisitos usada para modelar o caso de estudo — i*/Tropos.

O capıtulo 4 inicia com uma vista geral sobre a solucao proposta e aprofunda-a ao longo

do capıtulo descrevendo os atributos de qualidade e a arquitectura de software. Este capıtulo e

acompanhado pelo anexo A que descreve a decomposicao dos modulos.

3

Page 28: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

O capıtulo 5 apresenta a tecnologia XWiki AS-IS, o seu grau de extensibilidade e o seu

potencial de suporte a sistemas emergentes. De seguida apresenta-se as decisoes de desenho e

os detalhes tecnicos e de que modo a implementacao usa funcionalidades da XWiki.

O capıtulo 6 valida a plataforma emergente desenvolvida de acordo com o modelo de imple-

mentacao dos capıtulos anteriores. A validacao e feita atraves de configuracao e utilizacao da

plataforma emergente de modo a suportar o cenario descrito no capıtulo 3.

O capıtulo 7 tira as principais conclusoes e contributos e termina com propostas para tra-

balho futuro dentro do mesmo tema.

4

Page 29: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

2Trabalho Relacionado

Os sistemas de informacao emergentes, tema central deste trabalho, surgem num contexto

de transformacao organizacional improvisada e nao planeada. Com o intuito de perceber a

adopcao e reinvencao espontanea da tecnologia por parte dos seus utilizadores, sao descritos

modelos de adopcao e reinvencao de tecnologia. Torna-se importante analisar as caracterısticas

e funcionalidades dos sistemas emergentes. Comeca-se pelo levantamento de tipos de artefactos

que servem de suporte as necessidades dos seus utilizadores num escritorio vulgar. De modo

a desenvolver um levantamento mais completo de requisitos torna-se necessario analisar casos

de estudo que descrevem tecnologias e praticas emergentes. Assim, examina-se previamente

diversas metodologias de engenharia de requisitos. As metodologias orientadas a objectivos sao

analisadas de modo a encontrar uma tecnica apropriada para tratar de contextos emergentes e

levantar os requisitos de sistemas emergentes. Esta seccao descreve, ainda, as caracterısticas de

duas plataformas colaborativas. Wiki e wave podem vir a ser estendidas de modo a implementar

um conjunto de requisitos levantados atraves da metodologia escolhida. A construcao dessa nova

plataforma tem o objectivo de vir a ser adoptada pelos utilizadores para o desenvolvimento de

sistemas de suporte a necessidades emergentes.

2.1 Sistemas de Informacao Emergentes

As organizacoes vivem num meio ambiente cada vez mais dinamico e agressivo onde diaria-

mente e necessario acompanhar e responder a alteracoes economicas, polıticas e tecnologicas. Os

aspectos de flexibilidade, aprendizagem, agilidade e auto-organizacao tornaram-se importantes

para as organizacoes contemporaneas. O conceito de mudanca evoluiu de um acontecimento

episodico em segundo plano para uma actividade constante durante a vida de uma organizacao.

Page 30: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Consequentemente, o conjunto existente de perspectivas de transformacao organizacional tornou-

se insuficiente para suportar esta nova visao. Essas perspectivas partilhavam as assumpcoes de

que a mudanca apenas era episodica, rapida, radical e obrigatoriamente planeada, e os seus

impulsionadores eram (consoante a perspectiva) os gestores ou a tecnologia em si (Orlikowski

1996).

Em oposicao as estrategias e mudancas deliberadas, existem tambem as emergentes. En-

quanto a mudanca deliberada e a realizacao de um novo padrao organizacional1 de acordo com o

originalmente concebido, a mudanca emergente e a realizacao de um novo padrao organizacional

sem qualquer intencao explıcita ou concepcoes previas (Orlikowski 1996). Essas transformacoes

emergentes devem-se ao improviso e adaptacao local encenados, mesmo que inconscientemente,

pelos agentes quando experimentam excepcoes ou consequencias imprevistas durante a realizacao

das suas tarefas diarias e quando procuram planos de contingencia ou deparam-se com oportuni-

dades. Por isso a mudanca emergente, mesmo que nao intencional ou apercebida, esta inerente

as accoes humanas realizadas diariamente.

A transformacao emergente pode ser caracterizada pela: (i) analise das praticas que incitam

as mudancas emergentes, (ii) analise do desenho e propriedades organizacionais que influenciam

e que sao influenciadas pelas transformacoes, (iii) as caracterısticas dos sistemas emergentes

alinhadas com as necessidades que surgiram, (iv) os novos padroes e praticas de trabalho e

utilizacao de sistemas prescritos e emergentes, (v) as consequencias inesperadas que resultaram

das mudancas e que ao mesmo tempo influenciam transformacoes futuras. Este trabalho foca-se

principalmente nos aspectos (iii) e (iv). De seguida serao descritos alguns exemplos de cada um

dos aspectos.

2.1.1 Artefactos

Os agentes humanos possuem limitacoes em capacidade de memoria e processamento sis-

tematico. Por isso, os agentes humanos tornam-se dependentes de artefactos que ajudem a

mitigar essas limitacoes. O mesmo tipo de artefacto e usado por diferentes utilizadores para o

suporte de tarefas simples. Contudo quando se trata de um tarefa mais complexa, o artefacto

ou sistema que surge e igualmente mais complexo tornando-o cada vez mais unipessoal e ao

1Uma padrao organizacional envolve praticas de trabalho, estruturas organizacionais, padroes de interaccao,mecanismos de coordenacao e outros aspectos.

6

Page 31: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

mesmo tempo aumentando o grau de dificuldade de usabilidade e compreensibilidade por parte

de outros utilizadores.

Os sistemas emergentes nao electronicos, adoptados pelos utilizadores, sao geralmente im-

provisados a partir de artefactos conhecidos. Pastas, arquivos, pilhas, dossiers, quadros negros,

calendarios, notas em post-it sao alguns exemplos desses artefactos (Malone 1983; Bondarenko

and Janssen 2005; Mander et al. 1992). Num estudo sobre a organizacao de escritorios, foram

destacados dois tipos de artefactos como os mais importantes: arquivo e pilha (Malone 1983).

Ambos sao modos de agrupamento de elementos (por exemplo, folhas de papel, pastas, livros,

relatorios, revistas, envelopes) em conjuntos mas possuem caracterısticas diferenciaveis.

Elementos Grupos

Intitulados Ordenados Intitulados Ordenados

Arquivo Sim Sim ? ?

Pilha ? Nao Nao ?

Pastas ? Nao Sim ?

Tabela 2.1: Artefactos para organizacao de elementos num escritorio.

Tal como indicado na tabela 2.1, o arquivo e um tipo de artefacto onde os elementos sao

explicitamente intitulados e colocados numa ordem especıfica (por exemplo, numa ordem al-

fabetica ou cronologica). Em alguns casos os proprios grupos que o artefacto cria (por exemplo,

as gavetas de um arquivo) sao igualmente nomeados com um tıtulo ou ordenados de alguma

forma.

Na pilha, por outro lado, os elementos individuais nao sao necessariamente nomeados com

um tıtulo e geralmente nao sao ordenados. A dinamica na criacao de uma pilha de elementos leva

consequentemente a um ordem cronologica inversa, mas tal nao e necessariamente uma ordem

intencional do utilizador (Malone 1983), contudo e util na funcionalidade de procura. Adicio-

nalmente, cada pilha nao possui um tıtulo e nao sao necessariamente alinhadas numa mesa por

uma ordem em particular. Contudo, a sua localizacao espacial e importante para as funcoes de

procura e relembranca. Por outro lado, pode ser vista como uma unidade sujeita a mudanca.

Por exemplo, os elementos de uma pilha podem ser facilmente remexidos ou reordenados e sepa-

rados em duas ou mais sub-pilhas, iniciando-se, assim, um processo informal de categorizacao.

As pilhas sao criadas com objectivos diferentes, por exemplo, podem agrupar elementos segundo

uma das seguintes estrategias: tipo de documento, estado de processamento, projecto a que o

7

Page 32: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

documento se refere, ou meramente aleatorio especialmente quando se trata de documentos que

nao se inserem em outras pilhas. A sua localizacao espacial pode tambem seguir uma estrategia

ou ser meramente aleatoria. A distancia de uma pilha a area de trabalho pode reflectir a sua

importancia ou prioridade (Mander et al. 1992). Existem ainda diferentes formas de separar

elementos dentro de uma pilha: elementos em diferentes angulos ou um separador de material

diferenciador dos elementos.

A categorizacao rıgida inerente a uma hierarquia de pastas e uma das razoes que levam os

utilizadores a usarem pilhas. A estrutura hierarquica de pastas e ficheiros nao e o modo natural

como os agentes organizam a informacao enquanto realizam as suas actividades (Bondarenko

and Janssen 2005). Alias, existem evidencias da dificuldade cognitiva em classificar informacao

(Malone 1983) e da preferencia dos utilizadores em lidarem com documentos atraves de agrupa-

mentos (como as pilhas) em oposicao a categorizacao imediata em pastas especıficas (Mander

et al. 1992).

A tabela 2.1 resume a classificacao dos tres tipos de artefactos anteriormente analisados

quanto a intitulacao dada e a ordem gerada segundo dois graos: os elementos dentro do artefacto

e o proprio artefacto enquanto conjunto de elementos. As definicoes indicadas na tabela foram

escolhidas de acordo com o significado comum do termo, mas podem ser utilizadas noutras

situacoes. Por exemplo, uma prateleira de livros pode ser vista como uma pilha, uma vez que

os elementos nao estao ordenados nem a prateleira possui um nome. Mas, numa biblioteca,

uma prateleira de livros pode ser vista como um arquivo, uma vez que os seus elementos estao

ordenados e possuem uma designacao relevante, como por exemplo o nome do autor.

Os sistemas emergentes electronicos, adoptados pelos utilizadores, sao geralmente impro-

visados utilizando software de produtividade, como e o caso das folhas de calculo, devido a

facilidade de utilizacao sentida pela maior parte dos utilizadores. As folhas de calculo podem

manter e organizar informacao sobre uma tarefa complexa cujo estado e actualizado ao longo do

tempo. O correio electronico e um exemplo de um sistema emergente que deve-se nao a tecnolo-

gia em si mas pela utilizacao nao prescrita. Mais do que um meio de comunicacao assıncrono, o

correio electronico tornou-se numa agenda, num gestor de lembretes, contactos e lista de afaze-

res, e ate num local de armazenamento de ficheiros e transferencia dos mesmos (Gwizdka 2002).

O facto de novas tarefas e pedidos a satisfazer resultarem respectivamente de mensagens recebi-

das e enviadas por correio electronico, este tornou-se mais atractivo do que ferramentas digitais

8

Page 33: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

especificamente desenhadas para as funcoes de planeamento, relembranca e armazenamento

(Bondarenko and Janssen 2005). Sendo um centro de comunicacao, o correio electronico reflecte

as actividades principalmente dos trabalhadores que trabalham com informacao, pois as suas

actividades sao baseadas em comunicacao e coordenacao que passam pelo correio electronico.

2.1.2 Funcionalidades dos Artefactos

Malone identifica as duas funcoes basicas proporcionadas pela artefactos (Malone 1983). A

primeira funcionalidade e a de procura. Os agentes organizam os documentos para que possam

encontra-los mais tarde. Contudo a par desta funcionalidade existe a de relembranca, igualmente

importante. Existem artefactos visıveis no topo das mesas na maioria dos escritorios que estao

la com o intuito de relembrar visualmente tarefas pendentes aos utilizadores do escritorio e nao

apenas pela disponibilidade prestada. Dix et al diferenciam dois papeis que podem ser encenados

pelo mesmo artefacto: trigger e placeholder (Dix et al. 1998). A diferenca essencial entre os dois

assenta no facto do trigger exprimir que existe algo a realizar e o placeholder exprimir o que e

necessario realizar. Por exemplo, um medico pode ter na sua agenda a necessidade de analisar o

caso de um paciente (trigger) mas precisa de obter informacao do prontuario ou registos medicos

para saber o estado actual do paciente (placeholder).

A informacao e um bem importante para as organizacoes. Os humanos possuem uma capa-

cidade de memoria limitada e por isso usam os artefactos para suportar a necessidade de manter

uma quantidade de informacao superior das suas capacidades. A “memoria” pode ser mantida

de tres maneiras diferentes: internamente (no cerebro dos agentes humanos), externa e explicita-

mente (no conteudo dos artefactos) ou externa e implicitamente (na localizacao e nos atributos

dos artefactos) (Dix et al. 1998). O facto de existir um parte da “memoria” que e mantida

internamente conduz a visao dos sistemas unipessoais e do problema da interpretacao onde o

contexto cultural e organizacional ganha uma relevancia natural. Por exemplo, um sistema de

cores basicas (vermelho, amarelo e verde) que reflecte o risco de determinada tarefa e geralmente

interpretado da mesma forma por diferentes pessoas. Por outro lado, a localizacao de documen-

tos numa pilha a esquerda e noutra a direita do monitor e geralmente apenas interpretado por

quem os colocou daquele sıtio.

9

Page 34: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

2.1.3 Adopcao e Aprendizagem Improvisada da Tecnologia

Entre os varios modelos sobre adopcao de tecnologia, o Modelo de Aceitacao de Tecnolo-

gia (TAM) criado por Fred David e um dos mais influentes devido a forte base teorica e apoio

empırico que tem. O modelo argumenta que a intencao comportamental de um indivıduo utilizar

um sistema e determinado por duas crencas do mesmo: a facilidade de utilizacao apercebida e

a utilidade apercebida. A facilidade de uso apercebida refere-se ao grau o qual um utilizador

acredita que a utilizacao e livre de esforco. A utilidade apercebida e o grau ao qual um utili-

zador acredita que a sua utilizacao ira melhorar a sua performance nas suas tarefas. O modelo

argumenta que o efeito de factores externos sao mediados pelas duas crencas apresentadas ante-

riormente, isto e, factores externos influenciam a utilidade e facilidade de utilizacao apercebidas

e sao essas duas crencas do utilizador que, por sua vez, influenciam a intencao do utilizador em

usar o sistema (Adams et al. 1992).

Contudo o modelo apresenta varias limitacoes. O TAM nao avalia as influencias do contexto

organizacional, a perspectiva de utilizacao em grupo e nao um indivıduo apenas, nem a existencia

de diferentes opcoes de sistemas concorrentes com o sistema analisado.

Segundo Boudreau e Robey a aprendizagem improvisada impulsiona a mudanca gradual da

fase de inercia para a fase de reinvencao da tecnologia (Boudreau and Robey 2005). No momento

em que um novo sistema prescrito e colocado em producao, os utilizadores evitam o seu uso ou

usam-no de uma forma perfunctoria. Essa fase de uso limitado da nova tecnologia e designada por

inercia. Deve-se ao facto do sistema nao corresponder as expectativas, necessidades ou objectivos

de cada utilizador. Esses objectivos podem estar alinhados com os objectivos da organizacao (por

exemplo, aumento da produtividade ou simplicidade das actividades diarias) ou pelo contrario,

divergirem dos objectivos da organizacao (por exemplo, quando o novo sistema resultar na

perda de poder por parte dos utilizadores). A aprendizagem improvisada, ao contrario de

uma formacao formal, resulta da aprendizagem sem qualquer metodo ou estrutura, iniciada

pelos proprios utilizadores atraves da pratica de utilizacao do novo sistema. Por exemplo,

ocorre quando um utilizador descobre alguma funcionalidade ou metodo que vai ao encontro

das suas necessidades e e partilhado com os outros utilizadores. A medida que os utilizadores

comecam adoptar o novo sistema, comecam a encontrar limitacoes e inflexibilidade por parte do

sistema. Essas limitacoes sao apercebidas pelos utilizadores, podendo existir ou nao na realidade.

Consequentemente, os utilizadores comecam a adoptar padroes de utilizacao nao prescritos de

10

Page 35: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

forma a contornar as restricoes apercebidas do sistema.

2.2 Wikis e Waves

O principal proposito deste trabalho e criar uma plataforma apta a servir de base para os

sistemas emergentes. Direccionado a esse proposito, uma plataforma existente sera estendida

em vez de criar uma de raiz. O intuito desta seccao e descrever as principais funcionalidades e

caracterısticas de duas plataformas colaborativas — wikis e waves — e avaliar a extensibilidade

de cada uma. Ambas plataformas sao potenciais plataformas de emergencia, uma vez estendidas

as suas funcionalidades.

2.2.1 Wikis

Wikis sao coleccoes de paginas ligadas entre si, que podem ser editadas por qualquer pessoa,

em qualquer altura, a partir de qualquer lugar (Ebersbach et al. 2008); resultam do trabalho

contınuo de uma comunidade. A primeira wiki foi desenvolvida em 1995 por Ward Cunningham

que a considerou originalmente como a mais simples possıvel base de dados on-line. O principal

objectivo era permitir que o trabalho colaborativo em codigo fonte fosse facilmente publicado

numa pagina web. Desde entao o conceito de wiki ganhou reputacao na area de gestao in-

formatica como uma das ferramentas mais uteis e faceis de implementar e tem sido promovida

como uma ferramenta social que mudara a forma como a investigacao e os negocios sao desen-

volvidos (Bean and Hott 2005). Algumas empresas tem adoptado wikis para os trabalhadores

acederem, editarem colectivamente e guardarem informacao e documentos relacionados com o

trabalho. A medida que este tipo de software colaborativo se move da esfera social para a empre-

sarial, desafia a governacao das empresas e envolve os trabalhadores num ambiente de partilha

e geracao de conhecimento (Hasan and Pfaff 2006).

Qualquer pessoa pode contribuir facilmente para o conteudo e estrutura da wiki, simples-

mente criando novas ligacoes e adicionando novas paginas. Esta caracterıstica — a abertura —

e um dos aspectos mais inovadores e importantes das wikis. O leitor, ao encontrar uma pagina

que, do seu ponto de vista, encontra-se incompleta ou mal organizada, tem a possibilidade de

edita-la como entender.

11

Page 36: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

As versoes de cada pagina sao mantidas pela wiki em forma de historico permitindo a

consulta e restauro de versoes anteriores. A cada edicao e associado o nome do utilizador,

pelo que cada membro da comunidade e responsabilizado pelas suas edicoes limitando, assim,

o potencial problema de vandalismo (Hasan and Pfaff 2006). Ainda em relacao a edicao, e

possıvel (e util) criar paginas inexistentes, isto e, que ainda nao foram sequer escritas. Posteri-

ormente, a comunidade pode escrever as paginas inexistentes aumentando, assim, o conteudo da

wiki. As notificacoes por RSS ou correio electronico permitem os utilizadores acompanharem a

evolucao e crescimento da wiki incentivando, mais cedo, contribuicoes e comentarios sobre de-

terminada pagina recentemente modificada. Efectivamente, esta ultima funcionalidade favorece

a frequencia de edicao acelerando a conclusao de actividades relacionadas, e assegura que todos

os utilizadores envolvidos sejam melhor informados sobre o processo evolutivo.

A wiki cresce e envolve-se organicamente com a comunidade que a usa. Isto deve-se a uma

mudanca de paradigma fundamental. Wikis afastam o paradigma de controlo e aproximam a

visao de confianca e partilha, democratizando a colaboracao e o acesso a informacao. Delibe-

radamente, foi afastado das wikis a predefinicao de estruturas e procedimentos complexos. A

este nıvel, e o papel dos utilizadores aprenderem e adoptarem o estilo de utilizacao da wiki e

definirem o modo de organizacao da informacao2. Esta flexibilidade permite que a plataforma

seja usada para uma serie de necessidades(Mader 2008) e promove a partilha, e consequente

adopcao, de conhecimento tacito incluindo praticas mais produtivas.

Ferramentas menos flexıveis ou fechadas necessitam de ajustes e artifıcios a medida que os

objectivos e necessidades dos utilizadores mudam, e mesmo assim nao desempenham de forma

elegante e eficiente outras funcoes para alem da sua concepcao original. Do ponto de vista

social, os sistemas fechados delegam a tecnologia o controlo e acesso a informacao, assumindo

implicitamente que tal poder nao pode ser confiado aos utilizadores. Por outro lado, as wikis

afastam a ideia antiquada de que um agente salvaguarda para si informacao com o intuito

de proteger a sua posicao de poder. Numa cultura wiki, os agentes sao recompensados pelo

quao activo contribuem para a comunidade. Aqueles que mais participam tornam-se geralmente

lıderes do pensamento, porque a sua experiencia pode ser medida de forma tangıvel pelas suas

contribuicoes e abordagens. Desta forma, esses agentes tornam-se realmente indispensaveis para

a organizacao, nao so porque possuem um conhecimento rico, mas mais importante, que estao

2Uma das formas de organizacao de informacao, vulgar em wikis, e o sistema de rotulagem (do ingles, tagging).

12

Page 37: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

dispostos a compartilha-lo.

Ate recentemente as wikis continham, na sua maioria, texto corrido (prosa). Varios motores

suportam o acesso a dados estruturados de uma base de dados e oferecem a funcionalidade de

programacao pelo proprio utilizador de forma a apresentar e trabalhar com dados de outros

sistemas no contexto de uma wiki (Anslow and Riehle 2008).

A wiki e uma possıvel plataforma sobre a qual serao desenvolvidos, pelos proprios utilizado-

res, sistemas de informacao emergentes. Portanto, e relevante averiguar se as wikis satisfazem as

assumpcoes da programacao pelo proprio utilizador final. Sao analisados os seguintes aspectos

atendendo as wikis: programacao incremental e incompleta, inexistencia da distincao clara en-

tre o modelo e a instancia de execucao, e a execucao e sempre efectuada independentemente da

ocorrencia de falhas. Em primeiro, uma pagina wiki encontra-se sempre num estado consistente

mesmo que nao esteja completa ou os resultados nao facam sentido. Alias, do ponto de vista

da wiki, qualquer pagina encontra-se sempre em desenvolvimento. Em segundo, nao existe uma

clara distincao entre o modelo de execucao — o programa — e a instancia da execucao — o

resultado. Apesar de existirem diferencas entre o modo de edicao e o de visualizacao, o utilizador

nao visiona uma distincao clara, devido a proximidade entre o que se escreve no modo de edicao

e o que se ve no modo de visualizacao. Por ultimo, a execucao de uma wiki nunca falha. O

motor da wiki nao deixa de mostrar a pagina mesmo que algo nao seja possıvel interpretar. E

deixado ao utilizador julgar se o resultado e o correcto ou pretendido.

Tal como as folhas de calculo, as wikis satisfazem as assumpcoes da programacao pelo uti-

lizador (Anslow and Riehle 2008). Contudo, as folhas de calculo sao baseadas no paradigma de

tabelas e numeros. As wikis, pelo contrario, usam um paradigma computacional de hiperligacoes

que nao restrige o potencial de adaptar-se a necessidades emergentes. Nao sao por natureza es-

pecıficas a um domınio e isso e uma vantagem para a adopcao desta ferramenta como plataforma

para os objectivos do trabalho.

As wikis direccionadas para organizacoes estao alinhadas com a necessidade de estruturas de

dados predefinidas e customizaveis mas com conteudo nao necessariamente estruturado. Tendo

como base a analise em duas dimensoes — estruturacao e contextualizacao da informacao — as

wikis tem informacao contextualizada porque existem hiperligacoes entre paginas relacionando

a informacao contida nessas paginas. Seguindo a outra dimensao possibilitam ter informacao

estruturada e nao estruturada. Texto numa pagina wiki tem um nıvel de estruturacao baixo

13

Page 38: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

enquanto que estruturas de dados ou classes tem um nıvel de estruturacao elevado. Fazendo

a ponte com os sistemas emergentes, a informacao surge frequentemente contextualizada, por

exemplo, um conjunto de folhas numa pasta esta contextualizado porque nessa pasta se guarda

as facturas do mes. Em relacao a estruturacao, existe informacao estruturada e nao estruturada

nos sistemas emergentes. Em detalhe, a informacao e mais estruturada quando esta e prescrita

ou possui um relacao directa com alguma entidade prescrita. Mas tambem existe informacao

nao estruturada nos sistemas emergentes como por exemplo notas soltas temporarias.

Wikis que possibilitam guardar informacao em diferentes nıveis de estruturacao sao uteis

para satisfazer as necessidades emergentes, porque num contexto organizacional existem entida-

des estruturadas que devem ser mantidas e por outro lado deve haver flexibilidade para suportar

entidades com pouca estruturacao.

2.2.2 Google Wave

Google Wave e uma ferramenta on-line para colaboracao e comunicacao em tempo real.

Baseia-se no conceito fundamental — wave. Existem tres partes a distinguir: o protocolo, o

servidor e o cliente. O protocolo e aberto a federacoes de modo a que fornecedores de waves

— servidores — possam inter-operar entre si. Os utilizadores acedem as waves atraves do seu

fornecedor utilizando uma aplicacao cliente, que no caso do Google tem a designacao de Google

Wave3.

Tal como demonstra a figura 2.1, a anatomia de uma wave e constituıda por wavelets que por

sua fez possuem blips (Gina Trapani 2009). Uma wave e uma conversa, ou um documento, sobre

a qual os participantes podem comunicar e trabalhar em conjunto e em tempo real usando texto

formatado, fotos, vıdeos, mapas e qualquer outro artefacto disponibilizado atraves de extensoes.

Formalmente, trata-se de uma entidade dinamica que mantem estado e historico, servindo de

contentor para uma ou mais wavelets. Uma wavelet e um subconjunto da conversacao global

que, apesar de independente das outras wavelets, se encontra contextualizada por pertencer a

um contentor — a sua wave. Por se tratar da unidade basica de controlo de acesso a dados, cada

wavelet possui um conjunto diferente de participantes. Consequentemente, conversas privadas

(em forma de wavelets) podem ser mantidas. A blip e a unidade basica de conversacao e

3A aplicacao pode ser acedida em http://wave.google.com/

14

Page 39: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

consiste numa unica mensagem. Adicionalmente, blips podem conter outras blips, formando

uma hierarquia. Existem tres formas de modificar uma wave: respondendo por de baixo de uma

blip, respondendo dentro de uma blip (de modo intercalado), ou editando o conteudo de uma

blip existente. O acto de responder corresponde a criacao de uma nova blip a par ou intercalada

com as existentes.

Figura 2.1: Entidades de uma wave.

O Google Wave e tambem uma plataforma com um conjunto disponıvel de APIs que permite

embeber waves em outros servicos web e desenvolver extensoes que trabalham dentro de waves.

Existem, portanto, dois tipos de desenvolvimento: extensao e integracao.

E possıvel facilmente integrar esta ferramenta de comunicacao e colaboracao com aplicacoes

web. Ao embeber waves em sites, os seus utilizadores ficam aptos a discutirem e colabora-

rem usando uma interface identica ao cliente Google Wave. Essas waves possuem o mesmo

comportamento como as waves dentro do cliente.

A extensao permite construir robots com o objectivo de automatizar tarefas numa wave

ou construir gadgets que fornecem novas formas de interaccao entre agentes. Ambos podem

ser utilizados conjuntamente. Robots sao aplicacoes que participam em waves para as quais

foram convidados, tal como um utilizador humano se tratasse. Por isso, do ponto de vista da

wave, participantes humanos ou participantes robots sao vistos de igual modo — sao agentes

que operam sobre uma wave. Ao contrario dos gadgets, os robots correm num servidor fora da

wave e podem ler e modificar o conteudo da wave, adicionar e remover participantes, adicionar

novas blips ou novas waves. O modo de funcionamento dos robots segue uma arquitectura de

resposta a eventos e mantem, atraves de wavelets (privados), informacao escondida de outros

participantes mas que e fundamental para a sua actividade na wave.

15

Page 40: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Gadgets possibilitam que um programa, que se executa numa wave, seja partilhado e a que

todos os participantes dessa wave tenham acesso. Um gadget e uma pequena aplicacao que e

executada dentro do cliente wave. Uma wave pode conter uma ou mais instancias independentes

desse gadget e os respectivos estados sao partilhados por todos os participantes. O gadget

nao tem influencia sobre a propria wave. Apenas e usada como um add-on que aperfeicoa

algum aspecto de uma conversacao. Por exemplo, uma wave pode incluir um gadget com um

artefacto (como a pilha de documentos) que permite os participantes manterem uma pratica de

colaboracao aprimorada devido ao artefacto partilhado.

A possibilidade de extensao da plataforma possibilita aperfeicoar a forma como os agentes

comunicam numa wave permitindo satisfazer melhor as suas necessidades. A tabela 2.2 resume

as diferencas entre as duas alternativas de extensao da plataforma.

Robot Gadget

E executado num servidor aplicacional e inte-rage com a wave atraves de um protocolo.

E executado dentro do proprio cliente wave.

Um robot e um participante numa wave, logoexiste quanto muito uma instancia por cadawave. Mas uma wave pode possuir varios parti-cipantes/robots.

Cada gadget pode ser instanciado multiplas vezesnuma wave.

Robots podem modificar uma wave e realizar asmesmas operacoes como se de um participantehumano se tratasse.

Gadgets nao podem modificar uma wave e tem visi-bilidade limitada. Um gadget apenas pode detectaralteracoes nos participantes da wave.

Robots podem modificar gadgets. Gadgets nao possuem forma de aperceber da pre-senca de robots e por isso nao estao aptos a modi-fica-los.

Tabela 2.2: Principais diferencas entre robots e gadgets.

2.3 Sumario

O paradigma associado as wikis democratiza a colaboracao e o acesso a informacao pois

qualquer agente pode contribuir e visualizar o conteudo e estrutura da wiki. Visto que o estilo de

utilizacao e o modo de organizacao da informacao sao definidos pelos utilizadores, as wikis podem

ser usadas para uma serie de propositos. Apesar da flexibilidade igualmente proporcionada pelas

folhas de calculo, estas sao baseadas no paradigma de tabelas e numeros. As wikis, pelo contrario,

nao se restringem a um paradigma computacional especıfico ou um modo de visualizacao em

particular. Logo ao utilizar esta plataforma para as necessidades emergentes, os utilizadores nao

16

Page 41: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

se restringem a um paradigma predefinido.

As waves surgiram recentemente como uma forma de comunicacao e colaboracao em tempo

real, caracterıstica na qual as wikis nao se focam. Uma wave e uma conversacao ou documento

cuja estrutura tambem nao e predefinida. Os actores (humanos e computacionais) podem inte-

ragir e trabalhar em conjunto usando texto formatado, fotos, vıdeos, mapas e qualquer outro

artefacto disponibilizado atraves de extensoes que aperfeicoa algum aspecto na forma de comu-

nicar.

17

Page 42: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

18

Page 43: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

3Problema

A descricao do problema e uma descricao concisa dos aspectos que sao enderecados durante

o desenho da solucao. Neste capıtulo redefine-se o problema que foi apresentado brevemente

no capıtulo de introducao. De seguida um caso de estudo onde surgem aspectos emergentes

e descrito em duas vertentes — uma mais geral e outra direccionada aos artefactos e praticas

associadas. O objectivo passa por levantar os requisitos (caracterısticas e funcionalidades) exis-

tentes nos artefactos emergentes. Por fim, com base no caso de estudo, apresenta-se um cenario

que conjuga artefactos e praticas de trabalho emergentes e prescritas.

3.1 Descricao do Problema

Os sistemas de informacao de uma organizacao podem ser classificados quanto a tecnologia

e quanto a forma de utilizacao da tecnologia em um dos seguintes tipos: prescrito ou emergente.

Os sistemas de informacao emergentes surgem num contexto de transformacao organizacional

improvisada e nao planeada. Os utilizadores adoptam sistemas emergentes por dois motivos: (i)

os sistemas prescritos tornaram-se desajustados com as actividades prescritas e necessidades dos

utilizadores ou (ii) os utilizadores precisam de manter actividades emergentes para as quais nao

podem utilizar os sistemas prescritos. Contudo muitos dos artefactos emergentes que surgem nao

estao sobre um plataforma propria. Grande parte dos artefactos sao fısicos perdendo assim as

qualidades que um artefacto digital oferece e quando sao artefactos digitais surgem em aplicacoes

diversas.

Assim, pretende-se criar uma plataforma com o objectivo de servir de base ao desenvol-

vimento de sistemas pelos proprios utilizadores finais, capaz de satisfazer as suas necessidades

emergentes.

Page 44: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

3.2 Caso de Estudo

O caso de estudo exemplificativo descreve uma etnografia realizada sobre um departamento

de vendas de uma empresa de telecomunicacoes. Essa unidade de vendas aplica esforcos na

utilizacao dos sistemas de informacao para a construcao de uma aparente observancia com as

regras, procedimentos e objectivos prescritos. Na realidade, os colaboradores deste departa-

mento realizam parcialmente outro trabalho para o qual a gestao de topo nao delegou e que na

verdade esta delegado a outros departamentos. Eis porque surge uma aparente observancia e

consequentemente a necessidade de desenvolver trabalho nao prescrito de modo a manter essa

aparencia. Explica-se o modo como os utilizadores improvisaram um sistema de informacao

emergente de forma a coordenar ao longo do tempo o trabalho nao prescrito. Cunha aponta tres

desafios de auto-coordenacao que os empregados enfrentavam: relembrar das tarefas e respec-

tivo estado, relembrar da informacao necessaria para completar cada uma das tarefas e priorizar

tarefas (Vieira da Cunha 2005). De modo a suportar esses desafios, os utilizadores adopta-

ram varios artefactos e tecnicas de utilizacao. A figura 3.1 reproduz em Tropos o modelo de

dependencia estrategica do utilizador face aos artefactos. Apesar de existirem em diferentes

formatos, os principais artefactos resumem-se a listas de afazeres, pilha de documentos e um

registo de execucao ou running log. A figura 3.2 ilustra os artefactos que sao modelados em

Tropos.

VendedorArtefacto

Emergente

Priorizar Tarefas

u u

Não esquecer de

tarefas por realizaru u

uu

Mantida informação necessária

para completar tarefas

Utilidade

Facilidade de

Utilização

u

u

u

u

+-u

Actor

Objectivo

Softgoal

Recurso

Fronteira do Actor

Decomposição

Contribuição positiva

Contribuição negativa

Dependência

Tarefa

Means-ends

Legenda:

Figura 3.1: Desafios que levam o vendedor a utilizar artefactos emergentes.

A tabela 3.1 identifica os principais artefactos e respectivos formatos que surgiram de modo

a suportar cada um dos desafios mencionados. Para alem disso resume as nuances que surgem

em cada formato.

20

Page 45: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Artefacto

Emergente

Folha de

Cálculo

Running

Log

Pilha de

Documentos

Post-It

Lista de

Afazeres

ISA

Correio

Electrónico

ISAISA ISA

ISAISA ISA

Figura 3.2: Artefactos emergentes modelados.

Desafio Artefacto Formato dos Artefactos Nuances

Relembrar das tarefas

Lista de afazeres

(to-do list)

Página de um caderno de apontamentos ● Riscar quando completo; ● Um item por linha Simples folha de papel

Página de um calendário

Post-it ● Um para cada tarefa; ● Deitar fora quando completo; ● Posicionamento do artefacto;

Caixa de entrada do correio electrónico ● Impossibilidade de fazer anotações junto da informação a que se referem; ● Utilizadores reportam dificuldade de utilização (no objectivo de relembrar tarefas e informação). Havia desconfiança/medo de esquecer algo importante

Relembrar da

informação

Pilha (to-do pile)

Correio electrónico assinalado com cores diferentes que simulam diversas pilhas

Documentos impressos com notas

● Desfolhar e separar documentos de forma a refrescar a memória do que tem de fazer durante o resto do dia ● Colecção documentos e informação de diversas origens: sistemas de comunicação electrónicos (email), telefonemas com clientes, vendedores ou representantes operacionais, sistemas de informação prescritos, entre outros ● Possibilidade de fazer anotações no papel e junto da informação a que se referem ● Cada documento é orientado à tarefa, já que o próprio documento pode ser o próprio espaço de suporte à tarefa (e não apenas de acesso à informação)

Pastas ou dossieres

Documentos organizados por conta cliente

● Separadores ● Associação de documentos por conta cliente

Running log

Página de um caderno de apontamentos ● Não organizado ● Informação não correlacionada na mesma folha/página Simples folha de papel

Folha de cálculo

● Organizado ● Paradigma tabelas ● Uma folha de cálculo por assunto ● Informação correlacionada na mesma folha

Post-it

Priorizar tarefas

Lista de afazeres numerados ● Numeração

Post-it posicionados num sítio em particular ● Posicionamento do artefacto

Tabela 3.1: Artefactos e respectivos formatos para o suporte de cada desafio.

21

Page 46: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

3.2.1 Lista de Afazeres e Post-It

As listas de afazeres oferecem uma grande visibilidade das tarefas ainda por completar sem o

sobrecarregamento proveniente dos detalhes das mesmas. A descricao de cada tarefa e pequena

o que reforca a ideia das listas servirem para refrescar a memoria e nao para manter um registo

detalhado sobre a mesma. As listas de afazeres surgem em diferentes formatos e adaptados as

preferencias pessoais de cada utilizador. No caso de estudo surgem duas adaptacoes principais:

notas a frente de tarefas como por exemplo ”reuniao”ou ”fazer amanha”e numeros que indicam

a prioridade relativa face a outras tarefas. A prioridade de cada tarefa e determinada pela

combinacao de dois criterios: importancia e urgencia. A importancia corresponde a combinacao

de diversas medidas: a receita proveniente da execucao da tarefa, a facilidade de execucao

da tarefa, o estatuto da pessoa que pediu assistencia, e as preferencias pessoais. A urgencia

corresponde ao modo de comunicacao aplicado para realizar um pedido em conjunto com a

frequencia de contacto. Por exemplo, pedidos por telefone sao vistos como mais urgentes do que

os pedidos por correio electronico. A figura 3.3 apresenta a modelacao em Tropos da lista de

afazeres.

Vendedor

Tarefas

visualizadas

Lista de

Afazeres

Gerir tarefas

Tarefas pendentes

registadas

+

-

Registar

tarefa

Enumerar

tarefa

Escrever

nota

Marcar tarefa

com símbolo

Visualizar tarefas

completas

Personalização

Mantida informação necessária

para completar tarefas

u

u

Acrescentar

detalhe

Utilidade

u

u

Riscar

tarefa

Registar prioridade

da tarefa

Não sobrecarregar

com detalhes

Visualizar tarefas

pendentes

Obter noção de

progresso

Não manter registo

detalhado

u

Não esquecer de

tarefas por realizar

u

u

Priorizar

Tarefas

u

u

u

u

u

Figura 3.3: Modelo relacional estrategico referente a lista de afazeres.

Entre a variedade de formatos importa modelar o post-it dada a particularidade do posici-

onamento e visualizacao aumentada. A figura 3.4 apresenta a modelacao em Tropos do post-it.

Como a descricao das tarefas nao sao detalhadas, as listas de afazeres nao sao suficientes para

22

Page 47: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Vendedor

Post-It

+

Não esquecer de

tarefas por realizar

u

u

Priorizar

Tarefas

u

Lista de

Afazeres

ISA

Posicionar

post-it

Posicionar de acordo

com prioridade

Visualização

aumentada

u

Figura 3.4: Modelo relacional estrategico (simplificado) referente ao post-it.

coordenar tarefas complexas que envolvam um numero significativo de actividades precisando,

assim, de uma coordenacao interna ao longo do tempo. Os utilizadores, ao se envolverem numa

tarefa apos a leitura da lista de afazeres, relembram que tem de abrir um e-mail ou retirar

um documento de um dossier ou pilha. Tal facto leva a considerar a existencia de referencias

explıcitas ou implıcitas entre sistemas. Por exemplo, a expressao “ver e-mail” em conjunto com a

descricao da tarefa a realizar e uma referencia explıcita. Se mesmo que a expressao nao estivesse

escrita, invariavelmente o utilizador lembrar-se-ia de abrir o e-mail, entao tratar-se-ia de uma

referencia implıcita.

3.2.2 Pilha de Documentos e Correio Electronico

A pilha de documentos mantem a informacao necessaria para completar as tarefas. Trata-

se de um sistema hıbrido uma vez que a informacao e oriunda de multiplas fontes: sistemas

prescritos da M-Tel, conversas por telefone com o cliente ou representantes do servico, sistemas

de comunicacao electronica, documentos impressos. Para alem disso, os artefactos existentes

na pilha sao orientados a tarefa. Por exemplo, a impressao de um email com um pedido de

orcamento e utilizada para fazer anotacoes dos precos de cada produto e, assim, calcular o valor

do orcamento. A figura 3.5 apresenta a modelacao em Tropos da pilha de documentos.

O correio electronico e utilizado para simular uma pilha de mensagens em formato

electronico. No caso de estudo existem dois tipos de anotacoes que se podem aplicar a uma

mensagem: cores e editar o assunto incluindo um numero de referencia. Esse numero refere a

23

Page 48: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Vendedor

Pilha de

Documentos

Gerir

documentos

Documentos

guardados

+

Inserir

documentos

Separar

documentos em

várias pilhas

Reorganizar

documentos

Mantida informação necessária

para completar tarefas

uUtilidade

u

Retirar

documentos

Dispor pilha numa

localização espacial

em particular

Assegurada

utilidade da

informação

Não esquecer de

tarefas por realizar

u

u

u

Existência

aumentada

Reorganização

Processo de

categorização

informal

++

u

Limpar

pilha

Separar documentos

segundo critério

prioridade

Separar documentos

segundo critério conta

cliente

Reorganizar documentos

segundo critério prioridade

Reorganizar documentos

segundo critério conta cliente

Anotar documento com

informação extra

u

u

Anotar documento com

número de referência

Referência

Siebel

Figura 3.5: Modelo relacional estrategico referente a pilha de documentos.

24

Page 49: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

uma entidade mantida nos sistemas prescritos. Por outro lado o sistema de correio de electronico

aproxima-se a um diario, dado que a maioria da comunicacao passa por esse sistema. No caso

de estudo surgem varios utilizadores a enviarem mensagens para a propria conta de email para

manterem um registo da sua actividade. A figura 3.6 apresenta a modelacao em Tropos do

correio electronico.

Vendedor

Correio

Electrónico

Gerir

mensagens

Mantida Informação

Mantida informação necessária

para completar tarefas

u

Não esquecer de

tarefas por realizar

u

u u

Tarefas pendentes

registadas

Manter na caixa de entrada

mensagens representativas de

tarefas pendentes

Associar cor Desassociar corAcrescentar número de

referência ao assunto

Actividades diárias

registadas

Enviar

mensagensReorganização

Separar

mensagens em

várias pastas

Limpar caixa

de entradaReferência

Siebel

u

u

Figura 3.6: Modelo relacional estrategico referente ao correio electronico.

3.2.3 Running Log e Folha de Calculo

O running log em formato de folha de papel e utilizado para manter informacao temporaria.

Por vezes designado tambem por folha de rascunho, a sua utilizacao segue uma estrutura ad-hoc

ou, no limite, nenhuma estrutura de todo. Por exemplo, sao anotados referencias e informacao

de outros sistemas como codigos de clientes ou de produtos e informacao recebida por telefone.

A sua utilizacao deve-se a dois aspectos. Em primeiro, permite um acesso a informacao mais

rapido do que os sistemas que sao fonte da informacao. Torna-se relevante quando a informacao

e proveniente de varias fontes ou encontra-se junto de muitos detalhes irrelevantes que dificultam

a leitura. Em segundo, a informacao e guardada durante a realizacao da tarefa. Se o utilizador

usasse apenas as suas proprias capacidades de memoria sem qualquer artefacto de suporte, apesar

do acesso a informacao fosse mais rapido a propriedade de durabilidade nao estaria assegurada.

A figura 3.7 apresenta a modelacao em Tropos do running log.

25

Page 50: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Vendedor

Running Log

Guardar

Informação

Informação guardada

temporariamente

Mantida informação necessária

para completar tarefas

u

Guardar itens

u

u

Estrutura ad-hoc ou

sem estrutura de todo

Utilização

rápida e fácil

Acesso de

escrita rápido

Acesso de

leitura rápido

+

Facilidade de

Utilização

u

Acesso rápido

à informação

u

Guardar Número

Telefone

Guardar Número

Referência

Siebel

Número

Telefone

Número

Referência

u

u

u

u

Figura 3.7: Modelo relacional estrategico referente ao running log.

26

Page 51: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A folha de calculo modelada em Tropos na figura 3.8 e um running log digital cuja informacao

encontra-se organizada e estruturada segundo o paradigma tabela.

Vendedor

Informação

Visualizada

Folha de

Cálculo

Organizar e

Guardar

Informação

Informação

mantida

+

+Guardar

Itens

Definir

colunas/linhas

Definir

Operações

Formatar

Células

Visualizar Itens

numa Tabela

Personalização

Mantida informação necessária

para completar tarefas

u

Facilidade de

Visualização

u

Estruturar

Folha de

Cálculo

Tarefas complexas

coordenadas

Facilidade de

Utilização

u

Utilidade

u

u

Representação das

actividades de uma

tarefa complexa

u

u

Figura 3.8: Modelo relacional estrategico referente a folha de calculo.

3.3 Cenario

Na descricao deste cenario e apresentado um departamento de vendas de uma empresa

fictıcia de telecomunicacoes designada por M-TEL. O cenario e baseado no caso de estudo refe-

rido na seccao 3.2. O departamento tem como objectivo prescrito a realizacao de vendas cujo

valor mensal total por cliente e inferior a um determinado limite. O departamento opera exclu-

sivamente a partir dos escritorios da empresa e vende perifericos e servicos de telecomunicacoes.

A gestao de topo determinou que este departamento usa o Siebel para registar e manter essen-

cialmente quatro tipos de entidades: vendas, oportunidades de venda, tarefas e contactos de

clientes.

O Duarte e um colaborador do departamento e possui, do ponto de vista de utilizador,

o conhecimento necessario para usar o Siebel. O cliente Supermercados, Lda. tem vindo a

aumentar os seus gastos em perifericos e servicos de telecomunicacoes. Apesar de continuar

a realizar pedidos junto do Duarte, ele sabe que o cliente ja nao deveria ser tratado pelo seu

27

Page 52: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

departamento porque, caso as normas tivessem sido respeitadas, as ultimas duas encomendas

teriam ultrapassado o limite imposto ao departamento. O Duarte adiou a facturacao da ultima

encomenda para o mes seguinte de modo a ultrapassar as normas prescritas. Caso contrario o

cliente teria passado a interagir com um gestor dedicado atraves de um outro departamento com

essa funcao.

De seguida sao descritas tres situacoes: relembrar de tarefas, priorizar tarefas e relembrar

de informacao.

3.3.1 Situacao A – relembrar de tarefas

O Duarte recebe um email do cliente Supermercados, Lda. com pedido de orcamento para

um conjunto de perifericos e que deve enviar ainda nesse mesmo dia. Como nao e possıvel

efectuar essa tarefa no momento, necessita de um artifıcio de modo a relembra-lo da tarefa

pendente. Antecipadamente sabe que aquele orcamento vai atingir o tal limite imposto ao

departamento e por isso evita usar o sistema prescrito para registar a tarefa pendente. Por

isso coloca o conteudo do email no cimo da pilha que contem outros emails e documentos com

pedidos por tratar.

Entretanto recebe um telefonema do mesmo cliente a perguntar acerca da encomenda rea-

lizada na semana passada. Como o Duarte precisa de averiguar o porque do atraso necessita de

perguntar telefonicamente ao departamento de aprovisionamento. O Duarte escreve num post-it

a tarefa e coloca na sua area de trabalho de modo visıvel com o objectivo de nao esquecer. Mais

uma vez nao usa o sistema prescrito porque esta encomenda nao foi formalmente fechada, ou

seja, ainda nao foi facturada.

Ao terminar o assunto anterior o Duarte elimina o post-it referente a essa mesma tarefa.

Adicionalmente, as paginas necessarias para completar o trabalho ja tinham sido retirados da

pilha de documentos com pedidos por tratar. De seguida visualiza na sua area de trabalho a

existencia de um conjunto de post-its com tarefas por realizar. Ao lado surge uma pilha com

documentos e emails com pedidos. O Duarte precisa de saber qual a tarefa com maior prioridade.

28

Page 53: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

3.3.2 Situacao B – priorizar tarefas

Duarte possui varios pedidos por cumprir distribuıdos pelos post-its e pilha que surgem na

area de trabalho. Precisa de decidir rapidamente quais sao os proximos pedidos a cumprir. Ele

sabe que existem pedidos que devem ser tratados ainda nesse mesmo dia dada a importancia do

cliente que os fizeram.

Decide posicionar os post-its de acordo com a ordem de prioridade — no topo os mais

prioritarios. Por outro lado, retira da pilha documento que, por acumularem-se mesmo apos

as respectivas tarefas terem sido concluıdas, ja nao sao importantes e podem ser arquivados ou

eliminados consoante a necessidade. A pilha e, assim, renovada e limpa de folhas desnecessarias

ao resto do trabalho semanal. Surgem no topo documentos relacionados com tarefas mais

prioritarias.

Ao seleccionar o primeiro post-it que surge na area de trabalho, o Duarte inicia uma nova

tarefa agora no contexto do cliente Supermercados, Lda. Trata-se dos pedidos previamente

efectuados e descritos em 3.3.1.

3.3.3 Situacao C – relembrar de informacao

Duarte precisa de averiguar o porque do atraso na instalacao dos servicos da ultima enco-

menda. Primeiro ele abre o sistema prescrito e procura o numero da encomenda. De seguida

abre o seu dossier no separador com documentos daquele cliente e procura pelos que tem no topo

uma anotacao com o respectivo numero da encomenda. Para alem disso abre no seu computador

uma folha de calculo relacionada com o tema. Com esse conjunto de documentos e artefactos

refresca a sua memoria com o ponto de situacao da ultima vez que empenhou-se neste tema.

Ele verifica que oito em dez servicos nao estavam instalados.

Telefona para o departamento responsavel pela instalacao com o objectivo de compreender

o ponto de situacao actual e o porque do atrasado na instalacao dos servicos que faltavam.

Duarte percebe que falta completar a instalacao de tres servicos estando um deles dependente

da actualizacao da morada de instalacao. Assim, actualiza a folha de calculo com o novo ponto

de situacao colocando a verde os servicos instalados, a amarelo os parcialmente instalados e a

vermelho o servico que se encontra dependente da recepcao por parte do cliente da nova morada.

Duarte comunica o ponto de situacao actual atraves do numero de telefone que foi apontado

29

Page 54: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

no post-it quando recebeu a chamada. Pede a nova morada de instalacao e escreve numa folha

solta. Apos desligar passa essa informacao para o sistema prescrito e envia um email a indicar

tal facto ao departamento responsavel pela instalacao. Duarte elimina o post-it e fecha a folha

de calculo guardando-a. De seguida passa para um outro tema.

Duarte retira o documento que esta no topo da pilha. Trata-se do email impresso com um

pedido de encomenda por parte do mesmo cliente. Nesse documento e junto de cada periferico

referenciado anota os respectivos precos. Escreve um novo email de resposta utilizando como

base as anotacoes feitas no documento. Para alem disso, cria no sistema prescrito uma nova

oportunidade de venda descrevendo de um modo geral a oportunidade que teve como base o

orcamento pedido.

Duarte sabe que nao pode descrever a oportunidade de venda com muito detalhe pois

segundo as normas prescritas este cliente deveria ter sido redireccionado para outro departamento

com competencias para lidar com vendas e oportunidades de vendas daquela dimensao. Por

outro lado, nao pode eliminar o documento em papel pois precisa de manter essa informacao

caso o cliente realize a encomenda. Por conseguinte anota o documento com o numero de

oportunidade e o numero de cliente que surgem no sistema prescrito criando assim uma ligacao

nao tecnologica entre o artefacto fısico e as entidades digitais — cliente e oportunidade de venda

— no sistema prescrito. Coloca o documento num dossier com outros documentos organizados

por conta cliente.

3.4 Sumario

Este capıtulo apresenta o principal problema desta dissertacao: criar uma plataforma para

servir de base para o desenvolvimento de um sistema, pelos proprios utilizadores finais, capaz de

satisfazer as suas necessidades emergentes. Por isso mesmo e necessario realizar um levantamento

das caracterısticas dos sistemas que surgem no seio da organizacao, usando para tal tecnicas

de levantamento de requisitos sobre um caso de estudo que descreve a emergencia ocorrida

numa organizacao. Foram levantadas as caracterısticas e modelados em Tropos os artefactos

emergentes. Um cenario de utilizacao e descrito em tres desafios principais alinhado com o

caso de estudo. Tendo como base este capıtulo, um modelo de implementacao e desenvolvido,

implementado e validado ao longo dos proximos capıtulos.

30

Page 55: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

4Solu�c~ao

Neste capıtulo, e apresentada uma solucao que cobre todos os problemas e qualidades levan-

tados durante a descricao do caso de estudo e, em particular, do cenario. Primeiro, apresenta-se

uma vista geral da solucao e serve de base para as proximas etapas. Em segundo, formaliza-se

os atributos de qualidade pretendidos da nova plataforma emergente. Por fim, descreve-se a

arquitectura de software que serve de base para o desenho e implementacao da plataforma.

4.1 Solucao

Os utilizadores fazem uso da plataforma emergente e do sistema prescrito para ultrapassarem

os desafios e atingirem os seus objectivos prescritos e emergentes. Concluindo da analise do

caso de estudo e no contexto da emergencia, os utilizadores criam nos sistemas prescritos uma

representacao do seu trabalho que cumpra as regras prescritas, mesmo que essa observancia seja

apenas aparente. Por outro lado, os utilizadores fazem uso de artefactos e sistemas emergentes

para os auxiliarem em tarefas e desafios que nao estao inteiramente alinhadas com o trabalho

imposto pelas chefias. Nesses sistemas emergentes, nao existe uma preocupacao em manter a

representacao do trabalho de forma prescrita porque esses sistemas sao ja de si nao prescritos e

nao representam formalmente para a organizacao o trabalho realizado pelo colaborador.

Tendo em conta essa analise do problema, tres aspectos elevaram-se: artefactos, dados e

processos de importacao/exportacao. A figura 4.1 mostra como esses aspectos se relacionam

entre si e onde surgem os sistemas externos.

O conceito artefactos abrange o modelo de interaccao com os dados e as praticas de trabalho

ajustadas as necessidades dos utilizadores. O conceito dados compreende os topicos relacionados

com a informacao emergente e prescrita e as operacoes efectuadas sobre a mesma. Por um lado,

Page 56: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura 4.1: Vista geral da solucao.

Estratégia Relação entre datas

Importação Exportação

Não

act

ual

izar

Act

ual

izar

Act

ual

izar

inal

tera

do

s d

esd

e ú

ltim

a tr

ansf

erên

cia

Act

ual

izar

inal

tera

do

s d

esd

e ú

ltim

a ex

po

rtaç

ão

Tud

o

Alt

erad

os

des

de

últ

ima

exp

ort

ação

Alt

erad

os

des

de

últ

ima

tran

sfer

ênci

a

Inal

tera

do

s d

esd

e ú

ltim

a

exp

ort

ação

Inal

tera

do

s d

esd

e ú

ltim

a tr

ansf

erên

cia

mod ≤ imp & mod ≤ exp × × × × × × imp ≤ mod ≤ exp × × × × × × exp ≤ mod ≤ imp × × × ×

×

Imp ≤ mod & exp ≤ mod × × × ×

Sem objecto × ×

Tabela 4.1: Estrategias para seleccao de dados sujeito a importacao e exportacao.

32

Page 57: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

os artefactos usam esses dados e representam-nos num formato especıfico a cada artefacto. Por

outro lado os processos de importacao/exportacao permitem replicar internamente as entidades

que existem nos sistemas externos e externamente as entidades que foram criadas na plataforma

emergente. Essa transferencia de informacao e efectuada atraves dos conectores que comportam

diferentes tecnologias de integracao.

Em relacao aos tipos de dados e importante referir que existe um requisito importante

— a rastreabilidade. Ou seja, os dados importados devem manter a sua entidade de modo

que em posteriores exportacoes seja possıvel identificar o dado como aquele que foi importado

anteriormente mesmo que os seus valores tenham sido mudados. Por isso, os valores podem variar

mas a sua entidade mantem-se. Consequentemente sao necessarios dois tipos de atributos: os

atributos tipificados e os atributos de identidade. Sao os atributos de identidade que conferem

caracterısticas de rastreabilidade.

Adicionalmente, o tipo de dados possui tres atributos que correspondem aos momentos da

ultima modificacao, importacao e exportacao. Ao saber esses tres momentos e possıvel escolher

os dados que se pretende exportar ou actualizar se ja existirem na plataforma. A tabela 4.1

indica o estado relativo entre as datas necessario para que o dado seja sujeito de importacao ou

exportacao consoante a estrategia escolhida.

4.2 Atributos de Qualidade

Entre os objectivos da plataforma emergente destaca-se a sua capacidade de trabalhar com

dados de diferentes origens/sistemas externos e que estes sejam trabalhados/utilizados de acordo

com as praticas de trabalho identificadas. Adicionalmente, a confidencialidade de dados e arte-

factos emergentes deve ser salvaguardada. Eis porque surgem os quatro atributos de qualidade:

(i) facilidade de modificacao, (ii) interoperabilidade e (iii) facilidade de utilizacao, (iv) seguranca.

Em detalhe:

• Efectuar alteracoes em tempo de execucao aos artefactos, dados e tipo de dados (incluindo

a eliminacao e adicao desses conceitos) e a configuracao em tempo de execucao da fonte

de dados (mecanismos de importacao e exportacao incluindo os conectores);

• Efectuar alteracoes aos tipos de artefactos e conectores durante a implementacao e ser

possıvel incorpora-las facilmente;

33

Page 58: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Autorizar apenas alguns colaboradores a acederem a artefactos e dados emergentes proi-

bindo o acesso por parte de chefias ou de outros utilizadores sem acesso determinado pelo

autor do artefacto/dado em questao;

• Carregar dados de diferentes fontes incluindo sistemas prescritos com os quais e possıvel

interoperar na actualizacao e realizacao de operacoes sobre os dados;

• Disponibilizar as mesmas operacoes e aproximar o modelo conceptual dos artefactos im-

plementados a dos respectivos formatos fısicos minimizando, assim, o tempo e dificuldade

de adaptacao aos artefactos;

• Disponibilizar operacoes dependentes do tipo de dados sobre os quais sao aplicadas.

4.3 Arquitectura de Software

A Arquitectura de Software de um programa ou sistema computacional e a estrutura ou

estruturas do sistema que abrangem os elementos de software, as suas propriedades externamente

visıveis e as relacoes entre si (Bass et al. 2003).

Esta seccao descreve as vistas relevantes que constituem a arquitectura proposta. Em de-

talhe as tacticas, isto e, as decisoes para satisfazer os atributos de qualidade, sao descritas

resultando numa arquitectura justificada. Assim, as tacticas permitem alinhar tecnicamente a

arquitectura com os atributos de qualidade e respectivos cenarios descritos no capıtulo anterior.

4.3.1 Tipo de Vista Modulo

Este tipo de vistas documenta a estrutura modular do sistema — as unidades de imple-

mentacao e as relacoes entre si (Clements et al. 2002). As unidades de implementacao, tambem

conhecidas por modulos, fornecem um conjunto coerente de funcionalidades com interfaces bem

definidas que escondem parcial ou totalmente estruturas de dados e algoritmos. De modo a de-

finir em pormenor o tipo de vista modulo sao usados tres estilos arquitecturais: decomposicao,

utilizacao e generalizacao.

34

Page 59: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

4.3.1.1 Estilo Decomposicao

O estilo decomposicao e usado para demonstrar o modo como as responsabilidades sao

particionadas em modulos e sub-modulos. Esta seccao e acompanhada pelo anexo A onde e

descrito passo-a-passo os cenarios e tacticas usadas durante a decomposicao de modulos. Como

ilustrado na figura 4.2, a plataforma emergente divide-se em tres modulos:

• Modulo Artefactos – Encapsula os conceitos relacionados com praticas de trabalho e

artefactos;

• Modulo Dados – Encapsula os conceitos relacionados com dados prescritos e emergentes

e outros meta-dados;

• Modulo Fonte de Dados – Encapsula os conceitos relacionados com transferencia de

dados.

Figura 4.2: Decomposicao num nıvel.

O modulo Artefactos encapsula todos os conceitos relacionados com praticas de trabalho

onde existe interaccao com dados emergentes e prescritos. Cada artefacto disponibiliza uma

interface grafica possibilitando os utilizadores interagirem com os dados atraves do modelo de

interaccao que aquele artefacto faculta. Os artefactos existem por si independentemente dos

dados, alias os mesmos dados podem surgir em diferentes artefactos. Portanto os detalhes dos

tipos de dados sao escondidos de modo a prevenir efeitos em cascata quando novos tipos de

dados ou novos artefactos surgem.

O modulo Dados encapsula os conceitos relacionados com dados prescritos e emergentes e

outros meta-dados necessarios para identificar inequivocamente a entidade ou a hora da ultima

alteracao, importacao e exportacao. Como apresentado na figura 4.3 este modulo decompoe-se

em tres sub-modulos: operacoes sobre os dados, tipo de dados e configuracao do tipo de dados.

35

Page 60: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura 4.3: Decomposicao do modulo Dados.

O modulo Operacoes encapsula os conceitos relacionados com a escrita e leitura de dados a

partir dos artefactos. Para alem disso, surge o sub-modulo Instanciacao de Dados responsavel

pela criacao e preenchimento da estrutura de dados abstraindo, assim, uma interface comum

que e utilizada pelo processo de importacao.

O modulo Tipo de Dados encapsula os conceitos relacionados com as estruturas que com-

portam os dados. Os tipos de dados sao constituıdos por (i) atributos tipificados que correspon-

dem as propriedades da entidade, (ii) atributos de identidade que correspondem a identificacao

inequıvoca da entidade e (iii) meta-dados relacionados com a hora da ultima alteracao, im-

portacao e exportacao.

O modulo Configuracao Tipo de Dados encapsula os detalhes da configuracao e definicao

das estruturas do modulo tipo de dados. A configuracao de novos tipos de dados ocorre em

tempo de execucao. Este modulo e igualmente responsavel pela redefinicao de tipo de dados e

pelas alteracoes sofridas pelos dados assentes na definicao anterior.

O modulo Fonte de Dados encapsula os conceitos relacionados com transferencia de dados

entre os sistemas externos e a plataforma emergente. O modulo assegura a coerencia semantica

pois e o modulo responsavel por todas as funcionalidades que interagem com dados externos, isto

e, oriundos de sistemas prescritos. Tal como apresentado na figura 4.4 esse modulo decompoe-se

em tres sub-modulos: configuracao fonte de dados, transferencia de informacao e conector.

O Modulo Configuracao Fonte de Dados encapsula os detalhes de configuracao do mecanismo

de importacao. Apesar dos atributos de configuracao do processo de importacao e exportacao

serem estaveis, a configuracao dos conectores e dependente de cada um.

36

Page 61: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura 4.4: Decomposicao do modulo Fonte de Dados.

O Modulo Transferencia de Informacao encapsula os conceitos relacionados com o pro-

cesso de importacao e exportacao de dados. Este modulo e decomposto em tres sub-modulos:

importacao, exportacao e comum. Este ultimo sub-modulo encapsula funcionalidades que sao

comuns no processo de importacao e exportacao. A primeira funcionalidade comum e a rastrea-

bilidade. Esta funcionalidade permite assegurar a identidade dos dados no sistema externo e na

plataforma emergente, isto e, dado o conjunto de atributos que identifica inequivocamente cada

entidade e possıvel manter a identidade dos dados independentemente do sistema, ora no sis-

tema externo, ora na plataforma emergente. A segunda funcionalidade comum e o mapeamento.

O mapeamento indica qual o valor importado que corresponde a cada atributo de um tipo de

dado ou, do ponto de vista da exportacao, qual a ordem de atributos a formar para exportar

os valores para o sistema externo. Os modulos importacao e exportacao tambem decompoe-se

em sub-modulos. No caso do modulo de importacao decompoe-se em modulo de tipificacao

de valores e modulo para o carregamento dos valores na estrutura de dados interna. No caso

do modulo de exportacao decompoe-se em modulo para colectar os dados segundo regras de

exportacao escolhida e modulo de transformacao de dados tipificados em valores prontos para

serem entregues ao conector.

O Modulo Conector encapsula os conceitos relacionados com a tecnologia de ligacao aos

sistemas externos. Este modulo encobre qualquer dependencia que possa existir com os sistemas

37

Page 62: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

externos, nomeadamente o modo de interoperabilidade. O modulo decompoe-se em dois sub-

modulos que correspondem a modos de integracao diferentes. O primeiro caso corresponde na

integracao por ficheiros CSV, ou seja, a troca de dados entre o sistema externo e a plataforma

emergente e realizada atraves de um ficheiro. O segundo caso corresponde na integracao por

web services. O modulo conector separa-se do modulo de transferencia de informacao porque

e necessario esconder do processo de importacao os detalhes na obtencao de dados externos.

Ainda de referir que cada tipo conector tem um sub-modulo de configuracao responsavel por

declarar as configuracoes necessarias para o conector funcionar.

4.3.1.2 Estilo Utilizacao

O estilo utilizacao indica os modulos que devem existir para a correcta execucao de de-

terminada parte do sistema. Com esse objectivo, existe a relacao utilizacao que estabelece a

propriedade correccao entre modulos, isto e, um modulo usa outro se a correccao do primeiro esta

dependente do correcto funcionamento do segundo. Dada a natureza da plataforma emergente,

existem dois modulos principais que interagem com o modulo dados, tal como apresentado na

figura 4.5. Por um lado, o modulo fonte de dados importa e exporta dados, ou seja, transfere

dados dos sistemas externos para a plataforma emergente e vice-versa. Por outro lado, o modulo

artefactos interage com os dados internos. De seguida a vista e explicada em detalhe.

O bom funcionamento do modulo fonte de dados depende de tres conjuntos de modulos: (i)

importacao e exportacao, (ii) conectores e (iii) configuracao. Antes do processo de transferencia

de dados e necessario configura-lo. Essa configuracao e composta por duas partes: a importacao

e exportacao cujos modelos de configuracao sao estaveis e o conector utilizado cujo modelo de

configuracao depende do mesmo. Por isso, o modulo configuracao fonte de dados depende dos

modulos de configuracao de cada conector. Configurado, o modulo fonte de dados usa o modulo

conector para receber os dados externos e usa o modulo importacao para colocar esses dados

nas respectivas estruturas internas. No caso da exportacao ocorre o mesmo no sentido inverso.

Os modulos importacao, exportacao e cada conector usam outros modulos que correspondem

aos passos bem definidos de um processo de transferencia de dados. Esses modulos sao explicados

em mais detalhe na seccao de implementacao 5.2.3.

Anteriormente foi apresentado que alguns modulos que decompoe o modulo fonte de dados —

cujos ındices comecam por 3 — usam os modulos que decompoem o modulo dados — cujos ındices

38

Page 63: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura 4.5: Estilo utilizacao do tipo de vista modulo.

comecam por 2 —, mas nunca se concretizou quais sao os modulos. O modulo mapeamento e

responsavel por mapear cada valor numa propriedade do tipo de dados interno. Neste sentido

o modulo mapeamento usa o modulo tipo de dados pois precisa de conhecer quais sao os tipos

existentes e as propriedades de cada um. Por outro lado, o modulo carregamento do processo de

importacao e o modulo colecta de dados do processo de exportacao usam o modulo operacoes. O

modulo operacoes encapsula as operacoes basicas sobre dados, nomeadamente a criacao, leitura,

alteracao e eliminacao. E aqui que surge o ponto de interaccao entre os dados e os processos de

importacao/exportacao.

Por fim, o modulo artefactos usa dois modulos: (i) o modulo tipo de dados de modo a

conhecer os tipos de dados e as propriedades de cada um e (ii) o modulo operacoes de modo a

interagir com os dados.

4.3.1.3 Estilo Generalizacao

O estilo generalizacao surge quando se pretende suportar extensao e evolucao de arquitectu-

ras e elementos individuais. Esta necessidade de suportar a extensao e evolucao surge de forma

evidente em duas partes da arquitectura. Primeiro, a plataforma emergente deve suportar a

39

Page 64: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

importacao de dados de tal modo que a origem e formato desses dados nao seja limitativa para

essa importacao. Consequentemente a extensao de novos conectores torna-se, assim, necessaria.

Segundo, a plataforma emergente deve suportar formas de interaccao entre o utilizador e dados.

Essas interaccoes devem estar alinhadas com as necessidades do utilizador e ao longo do tempo

novas formas de interaccao surgem. Assim, torna-se relevante a extensao de novos artefactos

com essas novas formas de interaccao.

A figura 4.6 apresenta, do ponto de vista da generalizacao, os modulos referentes as funciona-

lidades de conectores. Na vista de utilizacao pode-se confirmar que os modulos de transferencia

de informacao — importacao e exportacao — utilizam o modulo conector. Adicionalmente exis-

tem varios conectores em que cada um se “liga” a fonte de dados com modos e tecnologias

diferentes. Tendo em conta estes dois aspectos e importante generalizar o modulo conector e

possibilitar o surgimento e evolucao de conectores sem consequencias semanticas e sintacticas aos

modulos de transferencia de dados. Novos conectores podem ser adicionados desde que respei-

tam a interface geral dos conectores permitindo que os mecanismos de importacao e exportacao

funcionem independentemente do conector utilizado. Por outro lado surgem generalizacoes de

conectores que assentam na mesma tecnologia de conexao. Neste caso a tecnologia web ser-

vice e utilizada em dois componentes. Diferentes sistemas externos disponibilizam contratos de

interaccao distintos apesar da tecnologia de web services manter-se.

Figura 4.6: Generalizacao dos Conectores.

40

Page 65: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A figura 4.7 apresenta os artefactos ao estilo de generalizacao. Os artefactos herdam uma

interface que permite de forma generica instanciar qualquer artefacto implementado. Isto per-

mite a aplicacao cliente — neste caso a wiki — instanciar o artefacto em questao. Surgem dois

tipos de artefacto — artefacto atomico e artefacto composto. A diferenca reside na existencia

de um corpo, nos artefactos compostos, que pode ser composto por texto e/ou artefactos.

Figura 4.7: Generalizacao dos Artefactos.

4.3.2 Tipo de Vista Componente e Conector

O tipo de vista componente e conector define modelos que consistem em elementos com

presenca em tempo de execucao e padroes de interaccao entre esses elementos (Clements et al.

2002). Deste modo o tipo de vista oferece uma imagem das entidades de execucao e potenciais

interaccoes entre si.

No estilo repositorio (shared-data), o padrao de interaccao e dominado pela troca de dados

persistentes. Os dados sao consumidos e produzidos por varios componentes e existe pelo menos

um repositorio que retem os dados de forma persistente.

41

Page 66: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Um requisito fundamental na plataforma emergente e a sua capacidade de transferir in-

formacao dos sistemas externos para a plataforma e vice-versa. Adicionalmente, a obtencao

de dados e da responsabilidade dos componentes consumidores — e nao, da base de dados de

informar os consumidores da existencia de dados. Logo, o estilo repositorio surge com evidencia

na arquitectura da plataforma emergente. A figura 4.8 concretiza esse estilo.

Figura 4.8: Vista Componente e Conector — Repositorio de Dados.

Por um lado, surgem componentes que sao executados num cliente browser. Esses compo-

nentes comunicam com outros, que se executam em servidores, atraves de RPC sobre HTTP.

O componente artefacto consome e produz dados de acordo com as operacoes realizadas pelos

utilizadores. O componente de configuracao produz o objecto de configuracao e comunica com

o motor de importacao e exportacao de forma a configura-lo para a sua execucao.

Por outro lado, surgem componentes que sao executados em servidores. A este nıvel existem

quatro componentes. Um dos componentes sao os sistemas externos que mantem de forma

persistente dados maioritariamente prescritos. A transferencia de dados entre estes sistemas e a

plataforma e concretizada pelo componente motor de importacao e exportacao. Este componente

comunica com os sistemas externos atraves de ficheiros (comunicacao baseada em ficheiros) e

de web services. Se de um lado estao os sistemas externos na outra ponta tem de estar um

repositorio que suporte a persistencia na plataforma de dados maioritariamente emergentes.

Esse repositorio, tambem apresentado na figura, guarda os dados segundo a definicao de tipos

declarada pelos utilizadores e pode ser concretizado por um motor de base de dados. Contudo,

tanto os artefactos como o motor de importacao e exportacao nao comunicam directamente com

o repositorio. Existe um componente designado por dados que comporta a API de domınio

escondendo particularidades do domınio e da comunicacao realizada por SQL com o repositorio.

O componente motor e componente artefacto comunicam com esta API atraves de RPC.

42

Page 67: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

4.4 Sumario

A solucao e a arquitectura de software foram apresentados neste capıtulo. Artefactos, dados

e importacao/exportacao foram os principais conceitos apontados desde a visao geral da solucao

e surgiram nos atributos de qualidade e posteriormente na arquitectura de software. Na arqui-

tectura de software foram apresentados os estilos de decomposicao, utilizacao e generalizacao do

tipo de vista modulo onde foram identificados os modulos e as suas responsabilidades. O facto

da necessidade da plataforma emergente comunicar com sistemas externos e da plataforma se

tratar de uma aplicacao web levou a apresentacao do tipo de vista componente e conector de

forma a explicar a comunicacao entre os componentes e de que forma e realizada. Em resumo,

a tabela 4.2 relaciona os atributos de qualidade com os modulos e componentes arquitecturais.

Atributos de Qualidade Módulos e Componentes Arquitecturais

Facilidade Modificação Artefactos (modificar estado interno dos artefactos)

Módulo: Artefactos (estilo decomposição) Componente: Artefacto

Facilidade Modificação Dados (adicionar, modificar e eliminar informação)

Módulo: Dados Componente: Repositório

Facilidade Modificação Tipo de Dados (definir ou redefinir tipos de dados)

Módulos: Tipo de Dados e Configuração Tipo de Dados

Facilidade Modificação Conectores (desenvolvimento de novos conectores)

Módulos: Conector (estilo decomposição e generalização)

Interoperabilidade com Fontes Externas de Dados

Módulos: Importação, Exportação, Conector e Configuração Fonte de Dados (estilo decomposição) Fonte de Dados (estilo utilização) Componentes: Motor Importação/Exportação e Configuração Importação/Exportação

Facilidade Utilização Artefactos Módulo: Artefactos (estilo generalização)

Facilidade Utilização Dados (operações sobre dados)

Módulos: Operações e Instanciação de Dados Componentes: Dados (API Domínio)

Tabela 4.2: Relacao entre os atributos de qualidade e os modulos e componentes arquitecturais.

43

Page 68: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

44

Page 69: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

5Implementa�c~ao

Neste capıtulo, um prototipo e desenvolvido de acordo com o modelo de implementacao e

a arquitectura de software descritos no capıtulo anterior. Primeiro, apresenta-se as principais

tecnologias usadas no desenvolvimento, em particular a wiki que e objecto de extensao. Essa

extensao aumenta o poder da wiki no suporte aos aspectos emergentes desenvolvendo assim

uma plataforma emergente. Finalmente descreve-se o resultado da implementacao, nomeada-

mente os artefactos implementadas, o modo como os dados e suas estruturas sao suportadas e

a transferencia de dados entre a plataforma e os sistemas externos.

5.1 Tecnologia

Esta seccao apresenta as tecnologias usadas no desenvolvimento do prototipo. Para alem

da base de dados MySQL e o contentor de servlets usado — o Jetty —, duas outras tecnologias

sao relevantes mencionar. Primeiro, a XWiki que e objecto de extensao no desenvolvimento

do prototipo e, segundo, o Google Web Toolkit acompanhado pela biblioteca de widgets Smart

GWT.

5.1.1 XWiki

A XWiki autotitula-se como uma wiki de segunda geracao, ou seja, uma plataforma para

o desenvolvimento de aplicacoes web colaborativas usando o paradigma wiki. A motivacao que

levou ao desenvolvimento da XWiki esta alinhada com o objectivo inicial desta dissertacao. O

facto de muitas aplicacoes ad hoc serem desenvolvidas usando ferramentas, muitas das vezes

desadequadas, como o Microsoft Excel, serviu de base ao desenvolvimento de uma plataforma

Page 70: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

que suportasse aplicacoes que, devido a sua natureza, demoram tempo e alavancam custos

onerosos num processo de desenvolvimento standard.

Para alem das funcionalidades que qualquer wiki oferece, a XWiki apresenta funcionalidades

cuja existencia e importante numa plataforma emergente. Destacam-se quatro aspectos funcio-

nais: (i) editor grafico WYSIWYG, (ii) processo de importacao de documentos office, (iii) gestao

de objectos, classes e propriedades e (iv) caracterıstica programavel da wiki em geral.

O editor grafico WYSIWYG permite alterar o conteudo de um documento atraves de um

editor grafico e obtendo de imediato o resultado final. Torna-se relevante pois o conteudo pode

incluir artefactos cuja edicao e suportada de igual modo. A figura 5.1 apresenta o menu do editor

grafico. O menu permite inserir os artefactos atraves do botao macros — que alias e o conceito

usado na XWiki para artefacto. Junto surgem botoes para inserir cada um dos artefactos mais

comuns. Este editor e objecto de extensao ao incluir mais botoes para facilitar a insercao de

artefactos desenvolvidos no ambito da dissertacao.

Figura 5.1: Menu do editor grafico.

O processo de importacao de documentos office permite converter o conteudo de documentos,

folhas de calculo e apresentacoes em paginas wiki. Os utilizadores evitam a curva de aprendiza-

gem associada a sintaxe wiki e torna-se possıvel integrar suavemente na plataforma emergente

as praticas de trabalho que anteriormente interagiam com as suites de produtividade enquanto

sistemas emergentes.

A XWiki permite ao utilizador gerir os conceitos objectos, classes e propriedades que sao

similares aos da programacao com objectos. Esta funcionalidade torna-se relevante pois a inte-

raccao e ciclo de vida destes conceitos esta orientada ao utilizador, ou seja, e possıvel manipula-

los atraves da interface de apresentacao e surgem no contexto de uma pagina wiki. Ao oferecer

conceitos onde e possıvel criar um modelo de dados permite desenvolver sistemas emergentes

mais complexos com necessidades de persistencia de informacao.

O ultimo aspecto a mencionar e a vertente programavel que surge na XWiki num modo

geral. Permite criar aplicacoes basicas ou complexas na propria camada de apresentacao sem

necessidade de compilar e instalar componentes desenvolvidas. Por outras palavras, pode-se usar

sintaxes de scripting em conjunto com sintaxes wiki ou HTML. A XWiki oferece a possibilidade

46

Page 71: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

de usar as sintaxes de scripting — velocity e groovy — acompanhadas por uma API que expoe

funcionalidades como a manipulacao de objectos e classes.

Apos apresentar aspectos funcionais, sao apresentados quatro aspectos arquitecturais da

XWiki.

O primeiro aspecto arquitectural potencia a extensibilidade da XWiki. A sua arquitectura e

baseada no desenvolvimento baseado em modulos1. Existe um gestor de modulos que instancia os

modulos e gere as dependencias entre modulos que sao satisfeitas apenas em tempo de execucao.

O gestor escolhe a implementacao de cada modulo para satisfazer a dependencia de um outro.

Quando se pretende estender a wiki e possıvel registar junto do gestor modulos com novas

funcionalidades e/ou implementacoes que substituem a implementacao por defeito.

O segundo aspecto e relacionado com um modulo especıfico — o modulo de renderizacao. A

figura 5.2 mostra como uma entrada com conceitos wiki sao transformados e renderizados num

formato de saıda. O parser gera um objecto XDOM que representa blocos estruturados dos

conceitos da entrada. A saıda e gerada atraves do renderer que transforma o objecto XDOM

num formato especıfico. Opcionalmente, podem ocorrer transformacoes sobre alguns blocos que

surgem no objecto XDOM. Uma transformada importante e a transformacao de definicoes de

macro em blocos XDOM que possam ser renderizados. Por exemplo, uma macro que insere um

artefacto com determinada configuracao e transformado num bloco HTML que insere a interface

de utilizador do respectivo artefacto.

Figura 5.2: Modelo de renderizacao da XWiki.

1Na literatura, o nome usado para este conceito e componente e nao modulo e surge no contexto da engenhariade software baseada por componentes. Contudo, o conceito componente surge aqui com um significado bastantediferente do conceito com o mesmo nome usado na arquitectura de software. Decidiu-se usar o nome modulo nocorpo da dissertacao para evitar confusoes ao leitor.

47

Page 72: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

O terceiro aspecto explica como os pedidos HTTP sao lidados. A figura 5.3 apresenta os

passos durante um pedido HTTP.

Figura 5.3: Modelo de tratamento de pedidos HTTP da XWiki.

O quarto aspecto menciona os modelos de extensao. Tornam-se relevantes porque a XWiki

e objecto de extensao durante o desenvolvimento da plataforma emergente. A wiki pode ser

estendida atraves de:

• Desenvolvimento de scripts em paginas wiki;

• Desenvolvimento de aplicacoes (conjunto de paginas wiki com uma logica aplicacional);

• Desenvolvimento de modulos em JAVA que fornecam conjunto de servicos coerente;

• Desenvolvimento de skins ou estendendo ja existentes;

• Extensao de APIs existentes quando estas fornecem ponto de extensao documentados;

• Extensao e configuracao do editor grafico WYSIWYG.

Em suma a XWiki segue o mesmo princıpio que o desta dissertacao — oferecer uma plata-

forma emergente que permita aos utilizadores criarem facilmente aplicacoes de acordo com as

suas necessidades. Apos mencionar-se o grau de extensibilidade e os quatro aspectos relevantes

desta wiki no contexto dos sistemas emergentes fica estabelecido um ponto de situacao da wiki

e o potencial de extensao para o desenvolvimento de um prototipo em conformidade com os

requisitos levantados no capıtulo anterior.

5.1.2 Google Web Toolkit e Smart GWT

Google Web Toolkit (GWT) e um toolkit de desenvolvimento para a construcao de aplicacoes

web, ou seja, fornece uma biblioteca de widgets e paineis para a construcao de interface graficas

48

Page 73: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

web. O seu principal objectivo e permitir o desenvolvimento produtivo de aplicacoes web sem

a necessidade de conhecer javascript, ajax e particularidades de cada browser. APIs e widgets

JAVA sao usados no desenvolvimento que posteriormente sao traduzidos em codigo fonte javas-

cript optimizado para cada um dos browsers mais usados nao precisando, por isso, de qualquer

plugin JRE2. O pacote relacionado com o codigo servidor e compilado e executado na maquina

virtual java.

Em GWT, um widget e uma entidade que abstrai programaticamente um elemento de

interface web oferecendo uma API para controla-lo. Um painel e um widget que se foca no

layout grafico da interface. A biblioteca Smart GWT oferece um conjunto rico de widgets mais

avancados que o proprio GWT, como por exemplo, formularios, tabelas, menus e tabs.

Em suma, o desenvolvimento de aplicacoes web — como a plataforma emergente — consome

bastantes recursos e tempo. Adicionalmente, a plataforma emergente, como aplicacao colabora-

tiva que e, funciona melhor com tecnologia AJAX o que torna o seu desenvolvimento dificultado.

Concluindo, o GWT e a biblioteca widgets Smart GWT sao usados no desenvolvimento da pla-

taforma. Em particular e usada esta tecnologia no editor grafico da XWiki, no artefacto pilha e

na interface grafica da configuracao dos conectores e os processos de importacao e exportacao.

5.2 Implementacao

Apos mencionar as tecnologias mais relevantes, podem ser apresentados os detalhes tecnicos

de implementacao. A seccao divide-se em tres partes: artefactos, dados e a transferencia de

dados. Cada parte esta alinhada com um dos tres modulos resultantes do primeiro nıvel de

decomposicao durante o desenho da arquitectura. Portanto, nesta seccao sao explicados os

detalhes tecnicos e as decisoes de desenho durante a implementacao.

5.2.1 Artefactos

Os artefactos permitem aos utilizadores interagirem e trabalharem na wiki usando mais do

que texto formatado. Estes artefactos aperfeicoam algum aspecto a forma de comunicar ou

trabalhar.

49

Page 74: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Ao nıvel do desenho, os artefactos tem tres partes principais: (i) interface de utilizador, (ii)

macro para instancia-los e (iii) domınio para o seu estado.

A primeira parte engloba a interface de utilizador e o modelo de interaccao que o artefacto

faculta. O modelo de interaccao divide-se em visualizacao e edicao in-line. Consoante o modelo

de interaccao e activado ou desactivado no artefacto funcionalidades de navegacao e/ou edicao.

Como os artefactos correm num browser sao implementados usando exclusivamente HTML e

javascript ou, em alternativa, a tecnologia GWT apresentada anteriormente.

A segunda parte permite instanciar o artefacto dentro de um documento. As macros sao

um conceito usado na arquitectura de renderizacao da XWiki. Usando a sintaxe propria da wiki

pode-se inserir em qualquer documento um bloco de texto que corresponde a uma macro. No

momento da renderizacao cada macro e transformada em HTML e javascript — neste caso, e

injectado o codigo do artefacto e respectiva configuracao.

A terceira parte e um domınio para manter o objecto artefacto. O objecto artefacto e a

interface do artefacto sao desacoplados. Por exemplo, uma entidade pilha existe por si indepen-

dentemente do documento onde esta e visualizada. A entidade pilha pode ser visualizada em

qualquer documento bastando para isso instanciar e configurar a interface para a entidade em

particular. O domınio e mantido pelo modulo dados e nao surge em todos os tipos de artefacto.

Explicado as partes principais, a tabela 5.1 concretiza-as para cada artefacto da plataforma.

Artefacto Interface Utilizador – Funcionalidades

Macros Domínio Visualização Edição in-line

Documento Visualizar conteúdo

Habilitar modo de edição in-line dos artefactos embutidos no documento (Modificação do conteúdo através de

modo de edição normal)

― Conteúdo

(texto e artefactos)

Área de Trabalho

Visualizar artefactos posicionados

Inserir, eliminar e reposicionar artefactos ao arrastar e largar

― Configuração e posição

de cada artefacto

Painel Visualizar e esconder

painéis com artefactos ― ―

Configuração e posição de cada painel

Pilha de Documentos

Visualizar topo da pilha Navegar na pilha do topo para o fundo e vice-versa Clique sobre documento

para visualizá-lo

Inserir, eliminar e reordenar documentos

Nome da macro: • pilha Parâmetros: • página da pilha

• índice da pilha

Lista sequencial de documentos

Post-It Visualizar conteúdo ― Nome da macro: • post-it Parâmetros: • conteúdo a apresentar

Referência Visualizar valor do

atributo referenciado Modificar valor do

atributo referenciado

Nome da macro: • referencia Parâmetros: • página do objecto

• índice do objecto • atributo do objecto

Dado e Atributo

Anotação Visualizar, inserir e eliminar anotações do documento

― ― Texto alvo de anotação Conteúdo da anotação

Tag Visualizar, inserir e eliminar

tags do documento ― ― Nome da tag

Tabela 5.1: Aspectos tecnicos e funcionais dos artefactos da plataforma emergente.

50

Page 75: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A figura 5.4 ilustra a area de trabalho da plataforma emergente. Nela surgem post-its, pilha

de documentos e outros conteudos que pertencem a XWiki mas cuja utilidade para suportar a

emergencia nao foi estudada. No lado direito e possıvel deslumbrar tres paineis que estao sempre

visıveis ao longo da navegacao na plataforma.

Figura 5.4: Area de trabalho com post-its, pilhas de documentos e paineis.

5.2.2 Dados

A informacao tem um lugar destacado no desenho da plataforma emergente. Ao contrario

do que ocorre em outros sistemas de informacao, a definicao de novos dados e controlada pelo

utilizador em tempo de execucao — tal como relevado nos atributos de qualidade — e nao pelo

programador durante o desenvolvimento. Deste modo, e necessario definir um meta-modelo

capaz de suportar um modelo de dados construıdo ao longo do tempo durante a execucao da

plataforma emergente.

Dados e o conceito utilizado para referir todos os mecanismos e funcionalidades utilizados

para definir e operar sobre informacao emergente e prescrita. O modelo de domınio da XWiki

possui um meta-modelo que suporta, para alem de outros, dois aspectos fundamentais do ponto

de vista do problema: o suporte na definicao de entidades com atributos, tambem designados por

51

Page 76: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

classes, e a relacao entre entidades, tambem conhecida por ligacao. O estado de maturidade do

meta-modelo e as funcionalidades na criacao e definicao de novas entidades atraves de interfaces

de utilizador sao os aspectos fortes que levaram a escolha da XWiki como wiki base.

No que toca a este assunto, elevam-se quatro temas que sao discutidos de seguida. Os quatro

temas estao alinhados com o resultado da decomposicao do modulo dados: (i) tipo de dados,

(ii) interface configuracao tipo de dados, (iii) operacoes sobre dados, (iv) adicao de referencias

para atributos e dados em documentos wiki.

Em relacao ao tipo de dados, a figura 5.5 apresenta o diagrama entidade-relacao do meta-

modelo da XWiki. O conceito dados da plataforma emergente e guardado na entidade BaseOb-

ject e associado a um documento wiki. Apesar da chave primaria ser um identificador numerico,

e possıvel identificar inequivocamente cada dado atraves do respectivo tipo de dados (atributo

classname) e da posicao (atributo number) que ocupa dentro de um documento. Dito de outra

forma, dentro de um documento existe, para cada tipo de dados, um conjunto sequencial de

dados desse tipo. No que se refere aos valores das propriedades, o conceito ISA no diagrama

permite que os valores de cada propriedade sejam tipificados. Um tipo diferenciador neste

meta-modelo e a lista de itens que permite modelar ligacoes entre dados.

Figura 5.5: Diagrama entidade-relacao do meta-modelo.

52

Page 77: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A definicao do tipo de dados e mantido no atributo class xml da entidade XWikiDocument

em formato XML e consequentemente so existe um tipo de dados por documento. Alias, o espaco

de nomes dos tipos e partilhado com o espaco de nomes dos documentos. Uma propriedade

importante deste meta-modelo e a separacao entre a definicao de tipo de dados e a instanciacao

dos dados. Essa desuniao relaxa restricoes que dificultariam a gestao aquando da redefinicao de

tipo de dados. Neste caso e possıvel acrescentar ou retirar atributos ao tipo sem afectar os dados

existentes — apenas ficam inconsistentes com a nova definicao. Apesar de tudo o verificador

apresenta ao utilizador essas inconsistencias dando-lhe o controlo do que pretende fazer com

esses dados inconsistentes.

Explicado o meta-modelo com suporte para a modelacao em tempo de execucao de tipos

de dados e ligacoes entre tipos, e importante que o utilizador possa configurar o domınio de

acordo com as suas necessidades atraves de uma interface grafica. A figura 5.6 apresenta essa

interface onde e possıvel adicionar, remover, reordenar e configurar atributos. O utilizador tem

a responsabilidade de configurar, para alem dos atributos tipificados da entidade ditos normais,

em primeiro os atributos de identidade para que sejam usados nos momentos de importacao e

exportacao de modo a manter a propriedade de rastreabilidade entre as entidades dos sistemas

externos e as da plataforma emergente, e em segundo os tres atributos do tipo de data para

manterem os momentos da ultima modificacao, importacao e exportacao.

Figura 5.6: Configuracao de tipo de dados.

53

Page 78: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Em relacao as operacoes sobre dados, e relevante referir as duas interfaces que o permitem:

interface de utilizador e interface programatica. A plataforma emergente permite inserir, editar

e remover entidades alojadas em qualquer documento xwiki atraves de uma interface grafica.

Quando se pretende inserir ou editar uma entidade, e usado o formulario com uma entrada

para cada atributo de acordo com o tipo de dados definido e escolhido previamente. Por isso,

a plataforma emergente permite nao so importar e exportar dados como tambem gerir o seu

ciclo de vida. A interface programatica permite efectuar as mesmas operacoes mas neste caso

oferecendo uma API. Essa API e exposta internamente como um modulo reutilizavel por outros

modulos e externamente como um servico que responde a pedidos remotos (RPC).

Em relacao as referencias de atributos, existe uma extensao ao editor WYSIWYG da XWiki.

Essa extensao permite escolher um tipo de dados e navegar pelas instancias incluindo as relacoes

entre dados. Durante essa navegacao existe a possibilidade de escolher os atributos a inserir no

documento. Esses atributos sao inseridos no documento atraves do artefacto referencia explicado

anteriormente.

5.2.3 Importacao, Exportacao e Conectores

O processo de transferencia de dados permite importar e exportar dos sistemas externos

para a plataforma emergente e vice-versa. Nesta seccao sao detalhados dois aspectos: o motor

de execucao e a interface de configuracao do processo.

Em relacao ao motor de execucao, os dados sao sucessivamente transformados ate, no caso

da exportacao, saırem da plataforma emergente e resultarem num ficheiro ou numa chamada a

um web service ou ate, no caso da importacao, serem persistidos internamente.

O modo de funcionamento de ferramentas aplicacionais de extraccao, transformacao e carre-

gamento de dados (ETL) e ainda de servicos similares ao Microsoft Integration Services baseia-se

num estilo de canais e filtros que transformam dados. No respeitante a plataforma emergente,

uma das principais funcionalidades e o mecanismo de importacao e exportacao de dados e por

isso mesmo, surgem na vista modulo dois elementos principais — modulo transferencia de da-

dos e modulo conectores. Em conjunto, os dois modulos sao responsaveis pela transformacao

bidireccional entre dados externos e dados internos. A interaccao entre si segue o estilo canais e

filtros tal como a figura 5.7 sugere. Durante a importacao de dados, o conector e responsavel por

54

Page 79: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

obter os dados oriundos de sistemas externos e entrega-los segundo um formato preestabelecido

ao modulo de importacao. Por outro lado, durante a exportacao de dados, o conector recebe

os dados provenientes do modulo exportacao e concretiza-os em dados externos. O formato

preestabelecido e apenas uma coleccao de valores que representam os varios atributos do dado.

Figura 5.7: Interaccao do Conector com a Importacao e Exportacao.

Em detalhe, tanto no processo de importacao como o de exportacao, os dados sofrem um

conjunto de transformacoes. As transformacoes dependentes da ligacao aos dados externos

ocorrem no respectivo conector do qual dependem, enquanto as independentes ocorrem na im-

portacao/exportacao. A figura 5.8 detalha as transformacoes durante a importacao de um fi-

cheiro CSV.

Figura 5.8: Interaccao entre modulos durante a importacao de um ficheiro CSV.

O primeiro modulo e uma fonte de dados, o ultimo modulo e um destino ou consumidor de

dados e os restantes modulos servem de filtros para transformar dados. O modulo leitura de

ficheiro obtem linhas de um ficheiro CSV que sao posteriormente filtradas pelo modulo seguinte

— o modulo seleccao de linhas. As linhas de texto seleccionadas sao entregues ao modulo parsing

que desagrega a linha nos varios valores que a compoem e gera o formato preestabelecido. Estes

tres primeiros modulos fazem parte do modulo conector. Os tres modulos seguintes fazem parte

da importacao e por isso sao independentes do tipo de ligacao. O modulo transformacao de

atributos transforma a coleccao de valores em varias dimensoes: (i) tipifica cada valor, (ii)

agrega varios valores num so atributo, (iii) desagrega um valor em varios atributos segundo uma

expressao regular e (iv) deriva um novo valor segundo uma expressao. Os atributos tipificados

55

Page 80: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

sao mapeados, de acordo com a configuracao aplicada, nos respectivos atributos de um objecto

interno de dados atraves do modulo mapeamento. Cada um desses objectos e persistindo de

seguida pelo modulo carregamento.

A figura 5.9 detalha as transformacoes durante a exportacao para um ficheiro CSV.

Figura 5.9: Interaccao entre modulos durante a exportacao para um ficheiro CSV.

O modulo colectar entidades selecciona os dados que sao alvo de exportacao de acordo com

a configuracao do utilizador. Os atributos de cada dado seleccionado sao transformados pelo

modulo transformacao de atributos tal como acontece na importacao mas neste caso num estilo

inverso — se na importacao desagregou-se valores, na exportacao esses dados sao potencialmente

agregados. Posteriormente os atributos sao mapeados, pelo modulo mapeamento, numa estrutura

generica que e trocada entre a importacao/exportacao e os conectores. Estes tres modulos fazem

parte da exportacao e por isso sao independentes do tipo de ligacao (conector). Os modulos que

fazem parte do conector sao o modulo producao de linhas que transforma a estrutura generica

num cadeia de caracteres representando uma linha com os valores separados por um delimitador

e o modulo escrita de linhas que escreve as linhas para um ficheiro de texto CSV.

Em relacao a interface de configuracao, existem igualmente duas partes — uma primeira

parte para escolher e configurar o conector e uma segunda parte para configurar o processo de

importacao/exportacao. Cada um dos modulos referidos anteriormente necessita de ser configu-

rado atraves da interface de utilizador que e exemplificada com varias figuras diferenciando os

casos de importacao e exportacao.

Antes de tudo, e necessario escolher o conector e configurar as suas particularidades. A

figura 5.10 mostra a interface de utilizador para a configuracao do conector “Ficheiro CSV”

cujas colunas sao delimitadas por um caracter. Em ambos os cenarios, e necessario escolher

o delimitador que separa as colunas no ficheiro. Adicionalmente e apenas na importacao —

figura 5.10a — e necessario escolher o ficheiro que contem os dados e opcionalmente escolher o

numero das linhas a ignorar aquando da importacao.

56

Page 81: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

(a) Importacao (b) Exportacao

Figura 5.10: Configuracao do conector.

Apos o conector ser configurado, e o momento de configurar o processo de transferencia

atraves da interface de utilizador apresentada na figura 5.11. As propriedades de configurar sao:

(i) o tipo de dados previamente configurado na plataforma, (ii) a pagina que aloja as entidades,

(iii) a estrategia de transferencia que e explicada no proximo paragrafo, (iv) o nome do atributo

correspondente a data da ultima modificacao da entidade, (v) o nome do atributo correspondente

a data da ultima importacao da entidade e (vi) o nome do atributo correspondente a data da

ultima exportacao da entidade.

(a) Importacao (b) Exportacao

Figura 5.11: Configuracao da transferencia.

Apesar de muito similar, esta parte da configuracao apenas varia na estrategia de trans-

ferencia. A importacao possui um conjunto de estrategias — figura 5.12a — diferente as es-

trategias de exportacao — figura 5.12b. Em ambos os casos a estrategia de importacao esta

dependente da data da ultima importacao ou exportacao face a data da ultima modificacao

interna realizada sobre a entidade na plataforma emergente.

57

Page 82: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

(a) Importacao (b) Exportacao

Figura 5.12: Configuracao da estrategia de transferencia.

Por fim, a configuracao fica completa com o mapeamento entre os atributos da estrutura

interna e a sequencia de valores no formato externo — neste caso, a sequencia de colunas do

ficheiro CSV. Mais uma vez surgem diferentes entre o processo de importacao e o de exportacao

tal como apresentado na figura 5.13. Na exportacao e suficiente escolher a sequencia de atributos

a exportar. No entanto, a configuracao e mais complexa na importacao. E necessario indicar: (i)

os atributos de identidade de servem para identificar durante a importacao se dois objectos sao

a mesma entidade, (ii) o mapeamento entre um valor externo e o atributo da estrutura interna

aplicando uma transformada durante a importacao. Existem dois tipos de transformadas: uma

para formatar o valor externo no respectivo tipo de dados para o qual o atributo esta configurado,

e outra para obter uma referencia para uma entidade existente na plataforma. Esta ultima

possibilita concretizar as ligacoes entre diferentes tipos de dados.

(a) Importacao

(b) Exportacao

Figura 5.13: Configuracao do mapeamento.

58

Page 83: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

5.3 Sumario

Neste capıtulo, apresentou-se as principais funcionalidades da XWiki que sao uteis numa

plataforma emergente. Desta forma, alguns modulos e componentes arquitecturais foram im-

plementados com recurso a funcionalidades implementadas na XWiki. Apesar de tudo, outras

funcionalidades importantes numa plataforma emergente nao estao implementadas na XWiki.

Assim, a XWiki nao e suficiente mas serve de base para o desenvolvimento da plataforma emer-

gente. As decisoes de desenho e os detalhes tecnicos da implementacao dessa plataforma sao

descritos passando pelos tres conceitos gerais: artefactos, dados e processos de importacao e

exportacao.

A tabela 5.2 relaciona as funcionalidades da XWiki com os modulos e componentes arqui-

tecturais onde foram usadas. Dado que a XWiki possui um meta-domınio e um conjunto de

metodos para operar sobre esse meta-domınio, as funcionalidades mais usadas referem-se aos

conceitos de objecto, classe e propriedades.

Módulos e Componentes Arquitecturais Funcionalidades XWiki reutilizadas

1. Artefactos Macros Editor gráfico WYSIWYG para inserção de macros Renderização

2. Dados 2.2 Tipo de Dados Componente Repositório

Gestão de objectos, classes e propriedades

2.1 Operações 2.1.1 Instanciação de Dados

Operações (CRUD) sobre objectos através de interface de utilizador

2.3 Configuração Tipo de Dados Definição de classes e propriedades através de interface de utilizador

3.2.2.2 Carregamento (na importação) 3.2.3.1 Colecta Dados (na exportação) Componente Dados (API Domínio)

API – operações sobre objectos, classes e propriedades

Tabela 5.2: Funcionalidades XWiki usadas para a implementacao de alguns modulos e compo-nentes arquitecturais.

59

Page 84: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

60

Page 85: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

6Valida�c~ao

A validacao e feita atraves da configuracao e utilizacao da plataforma emergente de modo

a suportar o cenario descrito na seccao 3.2. O cenario divide-se em tres situacoes, cada uma

relacionada com um dos tres desafios principais que levam ao aparecimento de sistemas emer-

gentes. As tres situacoes sao: (i) relembrar de tarefas, (ii) priorizar tarefas e (iii) relembrar de

informacao. O cenario descreve como os utilizadores e sistemas emergentes interagem sem a

plataforma emergente. Este capıtulo de validacao descreve passo a passo como os mesmos utili-

zadores podem utilizar a plataforma emergente para suportar os tres principais desafios. Assim,

o modelo de implementacao proposto no capıtulo anterior e validado atraves da simulacao do

cenario.

6.1 Configuracao do ambiente na plataforma emergente

Antes de validar a plataforma e necessario configurar o ambiente para a simulacao do cenario.

O ambiente e concretizado por um pacote pre-configurado constituıdo por documentos, classes

e objectos. O pacote e importado atraves do espaco de administracao da plataforma. O pacote

e portanto constituıdo por tres conjuntos:

• MTEL – Area de trabalho com exemplos relacionados com o caso de estudo para demons-

trar o potencial da wiki enquanto plataforma emergente;

• WsieClasses – Conjunto de paginas relacionadas com as duas classes exemplo: cliente e

oportunidade de venda;

• WsieCode – Conjunto de paginas relacionadas com parte da implementacao, nomeada-

mente as macros de referencia, pilha e post-it e classes de suporte aos artefactos.

Page 86: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

6.2 Validacao das situacoes

Uma vez configurado o ambiente segue a validacao de cada uma das situacoes. Em cada

seccao e descrita a utilizacao passo a passo da plataforma emergente acompanhada pela enu-

meracao das funcionalidades relevantes para cada situacao.

6.2.1 Situacao A – relembrar de tarefas

O Duarte recebe um email do cliente Supermercados, Lda. com pedido de orcamento para

um conjunto de perifericos e que deve enviar ainda nesse mesmo dia. Como nao e possıvel

efectuar essa tarefa no momento, necessita de registar a tarefa pendente de modo a relembra-lo

mais tarde. Antecipadamente sabe que aquele orcamento vai atingir o tal limite imposto ao

departamento e por isso evita usar o sistema prescrito para registar a tarefa pendente. Sendo

assim opta por usar o sistema emergente.

Desta forma, abre o sistema emergente e caso ainda nao o tenha feito autentica-se junto

da plataforma. Paginas e areas de trabalho apenas estao acessıveis a utilizadores autenticados

com permissao para tal. Assegura-se assim a privacidade da informacao controlada — um dos

objectivos dos utilizadores no uso da plataforma.

De seguida abre a area de trabalho MTEL e cria uma nova pagina carregando no botao

adicionar. A pagina fica hierarquicamente dentro da area de trabalho referida. Copia o conteudo

do email contendo os perifericos para a pagina — figura 6.1 — e guarda-a com o mesmo tıtulo

que o do email. Assim o tıtulo torna-se uma referencia implıcita de ligacao entre esta pagina e

o email em particular.

Apos guardar a pagina, Duarte pretende inseri-la na pilha da area de trabalho de modo a

nao se esquecer da existencia do pedido de orcamento. A pilha da area de trabalho contem os

pedidos por tratar. Por isso mesmo, ainda no contexto da pagina recentemente criada e atraves

das funcionalidades estendidas no painel, escolhe a pilha com o respectivo tıtulo e carrega no

botao adicionar. A pagina visualizada e entao inserida no topo da pilha.

Duarte pretende ainda adicionar na pilha o precario de modo a facilitar a elaboracao do

orcamento quando voltar a este tema mais tarde. Na wiki existe uma pagina com essa informacao

mas, ao contrario do que foi feito quando se inseriu a ultima pagina na pilha, Duarte nao tem

62

Page 87: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

aberto o precario mas sim a area de trabalho. Neste caso opta por uma estrategia diferente.

Reabre a area de trabalho no modo de edicao in-line. Nesse modo e possıvel editar os artefactos

existentes e as suas posicoes na area de trabalho. Usa, neste caso, o modo edicao da pilha,

cuja interface grafica esta representada na figura 6.2, para inserir a pagina recentemente criada.

Escreve o nome da pagina com a ajuda das sugestoes que surgem ao escrever as primeiras letras

e carrega no botao adicionar. Guarda as alteracoes na pilha saindo do modo de edicao. O

resultado e uma pilha com mais um documento no topo tal como apresentado na figura 6.3.

Figura 6.1: Escrita de uma nova pagina usando o editor grafico WYSIWYG preenchendo hie-rarquia, tıtulo, corpo e sumario da versao.

Figura 6.2: Modo de edicao in-line do artefacto pilha.

Figura 6.3: Artefacto pilha.

63

Page 88: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Entretanto Duarte recebe um telefonema do mesmo cliente a perguntar acerca da encomenda

realizada na semana passada. Como o Duarte precisa de averiguar o porque do atraso necessita

de perguntar telefonicamente ao departamento de aprovisionamento. Assim, cria um novo post-it

para representar a tarefa. Abre o modo de edicao in-line da area de trabalho e carrega do botao

adicionar artefacto (gadget) tal como representado na figura 6.4. Selecciona o tipo de artefacto

post-it e apos escrever o seu conteudo insere-o na area de trabalho carregando botao inserir tal

como mostrado na figura 6.5. O resultado e um post-it — figura 6.6 — que e reposicionado

de acordo com as necessidades do Duarte. Por fim, fecha o modo de edicao in-line da area de

trabalho.

Figura 6.4: Botoes de adicao de artefactos e colunas na area de trabalho durante o seu modo deedicao in-line.

Figura 6.5: Adicao de um post-it escrevendo o conteudo e opcionalmente um tıtulo.

Figura 6.6: Artefacto post-it.

64

Page 89: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

6.2.2 Situacao B – priorizar tarefas

Duarte possui varios pedidos por cumprir distribuıdos pelos post-its e pilha que posicionou

na area de trabalho. Precisa de decidir rapidamente quais sao os proximos pedidos a cumprir.

Ele sabe que existem pedidos que devem ser tratados ainda nesse mesmo dia dada a importancia

do cliente que os fez.

Decide posicionar os post-its de acordo com a ordem de prioridade — no topo os mais

prioritarios. Para isso, abre a area de trabalho no modo de edicao in-line. Neste modo e

possıvel reposicionar qualquer artefacto incluindo os post-its. Por outro lado, remove da pilha

documentos que, por acumularem-se mesmo apos as respectivas tarefas terem sido concluıdas,

ja nao sao importantes e podem ser retirados. Por isso, como apresentado na figura anterior 6.2,

utiliza as funcionalidades no modo de edicao da pilha: (i) arrastar e largar documentos para

reordena-los dentro da pilha e (ii) remover documentos da pilha. Destaca-se a vantagem imediata

face ao artefacto em formato fısico: os documentos nao precisam de serem arquivados em pastas

porque no formato digital eles mantem varios modelos de organizacao, ou seja, no formato

digital e possıvel colocar o mesmo documento em pilhas diferentes mantendo a sua organizacao

hierarquica. Portanto, no formato digital, basta retirar da pilha os documentos desnecessarios

ao resto do trabalho semanal. No topo surgem documentos relacionados com tarefas mais

prioritarias.

Ao visualizar o primeiro post-it que surge quando abre a area de trabalho, o Duarte ini-

cia uma nova tarefa agora no contexto do cliente Supermercados, Lda. Trata-se dos pedidos

previamente efectuados e descritos na seccao anterior.

6.2.3 Situacao C – relembrar de informacao

Duarte precisa de averiguar o porque do atraso na instalacao dos servicos da ultima en-

comenda. Durante a realizacao da encomenda afixou uma tag nas paginas relacionadas com

essa encomenda. Duarte visualiza a nuvem de tags que surge na area de trabalho tal como e

apresentado na figura 6.7. Ele reconhece quais sao as tags que correspondem a encomendas —

sao as que tem um numero acompanhado pelo ano. Rapidamente encontra a tag respectiva e

selecciona-a abrindo uma lista de paginas com aquela tag afixada. Entre a lista de documentos

— agora menor, pois na pratica foi aplicado um filtro de documentos — encontra o documento

65

Page 90: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

desejado atraves do seu tıtulo. Abre o documento e visualiza o seu conteudo de modo a refrescar

a sua memoria com o ponto de situacao da ultima fez que empenhou-se no tema. Ele verifica

que oito em dez servicos estavam instalados.

Figura 6.7: Nuvem de tags e lista de documentos na area de trabalho MTEL.

Telefona para o departamento responsavel pela instalacao com o objectivo de compreender

o ponto de situacao actual e o porque do atraso na instalacao dos servicos que faltavam. Du-

arte percebe que falta completar a instalacao de tres servicos estando um deles dependente da

actualizacao da morada de instalacao. Assim, actualiza o documento atraves do editor grafico

WYSIWYG com o novo ponto de situacao colocando a verde os servicos instalados, a amarelo

os parcialmente instalados e a vermelho o servico que se encontra dependente da recepcao por

parte do cliente da nova morada. Guarda a pagina. Duarte comunica o ponto de situacao actual

atraves do numero de telefone que foi escrito no post-it quando recebeu a chamada. Pede a nova

morada de instalacao e altera a entidade cliente que surge no documento atraves do artefacto

referencia. Para isso abre a pagina do modo de edicao in-line activando as funcionalidades de

edicao dos artefactos, tal como ilustrado na figura 6.8. Edita na respectiva caixa de texto a

morada e guarda o documento.

Figura 6.8: Modo de edicao in-line numa pagina com referencias. As caixas de texto sao asreferencias prontas a editar.

66

Page 91: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Apos desligar o telefone transfere essa informacao para o sistema prescrito e partilha o

documento ao departamento responsavel pela instalacao. De modo a transferir a nova morada

do local de instalacao, Duarte utiliza o processo de exportacao de informacao da plataforma

emergente. Abre a interface apresentada na figura 6.9 para configurar o processo atraves de um

hiperligacao situada no painel de acesso rapido. Durante a configuracao e necessario indicar: (i)

o tipo de conector, neste caso o sistema prescrito permite importar dados atraves de CSV e por

isso e escolhido o conector para a criacao desse tipo de ficheiros; (ii) configuracoes particulares

desse conector, neste caso o delimitador usado para separar valores; (iii) o tipo de entidade, neste

caso a entidade cliente que para alem de outras propriedades possuiu a propriedade morada;

(iv) a pagina onde as entidades estao instanciadas; (v) a estrategia de exportacao, neste caso

so e necessario exportar as entidades modificadas desde a ultima exportacao; (vi) configuracao

das propriedades de meta-dados, neste caso a configuracao e automatica nao precisando de

alteracoes; (vii) seleccao das propriedades a exportar, neste caso todas excepto as encomendas

associadas ao cliente que, devido a existencia de encomendas fora do ambito do departamento,

nao se pretende que sejam exportadas para o sistema externo dado que vai colocar em causa

a observancia as regras prescritas. Apos carregar no botao submeter obtem-se o ficheiro CSV

de acordo com a configuracao. Posteriormente o Duarte utiliza as funcionalidades prescritas do

sistema externo para importar dados em ficheiros CSV.

Figura 6.9: Exportacao para um ficheiro CSV os clientes modificadas desde ultima exportacao.

67

Page 92: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Duarte elimina o post-it atraves do botao eliminar artefacto que surge no modo de edicao

in-line da area de trabalho. De seguida passa para um outro tema.

Duarte regressa novamente a area de trabalho e visualiza o documento que esta no topo

da pilha fazendo duplo clique sobre a pilha. Trata-se do pedido de encomenda realizado pelo

cliente Supermercados, Lda. Nesse documento e junto de cada periferico referenciado anota os

respectivos precos. Para isso, selecciona o texto referente ao periferico e com uma combinacao

de teclas surge o artefacto anotacao tal como ilustrado na figura 6.10. Nesse artefacto e possıvel

escrever o preco ou qualquer outra informacao. Escreve um novo email de resposta utilizando

como base as anotacoes feitas no documento. E possıvel visualizar todas as anotacoes da pagina

activando a respectiva funcionalidade na propria pagina.

Figura 6.10: Criacao e visualizacao de anotacoes numa pagina.

Para alem disso, Duarte e obrigado em criar no sistema prescrito uma nova oportunidade de

venda descrevendo de um modo geral a oportunidade que teve como base o orcamento pedido.

Assim mantem uma aparente observancia com as regras prescritas, mas Duarte sabe que nao

pode descrever a oportunidade de venda com muito detalhe pois segundo as normas prescritas

este cliente deveria ter sido redireccionado para outro departamento com competencias para

lidar com vendas e oportunidades de vendas daquela dimensao. Contudo, precisa de manter

informacao emergente mais detalhada para o caso do cliente realizar a encomenda.

Duarte decide manter a informacao emergente na propria entidade oportunidade de venda

mas apenas no sistema emergente dado que pretende esconder essa informacao. Para isso, pri-

meiro, precisa de actualizar as entidades oportunidades de venda na plataforma, isto e, transferir

68

Page 93: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

informacao do sistema externo para a plataforma emergente. Um aspecto importante e o facto

da entidade oportunidade de venda possuir uma propriedade emergente adicional que e usada

para manter uma descricao mais detalhada, isto e, a informacao emergente. Naturalmente, essa

propriedade apenas existe no sistema emergente e e preenchida posteriormente. Apos replicar a

oportunidade venda no sistema emergente, esta pode ser inserida atraves do editor grafico em

qualquer documento nomeadamente o documento onde esta o orcamento. A figura 6.11 mos-

tra que, durante a edicao do documento, e possıvel adicionar com duplo clique as propriedades

desejadas da oportunidade venda associadas ao cliente Supermercados, Lda. Por fim, apos o

documento ser guardado, e o momento de editar as propriedades inseridas no documento atraves

do modo de edicao in-line como apresentado anteriormente na figura 6.8.

Figura 6.11: Navegacao na hierarquia de dados e insercao de referencias numa pagina.

Em relacao a importacao de dados e possıvel realiza-la de duas formas: manual ou au-

tomatica. Duarte podia criar manualmente a entidade no sistema emergente — e possıvel. Mas

opta por transferir automaticamente porque existem outras entidades antigas por actualizar no

sistema emergente. Essa importacao e realizada em duas fases1 — primeiro importa as opor-

tunidades de venda e so posteriormente os clientes. A isto deve-se a relacao entre clientes e

oportunidades de venda. Como a entidade cliente e dona da relacao, antes de importar os

clientes, as oportunidades de venda tem de existir de modo a que a relacao seja criada na se-

gunda fase de importacao. O Duarte inicia a configuracao do processo de importacao usando

1Apenas a segunda fase e exemplificada por ser mais complexa. A primeira fase difere no facto da entidadecliente nao possuir referencias ao contrario da entidade oportunidade de venda

69

Page 94: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

para isso a interface propria para o efeito tal como mostra a figura 6.12. mostra a interface de

configuracao onde e necessario indicar: (i) o tipo de conector, neste caso o sistema prescrito

permite exportar dados para CSV e por isso e escolhido o conector para a importacao desse tipo

de ficheiro; (ii) configuracoes particulares desse conector, neste caso o delimitador usado para

separar valores e as linhas a ignorar como por exemplo o cabecalho; (iii) o tipo de entidade, neste

caso a entidade cliente; (iv) a pagina onde as entidades estao instanciadas; (v) a estrategia de

importacao, neste caso sao actualizadas e criadas todas as entidades; (vi) configuracao das pro-

priedades de meta-dados, neste caso a configuracao e automatica nao precisando de alteracoes;

(vii) mapeamento entre o numero da coluna do ficheiro CSV e as propriedades do tipo de enti-

dade escolhido; (viii) indicacao das propriedades que identificam inequivocamente a entidade no

sistema externo, neste caso a propriedade “identificador” e suficiente. Durante a configuracao e

preciso especial atencao para o mapeamento das oportunidades de venda. E necessario obter a

oportunidade que foi previamente importada. Assim, utilizando a janela da figura 6.13 indica a

classe e a pagina onde procurar e as colunas de valores do CSV a utilizar em cada propriedade

para filtrar a oportunidade de venda associada.

Figura 6.12: Importacao a partir de um ficheiro CSV todos os clientes actualizando os importadosanteriormente.

70

Page 95: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura 6.13: Configuracao da referencia no processo de importacao.

Por fim adiciona ao documento o numero de oportunidade e o numero de cliente atraves de

tags tal como mostrado na figura 6.14. Nao e necessario organizar o documento segundo um

sistema de pastas ou dossiers tal como acontecia no cenario, pois as tags sao suficientes para

encontra-lo mais tarde.

Figura 6.14: Adicionar uma tag a um documento.

6.3 Sumario

Neste capıtulo validou-se o modelo de implementacao apresentado no capıtulo 5. Essa

validacao consistiu na simulacao do cenario apresentado na seccao 3.3 usando a plataforma

emergente desenvolvida de acordo com o modelo de implementacao proposto.

Ao longo dos tres desafios, focou-se nos seguintes aspectos:

• Area de trabalho – simula a mesa e o restante espaco de trabalho onde se posiciona

artefactos, tal como acontece na plataforma emergente;

• Pilha – artefacto que contem uma sequencia de documentos onde e possıvel navegar do

topo para o fundo ou vice-versa; e possıvel adicionar, remover e reordenar os documentos

durante a edicao da pilha;

• Tag – afixa-se a pagina um nome relacionado com o conteudo e de acordo com as neces-

sidades do utilizador no que toca a organizacao e procura de informacao;

71

Page 96: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Post-it – artefacto que mostra todo o seu conteudo;

• Anotacao – artefacto que permite anotar informacao extra a qualquer parte do conteudo

numa pagina;

• Referencia – artefacto que mostra o valor de uma propriedade de um objecto em parti-

cular;

• Importacao e Exportacao – processos para a transferencia de dados entre sistemas

externos e plataforma emergente;

• Dados e Tipo de Dados – a plataforma emergente mantem as entidades e tipos de dados

que podem conter propriedades e informacao emergentes;

• Modo de edicao in-line – ao abrir paginas e areas de trabalho neste modo, as funcio-

nalidades de edicao dos artefactos que aı surgem sao activadas;

A transferencia de informacao entre sistemas externos e a plataforma emergente surge neste

cenario com uma importancia acrescida. Essa importancia deve-se ao facto da necessidade

de cumprir com os objectivos e praticas prescritas impostos pela gestao de topo. Contudo a

observancia com essas regras e apenas aparente. Neste caso o Duarte tinha o dever de delegar

a interaccao com o cliente ao departamento responsavel mas preferiu mante-lo. Ao ocultar

certos aspectos relacionado com encomendas e pedidos de orcamento, conseguiu manter o cliente

durante mais alguns meses. Independentemente da situacao prejudicar ou beneficiar o cliente

e/ou a empresa — nao e isso que esta em causa — Duarte pode tirar proveito da situacao para

atingir objectivos impostos pela organizacao sobre o proprio ou a sua equipa.

Assim, surgem necessidades emergentes que ficaram bem patentes nos tres grandes desafios

descritos no capıtulo. Em particular, a necessidade de manter informacao emergente nas entida-

des do domınio leva ao aparecimento de propriedades-extra que nao existem no sistema prescrito.

Essas propriedades que servem para manter informacao emergente so existem, portanto, na pla-

taforma. Contudo nao e so em propriedades-extra que surge informacao emergente. Pode surgir

em tipos de entidades que nao existem no sistema externo e mesmo propriedades nao-extra, ou

seja, propriedades que existem nos sistemas externos. Independentemente da situacao, o pro-

cesso de exportacao permite escolher quais os tipos de entidades e suas propriedades que serao

72

Page 97: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

usados para actualizar os sistemas externos — neste cenario em particular, apenas os tipos de

entidades e sua propriedades que possuem informacao prescrita.

Tendo em conta o sucesso da plataforma em satisfazer as necessidades emergentes nos tres

desafios, conclui-se que o modelo de implementacao e eficaz em situacoes e desafios similares

ao do cenario. O proximo capıtulo explicita as principais conclusoes retiradas ao longo da

dissertacao.

73

Page 98: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

74

Page 99: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

7Conclus~ao

Tendo em conta os resultados positivos obtidos, no capıtulo anterior, da aplicacao do cenario

na plataforma implementada segue um sumario do trabalho realizado e as suas principais con-

tribuicoes.

7.1 Conclusoes

Esta dissertacao tem como objecto de estudo os sistemas, praticas e informacao emergentes

e como cada item se relaciona com o prescrito correspondente. Os sistemas de informacao

emergentes surgem devido a duas situacoes. Em primeiro, deve-se ao facto dos sistemas prescritos

nao estarem alinhados com os objectivos e necessidades tecnologicas prescritas da organizacao

em parte devido aos objectivos e necessidades serem mais volateis do que a capacidade dos

sistemas se adaptarem. Em segundo, os utilizadores podem deparar-se com desafios emergentes

proprios ou de equipa e ou os sistemas prescritos nao estao preparados para essa emergencia ou

os utilizadores nao pretendem deixar uma representacao desse trabalho emergente nos sistemas

prescritos.

O caso de estudo da MTEL e a literatura sobre sistemas emergentes foram a base para se

efectuar um levantamento das caracterısticas e funcionalidades de um sistema emergente, em

particular dos artefactos que compoem esse sistema. A modelacao desses sistemas em Tropos

nao descurou a captura do racional que leva os utilizadores a usarem sistemas emergentes —

que nao se deve apenas as funcionalidades e caracterısticas tecnicas dos sistemas.

A partir do caso de estudo desenvolveu-se um cenario representativo de aspectos emergentes

facultando uma percepcao de como, em que situacao e para que proposito cada tipo de artefacto

emergente e utilizado. Por outro lado, tambem capturou o racional em usar um sistema em

Page 100: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

detrimento do outro — emergente versus prescrito — e a coreografia na utilizacao de um e do

outro procurando ligacoes ou transferencias de informacao entre os mesmos.

A modelacao dos artefactos emergentes e o cenario de utilizacao permitiram criar uma

solucao assente em tres topicos: artefactos, dados e mecanismos de importacao e exportacao.

Alias, o primeiro nıvel de decomposicao segue os mesmos topicos, ou seja, surge os modulos

artefactos, dados e fonte de dados.

O modulo artefactos encapsula todos os conceitos relacionados com modelos de interaccao

de cada tipo de artefacto e os dados que aı sao manipulados. Cada artefacto disponibiliza uma

interface de utilizador alinhada com os requisitos identificados.

O modulo dados encapsula os conceitos relacionados com dados prescritos e emergentes e

outros meta-dados nomeadamente identificadores da entidade em sistemas externos e os mo-

mentos de ultima modificacao, importacao e exportacao. O primeiro conjunto de meta-dados

e utilizado para garantir a rastreabilidade e manter a identidade dos dados independentemente

da sua replicacao entre sistemas externos e a plataforma. O segundo conjunto de meta-dados

e utilizado pelas estrategias de importacao e exportacao para escolher os dados que devem ser

objecto de importacao ou exportacao.

O modulo fonte de dados encapsula os conceitos relacionados com a transferencia de dados

entre sistemas externos e a plataforma emergente. Importa mencionar um nıvel de decomposicao

dentro do modulo fonte de dados. Este modulo e decomposto em modulos independentes e em

modulos dependentes da tecnologia de integracao e da orquestracao necessaria para integrar a

plataforma emergente com os sistemas externos.

Apos desenvolver o modelo de implementacao incluindo a arquitectura proposta, sao apre-

sentados em seccao propria os detalhes tecnicos de implementacao e as decisoes de desenho. Ao

analisar a XWiki verifica-se que esta apresenta funcionalidades e caracterısticas arquitecturais

alinhadas com o modelo de implementacao, mas por si so nao sao suficientes para satisfazer

as necessidades identificadas num contexto de emergencia. Assim, foi necessario desenvolver os

seguintes aspectos na XWiki enquanto plataforma emergente:

• Desenvolvimento do artefacto pilha de documentos com funcionalidades de navegacao nos

documentos e edicao in-line;

• Desenvolvimento do artefacto post-it ;

76

Page 101: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Desenvolvimento do artefacto referencia com funcionalidades de edicao in-line;

• Extensao do editor grafico XWiki de modo a facilitar a insercao de referencias em docu-

mentos;

• Desenvolvimento dos mecanismos de configuracao e execucao de importacao e exportacao;

• Desenvolvimento de API para gestao de dados da plataforma emergente.

7.2 Principais contribuicoes

O principal objectivo da dissertacao e facultar aos utilizadores uma plataforma que sirva de

base para o desenvolvimento de um sistema capaz de satisfazer as suas necessidades emergentes.

As principais contribuicoes sao:

• Modelacao em Tropos das funcionalidades e do racional de utilizacao dos artefactos —

lista de afazeres, post-it, pilha de documentos, correio electronico, running log e folha de

calculo;

• Desenvolvimento de uma arquitectura de software orientada as plataformas emergentes;

• Integrar caracterısticas de sistemas emergentes em wikis;

• Disponibilizar aos utilizadores uma plataforma flexıvel para o desenvolvimento de sistemas

emergentes e tratamento de informacao emergente.

7.3 Trabalho futuro

Ao longo do trabalho surgiram outros aspectos ou propostas que podiam ter sido seguidas

no ambito desta dissertacao. De seguida sao apresentados quatro pontos para trabalho futuro.

Em primeiro, analisar os benefıcios em esconder dos utilizadores os meta-dados ou deixar

controlo total sobre os mesmos. Os tipos de dado possuem dois conjuntos de meta-dados. Um

conjunto para identificar a entidade interna e externamente e um outro conjunto para indicar

o momento da ultima modificacao, importacao e exportacao. Ao deixar o controlo total aos

77

Page 102: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

utilizadores, estes podem modificar os seus valores tendo consequencias no modo como a im-

portacao/exportacao se comporta. Por outro lado, ao esconder esses meta-dados, os utilizadores

tem uma menor percepcao do que ocorre tornando menos transparente uma plataforma onde

essa propriedade e relevante.

Em segundo, e proposta uma integracao estendida com as fontes de dados. A integracao

estendida possibilita efectuar operacoes sobre o domınio e replica-las, com autorizacao previa

dos utilizadores, nas fontes de dados. As operacoes actuais sao apenas operacoes CRUD, mas

sao interessantes operacoes alinhadas com a logica de negocio implementadas pelos proprios

utilizadores.

Em terceiro, e proposta a propriedade de bidireccionalidade das referencias. As referencias

com bidireccionalidade permitem identificar os documentos ou artefactos que se referem a uma

determinada entidade. Ao ser usada a mesma referencia em documentos diferentes, estes ficam

relacionados por intermedio da entidade referida por ambos documentos. Um dos desafios do

utilizador e procurar informacao e esta funcionalidade reforca o suporte a esse desafio. Apesar

de ter sido desenvolvido parte deste requisito, existe necessidade de uma analise mais pormeno-

rizada.

Em quarto, e proposta a funcionalidade de guardar configuracoes de importacao/exportacao

e executa-las automaticamente segundo regras de escalonamento. A possibilidade de guardar

configuracoes de importacao e exportacao sem necessidade de intervencao do utilizador. A gestao

e replicacao das entidades em mais do que um sistema sao facilitadas ao sincronizar os sistemas

prescritos e a plataforma emergente atraves de regras de importacao/exportacao definidas e

despoletadas periodicamente.

78

Page 103: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Referencias

Adams, D. A., R. R. Nelson, and P. A. Todd (1992). Perceived Usefulness, Ease of Use, and

Usage of Information Technology: A Replication. MIS Q. 16 (2), 227 – 247.

Anslow, C. and D. Riehle (2008). Towards End-User Programming with Wikis. In WEUSE

’08: Proceedings of the 4th international workshop on end-user software engineering, New

York, pp. 61 – 65. ACM.

Anton, A. I. (1996). Goal-Based Requirements Analysis. In Second IEEE International Con-

ference on Requirements Engineering (ICRE’96), pp. 136 – 144.

Bass, L., P. Clements, and R. Kazman (2003). Software Architecture in Practice, Second

Edition. Addison Wesley.

Bean, L. and D. D. Hott (2005). Wiki: A speedy new tool to manage projects. Journal of

Corporate Accounting & Finance 16 (5), 3–8.

Bondarenko, O. and R. Janssen (2005). Documents at Hand: Learning from Paper to Im-

prove Digital Technologies. In CHI ’05: Proceedings of the SIGCHI Conference on Human

Factors in Computing Systems, New York, pp. 121 – 130. ACM.

Boudreau, M.-C. and D. Robey (2005). Enacting Integrated Information Technology: A Hu-

man Agency Perspective. Organization Science 16, 3–18.

Castro, J., M. Kolp, and J. Mylopoulos (2002). Towards Requirements-Driven Information

Systems Engineering: The Tropos Project. Information Systems 27 (6), 365 – 389.

Clements, P., F. Bachmann, L. Bass, D. Garlan, J. Iversa, R. Little, R. Nord, and J. Stafford

(2002). Documenting Software Architectures: Views and Beyond. Addison Wesley.

Dix, A., J. Wilkinson, and D. Ramduny (1998). Redefinig Organizational Memory: Artefacts,

and the Distribution and Coordination of Work. In Workshop on Understanding Work

and Designing Artefacts.

Ebersbach, A., M. Glaser, R. Heigl, and A. Warta (2008). Wiki: Web Collaboration. Springer.

79

Page 104: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Gina Trapani, A. P. (2009). The Complete Guide to Google Wave.

Giorgini, P., M. Kolp, J. Mylopoulos, and M. Pistore (2004). The Tropos Methodology: An

Overview. Kluwer Academic Publishing.

Grau, G., X. Franch, E. Mayol, C. P. Ayala, C. Cares, M. Haya, F. Navarrete, P. Botella, and

C. Quer (2005). RiSD: A Methodology for Building i*-Strategic Dependency Models. In

W. C. Chu, N. J. Juzgado, and W. E. Wong (Eds.), SEKE, pp. 259 – 266.

Gwizdka, J. (2002). Reinventing the Inbox: Supporting the Management of Pending Tasks in

Email. In L. G. Terveen and D. R. Wixon (Eds.), CHI Extended Abstracts, pp. 550 – 551.

ACM.

Hasan, H. and C. C. Pfaff (2006). The Wiki: An Environment to Revolutionise Employees’

Interaction with Corporate Knowledge. In T. Robertson (Ed.), OZCHI, Volume 206 of

ACM International Conference Proceeding Series, pp. 377 – 380. ACM.

Lapouchnian, A. (2005). Goal-Oriented Requirements Engineering: An Overview of the Cur-

rent Research.

Laudon, J. and K. Laudon (2006). Management Information Systems: Managing the Digital

Firm (10th ed.). Prentice Hall.

Leclercq, A., A. Carugati, A. Giangreco, J. Vieira da Cunha, and T. Jensen (2009). A Soci-

omaterial View on the Scaffolding of Work Practices with Information Technology. The

International Conference on Information Systems.

Mader, S. (2008). Wikipatterns. Wiley.

Malone, T. W. (1983). How Do People Organize Their Desks? Implications for the Design

of Office Information Systems. ACM Transactions on Office Information Systems 1, 99 –

112.

Mander, R., G. Salomon, and Y. Y. Wong (1992). A “Pile” Metaphor for Supporting Casual

Organization of Information. In CHI, pp. 627 – 634.

Martınez, A., O. Pastor, and H. Estrada (2003). Closing the Gap between Organizational

Modeling and Information System Modeling. In L. E. G. Martins and X. Franch (Eds.),

WER, pp. 93 – 108.

Orlikowski, W. J. (1996). Improvising Organizational Transformation Over Time: A Situated

Change Perspective. Information Systems Research 7 (1), 63 – 92.

80

Page 105: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

van Lamsweerde, A. (2000). Requirements Engineering in the Year 00: A Research Perspec-

tive. In ICSE ’00: Proceedings of the 22nd International Conference on Software Engine-

ering, New York, NY, USA, pp. 5 – 19. ACM Press.

van Lamsweerde, A. (2001). Goal-Oriented Requirements Engineering: A Guided Tour. In RE

’01: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering,

Washington. IEEE Computer Society.

Vieira da Cunha, J. (2005, Outubro). Making the Numbers: Agency in Computer-Generated

Formal Representations of Saleswork. Ph. D. thesis, Sloan School of Management.

Yu, E. and J. Mylopoulos (1998). Why Goal-Oriented Requirements Engineering. Proceedings

of the 4th International Workshop on Requirements Engineering: Foundation for Software

Quality , 15 – 22.

Yu, E. S. (1997). Towards Modelling and Reasoning Support for Early-Phase Requirements

Engineering. In International Symposium on Requirements Engineering, Annapolis, Mary-

land, pp. 226 – 235.

81

Page 106: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

82

Page 107: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

AArquitectura de Software

A.1 Introducao

Este anexo apresenta o desenho passo-a-passo do estilo de decomposicao da arquitectura

de software. Dado os atributos de qualidade, sao descritos cenarios para exemplificar esses

atributos. De seguida sao aplicadas tacticas surgindo um estilo de decomposicao alinhado com

os cenarios.

A.2 Atributos de qualidade

Entre os objectivos da plataforma emergente destaca-se a sua capacidade de trabalhar com

dados de diferentes origens/sistemas externos e que estes sejam trabalhados/utilizados de acordo

com as praticas de trabalho identificadas. Adicionalmente, a confidencialidade de dados e arte-

factos emergentes deve ser salvaguardada. Eis porque surgem os quatro atributos de qualidade:

(i) facilidade de modificacao, (ii) interoperabilidade e (iii) facilidade de utilizacao, (iv) seguranca.

Em detalhe:

• Efectuar alteracoes em tempo de execucao aos artefactos, dados e tipo de dados (incluindo

a eliminacao e adicao desses conceitos) e a configuracao em tempo de execucao da fonte

de dados (mecanismos de importacao e exportacao incluindo os conectores);

• Efectuar alteracoes aos tipos de artefactos e conectores durante a implementacao e ser

possıvel incorpora-las facilmente;

• Autorizar apenas alguns colaboradores a acederem a artefactos e dados emergentes proi-

bindo o acesso por parte de chefias ou de outros utilizadores sem acesso determinado pelo

autor do artefacto/dado em questao;

Page 108: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Carregar dados de diferentes fontes incluindo sistemas prescritos com os quais e possıvel

interoperar na actualizacao e realizacao de operacoes sobre os dados;

• Disponibilizar as mesmas operacoes e aproximar o modelo conceptual dos artefactos im-

plementados a dos respectivos formatos fısicos minimizando, assim, o tempo e dificuldade

de adaptacao aos artefactos;

• Disponibilizar operacoes dependentes do tipo de dados sobre os quais sao aplicadas.

A.3 Cenarios

A.3.1 Artefactos

A.3.1.1 Cenario

• Fonte de Estımulo: Equipa de Desenvolvimento

• Estımulo: Implementar um novo tipo de artefacto que trabalha sobre os mesmos dados

(partilhados) que outros artefactos utilizam

• Artefacto: Plataforma Emergente

• Ambiente: Durante a implementacao da plataforma

• Resposta: Uma vez instalado o novo tipo de artefacto e possıvel instancia-lo sem a

necessidade de modificar o tipo de dados ou o comportamento de outros artefactos

• Medida: O novo tipo de artefacto foi testado e implementado em X meses; o novo tipo

de artefacto foi instalado e instanciado em poucos minutos

A.3.1.2 Tacticas

• Esconder os detalhes dos tipos de artefacto de modo a prevenir efeitos em cascata;

• Abstrair uma interface comum para os dados de modo a manter coerencia semantica e

serem usados pelos tipos de artefactos existentes;

• Abstrair uma interface comum para os artefactos de modo a manter coerencia semantica

e serem usados pelo contentor que instancia e envolve os artefactos.

84

Page 109: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A.3.1.3 Arquitectura

• Definir o modulo “Artefacto” e respectivos sub-modulos com os diferentes tipos de arte-

factos;

• Definir um modulo que esconde os detalhes dos dados.

Figura A.1: Decomposicao apos o primeiro cenario.

A.3.2 Leitura e Escrita de Dados Emergentes atraves de Artefactos

A.3.2.1 Cenario

• Fonte de Estımulo: Utilizador

• Estımulo: Aceder e modificar, atraves de qualquer artefacto, aos dados emergentes defi-

nidos e importados previamente; possibilidade de aceder e modificar o valor dos atributos

prescritos e emergentes.

• Artefacto: Plataforma Emergente

• Ambiente: Durante a execucao da plataforma

• Resposta: Uma vez importados os dados e possıvel aceder e modifica-los atraves de

qualquer artefacto instalado sem a necessidade de modificar o processo de importacao de

dados ou os artefactos ja existentes.

• Medida: Nao sao afectados os dados e funcionalidades ja existentes na plataforma; o

tempo de configuracao estende-se por apenas alguns minutos

A.3.2.2 Tacticas

• Esconder os detalhes dos dados de modo a prevenir efeitos em cascata;

• Esconder os detalhes de leitura e escrita de dados emergentes de modo a prevenir efeitos

em cascata.

85

Page 110: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A.3.2.3 Arquitectura

• Definir o modulo “Dados” que esconde os detalhes dos dados;

• Definir o modulo “Operacoes” que esconde os detalhes das operacoes de leitura e escrita

dos dados.

Figura A.2: Decomposicao apos o segundo cenario.

A.3.3 Definicao de Tipos de dados

A.3.3.1 Cenario

• Fonte de Estımulo: Utilizador

• Estımulo: Criar ou modificar tipos de dados que corresponde a definicao de atributos

tipificados e atributos de identidade. Os atributos tipificados correspondem a campos

para guardar valores e podem ser emergentes ou prescritos — estes ultimos sao oriundos

de uma fonte de dados. Os atributos de identidade permitem identificar cada dado como

uma entidade unica independentemente da plataforma onde residem e das modificacoes

efectuadas aos valores dos seus atributos tipificados.

• Artefacto: Plataforma Emergente

• Ambiente: Durante a execucao da plataforma

• Resposta: A modificacao de tipos de dados existentes despoleta, se necessario, modi-

ficacoes automatizadas nos dados. Uma vez configurado um novo tipo de dados e possıvel

criar novos dados desse tipo e aceder aos mesmos atraves dos artefactos sem a necessidade

de modificar comportamento e funcionalidades ja existentes.

86

Page 111: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Medida: Nao sao afectados os dados e funcionalidades ja existentes na plataforma; o

tempo de configuracao estende-se por apenas alguns minutos

A.3.3.2 Tacticas

• Generalizar o modulo de dados, isto e, aumentar o nıvel de abstraccao deste modulo de

modo a abranger qualquer tipo de dados definido em tempo de execucao;

• Esconder os detalhes de definicao de novos tipos de dados de modo a prevenir efeitos em

cascata. A definicao de novos tipos de dados ocorre em tempo de execucao ? corresponde

assim a uma configuracao dos mesmos.

A.3.3.3 Arquitectura

• Definir um sub-modulo do modulo “Dados” com a responsabilidade privada de abranger

qualquer tipo de dados;

• Definir um sub-modulo do modulo “Dados” com a responsabilidade privada de configurar

qualquer tipo de dados que o utilizador deseje.

Figura A.3: Decomposicao apos o terceiro cenario.

A.3.4 Importacao de Novos Dados

A.3.4.1 Cenario

• Fonte de Estımulo: Utilizador

87

Page 112: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Estımulo: Importar novos dados de acordo com um tipo de dados configurado previa-

mente estabelecendo um mapeamento de atributos. Esses novos dados mantem atributos

de identidade que indicam a origem e entidade desse mesmo dado.

• Artefacto: Plataforma Emergente

• Ambiente: Durante a execucao da plataforma

• Resposta: Uma vez configurado o mecanismo de importacao, os dados sao importados

e ficam disponıveis na plataforma sem a necessidade de modificar o mecanismo de trans-

ferencia de dados ou outras funcionalidades ja existentes

• Medida: Nao sao afectados os dados e funcionalidades ja existentes na plataforma; o

tempo de configuracao estende-se por apenas alguns minutos

A.3.4.2 Tacticas

• Assegurar a coerencia semantica num modulo responsavel por todas as funcionalidades

que interagem com dados externos oriundos de sistemas prescritos;

• Esconder os detalhes do mecanismo de importacao de dados para prevenir efeitos em

cascata;

• Esconder os detalhes da configuracao do mecanismo de importacao;

• Abstrair uma interface comum para a criacao de dados durante o processo de importacao

de modo a manter a coerencia semantica.

A.3.4.3 Arquitectura

• Definir o modulo “Fonte de Dados” responsavel pelas funcionalidades que interagem com

dados externos oriundos de sistemas prescritos;

• Definir o modulo “Transferencia de Informacao” e o sub-modulo “Importacao” responsaveis

pela transformacao de informacao, neste caso, no sentido do exterior para o interior da

plataforma;

• Definir o modulo “Configuracao Fonte de Dados” que esconde os detalhes de configuracao;

• Definir o sub-modulo “Instanciacao de Dados” que esconde os detalhes na instanciacao de

um novo dado.

88

Page 113: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura A.4: Decomposicao apos o quarto cenario.

A.3.5 Importacao de Novos Dados mantidos num Ficheiro

A.3.5.1 Cenario

• Fonte de Estımulo: Utilizador

• Estımulo: Importar dados oriundos de um ficheiro (CSV por exemplo) tornando-os dis-

ponıveis nos artefactos instalados

• Artefacto: Plataforma Emergente (Dados e Fonte de Dados)

• Ambiente: Durante a execucao da plataforma

• Resposta: Uma vez configurado o conector “Ficheiro CSV” e o mecanismo de importacao,

os dados sao importados e ficam disponıveis de imediato na plataforma. Nao e necessario

modificar o mecanismo de importacao.

• Medida: A configuracao da fonte de dados demora ate 10 minutos e o carregamento e

automatizado

A.3.5.2 Tacticas

• Esconder os detalhes do processo de obtencao de dados a partir de um ficheiro CSV;

• Generalizar a configuracao dos conectores de modo que novos conectores sejam suportados

pelo modulo responsavel pela configuracao;

• Tornar a configuracao dos conectores auto-descriminativa de modo a prevenir efeitos em

89

Page 114: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

cascata (assim o modulo de configuracao utiliza esses meta-dados para saber que modelo

de configuracoes e necessario para cada conector).

A.3.5.3 Arquitectura

• Definir o modulo “Conector” responsavel por obter dados;

• Definir o sub-modulo “Conector CSV” responsavel por obter dados a partir de um ficheiro

CSV.

• Definir o modulo de “Modelo de Configuracao” responsavel por declarar as configuracoes

necessarias para acesso ao servico de importacao de dados oriundos de um ficheiro CSV.

Figura A.5: Decomposicao apos o quinto cenario.

A.3.6 Importacao de Novos Dados mantidos num Sistema Prescrito

A.3.6.1 Cenario

• Fonte de Estımulo: Equipa de Desenvolvimento

• Estımulo: Importar um conjunto de dados atraves de um web service tornando-os dis-

ponıveis nos artefactos instalados

• Artefacto: Codigo

• Ambiente: Durante a implementacao da plataforma

90

Page 115: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

• Resposta: Novo conector desenvolvido e instalado sem a necessidade de modificar funcio-

nalidades existentes ou outros conectores. Os mecanismos de transferencia de dados podem

ser reutilizados. Uma vez configurados o conector novo e o mecanismo de importacao, os

dados sao importados e ficam disponıveis de imediato na plataforma.

• Medida: A implementacao do novo conector demora alguns dias. A sua instalacao e

configuracao demora alguns minutos

A.3.6.2 Tacticas

• Esconder os detalhes de importacao de dados a partir de um sistema prescrito de modo a

prevenir efeitos em cascata.

A.3.6.3 Arquitectura

• Definir o modulo “Conector web service” responsavel por obter dados;

• Definir o modulo de “Modelo de Configuracao” responsavel por declarar as configuracoes

necessarias para acesso ao servico de importacao de dados por web service.

Figura A.6: Decomposicao apos o sexto cenario.

91

Page 116: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

A.3.7 Exportacao de Dados

A.3.7.1 Cenario

• Fonte de Estımulo: Utilizador

• Estımulo: Exportar dados mantidos na plataforma para um ficheiro CSV

• Artefacto: Plataforma Emergente

• Ambiente: Durante a execucao da plataforma

• Resposta: Uma vez configurados o conector correcto e o mecanismo de exportacao, os

dados sao exportados para um ficheiro estruturado. Nao e necessario modificar artefactos,

dados, tipo de dados e configuracao de mecanismos de exportacao ja existentes

• Medida: A configuracao da fonte de dados demora ate 10 minutos e o carregamento e

automatizado

A.3.7.2 Tacticas

• Esconder os detalhes do processo de exportacao de dados para prevenir efeitos em cascata;

• Esconder os detalhes da configuracao do mecanismo de exportacao;

• Esconder os detalhes do processo de escrita de dados para um ficheiro CSV.

A.3.7.3 Arquitectura

• Definir os modulos “Exportacao”;

• Definir o sub-modulo de escrita no modulo “Conector CSV”.

A.4 Responsabilidade dos modulos

Plataforma Emergente: Plataforma base para o desenvolvimento de sistemas, pelos

proprios utilizadores finais, capaz de satisfazer as suas necessidades emergentes. Em particular,

o desenvolvimento de sistemas e realizado atraves de configuracao e customizacao da plataforma

e a utilizacao de dados oriundos de sistemas externos.

1 Artefactos: Modulo responsavel por apresentar um interface de utilizar e disponibilizar

um modelo de interaccao com os dados apresentados em cada tipo de artefacto.

92

Page 117: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Figura A.7: Decomposicao apos o setimo cenario.

2 Dados: Modulo responsavel por criar um interface generica de utilizacao de dados inde-

pendentemente destes serem emergentes ou prescritos e do sistema do qual sao oriundos

2.1 Operacoes: Modulo responsavel por disponibilizar um interface para a execucao

de operacoes genericas sobre os dados nomeadamente as operacoes CRUD (criacao,

leitura, actualizacao e eliminacao).

2.1.1 Instanciacao de Dados: Modulo responsavel por instanciar dados a partir de

um tipo de dados definido previamente

2.2 Tipo de Dados: Modulo responsavel pela definicao de estruturas que encapsulam

qualquer tipo de dado escondendo as suas particularidades. Este modulo, pela neces-

sidade de ser bastante generico, deve comportar os diferentes tipos de valores (inteiro,

decimal, caracter, cadeia de caracteres, booleano) e associacao entre dados. Por outro

lado, a definicao do tipo de dados suporta ainda a distincao entre atributos tipificados

e atributos de identidade. Os primeiros correspondem aos valores associados ao dado

em si, e os segundos correspondem a meta-informacao auxiliar indicativa da origem

e entidade de cada dado.

2.3 Configuracao Tipo de Dados: Modulo responsavel pela configuracao assistida dos

tipos de dados.

3 Fonte de Dados: Este modulo encapsula todas as funcionalidades necessarias para a

comunicacao com sistemas e dados externos. Essa comunicacao resume-se, em muito, a

importacao e exportacao de dados.

3.1 Configuracao Fonte de Dados: Modulo responsavel pela configuracao assistida

93

Page 118: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

das fontes de dados.

3.2 Transferencia de Informacao: Modulo responsavel por importar e exportar dados

e a sua meta-informacao associada. Este modulo recebe dos conectores um conjunto

de valores que retratam uma entidade dado. Esse conjunto de valores foi lido atraves

da conexao estabelecida pelo conector, e sao usados para preencher a estrutura de

dados interna de acordo com o tipo de dados definido e o mapeamento realizado. Os

valores podem ainda ser transformados de acordo com regras de transformacao.

3.2.1 Comum: Modulo responsavel pelas funcionalidades comuns que sao usadas nos

dois mecanismos de transferencia de informacao : a importacao e a exportacao.

3.2.1.1 Rastreabilidade: Este modulo encapsula as funcionalidades associadas ao

requisito de rastreabilidade dos dados. Ou seja, os dados importados devem

manter a sua entidade de modo que em posteriores exportacoes seja possıvel

identificar o dado como aquele que foi importado anteriormente mesmo que

os seus valores tenham sido mudados. Por isso, os valores podem variar mas

a sua entidade mantem-se. Consequentemente sao necessarios dois tipos de

atributos: os atributos tipificados e os atributos de identidade. Sao os atri-

butos de identidade que conferem caracterısticas de rastreabilidade. Existe

ainda um estado associado a cada objecto que indica se este foi alterado ou

eliminado desde a ultima exportacao.

3.2.1.2 Mapeamento: Este modulo e responsavel por mapear o conjunto de valores

oriundos do conector em atributos definidos pelo tipo de dados.

3.2.2 Importacao: Este modulo encapsula o mecanismo de importacao de dados. Os

dados sao recebidos do conector numa estrutura generica de valores. Este modulo

e sub-modulos sao responsaveis por tipificar os valores, e carregar os dados num

modulo de persistencia. Este modulo usa o modulo auxiliar com o qual e possıvel

transformar valores antes de mapea-los na estrutura definida no tipo de dados.

3.2.2.1 Tipificacao: Modulo responsavel por tipificar os valores externos num tipo

de valor de acordo com os atributos.

3.2.2.2 Carregamento: Modulo responsavel por carregar para o repositorio. Trata-

se da ultima fase do processo de importacao.

3.2.3 Exportacao: Este modulo encapsula o mecanismo de exportacao de dados. Os

dados sao entregues ao conector numa estrutura generica de valores. Este modulo

94

Page 119: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

e sub-modulos sao responsaveis por colectar as entidades que foram seleccionadas

como entidades a exportar. Essa seleccao e feita pelo utilizador atraves do modulo

de configuracao fonte de dados e consiste em escolher o tipo de dados e/ou o

estado da entidade nomeadamente se foi ou nao alterada.

3.2.3.1 Colecta Dados: Modulo responsavel pela seleccao dos dados internos se-

gundo a estrategia de exportacao definida

3.2.3.2 Transformacao Dados: Modulo responsavel por transformar os valores dos

varios atributos numa sequencia de valores perceptıvel para o conector.

3.3 Conector: Modulo responsavel pela ligacao da plataforma emergente ao ambiente

externo com o objectivo de obter dados. Esses dados externos surgem em diferentes

suportes com diferentes modos de obte-los. Nesse sentido, o modulo conector e res-

ponsavel por esconder as particularidades de cada modo de obtencao. Os conectores

devolvem ao modulo de importacao e recebem do modulo de exportacao um conjunto

de valores que retratam uma entidade dado.

3.3.1 Conector Ficheiro CSV: Este modulo encapsula o mecanismo de obtencao de

dados a partir de um ficheiro CSV. Neste tipo de ficheiros, cada linha contem um

conjunto de valores que retratam o dado. Esses valores podem estar separados

por um caracter especial que nao surge no corpo do valor (como por exemplo a

vırgula) ou e declarado um numero de caracteres fixo para cada coluna de valores.

3.3.1.1 Parsing: Este modulo e responsavel por realizar a extraccao de valores a

partir de um ficheiro de texto. A extraccao segue um conjunto de regras

definidas pelo utilizador assistido pela plataforma.

3.3.1.2 Producao (Escrita): Este modulo e responsavel por criar um ficheiro de

texto que segue determinadas regras na delimitacao de valores. Essas regras

sao definidas pelo utilizador.

3.3.1.3 Modelo de Configuracao: Este modulo e responsavel pela configuracao

neste conector em particular. Na configuracao deste conector surge a lo-

calizacao e nome do novo ficheiro, insercao de cabecalho e metodo de deli-

mitacao de valores

3.3.2 Conector web service: Este modulo encapsula o mecanismo de obtencao de

dados atraves de uma interface conhecida no momento de implementacao do

modulo. Existem duas vertentes neste tipo de conectores: (i) um conector

95

Page 120: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

generico que comporta operacoes CRUD se o web service em questao assim o

permitir, ou (ii) conectores especıficos que orquestram uma sequencia de chama-

das a metodos, especıfica para o web service em questao, para obter ou entregar

dados externos.

3.3.2.1 Protocolo: Este modulo e responsavel pela orquestracao de metodos de

modo a ler, escrever, criar e eliminar dados. Deve ter em conta o contrato

do web service.

3.3.2.2 Modelo de Configuracao: Este modulo e responsavel pela configuracao

neste conector em particular.

96

Page 121: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Bi*/Tropos

B.1 Introducao

Um sistema de informacao e construıdo devido a uma intencao ou proposito inicial. O grau

de alinhamento do sistema com o seu proposito e a principal medida de sucesso desse sistema.

Portanto, identificar essa intencao deve ser considerado como uma das principais actividades no

desenvolvimento de sistemas (Lapouchnian 2005).

A Engenharia de Requisitos e o primeiro passo do processo de desenvolvimento de siste-

mas. Envolve varios aspectos fulcrais: a identificacao de objectivos dos stakeholders acerca do

sistema pretendido, a especificacao de servicos e restricoes que constrangem esses objectivos e

a atribuicao de responsabilidades de cada requisito resultante aos agentes, independentemente

de estes serem ou nao humanos (van Lamsweerde 2000). A modelacao aparece como o principal

processo nas varias tarefas. Tanto os sistemas e organizacao existentes, bem como, as possıveis

alternativas de configuracoes do sistema pretendido sao modelados. Estes modelos servem de

base para actividades de levantamento, comunicacao, negociacao, reutilizacao e evolucao de

requisitos, entre outras (Lapouchnian 2005).

Contudo uma das principais dificuldades da engenharia de requisitos e a imprecisao e infor-

malidade natural dos requisitos. Deve-se ao facto de se tratar de uma traducao de observacoes

informais do mundo real para linguagens formais de especificacoes (Yu and Mylopoulos 1998).

De facto, os requisitos existem num certo contexto social e portanto, durante o seu levanta-

mento, um elevado grau de comunicacao e negociacao e necessario. Lamsweerde apresenta em

(van Lamsweerde 2000) uma lista de aspectos que tornam a engenharia de requisitos um processo

complexo.

Page 122: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Dada essa complexidade inerente ao processo de engenharia de requisitos, tecnicas rigo-

rosas sao necessarias para proporcionar um suporte efectivo nesse processo. Nesse sentido,

as mesmas tem evoluıdo ao longo dos anos e recentemente tem surgido e ganho popularidade

tecnicas orientadas a objectivos. A razao de tal facto deve-se as tecnicas de analise tradicio-

nais mostrarem-se inadequadas a lidar com sistemas cada vez mais complexos. Ao nıvel dos

requisitos, estas tecnicas tradicionais tratam-nos como se resumissem apenas a accoes e dados

e desprezam a razao do sistema existente ou a intencao de construir um. Torna-se assim difıcil

de capturar as preocupacoes (de alto nıvel) do problema. A maioria das tecnicas limitam-se

a focar na modelacao e especificacao de sistemas, mas falham no suporte a analise do sistema

pretendido enquanto agente a existir num ambiente, ou a analise de diferentes configuracoes de

atribuicao de responsabilidades (van Lamsweerde 2000). A Engenharia de Requisitos Orientada

a Objectivos pretende resolver estes e outros problemas que as tecnicas tradicionais nao resol-

vem. Lapouchnian apresenta em (Lapouchnian 2005) um conjunto de benefıcios associados com

a modelacao, refinamento e analise de objectivos.

B.2 Principais Conceitos

Baseado em (Lapouchnian 2005; Anton 1996; van Lamsweerde 2001), sao definidos os se-

guintes conceitos no contexto da engenharia de requisitos:

• Objectivo e um proposito ou um alvo a atingir pelo negocio, organizacao ou sistema atraves

da cooperacao entre os seus agentes e o ambiente; podem ser formulados em diferentes

nıveis de abstraccao e podem-se catalogar em funcionais (acerca do servicos) ou nao fun-

cionais (acerca da qualidade dos servicos).

• Softgoal e usado para caracterizar um objectivo que nao possui um criterio de satisfacao

claro e facilmente mensuravel;

• Requisito e um objectivo cuja responsabilidade de satisfaze-lo e delegada a um unico agente

do ambiente, mais especificamente a um sistema;

• Assumpcao e um objectivo cuja responsabilidade de satisfaze-lo e delegada a um unico

agente do ambiente (onde o sistema existe). Especifica as expectativas que um sistema

pode esperar do seu ambiente, como por exemplo um aspecto sobre o comportamento

98

Page 123: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

humano enquanto utilizador do sistema. Normalmente existe um equilıbrio entre o numero

de requisitos que tornam o sistema mais complexo e o numero de assumpcoes que em grande

quantidade podem tornar-se irrealistas;

• Restricao impoe um constrangimento sobre um outro objectivo, ou seja, e um requisito

que deve ser satisfeito como condicao necessaria para satisfazer um outro objectivo;

• Agente e um componente activo do sistema (ou organizacao), isto e, com capacidades

comportamentais, que procura alcancar atraves de accoes os objectivos pelos quais e res-

ponsavel;

• Operacionalizacao e o processo de definicao de objectivos com detalhe suficiente tal que os

seus subobjectivos possuem definicoes operacionais, diminuindo o desalinhamento entre o

espaco do problema (objectivos, requisitos e objectos) e o espaco das solucoes (operacoes

realizadas por agentes e objectos).

B.3 Caso de Estudo

Os exemplos utilizados para ilustrar as metodologias que se seguem sao baseados num caso

de estudo. Trata-se de um caso sobre o servico privado de saude no qual e estabelecido um

contrato entre um cliente designado de paciente e uma organizacao designada de seguradora.

O contrato explicita a disponibilidade de servicos de saude ao cliente segundo uma polıtica de

cobertura acordada entre o cliente e a seguradora em troca de um valor monetario.

B.4 i*/Tropos

Durante a fase de engenharia de requisitos e necessario balancear as consideracoes tecnicas

com os aspectos sociais e organizacionais, bem como, modelar o ambiente operacional onde o

sistema ira funcionar (Castro et al. 2002). Tropos segue a premissa que a construcao de um

sistema que opera num sistema dinamico obriga a analise e modelacao explıcita do ambiente em

termos de actores, seus objectivos e dependencias entre actores (Martınez et al. 2003). Seguindo

essa filosofia, e privilegiada a fase inicial de analise da requisitos onde e considerado o como o

sistema ira satisfazer os objectivos da organizacao, o porque da necessidade do sistema, que

99

Page 124: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

alternativas existem, quais as implicacoes das varias alternativas sobre os varios stakeholders e

como os interesses e preocupacoes dos stakeholders sao geridos (Yu 1997).

A metodologia proposta prolonga-se por quatro fases: analise antecipada de requisitos,

analise prolongada de requisitos, desenho arquitectural e desenho detalhado. Segue-se a descricao

de cada fase acompanhada de um exemplo para as duas primeiras fases.

A analise antecipada de requisitos pretende esclarecer o contexto organizacional no qual um

eventual sistema ira operar. Ao permitir a tomada de atencao as actividades que precedem

a especificacao de requisitos do sistema a construir, pode-se capturar e analisar as intencoes

dos stakeholders modelando-as como objectivos. Esses objectivos tomam um papel essencial

durante a definicao dos requisitos. Visto de outra forma, enquanto os requisitos capturam o

que e o como do sistema a construir, a analise antecipada de requisitos captura a razao e o

porque do sistema ser desenvolvido. Esta perspectiva, por sua vez, suporta uma analise mais

refinada das dependencias do sistema e um tratamento mais uniforme entre requisitos funcionais

e nao funcionais. (Giorgini et al. 2004) A modelacao realizada nesta fase segue os modelos

adoptados da framework i* criado por Eric Yu. Esta framework oferece os conceitos primitivos

de actor, objectivo e dependencia entre actores. Os stakeholders sao representados como actores

que mantem dependencias entre si de modo a alcancarem objectivos e softgoals, realizarem

actividades e obterem recursos. Essas dependencias sao mantidas de forma deliberada, pois

o actor esta impossibilitado de satisfazer, totalmente ou pelo menos de uma forma eficiente e

eficaz, as suas necessidades sem ser pela via da dependencia. Nesse sentido, o actor possui

oportunidades de modo a satisfazer melhor e mais necessidades atraves da relacao dependencia

com outro actor, mas ao mesmo tempo torna-se vulneravel caso o fornecimento nao seja contınuo.

A framework i* inclui dois modelos: modelo de dependencia estrategica e modelo racional

estrategico.

O modelo de dependencia estrategica (do ingles, strategic dependency model) oferece um

determinado nıvel de abstraccao para a descricao de ambientes organizacionais e os sistemas de

informacao aı embebidos. Nesse nıvel de abstraccao e mostrado a rede de dependencias entre

actores escondendo os detalhes subadjacentes as intencoes internas que levaram a elaboracao de

determinada dependencia (Giorgini et al. 2004). Ou seja, este modelo captura as dependencias

externas que por serem suficientemente importantes para os actores sao mantidas por estes de

forma deliberada. Assim, e possıvel a analise das oportunidades e vulnerabilidades de cada actor.

100

Page 125: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

Durante a analise prolongada de requisitos, este modelo e usado para analisar as mudancas que

a organizacao, e consequentemente a rede de dependencias inerente a organizacao, pode sofrer

devido a introducao de um sistema (Lapouchnian 2005).

No exemplo do servico privado de saude (figura B.1) o paciente depende do medico para

o tratamento da sua doenca (dependencia para atingir objectivo). O medico depende do labo-

ratorio para elaborar exames em amostras de sangue. Neste caso trata-se de uma dependencia

de tarefa, pois o medico esta interessado em atingir um estado – os exames obtidos – seguindo

um processo em particular – o processo cientıfico e rigoroso de analise de amostras de sangue.

O medico esta ainda dependente da aprovacao do plano de tratamento por parte da seguradora

(representada por um agente que efectua a gestao de pedidos) de modo a ser reembolsado pelas

suas despesas e servico efectuado. Ambas sao dependencias de recursos pois o medico deseja

obter uma entidade (declaracao de aprovacao e montante em dinheiro) sem se importar com

o processo em si. Existem ainda dependencias de objectivos e de softgoals entre agentes. Por

exemplo, o paciente esta interessado em ser tratado. Nesse caso existe um criterio claro de

satisfacao do objectivo - o do paciente curar-se. Por outro lado, o paciente procura por um bom

servico de saude. Neste caso nao existe um criterio claro e bem definido do conceito de bom

servico e consequentemente e tratado como sendo uma dependencia de softgoal.

Paciente Seguradora

Médico

Laboratório

Gestor de

Pedidos

Assessor

Médico

Doença

tratada

uu

Bom Serviço

Médico

Cobertura

sobre doenças

Pagamento

u u

u

uu

u

Elaborar testes

em amostras

u

u

Aprovação do

tratamento

Reembolso das

despesas

u

u

u

u

Rapidez na

Aprovação de

Pedidos

Política de

Cobertura

u

uu

Tratamento

Avaliadou

u

Eficiência

nos Custos

u

u

u

u

Actor

Objectivo

Softgoal

Recurso

Dependência

Tarefa

Legenda:

Figura B.1: Modelo de dependencia estrategica para o caso de estudo.

Durante a analise antecipada de requisitos, contudo, e indispensavel aclarear as razoes e

interesses dos stakeholders, bem como, o modo como esses interesses e regulado e o impacto de

diferentes configuracoes do conjunto sistema e ambiente sobre esses interesses (Yu 1997). O mo-

delo racional estrategico (do ingles, strategic rationale model) e usado para analisar com grande

101

Page 126: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

detalhe os processos internos ao actor explicitando a razao pela qual os actores estabelecem

dependencias entre si. Os conceitos — objectivos, softgoals, recursos e actividades — aparecem

nao so como dependencias externas, mas tambem como elementos internos ligados por dois tipos

de relacoes. Um dos tipos de ligacao — means-ends — e usado para especificar alternativas para

alcancar cada objectivo. O outro tipo — decomposicao — liga um objectivo ou actividade aos

elementos que o compoem. Existe ainda outro tipo de ligacoes similar as ligacoes da framework

NFR. Essas ligacoes especificam dois nıveis de contribuicao positiva (“+” e “++”) ou negativa

(“−” e “−−”) que informam o efeito positivo (ou negativo) sobre um determinado softgoal ao

satisfazer um objectivo ou realizar uma actividade (Lapouchnian 2005).

Voltando ao mesmo exemplo, a figura B.2 mostra o racional do gestor de pedidos quando

pretende avaliar um pedido. O agente necessita de verificar se o tratamento e coberto pelo

seguro do paciente (tarefa) e obter uma avaliacao medica (objectivo) durante um perıodo de

tempo aceitavel (softgoal). Este racional e capturado atraves da decomposicao da tarefa prin-

cipal. Existem duas alternativas de obter uma avaliacao medica: requerer essa avaliacao junto

de um assessor medico, ou o proprio agente efectuar a avaliacao com a ajuda de um sistema de

conhecimento medico que possui a informacao necessaria (dependencia de recurso). Esta ultima

alternativa tem uma contribuicao positiva na rapidez do processo, enquanto a primeira alterna-

tiva aumenta o tempo global do processo. Essas contribuicoes foram igualmente capturadas no

modelo.

Seguradora

Médico

Sistema de

Conhecimento

Médico

Assessor

Médico

u

u

Aprovação do

tratamento

Rapidez na

Aprovação de

Pedidos

Política de

Coberturau

Tratamento

Avaliado

u

Gestor de

Pedidos

Avaliar

Pedido

Verificar

Cobertura do

Paciente

Pedido

Avaliado

Avaliação

Médica Obtida

+

-

Efectuar

Avaliação

Requerer

Avaliação

Rapidez na

Avaliação

u

u

Conhecimento de

Avaliação Médica

+-u

Actor

Objectivo

Softgoal

Recurso

Fronteira do Actor

Decomposição

Contribuição positiva

Contribuição negativa

Dependência

Tarefa

Means-ends

Legenda:

Figura B.2: Modelo racional estrategico para o caso de estudo.

Durante a analise prolongada de requisitos, o modelo conceptual desenvolvido durante a

fase antecedente e estendido de forma a incluir o sistema a desenvolver como um (ou mais) novo

actor em conjunto com as dependencias entre este novo actor (o sistema) e os outros (o ambiente

102

Page 127: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

do sistema). Estas dependencias definem os requisitos funcionais e nao funcionais desse novo

sistema. Por outras palavras, o sistema de informacao aparece no diagrama como um ou mais

actores que contribuem para a satisfacao de objectivos de outros actores (Castro et al. 2002).

Do desenho arquitectural resulta uma arquitectura do sistema que descreve como os compo-

nentes trabalham em conjunto. Em Tropos foram organizados estilos arquitecturais organizacio-

nais para guiar o desenho da arquitectura. Esses estilos arquitecturais sao baseados em conceitos

de gestao de organizacoes e foram avaliados e comparados entre si segundo varios atributos de

qualidade. Em (Castro et al. 2002) e mostrado uma tabela de comparacao.

A primeira tarefa passa por seleccionar o estilo arquitectural usando um criterio sobre as

qualidades ou softgoals desejados e identificados nas fases previas. Essa analise e conduzida pela

framework NFR. De seguida o sistema a desenvolver e decomposto segundo o estilo arquitectural

escolhido.

A fase de desenho detalhado introduz detalhes adicionais para cada componente arquitec-

tural do sistema.

B.5 Sumario

Segue uma descricao das principais vantagens e desvantagens dos varios metodos analisados.

Apesar de tudo, apenas o Tropos foi descrito em pormenor ao longo do anexo.

As vantagens da framework NFR devem-se em parte por esta focar-se na analise de requisi-

tos nao funcionais, ao contrario de outras tecnicas que nao dao a importancia devida. Torna-se

relevante devido a importancia dos requisitos nao funcionais no sucesso e adopcao dos sistemas

de informacao. A framework oferece uma ferramenta de modelacao que permite capturar as con-

tribuicoes de uns requisitos sobre outros e analisar e comparar as diferentes alternativas. Apesar

de nao capturar a relevancia que cada stakeholder da a cada requisito e de nao possuir muitos

dos conceitos e ferramentas de outras tecnicas, a framework NFR pode e deve ser usada em

conjunto com outras metodologias. Nesta framework e ainda utilizado catalogos de informacao

que capturam e organizam o conhecimento de experiencias anteriores.

O Tropos foca-se no contexto organizacional e nas intencoes dos stakeholders. Entre as

tecnicas descritas nesta seccao, e a mais completa para todo o processo de engenharia de re-

103

Page 128: Wikis para Sistemas de Informação Emergentes · e actualiza˘c~ao da informa˘c~ao, n~ao s~ao orientados a partilha de informa˘c~ao e n~ao suportam a colabora˘c~ao entre grupos

quisitos. Adoptou os conceitos e diagramas do i* que se focam nas actividades de modelacao

antes da formulacao dos requisitos. O i* e ainda acompanhado com outras metodologias que

reduzem a subjectividade inerente a modelacao de objectivos, como e o caso da metodologia

RiSD (Grau et al. 2005). O Tropos tem ainda a vantagem de usar os mesmos conceitos — actor

e objectivo — tanto para descrever requisitos como tambem para modelar sistemas diminuindo,

assim, a diferenca semantica entre as fases inicias e finais de desenvolvimento (Giorgini et al.

2004). Possui a desvantagem de ainda nao existirem ferramentas que suportam a transicao entre

as diferentes fases (Giorgini et al. 2004).

O KAOS permite usar uma notacao formal que torna-se util aquando da analise de conflitos

e obstaculos. Possui a desvantagem de nao fornecer um metodo de avaliacao de requisitos nao

funcionais e impacto das decisoes. Contudo uma variacao da framework NFR pode ser integrada

no KAOS (Lapouchnian 2005). Por outro lado, apenas os objectivos correspondentes aos nos-

folha resultantes da decomposicao sao delegados a agentes, tornando a tecnica inapropriada para

a analise de sistemas complexos onde a componente social entre agentes revela-se importante.

Adicionalmente a delegacao dos objectivos a agentes ocorre apos a seleccao entre alternativas

do modelo de objectivos, o que se revela numa desvantagem na analise de alternativas.

Durante a analise de casos de emergencia de sistemas de informacao e necessario focar-se

no contexto organizacional e nas intencoes dos utilizadores que promovem esses sistemas que

emergem. A tecnica escolhida para a analise sera o Tropos, pois revela-se a mais adequada para

a analise de requisitos num contexto organizacional onde as intencoes dos stakeholders e a com-

ponente social entre agentes sao importantes. Os sistemas de informacao emergentes resultam

da adopcao de tecnologia emergente ou da reinvencao de tecnologia prescrita atraves de novos

padroes e regras de trabalho que nao foram planeadas pela governacao da organizacao. Ambas

possuem um racional fundamentado dos seus promotores que se resume em necessidades, objec-

tivos e intencoes dos utilizadores. A metodologia Tropos e a que melhor captura esse racional

importante na engenharia de sistemas de informacao emergentes. Adicionalmente a metodolo-

gia Tropos e particularmente apropriada para sistemas genericos constituıdos por componentes

como aplicacoes e-bussiness que podem ser usados numa variedade de ambientes e plataformas

(Castro et al. 2002).

104