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

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

Marco A. GerosaSeminário IME/USP 24/11/2008 Groupware Workbench: Componentes de Software para Colaboração na Web Marco Aurélio Gerosa

Apresentações semelhantes


Apresentação em tema: "Marco A. GerosaSeminário IME/USP 24/11/2008 Groupware Workbench: Componentes de Software para Colaboração na Web Marco Aurélio Gerosa"— Transcrição da apresentação:

1 Marco A. GerosaSeminário IME/USP 24/11/2008 Groupware Workbench: Componentes de Software para Colaboração na Web Marco Aurélio Gerosa gerosa@ime.usp.br

2 Componentes de Software para colaboração na Web Marco A. Gerosa2 Seminário IME/USP 24/11/2008 Sumário Evolução da tecnologia e sistemas colaborativos Dificuldades de desenvolvimento Uma proposta de bancada baseada em componentes para o desenvolvimento de sistemas colaborativos Estudos de casos e Avaliação Considerações finais

3 Componentes de Software para colaboração na Web Marco A. Gerosa3 Seminário IME/USP 24/11/2008 Evolução da tecnologia Processamento de dados Sistemas de Informação Sistemas de comunicação Douglas Engelbart [1968] já sabia! Software hoje é colaborativo. Novos recursos colaborativos em aplicações monousuário

4 Componentes de Software para colaboração na Web Marco A. Gerosa4 Seminário IME/USP 24/11/2008 Evolução da Web Hoje a Web é a plataforma padrão para execução de sistemas Web Estática => Web Dinâmica => Web colaborativa! Web 1.0 (read-only) x Web 2.0 (read-write) Junção de informação, funcionalidade e colaboração Tagging, filtros colaborativos, sistemas de recomendação, sistemas de reputação, feeds etc. Wikis, blogs, redes sociais, online games etc. Inteligência coletiva –Uso de informações produzidas socialmente direta ou indiretamente (número de links para uma página, compras similares, votos, comentários etc.) A Web 2.0 não é uma revolução técnica, mas sim na forma como é encarada por usuários e desenvolvedores. Ref: Wikipedia

5 Componentes de Software para colaboração na Web Marco A. Gerosa5 Seminário IME/USP 24/11/2008 Exemplos de sistemas da Web 2.0 Compartilhamento de fotos Recomendação (o que outros compraram depois de ver o produto, produtos similares) Tagging Avaliação do produto Resenha Troca de mensagens Wiki (Amapedia) Vídeos sendo vistos Avaliação Compartilhar em redes sociais Comentário Estatísticas Sites com links para o vídeo

6 Componentes de Software para colaboração na Web Marco A. Gerosa6 Seminário IME/USP 24/11/2008 As gigantes estão atentas “Rapid prototyping” “Social interactions”

7 Componentes de Software para colaboração na Web Marco A. Gerosa7 Seminário IME/USP 24/11/2008 As gigantes estão atentas “methods for harvesting the collective intelligence of groups of people”

8 Componentes de Software para colaboração na Web Marco A. Gerosa8 Seminário IME/USP 24/11/2008 As gigantes estão atentas “Humans are fundamentally social creatures.”

9 Componentes de Software para colaboração na Web Marco A. Gerosa9 Seminário IME/USP 24/11/2008 As gigantes estão atentas

10 Componentes de Software para colaboração na Web Marco A. Gerosa10 Seminário IME/USP 24/11/2008 Google

11 Marco A. GerosaSeminário IME/USP 24/11/2008 OK, hoje sistemas web são sistemas colaborativos, mas quais são as dificuldades de desenvolvimento?

12 Componentes de Software para colaboração na Web Marco A. Gerosa12 Seminário IME/USP 24/11/2008 Desenvolvimento de Sistemas Colaborativos Complexidades técnicas –Sincronismo, concorrência, compartilhamento, distribuição, protocolos, conexões, gerenciamento de sessões Projeto da interação indivíduo-software E indivíduo-indivíduo –Sistemas difíceis de especificar –Sistemas mais propícios a falhas Modelos de negócio baseado na Web –Necessidade de alta capacidade de evolução e escalabilidade Constante evolução das tarefas e do grupo –Requisitos imprecisos, instáveis e evolutivos –Código desenvolvido tende a se tornar desestruturado com a evolução contínua Conhecimento multidisciplinar –Engenharia de software, banco de dados, inteligência artificial, sistemas de informação, interação humano-computador, sistemas multimídia, sistemas distribuídos etc. –Sociologia, psicologia, antropologia, ciências sociais etc. Múltiplias áreas de aplicação, múltiplos propósitos –Socialização, administração, educação, jogos e entretenimento, engenharia de software etc. A área é recente e ainda não há um corpo de conhecimento bem consolidado Conseqüências Deslocamento dos esforços de desenvolvimento e criatividade Código difícil de manter e evoluir Como melhorar este cenário? Propiciar a prototipação e o reuso Encapsular a complexidade técnica e propiciar o reuso de conhecimento

13 Componentes de Software para colaboração na Web Marco A. Gerosa13 Seminário IME/USP 24/11/2008 Modelo BRETAM para uma tecnologia [Gaines, 1999] [Greenberg, 2007] Parte das dificuldades de desenvolvimento de groupware vem da falta de um ferramental que simplifique o desenvolvimento e que possibilite prototipar soluções.

14 Componentes de Software para colaboração na Web Marco A. Gerosa14 Seminário IME/USP 24/11/2008 Prototipação e criatividade Construção de sistemas de informação –toolkits de widgets gráficos No desenvolvimento de groupware ainda são necessários programadores qualificados, que direcionam a criatividade e os esforços para a criação de soluções para os problemas de natureza técnica de baixo nível, deslocando a investigação da interação e o suporte à colaboração para um segundo plano. Hipertexto - editores WYSIWYG

15 Componentes de Software para colaboração na Web Marco A. Gerosa15 Seminário IME/USP 24/11/2008 Componentes de Software Benefícios –Manutenibilidade –Reuso (com uma granularidade média) –Adaptabilidade –Extensibilidade –Prototipação, experimentação e desenvolvimento iterativo –Encapsulamento do conhecimento do domínio e dos detalhes de implementação –Programação em um nível mais alto (integração de componentes). –Desenvolvimento paralelo e em grupo –Integração de diferentes tecnologias, linguagens e plataformas Dificuldades –Esforço inicial de análise, projeto, implementação, testes e documentação –Custo de estudo e entendimento dos componentes e da infra-estrutura de execução –Custo de modificação do componente, nem sempre possível

16 Componentes de Software para colaboração na Web Marco A. Gerosa16 Seminário IME/USP 24/11/2008 Ferramentas Colaborativas (serviços) exemplos de serviços colaborativos encontrados em groupware

17 Componentes de Software para colaboração na Web Marco A. Gerosa17 Seminário IME/USP 24/11/2008 Elementos de colaboração Funcionalidades compartilhadas entre serviços Categorização

18 Componentes de Software para colaboração na Web Marco A. Gerosa18 Seminário IME/USP 24/11/2008 Abordagem proposta Serviço com funcionalidades referentes aos três C’s Seleção dos componentes para o suporte à colaboração Encapsulamento das complexidades técnicas e regras de negócio sobre colaboração, obtidas de especialistas do domínio e experimentação Reuso

19 Componentes de Software para colaboração na Web Marco A. Gerosa19 Seminário IME/USP 24/11/2008 O Modelo 3C de Colaboração Baseado em Ellis et al. (1991) Freqüentemente citado e usado na literatura

20 Componentes de Software para colaboração na Web Marco A. Gerosa20 Seminário IME/USP 24/11/2008 Exemplo de Análise 3C Mecanismos 3C de um bate-papo típico Comunicação Linguagem Transmissão Tamanho e Qualidade Estruturação do discurso Categorização Coordenação Tópico Sessão Acesso Presença Disponibilidade Papéis Posse da palavra Freqüência Visibilidade Endereçamento Indicação do turno-em-desenvolvimento Avaliação Cooperação Registro Configuração do espaço Mensagens preconcebidas Elementos 3C das ferramentas de comunicação síncrona

21 Componentes de Software para colaboração na Web Marco A. Gerosa21 Seminário IME/USP 24/11/2008 Evolução baseada no modelo 3C

22 Componentes de Software para colaboração na Web Marco A. Gerosa22 Seminário IME/USP 24/11/2008 A Arquitetura Proposta Funcionalidades dos component frameworks recorrentes e reusáveis → Component framework framework –component framework de segunda ordem, onde seus componentes são component frameworks (Szyperski, 1997, p.276). Camada de negócio Instâncias de um componente Interação entre os frameworks Acoplamento através de interfaces Customização através de arquivos descritores

23 Componentes de Software para colaboração na Web Marco A. Gerosa23 Seminário IME/USP 24/11/2008 Um componente Empacotamento Customização Relacionamentos Arquitetura

24 Componentes de Software para colaboração na Web Marco A. Gerosa24 Seminário IME/USP 24/11/2008 Aplicação-exemplo Gerenciamento de Projetos

25 Componentes de Software para colaboração na Web Marco A. Gerosa25 Seminário IME/USP 24/11/2008 Exemplos de funcionalidades providas Definição de dependência entre serviços Definição de dependência entre serviços e componentes de colaboração Instalação, atualização e remoção de componentes Uso de um serviço como stand alone Uso da aplicação como serviço Duplicação do componente em contextos diferentes Duplicação do componente em um mesmo contexto Ferramenta externa Duplicação da aplicação

26 Componentes de Software para colaboração na Web Marco A. Gerosa26 Seminário IME/USP 24/11/2008 Estudos de Caso e Avaliação Com a bancada espera-se que uma grande quantidade de aplicações seja criada, algumas comercialmente, outras por diversão e outras, por estudantes, como exercícios em seus cursos. Avaliação da bancada: –Utilização por estudantes de graduação e pós –Construção de um sistema colaborativo para suporte a aulas –Desenvolvimento de componentes como resultados de pesquisas –Componentização de ambientes já existentes

27 Componentes de Software para colaboração na Web Marco A. Gerosa27 Seminário IME/USP 24/11/2008 Utilização por estudantes de graduação e pós Espera-se que a bancada seja robusta e simples o suficiente para que alunos de graduação e pós-graduação criem aplicações colaborativas e prototipem novos serviços e componentes de colaboração ao longo de uma disciplina. Disciplinas no IME/USP –MAC0434/MAC5798 (Desenvolvimento de Sistemas Colaborativos) - 2008.2 e 2009.2 –MAC0416/MAC???? (Tópicos Especiais em Desenvolvimento para Web) – 2009.1 Disciplina na PUC-Rio –INF 1637/INF2132 (Engenharia de Groupware) – 2008.1 e 2009.2 (?) O código produzido é analisado e são aplicados questionários e entrevistas. Além de avaliar e refinar a bancada, estas disciplinas capacitam os alunos no desenvolvimento para Web e no desenvolvimento baseado em componentes. Alguns dos componentes produzidos são acrescentados ao repositório.

28 Componentes de Software para colaboração na Web Marco A. Gerosa28 Seminário IME/USP 24/11/2008 Construção de um sistema para suporte a aulas Montagem de um ambiente para dar suporte ao ensino- aprendizagem colaborativo a partir dos componentes da bancada Uso prático de toda infra-estrutura Refinamento do código existente e geração de novos requisitos Parceria com o IC/UNICAMP para construção de um sistema de apoio a aulas ministradas com TabletPCs Sistema para apoio a aprendizagem de programação

29 Componentes de Software para colaboração na Web Marco A. Gerosa29 Seminário IME/USP 24/11/2008 Componentes como resultados de pesquisas Alunos de mestrado e doutorado desenvolvendo componentes reusáveis que encapsulam o conhecimento e funcionalidades relativas às respectivas pesquisas. Exemplos: –Aluno de mestrado Geiser Chalco (IME/USP) – componente para definição de workflow adaptativo –Aluno de doutorado Bruno Gadelha (PUC-Rio) – componente para gestão de aprendizagem funcionais –Alunos de mestrado do prof. Mariano Pimentel (UNIRIO) – componentes para comunicação online

30 Componentes de Software para colaboração na Web Marco A. Gerosa30 Seminário IME/USP 24/11/2008 Componentização de ambientes já existentes Ambiente de ensino-aprendizagem AulaNet Apoiar um curso → ambiente de ensino-aprendizagem Evolução por prototipação → código desestruturado 8 anos de desenvolvimento, LES/PUC-Rio Estudo de caso (AulaNet 3.0) CCEAD Globo NEXTEL Delegacia Legal UltraGás AulaNet 2.0

31 Componentes de Software para colaboração na Web Marco A. Gerosa31 Seminário IME/USP 24/11/2008 Componentização no AulaNet Mundo acadêmico e corporativo Acompanhar a evolução da dinâmica do curso e do grupo Não há como prever todas as demandas para o ambiente Equipe de desenvolvimento: alunos de graduação, mestrado e doutorado. Encapsulamento do conhecimento adquirido nos 8 anos de desenvolvimento do ambiente Integração LES/EduWeb Possibilidade de grupos de pesquisa externos desenvolverem componentes para o ambiente

32 Componentes de Software para colaboração na Web Marco A. Gerosa32 Seminário IME/USP 24/11/2008 Estudo de caso Análise da colaboração Seleção de serviços Montagem do groupware Instalação de um mesmo serviço com configurações e características diferentes para atender a tarefas distintas Reuso do serviço em mais de um grupo (Curso, Visitante, Participante e Administrador)

33 Componentes de Software para colaboração na Web Marco A. Gerosa33 Seminário IME/USP 24/11/2008 Capacidade de adaptação Uma alteração da dinâmica da colaboração pode levar à substituição de um componente 3C por uma versão mais robusta Quantidade irrelevante 11 1 M M 1 MN Quantidade mínimaQuantidade máximaQuantidade moderada Estudo de caso: Troca do componente de avaliação

34 Componentes de Software para colaboração na Web Marco A. Gerosa34 Seminário IME/USP 24/11/2008 Considerações Finais Com a bancada, uma grande quantidade de aplicações pode ser criada, comercialmente, por diversão ou por estudantes, como exercícios em seus cursos => diversidade, criatividade, inovação e avanço tecnológico. Espera-se instrumentar o desenvolvimento de sistemas extensíveis e adaptáveis, de modo a lidar com o projeto da colaboração em um alto nível, embasado pelo Modelo 3C. Integração de pesquisa entre instituições Cenário real para a pesquisa em Desenvolvimento Baseado em Componentes e Engenharia de Software Pesquisa em Informática na Educação Disponibilização da bancada na forma de software livre

35 Componentes de Software para colaboração na Web Marco A. Gerosa35 Seminário IME/USP 24/11/2008 Projetos futuros Rumo à Web 3.0 –Interoperabilidade e integração com novas mídias de interação


Carregar ppt "Marco A. GerosaSeminário IME/USP 24/11/2008 Groupware Workbench: Componentes de Software para Colaboração na Web Marco Aurélio Gerosa"

Apresentações semelhantes


Anúncios Google