Componentes de Software e Criatividade no Desenvolvimento de Sistemas Colaborativos. Marco Aurélio Gerosa gerosa@ime.usp.br



Documentos relacionados
Sistemas Colaborativos Fundamentos e Aplicações

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Groupware e ao CSCW

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

ANEXO 1 - QUESTIONÁRIO

CURSO DE GRADUAÇÃO TECNOLÓGICA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS. RECONHECIDO conforme PORTARIA nº 295, de 25 de Junho de 2008.

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Desenho didático para cursos online

Web 2.0. Amanda Ponce Armelin RA

Definições: quando usar cada um?

Tabela de Preços Sugeridos

Introdução à Computação

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

COLIVRE Cooperativa de Tecnologias Livres Telefone: (71) CNPJ:

Módulo II - Aula 3 Comunicação

Sistemas Cooperativos. Professor Alan Alves Oliveira

Semântica para Sharepoint. Busca semântica utilizando ontologias

2.0. Uma Nova Geração de Ferramentas para Gestão de Processos de Software. Coordenação Carla Alessandra Lima Reis Rodrigo Quites Reis

O futuro da educação já começou

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

Introdução à Engenharia de Software

Anexo I Formulário para Proposta

ANEXO I Sumário Manual de Preços e Serviços Digitais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Segurança Internet. Fernando Albuquerque. (061)

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Etapas e Desafios. plataforma de BPM corporativa. BPMS Showcase Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.

INF Introdução a Interação Humano-Computador (IHC)

CoNaIISI º Congresso Nacional de Engenharia Informática / Sistemas de Informação

O e-docs foi testado e homologado pela Microsoft via certificadora internacional Verisign.

Sistemas Cooperativos

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

@FabioCipriani Social Media Brasil de junho de 2011

Tecnologia e Sistemas de Informações

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

CURSO DE GRADUAÇÃO PRESENCIAL SISTEMAS DE INFORMAÇÃO

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Chamada de Participação V Competição de Avaliação - IHC 2012

EMENTAS DAS DISCIPLINAS

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Alfabetização Digital

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

MATRIZ CURRICULAR CURRÍCULO PLENO 1.ª SÉRIE 2.ª SÉRIE CURSO SUPERIOR DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE (ÁREA: INFORMÁTICA)

* As disciplinas por ocasião do curso, serão ofertadas aos alunos em uma sequência didática.

Projeto Pedagógico Institucional PPI FESPSP FUNDAÇÃO ESCOLA DE SOCIOLOGIA E POLÍTICA DE SÃO PAULO PROJETO PEDAGÓGICO INSTITUCIONAL PPI

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Universidade de Brasília. Faculdade de Ciência da Informação. Prof a Lillian Alvares

Secretaria de Gestão Pública de São Paulo. Guia de Avaliação de Maturidade dos Processos de Gestão de TI

1

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Projeto de Arquitetura

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

UNIVERSIDADE FEDERAL DA FRONTEIRA SUL AMBIENTE VIRTUAL INSTITUCIONAL MOODLE/UFFS

Apresentação Institucional

PROJETO CIDADÃO EM REDE: DE CONSUMIDOR A PRODUTOR DE INFORMAÇÃO SOBRE O TERRITÓRIO PLANO DE TRABALHO

O Crescimento da Educação a Distância nas Universidades do Brasil

NOVAS MÍDIAS DIGITAIS - AULA 01 - APRESENTAÇÃO


Fase 1: Engenharia de Produto

EMENTAS DAS DISCIPLINAS

2 INOVAÇÃO NA PROVISÃO DE SERVIÇOS

PROJETO UCA: FORMAÇÃO BRASIL. Proposta de operacionalização. Formação dos professores na escola

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

Grupo Projeção. Portal Acadêmico. - Ambiente do Aluno -

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

NOTAS DE AULA - TELECOMUNICAÇÕES

Fundamentos de Engenharia de Software. Josino Rodrigues

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Manual do Painel Administrativo

Curso de Engenharia Formação Geral 1º e 2º anos

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

3º Seminário Blogs: Redes Sociais e Comunicação Digital

Engenharia de Sistemas Computacionais

Curso Wikis Corporativos: ambientes estratégicos de colaboração e comunicação para empresas 2.0

Curso de Engenharia. Formação Geral 1º e 2º anos

Novell Vibe 3.4. Novell. 1º de julho de Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Gerenciamento Do Escritório Virtual Utilizando O Sistema Web Contábil IDEAL. Atendimento: Tel : (11) suporte@webcontabil.

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR

Proposta Revista MARES DE MINAS

Como monitorar o que estão falando da minha empresa

CURSOS OFERECIDOS. seus objetivos e metas. E também seus elementos fundamentais de Administração, como: PLANEJAMENTO, ORGANIZAÇÃO E CONTROLE.

MINISTÉRIO DA EDUCAÇÃO INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA

LISTA DE EXERCÍCIOS. Mede a capacidade de comunicação de computadores e dispositivos. Operam em diferentes plataformas de hardware

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Transcrição:

Componentes de Software e Criatividade no Desenvolvimento de Sistemas Colaborativos Marco Aurélio Gerosa gerosa@ime.usp.br Marco A. Gerosa Palestra IC/UNICAMP

Sumário Sistemas colaborativos Desenvolvimento de sistemas colaborativos Desenvolvimento baseado em componentes Uma proposta de bancada baseada em componentes para o desenvolvimento de sistemas colaborativos Estudos de casos Conclusão Marco A. Gerosa 2 Palestra IC/UNICAMP

Sistemas colaborativos cada vez mais presentes Processamento de dados Sistemas de Informação Sistemas de comunicação Douglas Engelbart já sabia! Aplicações monousuário com novos recursos colaborativos Software mudou. Marco A. Gerosa 3 Palestra IC/UNICAMP

A Web 2.0 e Social Computing Web colaborativa! Web read-only (1.0) x Web read-write (2.0) Wikis, blogs, redes sociais, online games etc. Tagging, filtros colaborativos, sistemas de recomendação, sistemas de reputação, feeds 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 Marco A. Gerosa 4 Palestra IC/UNICAMP

Exemplos Fotos tiradas por consumidores O que outros compraram depois de ver o produto O que os outros também compraram Uso de Tags Avaliação do produto Resenha Discussão Wiki (Amapedia) Vídeos sendo vistos Avaliação Compartilhar em redes sociais Comentário Estatísticas Sites com links para o vídeo Marco A. Gerosa 5 Palestra IC/UNICAMP

As gigantes estão atentas Rapid prototyping Social interactions Marco A. Gerosa 6 Palestra IC/UNICAMP

As gigantes estão atentas methods for harvesting the collective intelligence of groups of people Marco A. Gerosa 7 Palestra IC/UNICAMP

As gigantes estão atentas Humans are fundamentally social creatures. Marco A. Gerosa 8 Palestra IC/UNICAMP

As gigantes estão atentas Marco A. Gerosa 9 Palestra IC/UNICAMP

Google Marco A. Gerosa 10 Palestra IC/UNICAMP

OK, Sistemas Colaborativos estão disseminados na Web, mas quais são as dificuldades para desenvolver para esta tecnologia? Marco A. Gerosa Palestra IC/UNICAMP

Desenvolvimento de Sistemas Colaborativos Complexidades técnicas Sincronismo, concorrência, compartilhamento, distribuição, protocolos, conexões, gerenciamento de sessões Projeto da interação de um indivíduo com um software E projeto da interação entre indivíduos através de um software Sistemas difíceis de especificar Sistemas mais propícios a falhas Rápida evolução das tarefas e características 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 Marco A. Gerosa 12 Palestra IC/UNICAMP

Desenvolvimento de Sistemas Colaborativos Complexidades técnicas Sincronismo, concorrência, compartilhamento, distribuição, protocolos, conexões, gerenciamento de sessões Conseqüências Projeto da interação de um indivíduo com um software E projeto da interação entre indivíduos através de um software Deslocamento dos esforços de Sistemas difíceis de especificar desenvolvimento e criatividade Sistemas mais propícios a falhas Código difícil de manter e evoluir Rápida evolução das tarefas e características do grupo Requisitos imprecisos, instáveis e evolutivos Código desenvolvido tende Como a se melhorar tornar desestruturado este cenário? com a evolução contínua Conhecimento multidisciplinar Engenharia de software, Propiciar banco de a dados, prototipação inteligência e o artificial, reuso sistemas de informação, interação humano-computador, sistemas multimídia, sistemas distribuídos etc. Encapsular a complexidade Sociologia, psicologia, técnica antropologia, e propiciar ciências o sociais reuso de etc. conhecimento 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 Marco A. Gerosa 13 Palestra IC/UNICAMP

Modelo BRETAM para uma tecnologia Conhecimento Breakthrough Replicação Empiricismo Teoria Automação Maturidade Tempo Parte das dificuldades de desenvolvimento de groupware vem da falta de um ferramental que simplifique o desenvolvimento e que possibilite prototipar soluções. [Greenberg, 2007] [Gaines, 1999] Marco A. Gerosa 14 Palestra IC/UNICAMP

Protipação e criatividade Construção de sistemas de informação toolkits de widgets gráficos Hipertexto - editores WYSIWYG 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. Marco A. Gerosa 15 Palestra IC/UNICAMP

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 Marco A. Gerosa 16 Palestra IC/UNICAMP

Ferramentas Colaborativas (serviços) exemplos de serviços colaborativos encontrados em groupware Marco A. Gerosa 17 Palestra IC/UNICAMP

Elementos de colaboração Funcionalidades compartilhadas entre serviços Categorização Marco A. Gerosa 18 Palestra IC/UNICAMP

Abordagem proposta Comunicação Serviço A Comunicação Componente de Colaboração 1 Groupware x Groupware y Coordenação Serviço B Serviço C Cooperação Serviço D Coordenação Cooperação Componente de Colaboração 2 Componente de Colaboração 3 Componente de Colaboração 4 Componente de Colaboração 5 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 Marco A. Gerosa 19 Palestra IC/UNICAMP

O Modelo 3C de Colaboração comum + ação Ação de tornar comum COMUNICAÇÃO demanda Percepção gera compromissos gerenciados pela COOPERAÇÃO COORDENAÇÃO co + operar + ação Ação de operar em conjunto organiza as tarefas para co + ordem + ação Ação de organizar em conjunto Baseado em Ellis et al. (1991) Freqüentemente citado e usado na literatura Marco A. Gerosa 20 Palestra IC/UNICAMP

Exemplo de Análise 3C Mecanismos 3C de um bate-papo típico Elementos 3C das ferramentas de comunicação síncrona Suporte à Cooperação (registro das mensagens publicadas) Suporte à Comunicação (digitação de novas mensagens) Suporte à Coordenação (lista de participantes) Comunicação Coordenação Cooperação Linguagem Transmissão Tamanho e Qualidade Estruturação do discurso Categorizaçã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 Registro Configuração do espaço Mensagens preconcebidas Marco A. Gerosa 21 Palestra IC/UNICAMP

Evolução baseada no modelo 3C Marco A. Gerosa 22 Palestra IC/UNICAMP

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 realizado através de interfaces Customização através de arquivos descritores. Groupware Component Framework Framework Collaboration Component Framework Database Service Component Framework 3C Component A 3C Component B Groupware Application Service X Service Y Infrastructure Frameworks.. Marco A. Gerosa 23 Palestra IC/UNICAMP

Um componente Arquitetura Empacotamento Customização Relacionamentos * * * << service >> << collabcomponent >> Marco A. Gerosa 24 Palestra IC/UNICAMP

Estudo de caso: Ambiente 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) NEXTEL CCEAD Delegacia Legal AulaNet 2.0 Globo UltraGás Marco A. Gerosa 25 Palestra IC/UNICAMP

Montagem de groupware a partir de componentes Estudo dos temas do curso Análise da colaboração Início do Curso Apresentação do curso Apresentação dos particip. Tópico 1 Estudo 1 Conferência 1 Tópico 2 Estudo 2 Conferência 2 Tópico 8 Estudo 8 Conferência 8 Debate 1 Debate 2 Debate 8 Seleção de serviços Produção colaborativa de conteúdo Encerramento do curso Montagem do groupware Submissão de Protótipo Avaliação do Protótipo Re-submissão do protótipo Anúncio das notas finais Marco A. Gerosa 26 Palestra IC/UNICAMP

Encapsulamento e reuso I Reuso de um serviço em um curso Instalação de um mesmo serviço com configurações e características diferentes para atender a tarefas distintas As sessões de cada atividade são separadas, possibilitando uma maior adequação dos relatórios e estatísticas, precisão nas buscas e adoção de categorias, papéis, permissões e critérios de avaliação diferentes. Estudo de caso: Serviço Conferências no TIAE Marco A. Gerosa 27 Palestra IC/UNICAMP

Encapsulamento e reuso II Reuso do serviço em mais de um grupo Grupos no AulaNet: Curso, Visitante, Participante e Administrador Níveis organizacionais da instituição Subgrupos Estudo de caso: Serviço Conferências para Participantes Marco A. Gerosa 28 Palestra IC/UNICAMP

Extensibilidade É necessário criar um empacotamento que possibilite instalar uma ferramenta que não foi originalmente desenvolvida para o ambiente. Utilização da ferramenta externa de montagem de calendário http://www.javaside.com/u_tcaldate.html Marco A. Gerosa 29 Palestra IC/UNICAMP

Montagem de serviço a partir de componentes Montagem do serviço Conferências Estudo Mediador Seminarista Aprendiz Selecionar Seminarista Tópico Estudo Conferência Debate Inicializar Sessão enables Avaliação das Mensagens enables Submissão do Seminário forces forces Submissão das Submissão de Questões Mensagens enables forces enables Finalizar Sessão blocks Debate Estudo de caso: Categorização Marco A. Gerosa 30 Palestra IC/UNICAMP

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 Estudo de caso: Troca do componente de avaliação Versão 1.2 Versão 2.0 Categorização de Mensagens Acompanhamento quantitativo Avaliação de Mensagens Comentário na avaliação Acompanhamento de acesso Bloqueio da conferência Ponderação qtde e qualidade Pré-visualização da mensagem Gestão de Competências Nova interface com coleções Mecanismo de Busca Análise Estatística Interface para PDA Versão 3.0 Utilização d e Grafos 1998 1999 2000 2001 2002 2003 2004 2005 2006 Quantidade irrelevante Quantidade mínima Quantidade máxima Quantidade moderada 1 1 1 1 M M M N Marco A. Gerosa 31 Palestra IC/UNICAMP

Aplicação-exemplo Gerenciamento de Projetos Marco A. Gerosa 32 Palestra IC/UNICAMP

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 Reuso componentes de colaboração nos diversos serviços serviços nas diversas situações e ambientes Marco A. Gerosa 33 Palestra IC/UNICAMP

Projetos futuros Rumo à Web 3.0 Interoperabilidade, Ubiquidade e Novas mídias de interação Marco A. Gerosa 34 Palestra IC/UNICAMP

Simpósio Brasileiro de Sistemas Colaborativos Marco A. Gerosa 35 Palestra IC/UNICAMP