A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Uma Abordagem para o Desenvolvimento de Apoio à Percepção em Ambientes Colaborativos de Desenvolvimento de Software Marco Aurélio Souza Mangan Orientadores:

Apresentações semelhantes


Apresentação em tema: "Uma Abordagem para o Desenvolvimento de Apoio à Percepção em Ambientes Colaborativos de Desenvolvimento de Software Marco Aurélio Souza Mangan Orientadores:"— Transcrição da apresentação:

1 Uma Abordagem para o Desenvolvimento de Apoio à Percepção em Ambientes Colaborativos de Desenvolvimento de Software Marco Aurélio Souza Mangan Orientadores: Cláudia M. L. Werner, Marcos R. S. Borges

2 2 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

3 3 :: 40 Cenário  Desenvolvimento Distribuído ou Globalizado de Software Participantes em lugares ou horários diferentes Equipes virtuais Em teoria: aumento de produtividade Na prática: problemas culturais, dificuldades de percepção e comunicação  Ambientes Colaborativos de Desenvolvimento de Software Ferramentas para o desenvolvimento de software + ferramentas para colaboração Duas dimensões: apoio à tarefa e apoio à colaboração Exemplos: Palantir, Milos, Tukan, Gossip, Serendipity

4 4 :: 40 Apoio à colaboração e apoio à tarefa Legenda: ● biblioteca ou groupware genérico □ ferramenta ou ambiente CASE BSCW JDK  ARGOUML, Poseidon  Odyssey  OdysseyShare, Serendipity Apoio à tarefa Apoio à colaboração Eclipse, Visual SmallTalk TUKAN, Palantir  CO2DE  DARGOUML alto baixo alto REDUCE COAST 

5 5 :: 40 Motivação  Ausência de apoio adequado à colaboração nos ambientes de desenvolvimento tradicionais (e.x. Eclipse, Rose)  Dificuldades na combinação de apoio à tarefa e apoio à percepção em uma mesma ferramenta  Reutilização de software: economia e qualidade Semelhanças e diferenças entre ambientes colaborativos  Necessidade de uma abordagem alternativa ao uso de frameworks e toolkits colaborativos Modelo de desenvolvimento: diversos participantes, framelets Arquitetura: coexistência de diversas soluções

6 6 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

7 7 :: 40 Problema e Proposta de Solução  Problema: Como construir ambientes colaborativos para o desenvolvimento de software? Como oferecer apoio adequado para a tarefa e para a colaboração? Como permitir a composição de diferentes ambientes?  Proposta de Solução: Alterações sobre ferramentas que oferecem apoio à tarefa Uma arquitetura de colaboração que descreve uma infra-estrutura comum Mecanismos de extensão que permitem tratar de variantes Metodologia para desenvolver e avaliar essas extensões

8 8 :: 40 Objetivos  Analisar os ambientes de desenvolvimento colaborativo como uma família de aplicações  Apresentar uma abordagem de desenvolvimento alternativa ao uso de groupkits e frameworks colaborativos  Determinar se existe um conjunto de características para descrever o apoio à percepção nesses ambientes  Realizar implementação de protótipos  Realizar avaliações dos protótipos

9 9 :: 40 Hipóteses  Existe um potencial para reutilização de software nesses ambientes de desenvolvimento colaborativo?  É possivel desenvolver o apoio à percepção em ambientes de desenvolvimento pré-existentes?  O apoio à percepção desenvolvido dessa forma pode ser comparado com o apoio existente em ambientes desenvolvidos com uma abordagem diferente?

10 10 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

11 11 :: 40 Características do domínio  Os ambientes colaborativos estudados fazem parte de uma família de aplicações  As aplicações podem ser classificadas de acordo com características específicas  As características escolhidas tem origem no vocabulário dos especialistas

12 12 :: 40 Diagrama de características

13 13 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

14 14 :: 40 Colaboração Transparente  Técnica de desenvolvimento de groupware  Permite a modificação de ferramentas existentes para a inclusão de apoio à colaboração, em particular, apoio à percepção  Colaboração Transparente (~1980)  Colaboração Flexível (Begole, 1998)  Colaboração Inteligente (Li e Li, 2000)  Contribuições desta tese para a técnica de colaboração transparente: eventos semânticos, a combinação de mecanismos de apoio à percepção e a possibilidade de reutilização desses mecanismos

15 15 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT) Modelo de Percepção com base em Anotações Modelo de Percepção com base em Anotações Arquitetura Processo de desenvolvimento  Protótipos  Avaliações dos Protótipos  Conclusão

16 16 :: 40 Modelo de Percepção com base em Anotações  Espaço de software: ambiente virtual descrito por meio de documentos estruturados utilizados no desenvolvimento de software Modelos e código fonte  Modelo objetivo de percepção: meta-modelo UML  Anotações representam informações de percepção que relacionam atividades de agentes sobre o modelo objetivo  Outros modelos objetivos de percepção: ex.: documento, diagrama, WIMP

17 17 :: 40 Modelo de Percepção com base em Anotações

18 18 :: 40 Arquitetura de Colaboração Transparente  Uma descrição dos principais componentes de um ambiente colaborativo Ferramenta CASE (Aplicação): uma fonte de eventos Sensor (Coletor): um programa que coleta eventos Extensão (Collablet): um consumidor de eventos

19 19 :: 40 Visão geral da arquitetura

20 20 :: 40 Arquitetura de distribuição  Três modelos de percepção WIMP: janela, botão, barra de rolagem Modelo: classe, pacote, relacionamento Documento: documento, parágrafo, linhas  Cinco operações básicas Criar, recuperar, alterar, remover, visualizar  Eventos: operações + elementos de um modelo de percepção Exemplos: criar classe, alterar linha, mover janela  Eventos são ordenados em canais de comunicação Dados históricos e dados on-line

21 21 :: 40 Arquitetura de distribuição  Arquitetura de Quadro Negro (Blackboard) A comunicação ocorre em um único espaço compartilhado Notificação e consulta com base em exemplos  Notificação de eventos implementada usando espaço de tuplas Integrado com o modelo de objetos Comunicação e persistência em um único sistema Paradigma de programação distribuída

22 22 :: 40 Arquitetura de distribuição CASE tool Collector Extension Collector CASE tool Extension Event Notification e2[e1] write(e2[e1]) e1 write(e1) read(e?)

23 23 :: 40 Processo de desenvolvimento  Um guia para o desenvolvimento de extensões  Papéis: capacidades e responsabilidades Desenvolvedor da ferramenta CASE Desenvolvedor da extensão colaborativa Administrador da base de eventos Desenvolvedor de integração Administrador de ambiente  Atividades: etapas na criação de uma ambiente colaborativo Desenvolvimento da ferramenta CASE Desenvolvimento da extensão colaborativa Desenvolvimento da integração Composição de um ambiente

24 24 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

25 25 :: 40 Protótipos  Projeto e implementação de alterações: Coletor e Extensão colaborativa  Coletores são reutilizados  Uma extensão pode utilizar um novo ambiente por meio de um coletor adequado  O desenvolvimento dos protótipos demonstra a viabilidade de proposta e o potencial para reutilização

26 26 :: 40 Protótipos Shared Workspaces Tarefa: revisão de software Ferramenta CASE: Odyssey Coletor: Sistema de Janelas Java Modelo de percepção espacial GAW Tarefa: programação concorrente Ferramenta CASE: Eclipse Coletor: mecanismo de extensão da ferramenta Modelo de percepção com base em documentos

27 27 :: 40 Protótipos MAIS Tarefa: modelagem concorrente Ferramenta CASE: Odyssey Coletor: mecanismo de extensão da ferramenta Modelo de percepção semântico Ariane Tarefa: gerência de software Ferramenta CASE: Odyssey Coletor: camada de persistência Modelo de percepção semântico

28 28 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

29 29 :: 40 Avaliações dos protótipos  Adaptação de guias para planejamento de avaliações  Metodologia para o planejamento das avaliações Passo 1: Descrição de aplicação Passo 2: Definição do tipo de estudo Passo 3: Descrição da tarefa operacional Passo 4: Definição de medidas Passo 5: Análise

30 30 :: 40 Avaliações dos protótipos  Avaliações realizadas usando diferentes protótipos Shared Workspaces, Ariane, MAIS, GAW  Diferentes perfis de participantes: alunos e profissionais  Resultados obtidos nas avaliações Avaliação da operação correta do protótipo Avaliação da usabilidade do protótipo Sugestões e correções de funcionalidades Empacotamento do protótipo Relação entre o uso do protótipo e o tempo, esforço e satisfação durante a tarefa

31 31 :: 40 Exemplo: Avaliação comparativa entre o GAW e o RH Objeto de estudo representações gráficas e textuais para informação de percepção. Propósito avaliar o uso de ambas as representações. Foco de qualidade esforço realizado e satisfação do usuário. Perspectiva do programador em condição de distribuição. Contexto seis desenvolvedores profissionais, divididos em dois grupos de três desenvolvedores, que procuram individualmente por especialistas sobre artefatos.

32 32 :: 40 Avaliação do GAW e Resource History nas questões de usabilidade

33 33 :: 40 Roteiro  Cenário, Motivação  Problema, Proposta de Solução, Objetivos e Hipóteses  Análise do Domínio  Colaboração Transparente  Arquitetura de Colaboração Transparente (ACT)  Protótipos  Avaliações dos Protótipos  Conclusão

34 34 :: 40 Conclusão  Alternativa para o desenvolvimento de ambientes colaborativos  A extensão de ferramentas de software pré-existentes reduz o problema de apoio à tarefa  As alterações são compostas de duas partes reutilizáveis: coletores e extensões colaborativas  Uma arquitetura descreve os componentes de uma infra-estrutura comum  Um processo de desenvolvimento guia os desenvolvedores de ambientes colaborativos  Os exemplos de alterações realizadas com os protótipos demonstram a viabilidade da abordagem  A avaliações dos protótipos demonstram a aplicabilidade dessas alterações

35 35 :: 40 Contribuições desta tese  A definição de uma abordagem para o desenvolvimento de apoio à percepção em cenários reais de desenvolvimento de software, envolvendo pequenas equipes (2 a 10 pessoas)  A proposta de uma metodologia para planejamento e observação de cenários e estudos de caso que ofereceram dados mais concretos sobre os efeitos do apoio à colaboração sobre o trabalho dos participantes  A implementação de uma arquitetura transparente que facilita a integração e a observação dos efeitos do apoio à colaboração nesses ambientes

36 36 :: 40 Contribuições desta tese  Uma análise do domínio de conhecimento relativo ao desenvolvimento distribuído de software e da família de aplicações propostas para esse domínio, dentro do aspecto de apoio à percepção  A construção de protótipos com base na abordagem proposta  A realização de observações sobre a usabilidade dos protótipos

37 37 :: 40 Limitações  Família de aplicações restrita  Esforço adicional para o desenvolvimento para reutilização  Falta de uma avaliação sistemática do esforço de desenvolvimento com a abordagem proposta

38 38 :: 40 Perspectivas Futuras  maiores facilidades para o uso da abordagem desenvolvimento ou aplicação de ferramentas que auxiliem na composição de ambientes com base em componentes criação de componentes visuais que simplifiquem a ligação entre componentes e a configuração de ambientes a partir de uma interface de usuário intuitiva  Ampliação da família de aplicações atendida pela abordagem  Incentivo e observação da colaboração nos ambientes modificados

39 39 :: 40 Publicações e atividades no período  Artigos internacionais: 4/6 MANGAN, M. A. S., BORGES, M. R. S., WERNER, C. M. L., "Increasing Awareness in Distributed Software Development Workspaces", In: International Workshop on Groupware, pp.84-91, Costa Rica, 2004 MANGAN, M. A. S., BORGES, M. R. S., WERNER, C. M. L., "A Middleware to Increase Awareness in Distributed Software Development Workspaces", In: WebMedia & LA-Web Joint Conference, pp.62-64, Brasil, 2004.  Artigo nacionais: 4/11 MANGAN, M. A. S., WERNER, C. M. L., BORGES, M. R. S., "Componentes para Colaboração Síncrona em um Ambiente de Reutilização de Software", In: XVI Simpósio Brasileiro de Engenharia de Software, Caderno de Ferramentas, pp.372-377, Brasil, 2002.  Co-orientações Trabalhos de conclusão: 2

40 40 :: 40 Uma Abordagem para o Desenvolvimento de Apoio à Percepção em Ambientes Colaborativos de Desenvolvimento de Software Marco Aurélio Souza Mangan Orientadores: Cláudia M. L. Werner, Marcos R. S. Borges


Carregar ppt "Uma Abordagem para o Desenvolvimento de Apoio à Percepção em Ambientes Colaborativos de Desenvolvimento de Software Marco Aurélio Souza Mangan Orientadores:"

Apresentações semelhantes


Anúncios Google