Voltar para o projeto Odyssey

O Odyssey-Share é um projeto de pesquisa que estuda a aplicação de trabalho colaborativo no processo de desenvolvimento de software. A Engenharia de Software Colaborativa é a área principal de pesquisa do projeto. Esta área engloba tópicos como programação por pares distribuída, modelagem e revisão colaborativa de software, desenho participativo e desenvolvimento global de software.

O desenvolvimento baseado em componentes é uma técnica de reutilização. Suas principais características são o planejamento e a construção de artefatos reutilizáveis de software. O desenvolvimento de software moderno é orientado à reutilização e, especificamente, baseado em componentes. Geralmente, componentes são construídos uma vez e, posteriormente, adaptados e reutilizados em diferentes projetos.

No projeto Odyssey são considerados dois processos de desenvolvimento de software: o processo de Desenvolvimento Baseado em Componentes e o processo de Engenharia de Domínio. As atividades do processo de Desenvolvimento Baseado em Componentes exigem interação e cooperação entre os diversos profissionais envolvidos. Da mesma forma, as atividades do processo de Engenharia de Domínio são desempenhadas por profissionais com funções distintas e que possuem experiências, visões, formas de trabalho e interesses diferentes. A combinação desses dois processos resulta na proposta da engenharia de componentes, no contexto da qual a interação social é bastante rica.

Para que a cooperação possa ser efetivamente realizada, é necessário fornecer elementos computacionais que supram as necessidades de interação entre os profissionais. Esse elementos formam uma infra-estrutura de apoio que visa atender aos requisitos de trabalho cooperativo entre os profissionais, estimulando novas formas de trabalho.

Neste sentido, um ambiente cooperativo para o desenvolvimento de componentes, denominado Odyssey Share, vem sendo construído por meio da combinação de técnicas do contexto de Desenvolvimento Baseado em Componentes, Trabalho Cooperativo e  Banco de Dados.

 

 

Tópicos de pesquisa incluem:
Comunicação

Comunicação é o processo pelo qual informação é trocada entre indivíduos. Informação é uma das entradas básicas para o processo de desenvolvimento de software. Sistemas de comunicação são amplamente disponíveis na sociedade moderna. A rede mundial de computadores (WWW) é um grande sistema de comunicação, assim como, sistemas de telefonia, rádio e televisão.

Geralmente, equipes de software adotam muitas maneiras de comunicação. Documentos e modelos de software são artefatos bem conhecidos de comunicação no desenvolvimento de software. Entretanto, comunicação verbal e informal também são, muitas vezes, tão importantes quanto documentos formais.

Mensagens instantâneas são um tipo de sistema de comunicação. A troca de mensagens escritas curtas imita o comportamento de atos de conversa informais face-a-face. Estudos recentes investigaram o uso de mensagens instantâneas no espaço de trabalho, produzindo agilidade e reduzindo custos de comunicação.

No Ambiente Odyssey Share, um componente de mensagens instantâneas proporciona funcionalidades básicas de bate papo. O componente de mensagens instantâneas utiliza o protocolo Jabber e, portanto, é compatível com os protocolos de  MSN, Yahoo, ICQ e AIM.


Coordenação

Coordenação é a capacitade de agir em conjunto de maneira suave e orquestrada. Esta capacitade está conectada com a produtividade de uma ferramenta de software. Boa coordenação previne a perda de trabalho e promove a otimização de recursos.

existem dois tipos de coordenação sendo considerados: coordenação de atividade e de espaço de trabalho.  A primeira envolve o planejamento, descrição e acompanhamento de processos. A segunda envolve algumas salvaguardas para prevenir a perda de intenção ao manipular artefatos compartilhados.

Coordenação de atividade é implementada no Ambiente Odyssey Share por uma máquina de workflow (Charon). Coordenação de espaço de trabalho é provida por um repositório baseado em XML (MIMIX) e um serviço de busca de componentes baseado na Internet (ComPublish).

 

Awareness (Percepção)

Awareness pode ser descrita como a compreensão das atividades dos outros, proporcionando um contexto para sua própria atividade (Dourish and Belloti). Awareness é relevante porque a ação de um desenvolvedor geralmente depende da sua compreensão das ações recentes sobre os artefatos compartilhados.

Dois tipos de awareness estão em investigação: awareness no mesmo espaço de trabalho e em espaços de trabalho diferentes. Na primeira, desenvolvedores são notificados sobre ações em artefatos colocados em seu próprio espaço de trabalho. Na segunda, desenvolvedores são notificados sobre ações em artefatos conectados a artefatos no seu espaço de trabalho atual ou ações em artefatos que estiveram uma ou várias vezes no seu espaço de trabalho.

 

Componentes CSCW

O Ambiente Odyssey Share é uma extensão baseada em componentes de uma versão anterior do Ambiente Odyssey. Os componentes CSCW foram adicionados ao ambiente para prover diferentes suportes para uma ampla gama de atividades colaborativas.

Os componentes atualmente disponíveis (mas ainda em construção) são:

  • Janelas de mensagens de bate-papo
  • Janelas de presença
  • Janelas de mini-visão
  • Teleapontadores
  • Utensívlios de awareness de grupo

Os componentes apresentam informações que podem melhorar ou promover a colaboração. A informação é coletada com o mínimo de intrusão ao Ambiente Odyssey. Esta transparência promove a utilização de componentes de baixo acoplamento, que podem ser reutiilzados em aplicações similares. Adicionalmente, o Ambiente Odyssey e os componentes CSCW podem ser mantidos em paralelo facilmente. 

 

Avaliação de Componentes CSCW

Componentes para CSCW são partes reutilizáveis de aplicações de CSCW (groupware). A avaliação de componentes para CSCW tem dois objetivos determinar: (a) a qualidade interna do componente e (b) a qualidade externa do componente. No primeiro fator os indicadores são formados por medidas de desempenho, correção e conformidade. No segundo fator, os indicadores abrangem o efeito sobre o trabalho, adequação e usabilidade.

Uma proposta de método de avaliação de componentes colaborativos está em desenvolvimento. Nesta página estão relatados os dados de dois estudos preliminares. Em ambos estudos, os componentes avaliados são o teleapontador e a janela em miniatura acrescentadas ao ambiente Odyssey Share.

 

 

 

O primeiro par de gravações é parte integrante de uma proposta preliminar publicada na conferência "CSCW in Design", Rio de Janeiro, 2002.

participantea-pair.avi (aprox. 44 MB)

participanteb-pair.avi (aprox. 44 MB)

O segundo par  de gravações é parte integrante de uma segunda observação, realizada em 2003. Os participantes A e B da segunda gravação não são os mesmos participantes A e B da segunda gravação. O modelo utilizado e a tarefa utilizados na segunda observação também são diferentes em relação à primeira observação.

participantea-pair-cscl.avi (aprox. 30 MB)

participanteb-pair-cscl.avi (mais de 50 MB)