Classificação de
Aplicações de Groupware
Cleidson R. B. Souza cdesouza@ufpa.br
Dep. Informática
Universidade Federal do Pará
Pág. 2
Roteiro
• Classificação [Ellis & Wainer, 1999]
– Keepers
– Coordinators
– Communicators
– Team-Agents
• Tipos de Grupos
Classificação de [Ellis & Wainer]
• Para facilitar seu entendimento, groupware foi classificado de acordo com as funcionalidades suportadas.
• Esta classificação não é necessariamente completa. Ela deve ser vista como os extremos de um espaço contínuo.
• Em outras palavras, uma determinada aplicação pode possuir características ligadas a mais de um aspecto.
Classificação de [Ellis & Wainer]
•
Keeper:
funcionalidades
ligadas
ao
armazenamento e acesso a dados
compartilhados;
–Editores Cooperativos
•
Coordinator: relaciona-se a ordenação e
sincronização de atividades individuais
que compõem o todo;
Pág. 5
Classificação de [Ellis & Wainer]
•
Communicator:
relaciona-se
a
funcionalidades ligadas a comunicação
entre os participantes; e
•
Team-Agent:
componentes
de
sw
“inteligentes” que executam funções
específicas e auxiliam a dinâmica do
grupo.
–Agentes de grupo
Pág. 6
Classificações
• Existe um mapeamento simples da classificação de [Ellis, 1991] para a de [Ellis e Wainer, 1999]:
– Edição em Grupo -> Keepers
– Tele-conferência --> Communicators
– Workflow --> Coordinators
– Apoio a reunião
• Coordinators, se o modelo for DELPHI ou Nominal Technique
• Keeper, se o modelo for IBIS.
Keepers
• Definição: relacionam-se a aplicações onde a interação do grupo diz respeito a acessos a um objeto compartilhado. Frequentemente, o objetivo central é a construção de um único artefato. Exemplos:
– Sistemas para revisão de documentos: uma única pessoa escreve um documento e repassa para outros revisarem o mesmo.
– Editores concorrentes: onde mais de um usuário pode acessar o mesmo documento ao mesmo tempo.
Keepers
• Um keeper deve proporcionar:
– Controle de acesso aos documentos: quem pode acessar o documento?
– Controle de concorrrência (acesso simultâneo ao documento): o que acontece com 2 alterações contraditórias?
– Controle de versões do artefato
– Controle de alterações de cada usuário
– Propagação da concorrência;
Pág. 9
Keepers
• Exemplos:
– Word for Windows™ com revisões e comentários
– ABCDE [Souza, 1998]: Editor de Diagramas Cooperativo Baseado em Anotações
– GROVE: editor síncrono sem nenhum mecanismo de lock.
– QuestMap
– PREP
Pág. 10
Keepers: Exemplos de Artefatos e
Sistemas
• Texto – GROVE – Quilt – PREP – Microsoft Word • Hiper-Textos – SEPIA • Gráficos – ? • Diagramas – Xnetwork – ICARO – ABCDECommunicators
• São as ferramentas de groupware cuja funcionalidade principal relaciona-se a aspectos de comunicação entre os participantes.
• Exemplos:
;
–Sistemas de conferência eletrônica
–Chats e MUD’s
Communicators
• Funcionalidades:
–Envio e recebimento de mensagens;
–Entrada e saída de Conferências; e
–Gerência destes aspectos e simplificação dos mesmos (listas de discussão).
Pág. 13
Communicators: Sistemas de
Conferência
• Permitem que um grupo de usuários se comuniquem através de canais de áudio e/ou vídeo a partir de computadores.
• Alguns sistemas permitem que todos os usuários transmitam e recebam ao mesmo tempo, enquanto que outros permitem que apenas um usuário transmita e os outros recebam.
Pág. 14
Communicators: E-mail e “Chats e
MUD’s”
–Exemplo mais famoso de groupware e, provavelmente, o mais usado.
• Chats e MUD’s
–Neste caso, a interação ocorre basicamente através de mensagens textuais. Os participantes podem enviar suas mensagens para todo o grupo ou para pequenos subgrupos de usuários.
Coordinators: Definição
• Em alguns casos a cooperação ocorre quando cada usuário executa uma determinada atividade em uma determinada ordem.
• Um coordinator é um sistema que possui um conjunto de funcionalidades relacionadas a evolução temporal do sistema, garantindo que uma atividade seja executada, depois que as atividades precedentes foram executadas.
Coordinators: Definição
• Uma boa metáfora para entendermos um coordinator é a linha de produção em uma fábrica (de automóveis, por exemplo):
– cada funcionário executa uma determinada tarefa:
•um funcionário coloca os pneus;
•outro engata o pará-choque;
•o próximo testa as portas; etc.
– o produto final do trabalho de todos estes funcionários é o automóvel.
Pág. 17
Coordinators: Exemplos
• Sistemas de Gerência de Workflow
• Sistemas de Processo de Software
• Alguns Sistemas para Apoio a Reunião em Grupo
• Alguns Sistemas de Apoio a Decisão
• Sistemas para Revisão de Documentos
• Sistemas para apoio a Inspeção de Software
Pág. 18
E o Artefato?
• Neste caso, o keeper que será responsável por armazenar o artefato é simples ou não é interessante. Ou seja, o keeper é o aspecto menos importante em sistemas como esses.
• Realmente, dificilmente o artefato é compartilhado entre os membros do time. Na maior parte dos casos, o artefato flui em uma determinada direção de um membro para outro.
Coordinators: Funcionalidades
• O coordinator deve garantir a
EXECUÇÃO
EXECUÇÃO
de um plano, que é a sequência de atividades que deve ser executada. Este plano também é chamado de processo ou procedimento.• O coordinator deve garantir que uma determinada instância do processo seguirá este processo.
– Processo: Sistemas de Vendas.
– Instância: Venda do livro do Design Patterns para o Zézinho que mora em Belém.
Coordinators: Funcionalidades
•
O processo do coordinator descreve quais as
atividades a serem executadas, a sequência
em que estas atividades devem ocorrer, quem
irá executar cada uma destas, quando elas
iniciam e terminam, etc. Desta foma, a outra
funcionalidade dos coordinators refere-se a
MODELAGEM
Pág. 21
Coordinators: Funcionalidades
-Modelagem
• Os sistemas de gerência de workflow e de processo de SW também permitem a definição das pessoas e prazos. Além disso, eles permitem a definição das atividades e da ordem em que elas serão executadas, e das ferramentas que irão apoiar cada uma das atividades.
– Ex: No sistema de Vendas, o Word 7 será usado para preencher o pedido, o sistema XYZ será usado para gerar a nota fiscal, etc.
Pág. 22
Team-Agents
•
São participantes artificiais que executam
funções especializadas dentro de um
grupo.
•
Categorias:
–agentes autônomos –agentes mono-usuário –agentes de grupoTeam-Agents - Exemplos
• Exemplos:– “especialista de performance” dentro de uma equipe de engenharia de software
– “mediador social”, em uma reunião eletrônica
– agentes de interface com o usuário
• Idealmente, os team-agents são membros ativos do grupo.
• Sistemas de Recomendação
Classificação
• Esta classificação não é necessariamente
completa. Ela deve ser vista como os extremos de um espaço contínuo.
• Em outras palavras, uma determinada aplicação pode possuir características ligadas a mais de um aspecto.
Pág. 25
Classificação dos Grupos
• Pode-se definir um grupo como uma comunidade de participantes que colaboram entre si, objetivando atingir as mesmas metas e compartilhando tarefas, conhecimento comum, preferências, etc, ou pode ser um grupo sem qualquer forma definida (amorfo), ou seja, sem conhecimento dos outros integrantes do grupo e sem metas compartilhadas em comum.
• Grupos podem ser bem pequenos (dois usuário editando um texto) ou muito grandes (usuários em uma eleição).
Pág. 26
Classificação dos Grupos
• É interessante classificar os grupos de acordo com suas características específicas
– Times
– Organizações
– Grupos de interação social
– Grupos amorfos
• Entretanto, estes grupos não são exclusivos.
Classificação ...: Times
• Um time é um grupo coeso cujos membros se conhecem que trabalham em uma tarefa particular.
• Geralmente, possuem poucos integrantes que se conhecem e tem um objetivo em comum. Frequentemente, eles são “pares”.
• Exemplos
– duas pessoas escrevem um artigo, um time de futebol, um conjunto de projetistas de SW.
Classificação ...: Times
• Tipicamente, os times trabalham em reuniões: todos os membros se reúnem para efetuar a tarefa. A reunião não tem passos pré-definidos e a divisão do trabalho entre o time evolui de acordo com a tarefa.
• Um membro depende altamente dos outros para executar suas tarefas. Ele precisa estar ciente do trabalho dos outros para efetuar o seu corretamente.
Pág. 29
Classificação ...: Organizações
• São grupos de pessoas regidos por regras e estruturas. Geralmente, ela possui um grande número de pessoas que (i) podem(ou não) se conhecer, (ii) podem(ou não) ter o mesmo objetivo. A organização tem várias atividades e objetivos, e cada membro está engajado em conjuntos destes.
• Os membros se relacionam através de estruturas formais como relações hierárquicas e de poder.
Pág. 30
Classificação ...: Organizações
• Cada membro desempenha um ou mais papéis que definem os direitos, as operações, e o nível de acesso às informações do mesmo.
• Tipicamente, cada membro trabalha individualmente nas suas atividades. Assim, a divisão do trabalho e a especificação das atividades é pré-definida, ou seja, os membros não se “preocupam” com ela. O trabalho é dividido em unidades executáveis que são ordenadas de maneira a garantir a execução correta do mesmo.
Classificação ...: Grupos Sociais
• É um grupo de pessoas cujo objetivo é se socializar. Geralmente, são grupos pequenos cujos membros se conhecem, mas não tem um objetivo em comum.
• O modo de interação típico é a conversação que é não-estruturada, situada e altamente interativa
• Exemplos de grupos deste tipo ocorrem em salas de chat e news groups na Internet.
Classificação ...: Grupos Amorfos
• São grupos formados por um grande número de pessoas que não se conhecem, não possuem objetivos em comum, não possuem relações de hierarquia, etc.
• Geralmente, estes grupos possuem um espaço de informação (information space) associado. Assim, todo membro deve fornecer (i) um meio para ser “acessado” pelos outros membros e (ii) informação pública sobre o mesmo que permita
Pág. 33
Classificação ...: Grupos Amorfos
• Esta informação pública dos membros é o espaço de informação do grupo.
• Por exemplo, os habitantes de uma cidade formam um grupo amorfo: cada membro pode ser acessado através de seu endereco/telefone, de anúncios no jornal, lista telefônica, etc.
• O modo de interação principal é a pesquisa, i.e., um membro pesquisa no espaço de informação por meios de acessar um outro membro.
Pág. 34
Classificação ...: Grupos Amorfos
• A Internet é provavelmente o grupo amorfo mais interessante porque o seu espaço de informação pode ser explorado por computadores.
Classificação ...: Interseções
• Times passam a ganhar características de organizações quando crescem demasiadamente: os membros passam a não se conhecer e nem estar cientes do trabalho dos outros.
• Eles podem criar estruturas, como sub-grupos por função ou área de interesse, para uma melhor organização. Alguns exemplos são o desenvolvimento de software, grandes projetos ou experimentos científicos.
Conclusões
• Conceitos Básicos
– Protocolos e Artefatos de colaboração – Percepção (awareness)
– Aspectos Organizacionais
• Tipos de aplicações de groupware
– Escrita colaborativa, wikis, – Workflow,
– Comunicação: chats e Collaborative Virtual Environments, etc.
– Redes Sociais
• Desenvolvimento Colaborativo de Software