Home

Documento - Groupware@LES - PUC-Rio

image

Contents

1. 130 Tabela 5 1 Mapeamento dos servi os de comunica o aos componentes 3C 152 Tabela 5 2 Servi os do AulaNet utilizados no curso TIAE ea 154 Tabela 5 3 Componentes 3C para dar suporte computacional din mica das Confer ncias 159 Tabela 5 4 Mapeamento das funcionalidades incorporadas ao servi o Confer ncias aos componentes 3C correspondentes erre eee esis Eeoae 161 Tabela 5 5 Componentes 3C utilizados no Bate Papo e no Debate 2 0 166 Tabela 5 6 Ve culos das publica es diretamente relacionadas a esta tese 168 Tabela 5 7 Trechos das revis es de artigos relacionados a esta tese ee eeeeeeecseeeeesseeeeeseeneeees 169 Tabela 5 8 Cita es a artigos diretamente relacionados a esta tese 171 Tabela 5 9 Identifica o e classifica o das funcionalidades das ferramentas escolhidas 174 Tabela 5 10 Utiliza o dos componentes 3C e eererereeareererareraranas 177 Tabela 5 11 Resultados dos question rios aplicados aos aprendizes 178 Tabela 5 12 Mapeamento das funcionalidades do f rum de discuss o do TelEduc 179 Tabela 6 1 Caracter sticas de bons toolkits Greenberg 2006 186 Tabela A 1 Defini es de componente de software er eraereereeaeranan a 200 Abreviaturas API
2. erra 17 Figura 3 2 A interface do ambiente AulaNet rare eeerereraeaeerratananaa 79 Figura 3 3 Posicionamento dos servi os do AulaNet no tri ngulo apresentado por Borghoff amp Schli hter 2000 ii iien a raea aa E eit Bi E E de niin ea 80 Figura 3 4 Classifica o dos servi os do AulaNet com rela o ao modelo 3C 80 Figura 3 5 Segii ncia de atividades durante o estudo dos t picos do curso 82 Figura 3 6 Trecho de di logo na Confer ncia a e no Debate b os 82 Figura 3 7 Exemplos de estrutura o da discuss o ri rrererraeereeacenrerararanna 87 Figura 3 8 Trecho de um di logo em uma Confer ncia rrenan 89 Figura 3 9 rvores derivadas das confer ncias de uma edi o do curso TIAE 90 Figura 3 10 rvore derivada de uma confer ncia ressaltando as categorias das mensagens 91 Figura 3 11 Seqiienciamento de atividades no curso TIAE rena 97 Figura 3 12 Interdepend ncia entre as tarefas de uma confer ncia o 98 Figura 3 13 Relat rio do acompanhamento da participa o e 100 Figura 3 14 Freqii ncia m dia de mensagens para cada hora dos semin rios das edi es de 2002 1 a 2003 22s Steves states lee A swiss hav ends aE e SERA Ds SUN EA A sett Gus A ble rater eee as 101 Figura 3 15 Frequ ncia m dia de me
3. Messages about 02 Groupware and Digital Communication la de sisstema enquadra se como groupware Alf Geraldo Jos Moraes n n n n lt Marcelo Lopes Oliveira gt Primeiro depende do objetivo Gustavo T Borges e Seminar Desenvolvimento de Aplica es Colaborativas com Qualidade Carla Ha lt Pablo Santos gt Quem conhece o Director 5 fi i jej s 8 lt Marcelo Lopes Oliveira gt Gustavo o pr prio Word pode se prestar nade e ato o Question Requisitos n o Funcionais de Aplica es Colaborativas Carla Hz aks hides ri Luciana Sampaio Rocha f disp e de funcionalidades para isto Marcelo Lopes Oliveira Argumentation Facilidade Coopera o e Coordena o Danilo Vicer lt Liane Pereira Queiroz de Castro gt um aspecto que considero impc f Pablo Santos Counter argumentation Gerenciamento de feeback Breno So capacidade de fornecer uma mem ria do processo que est sen Counter tation Qualidades int terna Fabio aperto a ounter argumentation Qualidades interna e externa Fabio lt Alessandro Fabricio Garcia gt concordo com a Liane uma boa aplic a Argumentation Percep o e Desempenho Jonas Vale 24 08 2003 groupware nao deve requerer grande carga de memoria do usuario x lt Humberto Lins gt E deve ajudar a memoria do grupo a Argumentation Requisitos ido funcionais a interface Anderson S lt Liane Pereira Queiroz de Castro gt Acredito que o contrario grou a Argumentation Usabilidade e dispon
4. A constru o de um framework n o simples e deve ser planejada para o reuso Mattsson 2000 O framework deve ser flex vel reusar as abstra es em diversos contextos extens vel permitir a adi o ou modifica o de funcionalidades e compreens vel bem documentado seguindo padr es e provendo exemplos de utiliza o Gimenes amp Huzita 2005 Para desenvolver um framework deve se identificar e caracterizar o dom nio do problema e definir a arquitetura o projeto da solu o e as maneiras de interagir e estender o framework Como muito dif cil prever em um primeiro momento todas variabilidades e requisitos de um framework seu desenvolvimento normalmente feito iterativamente Um framework normalmente implementado orientado a objetos composto de classes abstratas e concretas interfaces e arquivos de configura o Para especializar o framework utiliza se heran a composi o ou configura o Os pontos de extens o do framework s o chamados hot spots ou plug points Johnson 1997 Govoni 1999 O reuso do framework tamb m chamado de instancia o consiste em preencher os hot spots para obter a aplica o final As partes do framework que s o invariantes s o chamadas de frozen spots A constru o de um framework ou componente pode ser feita independente dos outros elementos desde que mantida a interface e as propriedades requeridas pela arquitetura Um framework pode ser instanciado a partir
5. Os componentes da aplica o s o chamados de tools Para oferecer um ambiente de execu o aos componentes disponibilizado na plataforma IRIS um component framework chamado ICI IRIS Component Infrastructure Este component framework possibilita a integra o de diferentes ferramentas e oferece servi os de execu o que facilitam o desenvolvimento de novos componentes para a plataforma O ICI possui um gerente de componentes chamado ToolConnector que gerencia as ferramentas e oferece a elas servi os de execu o Capitulo 2 Revisao da Literatura 54 Na arquitetura do IRIS n o h componentes centrais As ferramentas os dados e o controle s o replicados Eventualmente um usuario trabalha desconectado no documento compartilhado e ao sincronizar os dados a plataforma IRIS oferece mecanismos para identificar e tratar os eventuais conflitos e gerenciar as vers es intermedi rias A plataforma tamb m oferece recursos para importa o e exporta o dos dados O foco do IRIS a investiga o das quest es de consist ncia e integridade em um ambiente multi usu rio distribu do onde os participantes trabalham conectados e desconectados sincronamente e assincronamente O IRIS foi desenvolvido tamb m com o intuito de investigar as informa es de percep o necess rias para o trabalho em grupo Diferentemente do IRIS nesta tese n o h uma preocupa o expl cita com a autoria compartilhada de documentos e o suporte
6. colabora o Whorf 1956 Com isto a colabora o passa a estar presente nas diversas atividades e artefatos do desenvolvimento de groupware De acordo com Grosz 1996 Collaboration must be designed into systems from the start it cannot be patched on a colabora o deve ser incorporada no projeto dos sistemas desde o in cio n o pode ser remendada A utiliza o de um modelo de colabora o e de componentes fundamentados neste modelo favorece a redu o da dist ncia sem ntica entre Cap tulo 6 Conclus o 188 modelagem e implementa o de modo que os desenvolvedores pensam em termos da colabora o nas diversas atividades do desenvolvimento O sistema colaborativo estruturado a partir de componentes que encapsulam e refletem os conceitos do modelo 3C mapeando as necessidades da colabora o a arranjos de componentes Este ferramental possibilita que programadores criem prot tipos e investiguem suas id ias copiando e variando id ias de outros compondo novos ambientes e ferramentas colaborativas O desenvolvedor instrumentado pelos componentes pr elaborados e pela infra estrutura de execu o direciona seus esfor os investiga o e projeto de um efetivo suporte colabora o O perfil deste desenvolvedor n o necessita mais ser t o especializado em quest es t cnicas de baixo n vel o que muito favor vel ao desenvolvimento do ambiente AulaNet De acordo com o diretor de tecnologia da empr
7. 2500 3000 3500 4000 Quantidade de Caracteres Figura 3 17 Profundidade m dia porcentagem de folhas e quantidade de mensagens nas Confer ncias das edi es de 2002 1 e 2003 1 do curso TIAE Capitulo 3 O Modelo 3C de Colabora o 108 Conforme esperado no nivel zero da rvore h em m dia 1 mensagem que da categoria Semin rio No n vel um 3 mensagens da categoria Quest o No n vel dois ocorre o pico da quantidade de mensagens que s o as respostas diretas s quest es atrav s da categoria Argumenta o No n vel tr s em diante a quantidade de mensagens cai e aparecem as contra argumenta es As mensagens da categoria Semin rio s o as maiores enquanto as da categoria Quest o s o as menores e mensagens com tamanho muito abaixo da m dia costumam receber uma avalia o ruim Os gr ficos da Figura 3 14 e da Figura 3 15 s o exemplos de an lises em fun o do hor rio de envio Este tipo de an lise especialmente til para a vers o PDA do ambiente AulaNetM A apresenta o de informa es de car ter visual percept veis em um relance se mostrou adequada s telas reduzidas dos PDAs e s situa es nas quais eles s o comumente utilizados como no caso de consultas r pidas no intervalo de uma atividade na fila do restaurante ou no corredor espera de uma reuni o Filippo et al 2005 A Figura 3 18 ilustra a exibi o das mensagens de uma confer ncia na forma expandida na forma de rvor
8. Disserta o de Mestrado Departamento de Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro PUC Rio 28 de fevereiro de 2002 Gerosa M A Cunha L M Fuks H amp Lucena C J P 2001 Um groupware baseado no ambiente AulaNet desenvolvido com componentes Anais eletr nicos do 1 Workshop de Desenvolvimento Baseado em Componentes 21 22 Junho Maring PR Gerosa M A Fuks H amp Lucena C J P 2001 Use of Categorization and Structuring of Messages in order to Organize the Discussion and Reduce Information Overload in Asynchronous Textual Communication Tools 7 International Workshop on Groupware CRIWG 2001 M Borges J Haake and U Hoppe eds IEEE 6 8 September Darmstadt Germany pp 136 141 Gerosa M A Fuks H amp Lucena C J P 2002 Resultados da avalia o de um curso baseado na Web VIII Workshop de Inform tica na Escola WIE 2002 XXII Congresso da Sociedade Brasileira de Computa o V 5 17 a 19 de julho Florian polis pp 477 485 Gerosa M A Fuks H amp Lucena C J P 2003 Analysis and Design of Awareness Elements in Collaborative Digital Environments A Case Study in the AulaNet Learning Environment The Journal of Interactive Learning Research 14 3 ISSN 1093 023X Association for the Advancement of Computing in Education USA pp 315 332 Gerosa M A Pimentel M Fuks H amp Lucena C J P 2005 No Need to Read Messages Right Now H
9. definidos O problema que esta tese endere a al m de freq entemente citado na literatura est sendo vivenciado nos 8 anos de desenvolvimento do AulaNet O AulaNet vem evoluindo por prototipa o e sua implementa o se tornou desestruturada necessitando de uma custosa reestrutura o A abordagem proposta aplicada no re desenvolvimento do ambiente AulaNet como um estudo de caso A nova vers o do AulaNet est sendo desenvolvida com a capacidade de recompor o ambiente de reusar seus servi os em outras situa es e reconfigur los para acompanhar a evolu o dos processos de trabalho e das caracter sticas do grupo utilizada uma arquitetura organizada em camadas contendo component frameworks para lidar com os servi os e com os componentes de colabora o provenientes de um component kit O component kit obtido a partir de uma engenharia do dom nio que visa o reuso e a interoperabilidade Werner amp Braga 2005 Al m da utiliza o no desenvolvimento da nova vers o do AulaNet foram buscados ind cios da aceita o acad mica da abordagem e a arquitetura desenvolvida foi comparada com outras abordagens encontradas na literatura A abordagem proposta nesta tese tamb m foi utilizada por alunos da disciplina Engenharia de Groupware do Departamento de Inform tica da PUC Rio As principais contribui es desta tese a proposi o de uma abordagem para o desenvolvimento de groupware baseado em componentes org
10. n cleos etc e pap is com funcionalidades espec ficas como chefe de Capitulo 5 Estudos de Caso 147 departamento diretor coordenador consultor gerente etc Os cursos tamb m sao agrupados de diferentes maneiras curr culos itiner rios grades disciplinas etc e em cada curso h pap is espec ficos como por exemplo monitor assistente ouvinte supervisor conteudista mentor auditor etc A utiliza o de componentes para gerenciar pap is grupos hier rquicos e cursos favorece a flexibiliza o destas estruturas No entanto para suavizar a transi o e possibilitar a compara o do AulaNet 2 0 com o 3 0 decidiu se implementar componentes que de in cio capturem as mesmas fun es disponibilizadas na vers o 2 0 do ambiente j prevendo sua posterior substitui o por componentes mais robustos que atendam s extens es dos requisitos Os componentes 3C de coordena o GroupMgr RoleMgr e PermissionMgr endere am estes requisitos Outra flexibilidade requerida pelas institui es na defini o das informa es sobre participantes e cursos Cada institui o tem necessidades espec ficas de informa es com rela o a estas entidades como por exemplo nome endere o telefone idade sexo foto etc para participante e carga hor ria custo fornecedor ramo de aplica o cronograma etc para curso As informa es necess rias dependem do escopo do ambiente e da pol tica vigente na institui o
11. o das funcionalidades das ferramentas escolhidas Na terceira etapa o suporte computacional s necessidades identificadas deveria ser projetado levando em considera o o Collaboration Component Kit proposto nesta tese cuja documenta o foi entregue aos alunos Os alunos n o tiveram que implementar a arquitetura proposta pois n o haveria tempo h bil no escopo da disciplina O aluno que analisou a ferramenta Stratify que voltada constru o de taxionomias prop s a incorpora o de uma nova funcionalidade de comunica o duas de coordena o e uma de coopera o um chat para discuss o s ncrona cores para representar os participantes e os artefatos sob sua responsabilidade indica o de quem est conectado e hist rico de a es Para isto montou uma arquitetura utilizando os componentes DiscreteChannelMgr MessageMer ParticipantMgr GroupMgr AwarenessMgr SessionMgr e CooperationObjMgr O componente AvailabilityMgr espec fico para a gest o da disponibilidade dos participantes n o foi utilizado pelo aluno O aluno que analisou a ferramenta Google Talk que voltada para conversa o por voz atrav s da Internet prop s a incorpora o de tr s novas funcionalidades de comunica o e uma de coopera o v deo chat audioconfer ncia para v rias pessoas envio de cart es virtuais e transfer ncia de arquivos Para isto montou uma arquitetura utilizando os componentes VideoMediaMgr e PictorialM
12. respons vel por oferecer uma infra estrutura de execu o para as ferramentas colaborativas A arquitetura tamb m prov um barramento de colabora o que abstrai as funcionalidades do canal de comunica o Apesar da arquitetura do COCA utilizar comunica o coordena o e colabora o o entendimento destes conceitos difere do modelo 3C utilizado nesta tese A camada de comunica o do COCA voltada para a comunica o remota entre componentes em vez de participantes A arquitetura do COCA n o oferece suporte espec fico ao conceito de coopera o do modelo 3C A camada de colabora o funciona como um component framework para os componentes de colabora o Al m disto os conceitos adotados na arquitetura do COCA n o s o utilizados para organizar ou conceber os componentes de colabora o 2 3 11 Groupkit O GroupKit Roseman amp Greenberg 1996 um toolkit contendo componentes e uma plataforma de execu o O GroupKit constru do em Tcl Tk e voltado ao desenvolvimento de groupware s ncrono O toolkit encapsula diversas complexidades inerentes ao desenvolvimento deste tipo de aplica o de modo que o desenvolvedor direcione seus esfor os para o projeto da intera o Alguns exemplos de aplica es desenvolvidas com o kit que s o disponibilizadas juntamente com a plataforma s o Brainstorming que possibilita a usu rios trocar id ias atrav s de textos breves em uma rea vis vel a todos File V
13. 1 2 2 Desenvolvimento de Groupware Componentizado com base no Modelo 3C de Colabora o Zz Um groupware composto de ferramentas colaborativas como F rum Agenda Documenta o etc Estas ferramentas dispon veis em diversas aplica es groupware compartilham funcionalidades relativas ao suporte computacional colabora o tais como canal de comunica o gerenciamento de participantes e registro de informa es Capitulo 1 Introdu o 23 Nesta tese para dar suporte ao desenvolvimento de groupware foram estabelecidos dois n veis de componentiza o O primeiro nivel constitu do de servi os colaborativos que por sua vez s o montados com componentes 3C segundo n vel que implementam funcionalidades relacionadas colabora o Estes componentes s o distribu dos em component kits organizados em fun o do modelo 3C de colabora o para que desenvolvedores montem aplica es colaborativas Nesta abordagem cada servi o usa componentes de comunica o coordena o e de coopera o independentemente da classifica o 3C do servi o Foi aplicado um m todo de Engenharia do Dom nio para elaborar o conjunto de componentes Os componentes s o iterativamente refinados em fun o da realimenta o obtida com o desenvolvimento dos servi os do AulaNet 3 0 e em fun o de estudos de caso variando as configura es do suporte colabora o Component frameworks Syzperski 1997 s o usados para ofere
14. 1998 e o RSEB Reuse Driven Software Engineering Business Jacobson et al 1997 No contexto desta tese utilizado o processo CBD Arch DE Blois et al 2004 que uma evolu o do processo Odyssey ED Braga 2000 por ser mais direcionado e instrumentado para o desenvolvimento baseado em componentes O processo CDB Arch DE organiza a engenharia do dom nio em 4 atividades principais planejamento do dom nio an lise do dom nio projeto do dom nio e implementa o do dom nio conforme ilustrado na Figura 2 13 Implementa o do Dom nio An lise do Dominio Beans Arquitetura J2EE etc Modelos de Features Casos de Uso e Tipos de Neg cio Projeto do Dominio Componentes Classes A Figura 2 13 Atividades do processo CBD Arch DE Blois et al 2004 A Figura 2 14 ilustra as atividades da an lise do dominio no CBD Arch DE A an lise do dominio se inicia pela identifica o dos contextos que representam os sub dom nios do dom nio principal Ap s esta atividade s o identificadas as features caracter sticas correspondentes criando um modelo de caracter sticas As caracter sticas s o obtidas de especialistas usu rios documenta es e de aplica es j existentes e modelam os aspectos vari veis e invari veis do dom nio em um alto n vel de abstra o As caracter sticas s o classificadas em conceituais funcionais e tecnol gicas e definidas como obrigat rias ou opcionais Estas pro
15. 1999 prov componentes alternativos para a biblioteca gr fica do Java para transformar um applet mono usu rio em uma aplica o multi usu rio sem alterar a aplica o original Os componentes possibilitam que diversos usu rios visualizem e editem as informa es al m de oferecer telepointer vis o de radar controle de permiss es e indica o de atividade As vers es mono usu rio dos componentes gr ficos s o substitu das dinamicamente por vers es colaborativas A substitui o dos componentes feita por uma customiza o na m quina virtual Java o que reduz a sua portabilidade TOP Guerrero amp Fuller 1999 um framework em Java voltado para o desenvolvimento de aplica es colaborativas na web Ele prov abstra es pr definidas que possibilitam o gerenciamento dos usu rios e seus pap is a manuten o da mem ria do grupo e os relacionamentos entre os participantes das sess es colaborativas Um applet intermedeia a comunica o do cliente com o servidor chamado de TopServer O applet acess vel atrav s de comandos JavaScript ou de outras aplica es Java Sacramento et al 2004 prop em o middleware MoCA Mobile Collaboration Architecture voltado para oferecer suporte ao desenvolvimento de aplica es colaborativas que utilizam dispositivos m veis e informa es de contexto O MoCA oferece APIs para programa o de aplica es para o lado cliente e para o lado servidor servi os para
16. 2006 2 3 8 CoCoWare A plataforma CoCoWare Slagter amp Biemans 2000 oferece aos usu rios finais a capacidade de compor a aplica o de acordo com suas necessidades e estend la para acompanhar a evolu o dos processos de trabalho O CoCoWare oferece componentes para lidar com as sess es de trabalho e para gerenciar as ferramentas colaborativas informando o que pode ser modificado como pode ser feito e qual o impacto das modifica es O CoCoWare uma implementa o da arquitetura gen rica CooPS Cooperative People amp Systems que define os tipos b sicos de componentes para a constru o de aplica es colaborativas conference manager conference tools coordinator e conference enablers Slagter et al 2001 A plataforma foi inicialmente baseada no modelo de componentes do CORBA e atualmente estende o modelo de componentes da arquitetura NET da Microsoft O CoCoWare oferece um component framework onde os componentes s o plugados e disponibilizado um Software Development Kit SDK para terceiros desenvolverem novos componentes para a plataforma ou adaptarem componentes de outros modelos COM e ActiveX Diferentemente do enfoque principal do CoCoWare a abordagem proposta nesta tese visa instrumentar o desenvolvedor de groupware Entretanto alguma capacidade de extens o oferecida ao administrador do ambiente que pode instalar novos componentes e configur los 2 3 9 Habanero O Habanero C
17. A vers o 2 0 da UML OMG 2005 cuja vers o final do documento de especifica o de superestrutura foi lan ada em agosto de 2005 altera profundamente a concep o de componente de software em rela o vers o anterior Nesta nova concep o um componente visto como uma unidade modular com interfaces bem definidas e substitu vel no contexto do sistema A Figura A 4 direita apresenta o novo s mbolo de componente A UML 2 0 prev a representa o de portas conectores interfaces providas e requeridas A Figura A 5 esquerda apresenta um componente com duas interfaces providas e tr s requeridas representadas na forma ic nica A Figura A 5 direita representa as interfaces na forma expandida e a liga o entre o componente e a interface Ap ndice A Componentes e Frameworks 210 provida atrav s de um relacionamento de realiza o e a liga o com uma interface requerida atrav s de um relacionamento de depend ncia Nota o Colapsada ItemAllocation Tracking component 5 Person 4 Order orem interface OrderEntry Invoice q Create ValidateDetails AddOrderline Nota o Expandida Interface componente Order Person FindbyName Create GetDetails Figura A 5 Representa o de interfaces na forma colapsada e expandida OMG 2005 Para representar as classes que o componente implementa utilizado o relacionamento de d
18. E 2 og fo z3 DU O q D O n 3 q a Sse ca lt o 2 gt 2 QU 3 Vo 65 68 SE EF a Sas A z 22353 8 SSE oo F 6 g E o SO OG Ss S o o i 5 NOS 3 amp Q N 2S v E Seo tas ot 4 a N Q S Q 2 Es 22 Q cn 18 E e568 3 seo 5 Zoe ES 8 o S GME S 2 E 5 ae DE s 2 E SR a 268 S g md BEE D o gt amp 2 amp 8 amp a v 2688 Po 5 B gt O lt lt eeo7zs E gt 5 1998 1999 2000 2001 2002 2003 2004 2005 2006 Figura 5 9 Novas funcionalidades incorporadas ao servi o Confer ncias ao longo do tempo A Figura 5 10 apresenta novamente a din mica de uso do servi o Confer ncias no estudo dos conte dos do curso TIAE Conforme apresentado no Cap tulo 3 o mediador seleciona o seminarista e declara a sess o iniciada o seminarista submete o semin rio e as quest es que s o respondidas e discutidas pelos aprendizes e o mediador avalia a mensagem e finaliza a sess o ao expirar o prazo Para montar um servi o espec fico s necessidades da colabora o selecionam se os componentes 3C correspondentes 2 Atuo no desenvolvimento das Confer ncias desde o primeiro semestre de 2000 quando inicie meu mestrado sobre categoriza o de mensagens em ferramentas ass ncronas Gerosa 2002 Capitulo 5 Estudos de Caso T pico Confer ncia Debate 159 Seminarista day forces Submiss o do Semin rio ns Ee enables Submiss o das enables Submiss o de no Mensagens Mediad
19. PUC Rio Figura 5 2 Servi os de colabora o administrativos para participantes e para visitantes do ambiente AulaNet A classifica o do servi o feita na sua implanta o deployment no Service Component Framework Os servi os de administra o de visitantes e de participantes utilizam a infra estrutura de execu o provida pelos component frameworks e componentes 3C Por exemplo o servi o Contato com Administrador que disponibilizado para os visitantes utiliza componentes de comunica o para o envio e recebimento de mensagens MessageMgr DiscreteChannelMgr componentes de coordena o para o controle de pap is e permiss es RoleMgr e PermissionMgr e componentes de coopera o para registro e busca CooperationObjMgr e SearchMgr Mesmo servi os que n o pressuponham intera es diretas entre participantes utilizam componentes 3C como o RoleMgr PermissonMgr CooperationObjMgr entre outros A utiliza o de componentes e component frameworks tamb m possibilita que um servi o colaborativo seja utilizado em um contexto que n o seja o do Capitulo 5 Estudos de Caso 149 curso Por exemplo o servi o Confer ncias pode ser utilizado no menu de participantes para que todos usu rios do ambiente discutam assuntos gerais O component framework tamb m possibilita a instala o de um mesmo servi o mais de uma vez com nomes e identificadores diferentes Com a estrutura de grupos que agregam servi os
20. feita uma adapta o e refinamento de modo a acompanhar a evolu o do grupo e da din mica do curso O desenvolvimento baseado em componentes facilita a equipes externas ao projeto AulaNet como pesquisadores de outras institui es desenvolverem e adquirem novos servi os e incorpor los ao ambiente Para isto n o necess rio ter acesso ou entender o c digo fonte do ambiente basta respeitar as interfaces e protocolos de comunica o definidos Uma institui o pode desenvolver novos servi os e incorpor los ao AulaNet Passa a ser poss vel tamb m encapsular ferramentas que n o foram originalmente desenvolvidas para o ambiente implementando um adaptador que fa a a intermedia o da comunica o e construindo um empacotamento de acordo com os padr es definidos no modelo de componentes Al m disto pesquisadores podem usar a arquitetura componentizada do AulaNet para disponibilizar e testar seus prot tipos de ferramentas colaborativas sem ter que construir um ambiente inteiro para isto Ao utilizar um ambiente robusto gratuito e largamente difundido aumenta a chance de utiliza o e a abrang ncia da ferramenta desenvolvida Com equipes de outras institui es e empresas desenvolvendo novos servi os para o ambiente a equipe AulaNet focar seus esfor os na arquitetura na integra o dos diversos componentes e na pesquisa de novos mecanismos de colabora o Institui es que forem usar o AulaNet o adequar o e
21. las aos demais componentes Diversos componentes inclusive de natureza diferente compartilham os mesmos objetos de coopera o A arquitetura prov recursos para a propaga o de altera es e o controle de concorr ncia livrando os desenvolvedores destas tarefas Capitulo 2 Revisao da Literatura 36 Q aX suario 1 N ra di Desenvolvedor Usuario 2 Interage Groupware B de Groupware B Interface Interface Interface L gica de 7 L gica de Aplica o Aplica o L gica de Aplica o Acessa Modifica Acessa Modifica Modelo de Dados Modelo de Dados Acessa do Dom nio 2 do Dom nio Modifica Objetos i Objetos Compartilhados S Compartilhados Component Broker Reposit rio de Componentes Gerenciador de Objetos Transfere CRER Transfere Atualiza Reposit rio Controle de Atualiza de Objetos Concorr ncia Figura 2 5 Arquitetura proposta por Tietze 2001 A arquitetura tamb m prov recursos para que os desenvolvedores insiram ou atualizem componentes no sistema sem reinici lo Esta carga feita no Component Broker que a partir de onde os clientes instanciam os componentes O Component Broker encarrega se de manter persistentes e consistentes as vers es utilizadas pelos clientes al m de gerenciar as inst ncias q
22. o conforme ser discutido na pr xima se o Nesta se o s o delineadas as caracter sticas da colabora o contextualizando o modelo 3C e o trabalho colaborativo Colabora o uma maneira de trabalhar em grupo onde os membros do grupo atuam em conjunto visando o sucesso do projeto sendo que a falha de um dos participantes normalmente implica na falha do grupo como um todo Grosz 1996 Na colabora o os participantes se ajudam objetivando o sucesso das tarefas e entre eles h uma hierarquia menos r gida formando uma estrutura onde pares atuam Capitulo 3 O Modelo 3C de Colabora o 73 em conjunto com objetivos comuns e compartilhados De acordo com Barros 1994 colaborar co labore significa trabalhar junto que implica no conceito de objetivos compartilhados e uma inten o explicita de somar algo criar alguma coisa nova ou diferente atrav s da colabora o se contrapondo a uma simples troca de informa o ou de instru es Para evitar o fracasso do grupo na realiza o das tarefas interdependentes os participantes planejam e agem em conjunto Na colabora o os participantes se empenham para o sucesso do grupo o que favorece uma postura pr ativa e participativa dos indiv duos e uma maior uni o do grupo Normalmente a lideran a muda durante a resolu o das tarefas de acordo com as compet ncias de cada um de modo que os pap is se revezam entre os participantes mesmo que um deles tenha
23. o pp 75 85 Fuks H Gerosa M A amp Lucena CJ P 2002 The Development and Application of Distance Learning on the Internet Open Learning Journal V 17 No 1 February 2002 ISSN 0268 0513 Cartafax Pub pp 23 38 Fuks H Gerosa M A amp Lucena C J P 2002 Usando a Categoriza o e Estrutura o de Mensagens Textuais em Cursos pelo Ambiente AulaNet Revista Brasileira de Inform tica na Educa o V 10 No 1 Abril 2002 ISSN 1414 5685 Sociedade Brasileira de Computa o pp 31 44 Gerosa M A Fuks H amp Lucena C J P 2001 Tecnologias de Informa o Aplicadas Educa o Construindo uma Rede de Aprendizagem Usando o Ambiente AulaNet Inform tica na Educa o Teoria e Pr tica V 4 No 2 dezembro 2001 ISSN 1516 084X UFRGS pp 63 74 Fuks H Gerosa M A amp Lucena C J P 2001 Sobre o Desenvolvimento e Aplica o de Cursos Totalmente a Dist ncia na Internet Revista Brasileira de Inform tica na Educa o No 9 Setembro 2001 ISSN 1414 5685 Sociedade Brasileira de Computa o pp 61 75 Anais de Congressos Confer ncias Gerosa M A Pimentel M G Filippo D Barreto C G Raposo A B Fuks H amp Lucena C J P 2005 Componentes Baseados no Modelo 3C para o Desenvolvimento de Ferramentas Colaborativas Anais do 5 Workshop de Desenvolvimento Baseado em Componentes WDBC 2005 07 09 de Novembro Juiz de Fora MG ISBN 85 88279 47 9
24. o em conhecimento Os aprendizes tornam se respons veis pelo sucesso da aprendizagem ao gerarem conte dos did ticos argumentarem dinamizarem as discuss es e contribu rem com o aprendizado dos colegas Eles s o avaliados pelas contribui es que agregam valor ao grupo e n o somente por suas atividades individuais Fuks et al 2003 Alguns pontos da din mica do curso s o caracterizados a seguir para clarificar o estudo de caso Na primeira parte do curso um t pico abordado a cada semana durante oito semanas A seqii ncia de atividades desta fase do curso apresentada na Figura 3 5 Os aprendizes l em os conte dos selecionados sobre o t pico realizam pesquisas de aprofundamento e participam de uma discuss o sobre quest es espec ficas sobre o t pico em estudo Estudo Aulas Documenta o e pesquisas Web Quinta Semin rio Confer ncia 12hs 14hs Debate 13 as 14hs Figura 3 5 Seqii ncia de atividades durante o estudo dos t picos do curso A discuss o sobre cada um dos t picos do curso realizada durante 50 horas atrav s do servi o Confer ncias do AulaNet que funciona como um f rum de discuss o onde poss vel encadear e categorizar as mensagens Figura 3 6a Gerosa et al 2001 Ap s a discuss o na confer ncia o t pico em estudo encerrado com a realiza o de um debate s ncrono com dura o de uma hora pela ferramenta Debate do AulaNet Figura 3 6b
25. o padr o adotado nos frameworks de infra estrutura utilizados na arquitetura t cnica Barreto et al 2005 S o definidos no arquivo descritor o identificador o nome a descri o a vers o o tipo e as configura es do servi o e os componentes de Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 136 colabora o utilizados com suas respectivas customiza es No exemplo da figura o servi o Confer ncias est utilizando o componente CategorizationMgr lt xml version 1 0 encoding ISO 8859 1 gt lt service gt e as lt service handler gt lt service name gt Confer ncia lt service name gt lt service description gt Forum textual de discuss o lt service description gt lt service type gt Asynchronous lt service type gt lt gt lt service participation URL gt participation InitialPage jsp lt service participation URL gt lt service configuration Initial URL gt config ConfigPage jsp lt service confiquration Initial URL gt lt service handler gt lt gt lt specific configuration gt lt allowDesactivation gt true lt allowDesactivation gt lt specific configuration gt lt gt lt collaboration components gt lt collabComponent name categorizationManager gt lt allawNonCategorizedMessage gt false lt allowNonCategorizedMessage gt lt defaultCategory gt lt name gt Quest o lt name gt lt descricao gt Use a categoria para propor quest es l
26. Application Program Interface AWT Abstract Windowing Toolkit BRETAM Breakthrough Replication Empiricism Theory Automation Maturity BSCW Basic Support for Cooperative Work CFF Component Framework Framework CLOS Common Lisp Object System CLX Component Library for Cross Platform CMS Content Management System COCA Collaborative Objects Coordination Architecture COM Component Objete Model COPSE Collaborative Project Support Environment CORBA Common Object Request Broker Architecture CRIWG International Workshop on Groupware CSCA Computer Supported Collaborative Argumentation CSCW Computer Supported Cooperative Work CSCWiD Conference on CSCW in Design CVEs Collaborative Virtual Environments DACIA Dynamic Adjustment of Component InterActions DBC Desenvolvimento Baseado em Componentes DISCIPLINE Distributed System for Collaborative Information Processing and LEarning DAO Data Access Objects DTO Data Transfer Object EBR First Seminar on Advanced Research in Electronic Business FAQ Frequently Asked Question FTP File Transfer Protocol GPL GNU General Public License HTML Hyper Text Transfer Protocol IBIS Issue Based Information Systems IDE Integrated Development Environment IDL Interface Definition Language HOP Internet Inter ORB Protocol IJCIS International Journal of Cooperative Information Systems JAI Jornada
27. CRIWG 2002 LNCS 2440 Springer Verlag La Serena Chile 2002 pp 93 113 Refer ncias Bibliogr ficas 267 Sacramento V Endler M Rubinsztejn H K Lima L S Gon alves K Nascimento F N amp Bueno G A 2004 MoCA A Middleware for Developing Collaborative Applications for Mobile Users IEEE Distributed Systems Online vol 5 no 10 2004 ISSN 1541 4922 Salmon G 2000 E moderating the key to teaching and learning online London Kogan Page Salus P H 1998 Handbook of Programming Languages Object Oriented Programming Languages Vol 1 Macimillian Indianapolis 1998 Sametinger J 1997 Software Engineering with Reusable Components Springer Verlag USA 1997 Santoro F M Borges M R amp Santos N 2000 An Infrastructure to Support the Development of Collaborative Project Based Learning Environments Proceedings of International Workshop on Groupware CRIWG00 Madeira Portugal IEEE Press pp 78 85 Santoro F M Borges M R amp Santos N 2001 Modelo de Coopera o para Aprendizagem Baseada em Projetos Uma Linguagem de Padr es In 1 Confer ncia Latino Americana em Linguagens de Padr o para Programa o SugarLoafPloP Rio de Janeiro Outubro de 2001 Sauter C Morger O Muhlherr M Thutchytson A amp Teusel S 1995 CSCW for Strategic Management in Swiss Enterprises an Empirical Study Proceedings of the AY European Conference on Computer Support
28. Descri o dos Componentes de Colabora o 232 Estrutura O componente CategorizationMgr possui duas interfaces fornecidas ICategorizationMgr e ICategorizationMgrConfig e uma interface requerida ICategorizableObj conforme ilustrado na Figura B 5 A interface ICategorizationMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo atribui o de categoria recupera o dos objetos etc A interface ICategorizationMgrConfig disponibiliza os servi os relativos configura o do componente como manipula o do conjunto de categorias e sele o da categoria gen rica O componente pode ser configurado atrav s desta interface e por seu arquivo descritor O componente lida com objetos categoriz veis que implementem a interface ICategorizableOb ICategorizationMgrConfig ICategorizationMgr E O Category CategorizationMgr ICategorizableObj lt lt interface gt gt lt lt interface gt gt ICategorizationMgr ICategorizationMgrConfig 1 1 1 ICategorizableObj Category getCategoriesSet addCategory c Category getCategory obj ICategorizableObj removeCategory c Category getObjects c Category setGenericCategory c Category set Category obj ICategorizableObj c Category getCategories updateCategoy c Category disableCategory c Category enableCategory c Category Figura B 5 Componente CategorizationMgr e suas i
29. Estas caracter sticas s o mapeadas em componentes de colabora o que implementam as funcionalidades requeridas e o servi o montado a partir deles Caso seja identificada uma necessidade n o implementada pelos componentes pr existentes h tr s op es ela pode ser implementada no c digo da aplica o de uma forma espec fica ao dom nio em quest o no c digo do servi o ou como um novo componente 3C de modo a disponibilizar a nova funcionalidade para futuro reuso O novo componente de colabora o desenvolvido em conformidade com o Collaboration Component Framework e com o modelo de componentes estabelecido 4 6 Uso de Frameworks de Dom nio Com a evolu o do suporte colabora o podem ser utilizados frameworks para instanciar fam lias de componentes As funcionalidades de diversos componentes similares s o generalizadas e um framework especializ vel e customiz vel implementado O framework de classes propicia o reuso do c digo Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 138 e fornece ao desenvolvedor mecanismos de especializa o que s o utilizados para instanciar fam lias de componentes servi os e aplica es No exemplo da Figura 4 13 est representado um framework para gera o de diferentes chats O framework de dom nio fundamenta o conhecimento sobre a fam lia de servi os e propicia o reuso do c digo recorrente As liga es internas dos componentes s
30. JAI 2002 WDBC 2003 JAI 2002 JAI 2002 JAI 2002 JAI 2002 JAI 2002 WDBC 2003 JAI 2002 JAI 2002 IJCIS RIE 2004 RIE 2004 IJCIS JAI 2002 JAI 2002 EBR 2002 WDBC 2003 WDBC 2003 JAI 2002 JAI 2002 Tabela 5 8 Cita es a artigos diretamente relacionados a esta tese Capitulo 5 Estudos de Caso 172 A abordagem proposta nesta tese a arquitetura e os componentes tamb m foram apresentados equipe t cnica respons vel pelo AulaNet da empresa EduWeb Estavam presentes na apresenta o o diretor de tecnologia sr Luidi Xavier Fortunato e o gerente de desenvolvimento do produto sr Reubem Alexandre Almeida Girardi Ambos aprovaram a proposta sem restri es Eles ressaltaram que al m de atender os requisitos para a nova vers o do ambiente a abordagem propiciar um menor custo de manuten o e possibilitar um melhor gerenciamento das diferentes vers es com customiza es e adapta es que eles mant m para seus clientes Os resultados obtidos indicam a aceita o acad mica da abordagem proposta nesta tese Em geral os pareceres dos especialistas foram positivos e houve aceita o da abordagem em ve culos nacionais e internacionais bem como uma quantidade razo vel de cita es em artigos publicados por outros grupos de pesquisa 5 3 Estudo de Caso na Disciplina Engenharia de Groupware Para obter mais ind cios da aplicabilidade da proposta ela foi utilizada na disci
31. Sametinger J 2001 Component Models and Component Services Concepts and Principles in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Werner C M L amp Braga R M M B 2005 A Engenharia de Dom nio e o Desenvolvimento Baseado em Componentes in Desenvolvimento Baseado em Componentes Gimenes I M S amp Huzita E H M eds Editora Ci ncia Moderna Rio de Janeiro 2005 ISBN 85 7393 406 9 pg 57 103 Whorf B L 1956 Language Thought and Reality Cambridge MA MIT Press Wills A L 2001 Components and Connectors Catalysis Techniques for Designing Component Infrastructures in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Winograd T amp Flores F 1987 Understanding Computers and Cognition Addison Wesley USA 1987 Won M Stiemerling O amp Wulf V 2005 Component Based Approaches to Tailorable Systems End User Development Lieberman H Paterno F amp Wulf V eds Kluwer pp 1 27 Yang Y 1995 Coordination for process support is not enough European Workshop on Software Process Technology EWSPT4 LNCS 913 Leiden The Netherlands April 1995 Springer Verlag Artigos Publicados pelo Autor da Tese Os artigos est o dispon veis para download no site http groupware les inf puc
32. Tabela 5 3 Componentes 3C para dar suporte computacional din mica das Confer ncias Os componentes foram selecionados para atender s necessidades e caracter sticas do servi o As Confer ncias utilizam uma estrutura o de mensagens em rvore por favorecer a organiza o e a reflex o A categoriza o de mensagens no caso do TIAE utilizada para complementar a estrutura o Capitulo 5 Estudos de Caso 160 provendo uma melhor organiza o ao volume de mensagens Os pap is utilizados nas Confer ncias do TIAE seminarista e moderador n o possuem suporte computacional na vers o 2 0 do ambiente e portanto n o foram transpostos para a instancia o do servi o na nova vers o Foram mantidos apenas os pap is coordenador mediador e aprendiz j presentes na vers o anterior A avalia o de mensagens utilizada nas Confer ncias para possibilitar a conceitua o individual de cada mensagem e o registro de coment rios vis veis para o autor para a turma ou para os mediadores O servi o Relat rios de Participa o consolida o acompanhamento da participa o a partir dos dados das avalia es dos diversos servi os Os relat rios s o vis veis para os aprendizes que acompanham seu progresso e comparam no com O de seus colegas Se houver altera es na din mica de colabora o o servi o recomposto ou reconfigurado alterando o conjunto de componentes 3C ou customizando os Por exemplo a din mic
33. a experi ncia dos desenvolvedores de software documentada e reusada registrando solu es id ias e conceitos para um determinado problema ou contexto particular Gamma et al 1994 Padr es de projeto registram uma solu o recorrente ligada ao projeto do sistema constituem uma linguagem comum entre os desenvolvedores e normalmente possuem suporte computacional implementado Padr es de an lise possuem objetivos similares aos padr es de projeto por m com nfase para as fases iniciais do ciclo de desenvolvimento de software Um padr o de an lise representa uma id ia que j foi til em um contexto particular e que provavelmente ser til em outros Fowler 1996 Os padr es de an lise s o Capitulo 2 Revisao da Literatura 34 conceituais com o objetivo de representar a forma de pensar do usu rio em detrimento da forma utilizada pelo computador Alguns trabalhos prop em padr es de projetos espec ficos para instrumentar o desenvolvimento de groupware Na Figura 2 4 s o apresentadas fam lias de padr es espec ficos para groupware dispon veis em Groupware Patterns Swiki 2005 Para cada padr o descrito inten o fam lia nomes equivalentes problema que endere a cen rio de uso contexto indica es solu o participantes racional da solu o usos conhecidos padr es relacionados refer ncias bibliogr ficas e maneira de citar Key Shared Whiteboard y Pattern family Related famil
34. como por exemplo mudan a de disponibilidade consulta de disponibilidade etc A interface IAvailabilityMgrConfig disponibiliza os servi os relativos configura o do Ap ndice B Descri o dos Componentes de Colabora o 245 componente incluindo a defini o dos n veis de disponibilidade O componente pode ser configurado atrav s desta interface e por seu arquivo descritor IAvailabilityMgrConfig IAvailability Mgr E QO AvailabilityState AvailabilityMgr C Participant lt lt interface gt gt TAvailability MgrConfig Availabiblity State addAvailability State s Availability State lt lt interface gt gt TAvailabilityMgr Participant get AvailabilityState p Participant getParticipant s Availability State set AvailabilityState p Participant s Availability State Availability State removeAvailabilityState s Availability State get Availability States updateAvailabilityState s Availability State disableA vailability State s Availability State enableA vailabilityState s Availabiblity State Figura B 16 Componente AvailabilityMgr e suas interfaces Usos conhecidos Componentes relacionados ParticipantMgr B 2 11 NotificationMgr Nome NotificationMgr Inten o Gerencia o envio das notifica es aos participantes Aplicabilidade Um canal nico de notifica o para os diversos servi os favorece o estabeleciment
35. diferentes modos de colabora o privado exclusivo ou compartilhado Um componente sendo executado no modo privado n o possui dados compartilhados no modo exclusivo os dados s o modific veis por um usu rio de cada vez e no modo compartilhado v rios usu rios manipulam simultaneamente os dados O DreamTeam possui diversos mecanismos para controle de concorr ncia como o gerenciamento de transa es envolvendo a aplica o os recursos e a defini o de pol ticas de acesso para os componentes e seus m todos O enfoque do modelo de componentes do DreamTeam o suporte conex o entre componentes distribu dos de uma maneira particular para groupware Na arquitetura proposta nesta tese n o h a preocupa o com a distribui o dos componentes pois a maior parte deles executada no servidor Quando a comunica o remota necess ria s o utilizados os mecanismos padr es da plataforma J2EE http java sun com j2ee 2 3 6 IRIS IRIS Koch amp Koch 2000 uma aplica o para edi o colaborativa de documentos multim dia constru da a partir de componentes que utilizam um mecanismo de persist ncia distribu do e servi os voltados ao gerenciamento de informa es de percep o O IRIS oferece funcionalidades para editar e exibir a estrutura e o conte do de documentos e para contextualizar o participante atrav s de informa es como quem est trabalhando com o documento quem est dispon vel etc
36. digo fonte fortemente integrado A utiliza o de t cnicas de desenvolvimento baseado em componentes uma forma de desenvolver groupware extens vel Estas t cnicas visam desenvolver sistemas modulares compostos de componentes de software adapt veis e combin veis na medida da necessidade tendo em mente futuras manuten es A utiliza o de componentes favorece a utiliza o de c digo j testado em outras situa es e a captura e o encapsulamento do conhecimento e da experi ncia dos especialistas do dom nio Greenberg 2006 argumenta que a utiliza o de toolkits com componentes que encapsulam as complexidades do desenvolvimento de groupware uma maneira de impulsionar o desenvolvimento desta tecnologia que ainda n o atingiu seu potencial de dissemina o e utiliza o principalmente nas empresas De acordo com Greenberg uma parcela muito pequena dos groupwares http office microsoft com 3 http browser netscape com Cap tulo 6 Conclus o 184 desenvolvidos tornou se produtos comerciais realmente utilizados apesar de sistemas para grupo terem sido previstos por Douglas Engelbart em 1968 e a rea de CSCW ter sido estabelecida ao final da d cada de 80 Ao analisar os motivos pelos quais a tecnologia de groupware ainda n o deslanchou Greenberg 2006 argumenta que diferentemente das aplica es desktop de automa o de escrit rio e do hipertexto que tamb m foram previstas por Engelbart o d
37. es a partir dele D Souza amp Wills 1998 p 385 ssrita aestorsesssriSioaoo biti ep ainda amin atin natn aesa 219 Figura B 1 Componente MessageMgr e suas interfaces ccesessesceeeeeeseceeeeceeeeesseeeeeaeeneeees 227 Figura B 2 Componente TextualMediaMgr e suas interfaces rr 229 Figura B 3 Componente DiscreteChannelMgr e suas interfaces ce eeeeeseeeeceseeeceseeeeeseeneeees 230 Figura B 4 Componente MetalnformationMgr e suas interfaces 231 Figura B 5 Componente CategorizationMgr e suas interfaces 232 Figura B 6 Componente DialogStructureMgr e suas interfaces rr 233 Figura B 7 Componente AssessmentMgr e suas interfaces cs seescseeseceecneeeeceseeeeaeeateseeneeees 235 Figura B 8 Componente RoleMgr e suas interfaces ir rereeereererereraranas 236 Figura B 9 Componente PermissionMgr e suas interfaces 0 0 0 ccesesesesecseesecneeeeceseeeceseeeteneeneeees 237 Figura B 10 Componente ParticipantMgr e suas interfaces ii rereraea 238 Figura B 11 Componente GroupMgr e suas interfaces eee 239 Figura B 12 Componente SessionMgr e suas interfaces erraram 240 Figura B 13 Componente FloorControlMgr e suas interfaces ea 241 Figura B 14 Componente TaskMgr e suas interfaces cee ceeeceeeecseeeeeeseceeesecneeeesacneteeeeaeeees 242 Figura B 15 Figura B 16 Figura B 17 Figura B 18 Figura
38. ferramentas colaborativas para o ensino aprendizagem como o AulaNet que normalmente envolve uma turma heterog nea de curta dura o e muitas vezes despreparada para a utiliza o da tecnologia no ensino aprendizagem A utiliza o de t cnicas de desenvolvimento baseado em componentes uma forma de desenvolver groupware extens vel Atrav s da componentiza o o AulaNet se torna mais adapt vel variedade de grupos que o utilizam que neste caso s o compostos por alunos e professores de diferentes regi es do pa s e do mundo e s diversas caracter sticas dos cursos aplicados atrav s dele que variam no conte do desde cursos para crian as at cursos de p s gradua o e na abordagem pedag gica utilizada Al m disto a din mica e o grupo evoluem com o tempo e n o h como prever todas as demandas para o ambiente A tecnologia de componentes prop cia para utiliza o em sistemas com requisitos inst veis ou imprecisos Szyperski 1997 A nova vers o do AulaNet prov um conjunto padr o de servi os adapt vel para cada servidor O desenvolvedor do ambiente utiliza componentes Capitulo 5 Estudos de Caso 180 interoper veis para compor os servi os S o acoplados e desacoplados componentes de modo a montar ferramentas visando oferecer suporte s necessidades de colabora o de cada grupo S o experimentadas diversas configura es e a partir da realimenta o obtida com a utiliza o da ferramenta
39. ficas 266 Pree W 1995 Design Patterns for Object Oriented Software Development Addison Wesley Publishing Company 1995 Pressman R S 2000 Software Engineering A Practitioner s Approach McGraw Hill New York NY June 2000 Pumareja D Sikkel K amp Wieringa R 2004 Understanding the dynamics of requirements evolution a comparative case study of groupware implementation Proceedings of the 10 Workshop on Requirements Engineering Foundation for Software Quality REFSQ 2004 Essener Informatik Beitr ge 9 pp 177 194 Raposo A B amp Fuks H 2002 Defining Task Interdependencies and Coordination Mechanisms For Collaborative Systems In M Blay Fornarino A M Pinna Dery K Schmidt and P Zarat eds Cooperative Systems Design Frontiers In Artificial Intelligence and Applications Vol 74 IOS Press Amsterdam pp 88 103 Raposo A B Gerosa M A amp Fuks H 2004 Combining Communication and Coordination toward Articulation of Collaborative Activities 10 International Workshop on Groupware CRIWG 2004 Vreede G J Guerrero L A Ravent s G M eds Lecture Notes on Computer Science LNCS Vol 3198 ISBN 3540 230165 ISSN 0302 9743 San Carlos Costa Rica Springer Verlag 5 9 September 2004 pp 121 136 Rezende J L Fuks H amp Lucena C J P 2003 Aplicando o Protocolo Social atrav s de Mecanismos de Coordena o embutidos em uma Ferramenta de Bate Papo XIV Simp sio Brasile
40. o simultaneamente Uma nova ferramenta integrada dinamicamente a uma sess o existente A plataforma possibilita tamb m salvar o estado de uma sess o de modo a prosseguir nela posteriormente No Habanero n o h o conceito expl cito de um modelo de colabora o Nesta plataforma os elementos do suporte computacional colabora o s o associados ao gerenciamento de sess es 2 3 10 COCA A plataforma COCA Collaborative Objects Coordination Architecture Li amp Muntz 1998 oferece uma maneira de separar as pol ticas de coordena o que normalmente ficam embutidas no c digo da aplica o As pol ticas de coordena o s o descritas em uma linguagem de defini o e o coordenador do grupo pode alterar dinamicamente estas pol ticas refinando o ambiente para acompanhar a evolu o da realiza o das tarefas As pol ticas s o definidas em fun o dos pap is dos usu rios A m quina virtual que interpreta as pol ticas de coordena o chamada de Cocavm replicada nas esta es dos clientes Capitulo 2 Revisao da Literatura 57 A arquitetura do COCA prev uma organiza o em camadas com uma camada de comunica o de coordena o e de colabora o A camada de comunica o oferece servi os de transmiss o de dados para todas esta es ou para um determinado usu rio em particular Acima desta camada vem a camada de coordena o que interpreta as pol ticas de coordena o A camada de colabora o
41. os Confer ncias e Debate Al m disto para prover ind cios da aplicabilidade da solu o em outras situa es e problemas s o discutidos opini es de especialistas a utiliza o por n o especialistas e o mapeamento do ambiente TelEduc 5 1 Estudos de Caso no Ambiente AulaNet O AulaNet iniciou se como uma ferramenta para apoiar um curso a distancia pela web e evoluiu para um ambiente de ensino aprendizagem para v rios cursos Sua primeira vers o foi desenvolvida utilizando a linguagem Lua Ierusalimschy et al 1996 No ano de 1998 iniciou se a parceria entre a PUC Rio e a empresa EduWeb para a distribui o e customiza o do ambiente e o AulaNet 1 2 foi lan ado para o mercado Lucena et al 1998 Em 1999 percebendo uma desestrutura o e limita es do c digo da aplica o que evoluiu muito rapidamente resolveu se re implementar o AulaNet Decidiu se utilizar a linguagem de programa o Java de modo a melhorar a integra o com o mercado de desenvolvedores e aproveitar a robustez portabilidade e recursos da plataforma A vers o 2 0 do AulaNet foi lan ada em Dezembro de 2001 A vers o 2 0 do AulaNet foi desenvolvida em uma arquitetura cliente servidor na web com a tecnologia Scriba Blois et al 1999 que atrav s de um servlet intermedeia a comunica o do cliente com o servidor O Scriba oferece uma linguagem pr pria de script que embutida nos arquivos HTML Esta linguagem possibilita entre
42. pp 1 16 1995 Fowler M 1996 Analysis Patterns Reusable Object Models Addison Wesley Fowler M 2002 Patterns of Enterprise Application Architecture Addison Wesley 2002 Fuggetta A 2000 Software Process A Roadmap 22nd International Conference on Software Engineering ICSE 2000 Future of Software Engineering Track Fuks H 2000 Aprendizagem e Trabalho Cooperativo no Ambiente AulaNet Revista Brasileira de Inform tica na Educa o N6 Abril 2000 ISSN 1414 5685 Sociedade Brasileira de Computa o pp 53 73 2000 Fuks H Cunha L M Gerosa M A amp Lucena C J P 2003 Participa o e Avalia o no Ambiente Virtual AulaNet da PUC Rio in Silva M Educa o Online Teorias Pr ticas Legisla o e Forma o Corporativa Edi es Loyola Rio de Janeiro 2003 ISBN 85 15 02822 0 Cap 15 pp 231 254 Fuks H Gerosa M A amp Lucena C J P 2002 The Development and Application of Distance Learning on the Internet Open Learning The Journal of Open and Distance Learning Vol 17 N 1 ISSN 0268 0513 pp 23 38 Fuks H Gerosa M A amp Pimentel M 2003 Projeto de Comunica o em Groupware Desenvolvimento Interface e Utiliza o XXII Jornada de Atualiza o em Inform tica Anais do XXIII Congresso da Sociedade Brasileira de Computa o V2 Cap 7 ISBN 85 88442 59 0 pp 295 338 Fuks H Raposo A B amp Gerosa M A 2002 Engenharia de Gro
43. s o apresentadas duas sess es que s o representadas atrav s do s mbolo de componentes da linguagem UML marcados com a extens o lt lt session gt gt Capitulo 2 Revisao da Literatura 33 lt lt session gt gt Sessaol lt lt shared gt gt wk Work Flow lt lt component gt gt edita lt lt task gt gt editor EditorWorkflow edita lt lt task gt gt executa lt lt task gt gt lt lt session gt gt Sessaol lt lt component gt gt editor EditorW orkflow Servidor lt lt session gt gt lt lt component gt gt engine WorkFlow Engine Figura 2 3 Extens o da UML para modelar sess es e n s de processamento Para representar as opera es realizadas no servidor como por exemplo a execu o de uma inst ncia de um fluxo de trabalho por uma m quina de workflow utiliza se uma sess o localizada em um n representando o servidor conforme pode ser observado na Figura 2 3 Quando o n n o for representado assume se uma esta o cliente 2 1 3 Padr es Espec ficos Um padr o descreve um problema que foi identificado definido resolvido e documentado direcionando a comunica o entre os desenvolvedores o entendimento do sistema e o reconhecimento de problemas recorrentes Os padr es catalogam problemas que os desenvolvedores enfrentaram bem como as solu es dadas Paludo amp Burnett 2005 Com os padr es
44. um ambiente de desenvolvimento com ferramentas espec ficas um ambiente de execu o e um ambiente de simula o S o disponibilizados ao desenvolvedor componentes de groupware componentes de interface com o usu rio e componentes de manipula o de dados Os componentes s o chamados de TeamComponents e s o associados aos componentes de interface com o usu rio e de manipula o de dados Os componentes TeamComponents s o desenvolvidos em Java por m seguem um modelo de componentes propriet rio Na arquitetura do DreamTeam os componentes n o se comunicam diretamente uns com os outros As mensagens s o roteadas atrav s de uma interface da aplica o O modo de comunica o pode ser intra site onde um componente se comunica com outro da mesma aplica o e inter site onde um componente comunica se com componentes de outra aplica o O primeiro modo utiliza mensagens Java e o segundo um mecanismo pr prio de propaga o de eventos A interface dos componentes prov m todos para acessar os atributos do componente como sua configura o modo de integra o e estado H tamb m funcionalidades espec ficas para notifica o de eventos Os componentes s o integr veis dinamicamente aplica o A interface com o usu rio do componente se torna parte da interface da aplica o em uma Capitulo 2 Revisao da Literatura 53 janela existente ou como uma nova janela O componente configur vel para
45. veis em qualquer editor de texto Ao ser inicializado o component framework l os dados do sistema de arquivos e detecta mudan as no conjunto de componentes e instala atualiza ou remove os servi os correspondentes O component framework tamb m verifica eventuais depend ncias de componentes e vers es A padroniza o dos conectores e interfaces entre os servi os e o component framework possibilita o desenvolvimento de novos servi os mesmo sem conhecer a implementa o interna do AulaNet Institui es podem desenvolver novos servi os ou integrar servi os j existentes ao ambiente direcionando seus esfor os para o desenvolvimento do apoio educacional como laborat rios e simuladores deixando para o AulaNet o suporte ao gerenciamento de cursos e participantes 5 1 2 A Arquitetura do AulaNet 3 0 A Figura 5 3 ilustra a arquitetura apresentada no cap tulo anterior instanciada para o ambiente AulaNet A aplica o trata a parte espec fica do dom nio e a integra o entre os servi os escolhidos S o tratados por exemplo os cursos e o mapeamento das turmas para os grupos de colabora o Os servi os do ambiente s o plugados no Service Component Framework e utilizam os componentes 3C presentes no Collaboration Component Framework Capitulo 5 Estudos de Caso 151 AulaNet aplica o E DD 7 Groupware Service 6 Component omponent pa Framework Framework Debate Framework DT Colla
46. vista para alinhar e refinar as id ias o que fundamental para que o grupo consiga realizar tarefas interdependentes n o completamente descritas ou que necessitem de negocia o Fussel et al 1998 Alguns exemplos de ferramentas de comunica o atualmente utilizadas s o e mail lista de discuss o f rum ferramentas de CSCA Computer Supported Collaborative Argumentation mensagem instant nea chat v deo confer ncia teleconfer ncia telefone etc Long amp Baecker 1997 Ao se comunicar um dos interlocutores de acordo com suas inten es e compromissos formula a mensagem a ser transmitida e o outro ao receber e interpretar a mensagem tem seus compromissos modificados Os interlocutores negociam suas inten es e compromissos atrav s de mensagens formuladas atrav s de signos com significantes e significados Blikstein 2000 Para viabilizar a comunica o a linguagem utilizada na conversa o deve ser entendida por todos os envolvidos A linguagem influenciada pelo contexto cultural pelo dom nio em quest o pelos conhecimentos individuais dos envolvidos e pelos recursos dispon veis para conversa o A linguagem define o Capitulo 3 O Modelo 3C de Colabora o 85 c digo que associa significantes e significados Blikstein 2000 O emissor formula sua mensagem codificando a em signos expressa a para a ferramenta de comunica o que a captura transmite e apresenta ao receptor em mecanism
47. www lumis com br http www mamboserver com http www xoops org http www zope org http www dotnetnuke com Capitulo 2 Revisao da Literatura 60 sistemas oferecem flexibilidade para o administrador do portal compor as p ginas incluindo ferramentas configurando as e posicionando as Adicionar Servi o Busca Aplicar Servi os Boreum E at i Utilizado em O Servi o que permite a cria o de diferentes tipos de boletins newsletters E Bi op oO PD ee a Utilizado em Servi o para cria ao de ferramentas de busca ial Ergo Utilizado em 7 Cat logo 0 ee ds ere cao adoninictve cin de cslec ds canuereactn Utilizado em Servi o para cria o e administra o de salas de conversa o Classificados a Oo Servi o para cria o e administra o de classificados Utilizado em Coment rios oO Ll Servi o que permite a inclus o de coment rios sob outros servi os de Utilizado em o de conte do mica Contatos Mtilix adn nan Ok Cance gt v lar Figura 2 10 Sele o de servi os no Lumis A Figura 2 10 apresenta a tela de sele o de servi os do Lumis Alguns dos servi os dispon veis neste ambiente s o chat e mail f rum de discuss o boletim agenda de grupo e pessoal relat rios e estat sticas tarefas gerenciamento de usu rios e grupos enquete alertas artigos documentos mat rias e coment rios Cada servi o responde s requi
48. 17 Componente NotificationMgr e suas interfaces Usos conhecidos Confer ncias e Correio para Turma Componentes relacionados ParticipantMgr Ap ndice B Descri o dos Componentes de Colabora o 247 B 3 Componentes de Coopera o Os componentes de coopera o oferecem suporte aos objetos compartilhados e sua manipula o A seguir s o descritos os componentes CooperationObjMgr SearchMgr Statistical AnalysisMgr ActionLogMgr AccessRegistrationMgr B 3 1 CooperationObjMgr Nome CooperationObjMer Inten o Prov mecanismos de compartilhamento e concorr ncia aos objetos compartilhados Possibilita tamb m a persist ncia dos objetos Aplicabilidade Os objetos compartilhados s o manipulados ao longo da colabora o Este componente oferece suporte a gest o destes objetos Variabilidade Estrutura O componente CooperationObjMgr possui tr s interfaces fornecidas ICooperationObjMer e ICooperationObjMgrConfig e uma interface requerida Participant conforme ilustrado na Figura B 18 A interface ICooperationObjMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo cria o e recupera o dos objetos A interface ICooperationObjMgrConfig disponibiliza os servi os relativos configura o do componente O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o 248 ICooperationO
49. 6 Engenharia de groupware 7 Sistemas colaborativos Fuks Hugo Ill Pontif cia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica IV T tulo Agradecimentos Ao meu orientador professor Hugo Fuks que al m dos ensinamentos sobre como ser um pesquisador ensinou me a perceber o mundo de uma maneira mais clara e madura E de inestim vel valor o que aprendi com ele ao longo destes 6 anos de trabalho juntos Ao professor Carlos Jos Pereira de Lucena coordenador do Laborat rio de Engenharia de Software LES pelo ambiente pela infra estrutura e pelas contribui es que alteraram o rumo da pesquisa Aos professores S rgio Crespo Ana Carolina Salgado Marcos Roberto da Silva Borges Alberto Raposo e Rubens Nascimento Melo por sua participa o na banca e por suas valiosas contribui es no refinamento do trabalho Agrade o tamb m ao professor M rio Monteiro por suas palavras de sabedoria incentivo e amizade Aos meus colegas do projeto AulaNet do LES e da PUC Rio pelo companheirismo e ajuda prestados Em especial a Mariano Pimentel e Celso Gomes pelo feedback cont nuo principalmente nas fases preliminares do trabalho Ao CNPq e Funda o Padre Leonel Franca pelo apoio financeiro dado durante a realiza o deste trabalho que foi parcialmente financiado por meio do processo n 140103 2002 3 e do projeto Sistemas Multi Agentes para a Engenharia de Software ESSMA bolsa n 55206
50. 73 ae Bom 9 oe 9 64 eu Controle amp voltar Atualizar MAL Acta Figura 3 13 Relat rio do acompanhamento da participa o Em um curso como o TIAE onde a maior parte das atividades realizada assincronamente a press o para responder reduzida o que faz com que os aprendizes sejam tentados a n o cumprir as atividades do curso em fun o de outras tarefas de sua vida particular Graham et al 1999 Os mediadores do curso atuam constantemente exigindo contribui es dentro do per odo estipulado e intervindo para evitar a dispers o No curso TIAE o semin rio dura 50 horas de 12h de segunda feira s 14h de quarta feira A Figura 3 14 apresenta a frequ ncia de mensagens enviada para cada hora do semin rio nas edi es de 2002 1 a 2003 2 Capitulo 3 O Modelo 3C de Colabora o 101 TIAE 2002 1 TIAE 2002 2 gt 4 35 co 3 25 no 1 5 05 o o 0 5 10 1 20 25 30 35 40 4 50 55 0 5 10 1 2 2 30 3 40 45 5 55 TIAE 2003 1 TIAE 2003 2 0 5 10 1 2 2 30 3 40 45 5 55 0 5 10 1 2 2 30 3 40 45 50 55 Figura 3 14 Freqii ncia m dia de mensagens para cada hora dos semin rios das edi es de 2002 1 a 2003 2 Pode se notar na figura uma rajada durante as ultimas 5 horas Em alguns casos mais de 50 das mensagens foram enviadas durante este periodo A realiza o da tarefa no ltimo momento poss vel parte da S ndrome do Estudante Goldratt 1997 Enviar contribui es pr ximo ao limite
51. Compara o da Resolu o Colaborativa de Problemas em Sala de Aula e atrav s do Ambiente AulaNet WIE 2003 IX Workshop de Inform tica na Escola Anais do XXIII Congresso da Sociedade Brasileira de Computa o V5 2 8 de agosto Campinas SP pp 135 147 Fuks H Cunha L M Gerosa M A amp Lucena C J P 2003 Analyzing and Assessing Collaborative Learning Activities in a Web Based Environment Electronic Proceedings of the ICEE 2003 International Conference on Engineering Education July 21 25 Valencia Spain Fuks H Raposo A B amp Gerosa M A 2002 Engineering Groupware for E Business First Seminar on Advanced Research in Electronic Business EBR 2002 November 7 8 Rio de Janeiro RJ pp 78 84 Gerosa M A Fuks H Raposo A B amp Mitchell L H R G 2002 Using Groupware Tools to Extend the Organizational Memory with Collaboration Aspects The 7 International Conference on CSCW in Design CSCWiD September 25 27 Rio de Janeiro RJ pp 314 319 Gerosa M A Fuks H amp Lucena C J P 2002 Resultados da avalia o de um curso baseado na Web VIII Workshop de Inform tica na Escola WIE 2002 XXII Congresso da Sociedade Brasileira de Computa o V 5 17 19 de julho Florian polis SC pp 477 485 Artigos Publicados pelo Autor da Tese 275 Gerosa M A Cunha L M Fuks H amp Lucena C J P 2002 AulaNet eLabora Developing a groupware to bring t
52. Componentes GroupMgr relacionados CooperationObjMegr ParticipantMgr Ap ndice B Descri o dos Componentes de Colabora o 241 B 2 7 FloorControlMgr Nome FloorControlMgr Inten o Gerencia a ordem de participa o Podem ser alocadas v rias pol ticas de acesso Aplicabilidade A defini o da ordem de participa o til para organizar a discuss o ou a atua o em um espa o compartilhado Variabilidade Pode se a t cnica desejada Estrutura O componente FloorControlMgr possui duas interfaces fornecidas TFloorControlMgr e IFloorControlMgrConfig conforme ilustrado na Figura B 13 A interface IFloorControlMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo recuperar a fila de participa o alterar a fila alterar a t cnica etc A interface IFloorControlMgrConfig disponibiliza os servi os relativos configura o do componente que incluem a defini o das t cnicas de participa o O componente pode ser configurado atrav s desta interface e por seu arquivo descritor IFloorControlMgrConfig IFloorControlMgr E QO Policy FloorControlMgr lt lt interface gt gt lt lt interface gt gt IFloorControlMgr IFloorControlMgrConfig 1 1 addObject obj Object addP olicy p Policy get Objects removePolicy p Policy getQueue getPolicies getNextObject updatePolicy p Policy setPolicy p Policy disableP olicy p
53. Figura 4 4 Groupwares montados a partir de servi os e servi os montados a partir de componentes de colabora o nern vssducdserovacsescseyveveses oo seavescdessessen cat Ena ati and cuatro tenta 122 Figura 4 5 Modelo de caracter sticas da comunica o nas ferramentas de comunica o 124 Figura 4 6 Modelo de caracter sticas da coordena o nas ferramentas de comunica o 125 Figura 4 7 Modelo de caracter sticas da coopera o nas ferramentas de comunica o 126 Figura 4 8 Componente de categoriza o de mensagens rrenan 128 Figura 4 9 Component frameworks com servi os e componentes 3C 131 Figura 4 10 A arquitetura de aplica o proposta sieeessssesecsseeeceseeeceseceessecaeesesnesseesseneeeeeeaeeees 132 Figura 4 11 Ciclo de vida dos componentes rr rreeeereeereraeereaaaeranaaa 134 Figura 4 12 Arquivo descritor de um Servi o 2 0 eeceeeccseeseeeeceeeeceseeeesecseesecsersecsaeeecaecateseeneeets 136 Figura 4 13 Framework de dominio para instancia o de diferentes Chats 138 Figura 4 14 Framework de dom nio para instancia o de componentes de colabora o voltados para avalia o da participa o rice ceeeeraracenacar anne racer enaracaneenatanas 139 Figura 4 15 Framework de dom nio para instanciar uma determinada fam lia de aplica es 140 Figura 5 1 Arquitetura
54. N o poss vel configurar ao mesmo tempo vocabul rio permitido e proibido Ap ndice B Descri o dos Componentes de Colabora o 229 ITextualMediaMgrConfig ITextualMediaMer E _ IMediaContent TextualMediaMgr lt lt interface gt gt lt lt interface gt gt ITextualMediaMer TTextualMediaMgrConfig IMediaContent createMediaContent String txt validate String txt setMinSize min int setMaxSize max int get MinSize set Max Size set AllowedVocabulary String set AllowedP hrases String set DeniedVocabulary String set DeniedP hrases String Figura B 2 Componente TextualMediaMgr e suas interfaces Usos conhecidos Debate Componentes relacionados MessageMgr B 1 3 DiscreteChannelMgr Nome DiscreteChannelMgr 2 Inten o Este componente utilizado para transmitir e filtrar as mensagens Pode ser configurado para modo s ncrono ou ass ncrono que influencia a maneira como as mensagens s o tratadas push ou pull que define como a mensagem entregue ao participante e o atraso na entrega que pode ser utilizado para regular a intera o em uma ferramenta s ncrona Pimentel et al 2005 Aplicabilidade utilizado quando se deseja filtrar mensagens para um determinado participante utilizar uma interface rica RIA no lado cliente ou fazer push de mensagens enviar sem o participante solicitar explicitamente modo que utilizado principal
55. O curso TIAE Tecnologias de Informa o Aplicadas Educa o que exemplifica este uso ministrado desde 1998 totalmente a dist ncia pelo ambiente AulaNet como uma disciplina do Departamento de Inform tica da PUC Rio com o c digo INF 2133 para a p s gradua o do departamento e INF 1638 para a gradua o O objetivo do curso que aprendizes colaborarem utilizando as tecnologias de informa o tornando se educadores baseados na web Fuks et al 2002 O curso visa construir uma rede de aprendizagem colaborativa onde o grupo aprende primordialmente atrav s das intera es entre os participantes O curso tamb m visa explorar a potencialidade da aprendizagem colaborativa como fonte de inspira o para novos desenvolvimentos e para refinar o suporte computacional existente no AulaNet O curso coordenado pelos professores Carlos Jos Pereira 7 de Lucena e Hugo Fuks e possui mediadores variados a cada semestre A metodologia do curso foi planejada para que al m de aprender os conte dos do curso os alunos habituados a serem receptores passivos se transformem em aprendizes geradores de conhecimento aptos a trabalhar de forma colaborativa No curso o aprendiz levado a aprender a buscar suas 7 Fui mediador do segundo semestre de 2000 ao primeiro semestre de 2004 Capitulo 3 O Modelo 3C de Colabora o 82 pr prias fontes de informa o a lidar com a sobrecarga e a converter colaborativamente informa
56. Policy enablePolicy p Policy Figura B 13 Componente FloorControlMgr e suas interfaces Usos conhecidos Debate Componentes relacionados Ap ndice B Descri o dos Componentes de Colabora o 242 B 2 8 TaskMgr Nome TaskMgr Inten o Possibilita o gerenciamento das tarefas do grupo Aplicabilidade O gerenciamento das tarefas possibilita o acompanhamento da realiza o e da produtividade dos participantes Variabilidade Podem ser configurados os tipos de tarefas Estrutura O componente TaskMgr possui duas interfaces fornecidas ITaskMegr e ITaskMgrConfig e duas interfaces requeridas Task e Participant conforme ilustrado na Figura B 14 A interface TTaskMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo atribui o de tarefas a participantes mudan a de status de tarefa etc A interface TaskMgrConfig disponibiliza os servi os relativos configura o do componente como defini o do conjunto de tarefas e seus tipos O componente pode ser configurado atrav s desta interface e por seu arquivo descritor ITaskMerConfig ITaskMegr z O Task TaskMgr Participant lt lt interface gt gt lt lt interface gt gt ITaskMgr ITaskMerConfig Participant getTasks p Participant addT ask t Task getParticipants t Task removeT ask t Task addP articipant p Participant t Task getT asks updateT ask t
57. R SILVA O F amp FAVERO E L 2005 Adapta o de Interfaces em Ambientes Virtuais de Aprendizagem com Foco na Constru o Din mica de Comunidades Novas Tecnologias na Educa o CINTED UFRGS Vol 3 No 1 Maio 2005 MARCZAK S S amp GIRAFFA L M M 2003 A Ger ncia da Informa o em Ambientes de Ensino a Dist ncia um estudo comparativo Relat rio T cnico N 29 Porto Alegre PPGCC FACIN PUCRS Agosto 2003 MENEZES C S MESQUITA L F PESSOA J M amp VESCOVI NETTO H 2003 Percep o em Comunidades Virtuais Mantendo se Antenado no AmCorA XIV Simp sio Brasileiro de Inform tica na Educa o 2003 Rio de Janeiro pp 265 274 MIRANDA I S ARAUJO RM amp SANTORO F M 2005 An Approach for Defining System Requirements for Group Anais do WCSCW Workshop Brasileiro de Tecnologias para Colabora o 2005 MOURA J G amp BRAND O L O 2005 Aplica es no SAW Sistema de Aprendizagem pela Web Simp sio Brasileiro de Inform tica na Educa o SBIE 2005 Juiz de Fora MOURA J G BRAND O L O 2005 SAW Sistema de aprendizagem pela web incorporando novos recursos WebMedia 2005 Simp sio Brasileiro de Sistemas Multim dia e Web OEIRAS J Y Y amp ROCHA H V 2005 Requirements for Computational Environments to Support Institutional Cooperative Work Anais do II Workshop TIDIA 2005 S o Paulo PELLEGRINI G F 2004 Uma Abordagem Metodol gica para E
58. a reduzir as interrup es a colegas para solicitar informa es j dispon veis no ambiente Segal 1994 Entretanto n o poss vel ao projetista definir a priori quais elementos de percep o ser o adequados e suficientes Este processo deve ser cont nuo e experimental para que os elementos sejam adaptados s necessidades dos indiv duos Como cada um tem suas capacidades necessidades e prefer ncias os elementos devem ter flexibilidade o suficiente para se adequarem s diferentes personalidades 3 6 1 Estudo de Caso da Coopera o no AulaNet e no Curso TIAE O servi o Confer ncias prov um espa o compartilhado de informa es onde os aprendizes cooperam produzindo e refinando conhecimento atrav s de um processo argumentativo Os aprendizes produzem objetos de coopera o neste caso mensagens da confer ncia No espa o compartilhado da Confer ncia s o apresentadas informa es de percep o sobre os objetos de coopera o incluindo a autoria a data a categoria o assunto e o conceito dado pelo mediador do curso As intera es do grupo s o registradas categorizadas e estruturadas nas mensagens que representam os objetos de coopera o A mem ria do grupo preservada nas id ias fatos quest es pontos de vista conversa es discuss es e decis es indicando o hist rico da colabora o e o contexto onde a aprendizagem ocorreu Siebra et al 2005 O registro tamb m possibilita efetuar buscas no r
59. acompanha a evolu o dos processos de trabalho Alguns grupos operam bem sem a presen a de um coordenador expl cito os participantes se organizam dinamicamente enquanto a colabora o ocorre ajustando se dinamicamente s mudan as nas tarefas e ao seu entendimento Dron et al 2001 Esta abordagem apropriada para grupos pequenos coesos e com participantes competentes e comprometidos Teles 2004 Muitas vezes utilizada uma abordagem h brida onde parte das tarefas s o pr articuladas um coordenador eleito para acompanhar o grupo e em momentos espec ficos os pr prios participantes se coordenam O grau de flexibilidade a ser adotado na coordena o depende dos participantes das tarefas e dos recursos dispon veis Ao distribuir a coordena o no grupo reduz se a depend ncia do coordenador liberando o para tratar da organiza o do grupo em um alto n vel bem como planejar a es futuras Durfee 1988 Para o coordenador e para os participantes se coordenarem s o necess rias informa es de percep o que d em ci ncia do que est acontecendo e do que as outras pessoas est o fazendo Borges amp Pino 1999 importante que cada um conhe a o progresso do trabalho dos companheiros o que foi feito como foi feito o que falta para o t rmino quais s o as mudan as de planos as necessidades e caracter sticas de cada um o progresso das tarefas e os resultados preliminares Capitulo 3 O Modelo 3C de
60. adotada no debate do curso TIAE 164 Figura 5 14 A vers o 20 do Debate sisri rnn e a i doloso tag aqu se o 165 Figura 5 15 Enunciado dos trabalhos da disciplina Engenharia de Groupware 173 Figura 6 1 Modelo BRETAM para o desenvolvimento de uma tecnologia Gaines 1999 185 Figura 6 2 Ciclo da engenharia de groupware rr erererareererereraracanaeraranes 195 Figura A 1 Exemplo de uso de componentes D Souza amp Wills 1998 p 405 198 Figura A 2 Exemplo de uso de componentes de software D Souza amp Wills 1998 p 384 199 Figura A 3 Conex o entre os componentes OMG 2005 207 Figura A 4 Representa o de componente na UML 1 x e 2 0 209 Figura A 5 Representa o de interfaces na forma colapsada e expandida OMG 20051 210 Figura A 6 Representa o das classes que o componente implementa OMG 2005 210 Figura A 7 Representa o de um componente e seu modelo de objetos 210 Figura A 8 Inser o de um objeto OLE em um documento do Microsoft Word 215 Figura A 9 Arquivo descritor de um portlet re eeererereraeereaeneranana 216 Figura A 10 Implementa o de um m todo referente ao ciclo de vida de um portlet 216 Figura A 11 Desenvolvimento de um kit de componente e constru o de aplica
61. alterar a din mica do curso para incluir esta atividade conforme ilustrado no fluxo da Figura 5 5 Sendo a atividade de avalia o uma atividade de coordena o buscado nos servi os de coordena o um servi o que ofere a suporte computacional a esta atividade No caso do AulaNet pode ser utilizado o servi o Exames que possibilita a cria o de question rios com quest es de m ltipla escolha verdadeiro ou falso discursiva etc classificadas de acordo com a taxionomia de Bloom 1956 O novo servi o incorporado ao ambiente e passa a ser utilizado no curso Se o servi o n o atender s o buscados no pr prio kit ou em outros reposit rios componentes que implementem question rios ou outras formas de avalia o 1 Como o AulaNet oferece suporte a mais de um curso n o vi vel possibilitar que cada coordenador instale ou remova servi os do ambiente pois isto iria atingir todos os cursos hospedados Por isto oferecida ao coordenador do curso a capacidade de sele o e ativa o dos servi os no contexto de seu curso Os servi os dispon veis s o aqueles instalados pelo administrador que monta um ambiente de acordo com as necessidades da institui o Capitulo 5 Estudos de Caso 155 Estudo dos temas do curso T pico 2 T pico 8 T pico 1 Figura 5 5 Altera o no fluxo de atividades no curso TIAE para incluir uma avalia o Al m da inclus o de novos serv
62. cada grupo e din mica da colabora o Nesta tese as ferramentas colaborativas s o chamadas de servi os Conforme discutido na se o anterior poss vel classificar os servi os de acordo com seus prop sitos e caracter sticas em fun o do modelo 3C Os servi os da Tabela 4 1 s o organizados em servi os de comunica o coordena o e coopera o Em um ambiente baseado em componentes a partir das necessidades da colabora o no grupo o desenvolvedor seleciona os servi os mais adequados Um modelo de componentes unificado para os diversos groupwares possibilita ao desenvolvedor selecionar dentre os diversos servi os de mesmo prop sito o mais adequado Conforme pode se notar na Tabela 4 1 h servi os que s o oferecidos em apenas um groupware mas que a princ pio poderiam ser disponibilizados para utiliza o nos demais Para os usu rios interessante intercambiar servi os de modo a complementar os ambientes e reusar experi ncias Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 120 Al m dos groupwares possu rem servi os similares os servi os possuem funcionalidades similares Nos servi os dos diversos groupwares analisados as funcionalidades s o recorrentes A Figura 4 1 apresenta os chats do Moodle e do WebCT Pode se notar que ambos possuem uma rea compartilhada onde as mensagens s o apresentadas uma lista de participantes conectados e uma rea para elabora o das mensagens A
63. caracter sticas foram diagramados na nota o Odyssey FEX que implementada no ambiente de modelagem Odyssey Oliveira et al 2005 O Odyssey um ambiente voltado para o suporte engenharia de dom nio e engenharia de aplica es e oferece suporte computacional ao processo CBD Arch DE Blois et al 2004 Na nota o Odyssey FEX um ret ngulo fechado simboliza uma caracter stica obrigat ria e um tracejado uma caracter stica opcional O modelo de caracter sticas feature model apresentado na Figura 4 5 sumariza a an lise do dom nio da comunica o Uma ferramenta de comunica o possui mensagens que utilizam m dia textual v deo udio ou pict rica Daft amp Lengel 1986 Eventualmente as m dias apresentam alguma variabilidade como restri es ao tamanho do texto ou ao vocabul rio dispon vel no caso da m dia textual e taxa de captura e de envio de dados no caso do udio e v deo Algumas ferramentas disparam e mail aos destinat rios possibilitam anexar arquivos s mensagens e disponibilizam um corretor ortogr fico para auxiliar na elabora o do texto Algumas ferramentas como as Confer ncias e o Correio para Turma do AulaNet oferecem a categoriza o de mensagens Gerosa et al 2001 Tamb m encontrado em ferramentas de comunica o o suporte a carteiras de compromissos como no ACCORD Laufer amp Fuks 1995 e a caminhos de Capitulo 4 Montagem de Groupware e de Servi os Colaborati
64. cio do Curso Apresenta o Apresenta o do curso a dos particip ij Encerramento do curso Submiss o de Prot tipo A Tabela 5 2 apresenta o mapeamento entre as atividades e os servi os selecionados Para a apresenta o dos aprendizes utilizado o servi o Correio para Turma Este servi o registra e dispara a mensagem de apresenta o para a caixa de correio eletr nico de cada participante o que importante para alertar os aprendizes de que o curso come ou j que esta a primeira atividade Para o estudo individual dos t picos do curso s o disponibilizados conte dos atrav s dos servi os Aulas Bibliografia e Webliografia A discuss o sobre estes conte dos dividia em duas etapas argumenta o nas Confer ncias e alinhamento de id ias no Debate de modo a aproveitar a reflex o e o aprofundamento propiciados pelo primeiro e a velocidade de intera o propiciada pelo segundo Para a produ o do conte do educacional multim dia n o disponibilizado nenhum servi o do AulaNet possibilitando aos aprendizes utilizarem os ambientes de autoria com os quais j estejam habituados a lidar Para a revis o em pares utilizado o servi o Confer ncias pois deseja se valorizar a argumenta o e o aprofundamento da discuss o O servi o Tarefas oferece as funcionalidades necess rias para gerenciar as submiss es dos conte dos pelos aprendizes Para d vidas s o disponibilizados
65. como o caso das interfaces OO Dependendo da IDL interfaces podem incluir as exce es que podem ser lan adas pr condi es e p s condi es para cada opera o Weinreich amp Sametinger 2001 p 39 Um componente deve ser unicamente nomeado Weinreich amp Sametinger 2001 p 40 Alguns modelos de componentes definem a exist ncias de identificadores nicos como o caso do COM Component Model Outros modelos utilizam um espa o de nomes hier rquico como o caso das tecnologias da Sun Microsystems que utilizam o nome do dom nio invertido Um modelo de componentes deve definir quais s o os padr es de composi o Os tipos de acoplamento mais comuns entre dois componentes s o cliente servidor e publicador ouvinte Weinreich amp Sametinger 2001 p 43 No primeiro o cliente explicitamente chama opera es do servidor e no segundo o ouvinte se registra como tratador de eventos e informa es disponibilizadas pelo publicador O modelo de componentes define tamb m os tipos de conectores dispon veis que podem ser herdados da linguagem de programa o correspondente ou serem pr prios da tecnologia como no caso do SOAP e HOP Eventualmente vers es antigas e atuais de um componente co existem no mesmo sistema As regras e padr es para a evolu o dos componentes e seu versionamento tamb m fazem parte do modelo de componentes Weinreich amp Sametinger 2001 p 44 Um modelo de componentes tamb m des
66. compet ncias dos participantes Por fim os mediadores finalizam o curso e divulgam as notas finais Estudo dos temas do curso T pico 2 T pico 8 T pico 1 In cio do Curso Apresenta o dos particip Confer ncia 1 Debate 1 Encerramento do curso Produ o colaborativa de conte do An ncio das notas finais Re submiss o do prot tipo Submiss o de Prot tipo Avalia o do Prot tipo Figura 3 11 Seqiienciamento de atividades no curso TIAE Capitulo 3 O Modelo 3C de Colabora o 98 Cada uma das atividades representadas na Figura 3 11 composta de tarefas Gerenciar o fluxo entre as atividades e tarefas parte da responsabilidade da coordena o As tarefas que comp em as atividades possuem interdepend ncias e necessitam de mecanismos de coordena o para acompanhar seu desenvolvimento Diferentemente de fluxos de trabalho tradicionais onde a n o execu o de uma tarefa pelo respons vel causa a interrup o do fluxo no curso TIAE h o fator do tempo que determina quando uma tarefa declarada finalizada Por exemplo se um aprendiz n o participar de uma determinada atividade durante uma semana perde aquele t pico e na semana seguinte participa da discuss o do pr ximo A Figura 3 12 apresenta as interdepend ncias entre as tarefas de uma confer ncia H tr s pap is envolvi
67. component kit uma cole o de componentes que foram projetados para trabalhar em conjunto D Souza amp Wills 1998 De um kit de componentes gera se uma fam lia de aplica es fazendo diferentes arranjos e eventualmente desenvolvendo alguns sob demanda Nesta tese para instrumentar o desenvolvedor de groupware oferecido o Collaboration Component Kit com os componentes de colabora o utilizados para compor os servi os implementando os aspectos da colabora o Os componentes de colabora o foram obtidos a partir da an lise do dom nio representada pelos modelos de caracter sticas Conforme discutido no Ap ndice A um component kit nao necessita ser exaustivo Os component kits s o extens veis para acomodar novos componentes Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 127 necess rios No cap tulo seguinte algumas instancia es s o analisadas Componentes de software que sejam realmente reus veis s o refinados iterativamente at atingir a maturidade a confiabilidade e a adaptabilidade desejadas Gimenes amp Huzita 2005 Os componentes de comunica o do Collaboration Component Kit s o apresentados na Tabela 4 2 Convencionou se nomear os elementos arquiteturais na l ngua inglesa pois no re desenvolvimento do ambiente AulaNet que serve de motiva o para esta tese o c digo est seguindo a padroniza o adotada pelos sistemas de c digo aberto que s o escritos em ingl s
68. computacional percep o distribu do no suporte computacional comunica o coordena o e coopera o 2 3 7 JViews JViews Grundy et al 1997 um component framework voltado para a constru o de sistemas colaborativos com m ltiplas vis es disponibilizado um reposit rio central que encarregado de propagar as altera es para as vis es afetadas seguindo o padr o modelo vis o e controle As inter rela es entre os componentes s o utilizadas para troca de dados agrega o de funcionalidades e manten o da consist ncia geral do sistema O JViews tamb m disponibiliza um modelo de eventos que utilizado para descrever as mudan as nos componentes ou ocorr ncias que s o tratadas externamente Para manter a consist ncia entre os diversos componentes e vis es o JViews disponibiliza pol ticas de restri es de integridade mecanismos de persist ncia meios de propaga o de eventos componentes adaptadores controle de vers es e registro dos estados e eventos de modo a oferecer suporte s opera es de desfazer e refazer a es Nesta tese as funcionalidades presentes no JViews s o tratadas pelos frameworks de infra estrutura respons veis pela persist ncia gerenciamento dos Capitulo 2 Revisao da Literatura 55 dados propaga o de eventos transa es distribu das etc Mais detalhes da arquitetura t cnica utilizada nesta tese s o descritos na disserta o de Barreto
69. confer ncia enviando uma mensagem da categoria Semin rio onde aborda um aspecto do tema da semana deixando clara sua inten o Al m desta mensagem coloca tr s mensagens da categoria Quest o a partir das quais a turma desenvolve a argumenta o ao longo da semana Durante este per odo de argumenta o o seminarista anima e mant m a din mica da confer ncia Nos debates do curso um aprendiz desempenha o papel de moderador tornando se respons vel por conduzir a sess o manter o foco nas quest es propostas manter o ritmo da discuss o e coordenar os outros aprendizes estimulando a participa o de todos Os demais aprendizes participam da discuss o argumentando seus pontos de vista trabalhando ativamente seus conceitos refletindo sobre os mesmos e refinando os Sch n 1983 O trabalho dos aprendizes observado comentado e avaliado por seus colegas motivando os a participar com melhor qualidade Benbunan Fich amp Hiltz 1999 A Figura 3 11 exibe a sequ ncia de atividades de todo o curso TIAE O curso inicia se com a apresenta o da din mica e dos participantes Na seqii ncia ocorre o estudo de oito t picos do curso um por semana Para cada t pico feito um estudo individual uma discuss o ass ncrona na Confer ncia e um bate papo no Debate Finalizando esta fase os aprendizes s o divididos em grupos para produzirem colaborativamente um conte do educacional Os grupos s o divididos com base na gest o de
70. coordena o e coopera o Ap ndice A Componentes e Frameworks Para atingir a qualidade e cumprir o or amento e os prazos previstos n o mais poss vel come ar a construir software a partir do zero e estrutur lo na forma de blocos monol ticos onde uma modifica o propaga efeitos colaterais por todo o c digo dificultando a manuten o e a substitui o de suas partes Werner amp Braga 2005 p 66 O Desenvolvimento Baseado em Componentes DBC surgiu como uma abordagem para o desenvolvimento de software cujo objetivo a quebra dos blocos monol ticos em componentes interoper veis instrumentando o desenvolvimento e reduzindo seus custos por meio do reuso de componentes Sametinger 1997 O software passa a ser composto de partes relativamente independentes que foram concebidas para serem substitu veis reus veis e interoper veis em uma infra estrutura de execu o espec fica A 1 Componentes de Software Componentes t m um papel de destaque em outras engenharias uma vez que permite a ado o do conceito de caixa preta que possibilita ao desenvolvedor um maior n vel de abstra o e independ ncia Na ind stria automobil stica poss vel utilizar o mesmo pneu parafuso gasolina e motor para diferentes marcas e modelos de autom veis N o necess rio e seria demasiadamente caro reprojetar e construir sob demanda cada pe a para cada carro velocidade Marcador Figura A 1 Ex
71. de Atualiza o em Inform tica JAMM Java Applets Made Multiuser JCP Java Community Process JSF Java Server Faces JSP Java Server Pages LES Laborat rio de Engenharia de Software MoCA Mobile Collaboration Architecture MVC Model View Controller OLE Object Linking and Embedding OMG Object Management Group OO Orienta o a objetos PAC Presentation Abstraction and Control PDA Personal Digital Assistant POJO Plain Old Java Object RAD Rapid Application Development RD Requisito de Desenvolvedor RIA Rich Internet Application RPCs Remote Procedure Calls RU Requisito de Usu rio RUP Rational Unified Process SBIE Simp sio Brasileiro de Inform tica na Educa o SDG Single Display Groupware SDK Software Development Kit SGBD Sistema Gerenciador de Banco de Dados SOAP Simple Object Access Protocol SWT Standard Widget Toolkit TIAE Tecnologias de Informa o Aplicadas Educa o UML Unified Modeling Language VNC Virtual Networking Computing VRML Virtual Reality Modeling Language WCSCW Workshop Brasileiro de Tecnologias para Colabora o WDBC Workshop de Desenvolvimento Baseado em Componentes Webmedia Simp sio Brasileiro de Sistemas Multim dia e Web WYSIWIS What You See Is What I See WYSIWYG What You See Is What You Get XML Extensible Markup Language XOOPS eXtensible Object Oriented Po
72. de Galinhas PE September 2005 Fuks H Lukosch S amp Salgado A C eds Lecture Notes in Computer Science Vol 3706 pp 49 56 Gutwin C amp Greenberg S 2000 The Mechanics of Collaboration Developing Low Cost Usability Evaluation Methods for Shared Workspaces IEEE 9 Workshop on Enabling Technologies Infrastructure for Collaborative Enterprises WETICE 2000 p 98 103 Gutwin C amp Greenberg S 2002 A Descriptive Framework of Workspace Awareness for Real Time Groupware Computer Supported Cooperative Work Vol 11 No 3 4 pp 411 446 Gutwin C Stark G amp Greenberg S 1995 Support for workspace awareness in educational groupware Computer Support for Collaborative Learning Lawrence Erlbaum Associates New York 1995 pp 147 156 Hansen R P Pinto S C C S amp Hansen C R 2005 Integrando Web Services e Recursos Educacionais Atrav s de Composi o XATA2005 XML Aplica es e Tecnologias Associadas 2005 Braga Portugal pp 290 301 Harasim L Hiltz S R Teles L amp Turoff M 1997 Learning networks A field guide to teaching and online learning 3rd ed MIT Press 1997 Heineman G T 2000 A model for designing adaptable software components ACM SIGSOFT Software Engineering Notes archive Volume 25 Issue 1 January 2000 ISSN 0163 5948 pg 55 56 Refer ncias Bibliogr ficas 261 Hess H Cohen S Holibaugh B Kyang K Peterson A S Novak W
73. de Infra Estrutura em uma Arquitetura Baseada em Componentes Um Estudo de Caso no Ambiente AulaNet Disserta o de Mestrado Departamento de Inform tica PUC Rio Rio de Janeiro RJ 2006 Barreto C G Fuks H amp Lucena C J P 2005 Agregando Frameworks em uma Arquitetura Baseada em Componentes no Ambiente AulaNet Anais do 5 Workshop de Desenvolvimento Baseado em Componentes WDBC 2005 7 9 de novembro de 2005 Juiz de Fora MG ISBN 85 88279 47 9 pp 25 32 Barroca L Gimenes I M S amp Huzita E H M 2005 Conceitos B sicos in Desenvolvimento Baseado em Componentes Gimenes I M S amp Huzita E H M eds Editora Ci ncia Moderna Rio de Janeiro 2005 ISBN 85 7393 406 9 pg 57 103 Barros L A 1994 Suporte a Ambientes Distribu dos para Aprendizagem Cooperativa Tese de Doutorado COPPE UFRJ Rio de Janeiro Bass L Clements P amp Kazman R 2003 Software Architecture in Practice Addison Wesley 2003 ISBN 0 321 15495 9 Beck K 2004 Programa o extrema explicada acolha as mudan as Porto Alegre Bookman Becker K amp Zanella A N 1998 A Cooperation Model for Teaching Learning Modeling Disciplines International Workshop on Groupware CRIWG 1998 Brasil Begole J B Rosson M B amp Shaffer C A 1999 Flexible collaboration transparency Supporting worker independence in replicated application sharing systems ACM Transactions on Computer Human Interac
74. de Servi os Colaborativos 119 Servi os de Servi os de Servi os de Comunica o Coordena o Coopera o n a 2 an S 2S 9 3 S Sl a SE E ls E EE 3 El ol IB o 2 Og Ss SIS a El IS z s3 aeg JS l e S73 3 8 Ig olg op o a E a Bs Seleli o Ve lo 0 gs ties z 3 Mas AS S S a e F ma E 23 g Dz Elola 2 8 2S0 8 Sl SEIS A na BiB Ea 8 ES 2 RISE Slo d VB 2 o Slag 2 4 8 2 25 0 2 5 EIS o ol 5 EB DIE ojlo 5 SIE ES 0 o ft OARA MO a t xe COR BOO SIX Om OF SO eae lt AulaNet XXX X X XXX XX X X X X TelEduc X X X X XXXXXX X X X X AVA XX XX X XXX XX X X X X X X WebCT X X X XX X X XIX X X XX X Moodle X XX IXX XX XX X X XX XX X XX X GroupSystems X X X XXXX X X X YahooGroups X X X X X X X XXX X OpenGroupware X X X X X X BSCW X X X X X X X X X X Tabela 4 1 Ferramentas colaborativas encontradas em groupware Conforme observado na tabela diversas ferramentas similares s o utilizadas em groupware Por exemplo a maioria dos sistemas analisados oferece f rum chat agenda relat rios de atividades question rios gerenciamento de tarefas vota o reposit rio e links Cada ferramenta pode ser vista de forma relativamente isolada dentro do ambiente Estas caracter sticas s o prop cias aplica o de t cnicas de desenvolvimento baseado em componentes onde as ferramentas colaborativas s o os componentes do groupware Os ambientes oferecem um conjunto de componentes que instanciado e customizado para
75. de modo a prepar lo para futuras colabora es internacionais O Ap ndice B apresenta a descri o completa de todos os componentes propostos no kit Para cada componente s o descritos nome inten o aplicabilidade variabilidade estrutura usos conhecidos e componentes relacionados Os componentes foram nomeados seguindo a recomenda o de Cheesman amp Daniels 2000 de acrescentar o sufixo Mgr que representa a abrevia o de Manager Componente Descri o MessageMgr Oferece suporte constru o de mensagens Este componente interage com o canal de comunica o para a transmiss o dos dados Para compor a mensagem podem ser utilizadas v rias m dias pelo menos uma associando o MessageMgr aos componentes TextualMediaMgr VideoMediaMgr AudioMediaMgr ou PictorialMediaMgr O componente tamb m possibilita o anexo de arquivos na mensagem e seu envio por correio eletr nico TextualMediaMgr Utilizado para mensagens com corpo textual poss vel configurar o tamanho do texto e o vocabul rio dispon vel atrav s de filtros VideoMediaMgr Utilizado para o tratamento de v deo Podem ser configuradas as taxas de captura e de envio de dados AudioMediaMgr Utilizado para o tratamento de udio Podem ser configurados a taxa de captura e de envio de dados e o volume PictorialMediaMgr Utilizado para incorporar imagens como parte da comunica o DiscreteChannelMgr Utilizado para transmitir mensagens atrav
76. dependendo de seu envolvimento com o prop sito da atividade Para executar as a es os participantes utilizam ferramentas que agem sobre os objetos e regras definem os relacionamentos entre os participantes nas comunidades O enfoque dado teoria das atividades distinto do modelo 3C que trata a modelagem de tarefas sob o enfoque da coordena o van der Veer et al 1996 Fitzpatrick et al 1995 Kreifelts et al 1993 Teege 1996 e Farias 2004 tamb m modelam a colabora o a partir das tarefas Tripathi et al 2002 prop em um middleware baseado em um modelo de colabora o voltado para a gest o de seguran a em sistemas colaborativos O modelo adotado chamado de Role Based Collaboration Model enfoca o aspecto da coordena o do trabalho em grupo Neste modelo os participantes s o representados por pap is e os pap is s o associados s tarefas As tarefas s o vistas como opera es que incluem manipula o de objetos compartilhados e sincroniza o de a es As opera es possuem pr condi es que s o gerenciadas pelo middleware Para descrever os pap is s o definidas role admission constraints que especificam as condi es necess rias para um participante assumir um papel activation constraints que definem em quais pap is o participante deve ou n o deve estar para assumir um papel e role validation que define as pr condi es comuns a todas opera es associadas ao Capitulo 3 O Model
77. divis o em camadas onde se distingue a camada de apresenta o n o representada na Figura 4 10 que respons vel pela captura e apresenta o de dados e pela intera o com o usu rio a camada de neg cio que captura o modelo da l gica de neg cio do dom nio da aplica o e a camada de infra estrutura que implementa os servi os t cnicos de baixo n vel A divis o em camadas importante para tratar a complexidade de sistemas componentizados Szyperski 1997 p 277 A mesma infra estrutura desenvolvida para a camada de neg cio pode ser utilizada para mais de uma apresenta o como por exemplo PDA desktop implementado em HTML e desktop implementado em Flash Rich Internet Application Quando os servi os da camada de neg cio necessitam de acesso remoto como por exemplo em um cliente PDA s o disponibilizados web services que encapsulam a fachada da camada de neg cio Nos demais casos a apresenta o acessa diretamente a fachada do neg cio Esta solu o segue os padr es de projeto Fa ade Gamma et al 1994 Data Transfer Object e Business Delegate Alur et al 2001 Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 133 O ferramental desenvolvido nesta tese instrumenta o desenvolvimento da camada de neg cio implementando os conceitos do modelo 3C de colabora o A arquitetura de aplica o expressa a estrutura dos componentes do dom nio representando um projeto l gico de alto n vel in
78. do AulaNet 2 0 re eere eee rerarenaerenaeeerarenatanas 145 Figura 5 2 Servi os de colabora o administrativos para participantes e para visitantes do ambiente AulaNet asirni aeee tac rea n Kaian with deed dhl dy bide Gi eae 148 Figura 5 3 Arquitetura instanciada para o ambiente AulaNet a t tulo de clareza somente alguns servi os e componentes s o apresentados eeseecesecseeeeceeeeeceseceeesecseeeceeeecaeeeeesesseeeeens 151 Figura 5 4 Fluxo de atividades no curso TIAE Ww cee cessccseeescneeeeceseseessecaeesecnevseenaseeesaeeateaeeneeaes 153 Figura 5 5 Altera o no fluxo de atividades no curso TIAE para incluir uma avalia o 155 Figura 5 6 Servi os Bate Papo e Debate rec rerareeeerareraraeenaerananes 155 Figura 5 7 Trecho do arquivo descritor das Confer ncias 156 Figura 5 8 Adapta o de um servi o n o desenvolvido originalmente para o AulaNet 157 Figura 5 9 Novas funcionalidades incorporadas ao servi o Confer ncias ao longo do tempo 158 Figura 5 10 Din mica do uso do servi o Confer ncias no curso TIAE 159 Figura 5 11 Fator de corre o aplicado nota final em fun o da quantidade de mensagens para os diferentes modelos de avalia o oo eee eecesecseesecseeseesecseeseceaeeceaecseesecnevecsaeeeeesecaeeseeners 162 Figura 5 12 A vers o 1 0 do servi o Debate do AulaNet e 163 Figura 5 13 Nova din mica
79. do prazo de encerramento do semin rio dificulta o aprofundamento da discuss o j que estas mensagens dificilmente ser o avaliadas e respondidas durante a discuss o Esta pode ser a raz o para a quantidade excessiva de folhas nas rvores de alguns semin rios e a consequente baixa interatividade Para evitar este comportamento indesejado os mediadores passaram a encorajar o envio mais cedo de contribui es Entretanto o simples encorajamento n o funcionou Na edi o de 2004 1 foi adotada a seguinte regra se at a 25 hora de semin rio o aprendiz n o enviar metade da quantidade esperada de mensagens as notas de suas mensagens subsegiientes passam a ser divididas pela metade Esta regra foi estabelecida nos ltimos 4 semin rios Conforme ilustrado na Figura 3 15 houve uma maior distribui o de mensagens e a rajada de mensagens ao final do per odo foi reduzida O percentual de mensagens enviadas nas ltimas 5 horas caiu de 33 na primeira metade do curso para 13 na segunda metade Esta redu o tamb m foi observada nas edi es subsegiientes do curso Capitulo 3 O Modelo 3C de Colabora o 102 Primeiros 4 semin rios Ultimos 4 semin rios 0 5 10 15 20 25 30 35 40 45 50 55 0 5 10 15 20 25 30 35 4 45 50 Figura 3 15 Freqii ncia m dia de mensagens para cada hora dos semin rios para a edi o 2004 1 Comunica o e coordena o apesar de vitais n o s o suficientes necess rio espa o compartilhado para c
80. e apropriado para a tarefa A organiza o estrutura o do pensamento reflex o e aprofundamento da discuss o s o favorecidos Funaro amp Montell 1999 Benbunan Fich amp Hiltz 1999 As confer ncias funcionam no estilo de f rum sendo poss vel postar mensagens respondendo comentando ou criticando outra mensagem criando um encadeamento na exibi o das mensagens A Figura 3 8 ilustra um trecho de di logo em uma confer ncia Tecnologias da Informa o Aplicadas Educa o Mensagens sobre 02 Groupware e Comunica o Digital e Semin rio Desenvolvimento de Aplica es Colaborativas com Qualidade Carla Haze 24 03 2003 09 38 Bom o Quest o Requisitos n o Funcionais de Aplica es Colaborativas Carla Haze 24 03 2003 09 41 Bom a Argumenta o Facilidade Coopera o e Coordena o Danilo Vicente 24 03 2003 14 39 Regular a Contra Argumenta o Gerenciamento de feeback Breno Souza 24 03 2003 18 49 P ssimo a Contra Argumenta o Qualidades interna e externa Fabio Silva 26 03 2003 13 05 P ssimo a Argumenta o Percep o e Desempenho Jonas Vale 24 03 2003 21 35 Regular Argumenta o Requisitos n o funcionais e a interface Anderson Siqueira 26 03 2003 12 49 Fraco Argumenta o Usabilidade e disponibilidade Fabiano Neves 26 03 2003 13 00 Fraco Argumenta o Aspectos adicionais Carlos Mello 26 03 2003 18 06 Regular E Argumenta o 4 evo
81. e participantes pode ser oferecido suporte colabora o nos diversos n veis organizacionais da institui o como por exemplo membros da diretoria das coordena es de curso do conselho acad mico etc Tamb m poss vel oferecer suporte espec fico para subgrupos como mediadores de uma turma aprendizes que realizam uma tarefa colaborativa co autores de um curso entre outros Por alterarem a funcionalidade e a organiza o do AulaNet 2 0 do ponto de vista do usu rio estas caracter sticas ser o implantadas em futuras vers es do ambiente As institui es que utilizam o ambiente possuem necessidades espec ficas de interface com o usu rio A estrutura o em camadas da nova arquitetura do AulaNet possibilita utilizar interfaces distintas para as institui es reusando a l gica do suporte colabora o Est prevista para a nova vers o do ambiente a utiliza o de pacotes de elementos de interface com o usu rio skins que alteram a apresenta o como um todo A separa o em camadas tamb m possibilita utilizar tecnologias de interfaces rica RIA Rich Internet Application quando houver recursos computacionais e de transmiss o de dados apropriados A separa o em camadas tamb m favorece a utiliza o de dispositivos m veis como PDAs e celulares provendo um maior suporte ao desenvolvimento do AulaNetM Filippo et al 2005 Quando necess rio executar c digo Java no lado cliente s o utilizados
82. em um ambiente para avalia o de prot tipos de groupware A avalia o conduzida com base em quatro dimens es principais Capitulo 2 Revisao da Literatura 40 contexto do grupo colabora o obtida enquanto o grupo trabalha usabilidade do groupware e impactos culturais provocados na organiza o Uma ontologia referente aos conceitos principais da avalia o guia o processo As abordagens apresentadas ao longo desta se o e a componentiza o de groupware n o s o excludentes No Cap tulo 6 discutido como agreg las e direcion las a uma engenharia de groupware baseada no modelo 3C de colabora o 2 2 Componentes de Software Nesta se o s o apresentados conceitos do desenvolvimento baseado em componentes DBC resumindo o Ap ndice A No DBC componentes de software substitu veis reus veis e interoper veis s o utilizados para compor a aplica o final Gimenes amp Huzita 2005 Um componente de software D Souza amp Wills 1998 p 387 Um pacote coerente de software que a pode ser desenvolvido e instalado independentemente como uma unidade b tem interfaces explicitas e bem definidas para os servi os que prov c tem interfaces expl citas e bem definidas para os servi os que espera de outros e d pode ser utilizado para composi o com outros componentes sem altera es em sua implementa o podendo eventualmente ser customizado em algumas de suas propriedades Um comp
83. em uma das camadas a arquitetura ramificada para as esta es clientes Na arquitetura utilizada nesta tese o servidor trata tanto a l gica de neg cio quanto a constru o da apresenta o pois os participantes interagem com o groupware atrav s de um navegador web A arquitetura apresenta um processamento da l gica de neg cio nas esta es clientes apenas nos casos onde o lado cliente do servi o implementado atrav s de um applet como em algumas ferramentas de comunica o s ncrona Entretanto por uma reivindica o da EduWeb embasada em demandas do meio corporativo os applets est o sendo evitados na nova vers o do AulaNet de modo a reduzir os problemas de configura o seguran a portabilidade entre outros A nova vers o do Debate j est sendo implementada atrav s de um cliente HTML Tietze 2001 apresenta requisitos de usu rio e de desenvolvedor que arquiteturas de groupware devem apresentar A arquitetura proposta nesta tese atende aos requisitos de desenvolvedor apresentados na Se o 2 1 1 Foi utilizada a linguagem de programa o Java e uma extens o do modelo de componentes JavaBeans ambos bem conhecidos e utilizados Os component frameworks e os componentes encapsulam diversas complexidades t cnicas de baixo n vel e multidisciplinar favorecendo o reuso da experi ncia e do conhecimento anterior RD1 A centraliza o da arquitetura favorece o aproveitamento de modelos de dados existentes RD2 e
84. entidades de neg cio entre camadas O acesso base de dados encapsulado atrav s de classes que implementam o padr o de projetos Data Access Objects DAO Alur et al 2001 o que possibilita variar a maneira de persistir as classes do modelo sem que seja preciso reescrever o c digo cliente Mail Sender a classe para enviar e mails que de forma similar ao DAO encapsula o acesso ao servidor de e mails A l gica de neg cios exposta para a camada de apresenta o atrav s de um Fa ade Gamma et al 1995 que o padr o de projeto para prover uma interface para acesso s funcionalidades de um servi o A camada de apresenta o exp e a l gica de neg cios ao usu rio final Na arquitetura do AulaNet 3 0 esta camada composta pelo controlador representado no diagrama da Figura 1 1 pela letra C do MVC e por p ginas JSP que implementam a camada de Vis o representado no diagrama da Figura 1 1 pela letra V do MVC O controlador chama os m todos do Fa ade acessando a camada de neg cios Os DTOs resultantes de opera es s o passados vis o que exibe as informa es ao usu rio Frameworks de infra estrutura foram selecionados e acrescentados a esta arquitetura para prover persist ncia de dados gerenciamento de transa es entre outros aspectos Estes frameworks possibilitam ao desenvolvedor tratar estes aspectos com uma vis o em alto n vel concentrando se em seu dom nio de aplica o no caso groupware
85. granularidade baixa como uma classe e alta como um sistema s o dif ceis de reusar pois s o gen ricos ou espec ficos demais O desenvolvimento baseado em componentes trabalha com blocos com granularidade m dia mais prop cia para o reuso A componentiza o tamb m promove o reuso nas diversas atividades do desenvolvimento an lise projeto implementa o e testes Com a componentiza o a aplica o adapt vel para diversas necessidades selecionando e configurando os componentes mais adequados Pode se reimplementar um determinado componente para atender a uma necessidade espec fica ou adicionar novos componentes ou interfaces para estender os servi os providos tornando o software desenvolvido mais adapt vel e extens vel D Souza amp Wills 1998 p 397 2 Uma outra vantagem da componentiza o o encapsulamento de conhecimento e uma programa o de alto n vel Um desenvolvedor n o precisa conhecer os detalhes de implementa o dos componentes para utiliz los para compor as aplica es Quem integra componentes se especializa nesta atividade abstraindo os detalhes de implementa o tendo uma vis o mais abrangente e mais pr xima do dom nio de aplica o A componentiza o tamb m facilita a prototipa o pois o sistema recomposto para experimentar id ias Esta capacidade especialmente til quando h press o para liberar produtos no mercado ou em sistemas com requisitos n o definid
86. groupware Blois amp Becker 2002 Na literatura h diversas propostas de utiliza o de componentes de software na constru o de groupware Banavar et al 1998 Marsic 1999 Won et al 2005 Litiu amp Prakash 2000 Roth amp Unger 2000 Koch amp Koch 2000 Grundy et al 1997 Slagter amp Biemans 2000 Chabert et al 1998 Li amp Muntz 1998 Roseman amp Greenberg 1996 Hummes amp Merialdo 2000 Begole et al 1999 Guerrero amp Fuller 1999 Siqueira et al 2003 Isenhour et al 1997 Entretanto nenhuma delas utiliza o modelo 3C de colabora o e uma engenharia de dom nio como base para a concep o e organiza o dos componentes e do processo de desenvolvimento Szyperski 2003 afirma que h quatro motiva es principais para utilizar componentes de software A primeira e mais antiga relacionada com a id ia de mercado de componentes Nesta vis o as empresas buscam e adquirem componentes necess rios para resolver problemas espec ficos e integram estes componentes ao sistema sendo desenvolvido A segunda motiva o relacionada com linha de produto S o desenvolvidos componentes com o objetivo de reus los em diversos sistemas reduzindo o custo total de investimento e os custos de manuten o A terceira est relacionada com a id ia de composi o pelo usu rio final tailorability Disponibiliza se uma infra estrutura onde o usu rio implanta componentes deployment visando estender a ca
87. institui o seleciona um conjunto de servi os espec ficos para suas necessidades o AULA Engenharias AUL 2 alto die Op es Op es Entrada A Participantes Ea O Correio para Participante e Listar Permite o contato dos aprendizes com os coordenadores docentes co Lista de Matriculas autores se houver e mediadores do curso atrav s de correio eletr nico Pesquisar Registrar y 7 Correio para Turma Permite a cria o de um canal de comunica o entre todos os participantes da turma atrav s de correio eletr nico Cada mensagem enviada repassada por correio eletr nico para todos os participantes do curso Al m disso elas ficam armazenadas no ambiente para consultas verificar Pedidos de Registro verificar Pedidos de Matr cula Pr Matr cula verificar Pedidos de Trancamento de Matr cula Enviar Mensagens CO confer ncias Newsgroup Permite a cria o de confer ncias textuais na forma de discuss o em v Cursos hd AUL Arz 3 voltar Continuar AULA PUC Rio puc fio Lista de op es e Atualizar curso e Criar curso e Pedir matr cula em um curso e Alterar dados de registro a e Administra o e Atuar como Mentor a e AulaNet 2 0 O 1997 2001 e Configurar perfil de compet ncias Funda o Padre Leonel Franca Pontif cia Universidade Cat lica Rio de Janeiro Todos os direitos reservados Cursos em Shannen Release v2 0 27 AUL Aze 3
88. intera o entre eles de forma independente da tecnologia de suporte A arquitetura t cnica trata a tecnologia de suporte independentemente do dom nio da aplica o O conceito de frameworks est relacionado ao de componentes s o conceitos complementares que contribuem para o reuso de software Gimenes amp Huzita 2005 Os frameworks s o voltados para um dom nio espec fico de aplica o ou para a solu o de problemas ligados tecnologia Um framework normalmente orientado a objetos composto de classes concretas e abstratas interfaces e arquivos de configura o Para especializar o framework utiliza se Capitulo 2 Revisao da Literatura 44 heran a composi o ou configura o Os pontos de extens o do framework s o chamados de hot spots Johnson 1997 2 2 1 Benef cios e Dificuldades da Componentiza o de Software Para projetar um sistema baseado em componentes necess rio entender os benef cios e dificuldades da tecnologia al m do ferramental dispon vel Os benef cios da componentiza o est o ligados a manutenibilidade reuso composi o extensibilidade integra o escalabilidade entre outros D Souza amp Wills 1998 p 397 As dificuldades s o separadas em dificuldades do desenvolvimento para componentiza o constru o dos componentes e da infra estrutura e dificuldades do desenvolvimento com componentiza o As dificuldades do desenvolvimento para componentiza o es
89. lt Previous 1 Trash Manager Menu Manager User Manager Global Configuration Display 10 Results 1 10 of 16 Copyright 2000 2005 Miro International Pty Ltd All rights reserved Mambo is Free Software released under the GNU GPL License Page was generated in 0 075442 seconds a O internet Figura 2 11 Interface administrativa do Mambo O Mambo cuja interface administrativa apresentada na Figura 2 11 desenvolvido na linguagem PHP e possui c digo fonte aberto As ferramentas de colabora o do Mambo s o tratadas como componentes e h um modelo de componentes que padroniza a constru o de novos m dulos ao ambiente Da mesma maneira que o Lumis o Mambo possibilita ao administrador montar as p ginas adicionando e configurando os servi os e oferece a possibilidade de uso de skins O Mambo oferece diversas op es de configura o para as p ginas do portal como tamanho posicionamento de banners e estilos Grande parte dos servi os dispon veis na plataforma voltada para o gerenciamento de conte dos como documentos mat rias e not cias Logout Home Page Modules Administration Order 0 hide 2004 2 16 17 49 a o Module Version Last Updato Active Action 2004 2 16 17 49 E 2003 12 3 17 32 E 2003 12 3 17 32 E Figura 2 12 Gerenciamento de servi os no XOOPS Capitulo 2 Revisao da Literatura 62 O XOOPS eXtensible Object Oriented Portal System
90. m que como apontado por Laurillau amp Nigay 2002 trazer a separa o do suporte computacional dos diversos elementos da colabora o para a interface com o usu rio pode trazer confus o e falhas de entendimento Os elementos da interface com o usu rio devem ser harmoniosamente combinados e posicionados pr ximos aos objetos que afetam Vale ressaltar tamb m que a arquitetura componentizada do AulaNet n o garante por si s a qualidade do produto final O mesmo ocorre com um restaurante cujo sucesso depende mais do desempenho do cozinheiro do que da qualidade da panela usada para o preparo da comida dos ingredientes ou do prato no qual ela servida O sucesso do groupware dependente de quem monta o ambiente e do desempenho de quem atua nele N o basta conhecimento de programa o para se projetar um groupware s o necess rios tamb m conhecimentos sobre o funcionamento da colabora o em um grupo de trabalho e dos requisitos de usu rios e de desenvolvedores O processo desenvolvido na tese de Mariano Pimentel ameniza esta depend ncia pois para desenvolver groupware o desenvolvedor segue os passos e gera os artefatos pr estabelecidos Pimentel et al 2005 Espera se com a abordagem e a arquitetura propostas uma maior manutenibilidade e adaptabilidade do AulaNet Espera se com isto que a evolu o do ambiente n o desestruture o c digo que passa a ser constru do com base nos pilares do modelo 3C comunica o
91. m dos providos pelas interfaces do componente e por sua especifica o disponibilizado aos clientes Outra maneira de customizar o comportamento de um componente modificando suas propriedades T cnicas para isto incluem passagem de par metros para seus m todos tabelas lidas pelo componente configura o e op es na implanta o Uma abordagem comum associar um arquivo descritor a um componente O arquivo descritor possibilita que o componente seja configurado sem que seja necess rio recompil lo Szyperski 1997 p 33 O arquivo descritor prov informa es sobre o conte do do pacote sobre as depend ncias externas e sobre as configura es do componente Esta descri o analisada pela infra estrutura de execu o e utilizada para instalar e configurar o componente Weinreich amp Sametinger 2001 p 44 Componentes s o blackbox ou whitebox com as classifica es intermedi rias de graybox ou glassbox Szyperski 1997 p 29 No reuso whitebox detalhes do c digo interno s o liberados possibilitando por exemplo o uso da heran a para customizar o comportamento do componente Szyperski 1997 p 33 Apesar de n o ser recomendada a heran a que ultrapassa as fronteiras do componente s vezes utilizada Szyperski 1997 p 32 Entretanto esta heran a cria uma depend ncia e acoplamento direto entre as implementa es das classes o que vai de encontro s caracter sticas de componentes D So
92. m foi apresentado como um mini curso do JAI 2002 e publicado no EBR 2002 Seminar on Advanced Research in Electronic Business A Tabela 5 7 apresenta alguns trechos das declara es feitas pelos revisores dos artigos Os demais trechos que n o foram apresentados s o referentes estrutura do artigo ou relev ncia para a conferencia em quest o n o tendo Capitulo 5 Estudos de Caso 169 pe 22 sie ao rela o com a proposta em si Os coment rios s o apresentados em ordem cronol gica Todas as revis es s o feitas de forma an nima Alguns dos coment rios s o referentes a artigos n o aceitos para publica o Ve culo Coment rio Middleware The paper presents an interesting case study of component based software Conference development in the context of a commercial middleware platform J2EE The 2003 study is based on a groupware application that poses a number of requirements which can be suitably fulfilled with the use of component based middleware as the development and runtime environment Revisor 3 JCSCW 2003 As described the model is a substantial elaboration of a few remarks in a 1991 CACM article by Ellis et al I can see that a lot of thought went into it and I also credit the authors with a sophisticated understanding of the issues in this domain they have read and digested the literature Revisor 1 The 3C model seems to be an interesting contribution for the CSCW domain as a d
93. mais poder e seja o respons vel pela tarefa Fielding 1999 Grosz 1996 exemplifica a colabora o na prepara o de um jantar por um grupo O objetivo comum de modo que se um falhar o jantar falha Desta forma eles s o compelidos a se ajudar Quando um for ao supermercado traz os ingredientes para os outros e todos negociam o card pio para que seja coerente e o uso dos recursos para que um n o utilize um recurso imprescind vel para outro A comunica o voltada para a o com objetivo de negociar e trocar informa es A coordena o feita em duas etapas na prepara o para o trabalho e dinamicamente enquanto ele acontece A coopera o acontece na realiza o conjunta das tarefas Os indiv duos planejam juntos atuam conjuntamente negociam e possuem um objetivo compartilhado sendo que a falha de um implica na falha de todos A colabora o de grande valia no ambiente de trabalho possibilitando ao grupo tratar tarefas complexas e que requerem habilidades multidisciplinares No ambiente educacional a colabora o tamb m valorizada e incentivada Harasim et al 1997 Al m da complementa o de capacidades do aux lio m tuo e da motiva o advindos da colabora o os novos profissionais s o preparados a se relacionar a negociar a se expor a liderar a ter responsabilidade e a se comunicar coordenar e cooperar Fuks 2000 Capitulo 3 O Modelo 3C de Colabora o 74 A seguir outro
94. monitoramento e infer ncia da Capitulo 2 Revisao da Literatura 64 localiza o e contexto dos dispositivos e um framework orientado a objetos para instanciar proxies customizados O middleware encapsula funcionalidades para lidar com a mobilidade do dispositivo com a limita o de recursos e com a intermit ncia da conex o Siqueira et al 2003 prop em uma arquitetura baseada em frameworks e componentes que possibilita instanciar ambientes educacionais para diferentes metodologias e teorias de aprendizagem de forma a moldar um ambiente espec fico para cada caso Os componentes principais da arquitetura s o Data e Metadata Management Groupware Management Content Development Management Assessment and Evaluation Management Interface Management Role and Security Management e Rule Management O sistema Sieve Isenhour et al 1997 prov suporte montagem de aplica es para visualiza o colaborativa de dados Os componentes s o interligados de modo a conectar fontes de dados e componentes de processamento e de visualiza o O modelo de componentes do Sieve uma extens o do JavaBeans A aplica o extens vel dinamicamente atrav s da inser o de novos componentes Os dados s o processados em um servidor central de modo que todos os participantes visualizam o mesmo fluxo em um estilo WYSIWIS What You See Is What I See Entretanto os participantes podem atuar em diferentes partes das informa es D
95. muito bom Com rela o ao encapsulamento das complexidades de baixo n vel 3 alunos avaliaram como neutro 2 como bom e 2 como muito bom Por fim ao avaliar o suporte computacional a groupware utilizando componentes 3C 2 alunos avaliaram como neutro e 5 como bom Os resultados obtidos no question rio foram em geral positivos Pergunta Resultado A an lise da aplica o escolhida para o trabalho 0 Muito dif cil 0 Dif cil 6 Regular atrav s do modelo 3C foi 1 F cil 0 Muito f cil O entendimento do modelo 3C 0 Muito dif cil 0 Dif cil 6 Regular 1 F cil 0 Muito f cil A abrang ncia do modelo 3C na modelagem do 0 Muito insuf 0 Insuficiente 2 Regular 5 Suficiente 0 Muito suficiente sistema Como voc classifica a solu o com componentes 0 Muito limitada 0 Limitada 2 Normal baseados no modelo 3C 5 Complexa 0 Muito complexa Componentes 3C na composi o de groupware 0 Muito ruim 0 Ruim 0 Neutro 5 Bom 2 Muito bom O encapsulamento das complexidades de baixo n vel 0 Muito ruim 0 Ruim 3 Neutro de sistemas multi usu rio 12 Bom 2 Muito bom O suporte computacional a groupware usando os 0 Muitoruim 0 Ruim 2 Neutro 5 Bom 0 Muito bom componentes 3C Tabela 5 11 Resultados dos question rios aplicados aos aprendizes Al m de ser utilizada pelos alunos da disciplina Engenharia de Groupware a abordagem foi utilizada por outros m
96. ncia e o consenso mais dif cil Revisor 1 SBIE 2005 Does not provide any new ideas or any important contribution Revisor 2 IJCIS 2005 The paper basically discusses various aspects of the so called 3C model that is a model supporting the development of collaborative systems an the application of such model to the development of some learningware for a web based course Revisor 1 Tabela 5 7 Trechos das revis es de artigos relacionados a esta tese Dos coment rios listados na Tabela 5 7 apenas os revisores da CSCW Conference 2004 e do SBIE 2005 apresentaram cr ticas abordagem O primeiro acredita que h maneiras mais pr ticas de estruturar o software do ponto de vista da componentiza o O segundo n o v nenhuma nova id ia ou contribui o na proposta Por outro lado os outros revisores v em uma abordagem interessante e promissora Um revisor da Middleware Conference 2003 acredita que os 2 Os trechos completos das revis es foram disponibilizados em http groupware les inf puc rio br Capitulo 5 Estudos de Caso 170 requisitos do desenvolvimento do AulaNet realmente s o prop cios para o desenvolvimento baseado em componentes Os revisores do JCSCW elogiam o refinamento feito do modelo 3C que de acordo com eles leva em considera o a literatura da rea e v em nele uma contribui o interessante Um dos revisores do CRIWG 2004 acredita que o modelo 3C uma boa s ntese de v rias abordagen
97. ncias fora do controle dos desenvolvedores do sistema impondo um esfor o continuado de atualiza o de suas vers es e de reconfigura o do sistema H um risco de incorporar bugs de terceiros no software Al m disto muitas vezes dif cil encontrar um componente que atenda plenamente s funcionalidades desejadas e ainda ofere a suporte aos requisitos n o funcionais da aplica o como performance seguran a escalabilidade etc Gimenes amp Huzita 2005 Por fim o Capitulo 2 Revisao da Literatura 47 desenvolvimento baseado em componentes tamb m demanda uma adapta o no processo de desenvolvimento que passa a incluir etapas como an lise de dom nio busca de componentes e testes espec ficos A tecnologia de componentes vem sendo constantemente utilizada no desenvolvimento de groupware conforme ilustrado na pr xima se o A manutenibilidade reuso composi o extensibilidade integra o e escalabilidade obtidos com a componentiza o normalmente superam as dificuldades advindas da tecnologia e s o importantes no desenvolvimento de sistemas colaborativos As dificuldades da componentiza o aplicadas abordagem e arquitetura propostas nesta tese s o retomadas no Cap tulo 5 2 3 Groupware Baseado em Componentes Na literatura a tecnologia de componentes vista como apropriada para o desenvolvimento de groupware e h diversos sistemas e plataformas que disponibilizam blocos modulares e rel
98. o Sem uma arquitetura adequada a constru o de groupware e sistemas interativos em geral dif cil de obter o software resultante dif cil de manter e o refinamento iterativo dificultado Calvary et al 1997 Uma arquitetura componentizada possibilita que componentes sejam selecionados para montar um groupware voltado aos interesses espec ficos de um grupo Os componentes s o customizados e combinados na medida da necessidade tendo em mente futuras manuten es O uso desta abordagem propicia a prototipa o e a experimenta o que s o fundamentais em CSCW visto que ainda s o escassos e pouco documentados os casos de sucesso A prototipa o deve ser r pida pois ocorre enquanto o grupo trabalha para se obter um feedback oportuno e proceder com os ajustes O uso de componentes auxilia a adapta o din mica do ambiente e do suporte colabora o atrav s da recomposi o e reconfigura o do sistema Entretanto vale ressaltar que a solu o proposta n o elimina a necessidade de um desenvolvedor consciente e conhecedor do assunto em quest o pois n o basta sair ligando os componentes aleatoriamente para produzir um sistema colaborativo eficaz O uso de um processo sistematizado ajuda a reduzir estas dificuldades ao instrumentar o desenvolvedor com cat logos de problemas solu es elementos e componentes bem como as atividades a serem executadas e os artefatos a serem produzidos para obter o produto
99. o incrementar o de acordo com suas necessidades Al m disto equipes especializadas poder o atuar nos diversos componentes e servi os do ambiente o que vai ao encontro das necessidades da equipe de desenvolvimento do AulaNet na PUC Rio que composta de alunos desenvolvendo seus trabalhos de curso Normalmente cada aluno est focado em um determinado aspecto da colabora o Na Se o 2 3 desta tese foram apresentadas algumas dificuldades associadas ao uso da tecnologia de componentes freqiientemente citadas na literatura Uma delas relacionada com o esfor o inicial de projeto e Capitulo 5 Estudos de Caso 181 implementa o para montar a infra estrutura do sistema e construir uma biblioteca robusta de componentes reus veis No caso desta tese o custo inicial ser amortizado nos sucessivos reusos e na esperada redu o do custo de manuten o e evolu o As dificuldades relacionadas incorpora o de componentes provenientes de terceiros tem um impacto reduzido nesta tese pois a maior parte dos componentes s o desenvolvidos e utilizados internamente Por fim a dificuldade associada mudan a no processo de desenvolvimento est sendo tratada neste cons rcio de pesquisa na tese de Mariano Pimentel 2006 Na Se o 2 1 4 foi apresentada a arquitetura gen rica para groupware proposta por Dewan 1998 Na arquitetura de Dewan o tratamento da sem ntica da aplica o localizado em um servidor central e
100. o compartilhamento transparente de dados RD3 Dada a centraliza o da arquitetura cliente servidor na web e a op o de n o utilizar applets no ambiente n o h necessidade de suporte a dados locais RD4 Alguns Capitulo 5 Estudos de Caso 182 dos componentes 3C disponibilizados tratam de informa es de percep o como o AwarenessMgr RD5 Para disponibilizar novos servi os basta implantar o arquivo correspondente na estrutura de diret rios definida RD6 A escalabilidade tratada pelos component frameworks e pelos frameworks de infra estrutura RD7 Para integrar ferramentas externas ao ambiente desenvolvido um adaptador e a ferramenta empacotada no formato definido no modelo de componentes RD8 Por fim os component frameworks apresentam recursos para execu o intermitente de servi os e funcionalidades no servidor RD9 Os requisitos de usu rios s o dependentes da aplica o colaborativa constru da Neste cap tulo foram apresentados a arquitetura e os problemas encontrados no desenvolvimento do AulaNet 2 0 e os novos requisitos e a arquitetura para o AulaNet 3 0 Os estudos de casos apresentados ilustraram a capacidade de composi o de re configura o de customiza o e de extens o da solu o A abordagem vem se mostrando apropriada para o re desenvolvimento do ambiente AulaNet e de seus servi os Foram tamb m coletados ind cios da aceita o da abordagem e da arquitetura propostas nesta te
101. o do componente como por exemplo cria o remo o e atualiza o de participante busca etc A interface IParticipantMgrConfig disponibiliza os servi os relativos configura o do componente como defini o das informa es a serem registradas para os participantes IParticipantMgrConfig TParticipantMgr E Q Participant ParticipantMgr lt lt interface gt gt lt lt interface gt gt IParticipantMgr IParticipantMgrConfig Participant addParticipant p Participant removeParticipant p Participant getParticipants updateParticipant p Participant disableParticipant p Participant enableParticipant p Participant includeInformation String name removelnformation String name updateInformation String name String namel getInformations Figura B 10 Componente ParticipantMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados B 2 5 GroupMgr Nome GroupMgr Inten o Possibilita a defini o e gest o de grupos e subgrupos de participantes Aplicabilidade A colabora o pressup e um grupo de participantes Este componente possibilita organizar os participantes em grupos e subgrupos Pode se representar informa es adicionais para o participante no escopo do grupo Variabilidade tamanho do grupo Ap ndice B Descri o dos Componentes de Colabora o 239 Estrutura O componente GroupMgr possui tr s interfa
102. o encapsuladas e s o oferecidos hot spots que ficam dispon veis para o desenvolvedor implementar as especificidades do servi o Application Service omponen Framework Groupware Component Component Framework Collaboration Component Framework Infrastructure Frameworks Figura 4 13 Framework de dom nio para instancia o de diferentes chats Podem ser disponibilizados tamb m frameworks para consolidar e gerar uma fam lia de componentes de colabora o tratando das diversas varia es de um mesmo elemento Por exemplo ao inv s de oferecer ao desenvolvedor diversos componentes de avalia o pode ser oferecido um framework para instanciar componentes de avalia o reusando o c digo recorrente conforme ilustrado na Figura 4 14 8 Para mais detalhes sobre a terminologia associada a frameworks consulte o Ap ndice A Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 139 Application Groupware omponen Framework Component Component Framework Collaboration Component Framework ak Ass ss d EM Asses Ma l A Infrastructure Frameworks Figura 4 14 Framework de dom nio para instancia o de componentes de colabora o voltados para avalia o da participa o A granularidade dos frameworks de dom nio um fator importante a ser considerado Quanto m
103. os servi os Correio para Participante que propicia um canal particular com os mediadores do curso e Correio para Turma que aberto para toda a turma Este servi o tamb m utilizado para o an ncio dos resultados finais do curso O modelo 3C guia a sele o e busca do servi o a ser utilizado para oferecer suporte Capitulo 5 Estudos de Caso 154 computacional din mica estabelecida para a colabora o A partir da sele o de x 2 q 1 servi os o groupware constru do utilizando os componentes correspondentes Atividade Servi o Apresenta o Correio para Turma comunica o Estudo Individual Aulas Bibliografia e Webliografia coopera o Argumenta o Confer ncias comunica o Alinhamento de Id ias Debate comunica o Produ o de conte do Revis o em pares Confer ncias comunica o Submiss o de conte do Tarefas coordena o D vidas Correio para Participante e para Turma comunica o An ncio do Resultado Final Correio para Turma comunica o Tabela 5 2 Servi os do AulaNet utilizados no curso TIAE A partir da realimenta o obtida com o uso dos servi os iterativamente ajusta se o suporte computacional colabora o Caso haja altera o na din mica do curso recomp e se o ambiente acrescentando substituindo ou retirando servi os Por exemplo se o coordenador julgar que necess rio avaliar o conhecimento sobre o t pico semanal atrav s de testes pode
104. os servi os e seus componentes de modo a oferecer suporte s necessidades de colabora o O desenvolvedor seleciona os componentes desejados a partir dos component kits implantando os nos Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 137 component frameworks correspondentes Se o sistema j estiver em opera o o desenvolvedor identifica os problemas a serem resolvidos a partir da an lise da colabora o As solu es s o mapeadas em funcionalidades que s o implementadas pelos componentes de colabora o Pimentel et al 2005 O groupware montado a partir do levantamento de requisitos que identifica as necessidades de colabora o e as caracter sticas do grupo e das tarefas O trabalho em grupo modelado e a din mica da colabora o estabelecida Com base nestas informa es s o selecionados os servi os que ir o oferecer o suporte computacional colabora o definindo a arquitetura da solu o Ap s a montagem do ambiente s o efetuados os testes e as avalia es de modo a refinar o ambiente iterativamente Caso seja necess rio modificar a implementa o de um servi o existente ou desenvolver um novo adota se um ciclo similar ao anterior Inicia se com a modelagem das necessidades de colabora o e das caracter sticas do grupo e das tarefas no escopo do servi o A partir destas an lises embasadas pelo modelo 3C s o selecionadas as caracter sticas relevantes para a solu o
105. pelo COM D Souza amp Wills 1998 p 414 Tipicamente os componentes interagem entre si atrav s de Ap ndice A Componentes e Frameworks 205 chamadas de m todos em um estilo cliente servidor ou publicador ouvinte Weinreich amp Sametinger 2001 p 43 A conex o entre os componentes feita em tempo de codifica o compila o inicializa o ou execu o O conector al m do fluxo de informa es define tamb m o fluxo de controle Wills 2001 p 313 A interface de um componente define seus pontos de acesso por meio dos quais outros componentes utilizam os servi os oferecidos Szyperski 1997 p 40 A interface representa o contrato de utiliza o do componente Respeitando os contratos pode se alterar a implementa o interna do componente ou substitu lo por outro sem modificar quem o utiliza O contrato cobre aspectos funcionais e n o funcionais Szyperski 1997 p 370 Aspectos funcionais incluem a sintaxe e a sem ntica da interface Os n o funcionais incluem os aspectos referentes qualidade de servi o A interface de um componente de software funciona como a especifica o dos pinos de um circuito integrado Para usar o circuito basta conhecer o funcionamento de sua interface externa e prever na arquitetura do circuito o encaixe para ele Nao necess rio o conhecimento dos detalhes internos de funcionamento do componente abordagem caixa preta Ao estabelecer o contrato de utiliza o
106. percep o tamb m ajudam a identificar o papel e as tarefas de cada um com rela o s metas da colabora o e com os objetos da coopera o Gutwin et al 1995 Atrav s da percep o os indiv duos tomam ci ncia das mudan as ocorridas no ambiente redirecionam suas a es e prev em poss veis necessidades Neisser 1976 O projetista de um ambiente virtual identifica quais informa es de percep o s o relevantes como s o obtidas onde elementos de percep o s o necess rios como exibi los e como fornecer aos indiv duos controle sobre o fluxo de informa es e sobre quest es relativas privacidade Para evitar a sobrecarga necess rio balancear a necessidade de fornecer informa es com a de preservar a aten o sobre o trabalho e fornecer informa es na forma ass ncrona estruturada filtrada agrupada resumida e personalizada Kraut amp Attewell 1997 Uma vis o geral fornecida para que o indiv duo selecione em que parte Capitulo 3 O Modelo 3C de Colabora o 105 da informa o deseja trabalhar e mais detalhes s o obtidos quando forem demandados O espa o compartilhado projetado de modo que a percep o ap ie o trabalho em grupo e o estabelecimento do contexto de trabalho Borges et al 2004 Um projeto adequado dos elementos de percep o a serem utilizados em uma aplica o disponibiliza as informa es que os participantes necessitam para prosseguir seu trabalho de modo
107. relativos configura o do componente O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o 250 IStatisticalAnalysisMgrConfig IStatisticalAnalysisMgr E O AnalysisResult StatisticalAnalysisMgr C CooperationObj lt lt interface gt gt lt lt interface gt gt IStatisticalAnalysisMgr IStatisticalAnalysisMgrConfig 1 1 CooperationObj i AnalysisResult AnalysisT ype set CooperationObjs Collection CooperationObj addAnalysisT ype t AnalysisT ype get AnalysisResult removeAnalysisT ype t AnalysisT ype getObjects c AnalysisResult get AnalysisT ypes updateAnalysisT ype t AnalysisT ype disableAnalysisT ype t AnalysisT ype enableAnalysisT ype t AnalysisT ype Figura B 20 Componente StatisticalAnalysisMegr e suas interfaces Usos conhecidos Confer ncias e Correio para Turma Componentes relacionados CooperationObjMgr B 3 4 ActionLogMgr Nome ActionLogMgr Inten o Possibilita registrar o hist rico de a es no servi o Aplicabilidade O registro do log de a es possibilita fazer auditoria acompanhar o uso voltar a situa es anteriores rastrear problemas otimizar processos etc Variabilidade Pode ser configurado o n vel e o tipo de log a ser gerado Estrutura O componente ActionLogMgr possui duas interfaces fornecidas TActionLogMgr e IActionLogMgrConfig confo
108. rio adaptar seu c digo fonte para operar com a base de usu rios do AulaNet tendo sido apenas necess rio criar o empacotamento e o descritor A despadroniza o visual e a eventual necessidade de adapta o do c digo fonte da ferramenta que nem sempre est dispon vel s o alguns dos problemas enfrentados na adapta o de ferramentas externas BD AulaNet Microsoft Internet Explorer lt xml version 1 0 encoding ISO 8859 1 gt lt service gt February 2006 lt Service Descriptor Information for the Component Framework gt M T W T F S s lt service descriptor gt lt The component Id is the folder name aa 02 03 04 05 lt service name gt Calendario lt service name gt 08 09 10 11 12 lt service description gt Calendario lt service description gt 15 16 17 18 19 lt service type gt Asynchronous lt service type gt lt Service View gt 22 23 24 lt service participation URL gt services tcaldate calendar html lt service participation URL gt 02 03 04 05 lt service configuration URL gt lt Service Model gt lt ServiceMgrClass gt lt ServiceInstanceClass gt lt service descriptor gt lt Component specific configuration gt lt specific configuration gt lt Collaboration Components Used gt lt collaboration components gt lt service gt Figura 5 8 Adapta o de um servi o n o desenvolvido originalmente para o AulaNet Nas pr xim
109. s SEST Senat Profarma Pol cia Civil do Estado do Rio de Janeiro Inmetro entre outras O grupo de desenvolvedores do AulaNet da PUC Rio composto por alunos do doutorado mestrado e gradua o que al m de mant lo utilizam no em suas teses disserta es e monografias implementando e testando os conceitos de seus trabalhos O ambiente cresceu por prototipa o e suas funcionalidades foram implementadas evolutivamente As constantes mudan as no suporte colabora o e a evolu o das tecnologias utilizadas tornaram o c digo da aplica o fortemente acoplado e com baixa coes o Aspectos t cnicos permeiam todo o c digo ficando misturado ao suporte colabora o desviando o foco do desenvolvedor Mudan as no ambiente t m reflexo em diversas partes do c digo e causam indesejados efeitos colaterais dificultando a evolu o do ambiente a integra o de novos membros equipe de desenvolvimento e a integra o com a empresa EduWeb Este cen rio ilustra a necessidade de se prover um ferramental para apoiar o desenvolvedor de groupware para que ele desenvolva um sistema extens vel mais prop cio a acompanhar a evolu o do suporte colabora o e das caracter sticas das tarefas e dos grupos envolvidos Um ferramental que encapsule as complexidades de baixo n vel propicia a investiga o da intera o atrav s da prototipa o al m de possibilitar que um desenvolvedor n o t o especializado adapte e reco
110. s o utilizados para prover a transmiss o de udio e v deo no modo cont nuo stateless objects que s o utilizados para prover notifica o de eventos e sincroniza o e token objects que s o utilizados para prover controle de concorr ncia A plataforma Live oferece servi os espec ficos para cada um dos tipos de objetos Os componentes disponibilizados na plataforma Live s o predominantemente n o visuais ou seja n o provida uma interface com usu rio para estes componentes Entretanto a plataforma prov funcionalidades espec ficas para a integra o de componentes visuais provenientes de terceiros Alguns exemplos de funcionalidades providas pelos componentes da plataforma Live s o gerenciamento de sess o gerenciamento de convites compartilhamento de dados e eventos sincroniza o de acesso transmiss o cont nua e arquivamento e recupera o de objetos e eventos A diferen a fundamental entre os componentes da plataforma Live e os componentes propostos nesta tese est na concep o e enfoque Os componentes desta tese s o derivados de uma engenharia do dom nio guiada pelo modelo 3C de colabora o que ap ia as diversas etapas do ciclo de desenvolvimento de groupware O enfoque dos componentes da plataforma Live em groupware s ncrono com grande parte das funcionalidades voltadas para transmiss o cont nua de udio e v deo Os componentes desta tese assim como os componentes da plataforma Live for
111. s de blocos de informa o Pode ser configurado para modo s ncrono ou ass ncrono que influencia a maneira como as mensagens s o tratadas push ou pull que define como a mensagem entregue ao participante e o atraso na entrega que utilizado para regular a intera o em uma ferramenta s ncrona Pimentel et al 2005 ContinuousChannelMgr Utilizado para transmiss o cont nua de informa es MetalnformationMgr Gerencia as meta informa es associadas s mensagens CategorizationMgr Gerencia a categoriza o de mensagens DialogStructureMgr Gerencia as inter rela es entre as mensagens que podem ser na forma de lista rvore ou grafo ConversationPathsMgr Possibilita a utiliza o de uma m quina de estados para definir os caminhos dispon veis na conversa o CommitmentMgr Possibilita o gerenciamento de compromissos negociados durante a comunica o a partir de clich s de conversa o Tabela 4 2 Componentes de comunica o do Collaboration Component Kit Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 128 Cada componente apresenta interfaces fornecidas e requeridas A Figura 4 8 ilustra o componente de categoriza o de mensagens CategorizationMgr Este componente apresenta a interface ICategorizationMgr que oferece os servi os relativos utiliza o da categoriza o de mensagens como atribuir categoria modificar categoria listar objetos de uma determinada categoria etc ICatego
112. se chamar de componente a s classe s utilizadas na constru o do componente Biblioteca de fun es outro termo similar a componente Uma biblioteca prov servi os coesos para um sistema e autocontida reus vel e substitu vel Uma biblioteca pode ser disponibilizada na forma bin ria e orientada a objetos Entretanto uma biblioteca normalmente n o pressup e uma padroniza o um modelo espec fico um ciclo de vida instala o e configura o deploy e nem a exist ncia de uma plataforma espec fica de execu o Um componente assim como uma biblioteca prov uma API Application Program Interface que representa parte do contrato de utiliza o daquele peda o de c digo Uma API exp e o conjunto de opera es procedimentos fun es tipos e constantes que um peda o de c digo oferece para ser utilizado externamente Respeitando a API e os requisitos n o funcionais poss vel trocar o componente ou a infra estrutura sem impactar o c digo cliente Por exemplo o sistema operacional Windows oferece uma API padr o que compat vel entre suas diversas vers es de modo que um software desenvolvido para uma vers o anterior do sistema operacional normalmente continua a funcionar em uma vers o mais recente O ambiente de trabalho composto instalando e configurando os componentes necess rios Muitas vezes o termo componente usado com pouco rigor em diversos n veis de abstra o o que pode
113. ser a origem da confus o sobre o termo D Souza amp Wills 1998 p 388 Apperly 2001 p 29 Costuma se chamar de componente a especifica o do componente a implementa o c digo fonte o execut vel que implementa a especifica o deployable component a instala o em particular daquele execut vel a execu o espec fica daquele execut vel e a inst ncia do componente Com rela o granularidade um componente de software pode ser constru do a partir de uma nica classe ou ser t o complexo como um subsistema Gimenes amp Huzita 2005 As defini es apresentadas na Tabela A 1 ajudam a dar ind cios sobre os crit rios para considerar um peda o de c digo como sendo um componente ele deve ser pass vel de implementar e manter Ap ndice A Componentes e Frameworks 204 independentemente coeso n o trivial e com uma fun o clara no contexto da arquitetura bem como pass vel de separa o distribui o e reuso Resumindo no contexto do DBC componente de software um elemento arquitetural mapeado em um arquivo execut vel que segue uma especifica o e foi concebido para ser autocontido reus vel substitu vel al m de prover servi os espec ficos de uma maneira coesa e bem definida Portanto classificar algo como componente depende tamb m de como o c digo foi concebido e constru do e como ele se relaciona com o restante do sistema e n o somente da ader ncia a uma padroniza o Vale res
114. servi os de comunica o aos componentes 3C x gt lt x gt lt XX x XxX gt lt x x gt lt XX x XX x ss gt lt x x x xx KX x gt lt Para avaliar a utiliza o da abordagem proposta no desenvolvimento de groupware ilustrada a montagem adapta o substitui o reuso e extens o da solu o enfocando o suporte computacional colabora o abordada a instancia o do AulaNet a partir dos servi os e a instancia o destes a partir dos componentes 3C O curso TIAE apresentado no Cap tulo 3 utilizado como um cen rio real de onde s o mapeadas as necessidades de colabora o para arranjos de componentes A din mica do curso TIAE apresentada no Cap tulo 3 e na Figura 5 4 prev as seguintes atividades apresenta o estudo individual dos conte dos do curso argumenta o e alinhamento de id ias sobre os t picos semanais produ o colaborativa de conte do multim dia interativo revis o dos conte dos em pares Capitulo 5 Estudos de Caso 153 submiss o dos conte dos e esclarecimento de d vidas Ao projetar o suporte computacional colabora o no curso s o selecionados servi os para cada uma das atividades Estudo dos temas do curso T pico 1 T pico 8 Se Grama Produ o colaborativa de conte do An ncio das Avalia o do Re submiss o Prot tipo do prot tipo W notas finais a Figura 5 4 Fluxo de atividades no curso TIAE In
115. uma abstra o nica Peda o de software pequeno o suficiente para implementar e manter grande o suficiente para distribuir e dar suporte e com interfaces padronizadas para oferecer interoperabilidade Parte n o trivial de um sistema praticamente independente e substitu vel com uma fun o clara no contexto de uma arquitetura bem definida Peda o de software autocontido claramente identific vel que descreve ou executa fun es espec ficas tem interfaces claras documenta o apropriada e um status de reuso Unidade bin ria com interfaces contratualmente especificadas e depend ncias de contexto expl citas instal vel de forma independente e usado por terceiros sem modifica o para compor aplica es finais Um pacote coerente de software que a pode ser desenvolvido e instalado independentemente como uma unidade b tem interfaces expl citas e bem definidas para os servi os que prov c tem interfaces expl citas e bem definidas para os servi os que espera de outros e d pode ser utilizado para composi o com outros componentes sem altera es em sua implementa o podendo eventualmente ser customizado em algumas de suas propriedades Um componente de software um elemento que est em conformidade com um modelo de componentes e pode ser instalado independentemente e composto sem modifica es Unidade de software independente que encapsula dentro de si seu projeto e implementa o e oferece serv
116. uma especifica o precisa antecipada do comportamento do sistema dif cil prever como um determinado grupo colabora e cada grupo tem caracter sticas e objetivos consideravelmente distintos Gutwin amp Greenberg 2000 Por envolver um grupo multiplicam se as possibilidades de intera es e aumenta a demanda por sincronismo e concorr ncia de acesso o que dificulta a constru o de mecanismos de intera o adequados e a condu o de testes Usar um conjunto de componentes que s o reusados em diversas situa es aumenta a confiabilidade e a estabilidade do sistema al m de possibilitar substituir ou reimplementar componentes com impactos limitados no restante do sistema O desenvolvedor tamb m pode experimentar e prototipar diversas configura es iterativamente para refinar os requisitos do sistema e o suporte colabora o O uso de componentes oferece capacidade de customiza o e extens o Oferecer um conjunto de componentes torna desnecess rio prever todas as possibilidades de utiliza o e dar suporte a elas S o oferecidos blocos de granularidade m dia que o desenvolvedor usa para compor a aplica o Szyperski 1997 Estes blocos tamb m oferecem suporte pluralidade de plataformas a partir das quais s o acessados os sistemas colaborativos Isto inclui computadores desktop e dispositivos m veis como celulares e PDAs que est o cada vez mais com recursos suficientes para incrementar a comunica o a coorden
117. 002 2004 organizada nas seguintes camadas apresenta o neg cios e recursos Camada de Apresenta o Pema as a ie a Neg cios Mail Sender Camada de Recursos E3 amp 2 Servidor de SGBD E Mails Figura 1 1 Arquitetura T cnica do AulaNet 3 0 A camada de recursos relaciona os recursos externos necess rios para que a aplica o seja executada Na arquitetura do AulaNet 3 0 est o previstos o uso de banco de dados relacional SGBD e um servidor de e mails A camada de neg cios implementa a l gica da aplica o utilizando POJOs POJO 2005 O termo POJO foi cunhado enquanto eu Martin Fowler Rebbecca Parsons e Josh MacKenzie est vamos nos preparando para uma confer ncia em Setembro de 2000 Na palestra est vamos levantando os v rios benef cios de codificar a l gica de neg cios usando objetos Java comuns em vez de usar Beans de Entidade EJB Question vamos por que as pessoas eram t o contra usar objetos comuns em seus sistemas e conclu mos que era pela falta de um nome pomposo para os objetos simples Ent o inventamos um e o termo pegou muito bem POJO 2005 Capitulo 1 Introdu o 22 Na camada de neg cios o modelo representado no diagrama da Figura 1 1 pela letra M do MVC implementado por classes que realizam o padr o de projetos Data Transfer Object DTO Fowler 2002 usadas para transportar os dados das
118. 2005 Gro PEARS linha de produto Propriet rio Java s ncrono Tabela 2 1 Plataformas para o desenvolvimento de groupware baseado em componentes Capitulo 2 Revisao da Literatura 71 As abordagens encontradas na literatura com rela o utiliza o de componentes de software no desenvolvimento de groupware se concentram basicamente na segunda e terceira motiva o identificadas por Szyperski 2003 linha de produto e tailorability conforme ilustrado na Tabela 2 1 Os sistemas oferecem um ferramental para construir aplica es colaborativas a partir de componentes interoper veis e alguns deles oferecem a possibilidade de composi o pelos usu rios finais Tamb m pode ser notado na Tabela 2 1 que a maioria das plataformas analisadas utiliza a linguagem Java como base para sua implementa o e n o h um modelo de componentes padr o O foco da abordagem proposta nesta tese na segunda motiva o linha de produto visando instrumentar o desenvolvedor de groupware na montagem de sistemas colaborativos Entretanto alguma flexibilidade oferecida ao usu rio final que seleciona e instala novos servi os de colabora o Isto os possibilita at certo ponto adaptar a aplica o colaborativa para suas necessidades espec ficas e acompanhar as caracter sticas do grupo e das tarefas A engenharia do dom nio prop cia para utiliza o em dom nios que apresentam processos e caracter sticas complexos onde h dif
119. 3 Neale D C Carroll J M amp Rosson M B 2004 Evaluating computer supported cooperative work models and frameworks Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work CSCW 04 Chicago Illinois USA November 06 10 ACM Press New York pp 112 121 Neisser U 1976 Cognition and Reality Ed W H Freeman San Francisco Nielsen J 1994 Heuristic Evaluation Usability Inspection Methods Chapter 2 Nielsen J amp Mack R eds John Wiley and Sons New York pp 25 62 Nunamaker J F Romano N C amp Briggs R O 2001 A Framework for Collaboration and Knowledge Management In Proceedings of 34 Hawaii International Conference on System Sciences HICSS 01 Oliveira R F Blois A P T B Vasconcelos A P V amp Werner C M L 2005 Representa o de Variabilidades em Componentes de Neg cio no Contexto da Engenharia de Dom nio V Workshop em Desenvolvimento Baseado em Componentes Juiz de Fora MG novembro 2005 pp 73 80 Oliveira T C 2001 Uma Abordagem Sistem tica para a Instancia o de Frameworks Orientados a Objetos Tese de Doutorado Departamento de Inform tica PUC Rio Rio de Janeiro RJ 2001 OMG 2005 Unified Modeling Language Superstructure Specification version 2 0 formal 05 07 04 Agosto de 2005 Orfali R Harkey D amp Edwards J 1996 The Essential Distributed Objects Survival Guide John Wiley amp Sons New York Ref
120. 3 O AMBIENTE AULANET E O CURSO TIAE 2 0 cecccecesssscecsenececeseeecesseeecseeesessueeeeneaaes 78 3 4 COMUNICA O ARGUMENTA O PARA A O 1 ecsssscceesteceseeeeecesseeecseseeeessnseeenenaes 84 3 4 1 Estudo de Caso da Comunica o no AulaNet e no Curso TIAE 88 3 5 COORDENA O GERENCIAMENTO DE INTERDEPEND NCIAS c sssscessceseeeseesseeseeees 92 3 5 1 Estudo de Caso da Coordena o no AulaNet e no Curso TIAE 96 3 6 COOPERA O PRODU O NO ESPA O COMPARTILHADO ccessesceeeesteeeeeeseeeeeeee 102 3 6 1 Estudo de Caso da Coopera o no AulaNet e no Curso TI E 105 3 7 CLASSIFICA O DE ACORDO COM O MODELO 3C e erre 109 3 8 OUTROS MODELOS DE COLABORA O ssccccssseceesssceeeeaececesseecesseeecneaeeeenseaeenens 113 3 9 CONSIDERA ES FINAIS cccsssseceessccecsessececseseeceeseeecseneececseseecseseeecsesaeeecseaaeeeens 116 4 MONTAGEM DE GROUPWARE E DE SERVI OS COLABORATIVOS 118 4 1 COMPONENTES DE GROUPWARE E DE COLABORA O essssseceessececeeseeceesseeeenenaees 118 4 2 O COLLABORATION COMPONENT KIT cssecceeeessececesseeeecsneeeeeeseeecseeaeeessneeeensaaes 123 4 3 A ARQUITETURA DE APLICACAO cccsessssccececsessnsececececsesenseaeceeeceesenseaeeeeeceeeenseaeees 130 4 4 O MODELO DE COMPONENTES cssccessesceceessececeeaececssseeeeceeeecsesaeeecseseeeesseeteeseaaes 133 4 5 INSTANCIA O DE GROUPWAR
121. 35 Dale 121 TAO A EIEEE E EA AE AEE 38 2 1 6 Avalia o Heur stica sniisrosia pirkia nieras n ikia hiinas 39 2 2 COMPONENTES DE SOFTWARE sccessssseceesececssceececseeeecessaeeecsecaeceeseeeceesaeeessesaeenees 40 2 2 1 Benef cios e Dificuldades da Componentiza o de Software 44 2 3 GROUPWARE BASEADO EM COMPONENTES cssssecesssseeeeesseeecseceeeecsseeecsesueeecseaeeeeees 47 A Jd PRY SR RP PEEP BEE PEEP AEE SERENA E RENDA ERRO A ee eee 47 2 3 2 DISCIPLINE ocorra erene ER r eo r ei ER ERTE 49 29 FLEE VOIVE nre nnna a TEA E E E A E Eaa 50 2 3 4 DACIA irainei eA T EERTE iK or eE NER a ea 51 D3 D Dream Leam ciii EEE E E TE EE E ETES Casado 52 PASII TRIS E E E E E E S 53 DED keJ Vie WS nna a a E Ea E E E RTS a 54 2 38 CoGoWare sru e TE REA a E ee 55 23 9 Habanero esru c E E E Eca ana E EE 55 DEP COCA AE E E EE E EE ET 56 23A Ie GrOUP KU eea ee ove suk E E EE E EE A EE ARESE 57 2 342 Portalware menara SE TN Oe aana 59 2 3 13 Outras Plataformas para a Constru o de Groupware sses 63 2 4 ENGENHARIA DO DOM NIO E COMPONENTES sssssscesscesscsecsecsecssecseecseecseeeeseeees 65 2 5 CONSIDERA ES FINAIS cccssccecsssceceesnececeeaeeecseseecesseceecsesaeeecseseeeessseeeseaeeesseaseeeees 68 3 O MODELO 3C DE COLABORA O NA EN AETI A E O E 72 JVA COLABORA O si its a r ahd E SEIT US ra 72 3 2 O MODELO 3C DE COLABORA O s cccsssssceessseeceessececsenaecessneteceesaeeecsesaeeesnnseeeneaaes 15 3
122. 5 2 Senhor da Guerra 8 MSN 4 7 0 TortoiseSVN 2 4 2 Tabela 5 10 Utiliza o dos componentes 3C Ao final da apresenta o da terceira etapa do trabalho os alunos receberam e responderam um question rio sobre o ferramental disponibilizado O resultado do question rio apresentado na Tabela 5 11 A maior parte dos alunos avaliou o grau de dificuldade da utiliza o do modelo 3C para a an lise da aplica o escolhida como regular em uma escala de muito dif cil a muito f cil O entendimento do modelo 3C teve a mesma avalia o Estes resultados foram considerados satisfat rios visto que os alunos tiveram o primeiro contato com o modelo 3C e com a abordagem durante o curso e n o s o especialistas em groupware Com rela o abrang ncia do modelo 3C na modelagem do sistema 5 alunos avaliaram como suficiente e 2 como regular indicando que a maior parte das funcionalidades identificadas foram classificadas Com rela o utiliza o dos componentes 3Cs 5 alunos identificaram a solu o como complexa e 2 como normal em uma escala de muito simples a muito complexa Este resultado tamb m foi considerado satisfat rio dado que al m de n o serem especialistas Capitulo 5 Estudos de Caso 178 em groupware os alunos n o s o especialistas em componentes de software Apesar de a maioria ter classificado a solu o como complexa todos avaliaram a utiliza o de componentes 3C na composi o de groupware como bom ou
123. 6 1 Caracter sticas de bons toolkits Greenberg 2006 A arquitetura e os componentes foram desenvolvidos na linguagem Java e utilizam uma extens o do modelo de componentes JavaBeans que largamente difundido e utilizado na literatura e comercialmente caracter stica 1 V rias das plataformas apresentadas no Cap tulo 2 utilizam este modelo Banavar et al 1998 Marsic 1999 Stiemerling et al 1999 Chabert et al 1998 Hummes amp Merialdo 2000 A utiliza o de plataformas e tecnologias de suporte difundidas facilita a ado o da solu o e sua curva de aprendizagem reduzida A infra estrutura de execu o que montada a partir de uma composi o de frameworks de infra estrutura Barreto et al 2005 e os component frameworks oferecem diversos servi os de sistema o que alivia a necessidade de o desenvolvedor escrever c digo para implementar servi os de baixo n vel caracter stica 2 Cap tulo 6 Conclus o 187 Alguns exemplos de servi os providos s o persist ncia transa o declarativa concorr ncia de acesso comunica o remota logging instala o atualiza o e remo o autentica o seguran a tratamento e direcionamento de requisi es valida o tratamento de erros gera o de relat rios etc A infra estrutura tamb m automatiza diversos procedimentos repetitivos do desenvolvimento e da aplica o caracter stica 3 A solu o encapsula projetos e conceitos bem sucedido
124. 8 2002 0 minha fam lia e amigos pelos momentos subtra dos de nossa conviv ncia para serem investidos na pesquisa Agradecimentos especiais aos meus pais Aur lio Gerosa e Virg nia de Almeida Gerosa pela aten o e investimentos na minha educa o Agrade o tamb m pelo apoio e incentivo constantes que mesmo a muitos quil metros de dist ncia foram essenciais para o sucesso deste trabalho E a todos aqueles que direta ou indiretamente contribu ram para a realiza o deste trabalho Resumo Gerosa Marco Aur lio Fuks Hugo Desenvolvimento de Groupware Componentizado com Base no Modelo 3C de Colabora o Rio de Janeiro 2006 275p Tese de Doutorado Departamento de Informatica Pontificia Universidade Cat lica do Rio de Janeiro Groupware evolutivo e dif cil de construir e de manter e acaba tendo um c digo desorganizado e dif cil de evoluir Nesta tese proposta uma abordagem de desenvolvimento de groupware baseado em componentes concebidos em fun o do modelo 3C de colabora o No modelo 3C a colabora o analisada a partir da comunica o coordena o e coopera o Na abordagem proposta parte se das necessidades de colabora o do grupo analisadas com base no modelo e componentes de software tamb m organizados em fun o do modelo s o utilizados para compor a solu o Como estudo de caso a abordagem aplicada no desenvolvimento da nova vers o do ambiente AulaNet cujo c digo pa
125. 8 Aulas 2 Groupware e comunica o digital 22 08 12hs 24 08 14hs Confer ncias 25 08 12hs 13hs Debate 26 08 01 09 Aulas P E epee 29 08 12hs 31 08 14hs Confer ncias 01 09 12hs 13hs Debate 4 Learningware e ambientes para Gt cata 19 03 Aulas Estudo e IBW 12 09 12hs 14 09 14hs Confer ncias discuss o dos 15 09 12hs 13hs Debate t picos do cay 16 09 22 09 Aulas curso oe ee 19 09 12hs 21 09 14hs Confer ncias 22 09 12hs 13hs Debate 23 09 29 09 Aulas o ee e 26 09 12hs 28 09 14hs Confer ncias 29 09 12hs 13hs Debate SREDE E 30 09 06 10 Aulas sa ale edesignde 03 10 12hs 05 10 14hs Confer ncias 06 10 12hs 13hs Debate 07 10 20 10 Aulas 8 Novos rumos de IBW 17 10 12hs 19 10 14hs Confer ncias 20 10 12hs 13hs Debate Produ o e submiss o da vers o 21 10 03 11 Tarefas e prot tipo Produ ao dg Avalia o colaborativa da vers o conte do sai 04 11 12hs 11 11 12hs Confer ncias interativo prototipo hiperm dia Produ o e submiss o da vers o final 11 11 24 11 Tarefas Avalia o colaborativa da vers o Correio para 25 11 28 11 ae final Participantes Entrega das notas 30 11 Correio para Turma Encerramento Prova Final somente para os que n o 01 12 12hs 13hs RA deaula obtiveram nota m nima Tabela 3 1 Cronograma de atividades do curso TIAE em 2005 2 O curso TIAE visa desenvolver a capacidade de trabalho na sociedade conectada aumentando o grau de i
126. A ado o de componentes para gerenciar estas entidades favorece a customiza o das informa es necess rias Os componentes 3C de coordena o GroupMgr e ParticipantMgr prov em estas funcionalidades O componente GroupMer utilizado para implementar os cursos do ambiente que s o tratados como grupos de participantes associados a servi os colaborativos Na solu o adotada para aumentar a modularidade dos servi os do ambiente e reusar a infra estrutura de execu o tamb m s o tratados como componentes os servi os administrativos matricular aprendizes gerenciar turmas configurar o ambiente etc os servi os para os visitantes FAQ contato com administrador notifica o de erro listagem de cursos etc e os servi os para participantes criar curso matricular configurar perfil etc As quatro fam lias de servi os do AulaNet s o ilustradas na Figura 5 2 Os servi os colaborativos s o utilizados pelos docentes e aprendizes para dar suporte s atividades de aprendizagem colaborativa os servi os administrativos s o utilizados pelo administrador do sistema para gerenciar e configurar as funcionalidades e dados do servidor os servi os de participantes s o utilizados pelos usu rios Capitulo 5 Estudos de Caso 148 autenticados e os servi os de visitantes s o disponibilizados para os usu rios n o autenticados O AulaNet prov um conjunto padr o de servi os adapt vel para cada servidor de modo que cada
127. ABALHOS FUTUROS iera s ara ra a EKE EV a vases EEE r ces a in 191 6 3 1 O Ambiente CLAD OV cccccccccccscccccceccsesnsscecececseusnuscecececeesssaeceeeceesenesaeseeceeneaeae 193 6 3 2 A Engenharia de Groupware Baseada no Modelo 3Cc 194 6 4 CONSIDERA ES FINAIS recreere ereere er aeie ea i VEE Era NENE EEE Eae EEk aieea 196 AP NDICE A COMPONENTES E FRAMEWORKS ssssssssessesssssosssseessseseseeseneesnes 198 A 1 COMPONENTES DE SOFTWARE sccessssseceessececeensececseceecessececsesaececsesaeeesseeeeneaaeees 198 A 2 DEFINI O DE COMPONENTE DE SOFTWARE sccsssesseeessseeeceesaececseseecessteeecseaeees 200 A 3 UTILIZA O DE COMPONENTEG csssessecesssececeessececenseecessaeeecsenaeceseesaeeessaeeeeneaeees 204 A 4 REPRESENTA O DE COMPONENTES sssssscessesseeesesseecesseeeecsesaeeecsesaeesssneeeensaaeees 209 A 5 IMPLEMENTA O DE COMPONENTEG ssssscecesssececeesceceesececssaaecesseseeeessneeeeneaaeees 211 A 5 1 Modelo de Componentes c ccsccsccssesssesecsseeecnsescceseeecesecseesecueeeecnaseeesaeeneeneenees 212 A 5 2 Exemplos de Modelos de Componentes sosser 214 A 6 INFRA ESTRUTURA DE EXECUGAO cccssccesssscecsessececssseeeesseeeecseaaececsesaeeseaeeeeneaaeees 217 A 1 COMPONENT KITS 30 3 on gotta iastten tai acini ihn os Soto amics os atm basicas 219 A 8 ARQUITETURA DE SOFTWARE BASEADA EM COMPONENTES s scscscceesesseseeeeeeeeees 220 AJ FRAMEWORKS dg m2sr seria diant att
128. Ap s a submiss o do conte do inicia se uma fase de avalia o pelos pr prios colegas Membros de outros tr s grupos escolhidos avaliam o conte do submetido em confer ncias criadas para cada grupo onde os aprendizes discutem os problemas encontrados nos prot tipos Ap s a conclus o do per odo de discuss o os grupos t m um prazo para submeter uma vers o revisada incorporando as contribui es dos colegas Esta vers o revisada avaliada pelo coordenador do curso para eventualmente ser incorporada ao reposit rio A percep o interconecta os elementos do modelo 3C Gerosa et al 2003 A partir da percep o os participantes identificam as necessidades de trabalho Greenberg 2003 No servi o Mensagem aos Participantes iniciada uma comunica o s ncrona atrav s de mensagens instant neas a partir da indica o de quem est presente no ambiente Quando um aprendiz submete um conte do educacional pelo servi o Co autoria de Aprendiz o coordenador do curso notificado para avaliar trocar mensagens com o aprendiz e eventualmente incorporar o conte do ao reposit rio do curso 3 7 Classifica o de Acordo com o Modelo 3C O modelo 3C guia a especifica o de uma nova ferramenta e a an lise do suporte computacional de uma existente Nesta se o alguns exemplos s o analisados com o intuito de clarificar alguns crit rios de classifica o e conceitos referentes ao modelo 3C de colabora o O serv
129. B 19 Figura B 20 Figura B 21 Componente AccessRegistrationMgr e suas interfaces 252 Figura B 22 Componente AwarenessMgr e suas interfaces ii errerrrnaeas 244 Componente AvailabilityMgr e suas interfaces rr 245 Componente NotificationMgr e suas interfaces eras 246 Componente CooperationObjMgr e suas interfaces 0 0 eeeeecseesecneeeeceeceteeeeeeeees 248 Componente SearchMgr e suas interfaces eeeeeseceeeeeesecseesecneteeceaeeeeeaeeeeees 249 Componente Statistical AnalysisMgr e suas interfaces cee eeseeeeeeeceeeeeeneeneeeee 250 Componente ActionLogMgr e suas interfaces ese 251 Lista de Tabelas Tabela 2 1 Plataformas para o desenvolvimento de groupware baseado em componentes 70 Tabela 3 1 Cronograma de atividades do curso TIAE em 2005 2 83 Tabela 3 2 Elementos de comunica o adotados nos servi os de comunica o do AulaNet 91 Tabela 3 3 Servi os do ambiente TelEduc re reeererereraracanacananas 110 Tabela 4 1 Ferramentas colaborativas encontradas em QrOUPWALE ceeeceeeeceseeeeeeeeeeeeneeees 119 Tabela 4 2 Componentes de comunica o do Collaboration Component Kit 127 Tabela 4 3 Componentes de coordena o do Collaboration Component Kit 129 Tabela 4 4 Componentes de coopera o do Collaboration Component Kit
130. BA utiliza a IDL Interface Definition Language para descrever a interface p blica de seus servi os O cliente n o dependente da localiza o do objeto que est sendo invocado da linguagem que o mesmo foi programado ou do sistema operacional que est sendo utilizado Ap ndice A Componentes e Frameworks 216 Web Services um padr o para comunica o entre componentes atrav s da web A aplica o utiliza os servi os dos componentes atrav s do protocolo SOAP que encapsula as chamadas dos servi os e os retornos em pacotes XML lt xml version 1 0 encoding UTF 8 7 gt lt portlet app version 1 0 xmlna xsis http sim w3 org 2001 AMLSchema instance xeitachemalocation http java sun com xml ns portlet xmlns http java sun com xml ns portlet gt lt portlet gt lt portlet nameshel loWorld lt portlet name gt portlet class gt examples helloworld HelloWorld lt portlet class gt lt portlet infto gt lt title gt Hello World lt title gt lt portlet into gt lt fportlet gt lt portlet app gt Figura A 9 Arquivo descritor de um portlet JavaBeans o modelo b sico de componentes da Sun a partir do qual s o feitas diversas extens es O JavaBeans define como tratar no componente eventos propriedades introspec o reflex o customiza o e empacotamento Szyperski 1997 Enterprise Java Beans o modelo para a interconex o de componentes remotos em aplica es corporativas Rec
131. Can Evolve with the Supported Task in Proceedings of the International ICSC Conference on Intelligent Systems and Applications ISA 2000 Wollongong Australia Slagter R J amp ter Hofte H 1999 Component models and component groupware architectures TI RS 99023 GIGACSCW D2 1 1 Telematica Instituut the Netherlands Slagter R J Biemans M amp Ter Hofte G H 2001 Evolution in use of groupware Facilitating tailoring to the extreme In M Borges J Haake and U Hoppe eds Proceedings of the 7 International Workshop on Groupware CRIWG 2001 6 8 September 2001 Darmstadt Germany 2001 Sommerville I 2003 Engenharia de Software 6 ed S o Paulo Addison Wesley 2003 Stafford J A amp Wolf A L 2001 Software Architecture in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Stahl G 2001 WebGuide Guiding collaborative learning on the Web with perspectives Journal of Interactive Media in Education Stiemerling O Hallenberger M amp Cremers A B 2001 A 3D Interface for the Administration of Component Bases Distributed Systems Proceedings of the 5 International Symposium on Autonomous Decentralized Systems p 119 Stiemerling O Hinken R amp Cremers A B 1999 The EVOLVE Tailoring Platform Supporting the Evolution of Component Based Groupware In Proceedings of the 3rd Internation
132. Colabora o 94 Sem esta percep o m tua ocorrem conflitos e duplica es desnecess rias de esfor os Dourish amp Belloti 1992 2 O gerenciamento da percep o portanto um elemento de coordena o considerado no projeto do sistema S o levadas em conta as informa es de percep o referentes aos efeitos das a es do indiv duo feedback e de seus colegas feedthrough O fluxo de informa es de percep o deve ser cuidadosamente planejado j que a princ pio toda informa o sobre o que acontece aconteceu ou acontecer no grupo t m alguma import ncia e o excesso de informa es dificulta a tomada de decis es Hwang amp Lin 1999 Deve se projetar tamb m com cautela as informa es de feedthrough para n o restringir excessivamente o espa o individual e a privacidade dos participantes Gandon amp Sadeh 2004 Na maioria dos bate papos e videoconfer ncias o grupo coordena se exclusivamente com base na percep o Nestes casos a coordena o fica a cargo do protocolo social caracterizado pela aus ncia de mecanismos de coordena o expl citos entre as atividades A coordena o nestas situa es estabelecida culturalmente Gutwin amp Greenberg 2002 Por outro lado atividades cujas tarefas s o altamente interdependentes n o s o satisfatoriamente coordenadas somente com o protocolo social Nestes casos s o utilizados mecanismos de coordena o por software Um mecanismo de c
133. Control Class Documento do Microsoft Word I Exibir como icone Figura do Microsoft Word Gr fico do Microsoft Excel zi esultado x Insere um novo objeto de Adobe Acrobat Document no seu documento Cancelar Figura A 8 Inser o de um objeto OLE em um documento do Microsoft Word COM DCOM e ActiveX s o outros modelos de componentes utilizados pela Microsoft que vieram da evolu o das id ias do modelo original OLE Brockschmidt 1996 Os modelos oferecem suporte a diversos n veis de complexidade de componentes e possibilitam a integra o de aplica es desenvolvidas por diferentes fabricantes A solu o enfoca componentes bin rios interoper veis A Microsoft definiu um padr o para seus componentes de interface com o usu rio widgets disponibilizados atrav s da linguagem Visual Basic O modelo introduzido foi o VBX que posteriormente foi substitu do pelo OCX pelo ActiveX e depois pelo COM Atualmente o modelo de componentes do NET unifica toda a tecnologia de componentes da Microsoft A Borland desenvolveu seu pr prio modelo de componentes de interface o CLX Component Library for Cross Platform que possibilita o desenvolvimento de aplica es para o Microsoft Windows e para o Linux atrav s dos ambientes Kylix Delphi e C Builder O CORBA Common Object Request Broker Architecture fornece um modelo de componentes que possibilita a comunica o entre componentes distribu dos O COR
134. Desenvolvimento de Groupware Componentizado com Base no Modelo 3C de Colabora o Marco Aur lio Gerosa Tese de Douturado Marco Aur lio Gerosa Desenvolvimento de Groupware Componentizado com Base no Modelo 3C de Colabora o Tese de Doutorado Tese apresentada ao Programa de P s Gradua o em Inform tica da PUC Rio como requisito parcial para obten o do t tulo de Doutor em Inform tica Orientador Hugo Fuks Rio de Janeiro fevereiro de 2006 Marco Aur lio Gerosa Desenvolvimento de Groupware Componentizado com Base no Modelo 3C de Colabora o Tese apresentada como requisito parcial para obten o do grau de Doutor pelo Programa de P s gradua o em Inform tica do Departamento de Infor m tica do Centro T cnico Cient fico da PUC Rio Aprovada pela Comiss o Examinadora abaixo assinada Prof Hugo Fuks Orientador Departamento de Inform tica PUC Rio Prof Carlos Jos Pereira de Lucena Departamento de Inform tica PUC Rio Prof Rubens Nascimento Melo Departamento de Inform tica PUC Rio Prof Alberto Barbosa Raposo Departamento de Inform tica PUC Rio Prof Marcos Roberto da Silva Borges Departamento de Ci ncia da Computa o UFRJ Profa Ana Carolina Brand o Salgado Departamento de Inform tica UFPE Prof S rgio Crespo Coelho da Silva Pinto Departamento de Inform tica UNISINOS Prof Jos Eugenio Leal Coordenador Setorial do Centro T cnico Cie
135. E cssccessessecesssecececaeeecssceeeeseneeeceesaeeecsesaeesseeeeeeneaaes 136 4 6 USO DE FRAMEWORKS DE DOMINIO csccesscsseessecssecseeesseeseescesscesecesecasessecnseeseeces 137 4 1 GONSIDERAGOES m NTN KAE A id deck sess biolendheshsstees luitess seem nee 140 5 ESTUDOS DE CASO apuun hinan sosiaa resdan a raas isisao 144 5 1 ESTUDOS DE CASO NO AMBIENTE AULANET cccsesseceesseeeceeeececseseeeessneeeeneaaeees 144 IPO AULGNCES O E E E EA ESE 146 5 1 2 A Arquitetura do AulaNet 3 0 esccscesccssesseeseencesecsesececescssseacesecasesecnasenesaseas 150 5 1 3 Composi o no AulaNet 3 0 nsenseeeseseseresrseerrerressrreresrsrerrsrresesrrsresresese 151 5 1 4 Composi o do servi o Confer ncias e eeeeeeraeeerenaa 157 5 1 5 Composi o do Servi o Debate ir eerreereeeeeererareeanea 163 5 2 ACEITA O ACAD MICA ccssccsscessesssesssesseestcesscssceascsaecasecseceseeeaseeeseseeetsesscesscnase 167 5 3 ESTUDO DE CASO NA DISCIPLINA ENGENHARIA DE GROUPWARE ccs 172 5 4 ESTUDO DE CASO COM O TELEDUC ccessssceceesececesscecessneeecsesaececseeaecessneeeeneaaeees 178 5 5 CONSIDERA ES FINAIS ccssccecssseeecssscecesssececseaaececeeseeeesaeeecsesaeeeseesaeenesnseeeneaeees 179 6 CONCLUS O ciiseniia neu sesta apenas scan pedais colada 183 6 1 CONTRIBUI ES asir i ia aoa ra E EEE a EE aided etc anta Quad emanada ind 188 6 2 LIMITA ES r a hea a E Alsat Aa ee 189 6 3 TR
136. Este exemplo ilustra o aperfei oamento de um servi o de comunica o sem alterar o suporte espec fico comunica o tratando apenas da coordena o O desenvolvimento das vers es do Debate e do Bate Papo foi conduzido por Mariano Pimentel 2006 utilizando a abordagem proposta nesta tese Capitulo 5 Estudos de Caso 166 Bate Papo Debate 2 0 MessageMer MessageMgr DiscreteChannelMgr DiscreteChannelMgr AssessmentMgr AssessmentMgr RoleMgr RoleMgr PermissionMgr PermissionMgr ParticipantMgr ParticipantMgr SessionMgr SessionMgr CooperationObjMgr AwarenessMgr CooperationObjMgr FloorControlMgr Tabela 5 5 Componentes 3C utilizados no Bate Papo e no Debate 2 0 Ap s a implementa o do Debate 2 0 passou se a investigar a influ ncia de outros elementos da colabora o na discuss o Em vers es subseqiientes foram investigados outros problemas como sobrecarga de mensagens problemas na interface escrita leitura descontextualiza o e mensagem particular em local p blico Pimentel et al 2004 al m da integra o do servi o com a gest o de compet ncias do ambiente Foram acrescentados os componentes 3C TextualMediaMgr e Competency Mgr Este estudo de caso ilustrou a necessidade de estender a ferramenta colaborativa para acompanhar a evolu o da din mica de trabalho O uso do modelo 3C favoreceu a an lise isolada das necessidades e defici ncias de cada aspecto da colabora o e a composi o de uma f
137. Figura 3 16 Profundidade m dia porcentagem de folhas e quantidade de mensagens nas Confer ncias das edi es de 2002 1 e 2003 1 do curso TIAE O registro das mensagens tamb m possibilita analisar o hist rico em fun o do n vel da rvore do tamanho da categoria e do hor rio de envio Fuks et al 2005 A Figura 3 17 ilustra alguns gr ficos utilizados para analisar as mensagens do curso TIAE A figura apresenta a quantidade de mensagens por n vel o uso das categorias por n vel o tamanho da mensagem por categoria e a nota em fun o do tamanho A partir destes gr ficos o docente analisa o comportamento do grupo na coopera o 20 d 2 5 c E e o 10 o c U o 5 q oO c o 0 1 2 3 4 5 6 7 8 Nivel o N vel O N vel 1 N vel 2 N vel 3 N vel 4 N vel 5 N vel 6 Nivel 7 5 Semin rio 95 0 0 0 0 0 0 0 o a o Quest o 1 99 0 8 05 3 1 5 8 15 3 15 6 0 q ee E Argumenta o 1 0 E 98 50 4 E 44 2 ET 34 8 33 3 36 8 o Contra Arg 1 0 0 39 4 E 38 0 DD 42 4 37 0 E 26 3 q ne i E e O Esclarecimento 1 1 0 6 14 9 H 12 0 17 4 24 1 E 36 8 10 amp Seminario 3542 dm e e 7 5 gt Quest o T q q E as Pf ii s E Argumenta o B M dia q 82 2 D Desvio padr o pa o Contra argumenta o o 25 E Es clarecimento 3 6 o 0 2000 4000 6000 e D0 too 2000 Tamanho
138. Groupware Desenvolvimento de Aplica es Colaborativas Engineering Groupware for E Business Evoluindo para uma Arquitetura de Groupware Baseada em Componentes o Estudo de Caso do Learningware AulaNet Do Modelo de Colabora o 3C Engenharia de Groupware O Modelo de Colabora o 3C no Ambiente AulaNet O Uso de uma Arquitetura Baseada em Componentes para Incrementar um Servi o do Ambiente AulaNet Suporte Coordena o e Coopera o em uma Ferramenta de Comunica o Textual Ass ncrona Um Estudo de Caso no Ambiente AulaNet Uma Arquitetura para o Desenvolvimento de Ferramentas Colaborativas para o Ambiente de Aprendizagem AulaNet Towards an Engineering Approach for Groupware Development Learning from the AulaNet LMS Development Componentes Baseados no Modelo 3C para o Desenvolvimento de Ferramentas Colaborativas AulaNet 3 0 desenvolvendo aplica es colaborativas baseadas em componentes 3C Applying the 3C Model to Groupware Development Tabela 5 6 Ve culos das publica es diretamente relacionadas a esta tese Os ve culos das publica es apresentados na Tabela 5 6 se concentram basicamente nas comunidades de CSCW Webmedia 2003 WCSCW 2004 CSCWiD 2005 WCSCW 2005 e IJCIS componentes WDBC 2001 2003 2004 e 2005 e inform tica na educa o desenvolvimento baseado em Revista Inform tica na Educa o e SBIE 2004 que s o comunidades diretamente relacionadas a este trabalho O trabalho tamb
139. Mgr C Participant lt lt interface gt gt lt lt interface gt gt IRoleMgr IRoleMgrConfig 1 getRolesSet addRole r Role getRole p Participant removeRole r Role getParticipants r Role getRole setRole obj Participant r Role updateRole r Role disableRole r Role enableRole r Role Figura B 8 Componente RoleMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet funcionalidades espec ficas para os mediadores e aprendizes Componentes relacionados ParticipantMgr B 2 3 PermissionMgr Nome PermissionMgr Inten o Gerencia as permiss es de execu o de a es Aplicabilidade Prover a seguran a de acesso aos recursos e funcionalidades do sistema Cada componente do sistema pode registrar neste componente as a es sobre as quais se deseja controlar permiss es e as permiss es de um determinado papel Variabilidade Conjunto de a es de um servi o Estrutura O componente PermissionMgr possui duas interfaces fornecidas IPermissionMgr e IPermissionMgrConfig duas interfaces requeridas Action e Role conforme ilustrado na Figura B 9 A interface IPermissionMgr disponibiliza os servi os relativos utiliza o do componente como atribui o das permiss es de um papel referente s a es do servi o em quest o teste de Ap ndice B Descri o dos Componentes de Colabora o 237 permiss o etc A interface IPermissionMgrConfig dispon
140. Op es Mensagens sobre 02 Groupware e Comunica o Digital gt z BEBBEBERUBUER UE ella Controle Voltar Ativar Confer ncia Semin rio O papel da coordena o em groupware Alberto 24 08 2001 19 44 Bom o Quest o Papel do instrutor Alexand a Argumenta o Mediador fund Contra Argumenta o Md Quest o Moderado a Argumenta o Argumenta o O Mediador o Contra Argumenta o Pa Argument Argumenta o Alem de pilot a Argumenta o o mediado a Argumenta o Al a Argumenta a Argumenta o Con Semin rio Quest o Argument a Argumenta o Mediador com a a Argumenta o Monitor a Contra Argumenta o Mas pode tamb m desmotivar a discuss o Ma Contra Argumenta o Criticas construtivas s o sempre in Argument Argument Contra Arg Contra Arg AUL Azz 3 PUC Rio Figura 3 10 Arvore derivada de uma confer ncia ressaltando as categorias das mensagens As categorias auxiliam no entendimento do relacionamento entre as mensagens complementando a informa o provida pela estrutura o hier rquica e auxiliando na identifica o da dire o que a discuss o est tomando Gerosa et al 2005 Por exemplo em uma rvore ou ramo que s cont m mensagens de argumenta o n o est havendo confronto de id ias enquanto um n mero excessivo de contra argumenta es indica que o grupo est discutind
141. Task disableT ask t Task enableT ask t Task Figura B 14 Componente TaskMgr e suas interfaces Usos conhecidos Servi o Tarefas Componentes relacionados ParticipantMgr Ap ndice B Descri o dos Componentes de Colabora o 243 B 2 9 AwarenessMgr Nome AwarenessMgr Inten o Gerencia as informa es de percep o em geral registrando e operando sobre os eventos ocorridos no servi o Aplicabilidade As informa es de percep o contextualizam o trabalho em grupo Alguns exemplos de informa es o que j foi feito o que falta fazer novidades presen a de participante novidades desde a ltima visita etc As informa es de percep o s o especialmente teis para embasar filtros utilizados na computa o m vel visto que a informa o deve ser mais precisa e focada dadas as restri es de tamanho de tela banda e qualidade de conex o Filippo et al 2005 Variabilidade Pode se configurar os tipos de eventos Estrutura O componente AwarenessMgr possui quatro interfaces fornecidas AwarenessMer IAwarenessMgrConfig Event e EventType e uma interface requerida Participant conforme ilustrado na Figura B 15 A interface IAwarenessMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo cria o e recupera o de eventos A interface IAwarenessMgrConfig disponibiliza os servi os relativos configura o do componente como defini o dos tipos d
142. UML prev o uso de estere tipos que s o pontos de extens o dos diagramas para serem utilizados com particularidades do dom nio em quest o Estere tipos s o representados nos diagramas atrav s de um nome precedido por lt lt e sucedido por gt gt Alguns trabalhos estendem a linguagem UML para a modelagem de aspectos espec ficos de groupware baseado em componentes Estas extens es tornam mais direta a integra o do projeto com a arquitetura utilizada Na proposta de Rubart amp Dawabi 2002 para representar aspectos espec ficos da arquitetura as classes que representam objetos compartilhados s o marcadas com o estere tipo lt lt shared gt gt e as que representam componentes de groupware com o estere tipo lt lt component gt gt conforme ilustrado na Figura 2 1 Estas extens es indicam implicitamente os mecanismos de encaixe na arquitetura de concorr ncia de sincroniza o etc Os componentes de groupware implementam as ferramentas colaborativas lt lt shared gt gt lt lt component gt gt Nome da Classe Nome da Classe Atributos Atributos M todos M todos Figura 2 1 UML estendida apresentando classes que representam objetos compartilhados esquerda e componentes de groupware direita Rubart amp Dawabi 2002 A associa o entre os componentes e os objetos compartilhados realizada atrav s de tarefas o que leva necessidade de represent las no diagrama
143. a o de F runs Educacionais Encadeamento e Categoriza o de Mensagens XIV Simp sio Brasileiro de Inform tica na Educa o SBIE 2003 12 14 de Novembro Rio de Janeiro RJ pp 45 54 Fuks H Raposo A B amp Gerosa M A 2003 Do Modelo de Colabora o 3C Engenharia de Groupware IX Simp sio Brasileiro de Sistemas Multim dia e Web Webmidia 2003 Trilha especial de Trabalho Cooperativo Assistido por Computador 03 06 de Novembro Salvador BA pp 445 452 Fuks H Mitchell L H R G Gerosa M A amp Lucena C J P 2003 Competency Management for Group Formation in the AulaNet Learning Environment 9 International Workshop on Groupware CRIWG 2003 28 September 02 October Grenoble France ISBN 3 540 20117 3 Lecture Notes in Computer Science 2806 Springer Verlag pp 183 190 Raposo A B Gerosa M A amp Fuks H 2003 Modeling Coordination in Business Webs Proceedings of the 3 IFIP Conference on E commerce E business and E government 21 24 September 2003 Guaruja SP pp 549 559 Fuks H Gerosa M A Pimentel M G Raposo A B Mitchell L H R G amp Lucena C J P 2003 Evoluindo para uma Arquitetura de Groupware Baseada em Componentes o Estudo de Caso do Learningware AulaNet Anais eletr nico do 3 Workshop de Desenvolvimento Baseado em Componentes WDBC 2003 10 12 de Setembro S o Carlos SP Mitchell L H R G Gerosa M A amp Fuks H 2003
144. a o para incentivar a colabora o Fuks 2000 COMUNICA O Bate papo Debate sistemas Confer ncias de confer ncia A para Turma sistemas Messagem Instant nea de mensagem NCorrreio para Participante Bibliografia Avisos Webliografia den Informa es a espa o de informa o Documenta o E Nilss compartilhada jers STarefas agentes editores em grupo inteligentes Exames Acompanhamento da Participa o Acompanhamento da Navega o sala de reuni o Pesquisa de Opini o eletr nica workflow Certificado COOPERA O COORDENA O Figura 3 3 Posicionamento dos servi os do AulaNet no tri ngulo apresentado por Borghoff amp Schlichter 2000 Os servi os de colabora o do ambiente AulaNet s o atualmente organizados em servi os de comunica o de coordena o e de coopera o A Figura 3 3 ilustra o posicionamento dos servi os do AulaNet no tri ngulo apresentado em Borghoff amp Schlichter 2000 Os servi os do AulaNet est o posicionados na parte externa do tri ngulo Os servi os s o classificados de acordo com o seu prop sito principal conforme ilustrado na Figura 3 4 COMUNICA O Ass ncrona i S ncrona Correio para Mensagem Participante Instant nea Correio p Turma Bate papo Confer ncia i Debate Aulas Inf
145. a o e a coopera o do grupo Filippo et al 2005 Software evolutivo e groupware evolutivo por natureza Tam amp Greenberg 2004 A composi o e as caracter sticas dos grupos de trabalho se alteram ao longo do tempo assim como as tarefas executadas O grupo aprende surgem afinidades e conflitos entre os membros entram e saem pessoas levando o grupo a mudar continuamente A componentiza o prov a capacidade de montar e evoluir um ambiente de trabalho espec fico selecionando e configurando um conjunto de ferramentas colaborativas espec ficas para suas necessidades Esta pesquisa prop e a estrutura o de um sistema colaborativo em componentes que encapsulam as dificuldades t cnicas de sistemas distribu dos e Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 142 multi usu rio e refletem os conceitos da colabora o modelados pelo modelo 3C Este ferramental instrumenta o desenvolvimento da camada de neg cio da aplica o possibilitando trocar a camada de interface de um servi o mantendo a mesma l gica de aplica o No contexto deste trabalho a engenharia de dom nio baseada no modelo 3C de colabora o de modo a guiar o desenvolvimento de aplica es colaborativas A transi o entre as atividades do desenvolvimento e o mapeamento dos conceitos de an lise para as estruturas do c digo estreitado facilitando o desenvolvimento iterativo e a posterior manuten o da aplica
146. a Por que Pablo Humberto Lins gt Groupware uma novidade Liane Pereira Queiroz de Castro gt Directo at onde eu set um software de eutoria e n o Groupware Marcelo Lopes Oliveira Tamb m acho isto Liane Pablo Santos gt No meu entendimento software de autoria contribul para um roupware Gustavo T Borges gt Um aspecto importante eh que o groupware entenda Como um grupo funciona como as pessoas se comportam nesse grupo lt Alessandro Fabricio Garcia concordo com a Liane uma boa aplica o rote suas mensagens sas ere Salvar Armazena Partcpantes Registra DEDE refer Armazens Paricpanice qa re Figura 5 6 Servi os Bate Papo e Debate Algumas modifica es s o resolvidas com customiza es nos servi os n o necessitando de sua troca Por exemplo para habilitar a possibilidade de desativa o da Confer ncia basta alterar a propriedade correspondente no arquivo descritor do componente que apresentado na Figura 5 7 Dependendo da din mica estabelecida para o uso do servi o pode se ajust lo configurando suas funcionalidades Capitulo 5 Estudos de Caso 156 lt xml version 1 0 encading ISO 8859 1 7 gt lt service gt lt Service Descriptor Information for the Component Framework gt lt service descriptor gt lt The component Id is the folder name gt lt service name gt Confer ncias lt service name gt lt service description gt F ru
147. a bem com a forma de representa o das mensagens A organiza o do modelo 3C tamb m aparece frequentemente na literatura em outros trabalhos com outros enfoques Bretain et al 1997 utilizam os tr s Cs como base para analisar e entrevistar grupos cujas atividades s o realizadas fora de um escrit rio como bombeiros encanadores rep rteres e representantes de vendas objetivando definir um suporte computacional multim dia e m vel adequado s necessidades de cada grupo Sauter et al 1995 utilizam os tr s Cs para a classifica o de groupware no escopo das empresas su as Sire et al 1999 utilizam o modelo Clover para projetar o suporte computacional coordena o em um groupware Castellani et al 1996 utilizam os tr s Cs para classificar ferramentas e para direcionar sua pesquisa Magnussona amp Svenssonb 2000 projetam o suporte computacional para grupos de estudantes utilizando os tr s Cs como base para classifica o das ferramentas Os tr s Cs s o utilizados tamb m por Muhammad et al 2005 para o projeto do suporte percep o em ambientes de produ o de documentos web Borghoff e Schlichter 2000 utilizam os tr s Cs para classifica o de ferramentas colaborativas Marsic amp Dorohoceanu 2003 utilizam os tr s Cs para analisar elementos da interface com o usu rio Tatikonda amp Stock 2003 utilizam os tr s Cs para analisar as rela es Capitulo 3 O Modelo 3C de Colabora o 77 in
148. a audioconfer ncia e uma lista de participantes conectados Para isto montou uma arquitetura onde utilizou os componentes MessageMgr DiscreteChannelMgr e AudioMediaMgr Prop s um novo componente OnlineMgr para gerenciamento dos participantes presentes Entretanto esta funcionalidade j provida pelo componente AwarenessMgr em conjunto com o SessionMgr O aluno que analisou o jogo O Senhor da Guerra que jogado atrav s de mensagens SMS prop s a cria o de um novo jogo com uma funcionalidade de comunica o cinco de coordena o e duas de coopera o envio de mensagens para os jogadores ranqueamento agrupamento em cl s gerenciamento de tarefas posicionamento das naves defini o de objetivos mapa do universo e batalha conjunta Para isto prop s seus pr prios componentes mesmo havendo componentes 3C que atenderiam suas necessidades como MessageMgr 2 http buddyspace sourceforge net http www orkut com 7 http www senhordaguerra com br Capitulo 5 Estudos de Caso 176 DiscreteChannelMgr RoleMgr PermissionMgr ParticipantMgr GroupMgr SessionMgr FloorControlMgr TaskMgr AwarenessMgr CooperationObjMer e RankingMgr O aluno que analisou a ferramenta MSN que oferece servi os de comunica o s ncrona prop s duas novas funcionalidades de coordena o e duas de coopera o utiliza o de n veis de disponibilidade para diferentes grupos de contatos possibilidade de bloquear o envi
149. a coordenar os elementos da arquitetura O enfoque da plataforma DISCIPLINE no desenvolvimento de groupware s ncrono com integra o entre diversas ferramentas e mecanismos de entrada e de sa da Nesta tese a abordagem proposta direcionada para o modelo de neg cio da aplica o que organizada em fun o do modelo 3C Com rela o interface com o usu rio o suporte computacional colabora o harmonicamente combinado de modo a facilitar a manipula o das ferramentas e informa es Laurillau amp Nigay 2002 Capitulo 2 Revisao da Literatura 50 2 3 3 FreEvolve O FreEvolve Won et al 2005 chamado anteriormente de EVOLVE Stiemerling et al 1999 antes de sua libera o na licen a GPL um sistema baseado em componentes desenvolvido em uma arquitetura cliente servidor na Internet O FreEvolve foi concebido visando a adapta o e a montagem pelos usu rios finais da aplica o O modelo de componentes utilizado no FreEvolve 2 chamado FlexiBeans e uma extens o do JavaBeans O suporte espec fico a portas objetos compartilhados e intera es remotas parte das extens es do FlexiBeans O modelo de componentes contempla tanto componentes vis veis na interface com o usu rio quanto componentes sem apresenta o No FreEvolve a estrutura da aplica o colaborativa descrita por arquivos que descrevem a composi o da estrutura no lado servidor e no lado cliente as interconex es en
150. a da colabora o como um todo O segundo n vel contempla os componentes utilizados para montar os servi os oferecendo suporte a determinados aspectos da colabora o dentro da din mica de uma atividade em particular Na abordagem proposta os componentes que implementam as ferramentas colaborativas s o chamados de servi os e os componentes utilizados Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 122 para implementar o suporte computacional colabora o dos servi os s o chamados de componentes de colabora o Conforme ilustrado na Figura 4 4 um groupware composto de servi os que s o reus veis em diversos outros groupwares Os servi os compartilham componentes de colabora o que implementam o suporte colabora o que nesta tese modelada atrav s do modelo 3C A partir de component kits organizados em fun o do modelo 3C o desenvolvedor monta uma aplica o para dar suporte din mica da colabora o Al m do reuso esta abordagem favorece tamb m a capacidade de extens o da solu o ao possibilitar a inclus o de novos componentes Comunica o Comunica o Componente de Colabora o 1 bees e eee eee e ee eee Componente de Colabora o 2 Groupware x Groupware y O Componente de Colabora o 3 Componente de Colabora o 4 f 7 Componente de S E EE E i Colabora o 5 Figura 4 4 Grou
151. a da colabora o no servi o pode ser alterada para incluir novas meta informa es a serem preenchidas ao escrever as mensagens um sistema de workflow para acompanhar o fluxo de tarefas realizadas no servi o e um mecanismo de recomenda o para que os aprendizes votem e recomendem mensagens Estas altera es s o mapeadas em componentes de comunica o coordena o e coopera o respectivamente Os componentes 3C s o agregados ao servi o de modo a reusar o suporte computacional colabora o Grande parte das altera es apresentadas na Figura 5 9 s o mapeadas a componentes 3C Algumas funcionalidades como pr visualiza o manipula o de cole es e interface para PDA atingem somente a interface com o usu rio n o sendo contempladas pelos componentes 3C que s o voltados para a camada de neg cio da aplica o A Tabela 5 4 apresenta o mapeamento das funcionalidades apresentadas na Figura 5 9 e os componentes 3C correspondentes Capitulo 5 Estudos de Caso 161 Funcionalidade Componente 3C Categoriza o CategorizationMgr Acompanhamento quantitativo AwarenessMgr Avalia o de mensagens AssessmentMgr Coment rio na avalia o AssessmentMgr Acompanhamento de acesso AccessRegistrationMgr Bloqueio da confer ncia DiscreteChannelMgr Refinamento da avalia o AssessmentMgr Pr visualiza o Gest o de compet ncias CompetencyMgr Nova interface com cole es Mecanismo de busca SearchMgr An
152. a das tecnologias para constru o de portais analisadas apresenta um modelo de componentes que incorpora aspectos espec ficos do suporte computacional colabora o Os modelos de componentes destas plataformas oferecem recursos para encapsular servi os t cnicos e para cuidar do ciclo de vida dos componentes At o momento n o h um padr o nico para a constru o de servi os para portais Pretende se futuramente desenvolver adaptadores do modelo de componentes utilizado nesta tese para as infra estruturas de execu o dos portalware de modo a compatibilizar os servi os desenvolvidos para o ambiente AulaNet com os portalware e vice versa Capitulo 2 Revisao da Literatura 63 2 3 13 Outras Plataformas para a Constru o de Groupware A plataforma ACOST Hummes amp Merialdo 2000 voltada para a cria o de sistemas colaborativos extensiveis pelos usu rios em tempo de execu o O modelo de componentes JavaBeans utilizado como base para o modelo de componentes definido na plataforma A plataforma estende o modelo de eventos definido no JavaBeans para possibilitar a troca de eventos entre componentes mesmo eles estando distribu dos na rede O ACOST primordialmente utilizado para a constru o de ferramentas de comunica o s ncrona Alguns exemplos de ferramentas constru das utilizando a plataforma incluem um chat e um sistema de vota o online O Flexible JAMM Java Applets Made Multiuser Begole et al
153. a discutir uma quest o com B rbara O ambiente fornece servi os de colabora o s ncrona e ass ncrona de modo que os participantes selecionam o modo de intera o mais adequado a cada situa o RUS5 Acesso ao ambiente independente da esta o de trabalho B rbara necessita de informa es presentes no laborat rio da empresa Ela deixa sua esta o de trabalho e se conecta do computador do laborat rio e continua a colabora o com Andrew do ponto onde foi interrompida RU6 Fornecimento de espa o privativo e p blico e transi o entre eles B rbara quer rascunhar algumas observa es sem que Andrew tenha acesso Quando estiverem mais consolidadas ela convidar Andrew para visualizar e trabalhar no texto RU7 Extens o din mica do ambiente Andrew e B rbara necessitam construir um determinado tipo de figura Andrew busca na Internet uma ferramenta para este prop sito e a incorpora ao ambiente de modo que B rbara tamb m tenha acesso RU8 Sincroniza o entre ferramentas diferentes B rbara abre uma ferramenta para manipular a estrutura do documento enquanto Andrew utiliza o editor de texto As altera es feitas em uma ferramenta s o refletidas na outra RU9 Mobilidade Charles o gerente do projeto ao sair de uma reuni o com um cliente acessa o sistema atrav s de seu PDA para verificar o andamento e as pend ncias RU10 Agrupamento de ferramentas Ao encerrar
154. a hier rquica Comunica o Bate Papo Conversa em tempo real entre os alunos do curso e os Comunica o formadores Correio Sistema de correio eletr nico interno ao ambiente Comunica o Din mica do Curso Informa es sobre a metodologia e a organiza o do curso Coordena o Agenda Programa o de um determinado per odo do curso di ria Coordena o semanal etc Avalia es Avalia es em andamento no curso Coordena o Atividades Atividades a serem realizadas durante o curso Coordena o Exerc cios Exerc cios com quest es dissertativas de m ltipla escolha de Coordena o associar colunas e de verdadeiro ou falso Grupos Gerenciamento de subgrupos para o desenvolvimento de Coordena o tarefas Perfil Espa o para que cada participante do curso se apresente aos Coordena o demais Acessos Acompanhamento da freqii ncia de acesso dos participantes ao Coordena o curso e s ferramentas Intermap Visualiza o da intera o dos participantes do curso nas Coordena o ferramentas de comunica o Material de Apoio Informa es teis relacionadas tem tica do curso Coopera o Leituras Artigos relacionados tem tica do curso Coopera o Perguntas Perguntas realizadas com maior freqii ncia durante o curso e Coopera o Freqiientes suas respectivas respostas Parada Obrigat ria Conte dos que visam desencadear reflex es e discuss es entre Coopera o os participantes ao longo do curso Mural Espa
155. a sess o de colabora o Andrew e B rbara agrupam as ferramentas para possibilitar restaurar o ambiente mais rapidamente na pr xima sess o RU11 Alta performance Ao colaborar os participantes esperam que seu trabalho ocorra sem atrasos devido lat ncia do sistema De modo geral as Capitulo 2 Revisao da Literatura 30 ferramentas de colabora o sincronas t m requisitos mais fortes de feedthrough modifica es devido a a es dos companheiros do que as ferramentas ass ncronas e opera es interativas t m requisitos mais fortes de feedback modifica es devido a a es do indiv duo do que opera es em lote RD1 Reuso da experi ncia e conhecimento anteriores David novo membro da equipe de desenvolvimento de ferramentas deseja que sua experi ncia e conhecimento sobre programa o de aplica es mono usu rio sejam aproveitados RD2 Aproveitamento do modelo de dados Visando a interoperabilidade e o reuso David aproveita modelos de dados j existentes RD3 Compartilhamento transparente de dados David n o deseja preocupar se com a distribui o e com o compartilhamento de dados pelo sistema A infra estrutura prov recursos para gerenciar o acesso a aloca o e o compartilhamento dos dados RD4 Suporte a dados locais e compartilhados Nem todos os dados devem ser compartilhados David decide se o dado vai ser local ou compartilhado e a infra estrutura prov recu
156. aborativos como por exemplo em Borghoff amp Schlichter 2000 Nesta tese o modelo 3C utilizado para a modelagem do dom nio de modo a embasar o desenvolvimento de groupware A experi ncia acumulada nos 8 anos de desenvolvimento e utiliza o do AulaNet a pesquisa na literatura e a an lise de ferramentas de colabora o possibilitaram refinar o modelo e direcion lo para o desenvolvimento de groupware Na vers o 2 0 do AulaNet o modelo 3C utilizado na organiza o dos servi os de colabora o e n o impacta o desenvolvimento do sistema Na vers o 3 0 s o utilizados componentes concebidos com base no modelo 3C de modo a estreitar a rela o entre os conceitos do dom nio e a organiza o da implementa o De acordo com Brna Capitulo 3 O Modelo 3C de Colabora o 117 1998 o suporte computacional colabora o melhorado se houver um aumento de consci ncia do modelo de colabora o que est sendo utilizado 2 O modelo 3C como todo modelo uma simplifica o da realidade e portanto n o deve ser usado indistintamente em todas as situa es O objetivo do modelo n o representar a colabora o por si s e sim a colabora o do ponto de vista do suporte computacional O modelo foi concebido para ser usado como um guia para analisar o problema e organizar o desenvolvimento O modelo foi refinado com o objetivo de embasar o desenvolvimento e construir uma arquitetura um kit de componentes e um p
157. acobson I 2000 UML Guia do Usu rio Editoria Campus Rio de Janeiro ISBN 85 352 0562 4 Borges M R amp Pino J A 1999 Awareness mechanisms for coordination in asynchronous CSCW Procs of the gh Workshop on Information Technologies and Systems WITS 99 1999 pp 69 74 Borges M R S Br zillon P Pino J A amp Pornerol J C 2004 Bringing Context to CSCW Proceedings of The 8 International Conference on Computer Supported Cooperative Work in Design CSCWiD 2004 China IEEE pp 161 166 Borges M R S Mendes S amp Motta C L R 2002 Improving Meetings by identifying informal roles played by participants 7 International Conference on Computer Supported Cooperative Work in Design 2002 Rio de Janeiro pp 368 372 Borges M R S Pino J A amp Salgado A C 2000 Requirements for Shared Memory in CSCW Applications Proceedings of the 10 Workshop on Information Technology and Systems WITS 00 Brisbane Australia Borghoff U M amp Schlichter J H 2000 Computer Supported Cooperative Work Introduction to Distributed Applications Springer USA Braga R 2000 Busca e Recupera o de Componentes em Ambientes de Reutiliza o de Software Tese de Doutorado COPPE Sistemas 2000 Bretain I Fredin L Frost W Hedman L R Kroon P McGlashan S Sallnas E L amp Virtanen M 1997 Leave the Office Bring Your Colleagues Design Solutions for Mobile Teamwor
158. ador o respons vel pela estrutura o do curso selecionando quais servi os estar o dispon veis configurando o espa o compartilhado e definindo a ementa a metodologia os conte dos did ticos e outras informa es sobre o curso O coordenador conta com o aux lio de docentes co autores respons veis pela produ o e inser o de conte dos did ticos nos servi os selecionados O mediador quem cuida do dia a dia do curso e avalia a participa o dos aprendizes No AulaNet disponibilizado um conjunto de servi os e o coordenador seleciona os que ser o utilizados em seu curso e configura os de acordo com as din micas educacionais que ser o adotadas nas turmas Nas suas primeiras vers es os servi os do AulaNet eram classificados em servi os administrativos de avalia o e did ticos que uma abordagem comum em ferramentas educacionais Edutools 2005 Entretanto esta abordagem levou os docentes que Capitulo 3 O Modelo 3C de Colabora o 80 usavam o ambiente a ensinar da maneira vertical tradicional professando informa es com pouca intera o entre eles e os aprendizes e sem intera o entre os aprendizes Contudo o que se espera de um aprendiz na colabora o um alto grau de intera o com seus colegas e com os docentes que por sua vez devem agir como mediadores e coordenadores ao inv s de entregadores de informa o Os servi os do AulaNet foram reorganizados com base no modelo 3C de colabor
159. agem de desenvolvimento de groupware com outras envolve a experimenta o com diversos grupos de desenvolvedores utilizando as abordagens para desenvolver sistemas de porte consider vel Dada a grande quantidade de abordagens presentes na literatura e as restri es de recursos nesta tese optou se por analisar a aceita o acad mica da proposta em vez de comparar os produtos resultantes Com esta finalidade foram consideradas apresenta es revis es provenientes de confer ncias e revistas cient ficas cita es em trabalhos relacionados e a equipe de desenvolvedores da EduWeb buscando ind cios de aceita o e entendimento da proposta no meio acad mico e empresarial A abordagem e a arquitetura propostas nesta tese foram apresentadas no Doctoral Colloquium do CRIWG International Workshop on Groupware de 2004 e 2005 coordenados pelos professores Hugo Fuks e Gert Jan De Vreede respectivamente Esta se o de Aceita o Acad mica na tese foi sugerida pelo professor De Vreede durante o colloquium de 2005 como forma de complementar a avalia o da viabilidade da abordagem dada a dificuldade de validar e comparar trabalhos na rea de desenvolvimento de groupware Sua sugest o foi de utilizar os pareceres dos revisores de confer ncias e revistas como ind cios da viabilidade e originalidade do trabalho A abordagem e a arquitetura propostas nesta tese foram publicadas e apresentadas em confer ncias e revistas cient fi
160. ais abstrato e abrangente for o framework mais dif cil se torna seu uso Quando mais pontos de extens o maior a aplicabilidade dentro de um dom nio de aplica o por m sua utiliza o requer uma longa curva de aprendizado e sua instancia o requer um trabalho maior de customiza o Oliveira 2001 A granularidade dos componentes e frameworks iterativamente refinada ao longo do projeto Gimenes amp Huzita 2005 Um groupware trata de uma rea de aplica o espec fica como por exemplo aprendizagem colaborativa com rcio eletr nico acompanhamento de projetos desenvolvimento de software etc Frameworks tamb m podem ser utilizados para gerar uma fam lia de groupware de uma mesma rea de aplica o de modo a reusar funcionalidades recorrentes conforme ilustrado na Figura 4 15 Pode ser desenvolvido por exemplo um framework para instanciar ambientes de aprendizagem a partir do qual instanciado o AulaNet entre outros Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 140 Application Groupware omponen Framework Groupware Component Framework Framework Collaboration Component Framework Es Ma Infrastructure Frameworks Figura 4 15 Framework de dom nio para instanciar uma determinada fam lia de aplica es Frameworks e componentes s o tecnologias complementares Gimenes amp Huzita 2005 Szyperski 1997 p 278 Na abordage
161. al Enterprise Distributed Object Computing Conference EDOC 99 pp 106 115 Refer ncias Bibliogr ficas 269 Streitz N Haake J Hannemann J Lemke A Schuler W Scheutt H amp Thuring M 1992 SEPIA a cooperative hypermedia authoring environment Proceedings of Proceedings of ACM Conference on Hypertext ECHT 92 pp 11 22 Szyperski C 1997 Component Software Beyond Object Oriented Programming Addison Wesley ISBN 0 201 17888 5 Szyperski C 2003 Component technology what where and how Procedings of the 25 International Conference on Software Engineering ICSE 03 IEEE Computer Society pp 684 693 Tam J amp Greenberg S 2004 A framework for asynchronous change awareness in collaboratively constructed documents CRIWG 2004 LNCS 3198 p 67 83 Tapscoot D Ticoll D amp Lowy A 2000 Digital Capital Harnessing the Power of Business Webs Harvard Business School Press USA Tatikonda M V amp Stock G N 2003 Product Technology Transfer in the Upstream Supply Chain The Journal of Product Innovation Management Vol 20 Product Development amp Management Association pp 444 467 Teege G 1996 Object Oriented Activity Support A Model for Integrated CSCW Systems Computer Supported Cooperative Work CSCW The Journal of Collaborative Computing 5 1 pp 93 124 1996 Teixeira B amp Chagas E F 2005 Co Autoria Avalia o e Proposta de Requisitos para Fe
162. am propostos com o intuito de encapsular a complexidade de baixo n vel inerente a sistemas colaborativos com o objetivo de reduzir as dificuldades de desenvolvimento de groupware Capitulo 2 Revisao da Literatura 49 2 3 2 DISCIPLINE DISCIPLINE DIstributed System for Collaborative Information Processing and LEarning Marsic 1999 uma plataforma voltada para o desenvolvimento de groupware s ncrono para o dom nio educacional A arquitetura do DISCIPLINE consiste de componentes replicados e recursos centralizados no servidor Os elementos principais desta arquitetura s o um barramento de colabora o uma interface com usu rio multi modal l gica da aplica o e agentes inteligentes O barramento de colabora o interconecta os elementos da arquitetura propagando eventos e controlando a concorr ncia de acesso e a sincroniza o entre as aplica es bem como o gerenciamento das informa es de percep o A interface com o usu rio multi modal prov diversas formas de intera o entre os usu rios e a aplica o Alguns recursos oferecidos al m dos recursos de entrada e de sa da textual s o o reconhecimento e a sintetiza o de voz e o reconhecimento de gestos Recentemente tamb m foi incorporado na plataforma o suporte a constru o de interfaces para dispositivos m veis como PDAs Krebs et al 2003 A l gica da aplica o provida por componentes JavaBeans e agentes inteligentes s o utilizados par
163. amework define as invariantes e os protocolos de conex o entre os componentes estabelece as condi es ambientais para as inst ncias dos componentes e regula as intera es entre elas Szyperski 1997 p 276 O component framework define uma interface chamada de lifecycle interface que estabelece a conex o com os 2 componentes Schwarz et al 2003 Esta interface acessada para gerenciar Component framework um termo com diversos entendimentos na literatura Neste trabalho est sendo seguida a defini o proposta por Szyperski 1997 Component framework equivalente ao conceito de component model implementation definido por Councill amp Heineman 2001 p 7 Ap ndice A Componentes e Frameworks 218 inicializar executar e desativar os componentes O component framework nao acessa as interfaces de neg cio dos componentes O component framework segue e oferece suporte a um modelo de componentes provendo uma infra estrutura para apoiar sua execu o O component framework fornece uma base para a integra o din mica dos componentes at de diferentes fabricantes de acordo com as necessidades e prefer ncias dos usu rios e desenvolvedores O component framework oferece servi os de execu o como cria o de objetos gerenciamento de ciclo de vida persist ncia de objetos licenciamento acesso a dados gerenciamento de transa es balanceamento de carga etc Component frameworks para sistemas di
164. amp Carroll P 2000 A Domain Analysis Bibliography Carnegie Mellon University Software Engineering Institute Special Report 90 SR 3 Houaiss 2001 Dicion rio Eletr nico da L ngua Portuguesa vers o 1 0 Editora Objetiva Houston K amp Norris D 2001 Software Componentes and the UML in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Hummes J amp Merialdo B 2000 Design of Extensible Component Based Groupware Computer Supported Cooperative Work 9 1 53 74 ISSN 0925 9724 Hwang M I amp Lin J W 1999 Information dimension information overload and decision quality Journal of Information Science Vol 25 no 3 pp 213 218 Ierusalimschy R Figueiredo L H amp Celes W 1996 Lua an extensible extension language Software Practice amp Experience 26 6 635 652 Isenhour P L Begole J Heagy W S amp Shaf fer C A 1997 Sieve A java based collaborative visualization environment Late Breaking Hot Topics Proceedings IEEE Visualization 97 1997 Jacobson I Griss M amp Jonsson P 1997 Software Reuse Architecture Process and Organization for Business Success Addison Wesley Nova York Johnson R 1997 Components Frameworks Patterns Symposium of Software Reusability 1997 USA Johnson R 2002 Expert One on One J2EE Design and Development Reading Wi
165. ango G 1994 Domain Analysis Methods In Software Reusability Schafer W Prieto Diaz R amp Matsumoto M eds Chichester Ellis Horwood 1994 pp 17 49 Araujo R M Santoro F M amp Borges M R S 2004 A conceptual framework for designing and conducting groupware evaluations Journal of Computer Applications in Technology IJCAT V 19 N 3 4 Special Issue on Current Approaches for Groupware Design Implementation and Evaluation pp 139 150 Araujo R M Santoro F M amp Borges M R S 2004 The CSCW Lab Ontology for Groupware Evaluation Proceedings of the gn Computer Supported Cooperative Work in Design CSCWiD 2004 pp 148 153 Baker K Greenberg S amp Gutwin C 2001 Heuristic Evaluation of Groupware Based on the Mechanics of Collaboration 8 IFIP International Conference EHCI 2001 Lecture Notes in Computer Science Vol 2254 pp 123 139 Springer Verlag Banavar G Doddapaneti S Miller K amp Mukherjee B 1998 Rapidly Building Synchronous Collaborative Applications by Direct Manipulation In Proceedings of the 1998 ACM Conference on Computer Supported Cooperative Work CSCW 98 pp 139 148 1998 Refer ncias Bibliogr ficas 254 Bandinelli S Nitto E D amp Fuggetta A 1996 Supporting cooperation in the SPADE 1 Environment IEEE Transactions on Software Engineering vol 22 No 12 December 1996 pp 841 865 Barreto C G 2006 Agregando Frameworks
166. anizados em fun o do modelo 3C de colabora o a defini o de uma arquitetura baseada em component frameworks e component kits e a elabora o de um component kit para instanciar servi os colaborativos Capitulo 1 Introdu o 20 1 2 O Cons rcio de Pesquisa Para investigar o desenvolvimento de groupware e sua aplica o no desenvolvimento do AulaNet 3 0 nosso grupo de pesquisa Groupware LES consorciou tr s trabalhos Barreto 2006 em sua disserta o de mestrado prop e a integra o de frameworks na constitui o da arquitetura t cnica do AulaNet Gerosa em sua tese de doutorado prop e a montagem de groupware a partir da agrega o de servi os e componentes baseados no Modelo 3C de Colabora o e Pimentel 2006 em sua tese de doutorado prop e um processo de desenvolvimento de groupware usando o Modelo 3C de Colabora o em diferentes etapas do processo Estes trabalhos consorciados reduzem a dist ncia sem ntica entre a implementa o e os conceitos do dom nio referentes colabora o o que favorece a manuten o e a evolu o do groupware Com o objetivo de contextualizar os tr s trabalhos esta se o replicada na introdu o da disserta o e das teses resultantes As subse es seguintes resumem cada trabalho 1 2 1 Agregando Frameworks de Infra Estrutura em uma Arquitetura Baseada em Componentes Um Estudo de Caso no Ambiente AulaNet No desenvolvimento de um groupware o proje
167. ante do que a forma de empacotamento afirmando que eventualmente um componente implementado na forma de um script de c digo Ap ndice A Componentes e Frameworks 202 O conceito de componente similar ao conceito tradicional de m dulo presente h bastante tempo na Engenharia de Software A modularidade de fato um pr requisito para a tecnologia de componentes Szyperski 1997 p 33 que diferenciada pela exist ncia de uma padroniza o component model e de uma infra estrutura espec fica para seu gerenciamento e execu o component framework e container D Souza amp Wills 1998 p 386 Tamb m h uma certa confus o entre componentes e objetos principalmente porque a maioria dos componentes implementada utilizando linguagens orientadas a objetos D Souza amp Wills 1998 p 390 O componente cria envia e recebe objetos e muitas vezes representado e acessado por meio deles Componente e classe tamb m s o conceitos relacionados Ambos utilizam polimorfismo e liga o din mica realizam interfaces podem participar de um relacionamento de depend ncia e composi o admitem inst ncias e s o participantes de intera es Booch et al 2000 Entretanto classe e componente est o em n veis de abstra o diferentes Classe uma abstra o l gica do dom nio classe conceitual ou uma estrutura de uma linguagem de programa o utilizada para instanciar objetos classe de software Um compone
168. ap is e estruturas No gerenciamento de permiss es leva se em conta o indiv duo e o papel que exerce no grupo A es comuns no gerenciamento de sess es incluem o convite e aceita o dos participantes a defini o do in cio e fim do tema e da ordem de participa o Na organiza o do grupo as tarefas s o atribu das aos participantes e definida a din mica da colabora o 3 5 1 Estudo de Caso da Coordena o no AulaNet e no Curso TIAE O AulaNet oferece dois pap is pr definidos voltados coordena o coordenador e mediador O coordenador cuida da pr articula o definindo as tarefas os conte dos e a din mica do curso O coordenador cuida tamb m da p s articula o avaliando e refinando o curso com base na realimenta o obtida das edi es anteriores Gerosa et al 2002 O mediador lida com o gerenciamento das tarefas e com o dia a dia do curso Salmon 2000 No curso TIAE para deixar os pr prios aprendizes se organizarem e se coordenarem s h interven o dos mediadores quando for realmente necess rio Desta maneira os aprendizes se capacitam a trabalhar em grupo e torna se menos necess ria a presen a e aten o constante do mediador Foram criados dois pap is para os aprendizes seminarista da Confer ncia e moderador do Debate Os aprendizes se revezam nestes pap is ao longo dos temas do curso Capitulo 3 O Modelo 3C de Colabora o 97 O seminarista respons vel por iniciar a
169. ariabilidade Estrutura O componente AccessRegistrationMgr possui duas interfaces fornecidas IAccessRegistrationMgr e IAccessRegistrationMgrConfig e duas interfaces requeridas Participant e CooperationObj conforme ilustrado na Figura B 22 A interface AccessRegistrationMer disponibiliza os servi os relativos utiliza o do componente como por exemplo registro e recupera o dos acessos A interface IAccessRegistrationMgrConfig disponibiliza os servi os relativos Ap ndice B Descri o dos Componentes de Colabora o configura o do componente O componente pode ser configurado atrav s desta interface e por seu arquivo descritor IAccessRegistrationMgrConfig TAccessRegistrationMgr A AccessRegistrationMgr O Access es Participant lt lt interface gt gt IAccessRegistrationMgr Participant getAccess getAccess p Participant getAccess t AccessT ype Access getAccess p Participant t AccessT ype set Access p Participant t AccessT ype lt lt interface gt gt TAccessRegistrationMgrConfig AccessT ype addAccessT ype t AccessT ype removeAccessT ype t AccessT ype getAccessT ypes updateAccessT ype t AccessT ype disableAccessT ype t AccessT ype enableAccessT ype t AccessT ype Figura B 22 Componente AccessRegistrationMgr e suas interfaces Usos conhecidos Confer ncias Correio para Turma e Correio para Par
170. as duas subse es s o ilustradas a componentiza o dos servi os Confer ncias e Debate ilustrando como a utiliza o de componentes 3C oferece suporte montagem e evolu o dos servi os e propicia o reuso S o enfocados os servi os de comunica o Confer ncias e Debate que s o os servi os para os quais foram direcionados mais tempo de pesquisa e de desenvolvimento no AulaNet Mesmo sendo servi os de comunica o possuem diversas funcionalidades de comunica o coordena o e coopera o Os diversos servi os compartilham funcionalidades dos tr s Cs 5 1 4 Composi o do servi o Confer ncias O suporte colabora o de um servi o evolui com o tempo A Figura 5 9 apresenta a incorpora o de novas funcionalidades ao longo do tempo no servi o Confer ncias Na vers o 2 0 do AulaNet as funcionalidades foram desenvolvidas por diversos pesquisadores e grande parte delas foi replicada em outros servi os 2 http www javaside com u tcaldate htm Capitulo 5 Estudos de Caso 158 do ambiente com pouco reuso do c digo Neste servi o ao longo do tempo atuaram diretamente diversos alunos de mestrado e de doutorado sendo que v rios deles nem se conheceram Utilizar componentes para encapsular o suporte colabora o possibilita o reuso de funcionalidades nos diversos servi os e uma maior independ ncia no desenvolvimento q E g p og E g a PE a Q oa Sago 2 5 a ESA Ss 5 D Oo 6 53 o o g
171. as para as caracter sticas deste tipo de aplica o Sendo a abordagem proposta nesta tese voltada para o desenvolvimento de groupware e estando esta tese no contexto de um projeto de pesquisa que visa instrumentar todo o ciclo de desenvolvimento de groupware s o apresentados nesta se o alguns exemplos de abordagens S o apresentados requisitos UML estendida padr es de projetos arquiteturas de groupware frameworks Capitulo 2 Revisao da Literatura 28 componentes toolkits e t cnicas de avalia o heur stica espec ficas para o desenvolvimento de groupware 2 1 1 Requisitos de Groupware Groupware em geral apresenta requisitos recorrentes Diversos trabalhos na literatura Tietze 2001 Schmidt amp Rodden 1996 Mandviwalla amp Olfman 1994 catalogam requisitos para instrumentar a especifica o an lise e avalia o de groupware Apesar de n o ser poss vel especificar completamente um groupware a partir de uma lista de requisitos as listas auxiliam a iniciar o processo instrumentando o desenvolvedor Nesta se o s o apresentados os requisitos propostos por Tietze 2001 por serem voltados para groupware baseado em componentes Estes requisitos s o utilizados no Cap tulo 5 para analisar a arquitetura proposta Tietze 2001 divide seu cat logo de requisitos em dois grupos requisitos de usu rio RU e requisitos de desenvolvedor RD Os requisitos de usu rio impactam diretamente os usu rios finais d
172. as tarefas como o exemplo que utiliza redes de Petri apresentado por Raposo amp Fuks 2002 Na coordena o tamb m s o considerados o acompanhamento a estrutura o e a organiza o do grupo O acompanhamento da participa o necess rio para o coordenador monitorar o andamento das atividades de modo a intervir quando julgar necess rio e para os participantes compararem e ajustarem seus esfor os Al m da avalia o quantitativa algumas vezes necess ria uma avalia o qualitativa Fuks et al 2003 A avalia o qualitativa possibilita Capitulo 3 O Modelo 3C de Colabora o 96 identificar participa es desnecess rias ou fora dos padr es A avalia o das atividades tamb m oferece subs dio para a gest o de compet ncias dos participantes que influenciada pela qualifica o interesse e performance A performance extra da a partir da qualidade da participa o nas tarefas colaborativas Mitchell et al 2004 A gest o de compet ncias um elemento importante da coordena o por embasar decis es a respeito da forma o de subgrupos aloca o de tarefas capacita o do grupo entre outros A estrutura o do grupo inclui a defini o dos pap is da hierarquia dos subgrupos e das permiss es dos participantes Estes elementos costumam ser din micos e o groupware deve prover flexibilidade para se adaptar aos diferentes momentos da colabora o onde os participantes assumem diferentes p
173. aspectos da constru o e da intera o dos componentes abordando entre outros fatores como especificar o componente como instanciar o componente quais os tipos de conectores e portas dispon veis qual o modelo de dados padr o como as liga es entre os objetos pertencentes a componentes diferentes s o realizadas como s o feitas transa es distribu das quais s o os tipos de interface as interfaces obrigat rias como s o tratados o cat logo e a localiza o dos componentes o despacho das requisi es e respostas a seguran a o reposit rio o formato a nomea o os meta dados a interoperabilidade a documenta o os mecanismos de customiza o a composi o a evolu o o controle de vers es a instala o e a desinstala o os 35 O termo component model equivalente ao termo component architecture definido por D Souza amp Wills 1998 Ap ndice A Componentes e Frameworks 213 servi os de execu o o empacotamento etc Councill amp Heineman 2001 p 7 p 11 Weinreich amp Sametinger 2001 p 37 Szyperski 1997 p 32 D Souza amp Wills 1998 p 396 p 411 O modelo de componentes define o padr o de descri o de interface Weinreich amp Sametinger 2001 p 39 Alguns modelos de componentes utilizam uma interface description language IDL independente da linguagem de programa o enquanto outros utilizam conceitos da pr pria linguagem ou da tecnologia para definir a interface
174. ate foram encontrados diversos problemas Pimentel et al 2003a v rios aprendizes mandavam mensagens juntamente com o moderador mensagens chegavam ap s a quest o ter sido considerada conclu da gastava se tempo para organizar as propostas de discuss o e a vota o havia uma sobrecarga de mensagens etc Estes problemas causavam confus o na conversa o e a perda de co texto Pimentel et al 2003b Resolveu se incrementar o servi o para tratar estes problemas Foi feita uma an lise da colabora o em fun o do modelo 3C e decidiu se em um primeiro momento investir no aprimoramento da coordena o do grupo Para instrumentar o protocolo social vigente foram disponibilizadas novas informa es de percep o para dar ao grupo uma melhor ci ncia do que est acontecendo e do que aconteceu anteriormente A visualiza o do tema em discuss o o hor rio de envio da mensagem a identifica o dos mediadores e suas mensagens a informa o de quem est escrevendo e a ordem de participa o foram incorporados interface com usu rio A partir destes elementos os participantes t m mais informa es para decidir o momento de agir Para gerenciar o acesso ao canal de comunica o foram disponibilizados mecanismos de coordena o para serem utilizados para organizar a discuss o Para facilitar a interven o do mediador sem sobreposi o de mensagens e para evitar a continua o da discuss o depois que o moderador m
175. ativamente independentes para a constru o das aplica es colaborativas Os sistemas baseados em componentes s o classificados em estritamente baseado em componentes strictly component based ou fracamente baseado em componentes loosely component based Slagter amp Hofte 1999 O primeiro contempla os sistemas onde um modelo de componentes utilizado e o segundo enfoca sistemas onde os componentes s o vistos como partes independentes sem uma padroniza o espec fica A utiliza o de um modelo de componentes favorece a integra o o reuso e a substitutibilidade dos componentes bem como a possibilidade de extens o da solu o por terceiros D Souza amp Wills 1998 Por sua maior rela o com a proposta desta tese na sequ ncia s o descritos sucintamente alguns sistemas de groupware estritamente baseados em componentes 2 3 1 Live Live Banavar et al 1998 uma plataforma que oferece suporte a constru o de groupware s ncrono O modelo de componentes do LIVE baseado Capitulo 2 Revisao da Literatura 48 na especifica o JavaBeans e fornece uma interface de alto nivel para o desenvolvimento de groupware Os componentes do Live s o baseados nos conceitos de sess es e objetos Os objetos s o compartilhados no contexto de uma sess o que implementada no servidor Quatro tipos de objetos compartilhados s o disponibilizados stateful objects que mant m o estado persistente media stream objects que
176. atos sobre o dom nio e fornece uma classifica o e organiza o das caracter sticas dos sistemas daquele dom nio Arango 1994 Uma vez modelado o dom nio s o desenvolvidas diversas aplica es distintas com base no mesmo modelo A modelagem embasa a cria o de ferramentas t cnicas e componentes para oferecer suporte s diversas atividades do desenvolvimento de software instrumentando todo o desenvolvimento A an lise do dom nio feita consultando especialistas no dom nio e a literatura da rea ou com base no conhecimento adquirido pelos desenvolvedores durante o processo de desenvolvimento ou de utiliza o de diversas aplica es de um mesmo dom nio Outra fonte bastante utilizada para a an lise do dom nio o estudo de aplica es desenvolvidas no intuito de levantar as funcionalidades recorrentes invariantes e opcionais Werner amp Braga 2005 A an lise do dom nio sistematicamente extrai caracter sticas dos sistemas de uma mesma fam lia Griss 2001 p 410 O modelo fornece um vocabul rio compartilhado entre os desenvolvedores e usu rios o que facilita a comunica o e o reuso e oferece uma no o da abrang ncia do dom nio e de suas rela es Werner amp Braga 2005 Capitulo 2 Revisao da Literatura 67 H v rios processos de engenharia de dom nio na literatura dentre eles o FODA Feature Oriented Domain Analysis Kang et al 1990 o FORM Feature Oriented Reuse Method Kang et al
177. bal Crew Communications Contractor Report 177639 NASA Ames Research Center Refer ncias Bibliogr ficas 268 Shum S B amp Hammond N 1994 Argumentation based design rationale what use at what cost Human Computer Studies USA 40 p 603 652 Siebra S A Salgado A C Tedesco P A amp Br zillon P 2005 Identifying the Interaction Context in CSCLE Proceedings of the 5 International and Interdisciplinary Conference CONTEXT 2005 Paris France July 5 8 Lecture Notes in Computer Science Vol 3554 Springer Verlag Siegel J 2000 CORBA 3 Fundamentals and Programming 2nd Edition John Wiley amp Sons ISBN 0471295183 Simon H A 1996 Models of my life MIT Press ISBN 0 262 69185 X Simon J A 1997 Towards Mixed Initiative Discursive Networking Computational Models for Mixed Initiative Interaction March 24 26 1997 Stanford University California Siqueira S W M Braz M H L B amp Melo R N 2003 E Learning Environment Based on Framework Compositio Third IEEE International Conference on Advanced Learning Technologies ICALT 03 pp 468 Sire S Chatty S Gaspard Boulinc H amp Colin F 1999 How can groupware preserve our coordination skills Designing for direct collaboration Proceedings of Human Computer Interaction INTERACT 99 IOSPress pp 304 312 Slagter R J amp Biemans M C M 2000 Component Groupware A Basis for Tailorable Solutions that
178. bilidade Dura o Estrutura O componente SessionMgr possui tr s interfaces fornecidas ISessionMgr ISessionMgrConfig e Session e requer as interfaces Group Participant e CooperationObj conforme ilustrado na Figura B 12 A interface ISessionMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo inclus o de participante ou objeto na sess o verifica o de disponibilidade bloquear e desbloquear etc A interface ISessionMgrConfig disponibiliza os servi os relativos con figura o do componente como cria o da sess o e defini o de suas propriedades O componente pode ser configurado atrav s desta interface e por seu arquivo descritor ISessionMgrConfig ISessionMgr E HO Session SessionMgr H Participant C CoopObj lt lt interface gt gt lt lt interface gt gt ISessionMgr ISessionMgrConfig Particpant getSession p Participant getSession o CoopObj getObjects s Session getParticipants s Session add obj CoopObj s Session add p Participant s Session CoopObj Session addSession s Session removesSession s Session getSessions updateSession s Session disableSession s Session enableSession s Session setDuration t float Figura B 12 Componente SessionMgr e suas interfaces Usos conhecidos Confer ncias Debate Correio para Turma e Correio para Participante
179. bjMgrConfig ICooperationObjMgr E LO CooperationObj CooperationObjMgr C Participant lt lt interface gt gt lt lt interface gt gt ICooperationObjMgr ICooperationObjMgrConfig oes get CooperationObjs addCooperationObjT ype t String getCooperationObjs p Participant removeCooperationObjT ype t String getParticipant o CooperationObj getCooperationObjT ypes setCooperationObj p Participant o CooperationObj updateCooperationObjT ype t String disableCooperationObjT ype t String enableCooperationObjT ype t String Figura B 18 Componente CooperationObjMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados ParticipantMgr B 3 2 SearchMgr Nome SearchMgr Inten o Prov mecanismos de busca para os objetos compartilhados Aplicabilidade Possibilitar utilizar crit rios de busca para recuperar os objetos de coopera o de um reposit rio Variabilidade Crit rios de busca Estrutura O componente SearchMgr possui duas interfaces fornecidas ISearchMgr e ISearchMgrConfig e uma interface requerida CooperationObj conforme ilustrado na Figura B 19 A interface ISearchMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo recupera o dos objetos A interface ISearchMgrConfig disponibiliza os servi os relativos configura o do componente como defini o do conjunto de crit rios dispon vi
180. boration Component Framework ORA astructure Frameworks Database Figura 5 3 Arquitetura instanciada para o ambiente AulaNet a t tulo de clareza somente alguns servi os e componentes s o apresentados Na pr xima se o s o analisados estudos de caso utilizando a instancia o do AulaNet para apresentar alguns dos conceitos discutidos nesta tese em cen rios reais e fict cios de utiliza o 5 1 3 Composi o no AulaNet 3 0 A solu o proposta nesta tese foi utilizada para implementar a nova vers o do AulaNet O mapeamento dos servi os de comunica o do ambiente para os componentes 3C est apresentado na Tabela 5 1 Capitulo 5 Estudos de Caso 152 SERVICO Correio Correio Bate COMPONENTE 3C Conf rencias para para Debate Mensageiro ee Papo Turma Participante COMUNICA O MessageMgr x X X X TextualMediaMgr VideoMediaMgr AudioMediaMgr PictorialMediaMgr DiscreteChannelMgr X X X X X X ContinuousChannelMgr MetalnformationMgr CategorizationMgr DialogStructureMgr ConversationPathsMgr CommitmentMgr COORDENA O AssessmentMgr RoleMgr PermissionMgr ParticipantMgr GroupMgr SessionMgr FloorControlMgr TaskMgr AwarenessMgr Competency Mgr AvailabilityMgr NotificationMgr X X COOPERA O CooperationObjMgr SearchMgr VersionMgr Statistical AnalysisMgr x RankingMgr RecommendationMgr ActionLogMgr X X X X X X AccessRegistrationMgr X X X TrashBinMgr Tabela 5 1 Mapeamento dos
181. cas nacionais e internacionais A Tabela 5 6 apresenta os ve culos onde foram publicados artigos diretamente relacionados abordagem proposta nesta tese Todos os ve culos s o auditados com dois a quatro revisores por artigo As refer ncias completas destes artigos est o dispon veis em uma se o ao final das refer ncias bibliogr ficas Capitulo 5 Estudos de Caso 168 Veiculo Titulo do Artigo WDBC 2001 1 Workshop de Desenvolvimento Baseado em Componentes JAI 2002 XXI Jornada de Atualiza o em Inform tica EBR 2002 First Seminar on Advanced Research in Electronic Business WDBC 2003 3 Workshop de Desenvolvimento Baseado em Componentes Webmedia 2003 Simp sio Brasileiro de Sistemas Multim dia e Web trilha de trabalho cooperativo assistido por computador Revista Inform tica na Educa o Teoria e Pr tica Vol 7 No 1 WDBC 2004 4 Workshop de Desenvolvimento Baseado em Componentes WCSCW 2004 1 Workshop Brasileiro de Tecnologias para Colabora o SBIE 2004 Simp sio Brasileiro de Inform tica na Educa o CSCWiD 2005 9 International Conference on CSCW in Design WDBC 2005 5 Workshop de Desenvolvimento Baseado em Componentes WCSCW 2005 2 Workshop Brasileira de Tecnologias para Colabora o International Journal of Cooperative Information Systems IJCIS v 14 n 2 3 Um groupware baseado no ambiente AulaNet desenvolvido com componentes Engenharia de
182. cei AL August 30th to September 3rd 2004 Lecture Notes on Computer Science LNCS 3220 Springer Verlag ISBN 3540 229485 ISSN 0302 9743 pp 262 272 Raposo A B Pimentel M G Gerosa M A Fuks H amp Lucena C J P 2004 Prescribing e Learning Activities Using Workflow Technologies The 1 International Workshop on Computer Supported Activity Coordination CSAC 2004 International Conference on Enterprise Information Systems ICEIS 2004 Porto Portugal April 13 2004 pp 71 80 ISBN 972 8865 08 2 Gerosa M A Fuks H amp Lucena C J P 2004 Estrutura o e Categoriza o de Mensagens em Ferramentas de Comunica o Textuais Assincronas Electronic Proceedings of the World Congress on Engineering and Technology Education WCETE 2004 March 14 17 Santos SP Gerosa M A Fuks H Raposo A B amp Lucena C J P 2004 Awareness Support in the AulaNet Learning Environment Proceedings of the IASTED International Conference on Web Based Education WBE 2004 ACTA Press February 16 18 Innsbruck Austria pp 490 495 Artigos Publicados pelo Autor da Tese 274 Gerosa M A Raposo A B Fuks H Lucena C J P 2003 Combinando Comunica o e Coordena o em Groupware 3 Jornada Ibero Americana de Engenharia de Software e Engenharia de Conhecimento JITSIC 2003 26 28 de Novembro Valdivia Chile pp 145 154 Gerosa M A Pimentel M G Fuks H amp Lucena C J P 2003 Coorden
183. cer suporte ao gerenciamento e execu o dos componentes Conforme apresentado na Figura 4 10 nesta tese foi elaborado um component framework para cada n vel de componentiza o servi o e componente 3C Os servi os s o acoplados no Service Component Framework e os componentes 3C s o acoplados no Collaboration Component Framework Estes component frameworks s o respons veis por tratar a instala o remo o atualiza o ativa o desativa o localiza o configura o e monitoramento de componentes O Service Component Framework gerencia as inst ncias dos servi os e a liga o com os componentes de colabora o correspondentes O Collaboration Component Framework gerencia as inst ncias dos componentes de colabora o que s o provenientes do Collaboration Component Kit Algumas funcionalidades dos component frameworks s o recorrentes sendo ent o elaborado um framework para instanciar os component frameworks Este tipo de framework chamado de component framework framework CFF Szyperski 1997 p 277 Um component framework framework visto como um component framework de segunda ordem onde seus componentes s o component frameworks Szyperski 1997 p 276 Na arquitetura da aplica o o component framework de segunda ordem foi denominado Groupware Component Framework Framework Capitulo 1 Introdu o 24 Groupware Application NI E P Groupware Service Component omponen s
184. ces fornecidas IGroupMgr IGroupMgrConfig e Group e uma interface requerida Participant conforme ilustrado na Figura B 11 A interface IGroupMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo inclus o de participante em grupo divis o de grupo etc A interface IGroupMerConfig disponibiliza os servi os relativos configura o do componente como defini o dos grupos dispon veis O componente pode ser configurado atrav s desta interface e por seu arquivo descritor IGroupMgrConfig IGroupMgr sul Group GroupMgr H Participant lt lt interface gt gt lt lt interface gt gt IGroupMgr IGroupMgrConfig 1 getGroups p Participant addGroup g Group getParticipants g Group removeGroup g Group setGroup p Participant g Group getGroups updateGroup g Group disableGroup g Group enableGroup g Group setGroupSize min max int Figura B 11 Componente GroupMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados B 2 6 SessionMgr Nome SessionMgr Inten o Gerencia as sess es de colabora o Aplicabilidade Possibilita definir a sess o que agrega participantes objetos compartilhados durante um per odo do tempo poss vel configurar a data de in cio e fim da sess o e o modo de entrada Ap ndice B Descri o dos Componentes de Colabora o 240 Varia
185. cia a configura o dos componentes de colabora o O modelo de componentes define a maneira de tratar os componentes como unidades execut veis de produ o aquisi o e instala o independente definindo a forma de empacotamento do componente Szyperski 1997 Os servi os s o empacotados em um arquivo ZIP com os diret rios CLASSES DOC LIBS SCRIPTS e WEB Os diret rios CLASSES WEB e LIBS cont m os arquivos que implementam o componentes e s o copiados para os diret rios correspondentes do servidor de aplica es O padr o J2EE define os diret rios WEB INF classes e WEB INF libs para receber os arquivos class e jar e o diret rio raiz da aplica o para receber os arquivos que implementam a interface web html jsp js gif etc O diret rio DOCS do empacotamento do servi o disponibiliza a documenta o do componente que inclui a documenta o voltada para utiliza o e para o desenvolvimento e manuten o Por fim o diret rio SCRIPTS cont m os scripts que s o executados na instala o atualiza o e remo o do servi o Estes scripts atualizam a base de dados criam diret rios e alocam os recursos necess rios O modelo de componentes define tamb m a sintaxe do arquivo descritor O arquivo descritor colocado na raiz da estrutura de diret rios do componente O arquivo descritor codificado na linguagem XML e segue a estrutura apresentada na Figura 4 12 Optou se por utilizar a linguagem XML pois este
186. cias Componentes relacionados MessageMgr Ap ndice B Descri o dos Componentes de Colabora o 234 B 2 Componentes de Coordena o Os componentes de coordena o oferecem suporte organiza o do grupo ao gerenciamento do acesso dos participantes e distribui o de tarefas atribu das A seguir s o descritos os componentes AssessmentMgr RoleMgr PermissionMgr ParticipantMgr GroupMgr SessionMgr FloorControlMgr TaskMgr AwarenessMer AvailabilityMgr e NotificationMg B 2 1 AssessmentMgr Nome AssessmentMgr Inten o Oferece suporte avalia o qualitativa possibilitando a atribui o de notas aos objetos Aplicabilidade A avalia o de mensagens possibilita acompanhar e incentivar a participa o com qualidade nas tarefas colaborativas Variabilidade Regras da avalia o modelo de avalia o e fator de corre o pela quantidade de mensagens Estrutura O componente AssessmentMgr oferece a interface para configura o do componente AssessmentMerConfig e para utiliza o IAssessmentMgr As avalia es s o referentes aos objetos de coopera o A Figura B 7 ilustra a estrutura do componente Ap ndice B Descri o dos Componentes de Colabora o 235 IAssessmentMgrConfig IAssessmentMgr E cO Assessment AssessmentMgr o CooperationObj lt lt interface gt gt lt lt interface gt gt TAssessmentMerConfig TAssessmentMgr Coope
187. colabora o baseado na concep o de que para colaborar os membros de um grupo comunicam se coordenam se e cooperam O modelo 3C nasce do artigo seminal de Ellis et al 1991 O modelo de Ellis et al utilizado para classifica o do suporte computacional colabora o Nesta tese o modelo 3C utilizado como base para a modelagem e desenvolvimento de groupware e cada C profundamente analisado H tamb m uma diferen a de terminologia a opera o conjunta no espa o compartilhado chamada por Ellis de colabora o enquanto no modelo 3C chamada de coopera o O modelo 3C equivalente ao modelo Clover Laurillau amp Nigay 2002 Este modelo define tr s classes de funcionalidades comunica o coordena o e produ o O que chamado de produ o no modelo Clover corresponde ao conceito de coopera o no modelo 3C Diferentemente do modelo Clover nesta tese o modelo 3C guia o desenvolvimento de groupware e d origem a uma arquitetura componentizada Amiour 1997 Yang 1995 Amiour amp Estublier 1998 e Bandinelli et al 1996 utilizam as tr s dimens es do modelo 3C para aprimorar o suporte computacional a processos de software principalmente nos aspectos da comunica o e coopera o que de acordo com eles n o s o tratados adequadamente pelos processos tradicionais que s o mais voltados para a coordena o do grupo de desenvolvedores Assim como Ellis et al 1991 estes autores a
188. componentes de software que implementam opera es individuais o oferecimento de mobilidade para a aplica o e para o usu rio o encapsulamento das complexidades inerentes ao desenvolvimento de aplica es para dispositivos m veis como o gerenciamento de uma conex o intermitente o oferecimento de suporte conex o entre componentes remotos e a possibilidade de reconfigura o da aplica o em tempo de execu o Atualmente considerar os dispositivos m veis no desenvolvimento de groupware fundamental dada a dissemina o de PDAs e celulares com capacidade de processamento A partir de 2004 foi dado in cio ao Capitulo 2 Revisao da Literatura 52 desenvolvimento do AulaNetM uma extens o do AulaNet para equipamentos m veis Filippo et al 2005 O enfoque da arquitetura e da componentiza o propostas nesta tese voltado para a camada de neg cios da aplica o prevendo a possibilidade de mais de um meio de intera o Deste modo a l gica do suporte computacional colabora o reusada para uma camada de vis o que funciona atrav s da web de aplica o stand alone ou de dispositivos m veis Diferentemente dos componentes previstos na arquitetura DACIA os componentes desta tese s o desenvolvidos e organizados seguindo uma abordagem 3C 2 3 5 DreamTeam O DreamTeam Roth amp Unger 2000 uma plataforma baseada em componentes para a montagem de groupware s ncrono A plataforma disponibiliza
189. creve como os componentes s o empacotados e de que forma que eles podem ser individualmente instalados no sistema O modelo de componentes tamb m define o padr o de deployment que especifica a estrutura e a sem ntica para os arquivos descritores O modelo de Ap ndice A Componentes e Frameworks 214 componentes define a maneira como feito o deployment incluindo o eventual registro do componente e da interface Weinreich amp Sametinger 2001 p 45 Tipicamente o deployment envolve tr s passos instala o do componente configura o do componente e do ambiente de execu o e instancia o do componente para uso Councill amp Heineman 2001 p 9 Os modelos de componentes gen ricos n o prov em um modelo de neg cio espec fico para um dom nio Weinreich amp Sametinger 2001 p 37 Um projeto define seu pr prio modelo de componentes independentemente ou como uma especializa o de um existente D Souza amp Wills 1998 p 411 Por exemplo a OMG Object Management Group prev a utiliza o do CORBA como base para a constru o de modelos de componentes especializados CORBAservices define a padroniza o voltada para servi os gerais de sistemas distribu dos enquanto CORBAfacilities define a padroniza o dos servi os horizontais comuns a v rios dom nios Weinreich amp Sametinger 2001 p 46 Al m da padroniza o de servi os de infra estrutura alguns modelos de componentes definem tamb m u
190. ct Develop lt gt Figura A 11 Desenvolvimento de um kit de componente e constru o de aplica es a partir dele D Souza amp Wills 1998 p 385 Generalize and validate Q Um component kit projetado para um modelo de componentes espec fico o que favorece a interoperabilidade D Souza amp Wills 1998 p 428 Um kit n o necessariamente possui um conjunto fixo de componentes podendo ser adicionado novos respeitando a arquitetura definida As diversas aplica es Ap ndice A Componentes e Frameworks 220 compartilham os componentes que por sua vez executam na infra estrutura de execu o Um toolkit um tipo de SDK Software Development Kit que apresenta al m dos componentes um conjunto de ferramentas para criar aplica es para uma determinada plataforma sistema ou framework Os toolkits s o mais comumente encontrados para componentes de interface com o usu rio tamb m chamados de widgets Alguns exemplos de toolkits de widgets para a linguagem Java s o o AWT Abstract Windowing Toolkit Swing e SWT Standard Widget Toolkit Toolkits possibilitam que programadores desenvolvam software a partir de componentes prontos mesmo sem muita experi ncia de programa o no estilo das ferramentas RAD Rapid Application Development Os toolkits favorecem a criatividade dos desenvolvedores o que fundamental para reas n o bem estabelecidas Ao encapsular detalhes de implementa o de baixo n v
191. cumenta o de padr es de projeto para documentar componentes S o documentados por exemplo nome inten o aplicabilidade variabilidade estrutura c digo de exemplo usos conhecidos e componentes relacionados A 5 Implementa o de Componentes H componentes de software implementados em linguagens procedurais como Pascal e C embora a maior parte dos componentes seja desenvolvida utilizando metodologias e linguagens orientadas a objetos Vicenzi et al 2005 p 235 Apperly 2001 p 29 Para um componente o relevante sua interface externa e n o a maneira como foi implementado As primeiras APIs para componentes disponibilizavam apenas um conjunto de fun es que componentes externos poderiam invocar enxergando o componente com um bloco nico Atualmente as APIs possibilitam acessar os objetos que comp e o modelo do componente D Souza amp Wills 1998 p 394 Desta maneira as interfaces que o componente disponibiliza ou requer definem o modelo de objetos que compat vel com aquele componente Refer ncias a objetos criados em um componente deixam as fronteiras e se tornam vis veis aos clientes do componente Szyperski 1997 p 31 Por exemplo poss vel acessar o objeto c lula do componente Planilha Eletr nica o objeto ponto do Gerenciador Gr fico entre outros D Souza amp Wills 1998 p 394 Outro fator importante a ser considerado na constru o de componentes o empacotamento que poss
192. da turma auxiliando na identifica o de discuss es que diferem do esperado Gerosa et al 2005 Nas rvores apresentadas na Figura 3 9 poss vel observar a intera o declinando ao longo do tempo na turma de 2002 1 Nas primeiras quatro confer ncias a profundidade m dia das rvores foi 3 0 e a porcentagem de mensagens n o respondidas folhas foi 51 Nas quatro ltimas confer ncias a profundidade foi 2 8 e a quantidade de folhas foi 61 Neste caso a estrutura da conversa o poderia ter sido utilizada para identificar a redu o da intera o na turma indicada pela baixa profundidade das rvores e alta quantidade de folha 2002 1 18 aprendizes IN Figura 3 9 rvores derivadas das confer ncias de uma edi o do curso TIAE O servi o Confer ncias utiliza como meta informa es o assunto a data e a categoria da mensagem O autor escolhe a categoria mais apropriada para sua mensagem provendo sem ntica para os relacionamentos As categorias adotadas no TIAE foram originalmente baseadas nos tipos de n s do IBIS Conklin amp Begeman 1988 Atualmente as categorias em uso s o Semin rio Quest o Argumenta o Contra Argumenta o e Esclarecimento A Figura 3 10 apresenta um trecho de um di logo de uma confer ncia ilustrando o mapeamento das mensagens numeradas para uma rvore categorizada Capitulo 3 O Modelo 3C de Colabora o 91 AUL 2 Tecnologias da Informa o Aplicadas Educa o as
193. dades denominadas classes que encapsulam dados e fun es e possibilitam a heran a de c digo e o polimorfismo de objetos Da mesma maneira que o reuso de fun es espec ficas evoluiu para bibliotecas de fun es o reuso de conjuntos relacionados de classes evoluiu para frameworks e componentes Oliveira 2001 Um framework prov um conjunto gen rico de classes que deve ser completado para instanciar uma aplica o espec fica enquanto o uso de componentes possibilita construir um sistema compondo o a partir de unidades de execu o A id ia de que o software deveria ser componentizado surgiu na confer ncia da NATO que lan ou o termo Engenharia de Software na Alemanha em 1968 Nesta confer ncia Doug Mcllroy 1968 em um artigo intitulado Mass Produced Software Components levantou a necessidade de agrupar coerentemente rotinas relacionadas de modo a montar componentes reus veis em diversos sistemas Este reuso al m de economizar esfor o de desenvolvimento possibilitaria a produ o de programas a partir de partes j testadas e amplamente utilizadas Gimenes amp Huzita 2005 O surgimento dos componentes para interface com o usu rio popularizado em 1992 com o Visual Basic eXtension ou VBX ajudou a alavancar a utiliza o de componentes Oliveira 2001 Diversos estudos apontam a tecnologia de componentes como promissora para melhorar o reuso e a manutenibilidade de software Szyperski 1997 p 18 Componen
194. dback que transitam na mesma ramifica o e eventos de feedthrough que s o transmitidos camada correspondente em outra ramifica o Layer L Semantics Input Output Layer R 1 Layer R Branch Point y 1 X Layer 1 Layer 1 Workstation Workstation Base LayerR Branch Point 4 User 1 User 2 Figura 2 6 Arquitetura gen rica de groupware proposta por Dewan 1998 Laurillau amp Nigay 2002 prop em uma arquitetura gen rica para groupware baseada na arquitetura de Dewan e no estilo arquitetural PAC O PAC Calvary et al 1997 uma extens o do PAC Presentation Abstraction and Control que organiza a arquitetura em apresenta o que cont m o c digo respons vel pela montagem da interface com o usu rio abstra o que cont m o n cleo funcional e controle que registra e gerencia as interdepend ncias No PAC al m destas divis es a arquitetura separada de acordo com as classes de Capitulo 2 Revisao da Literatura 38 funcionalidade do modelo Clover produ o coordena o e comunica o A Figura 2 7 apresenta o Clover Architecture Description Shared layers A a Replicated FO Functional Core Adaptor Replicated layers Figura 2 7 Clover Architecure Laurillau amp Nigay 2002 O PAC e o Clover Architecture assim como a abordagem proposta nesta tese organizam a arquitetura em tr s classes de funcionalidades deri
195. de classes Uma tarefa indicada atrav s do estere tipo lt lt task gt gt nas rela es entre as classes Na Figura 2 2 dois componentes um editor de documento e um Capitulo 2 Revisao da Literatura 32 visualizador de estrutura atuam em um mesmo objeto compartilhado documento As associa es s o realizadas atrav s das tarefas editar e navegar Na figura um objeto da classe Documento cont m outros objetos da mesma classe um documento composto de se es Como o objeto Documento um objeto compartilhado representada a extens o lt lt slot gt gt antes dos nomes dos atributos Este estere tipo faz a distin o entre os atributos regulares e os objetos compartilhados que t m necessidades espec ficas de sincroniza o e integridade Rubart amp Dawabi 2002 lt lt component gt gt lt lt component gt gt EditorDeDocumento VisualizadorDeEstrutura giveTaskBindings giveTaskBindings lt lt shared gt gt j l lt lt task gt gt edita Documento lt lt task gt gt navega lt lt slot gt gt Subdocumento lt lt slot gt gt Conte doDoc Subse o Figura 2 2 Diagrama de classes apresentando componentes de groupware que executam tarefas em um mesmo objeto compartilhado As opera es nos objetos compartilhados s o realizadas durante uma sess o Uma sess o individual ou coletiva sendo que a primeira pode ser transformada na segunda Na Figura 2 3
196. de Inform tica na Escola Anais do XXIII Congresso da Sociedade Brasileira de Computa o V5 Campinas SP 2 a 8 de agosto de 2003 pp 167 178 Pimentel M Fuks H amp Lucena C J P 2003b Co text Loss in Textual Chat Tools 4 International and Interdisciplinary Conference on Modeling and Using Context CONTEXT 2003 LNAI 2680 Stanford CA USA June pp 483 490 2003 Pimentel M Fuks H amp Lucena C J P 2004 Avalia o da Participa o em Confer ncias Textuais Ass ncronas Anais Eletr nico do X Workshop de Inform tica na Escola integrante do XXIV Congresso da Sociedade Brasileira de Computa o WIE SBC 2004 ISBN 85 88442 94 9 31 Julho 6 Agosto Salvador BA Pimentel M Fuks H amp Lucena C J P 2005 Mediated Chat Development Process Avoiding Chat Confusion on Educational Debates Computer Supported Collaborative Learning Taiwan July 2005 ISBN 0805857826 Lawrence Erlbaum Associates pp 499 503 Pinto S C C S 2000 Composi o em WebFrameworks tese de doutorado Departamento de Inform tica PUC Rio POJO 2005 Trecho do blog do Martin Fowler onde o termo Plain Old Java Object explicado dispon vel em http www martinfowler com bliki POJO html ltima visita em 20 10 2005 Prakash A amp Knister M J 1994 A framework for undoing actions in collaborative systems ACM Transactions on Computer Human Interaction 1 4 295 330 December 1994 Refer ncias Bibliogr
197. de componentes e um componente pode ser constru do a partir de um framework Oliveira 2001 Muitas vezes frameworks OO s o utilizados para gerar uma fam lia de componentes Da mesma forma frameworks complementares podem ser utilizados tanto no n vel de aplica o quanto no n vel do dom nio Pode se por exemplo utilizar um framework de infra estrutura para a vis o um outro para persist ncia e o componente estar estruturado de acordo com um framework de dom nio 38 A invers o de controle costuma ser utilizada em frameworks para reduzir o acoplamento entre a aplica o e o framework Este princ pio chamado na literatura de princ pio de Hollywood N o nos ligue n s ligamos para voc Larman 2004 Em vez de a aplica o chamar o framework o framework chama a aplica o em m todos pr definidos Ap ndice A Componentes e Frameworks 224 A 10 Considera es Finais Nas linguagens de programa o o suporte ao reuso de c digo iniciou se com a possibilidade do agrupamento de funcionalidade onde linhas de c digo s o encapsuladas e rotuladas em unidades denominadas procedimentos ou fun es para serem reusadas em diversos pontos do c digo Salus 1998 Com o tempo passou se a perceber a utilidade de agrupar fun es relacionadas na forma de bibliotecas para serem reusadas entre aplica es distintas Linguagens de programa o orientadas a objetos aumentaram a possibilidade de reuso atrav s de uni
198. de trabalho s o fundamentais para propiciar a colabora o Estes fatores s o especialmente cr ticos em um ambiente voltado para o ensino aprendizagem Neste tipo de ambiente normalmente n o poss vel escolher o grupo de trabalho o grupo composto pelos alunos que se matriculam no curso Al m disto os alunos n o est o habituados e capacitados a colaborarem e os professores n o est o habituados e capacitados a planejarem din micas que explorem a colabora o nas atividades educacionais A pr pria utiliza o de ambientes educacionais pela web ainda uma barreira a ser vencida Lucena amp Fuks 2000 Outra limita o desta tese que o modelo 3C n o foi investigado em grupos numerosos Os grupos tratados possu am menos de 20 participantes De acordo com Teles 2004 a colabora o dificultada em grupos numerosos pois os subgrupos as vaidades as inimizades etc se intensificam e mais dif cil para um coordenador organizar sincronizar e unir o grupo O suporte computacional colabora o proposto nesta tese pressup e equipes de trabalho reduzidas e coesas Este trabalho n o foi comparado em termos de qualidade de software com outras abordagens A qualidade de software tratada pela norma ISO IEC 9126 e sua equivalente brasileira NBR 13596 que estabelece seis caracter sticas de qualidade de software funcionalidade confiabilidade usabilidade efici ncia manutenibilidade e portabilidade Alguns de
199. dece dos problemas mencionados anteriormente Neste estudo de caso s o desenvolvidos component kits para instanciar os servi os de comunica o do ambiente Os componentes possibilitam compor recompor e customizar os servi os de modo a refletir altera es na din mica de colabora o Palavras chave Sistemas colaborativos desenvolvimento de groupware modelo 3C de colabora o componentes de software Abstract Gerosa Marco Aur lio Fuks Hugo Advisor Component Based Groupware Development Based on the 3C Collaboration Model Rio de Janeiro 2006 275p D Sc Thesis Computer Science Department Pontifical Catholic University of Rio de Janeiro Groupware is evolutionary and difficult to develop and maintain Thus its code becomes unstructured and difficult to evolve In this thesis a groupware development approach based on components organized according to the 3C collaboration model is proposed In this model collaboration is analyzed based on communication coordination and cooperation Collaboration necessities of the group analyzed based on the 3C model are mapped to software components also organized according to the model in order to compose the system The proposed approach is applied as a case study to the development of the new version of the AulaNet environment The environment s code currently suffers the mentioned problems In order to instantiate the communication services of the environment for the ca
200. defini o do ciclo de vida dos componentes a forma de empacotamento a sintaxe do arquivo descritor e as regras de intera o entre os componentes e os component frameworks O ciclo de vida de um servi o ilustrado na Figura 4 11 O componente posto no sistema de arquivos em um diret rio pr determinado deployment A atividade de deployment consiste em implantar um componente para ser instalado Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 134 pelo sistema Szyperski 2003 S o previstos diret rios espec ficos para cada um dos Cs do modelo de colabora o No deployment o componente pode ser customizado editando seu arquivo descritor install Deployed Enabled Disabled Figura 4 11 Ciclo de vida dos componentes Para passar do estado de deployed para installed e se tornar pronto para execu o n o h interven o do desenvolvedor visto que a atividade de deployment n o faz parte do desenvolvimento Szyperski 2003 Ao iniciar o servidor de aplica es o component framework verifica a exist ncia de novos servi os e ao encontrar um novo servi o executa sua instala o A instala o do componente consiste em copiar os arquivos registrar o componente e executar o script de instala o ou de atualiza o Neste ponto as depend ncias dos componentes e seus estados s o lidos e verificados levando os para o estado habilitado enabled ou desabilitado disabled Os compon
201. dependente da tecnologia de suporte D Souza amp Wills 1998 J a camada de infra estrutura independente do dom nio de aplica o e tratada separadamente na disserta o de Celso Gomes Barreto 2006 que faz parte do cons rcio de pesquisa onde esta tese est inserida Os component frameworks estendem o suporte oferecido pelos frameworks de infra estrutura Por exemplo o container utilizado JBoss e os frameworks Spring e Hibernate oferecem suporte a transa o declarativa persist ncia integra o MVC inje o de depend ncias localiza o etc Na disserta o de Barreto 2006 a arquitetura t cnica tratada em mais detalhes O suporte computacional oferecido pelos componentes reus vel para oferecer suporte colabora o nos diversos grupos da organiza o como por exemplo diretoria ger ncia administra o e suporte Desta forma em um ambiente educacional al m do suporte intera o em sala de aula podem ser disponibilizadas ferramentas para mediar a colabora o entre os professores de um curso de um departamento e de uma institui o Cada aplica o de groupware implementa sua organiza o espec fica 4 4 O Modelo de Componentes Um modelo de componentes define as caracter sticas dos componentes e de seu ciclo de vida O modelo de componentes utilizado nesta tese uma extens o do modelo Java Beans e do modelo oferecido pelo framework Spring A estes modelos s o acrescentadas a
202. dependente da tecnologia de suporte Nesta arquitetura s o mostradas a fun o de cada componente no contexto do sistema e a intera o entre eles A arquitetura de aplica o consiste de um conjunto de decis es sobre a plataforma um conjunto de component frameworks e os mecanismos de interopera o entre eles Szyperski 1997 p 275 A arquitetura t cnica considera os detalhes da tecnologia de componentes a ser utilizada e totalmente independente do dom nio da aplica o A arquitetura t cnica retrata as tecnologias de comunica o entre os componentes TCP IP ODBC etc e aspectos referentes a escalabilidade e performance Ap ndice A Componentes e Frameworks 222 A 9 Frameworks O conceito de frameworks est relacionado ao de componentes s o conceitos complementares que contribuem para o reuso de software Gimenes amp Huzita 2005 Um framework uma infra estrutura reus vel de todo ou de parte de um sistema com o objetivo de ser instanciado para resolver uma fam lia de problemas Govoni 1999 As partes invariantes de um dom nio s o implementadas no framework e reusadas nas instancia es O framework oferece uma estrutura comum para um dom nio de aplica es promovendo o reuso do conte do conceitual do dom nio de um software ou da solu o de um problema Gimenes amp Huzita 2005 Ao definir uma arquitetura parcialmente implementada e encapsular detalhes de implementa o o framework libera os
203. desenvolvedores de terem que entender as complexidades envolvidas com a solu o do problema e com o dom nio utilizado Pree 1995 O framework normalmente constru do por especialistas em um dom nio particular e utilizado por leigos naquele dom nio Lajoie amp Keller 1995 O reuso proporcionado pelo uso de um framework n o atinge somente a implementa o se refletindo tamb m na an lise e no projeto do sistema Alguns frameworks s o voltados solu o de problemas ligados tecnologia como interface com o usu rio persist ncia de objetos e suporte a MVC Outros frameworks s o voltados para um determinado dom nio como por exemplo aplica es banc rias e relacionamento com o cliente Estes frameworks s o embasados em teorias e modelos do dom nio e definem uma arquitetura orientada para a rea de aplica o espec fica A utiliza o de frameworks traz as vantagens associadas ao reuso de c digo aumento da qualidade redu o do esfor o de implementa o direcionamento dos esfor os para os aspectos espec ficos da solu o etc Contudo conforme discutido anteriormente o reuso principalmente de c digo proveniente de terceiros pode trazer complica es adicionais ao desenvolvimento No caso de Ap ndice A Componentes e Frameworks 223 E framework como muitas vezes ele assume o fluxo da aplica o para alterar os processos de execu o pode ser necess rio alterar o c digo do framework
204. dos a um banco de dados O banco de dados compartilhado por uma aplica o web que extrai informa es sob demanda Cada componente relativamente independente compartilhado e utilizado para compor um sistema maior Os componentes disponibilizam interfaces para interconex o e s o substitu veis por outros equivalentes Eventualmente um componente n o precisa de intera o com o usu rio ou de mecanismos de persist ncia Ap ndice A Componentes e Frameworks 200 A 2 Defini o de Componente de Software Nesta se o s o apresentadas algumas defini es para componente de software encontradas na literatura O termo componente tamb m comparado com outros termos e conceitos utilizados no desenvolvimento de software Para alguns autores um componente de software qualquer elemento reus vel c digo bin rio c digo fonte estruturas de projeto especifica es e documenta es Krueger 1992 Outros autores focam na tecnologia e consideram como componente qualquer peda o de c digo que segue uma especifica o A Tabela A l apresenta algumas cronologicamente Booch 1987 Component Int Labs Orfali et al 1995 Brown 1996 Sametinger 1997 Szyperski 1997 p 34 D Souza amp Wills 1998 p 387 Councill amp Heineman 2001 p 7 Barroca et al 2005 OMG 2005 defini es encontradas na literatura ordenadas M dulo logicamente coerente e fracamente acoplado que denota
205. dos nesta atividade mediador seminarista e aprendiz O mediador seleciona o aprendiz que ser o seminarista da semana e inicializa a sess o O seminarista submete ent o o semin rio e as tr s quest es para discuss o Os aprendizes postam mensagens argumentando sobre as quest es propostas O mediador ent o finaliza a sess o e avalia as mensagens i Selecionar Seminarista i i Inicializar T pico Sess o Confer ncia Debate Avalia o das Mensagens enables i i r i i t i Finalizar A E 7 Sess o 1 Debate Figura 3 12 Interdepend ncia entre as tarefas de uma confer ncia As interdepend ncias entre as tarefas apresentadas na Figura 3 12 sao expressas em termos dos operadores enables forces e blocks A sele o do seminarista por exemplo habilita a inicializa o da sess o de modo que o mediador n o inicia a sess o sem antes escolher o seminarista Entretanto a Capitulo 3 O Modelo 3C de Colabora o 99 escolha do seminarista n o for a a inicializa o da sess o A mesma rela o acontece entre a submiss o das quest es pelo seminarista e a submiss o de mensagens pelos aprendizes O operador blocks utilizado por exemplo para que ap s a finaliza o da sess o o aprendiz n o possa mais enviar mensagens As interdepend ncias entre as tarefas s o caracterizadas pelo cronograma estabelecido e pelo adequado seqiienciame
206. dos no projeto e representados nas diversas etapas de desenvolvimento e produtos advindos do processo A engenharia do dom nio engloba a an lise do dom nio o projeto de uma arquitetura orientada ao dom nio e a implementa o dos componentes Capitulo 2 Revisao da Literatura 66 correspondentes Werner amp Braga 2005 A an lise do dom nio o processo de identificar e organizar o conhecimento sobre uma classe de problemas para apoiar sua descri o e solu o Pietro Diaz amp Arango 1991 Na analise do dom nio identificado colecionado organizado e representado o conhecimento advindo dos sistemas da teoria de apoio da tecnologia e do desenvolvimento de um dom nio de interesse Peterson 1991 A an lise do dom nio serve de guia para o processo de constru o e reuso de componentes Pietro Diaz amp Arango 1991 sendo que ao reusar um elemento em um n vel o elemento correspondente no n vel mais abstrato tamb m reusado Werner amp Braga 2005 Na an lise do dom nio nenhuma solu o de software assumida O prop sito da modelagem entender os conceitos e seus relacionamentos sendo o principal produto desta atividade a defini o de um modelo do dom nio que estrutura os conceitos as regras o vocabul rio o contexto as funcionalidades e os relacionamentos presentes no dom nio A an lise do dom nio guia a forma de pensar no que diz respeito predi o explica o ou deriva o de f
207. dotam defini es de coopera o e colabora o invertidas em rela o ao modelo 3C adotado nesta tese Para eles a coopera o o trabalho em grupo enquanto a colabora o um dos aspectos da coopera o Contudo pela defini o Capitulo 3 O Modelo 3C de Colabora o 76 apresentada por eles pode se afirmar que os modelos s o equivalentes apesar da invers o dos dois termos De acordo com Amiour amp Estublier 1998 The taxonomy identifies three main aspects of cooperation in software and business processes The first one Coordination is the ordering of activities in the process the second one Collaboration is related to the management of shared data the last one Communication deals with the exchange of information between the performers of the process Assim como nesta tese Amiour 1997 apresenta modelos espec ficos e uma maior elabora o para cada um dos Cs Em sua proposta o modelo de coordena o objetiva representar as atividades realizadas no trabalho em grupo atrav s de regras capturadas em um modelo de eventos diagramas de transi o de estado e diagramas de fluxo de controle O modelo de colabora o voltado representa o dos produtos manipulados na coopera o e seu mapeamento e compartilhamento com as atividades realizadas O modelo de comunica o est direcionado para a troca de mensagens tratando as notifica es e requisi es as respostas poss veis o modo de entreg
208. e e informa es estat sticas sobre as caracter sticas das mensagens N mero de Mensagens Seminano 1 so D Semin rio 2 40 B Semin rio 3 10 E Semin rio Jogo multi usu rio q Quest o Quais as diferen a Argumenta o Ser que Contra Argumenta o Argumenta o Jogo Contra Argumenta o Argumenta o At g N vel m dio da rvore Semin rio 1 3 80 B Semin rio 2 3 86 B Semin rio 3 2 30 E Porcentagem de Folhas Semin rio 1 54 00 E _ Mew Toots ETT E iPAQ Pocket PC DB a g Figura 3 18 Mensagens de uma confer ncia na forma expandida na forma de rvore e informa es estat sticas sobre as caracter sticas das mensagens em um PDA Na fase de produ o colaborativa de conte dos educacionais multim dia e interativos a coopera o acontece na produ o conjunta do documento Para o desenvolvimento do conte do os aprendizes utilizam suas ferramentas habituais e posteriormente submetem pelo ambiente os conte dos produzidos Os aprendizes s o organizados em grupos de dois ou tr s baseado no perfil que previamente Capitulo 3 O Modelo 3C de Colabora o 109 preencheram com seus interesses e qualifica es em cada um dos t picos do curso Baseado neste perfil o AulaNet sugere forma es de grupo que melhor satisfa am aos crit rios definidos pelo mediador grau de habilidade interesse e performance Cunha et al 2003
209. e eventos O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o 244 IAwarenessMgrConfig IAwarenessMgr a cO Event AwarenessMgr C Participant lt lt interface gt gt lt lt interface gt gt IAwarenessMgr IAwarenessMgrConfig Participant getEvents addEventT ype t String getEvent p Participant removeEventT ype t String getEvents type String getEventT ypes getParticipant c Event updateEventT ype t String createEvent c Event disableEventT ype t String enableEventT ype t String Figura B 15 Componente AwarenessMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados ParticipantMgr B 2 10 AvailabilityMgr Nome AvailabilityMgr Inten o Possibilita que o participante configure sua disponibilidade Aplicabilidade Saber a disponibilidade dos participantes contribui para sua melhor organiza o diminuindo a quantidade de vezes que os participantes s o interrompidos em horas impr prias Variabilidade Pode se configurar os graus de disponibilidade Estrutura O componente AvailabilityMgr possui duas interfaces fornecidas TAvailabilityMgr e IAvailabilityMgrConfig e uma interface requerida Participant conforme ilustrado na Figura B 16 A interface AvailabilityMgr disponibiliza os servi os relativos utiliza o do componente
210. e o espa o privado e o coletivo Eventualmente algumas informa es do espa o privado s o Capitulo 3 O Modelo 3C de Colabora o 103 disponibilizadas como feedthrough informando por exemplo que o individuo est digitando a posi o do indiv duo no espa o compartilhado etc Os elementos da coopera o s o relacionados ao registro e recupera o dos objetos e a es O registro da informa o visa aumentar o entendimento entre as pessoas reduzindo a incerteza relacionada com a aus ncia de informa o e a equivocalidade relacionada com a ambiguidade e com a exist ncia de informa es conflitantes Daft amp Lengel 1986 Os indiv duos trabalham as informa es e se comunicam para solucionar os desentendimentos Preservar catalogar categorizar e estruturar os objetos produzidos pelos participantes uma forma de estabelecer a mem ria do grupo Borges et al 2000 O conhecimento informal isto id ias fatos quest es pontos de vista conversas discuss es e decis es decorrente da intera o ao longo do processo dif cil de ser capturado e registrado Entretanto este patrim nio interacional possibilita recuperar o hist rico da discuss o e o contexto no qual as decis es foram tomadas bem como analisar a intera o com o intuito de refinar a din mica da colabora o Siebra et al 2005 Registrar o racioc nio que levou a um determinado artefato design rationale tamb m possibilita ave
211. e on Computer Supported Cooperative Work CSCW 04 November 6 10 Volume 6 Issue 3 Churcher N amp Cerecke C 1996 GroupCRC Exploring CSCW support for software engineering Proceedings of the 6 Australian conference on computer human interaction Hamilton New Zealand November 24 27 1996 IEEE Computer Society Press Los Alamitos CA USA 1996 pp 62 68 Clements P amp Northrop L 2001 Software Product Lines Practices and Patterns Readding Addison Wesley 2001 Conklin J amp Begeman M 1988 gIBIS A hypertext tool for exploratory policy discussion ACM Transactions on Office Information Systems Vol 3 No 3 Councill B amp Heineman G T 2001 Definition of a Software Component and Its Elements in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Cousineau G amp Mauny M 1998 The Functional Approach to Programming Cambridge University Press English edition December 1998 ISBN 0521576814 Cunha L M Fuks H amp Lucena C J P 2003 A Adapta o do Ambiente AulaNet para Dar Suporte a Grupos de Aprendizagem e sua Forma o Utilizando os Conceitos de Agentes de Software Revista Brasileira de Inform tica na Educa o ISSN 1414 5685 Sociedade Brasileira de Computa o V 11 No 1 Abril de 2003 pp 26 46 D Souza D F amp Wills A C 1998 Objects Compone
212. ed Cooperative Work ECSCW 95 Stockholm Sweden 117 132 Schmidt K amp Rodden T 1996 Putting it all Together Requirements for a CSCW Platform In Shapiro D Tauber M Traunmiiller R eds The Design of Computer Supported Cooperative Work and Groupware Systems North Holland Holland pp 157 176 Schmidt K amp Simone C 1996 Coordination mechanisms Towards a conceptual foundation of CSCW systems design Computer Supported Cooperative Work 5 2 3 155 200 Schmidt K 1991 Riding a Tiger or Computer Supported Cooperative Work Proceedings of The 2nd European Conference on Computer Supported Cooperative Work Kluwer 1 16 Sch n D amp Bennet J 1996 Reflective Conversation with Materials In Bringing Design to Software Winograd T ed ACM Press USA ISBN 0 201 85491 0 Sch n D A 1983 The reflective practitioner How professionals think in action Basic Books NY Schrage M 1995 No more teams Mastering the dynamics of creative collaboration Nova York EUA Currency Doubleday Schrage M 1996 Cultures Of Prototyping In T Winograd ed Bringing Design To Software ACM Press USA pp 191 205 Schwarz J Sommer H amp Farris A 2003 The ALMA Software System ASP Conf Ser Vol 314 Astronomical Data Analysis Software and Systems XIII Ochsenbein F Allen M amp Egret D eds San Francisco ASP 643 Segal L 1994 Effects of Checklist Interface on Non Ver
213. ediaMgr e prop s um novo componente de coopera o FileTransferMgr Entretanto n o utilizou em sua arquitetura alguns 2 http www stratify com 2 http www google com talk Capitulo 5 Estudos de Caso 175 componentes 3C necess rios como ParticipantMgr SessionMgr e ContinousChannelMer 2 O aluno que analisou a ferramenta BuddySpace que voltada para comunica o pela Internet integrada no o de contexto e localiza o prop s duas novas funcionalidades de comunica o e tr s de coordena o formata o do texto das mensagens conversa por udio ordena o das pessoas que desejam falar notifica o de deslocamento e gest o de confian a e reputa o Para isto montou uma arquitetura onde utilizou uma vers o estendida do MessageMgr e os componentes AudioMediaMgr MetalnformationMgr e ParticipantMgr Al m destes componentes prop s novos componentes WirelessMocaMgr OrderMgr e ReputationMgr sendo o primeiro para prover a integra o com o framework MoCA Sacramento et al 2004 o segundo para a gest o da ordem de participa o e o terceiro para a gest o da reputa o no grupo O OrderMgr foi proposto desnecessariamente pois sua funcionalidade j provida pelo componente FloorControlMgr O aluno que analisou o site Orkut que voltado para estabelecimento de redes de contatos e relacionamentos prop s duas novas funcionalidades de comunica o e uma de coordena o um chat um
214. el os toolkits liberam os desenvolvedores para pensar em novas interfaces e mecanismos de intera o e possibilitam uma prototipa o r pida para testar refinar e validar as id ias Greenberg 2006 A 8 Arquitetura de Software Baseada em Componentes Uma arquitetura define a estrutura de um software descrevendo as propriedades restri es e relacionamentos de suas partes Stafford amp Wolf 2001 p 373 Ela representa um conjunto de restri es e regras definindo os elementos conectores protocolos componentes propriedades vis veis e a intera o e a fun o de cada parte no contexto do sistema D Souza amp Wills 1998 p 481 Bass et al 2003 A arquitetura uma representa o abstrata de alto n vel do projeto de um software A granularidade dos componentes da arquitetura varia de pequenos peda os de c digo a aplica es inteiras como SGBDs ou servidores de e mail As 37 E E b Po Na literatura muitas vezes o termo arquitetura tamb m utilizado para representar a infra estrutura da aplica o em frases do tipo o componente interage com a arquitetura da aplica o Ap ndice A Componentes e Frameworks 221 conex es entre os componentes abstraem como eles de fato interagem como por exemplo chamada de m todo compartilhamento de dados pipes RPCs Remote Procedure Calls sockets etc D Souza amp Wills 1998 Um estilo arquitetural descreve uma fam lia de arquiteturas de sof
215. elo 3C instrumenta o desenvolvedor que analisa a aplica o de sua ferramenta com base nos conceitos referentes comunica o coordena o e Zz coopera o A an lise do dom nio utilizada como base para a defini o e a especifica o dos requisitos e onde s o identificados e organizados os conhecimentos sobre uma classe de problemas Werner amp Braga 2005 O levantamento de requisitos guiado por requisitos gen ricos de groupware e pelos requisitos de colabora o levantados durante a an lise baseada no modelo 3C Os requisitos entretanto nunca s o precisos o suficiente para Cap tulo 6 Conclus o 196 possibilitar uma especifica o precisa do sistema O desenvolvimento incremental possibilita avaliar e validar continuamente os requisitos bem como as decis es de projeto e de implementa o O desenvolvimento passado ajuda a entender o desenvolvimento futuro Teles 2004 H diferentes t cnicas baseadas no modelo 3C que instrumentam o projeto de um groupware Por exemplo padr es para reusar abordagens comuns de projeto e de an lise de groupware baseado em componentes 3C extens es da UML para representar aspectos espec ficos de groupware e da colabora o direcionando a integra o com a arquitetura arquiteturas de groupware baseada em component frameworks e frameworks de aplica o para instanciar ambientes servi os e componentes 3C Para a fase de implementa o compone
216. elping Mediators to Steer Educational Forums Using Statistical and Visual Information Computer Supported Collaborative Learning Taiwan July 2005 ISBN 0805857826 Lawrence Erlbaum Associates pp 160 169 Gimenes I M S amp Huzita E H M 2005 Desenvolvimento Baseado em Componentes Editora Ci ncia Moderna Rio de Janeiro 2005 ISBN 85 7393 406 9 Goldratt E M 1997 Critical Chain The North River Press Publishing Corporation Great Barrington Govoni D 1999 Java Application Frameworks Wiley amp Sons ISBN 0 471 32930 4 Graham M Scarborough H amp Goodwin C 1999 Implementing Computer Mediated Communication in an Undergraduate Course A Practical Experience Journal of Asynchronous Learning Networks Vol 3 No 1 1999 pp 32 45 Greenberg S amp Fitchett C 2001 Phidgets Easy Development of Physical Interfaces through Physical Widgets Proceedings of the UIST 2001 14 Annual ACM Symposium on User Interface Software and Technology November 11 14 Orlando Florida ACM Press pp 209 218 Greenberg S 2003 Enhancing Creativity with Groupware Toolkits Invited keynote talk Proceedings of the 9 International Workshop on Groupware CRIWG 2003 Sept 28 Oct 2 Autrans France LNCS vol 2806 Springer Verlag pp 1 9 Refer ncias Bibliogr ficas 260 Greenberg S 2006 Toolkits and Interface Creativity Journal of Multimedia Tools and Applications Special Issue on Groupwa
217. embros da equipe do AulaNet do LES PUC Rio Mariano Pimentel a utilizou no desenvolvimento da nova vers o do servi o Debate e Denise Filippo na constru o da vers o para PDA do AulaNet 5 4 Estudo de Caso com o TelEduc O suporte computacional colabora o do f rum de discuss o do ambiente TelEduc pode ser mapeado aos componentes 3C Na Tabela 5 12 as funcionalidades presentes na ferramenta e os componentes 3C correpondentes s o apresentados Capitulo 5 Estudos de Caso 179 Funcionalidade Componente 3C Mensagens MessageMer Canal de Comunica o DiscreteChannelMgr Estrutura o em rvore DialogStructureMgr Lixeira TrashBinMgr Avalia o AssessmentMgr Busca SearchMgr Permiss es de acesso PermissionMgr Pap is RoleMgr Participantes ParticipantMgr Eventos AwarenessMegr Tabela 5 12 Mapeamento das funcionalidades do f rum de discuss o do TelEduc Mesmo possuindo interfaces com usu rio complemente distintas a camada de neg cio da aplica o pode ser reusada de modo a compartilhar funcionalidades e o suporte colabora o Os componentes do Collaboration Component Kit podem ser utilizados para instanciar ferramentas de outros groupwares 5 5 Considera es Finais Sistemas colaborativos s o especialmente vulner veis a falhas Grudin 1989 envolvem aspectos multidisciplinares em sua constru o e s o dif ceis de desenvolver manter aplicar e testar Isto especialmente recorrente em
218. emplo de uso de componentes D Souza amp Wills 1998 p 405 Ap ndice A Componentes e Frameworks 199 O exemplo da Figura A 1 tratado por D Souza amp Wills 1998 ilustra a componentiza o na liga o de um motor a dois bot es e a um marcador Os mesmos bot es e o marcador s o reus veis em outras situa es por exemplo utilizando o marcador para marcar a temperatura e estes componentes s o substitu veis por outros equivalentes por m com implementa es diferentes por exemplo substituindo os dois bot es por uma chave liga desliga ou o marcador anal gico por um digital A interoperabilidade propiciada pela compatibilidade entre os conectores O conjunto todo pode ser encarado como um componente de um sistema maior A componentiza o de software visa trazer estes princ pios para o desenvolvimento reuso substitui o e montagem D Souza amp Wills 1998 O desenvolvedor passa a desenvolver peda os de software encapsulados na forma de componentes para que outros desenvolvedores possam utiliz los substitu los ou modific los com efeitos colaterais reduzidos Aplica o Aplica o Web Figura A 2 Exemplo de uso de componentes de software D Souza amp Wills 1998 p 384 D Souza amp Wills 1998 exemplificam a composi o de software atrav s da situa o ilustrada na Figura A 2 Uma aplica o l dados de uma fonte sobre a es registra em uma planilha e passa os resulta
219. endo aos conjuntos de servi os que visam diferentes necessidades dos clientes D Souza amp Wills 1998 p 397 Normalmente o componente possui pelo menos uma interface relativa aos servi os disponibilizados interface de neg cio e outra conex o com a infra estrutura de execu o interface de sistema onde s o tratados servi os t cnicos como os relacionados ao ciclo de vida instala o e persist ncia As interfaces s o classificadas em fornecidas provided interfaces e requeridas required interfaces Councill amp Heineman 2001 p 9 Um componente possui uma interface fornecida ao implementar todas as opera es definidas naquela interface e uma interface requerida ao usar pelo menos uma opera o definida na interface Na UML 2 0 interfaces fornecidas s o representadas por uma circunfer ncia fechada enquanto as interfaces fornecidas s o representadas por uma semicircunfer ncia OMG 2005 Conforme ilustrado na Figura 2 8 componentes se conectam por meio da interface requerida de um com a interface fornecida de outro Barroca et al 2005 p 6 Para conectar componentes com conectores incompat veis desenvolve se um c digo adicional chamado de adaptador que faz as convers es e opera es necess rias para compatibilizar interfaces components S en BackOrder OrderEntry component components S O Order Customer OrderEntry Figura 2 8 Exemplo de conex es entre comp
220. entemente a Sun lan ou o modelo de componentes para interface com o usu rio Java Server Faces JSF e o modelo Portlets JSR 168 para o reuso de componentes em portais na web Utilizando este modelo poss vel reusar um componente desenvolvido para um portal em outro de modo que uma institui o monta seu portal buscando ou adquirindo componentes de terceiros Cada componente possui um arquivo descritor Figura A 9 que define suas configura es e implementa uma interface que define os m todos ativados durante seu ciclo de vida Figura A 10 package examples helloworld import java io import javax portler public class HelloWorld extends GenericPortlet public void render RenderRequest request RenderResponse response throws PortletException IOException response getWriter write lt p gt Hello World lt pe Figura A 10 Implementa o de um m todo referente ao ciclo de vida de um portlet 2 Para executar estes componentes necess ria uma infra estrutura de execu o espec fica que cuida do ciclo de vida agrega o seguran a configura o persist ncia etc Por exemplo no caso do Portlets o container aciona os componentes que geram dinamicamente o conte do exibido para o usu rio agregando a sa da de cada um em uma nica apresenta o Ap ndice A Componentes e Frameworks 217 A 6 Infra estrutura de Execucao Um container uma plataforma normalmente desenvolvida por t
221. entes linguagens de programa o tecnologias e plataformas D Souza amp Wills 1998 p 397 Com rela o as dificuldades o desenvolvimento baseado em componentes demanda um esfor o inicial maior de projeto e implementa o para montar a infra estrutura do sistema e construir uma biblioteca robusta de componentes reus veis Projetar e preparar um peda o de software para futuro reuso aumenta a necessidade de flexibilidade documenta o estabilidade e abrang ncia do software Moore amp Bailin 1991 O software deve ser bem documentado testado e deve ter um esquema robusto de valida o Pfleeger 2001 Os componentes n o podem ser nem muito gen ricos e nem muito espec ficos Oliveira 2001 O custo do estudo e entendimento de como usar e instalar os componentes tamb m outra dificuldade associada com o reuso s vezes mais r pido desenvolver um componente do que procurar por um pronto estud lo e adapt lo Pfleeger 2001 A menos que o custo de aprendizagem seja amortizado por v rios projetos ou que o ganho de produtividade e qualidade sejam expressivos o investimento inicial n o se torna atraente Oliveira 2001 O reuso de componentes provenientes de terceiros pode levar a situa es inesperadas onde se torna necess rio reimplementar uma grande quantidade de c digo quando novos requisitos levarem a altera es ou customiza es n o possibilitadas pelo componente Os componentes introduzem depend
222. entes s o carregados inicializados e se tornam prontos para uso Um mesmo servi o pode possuir v rias inst ncias que s o independentes entre si Por exemplo no caso do ambiente AulaNet para cada curso que utiliza um servi o criada uma inst ncia do componente O Service Component Framework gerencia as inst ncias dos servi os e guarda o estado atual de cada uma possibilitando a posterior restaura o Na cria o de uma nova inst ncia s o utilizados os valores padr es definidos no arquivo descritor 17 Alguns servi os possuem escopo de turma sendo necess ria uma inst ncia para cada turma Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 135 A instancia o de um novo servi o implica na instancia o dos componentes de colabora o utilizados na composi o do servi o O Service Component Framework interage com o Collaboration Component Framework para possibilitar a instancia o e a associa o entre as inst ncias dos componentes Visando reduzir o acoplamento entre os dois component frameworks utilizada uma interface que prov um contrato de utiliza o entre eles A instala o e o gerenciamento dos componentes de colabora o seguem um procedimento similar ao descrito para os servi os Os componentes de colabora o contam com arquivos descritores que definem configura es padr es utilizadas na instancia o dos componentes O Collaboration Component Framework geren
223. ento de eventos e compartilhamento de dados Cada esta o cliente possui uma r plica do gerenciamento de sess es e da ferramenta colaborativa enquanto o reposit rio fica localizado em um servidor central O gerenciador de sess es de cada participante transmite informa es sobre a sess o e sobre os participantes para o reposit rio central Ap s o estabelecimento da conex o inicial as ferramentas trocam informa es diretamente atrav s de chamadas remotas de procedimento de propaga o de eventos ou de vari veis de ambiente compartilhadas entre as diversas aplica es S o oferecidos aos programadores mecanismos que encapsulam e abstraem os detalhes t cnicos de conex o e comunica o O GroupKit oferece diversos widgets de interface que s o utilizados para compor a interface gr fica da aplica o O modelo de componentes adotado possibilita que o desenvolvedor crie novos ou estenda os widgets existentes H Capitulo 2 Revisao da Literatura 59 widgets para prover informa es de percep o telepointers barras de rolagem multi usu rio vis o de radar da rea compartilhada etc Seus widgets s o particularmente relevantes para a constru o de interfaces WYSIWS What You See Is What I See relaxadas onde as dimens es das janelas utilizadas podem ser distintas O GroupKit foi utilizado como base para a constru o de diversos sistemas colaborativos como o Alliance Michailidis amp Rada 1996 e o GroupCRC C
224. entre o componente e seus clientes e separar a especifica o e a implementa o do componente os componentes s o desenvolvidos e substitu dos transparentemente para seus clientes Szyperski 1997 p 34 A interface define os servi os que os clientes podem requisitar de um componente e as restri es que devem ser observadas pelos componentes e clientes Councill amp Heineman 2001 p 8 Weinreich amp Sametinger 2001 p 39 Um componente apresenta m ltiplas interfaces correspondendo aos conjuntos de servi os que visam diferentes necessidades dos clientes de modo a simplificar o uso e reduzir o acoplamento entre os componentes D Souza amp Wills 1998 p 397 As interdepend ncias entre os componentes ficam restritas as interfaces espec ficas em vez de abranger o componente como um todo OMG 2005 A substitui o realizada levando em conta somente as interfaces utilizadas Para um componente substituir outro o substituto deve prover ao menos os mesmos servi os solicitados ao original e n o deve solicitar servi os distintos dos que o anterior utilizava D Souza amp Wills 1998 Ap ndice A Componentes e Frameworks 206 Normalmente um componente possui pelo menos duas interfaces Uma interface relativa a funcionalidade que o componente oferece a outros componentes interface de neg cio e outra conex o com a infra estrutura de execu o interface de sistema Na conex o com a infra estrutura de
225. epend ncia ou a estrutura de classes aninhada dentro s mbolo de componentes conforme ilustrado na Figura A 6 Customerimpl components Customer a ES Figura A 6 Representa o das classes que o componente implementa OMG 2005 sz D Souza amp Wills 1998 p 84 prop e uma extens o UML para representar a interface de um componente e seu modelo de objetos Conforme ilustrado na Figura A 7 o compartimento do meio da representa o da interface utilizado para explicitar o modelo de objetos manipulado pelas opera es da interface de modo a facilitar o entendimento e o uso do componente lt lt interface gt gt Nome da Interface Classes de Neg cio Opera es Figura A 7 Representa o de um componente e seu modelo de objetos Ap ndice A Componentes e Frameworks 211 Al m da documenta o gr fica da estrutura e dos inter relacionamentos entre os componentes necess rio descrev los textualmente Nesta descri o necess rio englobar aspectos referentes aos requisitos funcionais e n o funcionais Mem ria utilizada e tempo de resposta s o exemplos de aspectos que precisam ser documentados pois podem criar depend ncias n o previstas em um fen meno chamado de vazamento de propriedade Gimenes amp Huzita 2005 N o h uma nota o padr o para a descri o dos componentes Paludo amp Burnett 2005 prop em a utiliza o da estrutura de do
226. eposit rio de mensagens Nas Confer ncias do AulaNet a busca feita a partir das categorias data t tulo corpo autor e indica o de leitura O controle remoto apresentado na Figura 3 2 apresenta v rias informa es de percep o Na parte superior encontra se o c digo da disciplina oferecendo um elemento de percep o individual de localiza o e contexto Os itens do controle Capitulo 3 O Modelo 3C de Colabora o 106 remoto oferecem a percep o de quais s o as op es dispon veis no momento para o participante Ao lado de cada item do menu h um bot o circular que muda de cor para fornecer informa es sobre os servi os Um bot o azul indica o servi o que o participante selecionou indicando sua localiza o Um bot o laranja claro em destaque na Figura 3 2 indica que existem poss veis a es a serem tomadas no servi o Estas a es incluem a presen a de um companheiro nos servi os de comunica o s ncronos ou novos itens a serem trabalhados como uma nova mensagem ou conte do Ao passar o mouse sobre o bot o aparece o total de itens sobre os quais prov vel se tomar uma a o itens n o lidos n o resolvidos ou participantes conectados Um bot o laranja escuro indica um servi o sem novidades desde o ltimo acesso A partir destas informa es de percep o o aprendiz decide onde trabalhar O controle remoto transfere para o aprendiz at certo ponto controle do processo de aprendi
227. er ncias Bibliogr ficas 265 Ostwald J 1995 Supporting collaborative design with representations for mutual understanding CHI 95 Proceedings Doctoral Consortium Osuna C A amp Dimitriadis Y A 1999 A Framework for Development of Educacional Collaborative Applications Based on Social Constructivism Proceedings of International Workshop on Groupware CRIWG 99 IEEE Press Cancun Mexico Paludo M A amp Bumett R C 2005 Desenvolvimento Baseado em Componentes e Padr es in Desenvolvimento Baseado em Componentes Gimenes I M S amp Huzita E H M eds Editora Ci ncia Moderna Rio de Janeiro 2005 ISBN 85 7393 406 9 pg 199 231 Peterson A S 1991 Coming to Terms with Software Reuse Terminology a Model based Approach ACM SIGSOFT Software Engineering Notes Volume 16 Issue 2 April 1991 pp 45 51 ISSN 0163 5948 Pfleeger S L 2001 Software engineering theory and practice Upper Saddle River NJ Prentice Hall Philippe K 2003 Introdu o ao RUP Rational Unified Process Rio de Janeiro Ci ncia Moderna Pimentel M 2006 RUP 3C Groupware um processo de desenvolvimento de groupware baseado no Modelo 3C de Colabora o Tese de Doutorado Departamento de Inform tica PUC Rio Rio de Janeiro RJ 2006 Pimentel M Fuks H amp Lucena C J P 20034 Debati debati aprendi Investiga es sobre o papel educacional das ferramentas de bate papo WIE 2003 IX Workshop
228. erado uma tarefa em um n vel de abstra o mais alto quando n o apresenta interdepend ncia com tarefas externas a este grupo A modelagem das tarefas e seus relacionamentos outro elemento a ser considerado no projeto do suporte computacional coordena o poss vel caracterizar diferentes tipos de interdepend ncias e identificar mecanismos de coordena o para gerenci las Malone amp Crowston 1994 As interdepend ncias s o relacionadas ao tempo ou aos objetos de coopera o recursos Ellis amp Wainer 1994 No n vel temporal a coordena o lida com o seq enciamento das tarefas enquanto no n vel de objetos a coordena o lida com o compartilhamento e com a concorr ncia de acesso No modelo proposto por Raposo amp Fuks 2002 as interdepend ncias estendem as rela es temporais definidas por Allen 1984 adicionando operadores que estabelecem a sem ntica dos relacionamentos entre as tarefas Para diferenciar entre a interpreta o ativa e passiva de uma interdepend ncia dois operadores foram definidos enables e forces Com o operador forces poss vel definir que o in cio ou fim da tarefa A for a o in cio ou fim da tarefa B Outros operadores definidos foram blocks quando o in cio ou fim de uma tarefa bloqueia a outra e unblocks para a situa o inversa Este modelo de representa o das tarefas utilizado para criar mecanismos de coordena o que gerenciam as interdepend ncias entre
229. erceiros com o objetivo de hospedar e gerenciar componentes de um determinado modelo provendo a eles servi os de infra estrutura de execu o O acesso remoto o gerenciamento de transa es distribu das o pooling de recursos o acesso concorrente o clustering a toler ncia a falhas a autentica o a persist ncia a configura o o gerenciamento de permiss es e de sess o s o exemplos de servi os providos por containeres D Souza amp Wills 1998 p 401 O container libera o desenvolvedor de implementar servi os t cnicos de sistema de baixo n vel direcionando seus esfor os para as regras de neg cio e para a composi o do sistema Em alguns casos o uso de container tamb m possibilita alterar aspectos n o relacionados com a l gica do neg cio sem ter que alterar a aplica o bastando re configurar o container para mudar aspectos como seguran a permiss es logging banco de dados etc A m quina virtual Java um container para executar componentes Java arquivos class ou jar Algumas arquiteturas estendem o container para gerenciar componentes mais especializados como servlets ou applets D Souza amp Wills 1998 p 460 Tomcat JBoss Webspheare Pluto e JetSpeed s o exemplos de containeres Component framework um conjunto de elementos de software regras e contratos que governam a execu o de componentes que est o em conformidade com um modelo de componentes Szyperski 1997 p 369 O component fr
230. erenciamento e execu o dos componentes s o utilizados component frameworks Syzperski 1997 Na arquitetura proposta utiliza se um component framework para cada um dos tipos de componentes propostos de modo a lidar com as peculiaridades de cada um No Service Component Framework s o acoplados os servi os oferecendo suporte montagem do groupware e no Collaboration Component Framework s o acoplados os componentes de colabora o utilizados na montagem do servi o A Figura 4 9 ilustra a implanta o dos componentes nos component frameworks Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 131 correspondentes que estabelecem as condi es ambientais para as inst ncias dos componentes e oferecem servi os relativos ao ciclo de vida Cooperation Coordination _ Communication Service Component Framework Collaboration Component Framework Figura 4 9 Component frameworks com servi os e componentes 3C Os component frameworks s o respons veis por tratar a instala o remo o atualiza o ativa o desativa o localiza o configura o monitoramento importa o e exporta o de componentes O Service Component Framework gerencia as inst ncias dos servi os e a liga o com os componentes de colabora o correspondentes O Collaboration Component Framework gerencia as inst ncias dos componentes de colabora
231. erramenta mais aderente s caracter sticas desejadas As necessidades foram mapeadas em componentes que plugados arquitetura do ambiente possibilitam flexibilizar e experimentar o suporte colabora o A abordagem proposta favorece tamb m o reuso da implementa o do suporte colabora o O mesmo componente AssessmentMgr que utilizado nas Confer ncias utilizado tamb m no Debate por m com outros modelos e conceitos de avalia o Da mesma maneira que na Confer ncia utiliza se um componente de avalia o mais simples ou mais robusto dependendo do modelo de avalia o adotado Com esta abordagem poss vel tamb m alterar a implementa o dos componentes 3C de modo a alterar seu comportamento simultaneamente nos diversos servi os que o utilizam sem a necessidade de modific los Para tanto basta substituir o componente 3C correspondente A abordagem proposta a arquitetura e os componentes est o sendo utilizados no desenvolvimento da nova vers o do ambiente AulaNet Alguns Capitulo 5 Estudos de Caso 167 videos ilustrando algumas das opera es descritas nesta se o est o dispon veis no web site http groupware les inf puc rio br Nas pr ximas se es s o abordados alguns outros ind cios da viabilidade da proposta e de seu entendimento e aplicabilidade por outras pessoas e em outras situa es 5 2 Aceita o Acad mica Comparar em termos de qualidade do produto resultante uma abord
232. erramentas na forma de componentes de software instrumenta se o desenvolvedor de modo que ele monte um groupware espec fico para as necessidades de colabora o do grupo As ferramentas s o selecionadas de um component kit organizado em fun o do modelo 3C para apoiar a din mica estabelecida O desenvolvedor seleciona entre os componentes de mesmo prop sito aqueles mais adequados situa o em quest o Um servi o colaborativo normalmente possui suporte a funcionalidades referentes aos tr s Cs Estas funcionalidades s o recorrentes e relativamente autocontidas como gerenciamento de sess o permiss o avalia o percep o etc Estas funcionalidades tamb m s o encapsuladas em componentes organizados em fun o do modelo 3C O desenvolvedor de uma ferramenta colaborativa seleciona os componentes 3C que atendam s caracter sticas do suporte Capitulo 1 Introdu o 19 colabora o referentes utiliza o da ferramenta no apoio atividade colaborativa Estes componentes encapsulam as complexidades t cnicas e o suporte colabora o e favorecem a concentra o dos esfor os do desenvolvedor na composi o de um groupware espec fico Os componentes encapsulam implementa es e regras de neg cio sobre colabora o providas por especialistas do dom nio e obtidas por experimenta o e reusadas em diversas situa es Desta forma a modelagem instrumentada com base em modelos e elementos pr
233. ers and Advanced Technology in Education CATE 2001 June 27 29 Banff Canada pp 8 11 Gerosa M A Cunha L M Fuks H amp Lucena C J P 2001 Uso da categoriza o e estrutura o de mensagens para dinamizar a discuss o e reduzir a sobrecarga de informa o em cursos via Internet VII Workshop de Inform tica na Escola WIE 2001 Anais Eletr nicos do XXI Congresso da Sociedade Brasileira de Computa o 31 de julho a 2 de Agosto Fortaleza CE Cunha L M Gerosa M A Fuks H amp Lucena C J P 2001 Desenvolvimento e aplica o de cursos totalmente a dist ncia na Internet VII Workshop de Inform tica na Escola WIE 2001 Anais Eletr nicos do XXI Congresso da Sociedade Brasileira de Computa o 31 de julho a 2 de Agosto Fortaleza CE Gerosa M A Cunha L M Fuks H amp Lucena C J P 2001 Um groupware baseado no ambiente AulaNet desenvolvido com componentes Anais eletr nicos do 1 Workshop de Desenvolvimento Baseado em Componentes 21 22 Junho Maring PR
234. es Encapsular as funcionalidades recorrentes em componentes prop cia tamb m o reuso do suporte computacional colabora o de cada servi o aumentando o reuso de c digo Passa tamb m a ser poss vel evoluir ajustar e construir servi os variando e reconfigurando os componentes de colabora o Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 121 SR BD ambiente AulaNet Microsoft Internet Explorer 7 Fie Ed vew Favorites Toos Heip 2 Omo HRD rd dorms 8 4 ORah3 T Ambiente AulaNet Microsoft Internet Explorar Fle ER Wew Fortes Took tp Oui O rss dB hotsite bes unt pus rio brh Elisio Aye Ard EG d dO SP send Confer ncias Preencha os campos abaixo com o conte do da sua mensag Correio para Turma Preencha os campos com o conteudo a ser enviado Categoria Confer ncia coso gen nco Semmana Argumenta o Contre Argumorta o Mariano Pimentel 12 05 2005 21 08 Tatiana Escovedo 0 argumenta o defrudos 03 grupos O lArgumenta o Ra Tatiana Escovedo 15 58 Tatiana Escovi Mariano Pimentel prot tipos 31 05 Mariano Pimentel Dene O T OS eee VS my el e z m E Enviar Desativar Figura 4 2 Servi os Confer ncias e Correio para Turma do AulaNet A Figura 4 3 apresenta os servi os Bate Papo e Debate do AulaNet A principal diferen a entre estes dois servi os o suporte coordena o que no prime
235. es O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o 249 ISearchMgrConfig ISearchMgr E O SearchResult SearchMgr mO Criteria C CooperationObj lt lt interface gt gt lt lt interface gt gt ISearchMgr ISearchMgrConfig CooperationObj Search Result setObjectsSet Collection objects addCriteria c Criteria getResults removeCriteria c Criteria setCriteria c Criteria getCriterias updateCategoy c Criteria disableCriteria c Criteria enableCriteria c Criteria Criteria Figura B 19 Componente SearchMgr e suas interfaces Usos conhecidos Confer ncias Componentes relacionados CooperationObjMgr B 3 3 StatisticalAnalysisMgr Nome Statistical AnalysisMgr Inten o Oferece funcionalidades de an lise estat stica dos objetos compartilhados Aplicabilidade Oferece an lises estat sticas sobre os objetos registrados de modo a embasar a toma de decis o e a coordena o do grupo Gerosa et al 2005 Variabilidade Estrutura O componente Statistical AnalysisMgr possui duas interfaces fornecidas IStatistical AnalysisMgr e IStatistical AnalysisMgrConfig conforme ilustrado na Figura B 20 A interface IStatisticalAnalysisMgr disponibiliza os servi os relativos utiliza o do componente e a interface IStatistical AnalysisMgrConfig disponibiliza os servi os
236. esa EduWeb sr Luidi Xavier Fortunato dif cil de encontrar e caro de contratar especialistas na tecnologia de suporte O reuso obtido com componentes de software favorece a produtividade e a melhoria da qualidade Pfleeger 2001 Boas solu es e inova es no suporte colabora o s o reusadas por diversos grupos de pesquisa e institui es o que favorece o refinamento e amadurecimento dos componentes O AulaNet disponibilizado com um conjunto padr o de servi os que pode ser estendido para atender s necessidades espec ficas de cada grupo e situa o bem como sua evolu o 6 1 Contribui es A principal contribui o desta tese a proposta de utiliza o do modelo 3C de colabora o originado de um artigo seminal de Ellis et al 1991 frequentemente citado e utilizado na literatura para embasar o desenvolvimento de groupware instrumentando o desenvolvedor com kits de componentes fundamentados no modelo Conforme discutido no Cap tulo 2 desta tese esta abordagem inovadora e conforme discutido no Cap tulo 5 vem se mostrando vi vel e tem encontrado boa aceita o nos ve culos cient ficos da rea e de reas afins Cap tulo 6 Conclus o 189 2 Outra contribui o deste trabalho o aprofundamento e refinamento do modelo 3C Diversos trabalhos da literatura e ferramentas utilizadas no meio acad mico e comercial foram estudados com este prop sito Al m disto o modelo 3C foi con
237. esenvolvimento de groupware n o disp e de um ferramental que simplifique a constru o aumente a produtividade e possibilite que programadores n o t o experientes prototipem aplica es para grupos As aplica es desktop e o hipertexto contam com toolkits e ambientes de desenvolvimento que estabelecem uma linguagem pr pria utilizada pelos programadores para criar aplica es agrupando e interligando componentes Com este ferramental o foco do desenvolvimento deslocado da cria o de algoritmos referentes a problemas de baixo n vel para a investiga o da intera o com o usu rio e para o suporte computacional ao dom nio em quest o Myers 1995 Tendo este ferramental dispon vel uma grande quantidade de aplica es criada algumas comercialmente outras por divers o e outras por estudantes como exerc cios em seus cursos Isto favorece a diversidade e a criatividade no desenvolvimento Ainda de acordo com o mesmo autor atualmente o desenvolvimento de groupware ainda necessita de programadores altamente capacitados aptos a lidar com protocolos de rede soquetes captura apresenta o compress o e descompress o de udio e v deo transa es distribu das sincroniza o concorr ncia de acesso gerenciamento de sess o entre outros Com isto mesmo quest es bem conhecidas e investigadas pela comunidade de CSCW s o deixadas de lado pois o foco do desenvolvimento permanece no baixo n vel e n o h reuso do
238. estendendo o RUP para o desenvolvimento espec fico de aplica es groupware mis Processo de Desenvolvimento de Groupware cama Figura 1 3 Foco para o desenvolvimento de uma vers o da aplica o groupware com base no Modelo 3C de Colabora o Capitulo 1 Introdu o 26 No processo proposto o Modelo 3C de Colabora o usado nas diferentes etapas do processo na an lise de dom nio para classifica o das aplica es groupware e de seus elementos na constru o de componentes e no foco dado para o desenvolvimento de cada vers o De acordo com essa pr tica a aplica o groupware desenvolvida resolvendo um problema de comunica o de coordena o ou de coopera o um a cada vers o ao longo do ciclo de desenvolvimento esquematizado na Figura 1 3 1 2 4 Estrutura da Tese Zz A estrutura desta tese a seguinte no Cap tulo 2 s o discutidos alguns trabalhos relacionados ao desenvolvimento de groupware componentizado O Cap tulo 3 apresenta o modelo 3C de colabora o utilizando o AulaNet e um de seus cursos como estudo de caso No Cap tulo 4 a abordagem utilizada e o ferramental desenvolvido s o apresentados No Cap tulo 5 s o apresentadas as instancia es re configura es e reuso dos servi os e seus componentes O Cap tulo 6 apresenta a conclus o e as dire es futuras de pesquisa O Ap ndice A apresenta conceitos modelos e tecnologias do desenvolvimento baseado em compo
239. ests dee aden ess inato mn Ress casi E E BA Sio lia sas uai Sadia a 222 A 10 CONSIDERA ES FINAIS parne a sn pois o conf Dagoa Geil a aeb E 224 AP NDICE B DESCRI O DOS COMPONENTES DE COLABORACAO 226 B 1 COMPONENTES DE COMUNICA O ccsscceessececeesececenseecesaececeenaececsesaecesseeeensaaeees 226 BL TE Me ssa REMI renneri SOM Tese E cate E E E E chet 226 B l 2 TextualMediaM rss serias cease ise s suas SS in sigan tus air eaces hice E E do ndo apiaaa ada 228 Bul 3 DiscreteChannelM Br wee stasis acess a a heres an eevee 229 Bul MetalnjormationM iss isevsaics e rmriasa cant intecas ous cd auhden oras nd ov ty E E cheb Ouse eed 230 B 1 3 CaregorizationMBE wisi cies ees darei nad Gr natin Mats te anes et asa 231 B 1 6 DidlogStructureM gr ccccesccesccesecesecnsecnsecnsecnsecnssenseeaseessesseeseseseesseesseeseeenees 232 B 2 COMPONENTES DE COORDENAGAO sssccesssscecesssececesceecesaeeeceesaecesssaecesaeeecneaaeees 234 BQH AssessmentMBr csiia cesses des ceeuaisewegesns E EA corde ue quanto E E E E chs 234 B 22s ROEM OP sussa do mistos hs tev Oa easel ae hatte da Sou ab LOS UE Eca Goa 235 B 2 5 PCrMiSSIONM Br ses oie cess iow E des AE EN E etnd evi dos casa STS 236 B24 PACHCIPANIM Bliss aioe cos aos des iu ian sab cubs so la sta SE GLS E Usb boas cette das Bend es ad eee 237 B25 GHOUPM GE sra rea aa a aa a E praca dado a dl Eu ada dat 238 B 2 6 SessionM Bh suas nn paaa E E E EAE aa EAE REES 239 B 2 7 FloorCo
240. et com os portalware e vice versa Pretende se tamb m manter a experimenta o com a turma da disciplina de Engenharia de Groupware que utiliza a abordagem e a arquitetura propostas nesta tese para projetar uma extens o ou um novo groupware Nas pr ximas edi es do curso a documenta o dos componentes ser aprimorada e os alunos implementar o as propostas utilizando o ferramental provido Estas novas experimenta es possibilitar o refinar o conjunto de componentes 3C e sua documenta o Para guiar os alunos no desenvolvimento da solu o ser utilizado o processo proposto por Pimentel 2006 visando direcion los e reduzir a quantidade de falhas Os componentes 3C tamb m ser o utilizados pelo grupo de desenvolvedores do AulaNet do Laborat rio de Engenharia de Software LES da PUC Rio para implementar os demais servi os do ambiente Depois de implementados estes servi os ser o entregues para o grupo de desenvolvedores da EduWeb que ir trabalhar no c digo Destes desenvolvimentos espera se tamb m o refinamento do ferramental proposto Como trabalho futuro conforme discutido no Cap tulo 4 tamb m pretende se desenvolver e investigar a utiliza o de frameworks de dom nio para a gera o de aplica es servi os e componentes de uma mesma fam lia com o objetivo de aumentar o reuso de c digo facilitar a instancia o de componentes similares e consolidar e generalizar o suporte colabora o U
241. et os arquivos HTML cont m comandos Scriba que geram dinamicamente as p ginas recorrendo a classes implementadas em Java para as fun es mais complexas Esta dissemina o de c digo entre as diferentes linguagens e arquivos dificulta a manuten o do ambiente Classes Java implementam funcionalidades espec ficas de cada p gina Apesar de implementadas em uma linguagem orientada a objetos estas classes comportam se como biblioteca de fun es assemelhando se ao paradigma de programa o procedural Cousineau amp Mauny 1998 com pouco reuso O acesso aos dados do sistema espalhado pelo c digo de modo que quando ocorre alguma altera o no banco de dados necess rio buscar e atualizar todas as classes e arquivos Capitulo 5 Estudos de Caso 146 Sob a coordena o dos professores Carlos Jos Pereira de Lucena e Hugo Fuks o AulaNet vem sendo desenvolvido por prototipa o por alunos do doutorado mestrado e gradua o da PUC Rio que al m de mant lo usam no em suas teses disserta es e monografias implementando e testando os conceitos de seus trabalhos O AulaNet cresceu e suas funcionalidades foram implementadas na medida da necessidade Mais de 20 alunos atuaram diretamente no desenvolvimento do AulaNet em per odos distintos A rotatividade de desenvolvedores e de enfoques levou a um c digo despadronizado Por estes diversos fatores tornou se custoso realizar altera es no AulaNet desenvolver no
242. etailed refinement of the Clover model and Ellis s conceptual model of groupware Revisor 2 CRIWG 2004 The 3C collaboration model is a good synthesis of several similar approaches Revisor 2 CSCW 2004 I also dont believe that simply applying the 3C model helps you in componentizing your software There are certainly many other ways of structuring components which might be more practical from a componentization perspective Revisor 2 WCSCW 2004 O artigo apresenta a nova arquitetura do aula net baseada em componentes Tal abordagem bastante promissora considerando pontos como reuso flexibilidade manuten o tailorability qualidade etc Revisor 1 SBIE 2004 O trabalho apresenta uma proposta de arquitetura para sistemas colaborativos que facilita a configura o de acordo com a necessidade de grupos espec ficos e possibilita a incorpora o de novos componentes o que muito desej vel dado a variedade de situa es nas quais esses sistemas s o usados Revisor 3 CSCWiD 2005 The mentioned approach having a component base architecture and a 3C collaborative model is very well explained and seems very appealing Revisor 2 WDBC 2005 O uso de componentes em aplica es colaborativas particularmente o AulaNet bastante conhecido uma excelente id ia para tornar mais flex vel e facilitar sua evolu o principalmente considerando que nestes tipos de aplica es as mudan as ocorrem com mais fregii
243. ettaet al Gio se aa linha de produto Proprietario Java 1998 sincrono COCA Li amp Muntz 1998 Hezibilidade Si tailorability Propriet rio Java coordena o GroupKit Roseman amp Groupware a Greenberg 1996 Arona linha de produto Proprietario Tel Tk Lumis www lumis com br Portais web tailorability Propriet rio Asp NET Mamo Portais web tailorability Propriet rio PHP www mamboserver com XOOPS www xoops org Portais web tailorability Propriet rio PHP Zope www zope org Portais web tailorability Propriet rio Python DotNetNuke Sy Dosta Asp NET www domemuke com Portais web tailorability Propriet rio VB NET ACOST Hummes amp Feramentas de ad EO Re j Merialdo 2000 comunica o ailorability xtens o do JavaBeans ava s ncrona Flexible JAMM Begole et Applets al 1999 eolabor nvos linha de produto Swing Java Aplica es TOP Guerreron do Salles colaborativas na linha de produto Propriet rio Java 1999 Web MoCA Sacramento et al co poracao A era 2004 dispositivos linha de produto Propriet rio Java m veis Visualiza o Sieve Isenhour et al 1997 colaborativa de linha de produto Extens o do JavaBeans Java dados Prospero Dourish 1998 O o linha de produto Propriet rio CLOS COPSE Web David amp Groupware para ne Borges 2004 Web linha de produto Propriet rio Java TeleComputing Developer Groupware em NAE Anderson et al 2002 geral linha de produto Propriet rio Java Agilo Guicking et al
244. execu o s o tratados servi os t cnicos como os relacionados ao ciclo de vida instala o e persist ncia Apperly 2001 p 30 compara componentes com janelas utilizadas na constru o civil As janelas s o entregues como um pacote fechado s o plugadas em uma infra estrutura com um determinado prop sito e suas funcionalidades s o utilizadas por seus clientes H uma interface que define a utiliza o pelos clientes interface de neg cio e uma outra interface que determina a jun o da janela com a infra estrutura especificando quantos e quais buracos de fixa o s o necess rios interface de sistema Tanto o cliente quanto a infra estrutura s o independentes dos detalhes internos de implementa o revestimento dos pregos tipo de cola empregada etc As interfaces s o fornecidas provided interfaces ou requeridas required interfaces Councill amp Heineman 2001 p 9 Um componente realiza uma determinada interface fornecida se cont m uma implementa o de todas as opera es definidas por aquela interface Um componente possui uma interface requerida se utiliza uma opera o definida naquela interface Componentes se conectam por meio da interface requerida de um com a interface fornecida de outro Barroca et al 2005 p 6 conforme ilustrado na Figura A 3 Se um componente for totalmente autocontido ele n o possui interface requerida Um componente pode requerer mais de uma interface e estar em confo
245. final Um processo um conjunto de pol ticas tecnologias procedimentos artefatos e estruturas organizacionais utilizado para conceber desenvolver implantar e manter um produto de software Fuggetta 2000 No cons rcio de pesquisa no qual esta tese est inserida Mariano Pimentel 2006 prop e um processo de desenvolvimento de groupware que leva em considera o a arquitetura e a abordagem propostas nesta tese Este processo instrumenta e guia o Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 143 desenvolvedor que passa a contar com uma abordagem sistematizada para o desenvolvimento incremental de groupware baseado no modelo 3C Pimentel et al 2005 O processo estabelece a liga o entre os problemas e solu es bem como o mapeamento para as funcionalidades e componentes correspondentes O processo define as atividades e artefatos que s o gerados durante o desenvolvimento e instrumenta o desenvolvedor para que a partir dos sintomas possa identificar quais elementos precisam ser refinados O processo estabelece t cnicas e abordagens para avaliar uma ferramenta com o objetivo de identificar problemas e proceder em novos ciclos de desenvolvimento 5 Estudos de Caso Neste capitulo s o analisados estudos de caso visando avaliar a abordagem proposta nesta tese descrita a instancia o da solu o proposta para o desenvolvimento do AulaNet apresentando a evolu o da arquitetura do ambiente e dos servi
246. funcionalidades de envio de mensagens comunica o controle Capitulo 3 O Modelo 3C de Colabora o 112 de permiss es para escrita e leitura ou somente leitura coordena o integra o com o servi o de avalia o coordena o busca coopera o diferentes ordena es para a lista de mensagens coopera o registro em arquivo coopera o e lixeira para f runs removidos coopera o a http priapo nied unicamp br denis cursos aplic batepapo index sala php Microsoft Intern a Sala de Bate Papo Sess o n o agendada 18 03 59 Marco Entra na sala 18 06 24 Marco fala para Todos Ola tudo bem 18 06 47 Marco responde para Todos Testando o bate papo Rolagem Autom tica Marco fala para x Todos J Atualizar lista de pessoas Emad AD Internet Figura 3 20 Servi o Bate Papo do TelEduc O servi o Bate Papo apresentado na Figura 3 20 apresenta funcionalidades de envio e de recebimento de mensagens comunica o categoriza o de mensagens comunica o gerenciamento de sess es coordena o lista de participantes coordena o registro coopera o e busca coopera o Espa o Compartilhado Lista de Participantes e Registro Co je ordena o Coopera o Carin it o entrou na sala Damasio lt Carina gt ola Fabiano lt Fabiano gt Oi Carina julio t r Silvia lt S
247. gistro e manipula o das informa es 3 5 Coordena o Gerenciamento de Interdepend ncias De acordo com o dicion rio Houaiss 2001 coordenar organizar se de forma met dica estruturar ordenar se conjugar concatenar interligar manter ou tornar sincr nico e harmonioso ser respons vel pelo andamento pelo progresso de setor equipe projeto etc dirigir fazer combina o ou ajuste de acertar se No trabalho em grupo a coordena o de atividades necess ria para garantir o cumprimento dos compromissos assumidos na comunica o e a realiza o do trabalho colaborativo atrav s da soma dos trabalhos individuais A coordena o organiza o grupo para evitar que esfor os de comunica o e de coopera o sejam perdidos e para garantir que as tarefas sejam realizadas da forma mais adequada no tempo certo e com os recursos necess rios Raposo amp Fuks 2002 A coordena o de uma atividade envolve a pr articula o de tarefas o gerenciamento do seu andamento e a p s articula o A pr articula o envolve a negocia o necess ria para preparar a colabora o normalmente conclu da antes do trabalho colaborativo ser iniciado identifica o dos objetivos mapeamento dos objetivos em tarefas sele o dos participantes distribui o de responsabilidades etc Ao pr articular as tarefas a negocia o ocorre a priori e ao colaborar o grupo segue o roteiro pr estabelecido Um e
248. gociar os planos e exercer paralelamente a comunica o coordena o e coopera o Uma atividade espec fica de comunica o como por exemplo o bate papo em um chat requer comunica o troca de mensagens coordena o pol ticas de acesso e coopera o registro e compartilhamento O ambiente de aprendizagem AulaNet e um de seus cursos s o usados neste cap tulo como estudos de caso para apresentar os conceitos do modelo 3C e nos cap tulos seguintes como instancia o da abordagem proposta nesta tese Na pr xima se o o ambiente e o curso s o apresentados sucintamente 3 3 O Ambiente AulaNet e o Curso TIAE O AulaNet um ambiente baseado em uma abordagem de groupware para o ensino aprendizagem na web que vem sendo desenvolvido desde Junho de 1997 pelo Laborat rio de Engenharia de Software da Pontif cia Universidade Cat lica do Rio de Janeiro PUC Rio O AulaNet gratuito e est dispon vel nas vers es em portugu s ingl s e espanhol em http www eduweb com br O Projeto AulaNet recebeu men o honrosa no III Pr mio Alcatel Inova o Tecnol gica Brasil em 2000 Milhares de c pias do ambiente foram distribu das e s o utilizadas em diversas universidades e empresas O AulaNet oferece uma interface padronizada para participa o em cursos atrav s da web conforme ilustrado na Figura 3 2 Esta interface composta de uma janela principal e de um menu representado graficamente atrav s de uma fig
249. h documentos Word e v deos diversos Os plugins se comportam como componentes pois s o autocontidos reus veis substitu veis prov em servi os espec ficos de uma maneira coesa e bem definida seguem uma padroniza o e s o disponibilizados como uma unidade execut vel em uma plataforma pr definida V rias aplica es utilizam o suporte a plugins para estender as funcionalidades nativas como o Adobe Photoshop o Eclipse IDE e o Apache Web Server Componentes visuais de interface com o usu rio widgets outro exemplo bastante difundido do uso de componentes Alguns ambientes de desenvolvimento integrado IDEs disponibilizam ao desenvolvedor um conjunto de componentes visuais que s o utilizados para compor a interface com o usu rio O programador instancia e posiciona os componentes configura suas propriedades e associa m todos a seus eventos sem ter acesso a seu c digo fonte Dada a elasticidade e o desgaste do termo componente apropriado diferenci lo de outros conceitos e tecnologias para melhor caracteriz lo A seguir o conceito de componente de software comparado com os conceitos de m dulo objeto classe biblioteca e API 32 Clemens Szyperski na segunda edi o de seu livro Component Software Beyond Object Oriented Programming lan ada em 2002 passou a caracterizar um componente como execut vel ao inv s de bin rio visto que a capacidade de execu o em uma plataforma mais relev
250. habert et al 1998 prov aos desenvolvedores ferramentas para criar aplica es colaborativas em Java oferecido um ferramental para criar ou migrar aplica es e applets existentes para o ambiente de groupware O Capitulo 2 Revisao da Literatura 56 Habanero disponibiliza um servidor que hospeda e gerencia as sess es e as conex es dos clientes O component framework da plataforma disponibiliza servi os de registro de sess es gerenciamento de participantes e controle de acesso As aplica es clientes do Habanero s o chamadas de Hablets Atrav s da interface provida pelo component framework um Hablet cria conecta e visualiza informa es das sess es e dos participantes gerencia e propaga eventos ativa ferramentas e manipula o cat logo de endere os compartilhado Alguns exemplos de ferramentas desenvolvidas para a plataforma Habanero s o um navegador web compartilhado um whiteboard um bate papo em udio um visualizador cooperativo de documentos VRML e um compartilhador de rea de trabalho baseado no VNC Virtual Networking Computing As ferramentas s o replicadas nos clientes e as mudan as de estados s o distribu das Quando um novo cliente entra em uma sess o s o enviadas informa es de quais ferramentas est o ativas naquela sess o e os dados necess rios para compor o estado atual da colabora o O Habanero possibilita m ltiplas sess es sendo que um mesmo participante pode atuar em mais de uma sess
251. he work and learning environment together Electronic Proceedings of the 7 International Conference on Engineering and Technology Education INTERTECH 2002 March 17 20 Santos SP Fuks H Gerosa M A amp Lucena C J P 2002 Using a Groupware Technology to Implement Cooperative Learning via the Internet A case study Electronic Proceedings of the 35 Annual Hawaii International Conference on System Sciences HICSS 35 January 7 10 Hawaii Gerosa M A Fuks H amp Lucena C J P 2001 Elementos de percep o como forma de facilitar a colabora o em cursos via Internet XII Simp sio Brasileiro de Inform tica na Educa o SBIE 2001 21 23 de Novembro Vit ria ES pp 194 202 Gerosa M A Fuks H amp Lucena C J P 2001 Use of categorization and structuring of messages in order to organize the discussion and reduce information overload in asynchronous textual communication tools 7 International Workshop on Groupware CRIWG 2001 September 6 8 Germany pp 136 141 Fuks H Gerosa M A Cunha L M amp Lucena C J P 2001 Groupware Technology for cooperative learning via the Internet Electronic Proceedings of the International Conference on Engineering Education ICEE 2001 August 6 10 Oslo Norway Gerosa M A Cunha L M Fuks H amp Lucena C J P 2001 The application and enhancement of web based courses JASTED International Conference on Comput
252. hes A avalia o dos aprendizes no TIAE feita atrav s da participa o e da qualidade das contribui es feitas em todo o curso Cada mensagem do semin rio avaliada e comentada individualmente objetivando orientar os aprendizes na constru o do conhecimento e na formula o do texto evitando que sejam enviadas contribui es que n o agreguem valor ao grupo Os problemas encontrados nas contribui es s o comentados na pr pria mensagem geralmente de forma vis vel a toda a turma Os relat rios de participa o embasam o acompanhamento da participa o dos aprendizes nos diversos eventos do curso e Capitulo 3 O Modelo 3C de Colabora o 100 possibilitam a aprecia o da qualidade da contribui o gerada por esta participa o do ponto de vista do docente Fuks et al 2003 Estes relat rios d o ind cios de quem n o est participando e de quem est participando inadequadamente tanto quantitativamente quanto qualitativamente conforme ilustrado na Figura 3 13 Tecnologias da Informa o Aplicadas Educa o Participantes pa ca ee rae ae i Sa RE E ET 0 0 s 0 0 8 57 10 Alberto onan Bom 8 68 se Bom 9 eas 8 34 Alexandre REENA Bom 9 69 wes eke ei Gc ct Andre Garo Bom 9 56 ae a P ssimo O oa 7 74 Andr a Zina Bom 8 12 Ativo a 6 Bom 9 Cartao 7 88 Bernardo da Bomy Site T E Regular 7 ee E Bruno ama Bom 9
253. hurcher amp Cerecke 1996 Recentemente o GroupLab que desenvolve o GroupKit disponibilizou tamb m widgets voltados a encapsular os detalhes t cnicos de intera o com dispositivos f sicos phidgets de modo que o desenvolvedor monta uma solu o integrada de hardware e software Greenberg amp Fitchett 2001 Tamb m foi disponibilizado um toolkit espec fico para SDG Single Display Groupware que objetiva oferecer suporte computacional colabora o de v rios participantes utilizando uma mesma m quina com v rios dispositivos de entrada e sa da Tse amp Greenberg 2004 O GroupKit possui um enfoque maior na constru o da interface com o usu rio para groupware s ncrono Nesta tese o enfoque em instrumentar o desenvolvedor oferecendo componentes organizados em fun o do modelo 3C para constru o de sistemas colaborativos na web Apesar de o estudo de caso feito com o ambiente AulaNet possuir widgets de interface sua constru o foge do escopo desta tese 2 3 12 Portalware Portalware tamb m conhecido como CMS Content Management System um tipo de sistema utilizado para construir portais na web Estes sistemas apresentam uma arquitetura modular baseada em componentes para a constru o de portais que oferecem suporte intera o com os usu rios Alguns exemplos de portalware s o o Lumis o Mambo o XOOPS o Zope e o DotNetNuke Estes http grouplab cpsc ucalgary ca http
254. i o Confer ncias do AulaNet possibilita a produ o de mensagens e seu posicionamento em rvores registro busca e compartilhamento Mesmo tendo este ferramental voltado coopera o o prop sito principal do servi o a comunica o Os participantes n o utilizam o servi o com o intuito de construir rvores e mensagens e sim construir e discutir conhecimento atrav s da argumenta o O conhecimento negociado n o explicitamente representado no Capitulo 3 O Modelo 3C de Colabora o 110 servi o de modo que o servi o classificado como comunica o Em uma Zz din mica de trabalho ele utilizado para dar suporte computacional conversa o entre os participantes Uma ferramenta projetada para a comunica o pode ser utilizada para coordena o Por exemplo em alguns casos um coordenador utiliza uma videoconfer ncia que tipicamente uma ferramenta de comunica o para monitorar o que seus coordenados est o fazendo Definir um prop sito espec fico para a ferramenta possibilita construir um suporte computacional mais apropriado atividade Um reposit rio de arquivos que tipicamente um servi o de coopera o por exemplo ao ser utilizado como um guich de recebimento de tarefas e municiado com funcionalidades espec ficas a este prop sito re classificado como coordena o Servi o Descri o Classifica o F runs de Discuss o T picos que est o em discuss o de maneir
255. i os a realimenta o obtida com a utiliza o do ambiente pode levar substitui o de servi os existentes Por exemplo se os coordenadores do TIAE julgarem que os aprendizes est o tendo dificuldades com o servi o Debate podem substitu lo pelo Bate Papo que apresenta uma interface mais simples e com menos funcionalidades conforme pode ser observado na Figura 5 6 Tamb m pode iniciar com o servi o mais simples e quando os aprendizes se ambientarem substitu lo pelo mais robusto Um problema desta substitui o que as sess es avalia es participa es etc ainda ficam registradas para o servi o anterior Se os servi os forem compat veis utiliza se o recurso de importa o exporta o do ambiente para transferir os dados TESE F http tiae tes inf puc ria br Debate Microsoft Internet Explorer de sisstema enquadra se como groupware G Marcelo Lopes Oliveira gt Primeiro depende do objetivo G Pablo Santos gt Quem conhece o Director H Marcelo Lopes Oliveira gt Gustavo o pr prio Word pode se prestar co autoria disp e de funcionalidades para isto Liane Pereira Queiroz de Centro Lucan Sampa Rocha Liane Pereiro Queiros de Castro gt um aspecto que considero importante a nar apos tam capacidade de fornocer uma mem ria da processo que est sendo deservomdo Pablo Santos gt Primeira conches o somos praticamente anorantes no assunto Marcelo Lopes Oliveir
256. i os por meio de interfaces bem definidas para o meio externo Um componente representa uma parte modular de um sistema que encapsula seu conte do e cuja manifesta o substitu vel Um componente define seu comportamento atrav s de interfaces fornecidas e requeridas Tabela A 1 Defini es de componente de software Neste trabalho adotada a defini o proposta por D Souza amp Wills 1998 que enfatiza a possibilidade de customiza o e a necessidade de explicitar as interfaces fornecidas e requeridas Tamb m s o consideradas as defini es de Ap ndice A Componentes e Frameworks 201 Szyperski 1997 que diz que um componente uma unidade execut vel e a de Councill amp Heineman 2001 p 7 que diz que o componente segue um modelo de componentes Apesar destas duas caracter sticas n o estarem expl citas na defini o proposta por D Souza amp Wills 1998 os autores as adotam em seu livro Das outras defini es apresentadas na tabela algumas s o razoavelmente equivalentes defini o adotada Sametinger 1997 Orfali et al 1995 Barroca et al 2005 e outras s o mais gen ricas Booch 1987 Brown amp Wallnau 1996 OMG 2005 Componentes de software s o utilizados nas mais diversas reas e com os mais diversos prop sitos Um exemplo bastante conhecido o uso de plugins nos navegadores web utilizados para estender o suporte visualiza o de conte dos como anima es flas
257. ia por exemplo obt m se diversas informa es pela linguagem corporal pelas express es faciais pela entona o de voz etc O modo de transmiss o pode ser cont nuo ou em blocos No modo cont nuo s o transmitidos pacotes que individualmente n o caracterizam uma mensagem Por exemplo em uma videoconfer ncia a mensagem dilu da na transmiss o cont nua de informa es por udio e v deo de forma verbal e n o verbal Em um chat onde cada participante enxerga simultaneamente o que os outros est o escrevendo um interlocutor come a a responder antes mesmo que o outro termine a frase entrela ando o discurso O modo de transmiss o cont nuo faz sentido na comunica o s ncrona onde os interlocutores est o simultaneamente conectados J no modo em blocos o emissor prepara um pacote de informa es a mensagem e depois o envia ao receptor O emissor possui um espa o privativo onde trabalha no conte do antes de se expor O modo de transmiss o em blocos usado para a comunica o s ncrona ou ass ncrona Normalmente ferramentas de comunica o ass ncrona s o utilizadas quando se deseja valorizar a reflex o por parte dos interlocutores visto que ter o mais tempo antes de agir Benbunan Fich amp Hiltz 1999 Nas ferramentas de comunica o s ncrona a velocidade de intera o mais valorizada dado o baixo tempo de lat ncia entre as a es dos interlocutores O tipo de comunica o esperado modifica o tra
258. ibilidade Fabiano Neves 26 0 ajudar no processo de autoria pois pode facilitar o processo de cor Argumentation aspectos adicionais Carlos Mello 26 08 200 entre os componentes da equipe o Question Aplica o de Ferramentas especialmente RV ao e learning Ce Back Send Figura 3 6 Trecho de di logo na Confer ncia a e no Debate b Na segunda parte do curso os aprendizes desenvolvem em grupo um conte do educacional multim dia e interativo Ap s a entrega realizada uma Capitulo 3 O Modelo 3C de Colabora o 83 revis o pelos pares onde membros de pelos menos outros tr s grupos avaliam cada conte do produzido Esta avalia o acontece em confer ncias criadas especificamente com este prop sito onde os aprendizes discutem os problemas encontrados nos prot tipos de conte dos Ao final deste per odo os grupos t m um prazo para apresentar a vers o revisada que incorpora as contribui es de seus colegas A Tabela 3 1 apresenta o cronograma da edi o 2005 2 do curso Etapa Atividade Data e hor rio Servi o Aula presencial inaugural 11 08 12hs 13hs sala de aula Apresenta o Apresentar se para a turma 12 08 15 08 Correio para Turma Preenchimento do Perfil 12 08 15 08 Configurar Perfil X 12 03 18 03 Aulas 1 Introdu o ao AulaNeteao curso 15 08 12hs 17 08 1dhs Confer ncias 18 08 12hs 13hs Debate 19 08 25 0
259. ibilita que o componente seja instalado como uma unidade Szyperski 1997 p 276 O empacotamento pode conter arquivos Ap ndice A Componentes e Frameworks 212 m dulos c digo execut vel c digo fonte c digo de valida o especifica es testes documenta es etc D Souza amp Wills 1998 p 386 Os mecanismos para o empacotamento diferem de tecnologia para tecnologia D Souza amp Wills 1998 p 387 Por exemplo componentes Java s o empacotados em arquivos JAR que incluem as classes que implementam os servi os dos componentes D Souza amp Wills 1998 p 400 Os diversos fatores que definem as possibilidades de implementa o de um componente s o definidos no component model correspondente A 5 1 Modelo de Componentes Ao comprar um eletrodom stico ele conect vel tomada de uma casa porque a tomada o plug e a energia dispon veis s o aderentes a uma padroniza o Para obter o reuso e substitutibilidade de componentes de software eles tamb m devem ser aderentes a um padr o que na literatura chamado de modelo de componentes component model Assim como h mais de um padr o para tomada h mais de um modelo para componentes de software Um programador pode criar seu pr prio modelo eventualmente sendo uma especializa o de um modelo dispon vel Para compatibilizar componentes de um modelo para outro adaptadores podem ser desenvolvidos Um modelo de componentes define v rios
260. ibiliza os servi os relativos configura o do componente como defini o das a es O componente pode ser configurado atrav s desta interface e por seu arquivo descritor IPermissionMgrConfig IPermissionMgr E _ Task PermissionMgr m Participant lt lt interface gt gt lt lt interface gt gt IPermissionMgr IPermissionMgrConfig Participant getT asks addT ask t Task getPermission p Participant removeT ask t Task getParticipants t Task updateT ask t Task setPermission p Participant t Task disableT ask t Task removePermission p Participant t Task enableT ask t Task testPermission p Participant t Task Figura B 9 Componente PermissionMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados B 2 4 ParticipantMgr Nome ParticipantMgr Inten o Gerencia os participantes da colabora o Aplicabilidade O componente utilizado para gerenciar a representa o dos participantes Variabilidade Pode se configurar as informa es que deseja se registrar sobre os participantes Estrutura O componente ParticipantMgr possui tr s interfaces fornecidas ParticipantMgr IParticipantMgrConfig e Participant conforme ilustrado na Ap ndice B Descri o dos Componentes de Colabora o 238 Figura B 10 A interface IParticipantMgr disponibiliza os servi os relativos utiliza
261. iculdade de modelagem utilizando os processos tradicionais Braga 2000 que o caso de CSCW e groupware O modelo 3C instrumenta a an lise do dom nio e o desenvolvimento de groupware como um todo O modelo 3C tratado em mais detalhes no pr ximo cap tulo 3 O Modelo 3C de Colabora o Para projetar groupware de qualidade necess rio entender de colabora o O objetivo deste cap tulo apresentar o conceito de colabora o e introduzir o modelo 3C A colabora o intrinsecamente complexa analisada para nortear o desenvolvimento de groupware Este cap tulo segue a seguinte estrutura O conceito de colabora o definido e discutido na Se o 3 1 e o modelo 3C de colabora o apresentado na Se o 3 2 Na Se o 3 3 s o apresentados o ambiente AulaNet e o curso TIAE que servem como estudo de caso para os conceitos apresentados na segii ncia Nas se es 3 4 3 5 e 3 6 s o abordadas respectivamente a comunica o a coordena o e a coopera o Na Se o 3 7 apresentado um exemplo de classifica o de uma ferramenta na Se o 3 8 o modelo 3C comparado a outras abordagens e modelos da literatura e na Se o 3 9 s o apresentadas as considera es finais 3 1 A Colabora o O termo colabora o precisa ser contextualizado para definir a rela o desejada entre os participantes Brna 1998 Neste trabalho a colabora o vista a partir da comunica o coordena o e coopera
262. iewer que possibilita que v rios usu rios visualizem um texto simultaneamente Hello World que disponibiliza um bot o que quando pressionado transmite uma mensagem para todos usu rios conectados Text Chat um programa de chat semelhante ao Talk do ambiente Unix que exibe imediatamente o que cada pessoa escreve Tic Tac Toe o Jogo da Velha e Tetrominoes para rodar e mover Capitulo 2 Revisao da Literatura 58 diversos tipos de pol gonos A Figura 2 9 apresenta algumas aplica es desenvolvidas utilizando o GroupKit a Ene Collaboration Help PRPC WE Imerim ST bebe R ry dx iw ree ar Fie Collaboration Help meme Seas nes worextation more whileboards corterence tare bookshelves touom Ele Colaorofon J ige yar memp ian Tem al net he pape you Aa uma td rr do seres EIT ERMC USTs Fae Golntoraton tjeip Heis World Tee Amy 15 SS DA TO Go brina seoor Cotaberaticn Hep ueg Dismiss Mad Deserves m F Clear Note Ea a y mark nbr call piny et oe x OETA Hiru tetor Th k Uh huh Hang on a minute ees Aol hee isto Lett move apa Middle roime Might top Figura 2 9 Aplica es desenvolvidas utilizando o GroupKit O ambiente de execu o do GroupKit gerencia a cria o a interconex o e a comunica o dos processos distribu dos que comp e a sess o colaborativa O GroupKit oferece facilidades aos programadores para interconex o gerenciam
263. ilvia gt Ol Preparados para come ar lt Fabiano gt Cad o povo J s o 16 36 lt julio gt ola pessoal Silvia da o pontape inicial lt Carina gt sim podemos lt Fabiano gt acho melhor esperar lt Fabiano gt Esta ferramenta n o recupera a parte anterior do debate lt Fabiano gt Mas cad o povo J lt Dam sio gt Ol pessoa j estou logado Jok j podemos come 7 AT Envio Recebimento de Mensagens Comunica o Figura 3 21 Servi o Bate Papo do AulaNet O servi o Bate Papo do AulaNet apresentado na Figura 3 21 apresenta uma rea para envio e recebimento de mensagens comunica o uma lista de Capitulo 3 O Modelo 3C de Colabora o 113 participantes coordena o e um espa o compartilhado e registro de mensagens coopera o 3 8 Outros Modelos de Colabora o Nesta se o s o descritos sucintamente alguns outros modelos voltados para o trabalho colaborativo encontrados na literatura Alguns modelos s o voltados para um determinado tipo de trabalho em grupo e outros s o mais aprofundados em um determinado elemento da colabora o A teoria das atividades Kuutti 1991 considera as atividades como sendo as unidades b sicas de an lise da colabora o Neste modelo uma atividade executada atrav s de a es que transformam objetos Os participantes s o organizados em comunidades e s o classificados em ativos e passivos
264. iro implementado apenas pela lista de participantes enquanto no segundo implementado pelo controle do espa o compartilhado pelas t cnicas de conversa o e pela defini o da ordem de participa o Em um servi o baseado Zz em componentes o suporte computacional comunica o compartilhado e os componentes que oferecem suporte computacional coordena o s o acrescentados provendo reuso e especializa o Posso Sarto Quem contace o Cmecior Mas Coto Lapes Cie a gt Gusta o pr prio Word ponho se prestas co autoria Vito do fore amadas pras a teto Lime Perens Quewar ds Castros um specio que comuchero importante capacatado de formacor uma mernin is de processo que wath versto de remetas Pato Sates Prime a Cometas vamos pa cometa ROL ams na assunto umas e Mc Lapes Cr de acho o Liana Puto Sarton No meu entenanento nomear o do autora Comites para um pages aman Bi ge Um aspecto Inger ares ct que o GOA Y entenda Acredae o pon aim vm processo de mtori pos pede tac O processo de Cormmrec a o enero os 6 da eae SFER O SENA O Rinses OORE Rees Denate OTE Renter Patents Figura 4 3 Servi os Bate Papo e Debate do ambiente AulaNet Estes cen rios indicam a necessidade de se adotar a componentiza o de software em dois n veis O primeiro n vel contempla os componentes que prov em os servi os colaborativos utilizados para oferecer suporte computacional din mic
265. iro de Inform tica na Educa o SBIE 2003 12 a 14 de Novembro de 2003 ISBN 85 88442 70 1 Rio de Janeiro RJ pp 55 64 Romano D Brna P amp Self J 1998 Collaborative decision making and presence in shared dynamic virtual environments Proceedings of the Workshop on Presence in Shared Virtual Environments BT Labs Martlesham Heath Roschelle J amp Teasley S 1995 The construction of shared knowledge in collaborative problem solving In O Malley C E ed Computer Supported Collaborative learning Springer Verlag Heildelberg pp 69 97 Roseman M amp Greenberg S 1996 Building real time groupware with GroupKit a groupware toolkit ACM Transactions on Computer Human Interaction 3 March 1996 1 p 66 106 Roth J amp Unger C 2000 Developing synchronous collaborative applications with TeamComponents In Designing Cooperative Systems the Use of Theories and Models Proceedings of the 5 International Conference on the Design of Cooperative Systems COOP 00 pp 353 368 Roussos M Johnson A E Leigh J Bames C R Vasilakis C A amp Moher T G 1997 The NICE Project Narrative Immersive Constructionist Collaborative Environments for Learning in Virtual Reality Proceedings of Educational Multimedia and Telecommunications ED Media 1997 Rubart J amp Dawabi P 2002 Towards UML G A UML Profile for Modeling Groupware 8 International Workshop on Groupware
266. istrar e desfazer opera es Lee et al 2002 prop em um framework voltado para o desenvolvimento de CVEs Collaborative Virtual Environments Kirsch Pinheiro et al 2002 prop em um framework para gerenciar as informa es de percep o de um groupware Nunamaker et al 2001 prop em um framework para a gest o do conhecimento em ambientes colaborativos Buzko et al 2000 prop em um framework voltado para utiliza o da computa o m vel em ambientes colaborativos Osuna amp Dimitriadis 1999 prop em um framework para o desenvolvimento de ambientes educacionais baseados na teoria do construtivismo social 2 1 6 Avalia o Heur stica Para testar a usabilidade de um software s o utilizadas t cnicas de avalia o heur stica onde um grupo de avaliadores inspeciona a intera o no software identificando problemas de usabilidade Nielsen 1994 Baker et al 2001 prop em um conjunto de heur sticas espec ficas para sistemas colaborativos As heur sticas s o prover meios para a comunica o verbal e intencional prover meios para a comunica o gestual e intencional prover meios para transmitir informa o n o intencional prover meios para transmitir informa o sobre as a es nos objetos compartilhados prover prote o de acesso gerenciamento de diferentes n veis de acoplamento no trabalho conjunto possibilitar a coordena o e facilitar encontros entre os participantes Araujo et al 2004 prop
267. itas vezes o projetista necessita restringir a capacidade de comunica o para evitar ambig idades e inconsist ncias e possibilitar a interpreta o mais precisa do discurso 3 4 1 Estudo de Caso da Comunica o no AulaNet e no Curso TIAE Nesta se o a comunica o no curso TIAE analisada A comunica o tem um papel fundamental no processo de ensino aprendizagem possibilitando a troca Capitulo 3 O Modelo 3C de Colabora o 89 de informa es e pontos de vista al m de interconectar o grupo No curso TIAE s o utilizados todos os servi os de comunica o do ambiente AulaNet Durante a argumenta o os aprendizes atacam e defendem os pontos de vista e conceitos apresentados buscando estruturando e validando informa es Kanselaar et al 2003 No TIAE as id ias os pontos de vistas e os argumentos s o expostos e entendidos sem necessariamente alcan ar uma nica solu o para as quest es ou chegar a um acordo ou consenso No TIAE valorizada a argumenta o gerada do confronto das id ias diferentes pois esperado que o aprendizado decorra desta argumenta o e do respectivo alinhamento de id ias e n o da harmoniza o e do consenso A argumenta o que ocorre durante a primeira fase do curso realizada em duas etapas discuss o ass ncrona nas Confer ncias e discuss o s ncrona no Debate Nas atividades ass ncronas os aprendizes participam em um hor rio e local mais conveniente
268. ivos de Aprendizagem Centrada na Atividade de Grupo Simp sio Brasileiro de Inform tica na Educa o 2003 Rio de Janeiro GIRARDI R A D 2004 Framework para coordena o e media o de Web Services modelados como Learning Objects para ambientes de aprendizado na Web Disserta o de Mestrado Departamento de Inform tica PUC Rio GON ALVES B S amp PEREIRA A C 2004 Color learning based on VLE AD platform Proceedings of the AIC 2004 Color and Paints Interim Meeting of the International Color Association pp 311 314 GON ALVES B S 2004 Cor Aplicada ao Design Gr fico Um Modelo de N cleo Virtual para Aprendizagem Baseado na Resolu o de Problemas Tese de doutorado em Engenharia de Produ o Universidade Federal de Santa Catarina HEIDRICH F E 2004 O uso do Ciberespa o na Visualiza o da Forma Arquitet nica de Espa os Internos em Fase de Projeto Disserta o de mestrado Programa de P s Gradua o em Arquitetura e Urbanismo Universidade Federal de Santa Catarina JATOB P H G LIMA R VILAR G OLIVEIRA E A amp MATTOS S Collaborative Environments for Telecardiology 25th Annual International Conference for Medicine and Biology Society IEEE Cancun pp 291 JATOB P H G LIMA R C A VILAR G MADEIRO F CAVALCANTI JR A L O 2005 Modelo de um sistema colaborativo de telecardiologia Colabor Vol 3 no 10 Novembro de 2005 ISSN 1519 8529 LIMA P S R BRITO S
269. izada uma abordagem orientada para o reuso no AulaNet 2 0 6 3 Trabalhos Futuros Pretende se investigar os aspectos relacionados constru o da interface com o usu rio levando em considera o o modelo 3C de colabora o e a arquitetura proposta nesta tese Eventualmente um mesmo componente 3C pode ser associado a mais de um widget de interface Por exemplo o componente CategorizationMgr pode ser associado a um widget que monta a lista de categorias em um SelectBox ou a um widget que disponibiliza a lista de categorias atrav s de Radio Buttons Esta variedade de componentes de interface organizados em fun o dos componentes 3C favorece o desenvolvedor que passa a contar com palhetas de componentes para sele o do que for mais apropriado para suas necessidades Chung amp Dewan 2004 prop em uma abordagem para Cap tulo 6 Conclus o 192 mapeamento din mico de componentes de interface com o usu rio e de neg cio que pode ser levada em considera o nesta extens o da solu o Os trabalhos futuros desta tese tamb m incluem uma investiga o e experimenta o maior sobre qualidade de software no escopo da abordagem proposta e a investiga o da utiliza o da solu o apresentada em grupos numerosos e heterog neos Pretende se tamb m desenvolver adaptadores do modelo de componentes utilizado no AulaNet para as infra estruturas de execu o dos portalware de modo a compatibilizar os servi os do AulaN
270. k ECSCW 91 pp 249 264 Lajoie R amp Keller R K 1995 Design and reuse in object oriented frameworks Patterns contracts and motifs in concert Object Oriented Technology for Database and Software Systems Alagar V amp Missaoui R eds Singapore 1995 World Scientific pp 295 312 Lange B M amp Gershman A 1992 OMNI A Corporate Knowledge Environment for Collaborative Work IEEE Conference on Systems Man and Cybernetics 1992 Larman C 2004 Utilizando UML e Padr es Uma introdu o an lise e ao projeto orientados a objetos e ao Processo Unificado 2 edi o Bookman Porto Alegre Laufer C amp Fuks H 1995 ACCORD Conversation Clich s for Cooperation Proceedings of The International Workshop on the Design of Cooperative Systems Juan les Pins Fran a pp 351 369 Laurillau Y amp Nigay L 2002 Clover architecture for groupware Proceedings of the Conference on Computer Supported Cooperative Work CSCW 2002 pp 236 245 Lee D Lim M amp Han S 2002 ATLAS a scalable network framework for distributed virtual environments Proceedings of the 4 International Conference on Collaborative Virtual Environments Refer ncias Bibliogr ficas 263 Li D amp Muntz R R 1998 COCA Collaborative Objects Coordination Architecture Proceedings of the ACM Conference on Computer Supported Cooperative Work 1998 pp 179 188 Litiu R amp P
271. kers Proc CHI 97 ACM Press pp 335 336 Brna P 1998 Modelos de colabora o Revista Brasileira de Inform tica e Educa o 3 pp 1 15 Brockschmidt K 1996 What OLE Is Really About MSDN Archive Microsoft Comporation msdn microsoft com archive en us dnarolegen html msdn aboutole asp Brown A W 1996 Component Based Software Engineering IEEE Computer Society Buzko D Lee W amp Helal A 2000 Decentralized Ad Hoc Groupware API and Framework for Mobile Collaboration In Proceedings of Group 2001 Collaborative Editing Workshop Calvary G Coutaz J amp Nigay L 1997 From Single User Architectural Design to PAC a Generic Software Architectural Model for CSCW Conference on Human Factors in Computing Systems CHT 97 pp 242 249 Castellani S Ciancarini P amp Rossi D 1996 The ShaPE of ShaDE a Coordination System Technical Report UBLCS 96 5 Dipartimento di Scienze dell Informazione Universita di Bologna Italy March 1996 Chabert A Grossman E Jackson L Pietrowicz S amp Seguin C 1998 Java Object Sharing in Habanero Communications of the ACM Vol 41 6 June 1998 Refer ncias Bibliogr ficas 256 Cheesman J amp Daniels J 2000 UML Components A SimpleProcess for Specifying Component Based Software Addison Wesley Reading Massachusetts Chung G amp Dewan P 2004 Towards Dynamic Collaboration Architectures Proceedings of the Conferenc
272. l tem o mesmo conceito Implementou se ent o um balanceamento entre a quantidade de mensagens e a nota final correspondente Pimentel et al 2004 Os modelos que foram disponibilizados conforme ilustrado na Figura 5 11 s o Quantidade Irrelevante onde a quantidade de mensagens n o influencia o valor da nota final Quantidade M nima onde a nota reduzida progressivamente se n o for enviada pelo menos uma certa quantidade de mensagens Quantidade M xima onde a nota reduzida para valores acima ou abaixo de uma determinada quantidade e Capitulo 5 Estudos de Caso 162 Moderada onde a nota reduzida se a quantidade de mensagens for abaixo de um valor m nimo ou acima de um m ximo A ado o de um m ximo inibe que participantes monopolizem a discuss o Quantidade irrelevante Quantidade m nima Quantidade m xima Quantidade moderada M M MN Figura 5 11 Fator de corre o aplicado nota final em fun o da quantidade de mensagens para os diferentes modelos de avalia o Um novo componente pode ser desenvolvido e implantado sem que seja necess rio alterar os servi os que utilizam o componente anterior Desta forma a utiliza o de componentes possibilita manter as duas vers es do suporte avalia o dispon veis sendo utilizadas por servi os diferentes Manter v rios componentes com abordagens diferentes para o mesmo prop sito d mais flexibilidade ao desenvolvedor que seleciona o que melhor atende s nece
273. labora o A Figura 6 2 ilustra o ciclo de desenvolvimento da engenharia de groupware proposta Fuks et al 2005 Capitulo 6 Conclusao 195 Requisitos de Groupware S TRO An lise de T SSIS Requisitos i o 8255 gt REEI EL di SeaEe o5o SEAE 858 ali aa gr 0288 An lise do 2208 so Dom nio l sos gt Projeto podas 9509 55 o Q or D Be Teste Implementagao Avalia o mm gt Componentes de Groupware Toolkits Figura 6 2 Ciclo da engenharia de groupware O ferramental de suporte das diversas atividades do ciclo de desenvolvimento de groupware embasado no modelo 3C o que propicia trabalhar com os mesmos conceitos desde os primeiros momentos de an lise at os testes finais valorizando o desenvolvimento iterativo Mantendo os mesmos conceitos na an lise do dom nio na an lise de requisitos no projeto na implementa o e nos testes cria se um vocabul rio comum mapeando conceitos e termos da realidade para a implementa o diminuindo a dist ncia sem ntica e favorecendo a evolu o da aplica o Considerando a an lise do dom nio como o processo de identificar coletar organizar e representar a informa o relevante de um dom nio com base no estudo de sistemas existentes conhecimento capturado de especialistas do dom nio fundamenta o te rica e tecnol gica Hess et al 2000 considera se que o mod
274. ley Publishing Inc 2002 Johnson R 2004 Expert One on One J2EE Development without EJB Wiley Publishing Inc 2004 Kang K Cohen S Hess J Novak W amp Peterson A 1990 Feature Oriented Domain Analysis FODA Feasibility Study CMU SEI 90 TR 21 Pittsburg PA Software Engineering Institute Carnegie Mellon University Kang K Kim S Lee J Kim K Shin E amp Huh M 1998 FORM A Feature Oriented Reuse Method with Domain Specific Reference Architectures Annals of Software Engineering 5 pp 143 168 Kanselaar G Erkens G Andriessen J Prangsma M Veerman A amp Jaspers J 2003 Designing Argumentation Tools for Collaborative Learning Visualizing Argumentation Software Tools for Collaborative and Educational Sense Making Kirschner P Shum S amp Carr C eds chap 3 Springer Verlag Kirschner P A Shum S J B amp Carr C S 2003 Visualizing Argumentation Software Tools for Collaborative and Educational Sense Making Springer Kirsch Pinheiro M Lima J V amp Borges M R S 2002 A Framework for Awareness Support in Groupware Systems Proceedings of the 7 International Conference on Computer Supported Cooperative Work in Design CSCWD 2002 Rio de Janeiro Brazil Refer ncias Bibliogr ficas 262 Koch M amp Koch J 2000 Application of Frameworks in Groupware The Iris Group Editor Environment ACM Computing Surveys Symposium on Frame
275. lho em sala de aula no dia marcado e entregar uma documenta o contemplando o conte do dos tr s trabalhos Figura 5 15 Enunciado dos trabalhos da disciplina Engenharia de Groupware Na primeira etapa do trabalho houve alguns problemas de classifica es decorrentes de entendimento incorreto do modelo Praticamente em todos trabalhos ocorreram classifica es incorretas que foram apontadas pelos professores do curso e corrigidas pelos alunos A Tabela 5 9 apresenta a quantidade de funcionalidades identificadas correta e incorretamente em cada trabalho Pode se notar uma porcentagem de acerto m dio de 76 Este resultado foi considerado satisfat rio visto que n o foram apresentados e discutidos com os alunos exemplos e crit rios de classifica o antes da apresenta o do trabalho A din mica do curso prev que neste primeiro trabalho surjam dificuldades e problemas para serem explorados em discuss es subsequentes visando a consolida o do aprendizado Na segunda etapa do trabalho a maior parte dos Capitulo 5 Estudos de Caso 174 alunos conseguiu classificar corretamente as novas funcionalidades que estavam sendo propostas indicando o entendimento do modelo Funcionalidades Funcionalidades Ferramenta incorretamente classificadas classificadas Stratify 6 2 GoogleTalk 6 3 BuddySpace 16 4 Orkut 5 1 Senhor da Guerra 3 1 MSN 14 1 TortoiseSVN 9 2 Tabela 5 9 Identifica o e classifica
276. lise estat stica Statistical AnalysisMgr Interface para PDA Utiliza o de grafos DialogStructureMgr Tabela 5 4 Mapeamento das funcionalidades incorporadas ao servi o Confer ncias aos componentes 3C correspondentes Os componentes plugados arquitetura do servi o possibilitam flexibilizar e experimentar o suporte colabora o Servi os s o constru dos sob demanda evitando incluir funcionalidades desnecess rias para o grupo em quest o A comunica o a coordena o e a coopera o s o abordadas e analisadas separadamente de modo a definir o suporte colabora o no grupo Com a realimenta o obtida a partir da utiliza o do servi o na colabora o refina se o conjunto de componentes adotado e sua configura o adaptando o suporte computacional evolu o do grupo e da din mica adotada Eventualmente uma altera o da din mica da colabora o leva substitui o de um componente 3C por uma vers o mais robusta Pode se notar na evolu o do servi o Confer ncias Figura 5 9 que houve um determinado momento onde o suporte computacional avalia o de mensagens foi refinado Inicialmente o conceito m dio da participa o de um aprendiz nas confer ncias era a m dia aritm tica das avalia es de todas suas mensagens Entretanto este modelo n o leva em considera o a quantidade de mensagens enviadas de modo que se o aprendiz enviar uma nica mensagem muita boa sua avalia o fina
277. lu o leva a qualidade Guilherme Zimmer 26 03 2003 16 31 P ssimo Argumenta o Negocia o Coordena o e Compartilhamento Roberto Correia 26 03 2003 17 38 P ssimo AUL Aze 3 PUC Rio Controle voltar Ativar esbbbudbihadh Figura 3 8 Trecho de um di logo em uma Confer ncia A comunica o no curso TIAE predominantemente textual A pluralidade de m dias tratada na ltima parte do curso quando os aprendizes produzem conte dos educacionais multim dia e interativos Nesta etapa o servi o Confer ncias utilizado para revis o em pares dos prot tipos de conte dos desenvolvidos por cada grupo Os aprendizes negociam as revis es que s o Capitulo 3 O Modelo 3C de Colabora o 90 necess rias para os prot tipos e cada grupo prepara a vers o final levando em considera o os compromissos assumidos durante a negocia o As ferramentas do TIAE adotam o modo de transmiss o em blocos que al m de favorecer a reflex o mais prop cio para grupos numerosos Long amp Baecker 1997 No Debate utilizada uma estrutura o linear e s o adotadas algumas restri es no canal de comunica o como por exemplo limite de tamanho da mensagem com o objetivo de reduzir a confus o na conversa o Pimentel et al 2005 O servi o Confer ncias utiliza uma estrutura o hier rquica que propicia a organiza o do discurso e prov indica es sobre a evolu o
278. m de discuss o assincrono lt service description gt lt service type gt Asynchronous lt service type gt lt Service View gt lt service participatian URL gt aulanet3 loadConference do lt service participatian URL gt lt service configuration URL gt lt Service Model gt lt ServiceMgrClass gt services conference model ConferenceMgr lt ServiceMgrClass gt lt ServiceInstanceClass gt services conference model ConferenceInstance lt ServiceInstanceClass gt lt service descriptor gt lt Component specific configuration Se lt specific configuration gt lt allowDesactivation gt true lt allowDesactivation gt lt specific configuration gt lt Collaboration Components Used gt lt collaboration components gt lt collabComponent id collabcomponent coop cooperationObjMgr gt lt collabComponent id collabcomponent comunic categorizationMgr gt lt categories gt lt Category gt lt name gt Seminario lt name gt lt descriptian gt O seminarista da semana escreve uma mensagem que agrega valor sobre os conte dos do tema da semana raiz lt description gt lt Category gt lt Category gt lt name gt Arqumenta o lt name gt Figura 5 7 Trecho do arquivo descritor das Confer ncias Encapsular os servi os na forma de componentes tamb m possibilita repetir a instala o de um mesmo servi o com configura es e caracter sticas diferentes para atender a tarefas distintas Por e
279. m problema ainda em aberto no desenvolvimento baseado em componentes a constru o de efetivos mecanismos de localiza o de componentes Gimenes amp Huzita 2005 O grau de reuso n o cresce com o Cap tulo 6 Conclus o 193 aumento do n mero de componentes dispon veis em parte pela dificuldade de localiz los Sametinger 1997 Pretende se investigar como criar uma comunidade de desenvolvimento e de troca de componentes para o AulaNet definindo maneiras de catalogar e buscar componentes utilizando os recursos de cat logos e localiza o de servi os da plataforma web services Outro fator a ser investigado a utiliza o da tecnologia de aspectos para capturar e explicitar os pontos de variabilidade dos componentes Kulesza et al 2004 Pretende se investigar tamb m o tratamento do versionamento e o controle de depend ncias entre vers es dos componentes Os trabalhos futuros tamb m est o direcionados para a cria o de um ambiente voltado para o trabalho em grupo e para a defini o de uma engenharia de groupware 6 3 1 O Ambiente eLabora O conceito de trabalho est mudando em parte devido ao ritmo de produ o de conhecimento e ao aperfei oamento das tecnologias de telecomunica es Profissionais dedicados ao trabalho intelectualizado s o cada vez mais requisitados Destes trabalhadores s o exigidas novas habilidades eles devem estar aptos a aprender continuamente a trabalhar em grupo e a transf
280. m proposta os frameworks podem ser usados para instanciar os componentes e os ambientes A abordagem de componentes oferece maior flexibilidade visto que um framework s oferece variabilidade nos pontos previstos para tal e maior extensibilidade visto que pode se desenvolver e acrescentar novos componentes ou substituir algum em uso sem impactar a fam lia de aplica es Entretanto os frameworks consolidam o conhecimento sobre um subdom nio e possibilitam um maior reuso de c digo para componentes e ambientes similares 4 7 Considera es Finais Groupware dif cil de desenvolver e de manter Grudin 1989 Desenvolver groupware requer diversas reas de conhecimento como inform tica psicologia pedagogia sociologia e cogni o Envolve tamb m v rias complexidades t cnicas inerentes a sistemas distribu dos e multi usu rio Um conjunto de componentes interoper veis fundamentados no modelo 3C de colabora o encapsula parte das dificuldades t cnicas e dos aspectos multidisciplinares na implementa o dos componentes Com isto o desenvolvedor foca sua aten o na investiga o dos aspectos espec ficos de Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 141 intera o e colabora o projetando um groupware mais adequado s necessidades do grupo e menos suscept vel s falhas de usabilidade No desenvolvimento de groupware os requisitos raramente s o claros o suficiente para possibilitar
281. ma padroniza o vertical estabelecendo o modelo de objetos que os componentes interoperantes compartilham e manipulam D Souza amp Wills 1998 p 396 Corba Component Model CCM Microsoft OLE D COM COM Sun EJB JavaBeans e Web Service s o alguns exemplos de modelos de componentes Alguns modelos como CORBA e Web Services possibilitam o reuso de componentes que n o foram necessariamente desenvolvidos na mesma linguagem de programa o Gimenes amp Huzita 2005 Na subse o seguinte s o apresentados alguns modelos de componentes a t tulo de exemplo A 5 2 Exemplos de Modelos de Componentes O OLE Object Linking and Embedding um modelo de componentes proposto pela Microsoft cujo prop sito inicial era integrar em um documento objetos gerados por diversas aplica es Ao instalar no sistema operacional aplica es compat veis com o modelo elas tornam se dispon veis para receber e oferecer conte dos O editor de documento passa a ser um container que carrega Ap ndice A Componentes e Frameworks 215 conte dos disponibilizados pelas demais aplica es como gr ficos sons video figuras conforme ilustrado na Figura A 8 Ao instalar uma nova aplica o n o necess rio modificar as demais para que elas troquem conte dos Objeto 2 xl Criar novo Criar do arquivo Tipo de objeto Adobe Acrobat Document Apresenta o do Microsoft PowerPoint Bitmap Image Calendar Control 9 0 CDDBWinamp
282. mbiente colaborativo Capitulo 2 Revisao da Literatura 51 2 3 4 DACIA A plataforma DACIA Dynamic Adjustment of Component InterActions Litiu amp Prakash 2000 voltada para o desenvolvimento de groupware para dispositivos m veis A plataforma define seu pr prio modelo de componentes Neste modelo um componente chamado de PROC Processing and ROuting Component O modelo de componentes define uma maneira particular de troca de mensagens atrav s das portas de entrada e de sa da dos componentes Os componentes transformam os fluxos de entrada sincronizam os fluxos de entrada e de sa da e eventualmente direcionam partes dos fluxos de entrada para m ltiplos destinos Na arquitetura DACIA h um elemento chamado Engine que executado em cada esta o e respons vel pelo gerenciamento dos componentes mantendo uma lista dos PROCs e de suas conex es Este elemento respons vel por estabelecer e manter as conex es e as comunica es entre as esta es e seus componentes A arquitetura DACIA tamb m prev o uso de monitores Um monitor trabalha em conjunto com um Engine e respons vel pelo gerenciamento dos dados e pela configura o dos componentes Enquanto os Engines e os PROCs s o de prop sito geral os monitores s o espec ficos da aplica o em quest o Os princ pios de projeto da plataforma DACIA s o a obten o de uma arquitetura modular usada para constru o de aplica es a partir de
283. menta o suavizando a transi o entre as atividades do desenvolvimento o que favorece um ciclo iterativo e a manuten o do groupware O modelo tamb m propicia que no processo da engenharia sejam isolados os problemas referentes a cada C de modo a abordar cada elemento separadamente ao refinar o suporte colabora o Greenberg 2006 prop e caracter sticas listadas na Tabela 6 1 que bons toolkits devem apresentar para instrumentar adequadamente o desenvolvedor de groupware e auxiliar a tecnologia a sair da fase de replica o do modelo BRETAM A abordagem e a arquitetura propostas nesta tese atendem a estas caracter sticas Num Caracter stica 1 Estar embutido em uma plataforma e utilizar linguagem familiar e de uso comum de modo a facilitar a ado o solu o e aproveitar conhecimentos e habilidades 2 Encapsular a complexidade de baixo n vel inerente ao desenvolvimento de groupware como transmiss o de dados compartilhamento concorr ncia e gerenciamento de sess es 3 Minimizar a necessidade de tarefas rotineiras n o essenciais 4 Encapsular projetos e conceitos bem sucedidos e conhecidos pela comunidade de pesquisa em m dulos que possam ser incorporados ao software com pouco esfor o de programa o 5 Apresentar uma API concisa que encoraja as pessoas a pensar sobre groupware 6 Tornar as coisas simples alcan veis com poucas linhas de c digo e tornar as complexas poss veis de serem feitas Tabela
284. mente nas ferramentas de comunica o s ncronas Variabilidade Modo de entrega e atraso no envio Ap ndice B Descri o dos Componentes de Colabora o 230 Estrutura A estrutura do componente est representada na Figura B 3 A utiliza o do componente feita pela interface IDiscreteChannelMgr que respons vel pelo envio das mensagens para os ouvintes que s o configurados atrav s da interface IDiscreteChannelMgrConfig IDiscreteChannelMgrConfig IDiscreteChannelMgr 2 DiscreteChannelMgr Message lt lt interface gt gt lt lt interface gt gt IDiscreteChannelMgr IDiscreteChannelMgrConfig sendMessage m Message addListener 1 Listener removeListener l Listener set Delay t float Figura B 3 Componente DiscreteChannelMgr e suas interfaces Usos conhecidos Debate Correio para Participante e Mensageiro Componentes relacionados MessageMgr B 1 4 MetalnformationMgr Nome MetalnformationMgr Inten o Gerencia meta informa es associadas s mensagens Aplicabilidade utilizado quando se deseja disponibilizar meta informa es a partir das quais se deseja localizar e filtrar as mensagens Variabilidade As meta informa es e sua obrigatoriedade Estrutura A estrutura do componente est representada na Figura B 4 As meta informa es s o configuradas atrav s da interface IMetalnformationMgrConfig enquanto a atribui o das meta informa o s me
285. meworks de infra estrutura selecionados por Barreto 2006 se encarregam de solu es para aspectos de infra estrutura de baixo n vel visando possibilitar o desenvolvedor se concentrar nos aspectos funcionais Os kits de servi os e componentes 3C elaborados nesta tese fornecem os elementos para compor um groupware O processo elaborado na tese de Pimentel 2006 estabelece os passos a serem seguidos na montagem do groupware pois ainda que se construa uma aplica o groupware para um grupo com uma determinada din mica com o tempo surgem novas situa es onde s o identificados novos problemas A aplica o necessitar ser modificada para n o se manter inadequada Um processo organiza em linhas gerais uma seqii ncia de passos onde s o incorporadas diretrizes e boas pr ticas que quando seguidas levam produ o de um software Sommerville 2003 Beck 2004 Philippe 2003 Coexistem abordagens diferentes para o desenvolvimento de software dentre elas o desenvolvimento baseado em componentes que uma estrat gia recente que tem se tornado cada vez mais usada Sommerville 2003 Gimenes amp Huzita 2005 Seguindo esta abordagem tornaram se conhecidos processos como Catalysis D Souza e Wills 1998 UML Components Cheesman amp Daniels 2001 e RUP Rational Unified Process Philippe 2003 O processo formalizado na tese de Pimentel 2006 denominado RUP 3C Groupware tamb m faz uso da abordagem baseada em componentes
286. mp Gershman 1992 prop em um modelo de colabora o para ser utilizado em um sistema de gest o do conhecimento O modelo de colabora o proposto baseado em tr s pilares um modelo de tarefas um modelo de arquivamento e recupera o de conhecimento e em um modelo de intera o entre os participantes O modelo apresenta alguma similaridade com o modelo 3C pois a gest o de tarefas contemplada na coordena o a gest o de conhecimento na coopera o e a intera o na comunica o entretanto o modelo 3C possui outro enfoque e outros aspectos contemplados em seus elementos Capitulo 3 O Modelo 3C de Colabora o 115 Alguns modelos de colabora o s o voltados para ambientes educacionais como por exemplo o modelo utilizado na plataforma CLARE Wan amp Johnson 1994 que organiza a colabora o nas atividades de sumariza o avalia o compara o argumenta o e integra o Becker amp Zanella 1998 prop em um modelo que define um processo os pap is e os objetos manipulados em um ambiente de ensino aprendizagem considerando principalmente as atividades de discuss o voltadas para a resolu o de exerc cios e compartilhamento de conhecimento Santoro et al 2001 prop em um modelo de colabora o para embasar a constru o de ambientes educacionais mais prop cios para a aprendizagem colaborativa O modelo cujo diagrama encontra se na Figura 3 23 voltado para a aprendizagem baseada em proje
287. ndon 1996 p 9 43 Mitchell L H R G Fuks H amp Lucena C J P 2004 Contribui es da Gest o de Compet ncias para a Educa o a Dist ncia Experimento com o Ambiente AulaNet Inform tica na Educa o Teoria e Pr tica Vol 7 No 2 Porto Alegre UFRGS ISSN 1516 084X pp 83 98 Moore J M amp Bailin S C 1991 Domain Analysis Framework For Reuse Prieto Diaz R amp Arango G eds Domain Analysis and Software System Modeling LosAlamitos CA IEEE Computer Society Press pp 179 203 Morch A I 1997 Three Levels of End user Tailoring Customization Integration and Extension In Computers and Design in Context Edited by M Kyng and L Mathiassen MIT Press USA Motta C L R amp Borges M R S 2000 A Cooperative Approach for Information Recommendation and Filtering Proceedings of the International Workshop on Groupware IEEE Computer Society Madeira Portugal October 2000 pp 42 49 Muhammad A Enriquez A M M amp Decouchant D 2005 Awareness and Coordination for Web Cooperative Authoring Advances in Web Intelligence Third International Atlantic Web Intelligence Conference AWIC 2005 Lodz Poland June 6 9 2005 ISBN 3 540 26219 9 Myers B 1995 State of the Art in User Interface Software Tools In Baecker R Grudin J Buxton W amp Greenberg S eds Readings in Human Computer Interaction Towards the Year 2000 Morgan Kaufmann pp 323 34
288. nente em tempo de execu o D Souza amp Wills 1998 p 390 C digo adicional conhecido como adaptador pode ser inserido entre componentes para realizar convers es simples de modo a compatibilizar interfaces nos casos em que a substitui o de tipos n o suficiente 2 Para utilizar um componente necess rio implant lo deployment em uma infra estrutura de execu o A implanta o n o pressup e a modifica o do componente entretanto oferece a possibilidade de customiza o externa Heineman 2000 D Souza amp Wills 1998 p 395 A customiza o consiste na adapta o de um componente antes de sua instala o ou uso normalmente com o Ap ndice A Componentes e Frameworks 208 objetivo de especializar seu comportamento Weinreich amp Sametinger 2001 p 42 D Souza amp Wills 1998 p xvii Como normalmente componentes s o desenvolvidos no estilo blackbox revelando o m nimo poss vel de sua implementa o as maneiras mais comuns de customizar um componente atrav s da modifica o de propriedades ou da composi o com outros componentes que especializam determinados comportamentos Weinreich amp Sametinger 2001 p 42 Na customiza o por composi o um componente cont m uma refer ncia a outro e repassa a ele as chamadas das opera es Um componente s depende da interface do outro o que caracteriza um reuso blackbox Szyperski 1997 p 137 No reuso blackbox nenhum detalhe al
289. nentes O Ap ndice B apresenta a descri o dos componentes utilizados 2 Revisao da Literatura 2 Neste cap tulo apresentada uma revis o de trabalhos relacionados Na Se o 2 1 s o apresentadas abordagens que estendem tecnologias desenvolvidas para a Engenharia de Software de uma forma espec fica para o desenvolvimento de groupware Uma nfase maior dada s abordagens voltadas para o desenvolvimento de groupware baseado em componentes dada a proximidade proposta desta tese Neste cap tulo tamb m feita uma revis o sobre a tecnologia de componentes de software Se o 2 2 e de engenharia de dom nio Se o 2 4 que s o subs dios para os demais cap tulos da tese Na Se o 2 2 s o apresentados alguns termos e conceitos do desenvolvimento baseado em componentes resumindo o Ap ndice A que detalha a componentiza o de software e o uso de frameworks Optou se por fazer uma revis o mais extensa na forma de ap ndice dada a variedade de defini es e conceitos presentes na literatura da rea Por fim na Se o 2 3 a abordagem proposta nesta tese comparada com algumas plataformas de desenvolvimento de groupware componentizado encontradas na literatura 2 1 Abordagens para o Desenvolvimento de Groupware V rios trabalhos na literatura estendem as abordagens t cnicas tecnologias e ferramentas da Engenharia de Software para o desenvolvimento de groupware de modo a torn las mais prop ci
290. nfigure a ferramenta para suas necessidades espec ficas o que desej vel visto que n o h como antever todas as demandas da colabora o Pumareja et al 2004 Capitulo 1 Introdu o 18 1 1 A Tese A quest o investigada nesta tese de como apoiar desenvolvedores de groupware na constru o de groupware extens vel e prop cio a acompanhar a evolu o do suporte colabora o A hip tese desta tese que utilizar componentes concebidos em fun o do modelo 3C comunica o coordena o e coopera o possibilita o desenvolvimento de groupware extens vel cuja composi o guiada pelas necessidades de colabora o Ao enxergar o problema sob a perspectiva do modelo 3C e utilizar a componentiza o organizada em fun o deste modelo as altera es na colabora o s o mapeadas ao suporte computacional que substitu do ou acrescentado na medida da necessidade Ao prover ao engenheiro de software uma infra estrutura componentizada espec fica para o dom nio de groupware fundamentada em um modelo de colabora o espera se instrumentar a constru o e a manuten o de sistemas colaborativos extens veis e adapt veis Os componentes possibilitam lidar com o projeto da colabora o em um alto n vel Cada grupo que utiliza um ambiente colaborativo tem necessidades espec ficas de colabora o normalmente n o necessitando de todas as ferramentas dispon veis Ao conceber e desenvolver estas f
291. ngenharia de Groupware Aplicada a rea da Sa de Tese de doutorado em Engenharia de Produ o Universidade Federal de Santa Catarina PEREIRA A T C GON ALVES B SUZUKI F G amp ALVES T 2004 Aprendizagem da cor baseada na plataforma AVA AD CONAHPA Congresso Nacional de Ambientes Hiperm dia para Aprendizagem 2004 Florian polis POZZER C T RAPOSO A B SANTOS I H F CAMPOS J L E amp REIS L P 2003 CSVTool A Tool for Video Based Collaboration IX Simp sio Brasileiro de Sistemas Multim dia e Web WebMidia 2003 Salvador BA pp 353 367 SILVA E Q amp MOREIRA D A 2004 Um Framework de Componentes para o Desenvolvimento de Aplica es Web Robustas de Apoio Educa o Simp sio Brasileiro de Inform tica na Educa o 2004 Manaus AM pp 158 167 SILVA J C T 2004 Um Modelo para Avalia o de Aprendizagem no Uso de Ferramentas Sincronas em Ensino Mediado pela WEB Tese de doutorado Departamento de Inform tica PUC Rio TEIXEIRA B amp CHAGAS E F 2005 Co Autoria Avalia o e Proposta de Requisitos para Ferramentas Segundo o Modelo 3C Workshop de Inform tica na Escola Congresso da Sociedade Brasileira de Computa o 2005 VILAR G OLIVEIRA E A JATOB P H G amp VILAR D S 2004 Processos colaborativos e tecnologias da informa o aplicados ao ensino de medicina Colabor O n 7 v 2 2004 JAI 2002 JAI 2002 JAI 2002 JAI 2002 JAI 2002
292. nsagens e a busca das Ap ndice B Descri o dos Componentes de Colabora o 231 mensagens a partir das meta informa es feita atrav s da interface IMetalInformationMgr E IMetalnformationMgr 7 z MetaInformationMgr C Message lt lt interface gt gt lt lt interface gt gt IMetalnformationMgr IMetalnformationMgrConfig Message getMetalnfos obj Object addMetaInfo metai String getMetalnfo obj IObject metai String getObjects metai String value String getMetalnfos setMetalnfo obj IObject m String v String updateMetalnfo a String b String disableMetaInfo metai String enableMetaInfo metai String set Mandatory metai String removeMetalnfo metai String Figura B 4 Componente MetalnformationMgr e suas interfaces Usos conhecidos Componentes relacionados MessageMgr B 1 5 CategorizationMgr Nome CategorizationMgr Inten o Gerencia a categoriza o de mensagens Aplicabilidade A categoriza o de mensagens oferece um novo elemento linguagem da comunica o Os participantes contextualizam a interpreta o da mensagem a partir da categoria selecionada A categoriza o de mensagens pode ser utilizada para complementar a estrutura o do di logo oferecendo sem ntica aos inter relacionamentos das mensagens Gerosa et al 2001 Variabilidade Pode se configurar o conjunto de categorias e a categoria gen rica Ap ndice B
293. nsagens para cada hora dos semin rios para a edi o 2004 1 der oba lotes atu aii nalead E E DEA E A ESTES ind Assi Eta ves PALA Cabin Ds dO REC Da CNS do anda 102 Figura 3 16 Profundidade m dia porcentagem de folhas e quantidade de mensagens nas Confer ncias das edi es de 2002 1 e 2003 1 do curso TIAE ss cc 107 Figura 3 17 Profundidade m dia porcentagem de folhas e quantidade de mensagens nas Confer ncias das edi es de 2002 1 e 2003 1 do curso TIAE 107 Figura 3 18 Mensagens de uma confer ncia na forma expandida na forma de rvore e informa es estat sticas sobre as caracter sticas das mensagens em um PDA 108 Figura 3 19 Servi o F rum de Discuss o do TelEduc eras 111 Figura 3 20 Servi o Bate Papo do TelEduc 0 ce eecesssecseseecseeeecsseeeessecaeesecnesseceaseeesaeeaeeseeneeaes 112 Figura 3 21 Servi o Bate Papo do AulaNet ricerca ereaenernana 112 Figura 3 22 Modelo de colabora o proposto por Liu et al 2001 114 Figura 3 23 Modelo de colabora o proposto por Santoro et al 2001 115 Figura 4 1 Chat do Moodle e do WebCT re erererereraeereaeneranan a 120 Figura 4 2 Servi os Confer ncias e Correio para Turma do AulaNet 121 Figura 4 3 Servi os Bate Papo e Debate do ambiente AulaNet 0 ce ceecsseeeceseceeeeeeeeeeeeeneeees 121
294. nt fico Rio de Janeiro 16 de mar o de 2006 Todos os direitos reservados proibida a reprodu o total ou parcial do trabalho sem autoriza o da universidade do autor e do orientador Marco Aur lio Gerosa Graduou se em Engenharia da Computa o na UFES Universidade Federal do Esp rito Santo em 1999 Obteve o grau de Mestre em Inform tica em 2002 pela PUC Rio Durante o doutorado atuou no Laborat rio de Engenharia de Software da PUC Rio onde participou do desenvolvimento do ambiente de aprendizagem colaborativa AulaNet Participou como palestrante de dezenas de congressos e de 2000 a 2005 publicou 47 artigos em livros revistas e congressos Atuou tamb m como revisor de artigos para congressos e peri dicos Atualmente professor e coordenador do curso de Ci ncia da Computa o do Centro Universit rio Vila Velha UVV e pesquisador associado ao Laborat rio de Engenharia de Software da PUC Rio Ficha Catalogr fica Gerosa Marco Aur lio Desenvolvimento de groupware componentizado com base no modelo 3C de colabora o Marco Aur lio Gerosa orientador Hugo Fuks Rio de Janeiro PUC Rio Departamento de Inform tica 2006 275 f 30 cm Tese doutorado Pontificia Universidade Cat lica do Rio de Janeiro Departamento de Inform tica Inclui bibliografia 1 Inform tica Teses 2 Engenharia de Software 3 Groupware 4 Desenvolvimento baseado em componentes 5 Ambiente AulaNet
295. nte uma unidade 2 apr 33 execut vel que pode ser a implementa o f sica de uma ou mais classes Uma classe s pode pertencer a um nico componente Szyperski 1997 p 32 Um componente nao necessariamente precisa estar na mesma maquina que a aplica o que o utiliza e nem escrito na mesma linguagem de programa o Diferentemente de classes um componente pode estar dispon vel somente na forma bin ria e o nome do componente n o pode ser utilizado para definir o tipo de uma vari vel ou par metro Weinreich amp Sametinger 2001 p 36 As padroniza es para componentes tamb m s o mais abrangentes do que as padroniza es para classes definindo entre outros fatores empacotamento ciclo de vida conectores interfaces providas e requeridas etc D Souza amp Wills 1998 p 390 Componentes tamb m t m uma gama maior de mecanismos de intercomunica o como eventos e workflow al m das mensagens da orienta o a 3 Um componente n o obrigatoriamente precisa conter classes Szyperski 1997 p 31 Um componente pode conter c digo escrito em outras tecnologias Ap ndice A Componentes e Frameworks 203 objetos Por fim inst ncias de componentes tendem a ser mais est ticas do que inst ncias de classes n o tendo sua configura o alterada ao longo do ciclo de vida D Souza amp Wills 1998 p 391 Mesmo estando em n veis de abstra o diferentes por simplifica o do discurso costuma
296. nte de uma falha em qualquer ponto da comunica o desde a concep o e formula o da mensagem at sua interpreta o e entendimento As falhas s o provenientes de fatores como desconhecimento das regras ou da linguagem ru dos interrup es excesso de informa o falta de aten o ambigiiidade conflitos etc Blikstein 2000 Para projetar uma ferramenta de comunica o devem ser considerados diversos elementos da comunica o O projetista da ferramenta define o que relevante para sua ferramenta de acordo com as necessidades de comunica o esperadas considerando tempo espa o prop sito din mica e tipo de participante Fuks et al 2003 A maneira como os interlocutores se comunicam Capitulo 3 O Modelo 3C de Colabora o 86 influenciada pelos recursos e caracter sticas da ferramenta de modo que ap s a separa o em partes o projeto da ferramenta considerado como um todo A captura a transmiss o e a apresenta o das mensagens constituem a base da comunica o eletr nica tendo suporte em todas as ferramentas de comunica o A m dia o modo de transmiss o o tipo de comunica o e as restri es do canal influenciam diretamente estas atividades A m dia pode ser textual falada gesticulada com o uso de avatar ou de v deo ou pict rica com imagens ou emoticons Quanto mais rica for a m dia utilizada maior a expressividade Daft amp Lengel 1986 No caso de uma videoconfer nc
297. ntera o entre os aprendizes exercitando suas capacidades de comunica o coordena o e coopera o S o tamb m capacitados a gerarem conhecimento de forma colaborativa selecionando e filtrando conjuntamente a massa de informa es dispon vel O curso e o ambiente AulaNet Capitulo 3 O Modelo 3C de Colabora o 84 s o utilizados nas pr ximas se es como estudos de caso para a comunica o coordena o e coopera o 3 4 Comunica o Argumenta o para A o De acordo com o dicion rio Houaiss 2001 comunica o o processo que envolve a transmiss o e a recep o de mensagens entre uma fonte emissora e um destinat rio receptor no qual as informa es transmitidas por interm dio de recursos f sicos fala audi o vis o etc ou de aparelhos e dispositivos t cnicos s o codificadas na fonte e decodificadas no destino com o uso de sistemas convencionados de signos ou s mbolos sonoros escritos iconogr ficos gestuais etc No trabalho em grupo a comunica o principalmente voltada para a o Winograd amp Flores 1987 Quando o trabalho est todo pr articulado a comunica o verticalizada as ordens descem a hierarquia e os relat rios sobem a comunica o horizontal com o colega ao lado al m de n o ser bem vista n o tem suporte tecnol gico Na colabora o os pares interagem argumentando e negociando compromissos Atrav s da comunica o o grupo debate pontos de
298. nterfaces Usos conhecidos Confer ncias e Correio para Turma Componentes relacionados MessageMgr B 1 6 DialogStructureMgr Nome DialogStructureMgr Inten o Gerencia as inter rela es entre as mensagens que podem ser na forma de lista rvore ou grafo Ap ndice B Descri o dos Componentes de Colabora o 233 Aplicabilidade Este componente utilizado principalmente nas ferramentas que adotam uma estrutura o hier rquica ou em rede Variabilidade O tipo de estrutura o utilizado e a ordem de percurso da estrutura Estrutura A estrutura do componente est representada na Figura B 6 Atrav s da interface IDialogStructureMgrConfig o componente configurado e atrav s da interface IDialogStructureMgr o componente utilizado poss vel incluir as mensagens e obter os pais e filhos de uma mensagem e as ra zes do di logo IDialogStructureMgrConfig IDialogStructureMgr B DialogStructureMgr b C Message lt lt interface gt gt lt lt interface gt gt IDialogStructureMgr IDialogStructureMgrConfig getFather msg Message setOrder getChildren msg Message setT ype get AllIMsg getOrder getRoots getT ype include msg Message include msg Message pai Message include msg Message pai Message 1 Figura B 6 Componente DialogStructureMgr e suas interfaces Usos conhecidos Correio para Turma Correio para Participante e Confer n
299. ntes pr elaborados de comunica o de coordena o e de coopera o podem ser plugados nos component frameworks como ilustrado nos estudos de caso desta tese S o disponibilizadas tamb m ao desenvolvedor ferramentas que auxiliam a montagem e customiza o como a apresentada por Stiemerling et al 2001 Os requisitos e conceitos do modelo 3C tamb m guiam a valida o e os testes heur sticos do groupware focando a aten o do avaliador em aspectos espec ficos de comunica o de coordena o e de coopera o Al m das t cnicas de avalia o heur stica s o utilizadas t cnicas tradicionais da Engenharia de Software como testes unit rios para buscar a presen a de erros no sistema O ciclo de desenvolvimento de groupware est inserido no contexto de um processo de desenvolvimento de groupware O processo define as atividades e os artefatos a serem manipulados durante o desenvolvimento que no caso da engenharia de groupware proposta s o baseados no modelo 3C de colabora o Pimentel et al 2005 O processo prev a instancia o da solu o e a cria o de novos componentes 6 4 Considera es Finais A abordagem proposta nesta tese objetiva instrumentar o desenvolvedor de groupware para que ele a partir das necessidades do trabalho em grupo estruture Cap tulo 6 Conclus o 197 a aplica o colaborativa utilizando componentes fundamentados no modelo 3C de colabora o Deve ser lembrado por
300. nto de mensagens Na vers o atual do AulaNet n o h mecanismos de coordena o expl citos para a maior parte das tarefas de modo que a coordena o fica a cargo do protocolo social certificado pelos mediadores e pelo seminarista da semana e embasado no acompanhamento da participa o Algumas interdepend ncias s o controladas por mecanismos de coordena o como o de travar o envio de mensagens que utilizado pelo mediador ao inicializar e finalizar a sess o Durante o gerenciamento da execu o de tarefas principalmente daquelas que n o foram precisamente definidas durante a pr articula o as informa es de percep o s o fundamentais Este tipo de tarefa comum em atividades ligadas aprendizagem onde os aprendizes tomam decis es e resolvem problemas sem o conhecimento completo do dom nio Simon 1996 Nestas tarefas a divis o e a organiza o do trabalho acontecem dinamicamente atrav s da coordena o de atividades Gross 1997 As informa es de percep o transmitem as mudan as de planos contribuindo para gerar um novo entendimento Al m disto informam os participantes de aspectos temporais e espaciais de suas a es e facilitam a sincroniza o das tarefas individuais As informa es de percep o s o apresentadas no espa o compartilhado e muitas vezes s o provenientes do registro da informa o Na se o seguinte as informa es de percep o do AulaNet s o tratadas em mais detal
301. nto de vista do feedback quanto do feedthrough Sao propostos modelos para cada um destes aspectos ontological model coordination model e user interface model respectivamente O ontological model possui alguns pontos em comum com o entendimento de coopera o do modelo 3C Entretanto alguns aspectos como o controle de permiss es e o controle de acesso s o tratadas na coordena o do ponto de vista do modelo 3C O coordination model lida com atividades pap is atores objetivos tarefas procedimentos etc que tamb m s o tratadas pela coordena o no modelo 3C A interface com o usu rio n o tratada separadamente no modelo 3C A percep o que no modelo 3C distribu da nos tr s Cs no modelo de Ellis amp Wainer tratada no user interface model 3 9 Considera es Finais Colaborando as capacidades os conhecimentos e os esfor os individuais se complementam Trabalhar em grupo tamb m traz motiva o para o membro pois seu trabalho estar sendo observado comentado e avaliado por pessoas de uma comunidade da qual faz parte seu grupo de trabalho Benbunan Fich amp Hiltz 1999 Ao expressar as id ias para se comunicar com os outros membros o indiv duo trabalha ativamente seus conceitos refletindo sobre os mesmos e refinando os ocasionando uma melhoria na qualidade do trabalho e do aprendizado Sch n 1983 O modelo 3C utilizado frequentemente na literatura como um meio de classificar sistemas col
302. nto dos objetos O CooperationObjMer prov os mecanismos de registro e de concorr ncia de acesso aos objetos compartilhados O SearchMgr prov mecanismos de busca O VersionMgr prov controle de vers es possibilitando a recupera o de edi es anteriores e a compara o dos objetos O Statistical AnalysisMgr prov funcionalidades para an lise estat sticas dos objetos O RankingMgr possibilita a atribui o de uma avalia o e uma classifica o aos objetos no intuito de ranque los O RecommendationMgr fornece um mecanismo de recomenda o para objetos O ActionLogMgr oferece recursos para registro das opera es realizadas nos objetos O AccessRegistrationMgr possibilita registrar os acessos que cada participante fez nos objetos de modo a identificar os objetos j acessados e os novos O TrashBinMgr oferece uma lixeira para manter temporariamente os objetos removidos antes da elimina o definitiva Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 130 Componente Descri o CooperationObjMgr Prov mecanismos de compartilhamento de objetos SearchMgr Prov mecanismos de busca para os objetos compartilhados VersionMgr Controla vers es dos objetos possibilitando recuperar uma vers o antiga comparar altera es entre outras funcionalidades StatisticalAnalysisMgr Oferece funcionalidades de an lise estat stica dos objetos compartilhados RankingMgr Gerencia a avalia o e a classifica o d
303. ntrolM gr siena caisi a E casi aTa aE EERS 241 B2 TASKM D a a Ea a E A a a ENG Aa Ra o EER RD 242 B 2 9 AwarenessMgr erre B 2 10 AvailabilityMgr cee cneeeneeeneees B 2 11 NotificationMgr a B 3 COMPONENTES DE COOPERA O cccis B 3 1 CooperationObjMgr n se B 3 2 SCQPCNM GT cc cecsccssussssasiistiscsinsisseidapeveedbestisess B 3 3 StatisticalAnalysisMgr nosece B 3 4 ActionLogMgr ea B 3 5 AccessRegistrationMgr REFER NCIAS BIBLIOGR FICAS ccscccssssessseseeees ARTIGOS PUBLICADOS PELO AUTOR DA TESE CAP TULOS DE LIVROS n a PERI DICOS JOURNALS cecsesceeessseceesssseceesseeessseseees ANAIS DE CONGRESSOS CONFER NCIAS cis Coco ore r eco ore r eco r ocorrer eco c ec ec eres secos Co cores eco eco c eco c eco c ore c eco c ec ec eso ce coco sos Lista de Figuras Figura 1 1 Arquitetura T cnica do AulaNet 3 0 0 eeeessesecseeeeceeseecseeeessecaeesecneesesnecnerseenaeseeeas 21 Figura 1 2 A arquitetura de aplica o proposta csscceseeseceseceeecseeeseeeneeeeceeeeseeeseceseeeaeenseeaeeaeeeas 24 Figura 1 3 Foco para o desenvolvimento de uma vers o da aplica o groupware com base no Modelo 3 de Colabora o sssssase asesiasto se teak dosatnio de tee sh entices ce quand eepeesse pees Segusgeeee ir ac o 25 Figura 2 1 UML estendida apresentando classes que representam objetos compartilhados a esquerda e com
304. nts and Frameworks with UML The Catalysis Approach Addison Wesley ISBN 0 201 31012 0 1998 Daft R L amp Lengel R H 1986 Organizational information requirements media richness and structural design Management Science 32 5 554 571 David J M N amp Borges M R S 2001 Selectivity of awareness components in asynchronous CSCW environments Proceedings of 7 International Workshop on Groupware CRIWG 2001 IEEE Darmstadt Germany David J M N amp Borges M R S 2004 Designing collaboration through a web based groupware infrastructure International Journal of Computer Applications in Technology v 19 n 3 4 pp 175 183 Dewan P 1998 Architectures for Collaborative Applications In M Beaudouin Lafon Ed Computer Supported Cooperative Work CSCW 7 ed pp 169 194 John Wiley amp Sons Ltd Dias M S amp Borges M R S 1999 Development of groupware systems with the COPSE infrastructure International Workshop on Groupware CRIWG 1999 Cancun IEEE Computer Society pp 278 285 Dillenbourg P amp Self J A 1992 A computational approach to socially distributed cognition European Journal of Psychology of Education Vol VII No 4 pp 252 273 1992 Refer ncias Bibliogr ficas 257 Dillenbourg P 1999 What do you mean by collaborative learning Collaborative learning Cognitive and Computational Approaches Oxford Elsevier 1999 pp 1 19 Dourish P am
305. o que s o provenientes do Collaboration Component Kit Grande parte das funcionalidades dos component frameworks recorrente e reus vel Um framework pode ser utilizado para a instancia o de uma fam lia de sistemas Pinto 2000 Nesta tese utilizado um framework para instanciar os component frameworks Este tipo de framework chamado de component framework framework CFF Szyperski 1997 p 277 Um component framework framework visto como um component framework de segunda ordem onde seus componentes s o component frameworks Szyperski 1997 p 276 Da mesma forma que um componente interage com outros diretamente ou mediado pelo component framework o mesmo pode ser dito dos component frameworks cujo suporte de mais alto n vel o component framework framework Szyperski 1997 p 277 A Figura 4 10 estendendo a nota o utilizada por Szyperski 1997 p 278 ilustra a arquitetura de aplica o incluindo o Groupware Component Framework Framework como o component framework de segunda ordem Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 132 Groupware 7 Application 8 A Groupware Service P Component omponen A E TI R Framework Framework E Framework CEEE ar 7 DO 7 Component fd Framework RR sc commit il Infrastructure Frameworks Y Database T Figura 4 10 A arquitetura de aplica o proposta A arquitetura adotada segue uma
306. o 3C de Colaboragao 114 papel As pr condi es s o definidas utilizando um modelo de especifica o de eventos As tarefas e os pap is s o representados no contexto de uma atividade que representa uma sess o de colabora o Uma atividade estruturada hierarquicamente de modo que m ltiplas atividades s o aninhadas Trabalho Individual In cio fim Planejamento Negocia o Trabalho Individual Figura 3 22 Modelo de colabora o proposto por Liu et al 2001 Liu et al 2001 prop e um modelo de colabora o no contexto de um projeto colaborativo ilustrado na Figura 3 22 Os autores abordam o aspecto temporal da colabora o separando a em atividades seqiienciais A colabora o vista como planejamento negocia o trabalho individual e avalia o Neste modelo a intera o prevista apenas nas atividades de planejamento avalia o e negocia o que s o tratadas na coordena o pr e p s articula o e comunica o do modelo 3C A coopera o vista como a o conjunta em objetos compartilhados n o tratada pelo modelo de Liu et al Simon 1997 prop e um modelo de colabora o chamado de DisNet voltado para a constru o de conhecimento a partir da comunica o O modelo dividido em um modelo de comunica o e um modelo de representa o de conhecimento A gest o e a distribui o de tarefas s o tratadas no modelo de comunica o Lange a
307. o das notifica es aos participantes Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 129 Componente Descri o AssessmentMgr Oferece suporte avalia o qualitativa possibilitando a associa o de notas e conceitos aos objetos compartilhados RoleMgr Cuida do gerenciamento dos pap is atribu dos aos participantes PermissionMgr Gerencia as permiss es dos participantes que podem ser relativas ao papel ou ao indiv duo ParticipantMgr Gerencia os participantes dos grupos GroupMgr Possibilita formar grupos e subgrupos com os participantes SessionMgr Gerencia a sess o de colabora o incluindo mecanismos para convite e controle de acesso FloorControlMgr Gerencia a ordem de participa o Podem ser alocadas v rias pol ticas de acesso TaskMgr Possibilita o gerenciamento das tarefas do grupo AwarenessMgr Gerencia as informa es de percep o em geral registrando e operando sobre os eventos ocorridos no servi o CompetencyMgr Oferece funcionalidade relativa gest o das compet ncias dos participantes AvailabilityMgr Possibilita que o participante configure sua disponibilidade NotificationMg Gerencia o envio das notifica es aos participantes Tabela 4 3 Componentes de coordena o do Collaboration Component Kit A Tabela 4 4 apresenta os componentes de coopera o do Collaboration Component Kit Os componentes de coopera o lidam com o registro a recupera o e o compartilhame
308. o de mensagens enquanto um dos participantes estiver escrevendo registro do hor rio de envio das mensagens e possibilidade de envio de arquivo para v rias pessoas simultaneamente Para isto montou uma arquitetura onde utilizou os componentes DiscreteChannelMgr GroupMegr FloorControlMgr AwarenessMgr MessageMgr e uma vers o estendida do CooperationObjMgr para possibilitar a transfer ncia de arquivos e do AvailabilityMgr para configurar as diferentes disponibilidades O aluno que analisou a ferramenta TortoiseSVN que possibilita integrar o controle de vers es aos arquivos do sistema operacional prop s uma nova funcionalidade de comunica o e uma de coordena o discuss o ass ncrona sobre as mudan as efetuadas e notifica o sobre atualiza o de artefatos Para isto montou uma arquitetura utilizando os componentes MessageMgr e DialogStructureMgr e propondo os componentes MessageStoreMgr e RevisionMgr As funcionalidades destes componentes s o oferecidas pelos componentes CooperationObjMgr e AwarenessMgr n o sendo necess ria sua cria o Em geral os alunos utilizaram corretamente a abordagem analisando a ferramenta escolhida e algumas ferramentas similares em fun o do modelo 3C para sugerir a incorpora o de novas funcionalidades visando aprimorar o suporte computacional colabora o Entretanto alguns alunos tiveram dificuldades na sele o dos componentes e na montagem da arquitetura Conforme ilustrad
309. o de modos de recebimento para cada participante e filtros espec ficos Variabilidade Pode se configurar os tipos de notifica es Estrutura O componente NotificationMgr possui duas interfaces fornecidas INotificationMgr e INotificationMgrConfig e uma interface requerida Participant conforme ilustrado na Figura B 17 A interface INotificationMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo Ap ndice B Descri o dos Componentes de Colabora o 246 envio de notifica o recupera o de notifica es anteriores etc A interface INotificationMgrConfig disponibiliza os servi os relativos configura o do componente como defini o dos tipos de notifica es cabe alho gen rico etc O componente pode ser configurado atrav s desta interface e por seu arquivo descritor INotificationMgrConfig INotificationMgr E O Notification NotificationMgr H Participant lt lt interface gt gt lt lt interface gt gt INotificationMgr INotificationMgrConfig Participant Notification getNotifications getNotifications p Participant getParticipant n Notification setNotification p Participant n Notification addNotificationT ype t String removeNotificationT ype t String getNotificationT ypes updateNotificationT ype t String disableNotificationT ype t String enableNotificationT ype t String Figura B
310. o na Tabela 5 10 desconsiderando o aluno que projetou o jogo que entendeu incorretamente o enunciado do trabalho 76 dos componentes foram selecionados e utilizados adequadamente Separando alunos do mestrado e 8 http www microsoft com msn P http tortoisesvn sourceforge net Capitulo 5 Estudos de Caso 177 doutorado dos alunos da gradua o esta porcentagem fica em 85 para os primeiros e em 50 para os ltimos Dada a quantidade reduzida de alunos participando no experimento n o poss vel obter resultados conclusivos Entretanto h ind cios de que h necessidade de aprimorar a documenta o dos componentes e de capacitar os alunos na utiliza o de componentes de software visto que o assunto normalmente n o coberto nos cursos de gradua o Para os pr ximos semestres a documenta o ser estendida e revista e a din mica do curso ser modificada para que os alunos implementem um prot tipo da solu o visto que grande parte dos erros seria percept vel caso eles tivessem implementado a extens o proposta ferramenta colaborativa Apesar da ocorr ncia de problemas na resolu o dos trabalhos o experimento foi considerado satisfat rio pois os alunos entenderem e utilizaram a abordagem proposta nesta tese mesmo n o sendo da rea Novas Quantidade de Componentes Utilizados Ferramenta Funcionalidades Componentes Incorretamente Stratify 4 8 1 GoogleTalk 4 6 3 BuddySpace 5 7 1 Orkut 3
311. o reservado para que todos os participantes Coopera o disponibilizem informa es relevantes Di rio de Bordo Espa o para que cada participante registre suas experi ncias ao Coopera o longo do curso eventualmente de forma compartilhada Portf lio Armazenamento de textos arquivos e endere os da Internet de Coopera o maneira privada ou p blica Tabela 3 3 Servi os do ambiente TelEduc Para exemplificar a an lise em fun o do modelo 3C foi utilizado o ambiente TelEduc http teleduc nied unicamp br Visando a colabora o em um Capitulo 3 O Modelo 3C de Colaboragao 111 ambiente de ensino aprendizagem s o disponibilizados aos participantes diversos servi os Os servi os suas descri es e a classifica o em fun o do modelo 3C apresentada na Tabela 3 3 O TelEduc apresenta os servi os F rum de Discuss o Bate Papo e Correio voltados para a comunica o Estes servi os oferecem suporte troca de mensagens e argumenta o Os servi os Din mica do Curso Agenda e Atividades s o servi os de coordena o pois objetivam a pr articula o das tarefas realizada pelo professor do curso Os servi os Avalia es Exerc cios Acessos e Intermap s o voltados para o professor acompanhar a participa o quantitativa e qualitativa no ambiente sendo classificados tamb m como coordena o O servi o Grupo possibilita organizar os participantes em subgrupos para a realiza o das atividades
312. o sistema colaborativo Os requisitos de desenvolvedor impactam os desenvolvedores que utilizam a arquitetura de componentes para criar e adaptar as ferramentas colaborativas Tietze prop e ao todo onze requisitos de usu rio e nove de desenvolvedor Tietze apresenta os requisitos atrav s de cen rios envolvendo personagens fict cios que s o sucintamente reproduzidos a seguir RUI Acesso aos objetos compartilhados e s ferramentas de colabora o Andrew ao chegar para trabalhar em sua esta o de trabalho deseja que o ambiente ofere a acesso aos documentos compartilhados e s ferramentas colaborativas para manipular os objetos e interagir com os demais participantes oferecendo persist ncia das altera es promovidas nos objetos RU2 Aux lio na escolha das ferramentas apropriadas Andrew necessita escrever um relat rio t cnico cooperativamente com B rbara localizada remotamente Dada a variedade de tarefas e ferramentas o ambiente auxilia na escolha da ferramenta apropriada para a realiza o das tarefas e para a edi o dos objetos compartilhados Capitulo 2 Revisao da Literatura 29 RU3 Fornecimento de informa es de percep o Ao entrar no ambiente B rbara visualiza que Andrew est conectado e que um determinado cap tulo do relat rio est sendo editado por ele Andrew tamb m notificado da disponibilidade de B rbara RU4 Colabora o s ncrona e ass ncrona Andrew necessit
313. o um nico assunto ou se evolveu em um conflito interpessoal A Tabela 3 2 sumariza o mapeamento dos elementos de comunica o utilizados nos servi os de comunica o do AulaNet Elemento Corry farw Porto Confer ncias Debate Mensagem Participante para Turma Instant nea M dia Textual Textual Textual Textual Textual Modo de Bloco Bloco Bloco Bloco Bloco Transmiss o Estrutura da Hier rquica Linear Hier rquica Linear Linear conversa o Meta Assunto data Assunto data Assunto data Hora informa o Categoria Dispon vel Dispon vel Restri es Tamanho Tabela 3 2 Elementos de comunica o adotados nos servi os de comunica o do AulaNet Fd Eventualmente um servi o de comunica o tamb m utilizado com prop sitos de coordena o ou coopera o Os servi os Correio para Participante Correio para Turma e Mensagem Instant nea s o utilizados no TIAE com prop sito de coordena o Os moderadores enviam avisos informes e alertas para organizar a participa o dos aprendizes atrav s destes servi os Al m disto Capitulo 3 O Modelo 3C de Colabora o 92 mesmo um servi o de comunica o necessita de elementos de coordena o e de coopera o visto que a pr pria comunica o uma atividade colaborativa O suporte coordena o na comunica o est relacionado principalmente com as pol ticas de acesso ao canal e o suporte coopera o com o re
314. o utilizar a componentiza o estas caracter sticas s o reusadas F http moodle org Chat Caracter sticas Un Chat abierto Microsoft Inte DER Output Interaction Bax Users Logged On Designer tutorial_designer gt gt My virtual office door ts D 7 Dae Designer tac Marco O ist entered thi t beep co Funciona g 17 55 Marco Ol testando o chat do Moodle re 2j F Entry Chime gt gt Enter your message below Send URL Quit Done COO O Internet Figura 4 1 Chat do Moodle e do WebCT Diferentemente dos demais o chat do Moodle apresenta o tempo em que o participante est inativo um recurso para chamar a aten o de um participante beep e a foto de cada um O WebCT apresenta suporte para mensagens privadas e notifica o de quando algu m entra na sala de bate papo Encapsular estas funcionalidades em componentes possibilita ao desenvolvedor da aplica o disponibilizar para reuso os diversos aspectos do suporte colabora o de modo que outros desenvolvedores utilizem nos na sele o das funcionalidades mais apropriadas para os grupos e atividades em quest o O servi o Confer ncias e o servi o Correio para Turma do AulaNet exibidos na Figura 4 2 compartilham o suporte ao envio ao recebimento e exibi o de mensagens categoriza o avalia o da participa o e ao bloqueio do canal de comunica o entre outras funcionalidad
315. odo espec fico para o desenvolvimento de groupware Esta tese est inserida em um contexto de pesquisa que objetiva descrever uma engenharia de groupware baseada no modelo 3C e em t cnicas de desenvolvimento baseado em componentes instrumentando as diversas atividades do desenvolvimento de aplica es colaborativas A engenharia de groupware o processo sistem tico disciplinado e instrumentado pelo qual se modela e se desenvolve groupware Fuks et al 2002 A engenharia de groupware une conceitos e tecnologias das reas de Engenharia de Software e de CSCW para instrumentar o desenvolvimento e evolu o de groupware Idealmente um groupware deve ser prototipado Schrage 1996 dado sua tend ncia a falhas Grudin 1989 Por isto um ciclo baseado no desenvolvimento incremental Boehm 1988 mostra se mais adequado para o desenvolvimento de groupware Este ciclo especialmente til em projetos com requisitos inst veis ou n o bem definidos que justamente o caso de groupware O desenvolvimento incremental com sucessivos testes de aceita o e de usabilidade adapta o groupware na dire o das reais necessidades do usu rio Como s o necess rias v rias itera es e as necessidades n o se estabilizam visto que o grupo continuamente muda suas caracter sticas o desenvolvimento baseado em componentes mostra se uma solu o para propiciar a prototipa o r pida a experimenta o e a adapta o do suporte computacional co
316. omponente requer o objeto Participant que pode ser o emissor ou receptor da mensagem e s o disponibilizados os objetos da classe Message que representa a mensagem em si e o objeto MessageType que representa o tipo da mensagem Caso a mensagem n o tenha remetente a mensagem do sistema e caso n o tenha destinat rio endere ada a todos participantes A mensagem possibilita o anexo de um ou mais arquivos e disponibiliza um corpo textual body que 2 utilizado quando n o necess rio conte do multim dia Nos casos em que Ov Ov necess rio o servi o que utiliza este componente deve estender a mensagem As propriedades da classe Message s o implementadas atrav s de gets e sets Os tipos de mensagens default s o PUB mensagem p blica PVT mensagem privada e CTRL mensagem de controle A estrutura do componente est representada na Figura B 1 IMessageMgrConfig IMessageMgr Rs lt lt interface gt gt IMessageMgr z O Message MessageMgr O MessageType Participant lt lt interface gt gt MessageT ype IIMessageMgrConfig Message eee id int id int 0 1 sender Participant 0 1 Message receiver createMessage serialize m Message deserialize s String getMessages 1 MessageT ype MessageT ype addMessageT ype t MessageT ype removeMessageT ype t MessageT ype set Default Mes
317. on frameworks frameworks experience by industry New York J Wiley c2000 681 p ISBN 0471332801 Fayad M E amp Schmidt D C 1997 Object oriented application frameworks Communications of the ACM v 40 n 10 p 32 38 Oct 1997 Fayad M E Schimidt amp D C Johnson R E 1999a Implementing application frameworks object oriented frameworks at work New York J Wiley c1999 729 p ISBN 0471252018 Fayad M E Schimidt amp D C Johnson R E 1999b Building application frameworks object oriented foundations of framework design New York J Wiley c1999 664 p ISBN 0471248754 Fielding R T 1999 Shared leadership in the Apache project Communications of the ACM Volume 42 Issue 4 pp 42 43 Filippo D Fuks H amp Lucena C J P 2005 AulaNetM Extens o do Servi o de Confer ncias do AulaNet destinada a usu rios de PDAs Anais do XVI Simp sio Brasileiro de Inform tica na Educa o SBIE 2005 Juiz de Fora MG 9 a 11 de novembro de 2005 pp 623 633 Fitzpatrick G Kaplan S Mansfield T Arnold D amp Segall B 2002 Supporting Public and Accessibility with Elvin Experiences and Reflections Computer Supported Cooperative Work Vol 11 No 3 4 pp 447 474 Refer ncias Bibliogr ficas 258 Fitzpatrick G Tolone W J amp Kaplan S M 1995 Work Locales and Distributed Social Worlds In Proceedings of the qu European Conference on Computer Supported Cooperative Work ECSCW 95
318. onente de software instalado em uma plataforma de execu o e segue um modelo de componentes Szyperski 1997 E concebido para ser autocontido reus vel e substitu vel e prover servi os espec ficos de uma maneira coesa e bem definida Os principiais benef cios da utiliza o de componentes s o a manutenibilidade reuso composi o extensibilidade integra o escalabilidade entre outros D Souza amp Wills 1998 p 397 Para acessar e interconectar componentes s o utilizadas suas portas OMG 2005 Uma porta um meio identific vel de conex o por onde um componente oferece seus servi os ou acessa os servi os dos outros D Souza amp Wills 1998 pg 410 As portas s o ligadas atrav s de conectores implementados atrav s de chamada de m todos propaga o de eventos fluxo de dados transfer ncia de arquivos etc D Souza amp Wills 1998 p 389 Os tipos de conectores variam para Capitulo 2 Revisao da Literatura 41 cada tecnologia e possibilitam a conex o em tempo de codifica o compila o inicializa o ou execu o A interface o contrato de utiliza o do componente Szyperski 1997 Respeitando se os contratos pode se alterar a implementa o interna do componente ou substitu lo por outro sem modificar seus clientes A interface define as maneiras de utilizar o componente separando a especifica o da implementa o Um componente apresenta m ltiplas interfaces correspond
319. onentes OMG 2005 Capitulo 2 Revisao da Literatura 42 O modelo de componentes component model define varios aspectos da constru o e da intera o dos componentes entre eles a forma de implementar as interfaces e os conectores V rios modelos ap iam se na orienta o a objetos para a implementa o de interfaces e mensagens entretanto esta tecnologia n o prov suporte representa o de interfaces requeridas e aspectos n o funcionais D Souza amp Wills 1998 p 388 O modelo de componentes define tamb m o padr o de nomea o dos componentes de composi o de versionamento e de empacotamento O empacotamento possibilita que um componente seja instalado como uma unidade contendo arquivos m dulos c digo execut vel c digo fonte c digo de valida o etc Szyperski 1997 p 276 D Souza amp Wills 1998 p 386 Ao implantar o componente deployment ele customiz vel Heineman 2000 A customiza o a habilidade de adaptar um componente antes de sua instala o ou uso normalmente com o objetivo de especializar seu comportamento Weinreich amp Sametinger 2001 p 42 Na customiza o por composi o um componente repassa a outros as chamadas das opera es Na customiza o por altera o de propriedades um arquivo descritor utilizado para configurar o componente Szyperski 1997 p 33 O arquivo descritor prov informa es sobre o conte do do pacote sobre as depend ncias exte
320. onentes do dom nio para uma tecnologia de componentes espec fica O uso de um processo de engenharia do dom nio guia a especifica o dos componentes e os torna mais prop cios para o reuso por prever o dom nio e os componentes nas diversas etapas do desenvolvimento do sistema Nesta tese o processo de engenharia do dom nio utilizado para definir o conjunto de componentes do component kit utilizado 2 5 Considera es Finais Na literatura s o encontradas diversas abordagens para instrumentar o desenvolvimento de groupware Neste cap tulo foram apresentados exemplos de requisitos de groupware Tietze 2001 Schmidt amp Rodden 1996 Mandviwalla amp Olfman 1994 UML estendida Rubart amp Dawabi 2002 padr es espec ficos Groupware Patterns Swiki 2005 Lukosch amp Schiimmer 2004 Santoro et al Capitulo 2 Revisao da Literatura 69 2001 arquiteturas de groupware Tietze 2001 Dewan 1998 frameworks Prakash amp Knister 1994 Lee et al 2002 Kirsch Pinheiro et al 2002 Nunamaker et al 2001 Buzko et al 2000 e t cnicas de avalia o de groupware Baker et al 2001 Araujo et al 2004 A engenharia de dom nio o desenvolvimento baseado em componentes e o modelo 3C de colabora o s o utilizados para conectar este ferramental e torn lo interoper vel O desenvolvimento baseado em componentes tem se mostrado uma abordagem de desenvolvimento bastante promissora para o desenvolvimento de
321. onflitante Ao inv s dos indiv duos se ajudarem eles disputam entre si os recursos e o sucesso de um normalmente implica no fracasso dos outros Apesar disto os concorrentes se comunicam pouco coordenam se seguindo regras normalmente pr estabelecidas e atuam em conjunto em um espa o compartilhado Mesmo dentro da competi o em alguns casos os participantes colaboram Por exemplo nas cadeias de suprimento os fabricantes de autom veis concorrentes se unem para definir padr es e fazer compras em conjunto para cortar custos em aspectos comuns sem prejudicar os diferenciais competitivos Tapscoot et al 2000 Na literatura comum encontrar os termos colabora o e coopera o sendo usados indistintamente Alguns pesquisadores diferenciam nos de acordo com o grau de divis o do trabalho Dillenbourg 1999 Roschelle amp Teasley 1995 Brna 1998 Na coopera o os membros do grupo executam tarefas individualmente e depois combinam os resultados parciais para obter o resultado final Na Capitulo 3 O Modelo 3C de Colabora o 75 colabora o os membros dos grupos trabalham juntos em um esfor o coordenado Dillenbourg amp Self 1992 Brna 1998 classifica a colabora o como um estado e a coopera o como um dos processos necess rios para estar no estudo de colabora o No contexto deste trabalho a coopera o uma das atividades da colabora o 3 2 O Modelo 3C de Colabora o O modelo 3C de
322. oordena o um dispositivo voltado a dar suporte ao trabalho de articula o Schmidt amp Simone 1996 Exemplos de ferramentas com mecanismos de coordena o expl citos s o os gerenciadores de fluxo de trabalho workflow jogos multi usu rio e ferramentas colaborativas de autoria e de desenvolvimento de software Nem sempre claro o que deve ficar a cargo do protocolo social e o que deve ter um mecanismo de coordena o associado Em alguns casos a coordena o melhor conduzida em fun o do feedthrough em fun o de mecanismos atrav s dos quais os participantes explicitamente sinalizam suas inten es e necessidades ou atrav s de mecanismos de coordena o Os mecanismos de coordena o propostos devem ser suficientemente flex veis dado o dinamismo da intera o entre os participantes e deve haver mecanismos que possibilitem aos usu rios interpretar os padr es de trabalho us los modific los ou rejeit los Schmidt 1991 Capitulo 3 O Modelo 3C de Colabora o 95 2 Para coordenar necess ria uma defini o clara de tarefas atividades colaborativas e interdepend ncias No modelo adotado neste trabalho uma atividade colaborativa um conjunto de tarefas realizadas para se atingir um objetivo comum Raposo amp Fuks 2002 Tarefas comp em as atividades colaborativas e est o ligadas por interdepend ncias podendo ser at micas ou compostas de subtarefas Um grupo de subtarefas consid
323. or Selecionar Seminarista enables Inicializar Sess o Avalia o das Mensagens Finalizar Sess o Figura 5 10 Din mica do uso do servi o Confer ncias no curso TIAE Para implementar as funcionalidades requeridas para oferecer suporte computacional a estas atividades s o utilizados os componentes 3C apresentados na Tabela 5 3 Os componentes implementam as funcionalidades existentes na vers o atual das Confer ncias mantendo a mesma interface com o usu rio Componente 3C Prop sito e MessageMgr lidar com as mensagens do servi o 3 CategorizationMgr implementar a categoriza o de E mensagens 5 DialogStructureMgr propiciar a estrutura o de mensagens em rvores SessionMgr gerenciar as sess es de utiliza o do servi o sendo uma sess o para cada t pico K AssessmentMgr cuidar da avalia o de mensagens F RoleMgr implementar os diversos pap is PermissionMgr controlar as permiss es de cada papel ParticipantMgr lidar com os participantes do servi o CompetencyMgr levar em considera o a participa o no servi o no c lculo da performance do participante CooperationObjMgr cuidar da persist ncia e do sincronismo g AccessRegistrationMgr possibilitar que o participante seja J informado do que j acessou S StatisticalAnalysisMgr implementar os recursos de an lise Q estat stica das mensagens SearchMgr possibilitar a busca de mensagens
324. or sincroniza o da participa o dos interlocutores Um mecanismo de coordena o implementado por software encontrado em algumas ferramentas de comunica o como o Debate do AulaNet o controle de palco que possibilita implantar t cnicas de conversa o e pol ticas de acesso ao canal Rezende et al 2003 lt lt Functional gt gt o de Compet ncias lt lt Functional gt gt Controle de Palco nceptual gt gt Disponibilidade lt lt Conceptual gt gt lt lt Conceptual gt gt Pabel Ferramenta de Comunica o Cobepiiad gt o o Po o No premente eee Participante e Pon lt lt Conceptual gt gt Atividade Conceptual gt gt o de Percep o lt lt Conceptual gt gt SubGru po lt lt Functional gt gt Envio de Notifica o lt lt Conceptual gt gt Tarefa M quina de Work Figura 4 6 Modelo de caracter sticas da coordena o nas ferramentas de comunica o O suporte coopera o em uma ferramenta de comunica o est relacionado ao registro e manipula o das informa es O modelo de caracter sticas da coopera o est apresentado na Figura 4 7 As mensagens ou as sess es das ferramentas de comunica o s o registradas em reposit rios na forma de objetos de coopera o Estes objetos s o associados a um gerenciamento de vers es a um registro de acesso a an lises estat sticas a uma lixeira a
325. orma es Documenta o Avisos Bibliografia Tarefas Webliografia Exame Download Pesq Opini o Co autoria de Acompanham Aprendiz da Participa o Co autoria de Acompanham Docente da Navega o Certificado COOPERA O COORDENA O Figura 3 4 Classifica o dos servi os do AulaNet com rela o ao modelo 3C Capitulo 3 O Modelo 3C de Colabora o 81 Os servi os de comunica o objetivam a troca de informa es a argumenta o e a negocia o Estes servi os incluem ferramentas de discuss o textual ass ncrona Confer ncias s ncrona Debate de troca instant nea de mensagens Mensagem Instant nea e de correio eletr nico individual com o mediador e com toda a turma Correio para Participante e Correio para Turma Os servi os de coordena o visam o gerenciamento do grupo e incluem uma ferramenta de notifica o Avisos ferramentas de avalia o Tarefas e Exames e uma ferramenta de acompanhamento da participa o do grupo Relat rios de Participa o Os servi os de coopera o do AulaNet incluem servi os de disponibiliza o de conte dos Aulas Documenta o Bibliografia e Webliografia transfer ncia de conte do Download e mecanismos de co autoria tanto de docentes Co autoria de Docente quanto de aprendizes Co autoria de Aprendiz O AulaNet pode ser utilizado para apoiar a sala de aula tradicional apesar de ser mais prop cio para dar suporte aprendizagem colaborativa
326. ormar criativamente conhecimento em novo conhecimento Estas necessidades definem uma situa o onde seus ambientes de trabalho e de aprendizado se confundem e se misturam Fuks 2000 Pretende se utilizar a experi ncia e a infra estrutura desenvolvida para o AulaNet para a constru o de um ambiente voltado para o trabalho em grupo principalmente para o suporte a projetos colaborativos onde normalmente h uma rotatividade de participantes e pouco suporte computacional Este ambiente j batizado de eLabora Gerosa et al 2001 integra as necessidades do ensino aprendizagem e do trabalho Com algumas adapta es principalmente na nomenclatura poss vel imaginar que um curso do AulaNet correspondente a um projeto do eLabora uma turma a uma equipe uma aula a uma etapa de trabalho etc Cap tulo 6 Conclus o 194 Com o eLabora espera se capacitar trabalhadores para enfrentar os desafios da sociedade do conhecimento trabalhando em um ambiente similar ao que s o treinados O desenvolvimento do eLabora auxiliar tamb m a refinar a arquitetura e os servi os propostos Al m disto por utilizar a mesma infra estrutura um servi o colaborativo desenvolvido para o AulaNet poder ser disponibilizado no eLabora e vice versa 6 3 2 A Engenharia de Groupware Baseada no Modelo 3C Conforme discutido no Cap tulo 2 h diversas abordagens na literatura que estendem as ferramentas e t cnicas da Engenharia de Software de m
327. os componentes Quando for necess rio prover flexibilidade para o usu rio final pode se disponibilizar a ele o conceito de componente bem como os mecanismos para instalar e desinstalar componentes da aplica o Estes componentes muitas vezes s o do estilo plug amp play que imediatamente se tornam dispon veis para uso ap s o deployment Ao inv s de apresentar ao usu rio uma aplica o que coloca um prego ou um parafuso na parede ele equipado com uma caixa de ferramentas contendo entre outras coisas martelo chave de fenda e parafusadeira de onde ele escolhe a ferramenta mais adequada s suas prefer ncias e tarefa em quest o Adicionalmente ferramentas existentes podem ser combinadas para formar novas ferramentas mais complexas para a realiza o de tarefas espec ficas Entretanto esta flexibilidade para o usu rio final deve ser utilizada com cautela pois abre espa o para aberra es combinando componentes incompat veis e destoantes Ap ndice B Descri o dos Componentes de Colabora o A defici ncia na documenta o gera um acr scimo na dificuldade de entendimento e reuso dos componentes D Souza amp Wills 1998 Este ap ndice cont m a descri o dos componentes de colabora o classificados em comunica o coordena o e coopera o A estrutura de documenta o utilizada para a descri o uma adapta o do formato utilizado para descrever padr es de projeto Paludo amp B
328. os de percep o para que seja interpretada Gerosa et al 2003 O ambiente define o espa o compartilhado de informa es entre os indiv duos e fornece elementos n o verbais como gestos cores e express es faciais linguagem utilizada na conversa o Gutwin amp Greenberg 2002 Quando se comunicam os interlocutores normalmente se concentram na argumenta o utilizando sem se dar conta a linguagem os mecanismos de express o e de percep o e a infra estrutura do canal de dados Por m se for detectado algum tipo de confus o ou problema a linguagem o registro e o canal s o trazidos para o foco central em uma tentativa de encontrar o motivo do desentendimento Para haver entendimento e a comunica o cumprir o seu objetivo al m do conhecimento da linguagem necess ria a utiliza o adequada das m dias de transmiss o e de recebimento dos dados bem como a participa o ativa do receptor que deve estar atento s informa es transmitidas e aos elementos utilizados Em uma comunica o bem sucedida o conte do recebido semanticamente equivalente ao transmitido A nica forma de se obter ind cios do sucesso da comunica o atrav s do discurso e das a es e rea es do receptor pois s o guiadas por seus compromissos e conhecimentos Uma ruptura na comunica o causa uma discord ncia entre as inten es do emissor e as a es do receptor ao realizar os compromissos A ruptura pode ser decorre
329. os e inst veis Pressman 2000 Com a componentiza o poss vel usar um ambiente RAD Rapid Application Development ou um toolkit para o desenvolvedor prototipar sua aplica o A prototipa o e o desenvolvimento iterativo possibilitam colocar o sistema em produ o mais cedo de modo a refinar gradualmente os requisitos e construir o sistema com base no aprendizado obtido com a realimenta o Teles 2004 A decomposi o do sistema possibilita a defini o de componentes independentes que podem ser subcontratados ou alocados para outras equipes o que favorece o desenvolvimento paralelo e em grupo Em alguns sistemas Won et al 2005 Slagter amp Biemans 2000 Li amp Muntz 1998 Hummes amp Merialdo 2000 os pr prios usu rios finais recomp em e re configuram os componentes adaptando a aplica o para suas necessidades espec ficas A aplica o Capitulo 2 Revisao da Literatura 46 incrementada para acompanhar as caracteristicas das tarefas e para prototipar e experimentar configura es antes de solicitar um desenvolvimento completo O desenvolvedor de um componente beneficiado pela infra estrutura de execu o que prov servi os b sicos como persist ncia interconex o escalabilidade etc aliviando a necessidade de implementar estes servi os Algumas infra estruturas possibilitam a integra o de forma transparente para o programador de componentes desenvolvidos e disponibilizados em difer
330. os objetos compartilhados RecommendationMgr Recomenda objetos para os participantes ou para o grupo a partir das caracter sticas dos objetos dos participantes e das tarefas ActionLogMgr Possibilita registrar o hist rico de a es no servi o Pode ser configurado o n vel e o tipo de log a ser gerado possibilitando fazer auditoria acompanhar o uso etc AccessRegistrationMgr Registra os acessos dos participantes para cada objeto possibilitando um controle do que j foi visitado TrashBinMgr Implementa uma lixeira utilizada para armazenar objetos removidos Tabela 4 4 Componentes de coopera o do Collaboration Component Kit Os componentes do Collaboration Component Kit s o utilizados na composi o dos servi os colaborativos O conjunto de componentes iterativamente refinado embasado na realimenta o obtida pelo reuso no desenvolvimento das aplica es e pela experimenta o das diversas configura es no suporte s caracter sticas dos grupos e tarefas envolvidos Para implementa o dos componentes n o foram usados os mecanismos para gera o de c digo disponibilizados pelo ambiente Odyssey Oliveira et al 2005 pois o modelo de componentes e a infra estrutura de execu o adotados nesta tese possuem especificidades distintas das dispon veis no ambiente A arquitetura t cnica tratada em mais detalhes na disserta o de Barreto 2006 4 3 A Arquitetura de Aplica o Para oferecer suporte ao g
331. osa et al 2001 A estrutura o da conversa o tamb m levada em considera o no projeto da ferramenta que pode ser voltada para uma conversa estruturada em lista em rvore ou em grafo conforme ilustrado na Figura 3 7 Fuks et al 2003 A estrutura o explicita visualmente as inter rela es entre as mensagens que normalmente ficam impl citas no texto Linear lista Hier rquica rvore Em rede grafo Figura 3 7 Exemplos de estrutura o da discuss o O tipo de estrutura o satisfaz as demandas de comunica o do grupo enquanto ele argumenta para a o Apesar de a lista ser um caso particular da rvore e esta ser um caso particular do grafo nenhuma das estruturas sempre melhor do que as outras A estrutura o linear prop cia quando a ordem cronol gica mais importante do que as eventuais rela es entre as mensagens como no envio de avisos informes e not cias A estrutura o hier rquica prop cia para a visualiza o da largura e da profundidade da discuss o possibilitando o encadeamento de mensagens sobre o mesmo assunto em um Capitulo 3 O Modelo 3C de Colabora o 88 mesmo ramo Por m como n o h como ligar uma mensagem de uma ramifica o a outra a rvore s pode crescer de modo que a discuss o ocorre em linhas divergentes Stahl 2001 A estrutura o em rede grafo utilizada para buscar converg ncia da discuss o Kirschner et al 2003 Out
332. ourish 1998 prop e a plataforma Prospero que visa oferecer mais flexibilidade que os toolkits tradicionais ao oferecer uma meta arquitetura utilizada pelos desenvolvedores para definir as maneiras pelas quais os componentes s o combinados customizados e utilizados O Prospero implementado em CLOS Common Lisp Object System e direcionado para encapsular as complexidades t cnicas de baixo n vel O Prospero n o oferece suporte constru o da interface com o usu rio pressupondo a utiliza o de outro toolkit com este prop sito O COPSE Web David amp Borges 2004 uma extens o do ambiente COPSE Collaborative Project Support Environment Dias amp Borges 1999 voltado para a constru o de groupware para web O COPSE Web adota uma arquitetura baseada no estilo MVC Modelo Vis o Controle A infra estrutura da plataforma oferece v rios servi os de execu o s ferramentas colaborativas e um Capitulo 2 Revisao da Literatura 65 framework de classes a partir do qual as ferramentas s o instanciadas A infra estrutura prov s ferramentas recursos de gerenciamento de projetos processos documentos percep o e perfil Algumas das ferramentas j dispon veis no ambiente s o quadro de avisos relat rio de eventos f rum de discuss o e agenda oferecendo suporte a pr reuni o reuni o e p s reuni o Anderson et al 2002 prop em uma abordagem para constru o de toolkits denominada Dragonfly
333. outras facilidades acesso a banco de dados defini o Capitulo 5 Estudos de Caso 145 de vari veis para armazenamento tempor rio de dados e chamadas a classes implementadas em Java As classes agrupam as fun es mais complexas e espec ficas da aplica o A Figura 5 1 ilustra a arquitetura do AulaNet 2 0 AulaNet Conte do Java Web i hreesiacercanson prstenem E E tios Servlets ie Aplica es ia Li Saiba Servidor de Servidor de may Debate Presenca Paginas i Servlets e HTML t Classes Java Figura 5 1 Arquitetura do AulaNet 2 0 Quando o Scriba foi desenvolvido a Sun Microsystems ainda n o havia disponibilizado a tecnologia Java Server Pages JSP que possui o mesmo prop sito do Scriba O Scriba foi criado especialmente para servir de base para o ambiente AulaNet O uso de tecnologias caseiras como o Scriba para resolver problemas j bem resolvidos por outras tecnologias dificulta a evolu o do ambiente Cada novo integrante da equipe de desenvolvimento do LES ou da EduWeb necessita aprender a tecnologia Passa a ser necess rio tamb m estender a linguagem para acompanhar os avan os e promover a interoperabilidade do ambiente A linguagem passou a ser um ponto a mais para documentar e manter Zz Outro problema relacionado utiliza o do Scriba a dissemina o de c digo por arquivos HTML e classes Java Na arquitetura atual do AulaN
334. p Northrop 2001 Para reduzir os custos de desenvolvimento e manuten o os produtos s o gerados de uma maneira sistem tica a partir de um n cleo de artefatos Ap ndice A Componentes e Frameworks 219 A 7 Component Kits Um component kit uma cole o de componentes que foram projetados para trabalhar em conjunto D Souza amp Wills 1998 p 404 Component kits s o freqiientemente utilizados para construir interfaces gr ficas para aplica es a partir de bot es formul rios listas etc De um kit de componentes gera se uma fam lia de solu es fazendo diferentes arranjos e eventualmente desenvolvendo alguns sob medida Wills 2001 p 309 D Souza amp Wills 1998 ilustram a utiliza o de component kits na eletr nica A partir de um conjunto de componentes interoper veis e padronizados s o constru dos circuitos para os mais variados prop sitos A Figura A 11 ilustra a gera o de um kit de componentes a partir de um conjunto de aplica es similares e a posterior constru o de novas aplica es a partir deste kit Inicialmente o desenvolvedor analisa aplica es similares identificando e generalizando componentes comuns criando um kit de componentes Tendo o kit os componentes s o utilizados para montar novas aplica es da mesma fam lia D Souza amp Wills 1998 p 385 ds cha Application 1 Application 2 a Application 3 A a ee Specialize and plug together a Archite
335. p Belloti V 1992 Awareness and coordination in shared workspaces Proceedings of CSCW 92 Chapel Hill NC 1992 Dourish P 1998 Using Metalevel techniques in a flexible toolkit for CSCW applications ACM Transactions on Computer Human Interaction Vol 5 No 2 pp 109 155 Dron J Boyne C amp Mitchell R 2001 Footpaths in the stuff swamp Proceedings of WebNet 2001 Fowler W amp Hasebrook J eds WorldConference of the WWW and Internet Orlando FL AACE pp 323 328 Durfee E H 1988 Coordination of Distributed Problem Solvers The International Series in Engineering and Computer Science Vol 55 ISBN 0 89838 284 X Edutools 2005 http www edutools info date 06 04 2005 Ellis C A amp Wainer J 1994 A Conceptual Model of Groupware In T Malone ed Conference on Computer Supported Cooperative Work CSCW pp 79 88 Ellis C A Gibbs S J amp Rein G L 1991 Groupware Some Issues and Experiences Communications of the ACM Vol 34 No 1 pp 38 58 Engelbart D amp English W 1968 Research Center for Augmenting Human Intellect Proc Fall Joint Computing Conference AFIPS Press 395 410 Farias C R G 2004 Um Metamodelo para Sistemas Cooperativos In Workshop Brasileiro de Tecnologias para Colabora o Ribeir o Preto Proceedings of WebMedia amp LA Web 2004 Joint Conference 2004 v 2 pp 194 201 Fayad M E amp Johnson R E 2000 Domain specific applicati
336. p a Framework Framework E Framework ar Collaboration Ly LZ Component Framework RR sc commit il Infrastructure Frameworks Y Database T Figura 1 2 A arquitetura de aplica o proposta Os component frameworks servi os e componentes 3C oferecem suporte computacional aos conceitos do modelo 3C de colabora o instrumentando o desenvolvimento da camada de neg cio A arquitetura de aplica o proposta estrutura os componentes do dom nio representando um projeto l gico de alto n vel independente da tecnologia de suporte D Souza amp Wills 1998 os aspectos de infra estrutura tratados na disserta o de Barreto 2006 s o independentes do dom nio de aplica o Os componentes da arquitetura de aplica o s o implementados segundo a arquitetura t cnica Os servi os do AulaNet s o criados com um nico Fa ade que exp e as opera es deste servi o para a camada de apresenta o Os componentes de colabora o por sua vez podem utilizar v rios DTOs e DAOs dependendo da complexidade do componente Estes componentes podem ainda usar c digo cola Szyperski 1997 e adaptadores D Souza amp Wills 1998 para possibilitar a integra o com componentes e outros sistemas que n o s o compat veis por constru o Capitulo 1 Introdu o 25 1 2 3 RUP 3C Groupware um Processo de Desenvolvimento de Groupware baseado no Modelo 3C de Colabora o Os fra
337. pacidade do sistema A quarta motiva o est relacionada com a utiliza o de servi os din micos descobertos e instalados na medida da necessidade Nesta abordagem ao necessitar de uma determinada funcionalidade o sistema consulta cat logos de servi os e instala e se re configura A utiliza o desta abordagem possibilita a constru o de sistemas que evoluem para acompanhar novas demandas Web services uma tecnologia que vem sendo utilizada com este prop sito Hansen et al 2005 Capitulo 2 Revisao da Literatura 70 Motiva o Modelo de Plataforma Objetivo Szyperski Componentes Linguagem 2003 Live Banavar et al 1998 Gro FERE linha de produto Extens o do JavaBeans Java s ncrono Groupware DISCIPLINE Marsic 1999 s ncrono para linha de produto Extens o do JavaBeans Java educa o FreEvolve Won et al Groupware tailorabilit Extens o do JavaBeans Java 2005 distribu do q FlexiBeans E Groupware para oii ds ITA See Erakash dispositivos linha de produto Propriet rio Java m veis Dream Team koth go din om PEWS linha de produto Propriet rio Java 2000 s ncrono Edi o IRIS Koch amp Koch 2000 colaboranva de linha de produto Propriet rio Java documentos multim dia Sistemas JViews Grundy et al 1997 colaborativos com linha de produto Propriet rio Java m ltiplas vis es CoCoWare Slagter amp Groupware em e je Biemans 2000 geral tailorability Extens o do Net Net Habanero NiC hab
338. plina Engenharia de Groupware cujos c digos s o INF 1637 e INF 2132 para a gradua o e p s gradua o do Departamento de Inform tica da PUC Rio respectivamente Leciono a disciplina juntamente com os professores Hugo Fuks e Alberto Barbosa Raposo desde o primeiro semestre de 2002 O estudo de caso foi realizado na turma do segundo semestre de 2005 com 2 alunos de gradua o 3 de mestrado e 2 de doutorado O resultado do estudo de caso foi avaliado pela observa o direta dos professores do curso e pela aplica o de question rios individuais Conforme apresentado no enunciado da Figura 5 15 o trabalho aplicado na disciplina dividido em tr s partes Na primeira parte ap s o estudo dos elementos do modelo 3C cada aluno seleciona uma aplica o e analisa suas funcionalidades classificando as em comunica o coordena o ou coopera o O aluno apresenta as telas da aplica o e justifica suas escolhas A segunda parte do trabalho consiste em efetuar um estudo comparativo de aplica es colaborativas Capitulo 5 Estudos de Caso 173 similares escolhida fornecendo subs dios para o aprimoramento da ferramenta Para este aprimoramento o aluno prop e a incorpora o de servi os e funcionalidades que estendam e complementem os tr s Cs analisados anteriormente Na terceira parte do trabalho o aluno apresenta uma arquitetura e um prot tipo que ofere a suporte extens o do sistema utilizando a infra estrutura e o
339. ponentes de groupware direita Rubart amp Dawabi 2002 31 Figura 2 2 Diagrama de classes apresentando componentes de groupware que executam tarefas em um mesmo objeto compartilhado erre reereeeraracenraenerananda 32 Figura 2 3 Extens o da UML para modelar sess es e n s de processamento 33 Figura 2 4 Padr es de projeto para groupware rec eeereeeraracararaeneracaaana 34 Figura 2 5 Arquitetura proposta por Tietze 2001 rrenan 36 Figura 2 6 Arquitetura gen rica de groupware proposta por Dewan 1998 37 Figura 2 7 Clover Architecure Laurillau amp Nigay 2002 a 38 Figura 2 8 Exemplo de conex es entre componentes OMG 2005 0 0 eceeesecssseceeeeceeeeeeeceeeeens 41 Figura 2 9 Aplica es desenvolvidas utilizando o GroupkKit rea 58 Figura 2 10 Sele o de servi os no Lumis errar reeaereereeaereereeearanan o 60 Figura 2 11 Interface administrativa do Mambo ser eraeereeaenreracaanna 61 Figura 2 12 Gerenciamento de servi os no XOOPS eee 61 Figura 2 13 Atividades do processo CBD Arch DE Blois et al 2004 0 eeeeecseeeeeneeeeeeeeee 67 Figura 2 14 An lise do dom nio no processo CBD Arch DE Blois et al 2004 68 Figura 3 1 O diagrama do modelo 3C de colabora o
340. pp 109 112 Pimentel M G Gerosa M A Filippo D Barreto C G Raposo A B Fuks H amp Lucena C J P 2005 AulaNet 3 0 desenvolvendo aplica es colaborativas baseadas em componentes 3C Anais do WCSCW2005 Workshop Brasileiro de Tecnologias para Colabora o 07 08 de Novembro Juiz de Fora MG pp 761 770 Gerosa M A Pimentel M G Fuks H amp Lucena C J P 2005 No Need to Read Messages Right Now Helping Mediators to Steer Educational Forums Using Statistical and Visual Information Proceedings of the Computer Supported Collaborative Learning Conference CSCL 2005 01 04 June Taipei Taiwan ISBN 0 8058 5782 6 pp 160 169 Artigos Publicados pelo Autor da Tese 273 Pimentel M G Gerosa M A Fuks H amp Lucena C J P 2005 Assessment of Collaboration in Online Courses Proceedings of the Computer Supported Collaborative Learning Conference CSCL 2005 01 04 June Taipei Taiwan ISBN 0 8058 5782 6 pp 494 498 Gerosa M A Pimentel M Raposo A B Fuks H Lucena C J P Towards an Engineering Approach for Groupware Development Learning from the AulaNet LMS Development Proceedings of the 9 International Conference on CSCW in Design CSCWiD Vol 1 Coventry U K May 2005 ISBN 1 84600 004 1 pp 329 333 Gerosa M A Raposo A B Fuks H amp Lucena C J P 2004 Uma Arquitetura para o Desenvolvimento de Ferramentas Colaborativas para o Ambiente de A
341. prendizagem AulaNet Anais do XV Simp sio Brasileiro de Inform tica na Educa o SBIE 2004 09 12 de Novembro Manaus AM ISBN 85 7401 161 4 pp 168 177 Fuks H Raposo A B Gerosa M A Pimentel M G amp Lucena C J P 2004 Suporte Coordena o e Coopera o em uma Ferramenta de Comunica o Textual Assincrona Um Estudo de Caso no Ambiente AulaNet Anais do I Workshop Brasileiro de Tecnologias para Colabora o WCSCW 2004 em conjunto ao WebMidia amp LA Web 2004 13 14 de Outubro Ribeir o Preto SP ISBN 85 7669 010 1 pp 173 180 Gerosa M A Barreto C G Raposo A B Fuks H amp Lucena C J P 2004 O Uso de uma Arquitetura Baseada em Componentes para Incrementar um Servi o do Ambiente AulaNet Anais do 4 Workshop de Desenvolvimento Baseado em Componentes WDBC 2004 15 17 de Setembro Joao Pessoa PB ISBN 85 7669 001 2 pp 55 60 Raposo A B Gerosa M A amp Fuks H 2004 Combining Communication and Coordination toward Articulation of Collaborative Activities 10 International Workshop on Groupware CRIWG 2004 5 9 September San Carlos Costa Rica Lecture Notes on Computer Science LNCS 3198 Springer Verlag ISBN 3540 230165 ISSN 0302 9743 pp 121 136 Gerosa M A Pimentel M G Fuks H amp Lucena C J P 2004 Analyzing Discourse Structure to Coordinate Educational Forums The 7 International Conference on Intelligent Tutoring Systems ITS 2004 Ma
342. priedades s o mapeadas para os demais artefatos do dom nio que s o gerados com base no modelo de caracter sticas Ap s a identifica o das caracter sticas s o identificados os tipos de neg cio que representam os aspectos est ticos do dom nio candidatos a persist ncia no contexto do projeto e os casos de uso associados Capitulo 2 Revisao da Literatura 68 Identifica o de contextos dom nios e subdom nios Existem outros artefatos ligados a feature ainda n o criados n o Dom nios e sub dominios identificados sim Identifica o de Tipos de Neg cio Identifica o de Casos de Uso n o Identifica o de Features Existem outrosS artefatos ligados a feature ainda n o criados Figura 2 14 An lise do dom nio no processo CBD Arch DE Blois et al 2004 O projeto do dom nio envolve a cria o composi o e gera o de uma arquitetura de componentes e de suas interfaces A cria o de componentes do dom nio efetuada com base em estilos arquiteturais baseado em tipos de neg cio sendo especificados o conjunto de classes que os implementam seus m todos atributos e relacionamentos Ap s a defini o dos componentes e interfaces procura se agrupar os componentes relacionados por crit rios de acoplamento e coes o para obter um grau de granularidade adequado A ltima atividade do processo a implementa o do dom nio Nesta etapa feito o mapeamento dos comp
343. primeiras edi es do curso apresenta uma implementa o t pica para um chat conforme ilustrado na Figura 5 12 H uma caixa de texto para digita o da mensagem uma rea de texto onde as mensagens s o postadas e uma lista dos participantes conectados Este servi o utilizado para uma discuss o guiada pelo moderador da semana auxiliado pelos mediadores Debate de sisstema enquadra se como groupware Eff Geraldo Jos Moraes lt Marcelo Lopes Oliveira gt Primeiro depende do objetivo Gustavo T Borges lt Pablo Santos gt Quem conhece o Director lt Marcelo Lopes Oliveira gt Gustavo o pr prio Word pode se prestar Humberto Lins Liane Pereira Queiroz de Castro aA A i o Luciana Sampaio Rocha disp e de funcionalidades para isto Marcelo Lopes Oliveira lt Liane Pereira Queiroz de Castro gt um aspecto que considero impe Pablo Santos capacidade de fornecer uma mem ria do processo que est sen desenvolvido lt Alessandro Fabr cio Garcia gt concordo com a Liane uma boa aplic groupware nao deve requerer grande carga de memoria do usuario lt Humberto Lins gt E deve ajudar a memoria do grupo lt Liane Pereira Queiroz de Castro gt Acredito que o contrario grou ajudar no processo de autoria pois pode facilitar o processo de col entre os componentes da equipe Figura 5 12 A vers o 1 0 do servi o Debate do AulaNet At recentemente n o havia uma din mica pr estabelecida para a discu
344. pwares montados a partir de servi os e servi os montados a partir de componentes de colabora o Conforme discutido no cap tulo anterior mesmo um servi o de comunica o como um f rum de discuss o al m dos componentes de comunica o utiliza componentes de coordena o e de coopera o Os componentes de colabora o de um C s o reusados nos servi os dos demais Cs Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 123 4 2 O Collaboration Component Kit O objetivo da abordagem proposta instrumentar o desenvolvedor com component kits para serem usados na montagem dos groupwares e dos servi os colaborativos Para obter o conjunto de componentes necess ria uma engenharia do dom nio A an lise do dom nio primeiro passo da engenharia foi elaborada neste trabalho com base na experi ncia do grupo desenvolvedor do AulaNet que atua h 8 anos no desenvolvimento de ferramentas para colabora o na literatura e na an lise de ferramentas colaborativas Entre outras foram analisadas as ferramentas de comunica o dos diversos groupware apresentados na Tabela 4 1 A an lise do dom nio foi restrita s ferramentas de comunica o que al m dos elementos de comunica o apresentam uma representatividade de elementos de coordena o e de coopera o A an lise das ferramentas foi guiada pelo modelo 3C sendo analisadas sob a perspectiva da comunica o coordena o e coopera o Os modelos de
345. que mant m um link bidirecional entre a arquitetura conceitual e a implementa o possibilitando ao desenvolvedor uma transi o suave entre os n veis A abordagem foi utilizada na constru o do toolkit TeleComputing Developer TCD Guicking et al 2005 prop em o framework Agilo voltado para integra o de aplica es colaborativas O framework flexibiliza a infra estrutura de comunica o e os modelos de distribui o de compartilhamento de concorr ncia e de sincroniza o oferecendo para eles implementa es recorrentes 2 4 Engenharia do Dom nio e Componentes A engenharia de dom nio objetiva disponibilizar componentes que implementam os conceitos de um dom nio de software em particular e possam ser reusados para implementar novas aplica es deste dom nio Werner amp Braga 2005 Ao mapear conceitos do dom nio aumenta se a chance de reuso em todas as fases do desenvolvimento desde a an lise at a implanta o e n o considerada somente uma nica aplica o mas sim uma fam lia Esta abordagem torna o grau de reuso de um dado componente maior assim como seu entendimento uma vez que ser diretamente mapeado no dom nio da aplica o menor dist ncia sem ntica D Souza amp Wills 1998 p 720 O componente codificado espa o da solu o de acordo com as necessidades do dom nio espa o do problema A engenharia do dom nio possibilita a uniformidade dos conceitos tratados pelos envolvi
346. rakash A 2000 Developing Adaptive Groupware Applications Using a Mobile Computing Framework Proceedings of the ACM Conference on Computer Supported Cooperative Work CSCW 00 pp 107 116 Liu Y Shi Y amp Xu G 2001 Supporting Group Awareness in Collaborative Design Proceeding of Computer Supported Cooperative Work in Design 2001 London Jul 2001 Long B amp Baecker R 1997 A taxonomy of Internet communication tools Proceedings of WebNet World Conference of the WWW Internet and Intranet Toronto Canada ISBN 1 880094 27 4 pp 318 323 Lucena C J P amp Fuks H 2000 Professores e Aprendizes na Web A Educa o na Era da Internet ISBN 85 88011 01 8 Editora Clube do Futuro Rio de Janeiro 2000 Lucena C J P Fuks H Milidiu R Macedo L Santos N Laufer C Blois M Fontoura M F Choren R Pinto S C C S Torres V Daflon L amp Lukowiecki L 1998 AulaNet An Environment for the Development and Maintenance of Courses on the Web Proceedings of ICEE 98 International Conference On Engineering Education Rio de Janeiro 1998 Lukosch S amp Schiimmer T 2004 Patterns for Managing Shared Objects in Groupware Systems Proceedings of the 9 European Conference on Pattern Languages and Programs Irsee Germany Mackenzie J 1985 No Logic before Friday Synthese V 63 pp 329 341 Magnusson M amp Svensson L 2000 Studying how students study Work orien
347. rationObj Concept get Assessment obj CooperationObj setConcepts Collection concepts getCooperationObs a Concept setDefaultConcept value setCommnet author all mediators String set Assessment Model model set Assessment obj CoopObj float grade Figura B 7 Componente AssessmentMgr e suas interfaces Usos conhecidos Confer ncias Correio para Turma e Debate Componentes relacionados CooperationObjMgr B 2 2 RoleMgr Nome RoleMgr Inten o Cuida do gerenciamento dos pap is atribu dos aos participantes Aplicabilidade O gerenciamento de pap is possibilita a atribui o de permiss es e tarefas espec ficas para determinadas fun es dos participantes Variabilidade Pode se configurar o conjunto de pap is Estrutura O componente RoleMgr possui duas interfaces fornecidas IRoleMgrMegr e IRoleMgrConfig e uma interface requerida Participant conforme ilustrado na Figura B 8 A interface IRoleMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo atribui o dos pap is recupera o dos participantes de um papel etc A interface IRoleMgrMgrConfig disponibiliza os servi os relativos configura o do componente como defini o do conjunto de pap is O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o 236 IRoleMgrConfig IRoleMgr E O Role Role
348. rdena o e s o realizadas durante a coopera o Atrav s de mecanismos de percep o o indiv duo obt m feedback de suas a es e feedthrough das a es de seus colegas Ao cooperar necess rio renegociar e tomar decis es sobre situa es inesperadas o que requer novas rodadas de comunica o e coordena o A colabora o pode ser decomposta em atividades e cada atividade pode ser decomposta em subatividades com um planejamento participantes e metodologias pr prios Cada uma destas subatividades possui necessidades distintas de comunica o coordena o e coopera o Antes de efetivamente executar uma tarefa por exemplo o grupo se organiza e se articula Nesta atividade tamb m h necessidades espec ficas de colabora o que s o distintas das necessidades que Capitulo 3 O Modelo 3C de Colabora o 78 ocorrem durante a execu o da tarefa Os indiv duos que planejam podem n o ser os mesmos que executam como normalmente ocorre na linha de montagem onde as atividades s o planejadas e posteriormente cada indiv duo realiza sua tarefa sem interagir diretamente com os demais Na colabora o o plano renegociado dinamicamente n o sendo poss vel separar plenamente a coordena o da coopera o Enquanto os indiv duos colaboram eles aprendem e refinam os processos de trabalho renegociando os planos iniciais e intercalando a o e negocia o O groupware deve dar suporte a esta flexibilidade de rene
349. re Kluwer In Press Dispon vel em http grouplab cpsc ucalgary ca papers consulta 15 de janeiro de 2006 Greif I 1988 Computer Supported Cooperative Work A book of readings Morgan Kaufmann Publishers USA 1988 ISBN 0 934613 57 5 Griss M L 2001 Product Line Architectures in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Gross T 1997 Towards flexible support for cooperation group awareness in shared workspaces DEXA 97 Fran a IEEE Los Alamitos CA pp 406 411 Grosz B J 1996 Collaborative systems AI Magazine 17 2 pp 67 85 Groupware Patterns Swiki 2005 http www groupware patterns org Grudin J 1989 Why Groupware Applications Fail Problems In Design And Evaluation Office Technology and People Vol 4 No 3 pp 245 264 Grundy J C Mugridge W B amp Hosking J G 1997 A Java based Componentware Toolkit for constructing Multi view Editing Systems Proceedings of the 2 Component Users Conference CUC 97 Munich July 15 18 Guerrero L amp Fuller D 1999 A Web Based OO Platform for the Development of Multimedia Collaborative Applications Decision Support Systems v 27 n 3 pp 255 268 Guicking A Tandler P amp Avgeriou P 2005 Agilo A Highly Flexible Groupware Framework Proceeding of the 11 International Workshop on Groupware CRIWG 2005 Porto
350. riar entendimento compartilhado Schrage 1995 Os compromissos s o assumidos durante a comunica o e a coordena o gerencia as tarefas necess rias para cumprir os compromissos Por m para que as tarefas sejam realizadas em grupo necess rio espa o compartilhado 3 6 Coopera o Produ o no Espa o Compartilhado De acordo com o dicion rio Houaiss 2001 cooperar atuar juntamente com outros para um mesmo fim contribuir com trabalho esfor os aux lio No trabalho em grupo coopera o a opera o conjunta dos participantes no espa o compartilhado visando a realiza o das tarefas Durante a coopera o os participantes produzem manipulam refinam e organizam objetos como documentos planilhas gr ficos etc Para atuar nos objetos os participantes contam com mecanismos de express o e para se informar dos resultados de suas atua es feedback e das a es de seus colegas feedthrough disp em de informa es de percep o Os participantes usam estas informa es para planejar as intera es subseqiientes Neisser 1976 A coopera o s ncrona como nos whiteboards ou ass ncronas como nos reposit rios de arquivos fracamente acoplada como na linha de montagem ou fortemente acoplada como nos editores cooperativos Streitz et al 1992 Algumas ferramentas disponibilizam um espa o privativo para que o indiv duo trabalhe antes de se expor e oferecem suporte transi o entr
351. riguar em um novo contexto se os motivos pelos quais as decis es de projeto foram tomadas continuam v lidos embasando a tomada de decis es Andrade et al 2002 H ferramentas na literatura que utilizam o hipertexto para a organiza o da mem ria do grupo Shum amp Hammond 1994 Algumas possibilitam ligar os artefatos ao espa o compartilhado explicitando nestas liga es as intera es que os originaram Os contextos dos artefatos e das intera es s o preservados facilitando o seu entendimento e a posterior recupera o servindo de base para uma etapa de p s articula o A mem ria do grupo passa a ser formada pelos artefatos mem ria do produto e pelas redes de informa es compostas pelos fatos hip teses restri es decis es e argumentos mem ria do processo Por exemplo o Evolving Artifact Ostwald 1995 voltado para o desenvolvimento de software integra documenta o baseada em hipertexto com prot tipos e possibilita a partir da documenta o executar o prot tipo Os usu rios registram seus coment rios e cr ticas ao interagir com o software O artefato prot tipo possibilita que os envolvidos no processo do desenvolvimento reflitam sobre as conseqii ncias do projeto Sch n 1983 Sch n amp Bennet 1996 Capitulo 3 O Modelo 3C de Colabora o 104 Algumas ferramentas possibilitam que os participantes avaliem e ranqueiem os objetos presentes no reposit rio compartilhado de modo a dar s
352. rio br Cap tulos de Livros Fuks H Pimentel M G Gerosa M A Fernandes M C P amp Lucena C J P 2006 Novas Estrat gias de Avalia o Online Aplica es e Implica es em um Curso totalmente a Dist ncia atrav s do Ambiente AulaNet EaD Online Avalia o t tulo provis rio Silva M ed Edi es Loyola Rio de Janeiro a ser publicado Fuks H Gerosa M A amp Lucena C J P 2003 Using the AulaNet Learning Environment to Implement Collaborative Learning via Internet in Innovations 2003 World Innovations in Engineering Education and Research Aung et al ed INEER USA 2003 Chap 23 ISBN 0 9741252 0 2 pp 225 235 Fuks H Cunha M L Gerosa M A amp Lucena C J P 2003 Participa o e Avalia o no Ambiente Virtual AulaNet da PUC Rio EaD Online Teorias e Pr ticas Silva M ed Edi es Loyola Rio de Janeiro 2003 ISBN 85 15 02822 0 Cap 15 pp 231 254 Fuks H Gerosa M A amp Pimentel M G 2003 Projeto de Comunica o em Groupware Desenvolvimento Interface e Utiliza o XXII Jornada de Atualiza o em Inform tica Anais do XXIII Congresso da Sociedade Brasileira de Computa o V2 Cap 7 ISBN 85 88442 59 0 pp 295 338 Fuks H Raposo A B amp Gerosa M A 2002 Engenharia de Groupware Desenvolvimento de Aplica es Colaborativas XXI Jornada de Atualiza o em Inform tica Anais do XXII Congresso da Sociedade Bra
353. rizationMgrConfig que oferece os servi os de configura o do componente como manuten o do conjunto de categorias estabelecimento da categoria default etc Category que representa a categoria em si e ICategorizableObj que implementada no servi o colaborativo pelo respectivo objeto a ser categorizado ICategorizationMgrConfig ICategorizationMgr SN H O Category CategorizationMgr F ICategorizableObj Figura 4 8 Componente de categoriza o de mensagens A Tabela 4 3 apresenta os componentes de coordena o do Collaboration Component Kit Estes componentes objetivam oferecer suporte computacional organiza o do grupo lidando com o acesso dos participantes com as tarefas atribu das e com os recursos alocados O componente AssessmentMgr lida com a avalia o de mensagens o RoleMgr com a gest o dos pap is dos participantes o PermissionMgr com as permiss es o ParticipantMgr com os participantes do grupo o GroupMgr com a cria o de grupos e subgrupos o SessionMgr com a ger ncia das sess es o FloorControlMgr com as t cnicas de conversa o e pol ticas de acesso o TaskMgr com as tarefas e atividades e o CompetencyMgr com a gest o das compet ncias dos participantes do grupo Tamb m s o tratadas atrav s dos componentes AwarenessMgr e AvailabilityMgr as informa es de percep o voltadas para o feedback e feedthrough O componente NotificationMgr respons vel pelo envi
354. rme ilustrado na Figura B 21 A interface IActionLogMgr disponibiliza os servi os relativos utiliza o do componente como por exemplo registro e recupera o de a es A interface IActionLogMgrConfig disponibiliza os servi os relativos configura o do componente como defini o dos tipos e n veis de log O componente pode ser configurado atrav s desta interface e por seu arquivo descritor Ap ndice B Descri o dos Componentes de Colabora o IActionLogMgrConfig IActionLogMgr ActionLogMgr E O Action O LogType Participant lt lt interface gt gt IActionLogMgr getActions getActions p Participant getParticipant a Action setLog a Action t LogT ype IActionLogMgrConfig 1 LogType removeLogType t LogType getLogT ypes updateCategoy t LogT ype lt lt interface gt gt addLogT ype t LogT ype disableLogT ype t LogT ype enableLogT ype t LogT ype Figura B 21 Componente ActionLogMgr e suas interfaces Usos conhecidos Todos os servi os do AulaNet Componentes relacionados ParticipantMgr B 3 5 AccessRegistrationMgr Nome AccessRegistrationMgr Inten o Registra os acessos dos participantes para cada objeto possibilitando um controle do que j foi visitado Aplicabilidade Registrando o acesso aos objetos poss vel exibir diferentemente os conte dos n o visitados embasando a navega o dos participantes V
355. rmidade com mais de uma interface fornecida As depend ncias de contexto s o definidas pelas interfaces requeridas Szyperski 1997 p 369 Ap ndice A Componentes e Frameworks 207 componente OrderEntry components a ShoppingCart OrderEnty Order Orderableltem componens S Orderableltem Q Service Orderableltem components z Product Figura A 3 Conex o entre os componentes OMG 2005 A implementa o de interface da orienta o a objetos pode ser utilizada para implementar o conceito de interface de componente Propriedade e eventos s o mapeados na forma de m todos por m alguns aspectos da interface como os aspectos n o funcionais e as interfaces requeridas n o s o pass veis de representa o Gimenes amp Huzita 2005 D Souza amp Wills 1998 p 388 Alguns modelos de componentes definem maneiras pr prias para representar a interface como por exemplo a IDL Interface Definition Language do CORBA Siegel 2000 Um componente implementa diretamente uma interface ou implementa objetos que prov em interfaces Szyperski 1997 p 41 Estes objetos s o passados de componente em componente de modo que um componente n o tem ci ncia da origem do objeto e do c digo sendo executado Szyperski 1997 p 42 Chama se de inst ncia de componente o conjunto de objetos pelos quais se manipula o componente Szyperski 1997 p 370 Estes objetos s o a manifesta o do compo
356. rnas e sobre as configura es do componente Este arquivo utilizado pela infra estrutura de execu o para instalar e configurar o componente Weinreich amp Sametinger 2001 p 44 Ao implementar um componente atrav s da orienta o a objetos as interfaces definem o modelo de objetos compat vel Os objetos s o passados de componente em componente de modo que um componente n o tem ci ncia da origem dos dados e do c digo sendo executado Szyperski 1997 p 42 Chama se de inst ncia de componente o conjunto de objetos pelos quais se manipula o componente Szyperski 1997 p 370 Estes objetos s o a manifesta o do componente em tempo de execu o D Souza amp Wills 1998 p 390 Um component kit um conjunto de componentes interoper veis aderentes a uma padroniza o D Souza amp Wills 1998 p 404 De um kit de componentes gera se uma fam lia de aplica es fazendo diferentes arranjos e eventualmente desenvolvendo alguns sob medida Wills 2001 p 309 Para desenvolver um Capitulo 2 Revisao da Literatura 43 component kit s o analisadas aplica es similares e s o identificados e generalizados componentes comuns D Souza amp Wills 1998 p 385 Um component framework um conjunto de interfaces e regras de intera o que possibilitam a implanta o de componentes aderentes a um certo padr o Szyperski 1997 p 26 p 280 O component framework estabelece as condi es ambientai
357. rocesso de desenvolvimento para instrumentar o desenvolvedor de groupware A pr pria abordagem que prop e a utiliza o de componentes de software para mapear a modelagem do dom nio propicia a evolu o da solu o de modo a acompanhar o refinamento do modelo de colabora o 4 Montagem de Groupware e de Servicos Colaborativos Neste cap tulo descrita a abordagem utilizada discutindo os tipos de componentes adotados os component kits propostos a arquitetura e o modelo de componentes utilizados a maneira de descrever os componentes de instanciar groupware e de utilizar frameworks do dom nio para complementar a solu o proposta 4 1 Componentes de Groupware e de Colabora o Um groupware normalmente oferece ao participante um ambiente com um conjunto de ferramentas colaborativas utilizadas nos diferentes momentos da colabora o A Tabela 4 1 apresenta as ferramentas encontradas nos sistemas de groupware AulaNet TelEduc AVA WebCT e Moodle do dom nio educacional e GroupSystems YahooGroups OpenGroupware e BSCW voltados para o trabalho em grupo http www eduweb com br http teleduc nied unicamp br http ava unisinos br L http www webct com 2 http www moodle org S http www groupsystems com 14 http groups yahoo com 5 http www opengroupware org 16 http bscw fit fraunhofer de Data de consulta 15 de janeiro de 2006 Capitulo 4 Montagem de Groupware e
358. ros fatores considerados ao projetar a ferramenta com rela o linguagem s o o vocabul rio permitido e o proibido as maneiras de chamar a aten o as regras de constru o as seqii ncias legais e os caminhos de conversa o Um exemplo de ferramenta com caminhos de conversa o que restringem as poss veis dire es que a conversa o pode tomar o Coordinator Winograd amp Flores 1987 Nesta ferramenta a conversa o s pode fluir por caminhos pr definidos Este recurso formaliza a conversa o e n o usado quando a flu ncia requerida A argumenta o est ligada sem ntica da conversa o Para oferecer suporte computacional argumenta o a ferramenta atua na detec o e corre o de rupturas na estrutura o da argumenta o no suporte a dial tica e ret rica ou na gest o dos compromissos negociados Neste ltimo caso pode se utilizar o modelo descrito por Mackenzie 1985 e Raposo et al 2004 para oferecer suporte computacional ao processo de argumenta o e negocia o Para utilizar estes modelos a conversa o deve ser formal e seguir uma m quina de estados bem definida Laufer amp Fuks 1995 Por lidar com conhecimentos inten es e compromissos oferecer suporte computacional argumenta o n o trivial A ferramenta deve oferecer suporte direto a atividades como negocia o persuas o convencimento entendimento alinhamento de id ias entre outras Mu
359. roupware ainda est nesta etapa Na fase de Empiricism a tecnologia se torna bem disseminada e adquirida uma larga experi ncia na aplica o da tecnologia a situa es pr ticas e reais Com base na experi ncia adquirida s o formuladas regras emp ricas que s o descritas textualmente boas pr ticas padr es e guidelines ou implementadas em ferramentas que as encapsulem e instrumentem o desenvolvedor Ao ser adquirida mais experi ncia teorias s o desenvolvidas e validadas fase de Theory e posteriormente automatizadas fase de Automation A fase de Maturity atingida quando as tecnologias e teorias s o utilizadas rotineiramente de forma transparente e sem questionamentos Gaines 1999 A abordagem proposta nesta tese visa instrumentar o desenvolvedor de groupware com componentes concebidos com base no modelo 3C de colabora o O desenvolvedor parte do levantamento de requisitos e da an lise do dom nio e seleciona os componentes necess rios para oferecer suporte computacional din mica estabelecida para a colabora o Os conceitos abordados no modelo 3C Cap tulo 6 Conclus o 186 s o usados para guiar a especifica o do groupware e prov em uma linguagem comum para representar e descrever aspectos da colabora o Os conceitos da modelagem do dom nio que neste caso s o referentes colabora o permeiam as diversas atividades e artefatos do desenvolvimento A modelagem realizada mapeada imple
360. rramentas Segundo o Modelo 3C Workshop de Inform tica na Escola Congresso da Sociedade Brasileira de Computa o 2005 Teles V M 2004 Extreme Programming Aprenda como encantar seus usu rios desenvolvendo software com agilidade e alta qualidade ed Novatec ISBN 8575220470 Tietze D A A Framework for Developing Component based Co operative Applications PhD Dissertation Computer Science Technischen Universitat Darmstadt Germany 2001 Tripathi A Ahmed T Kumar R amp Jaman S 2002 Design of a Policy Driven Middleware for Secure Distributed Collaboration Proceedings of the 22 International Conference on Distributed Computing System ICDCS Vienna Austria July 2002 Tse E amp Greenberg S 2004 Rapidly Prototyping Single Display Groupware through the SDGToolkit Proceedings of the 5 Australasian User Interface Conference Volume 28 in the CRPIT Conferences in Research and Practice in Information Technology Series Dunedin NZ pp 101 110 van der Veer G C Lenting B F amp Bergevoet B A J 1996 GTA Groupware Task Analysis Modeling Complexity Acta Psychologica 91 1996 pp 297 322 Wan D amp Johnson P M 1994 Computer Supported Collaborative Learning Using CLARE the Approach and Experimental Findings Proceedings of ACM Conference on Computer Supported Cooperative Work Chapel Hill North Carolina 1994 Refer ncias Bibliogr ficas 270 Weinreich R amp
361. rramentas de comunica o Conforme discutido no cap tulo anterior o suporte coordena o em uma ferramenta de comunica o est relacionado s pol ticas de acesso ao canal gest o de tarefas e participantes e ao acompanhamento da participa o O modelo da Figura 4 6 sumariza a an lise da coordena o nas ferramentas de comunica o As ferramentas de comunica o apresentam um gerenciamento de permiss es de acesso associado a participantes ou a pap is Os pap is s o utilizados associados a tarefas no escopo de uma atividade Eventualmente as tarefas s o acompanhadas atrav s de uma m quina de workflow As participa es dos indiv duos principalmente em ferramentas de comunica o ligadas ao ensino aprendizagem s o avaliadas de modo a prover dados para o acompanhamento qualitativo da participa o Fuks et al 2003 A avalia o de mensagens prov subs dio para a gest o de compet ncia dos participantes que utilizada para definir a din mica das atividades a associa o de pap is e a defini o de Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 125 subgrupos A participa o ocorre no contexto de uma sess o e embasada em informa es de percep o como por exemplo a informa o de que um determinado participante est escrevendo uma mensagem Algumas ferramentas disponibilizam informa es sobre a presen a e a disponibilidade dos participantes de modo a propiciar uma melh
362. rsos para tratar ambos da mesma maneira RD5 Acesso s informa es de percep o David necessita acesso s informa es necess rias para prover aos participantes informa es de percep o RD6 Disponibiliza o de novas ferramentas A infra estrutura n o deve oferecer dificuldades para a disponibiliza o de novas ferramentas RD7 Escalabilidade A performance da infra estrutura n o se degrada perceptivelmente quando novos usu rios se conectam 2 RD8 Integra o com ferramentas externas A infra estrutura adapt vel para possibilitar a integra o do ambiente a ferramentas externas RD9 Suporte a ferramentas localizadas no servidor A infra estrutura prov recursos para que ferramentas sejam executadas no servidor como nos casos em que necess rio acesso direto a determinados recursos ou execu o ininterrupta Capitulo 2 Revisao da Literatura 31 2 1 2 UML Estendida Ao projetar e desenvolver software necess ria uma nota o comum entre os envolvidos para que eles possam documentar e debater sobre o projeto do sistema A nota o de projeto que se tornou padr o e largamente utilizada pela ind stria a UML Unified Modeling Language A UML uma nota o extens vel que inclui defini es de diagramas de modelagem para as diversas atividades do desenvolvimento desde as primeiras at as mais refinadas Booch et al 2000 Para prop sitos de extensibilidade a
363. rtal System XSL Extensible Style Language 1 Introducao Douglas Engelbart 1968 apontou a relev ncia das aplica es desktop para automa o de escrit rio para hipertexto e para grupos Hoje as duas primeiras s o largamente difundidas utilizadas e comercialmente aceitas enquanto a tecnologia para groupware ainda encarada como inst vel e comercialmente arriscada al m de possuir poucos produtos Greenberg 2006 Em grande parte das empresas o suporte computacional colabora o se limita a sistemas para troca de mensagens ou arquivamento de documentos A tecnologia de groupware ainda n o atingiu seu potencial de utiliza o Greenberg 2006 argumenta que a pesquisa em CSCW Computer Supported Cooperative Work est bastante avan ada por m falta um ferramental que simplifique a programa o de aplica es colaborativas e promova o avan o na criatividade e o estabelecimento de uma massa cr tica de utiliza o Markus amp Connolly 1990 As aplica es desktop foram impulsionadas pelo advento das interfaces gr ficas com o usu rio e dos toolkits de widgets que possibilitaram programadores medianos construir aplica es arrastando e configurando componentes O advento do HTML com sua simplicidade e toler ncia a erros e dos editores WYSIWYG What You See Is What You Get possibilitou que o desenvolvimento de hipertexto seja ensinado at em escolas prim rias No desenvolvimento de groupware ainda s o nece
364. s e regula a intera o entre as inst ncias dos componentes Um container uma plataforma normalmente desenvolvida por terceiros com o objetivo de hospedar e gerenciar componentes de um determinado modelo provendo servi os de infra estrutura de execu o como gerenciamento de transa es distribu das pooling de recursos acesso concorrente seguran a persist ncia etc D Souza amp Wills 1998 p 401 Os servi os providos pelo container e pelos component frameworks liberam os desenvolvedores de implementar servi os t cnicos de baixo n vel de modo que direcionem seus esfor os para as regras de neg cio e para a composi o do sistema Alguns containeres possibilitam separar aspectos n o relacionados l gica da aplica o possibilitando modific los sem alterar o componente O container define uma interface que estabelece a conex o com os componentes chamada de lifecycle interface que acessada pelo container para gerenciar a inicializa o execu o e ativa o do componente Schwarz et al 2003 A arquitetura da aplica o descreve as propriedades restri es e relacionamentos de suas partes Stafford amp Wolf 2001 p 373 O desenvolvimento baseado em componentes considera pelo menos duas vis es da arquitetura arquitetura de aplica o e arquitetura t cnica D Souza amp Wills 1998 p 483 Na arquitetura de aplica o s o definidas a fun o de cada componente no contexto do sistema e a
365. s similares Um revisor do WCSCW 2004 acredita que a abordagem de desenvolvimento baseado em componentes fundamentados no modelo 3C de colabora o promissora levando em considera o fatores como reuso flexibilidade manuten o tailorability qualidade etc Um revisor do SBIE 2004 afirma que a arquitetura proposta propicia a adapta o para as necessidades de grupos espec ficos e possibilita a incorpora o de novos componentes o que desej vel dado a variedade de situa es nas quais os sistemas colaborativos s o utilizados Um revisor do CSCWiD 2005 acredita que a proposta bastante atrativa Um revisor do WDBC 2005 afirma que o uso de componentes em aplica es colaborativas particularmente no AulaNet uma excelente id ia para tornar o sistema mais flex vel e facilitar sua evolu o o que freqiientemente necess rio Um revisor do IJCIS ao recomendar a aceita o do artigo afirma que feita uma discuss o do modelo 3C que serve de suporte para o desenvolvimento de sistemas colaborativos em especial para learningware Outro ind cio da aceita o da proposta relativo quantidade de cita es em artigos de pesquisadores externos ao grupo de pesquisa no qual esta tese est inserida Apesar de este ind cio necessitar de alguns anos para se tornar mais preciso foram encontrados 26 cita es a artigos apresentados na Tabela 5 6 As cita es foram encontradas em buscas em mecanismos da Internet A
366. s componentes 3C propostos nesta tese Enunciado dos Trabalhos de Groupware LES Engenharia de Groupware 10 08 2004 Trabalho 1 An lise de uma aplica o com base no modelo 3C 05 10 2005 O aprendiz dever analisar os servi os oferecidos por uma aplica o n o necessariamente colaborativa cuja escolha ser negociada com os mediadores Dever classificar os servi os desta aplica o em comunica o coordena o ou coopera o Tamb m dever o ser analisados elementos de cada um dos Cs O aprendiz dever apresentar o trabalho em sala de aula no dia marcado O aprendiz dever deixar bem claro nos slides de sua apresenta o a classifica o dos servi os e elementos em fun o de cada C bem como apresentar telas da aplica o que justifique esta classifica o Trabalho 2 Incorpora o de servi os aplica o 26 10 2005 O aprendiz dever propor a incorpora o de servi os que aprimorem e complementem os 3C s aplica o do trabalho anterior A primeira etapa do Trabalho 2 consiste em fazer um estudo comparativo de aplica es colaborativas similares escolhida fornecendo os subs dios para o aprimoramento solicitado acima O aprendiz dever apresentar o trabalho em sala de aula no dia marcado Trabalho 3 Projeto baseado no modelo 3C 07 12 2005 O aprendiz dever apresentar uma arquitetura e um prot tipo que d suporte ao sistema proposto no trabalho 2 O aprendiz dever apresentar o traba
367. s e conhecidos pela comunidade de pesquisa em m dulos pass veis de serem incorporados ao software com pouco esfor o de programa o caracter stica 4 A abordagem e a arquitetura propostas nesta tese implementam e disponibilizam na forma de componentes diversos aspectos do modelo 3C de colabora o e possibilitam que novos conceitos ou varia es dos existentes sejam disponibilizados em componentes que s o integr veis s ferramentas colaborativas O conjunto de componentes disponibilizados apresenta funcionalidades de uma maneira coesa e fracamente acoplada pela pr pria natureza dos componentes de software caracter stica 5 Por fim Greenberg 2006 afirma que as adapta es simples devem ser conseguidas com poucas linhas de c digo caracter stica 6 Os estudos de caso apresentados no Cap tulo 5 desta tese mostram que diversas adapta es s o realizadas atrav s de customiza es ou substitui es de componentes por vers es mais robustas Quando estas op es n o forem suficientes um novo componente desenvolvido e respeitando se as interfaces definidas na arquitetura incorporado e integrado aos componentes existentes Ao disponibilizar um conjunto de componentes fundamentados em um modelo de colabora o e constru dos de modo a encapsular as dificuldades t cnicas de sistemas distribu dos e multi usu rio estabelecida uma linguagem atrav s da qual os desenvolvedores pensam e investigam o suporte computacional
368. s refer ncias est o listadas em ordem alfab tica na Tabela 5 8 Capitulo 5 Estudos de Caso 171 Artigo Cita o ASSUN O C FF REAMI E R ZUFFO M K amp LOPES R D 2004 MediColl Ambiente Cooperativo para Apoio ao Diagn stico M dico Dist ncia IX CBIS Congresso Brasileiro de Inform tica na Sa de 2004 Ribeir o Preto BRENNAND C A R L LINS NETO J H amp FERNANDES S M M 2005 ATCA Ambiente de Trabalho Colaborativo Avan ado Congresso Internacional de Qualidade em EAD desafios para a transforma o social S o Leopoldo RS 01 03 de junho de 2005 CINELLI G B ZAINA L A M BAPTISTA C M SILVEIRA R M RUGGIERO W V amp BRESSAN G 2005 Acompanhamento de sess es de f rum atrav s da ferramenta Faucon WCSCW 2005 Workshop Brasileiro de Tecnologias para Colabora o 2005 Juiz de Fora CORDENONSI A Z MULLER F M amp BASTOS F P 2005 O Ensino de Heuristicas e Metaheur sticas na rea de Pesquisa Operacional sob a tica da Educa o Dial gica Problematizadora RENOTE Revista Novas Tecnologia na Educa o V 3 N 1 ISSN 1679 1916 CRUZ NETO G G GOMES A S amp TEDESCO P C A R 2003 Aliando Teoria da Atividade e TROPOS na Elicita o de Requisitos Workshop de Engenharia De Requisitos 2003 Piracicaba v 1 pp 63 77 CRUZ NETO G G GOMES A S amp TEDESCO P C A R 2003 Elicita o de Requisitos de Sistemas Colaborat
369. s termos relacionados intera o trabalho em grupo competi o e coopera o s o definidos e diferenciados do conceito de colabora o visando sua clarifica o e contextualiza o Intera o uma forma de relacionamento onde h trocas e influ ncia m tua Dirigir em uma grande cidade por exemplo uma atividade interativa por m normalmente n o colaborativa Nesta atividade n o h um objetivo compartilhado pelo grupo n o h um comprometimento com o sucesso do outro e n o h uma negocia o sobre um plano compartilhado Por outro lado ao dirigir em comboio os motoristas combinam o caminho os checkpoints se comunicam por sinais r dio ou telefone e se um precisar de ajuda os outros param O sucesso do grupo todos chegarem ao destino Ao dirigir em comboio h um comprometimento com o sucesso dos companheiros e um objetivo comum e compartilhado caracterizando a colabora o Grosz 1996 Trabalho em grupo um conjunto de atividades com objetivo de atingir um determinado fim produzindo um resultado No trabalho em grupo n o necessariamente o interesse do participante atingir o objetivo do trabalho pode ser por exemplo receber um pagamento n o ser castigado etc Para caracterizar a colabora o necess rio saber as inten es e objetivos dos participantes A competi o se assemelha em muitos aspectos colabora o Ela de natureza interativa e h um objetivo comum por m c
370. sageT ype t MessageT ype getMessageT ypes findMessageT ype t String updateMessageT ype t MessageT ype disableMessageT ype t MessageT ype enableMessageT ype t MessageT ype sender Participant receiver Participant date Date type MessageT ype files File 0 body String name String enabled boolean Figura B 1 Componente MessageMegr e suas interfaces Ap ndice B Descri o dos Componentes de Colabora o 228 Usos conhecidos Confer ncias Debate Correio para Turma Correio para Participante Mensageiro Componentes relacionados TextualMediaMgr VideoMediaMgr AudioMediaMgr PictorialMediaMgr e ParticipantMgr B 1 2 TextualMediaMgr Nome TextualMediaMgr Inten o Utilizado para mensagens com corpo textual poss vel configurar o tamanho do texto e o vocabul rio dispon vel Aplicabilidade utilizado quando o corpo das mensagens do servi o necessita de tratamento ou codifica o especial Variabilidade E poss vel configurar o tamanho m nimo e m ximo das mensagens e o vocabul rio permitido ou proibido Estrutura A estrutura do componente est representada na Figura B 2 O componente oferece as interfaces ITextualMediaMgr e ITextualMediaMgrConfig que disponibilizam servi os relativos utiliza o e configura o do componente O componente implementa a interface IMediaContent que o contrato geral para os conte dos multim dia
371. saltar que na literatura costuma se encontrar alguns sin nimos para componentes utilizados em contextos espec ficos como plugin add on m dulo servi o e widget A 3 Utiliza o de Componentes Nesta se o s o definidos alguns termos referentes utiliza o de componentes porta conector interface adaptador inst ncia e deployment Tamb m s o discutidas as maneiras de customizar componentes Uma porta um meio identific vel de conex o por onde um componente oferece seus servi os ou acessa os servi os dos outros OMG 2005 Cada porta tem uma identifica o nome ou n mero pelo qual acessada Cada porta define os tipos de valores que s o transmitidos ou recebidos e agrupa interfaces D Souza amp Wills 1998 p 415 Ao meio por onde feita a conex o entre duas ou mais portas dado o nome de conector D Souza amp Wills 1998 p 414 OMG 2005 O conector implementado por invoca o expl cita de fun o envio de mensagens s ncronas ou ass ncronas propaga o de eventos stream de dados workflow c digo m vel di logo atrav s de uma API transfer ncia de arquivo pipe propaga o de eventos buffer sinaliza o compartilhamento de arquivo via ftp etc D Souza amp Wills 1998 p 389 p 395 Wills 2001 p 312 Os tipos de conectores variam para cada tecnologia e ferramenta adotada Por exemplo JavaBeans oferece um conjunto de conectores diferentes dos oferecidos
372. se por especialistas da rea acad mica e da empresa EduWeb A abordagem tamb m foi utilizada por alunos da disciplina Engenharia de Groupware como parte do trabalho necess rio para aprova o A abordagem e a arquitetura tamb m foram utilizadas para instanciar o f rum de discuss o do ambiente TelEduc e foram comparadas com a literatura Apesar de nenhum dos ind cios isoladamente possibilitar tirar conclus es no conjunto foram considerados satisfat rios 6 Conclusao Aplica es que est o dispon veis de forma monol tica s o pouco flex veis visto que h muitas inter rela es e interdepend ncias amarradas em seu c digo fonte Isto dificulta a adapta o do sistema s prefer ncias e necessidades dos usu rios e sua evolu o Um pacote de aplica es application suite oferece um conjunto de programas normalmente de um mesmo fabricante com algum n vel de integra o e uma apar ncia padronizada Alguns exemplos de pacotes de aplica es s o o Microsoft Office e o Netscape Communicator suite Por m nos pacotes n o h muita flexibilidade nem sempre o usu rio pode decidir quais partes do pacote deseja instalar e n o poss vel integrar ferramentas externas Al m disto nestas aplica es n o h necessariamente reuso e modulariza o do c digo A vers o 2 0 do AulaNet apresenta se como um pacote de aplica es oferecendo um conjunto de servi os relativamente independentes Entretanto seu c
373. se study 3C based component kits were developed The components allow the composition re composition and customization of the services in order to reflect collaboration dynamics changes Keywords Collaborative systems groupware development 3C collaboration model software components Sumario I INTRODU O diine e dg DEDO AA Re e SA 16 LI ATES ee aie E aan eee 18 1 2 0 CONS RCIO DE PESQUISA s n ica ip A a E E D 20 1 2 1 AGREGANDO FRAMEWORKS DE INFRA ESTRUTURA EM UMA ARQUITETURA BASEADA EM COMPONENTES UM ESTUDO DE CASO NO AMBIENTE AULANET 20 1 2 2 DESENVOLVIMENTO DE GROUPWARE COMPONENTIZADO COM BASE NO MODELO 3C DE COLABORAGAO vroee re eae E eira EE E E E ERO EEEE E E ai 22 1 2 3 RUP 3C GROUPWARE UM PROCESSO DE DESENVOLVIMENTO DE GROUPWARE BASEADO NO MODELO 3C DE COLABORA O ccssssseeeessececeesececneseecessteeeenenaeees 25 1 2 4 ESTRUTURA DA TESE n een EE e E E E E EE E A E EEEE 26 2 REVIS O DA LITERATURA nssssssesssesesesesessesestsrsrsesrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrses 27 2 1 ABORDAGENS PARA O DESENVOLVIMENTO DE GROUPWARE scccssssseceesteeeseseeeeees 27 2 1 1 Requisitos de Groupware scccsccssccssecsseessesceseeeeeeeeecesecesecesceeeeesecaesaecnaeeaaeens 28 DDD MIs Estendida EEA AEAEE EEEE EAEE 31 2 1 3 Padr es ESPECUYICOS ee anaana aaa Ea cosas aa a EE E EEEE A 33 2 1 4 Arquiteturas de GrOUPWALE ccesccscssccsseeneeseeseeseceesseeseesecaeesecueeenesaeeaeesesaeeseenaes
374. sendo tamb m de coordena o Os servi os Material de Apoio Leituras Perguntas Frequentes e Parada Obrigat ria s o servi os atrav s dos quais o professor disponibiliza conte dos did ticos para os aprendizes sendo voltados para a coopera o Os servi os Di rio de Bordo Mural e Portf lio s o servi os onde os aprendizes disponibilizam conte dos de maneira privada ou compartilhada tamb m sendo servi os de coopera o TUS LAUC Curso de Visita o do TelEduc F runs de Discuss o Ver forum ESALTA Vis o de Aluno F rum Fale com o Professor Avalia es Perguntas Frequentes 1 Fala a Mano V io Silvio Santos 27 10 2005 Estrutura do Ambiente Compor nova mensagem Ordenar por Atividades Exerc cios Din mica do Curso Agenda A Mensagens 1 a3 de3 pie ce apan Titulo Autor Data Parada Obrigat ria 2 Re Fala ai Mano V io Paulo Pereira 28 10 2005 Mural 3 Re Re Fala ai Mano V Thiago Gomes 30 10 2005 Bate Papo Correio Grupos Exibir todas Retornar lista de f runs Di rio de Bordo Portf lio Acessos Intermap Configurar Administra o Suporte Sair Figura 3 19 Servi o F rum de Discuss o do TelEduc Ao analisar separadamente cada um destes servi os tamb m s o encontradas funcionalidades de comunica o de coordena o e de coopera o Por exemplo no servi o F rum de Discuss o cuja interface est apresentada na Figura 3 19 s o encontradas
375. si es com dados no formato XML que s o convertidos para o formato HTML atrav s de scripts XSL Esta convers o possibilita a utiliza o do mesmo servi o em diversos portais ou em diferentes se es do mesmo portal com diferentes padroniza es visuais a utiliza o do mesmo servi o em v rias plataformas e a cria o de skins que possibilitam alterar a interface do ambiente como um todo Capitulo 2 Revisao da Literatura 61 A Official Demonstration Site Administration Mambo Microsoft Internet Explorer Arquivo Editar Exibir Favoritos Ferramentas Ajuda 3 f D A G O HEAGAXOAL Sa LS Endere o http mambo mamboforge net demojadministrator index2 php Hr ums mambo Home Site Menu Content Components Modules Mambots Instalers Messages System Help Og 28 Logout admin Official Demonstration Site com admin E E Help Control Panel Logged components Popular Latest Items Menu Stats R R RA ourentiptoggedintsers e B Es 3 N 1 admin Super Administrator x Help All Content tems Static Content Manager Frontpage Manager 2 admin Super Administrator x 3 admin Super Administrator x 4 admin Super Administrator x 5 admin Super Administrator x 6 admin Super Administrator x Section Manager Category Manager Media Manager 7 admin Super Administrator x 8 admin Super Administrator x 9 admin Super Administrator x E aa wf 10 admin Super Administrator x ST
376. sileira de Computa o V2 Cap 3 ISBN 85 88442 24 8 pp 89 128 Peri dicos Journals Fuks H Gerosa M A Pimentel M G Filippo D amp Lucena C J P 2006 Informa es Estat sticas e Visuais para a Media o de F runs Educacionais Revista Brasileira de Inform tica na Educa o ISSN 1414 5685 Sociedade Brasileira de Computa o aceito para publica o Fuks H Raposo A B Gerosa M A Lucena C J P 2005 Applying the 3C Model to Groupware Development International Journal of Cooperative Information Systems IJCIS v 14 n 2 3 Jun Sep 2005 World Scientific ISSN 0218 8430 pp 299 328 Artigos Publicados pelo Autor da Tese 272 Fuks H Gerosa M A Raposo A B amp Lucena C J P 2004 O Modelo de Colabora o 3C no Ambiente AulaNet Inform tica na Educa o Teoria e Pr tica Vol 7 No 1 Porto Alegre UFRGS ISSN 1516 084X pp 25 48 Gerosa M A Fuks H amp Lucena CJ P 2003 Analysis and Design of Awareness Elements in Collaborative Digital Environments A Case Study in the AulaNet Learning Environment The Journal of Interactive Learning Research V 14 No 3 AACE USA ISSN 1093 023X pp 315 332 Gerosa M A Fuks H amp Lucena C J P 2003 Suporte Percep o em Ambientes de Aprendizagem Colaborativa Revista Brasileira de Inform tica na Educa o V 11 No 2 Julho Dezembro 2003 ISSN 1414 5685 Sociedade Brasileira de Computa
377. solidado a partir da experi ncia adquirida nos 8 anos de desenvolvimento e utiliza o do ambiente AulaNet no suporte computacional colabora o Outra contribui o deste trabalho a proposi o de uma arquitetura baseada em component frameworks e component kits para a constru o de groupware O proprio Collaboration Component Kit uma contribui o deste trabalho Como contribui o espec fica para o projeto AulaNet foram desenvolvidos sua nova arquitetura com base na arquitetura proposta e foram desenvolvidos dois de seus servi os Apesar dos demais servi os n o terem sido implementados eles foram considerados no projeto e implementa o da arquitetura Com base no component kit proposto os outros servi os ser o constru dos Por fim o trabalho desenvolvido nesta tese deu origem a diversas publica es e a um curso do Departamento de Inform tica da PUC Rio 6 2 Limita es A abrodagem e o ferramental propostos nesta tese n o se aplicam a qualquer groupware A din mica da colabora o e os servi os colaborativos devem ser bem modelados pelo modelo 3C A aboragem e o ferramental n o s o voltados a princ pio para a implanta o ou refinamento do suporte a colabora o em sistemas legados Zz Nesta tese s tratada a camada de neg cio do desenvolvimento de groupware O desenvolvimento de groupware engloba muitas outras atividades e fatores Por exemplo a infra estrutura de execu o e a in
378. ss o ficando o moderador livre para conduzir o debate Entretanto para um melhor aproveitamento e organiza o da conversa o e para reduzir a depend ncia do sucesso do Debate da habilidade do moderador resolveu se estabelecer uma din mica conforme ilustrado na Figura 5 13 Rezende et al 2003 Na nova din mica o moderador do debate incumbido de postar um resumo do que foi discutido ao longo da semana e iniciar um processo de apresentar quest es e discuti las at que o mediador declara a sess o finalizada Para cada quest o discutida os aprendizes postam um coment rio todos votam em qual contribui o ser discutida e ent o se inicia um per odo de discuss o livre Capitulo 5 Estudos de Caso 164 oderador do De Aprendizes M bate Posta um osta um resumo RN coment rio sobre da Confer ncia 1 Apresenta uma quest o a quest o i forces i orces i i Vota em uma das contribui es i i i 1 i forces sess o iniciada blocks Discuss o livre sobre a contrib Declara a sess o finalizad selecionada K forces forces i i i i E i E i i i Elabora 1 alia 5 a Avalia a conclus es Era i Participa o K Figura 5 13 Nova din mica adotada no debate do curso TIAE Ao executar esta din mica na vers o 1 0 do Deb
379. ss rios programadores qualificados aptos a lidar com protocolos conex es compartilhamento de recursos concorr ncia de acesso distribui o renderiza o gerenciamento de sess es etc Isto limita a quantidade de desenvolvedores atuando na rea e desloca a criatividade e os esfor os destes desenvolvedores para a cria o de solu es para os problemas de natureza t cnica de baixo n vel delegando a investiga o da intera o e o suporte colabora o para segundo plano Greenberg 2006 Estas dificuldades de desenvolvimento de groupware s o vivenciadas no desenvolvimento e manuten o do ambiente AulaNet O AulaNet um Capitulo 1 Introdu o 17 groupware aplicado no ensino aprendizagem pela web Lucena amp Fuks 2000 O AulaNet vem sendo desenvolvido desde 1997 pelo Laborat rio de Engenharia de Software da Pontif cia Universidade Cat lica do Rio de Janeiro LES PUC Rio e distribu do pela empresa EduWeb que customiza e presta servi os relacionados ao ambiente O AulaNet utilizado no Brasil na PUC Rio UFRJ UFBA UFMG UFMT UCP Cat lica de Salvador Faculdade Michelangelo DF Faculdades Integradas Boituva SP Universidade de Macap entre outras e fora do Brasil na Universidade Tecnol gica do Panam Universidade de Aveiro Instituto Polit cnico de Gaya Universidade da Madeira Fraunhofer de Berlim entre outras Tamb m usado em institui es como Nextel Rede Globo Alpargatas Ultrag
380. ssidades do servi o em quest o Possibilita tamb m o refinamento de um dos aspectos da colabora o substituindo o componente correspondente por outra vers o com uma abordagem ou funcionalidade diferente Entretanto os componentes devem ser compat veis entre si para reutilizar os dados Por delegar grande parte do suporte computacional colabora o aos componentes 3C que s o reusados por diversos servi os o c digo do servi o reduzido O servi o Confer ncias na vers o 2 0 do AulaNet possui 4279 linhas de c digo exclusivas n o reusadas por outros servi os do ambiente Na nova vers o o servi o possui 2905 linhas de c digo n o reusadas sendo que apenas 317 s o referentes camada de neg cio onde os componentes 3C promovem o reuso As 2588 linhas restantes s o referentes interface com o usu rio que foi pouco alterada da vers o 2 0 para a 3 0 Com a futura utiliza o de componentes de interface seguindo a especifica o Java Server Faces espera se uma grande redu o tamb m nesta quantidade de c digo A redu o da quantidade de c digo a manter e a modulariza o do suporte computacional colabora o facilitam a evolu o futura do servi o Capitulo 5 Estudos de Caso 163 5 1 5 Composi o do Servi o Debate O servi o Debate utilizado no curso TIAE para consolidar o t pico semanal e para promover o alinhamento de id ias entre os aprendizes A vers o 1 0 do servi o utilizado nas
381. stas caracter sticas s o dependentes Cap tulo 6 Conclus o 191 da infra estrutura de execu o e da arquitetura t cnica adotada A abordagem proposta nesta tese influencia mais diretamente as caracter sticas funcionalidade confiabilidade e manutenibilidade principalmente as subcaracter sticas adequa o maturidade e modificabilidade respectivamente A adequa o favorecida pela disponibiliza o de servi os e componentes 3C que propiciam a constru o de um groupware mais ajustado s necessidades espec ficas de colabora o do grupo A maturidade favorecida pelo reuso dos componentes de software e pelo encapsulamento do suporte colabora o A modificabilidade favorecida pela modulariza o e pela capacidade de substitui o obtida com a componentiza o Para comparar em termos de qualidade a abordagem proposta nesta tese com outras abordagens dispon veis na literatura seria necess rio que grupos externos desenvolvessem o mesmo ambiente o AulaNet por exemplo utilizando as v rias abordagens para depois comparar os resultados Por restri es de tempo e de recursos isto n o foi tratado no escopo desta tese Algumas compara es foram feitas com o AulaNet 2 0 e o AulaNet 3 0 Contudo os dois ambientes foram desenvolvidos em tempos diferentes por desenvolvedores com perfis diferentes e com tecnologias e ferramentas diferentes o que impossibilita extrair afirma es conclusivas Al m disto n o foi util
382. stribu dos oferecem servi os adicionais como modos de conex o e comunica o remota notifica o de eventos localiza o de servi os e seguran a Weinreich amp Sametinger 2001 p 45 Eventualmente a interface ou o componente precisa ser registrado no component framework antes de ser utilizado Councill amp Heineman 2001 p 12 A rela o entre um componente e um component framework similar rela o entre um programa e o sistema operacional Um sistema operacional prov um ambiente de execu o para aplicativos colocando uma camada sobre o hardware e provendo servi os de baixo n vel como acesso a dispositivos de E S gerenciamento de mem ria etc Weinreich amp Sametinger 2001 p 34 O sistema operacional regula o acesso dos aplicativos aos recursos oferece servi os de infra estrutura define os mecanismos de comunica o e interoperabilidade entre os componentes e oferece suporte instala o e registro dos componentes aplicativos Os aplicativos s o utilizados para montar o ambiente de trabalho e o sistema operacional define parcialmente a arquitetura do sistema Szyperski 1997 p 274 O conceito de component framework est ligado id ia de linha de produto Barroca et al 2005 p 20 Uma linha de produtos de software um conjunto de produtos que compartilham um conjunto de caracter sticas visando satisfazer um determinado segmento de mercado ou uma miss o espec fica Clements am
383. suporte computacional colabora o Nos sistemas colaborativos desenvolvidos desta maneira o refinamento iterativo e a prototipa o de novas id ias normalmente s o dificultados e o c digo fica fortemente acoplado As ferramentas desenvolvidas acabam sendo pouco aderentes s reais necessidades de intera o que para serem descobertas requerem muita experimenta o investiga o e prototipa o Greenberg 2006 posiciona o desenvolvimento de groupware no modelo BRETAM Gaines 1999 apresentado na Figura 6 1 Cap tulo 6 Conclus o 185 Time u D U Learning Breakthrough Replication Empiricism Theory Automation Maturity Figura 6 1 Modelo BRETAM para o desenvolvimento de uma tecnologia Gaines 1999 O modelo BRETAM descreve como uma tecnologia evolui ao longo do tempo A tecnologia inicia se a partir de uma id ia criativa e uma vis o de futuro fase de Breakthrough As id ias de groupware originaram se da vis o de Engelbart em 1968 e dos artigos seminais da d cada de 80 A fase de Replication ocorre quando as pessoas imitam as id ias umas das outras reimplementando as alterando as e inovando Na replica o estabelece se uma comunidade de pesquisa que adquire um corpo de conhecimento sobre os fatores centrais da tecnologia e sua rela o com os seres humanos O processo de constru o das ferramentas ainda n o bem estabelecido e h muitas incertezas e retrabalho De acordo com Greenberg 2006 g
384. t descricao gt lt defaultCategory gt lt defaultCategory gt lt name gt Argumenta o lt name gt lt descricao gt Argumentar um ponto de vista lt descricao gt lt defaultCategory gt lt callabComponent gt lt collabComponent name taskManager gt lt tasks gt lt task name Send message type collaborative permissionClass All gt lt taskComplement gt CategorizationManager lt taskComplement gt lt taskComplement gt ConversationSessionManager lt taskComplement gt lt task gt lt task name Remove message permissionClass Mediator gt lt task name Alter category permissionClass Mediator gt lt task name Create conference permissionClass Coordinator gt ftasks gt lt collabComponent gt lt collaboration components gt lt service gt Figura 4 12 Arquivo descritor de um servi o Os conectores definidos no modelo de componentes s o espec ficos do dom nio e s o dependentes do modelo de neg cio com o qual os componentes trabalham Wills 2001 p 310 Cada componente disponibiliza um modelo de objetos com os quais os clientes do componente ir o lidar Eventualmente um componente possui uma implementa o diferente para um determinado objeto Nestes casos adota se um adaptador que faz a convers o entre eles Wills 2001 p 313 4 5 Instancia o de Groupware Instrumentado pelo modelo 3C de colabora o o desenvolvedor modela a aplica o e seus requisitos e seleciona
385. t o ligadas ao esfor o inicial de an lise projeto e desenvolvimento enquanto as dificuldades do desenvolvimento com componentiza o est o ligadas ao esfor o despendido no entendimento dos componentes e das ferramentas envolvidas perda de flexibilidade depend ncia de terceiros e adapta o do processo de desenvolvimento Uma das principais motiva es para se desenvolver um software baseado em componentes sua manuten o Os componentes s o substitu veis para atualiza o ou corre o muitas vezes sem precisar alterar ou recompilar a aplica o como um todo D Souza amp Wills 1998 Componentes s o adicionados removidos ou substitu dos por vers es mais robustas ou mais apropriadas ao hardware ao sistema operacional ou aos produtos legados com os quais o sistema tenha que operar A modularidade obtida com a componentiza o facilita a localiza o do c digo a ser alterado e o encapsulamento da altera o Algumas mudan as n o acarretam em altera es no c digo sendo resolvidas por re composi o da aplica o ou re configura o dos componentes D Souza amp Wills 1998 p 397 O reuso tamb m freqiientemente citado como um benef cio da componentiza o O reuso favorece a redu o dos esfor os de desenvolvimento e a qualidade do produto final por colocar em uso c digo j utilizado e testado em Capitulo 2 Revisao da Literatura 45 outras situa es Krueger 1992 Blocos com
386. tamb m foi desenvolvido na linguagem PHP e esta disponivel sob a licenga GNU General Public License GPL O site customizado pelo administrador que adiciona ou remove m dulos atrav s do ambiente administrativo A Figura 2 12 apresenta a tela de gerenciamento de servi os da plataforma Cada m dulo do XOOPS oferece um conjunto de blocos pr definidos para exibi o das sa das que s o utilizados para compor a interface com o usu rio Alguns m dulos j dispon veis na instala o do XOOPS s o Not cias F rum Enquete Links Downloads Headlines FAQ Parceiros banners Usu rios e Fale Conosco O DotNetNuke desenvolvido para a plataforma NET da Microsoft Alguns servi os dispon veis na plataforma s o Avisos Banners Newsfeeds F rum FAQ Lista de discuss o Calend rio Links Busca e Enquetes Assim como os demais portalware o DotNetNuke possibilita o uso do skins para troca da apar ncia do ambiente como um todo A Sun Microsystems atrav s do Java Community Process JCP disponibilizou uma especifica o para padronizar componentes e containeres para portais De acordo com o modelo os portlets como s o chamados os componentes geram fragmentos de p ginas que s o compostas pelo container para gerar a p gina final O container intermedeia a intera o entre clientes e portlets e gerencia seu ciclo de vida Mais detalhes sobre o modelo de componentes do portlets s o encontrados no Ap ndice A Nenhum
387. tamento dado s mensagens em termos de exibi o e de transmiss o Eventualmente s o definidas restri es ao canal de comunica o Por exemplo poss vel restringir o tamanho do texto caracteres permitidos taxa de transmiss o para udio e v deo e lat ncia Estas restri es s o utilizadas nas ferramentas para reduzir a sobrecarga de informa o ou para reduzir o volume de Capitulo 3 O Modelo 3C de Colabora o 87 dados a transmitir O suporte computacional oferecido para definir ou restringir a linguagem estabelecida na conversa o est relacionado restri o ou amplia o do vocabul rio dispon vel ou ao estabelecimento de meta informa es sobre a mensagem Ao situar o conte do torna se a comunica o mais sucinta pois parte do que precisaria ser dito passa a ser inferido pelo contexto Muitas vezes as meta informa es explicitam informa es que estariam impl citas no discurso Meta informa es comumente encontradas em ferramentas de comunica o s o o assunto ou t tulo da mensagem a data a prioridade e a categoria A categoria em especial pode ser utilizada para complementar a sem ntica da mensagem O emissor seleciona uma categoria de um conjunto pr definido e os receptores contextualizam a interpreta o da mensagem A categoriza o utilizada tamb m para direcionar uma din mica de di logo detectar conflitos identificar a resolu o de tarefas e organizar informa es Ger
388. tation and collaboration in Distance Education Proceedings of IRIS 23 Svensson et al eds University of Trollhattan Uddevalla Sweden Malone T W amp Crowston K 1990 What is Coordination Theory and How Can It Help Design Cooperative Work Systems Conference on Computer Supported Cooperative Work CSCW pp 357 370 Mandviwalla M amp Olfman L 1994 What do groups need A proposed set of generic requirements ACM Transactions on Computer Human Interaction Vol 1 No 3 pp 245 268 Markus M L amp Connolly T 1990 Why CSCW applications fail Problems in the adoption of interdependent work tools Proceedings of CSCW 90 Los Angeles Oct 7 10 Marsic I amp Dorohonceanu B 2003 Flexible User Interfaces for Group Collaboration International Journal of Human Computer Interaction Vol 15 No 3 pp 337 360 Marsic I 1999 DISCIPLE a framework for multimodal collaboration in heterogeneous environments ACM Computing Surveys 31 2es Article No 4 Mattsson M 2000 Evolution and Composition of Object Oriented Frameworks PhD Thesis Department of Software Engineering and Computer Science University of Karlskrona Ronneby Mcllroy M D 1968 Mass Produced Software Components Software Engineering NATO Science Committee pp 138 150 Refer ncias Bibliogr ficas 264 Michailidis A amp Rada R 1996 A review of collaborative authoring tools Groupware and authoring Academic Press Lo
389. terface com o usu rio tamb m s o cruciais para a cria o de groupware prop cio para utiliza o e manuten o A camada de infra estrutura tratada na disserta o de Celso Gomes Barreto 2006 que parte deste cons rcio de pesquisa A camada de interface foi tratada apenas na arquitetura t cnica devendo ser investigada na arquitetura de aplica o Cap tulo 6 Conclus o 190 Os estudos de caso desta tese foram restritos s ferramentas de comunica o Confer ncias e Debate Mesmo estas ferramentas possuindo diversos elementos de coordena o e coopera o al m dos de comunica o necess rio avaliar e refinar a engenharia do dom nio para ferramentas de coordena o e de coopera o para verificar a abrang ncia do trabalho As dificuldades de aplicar groupware n o s o tratadas diretamente neste trabalho H diversos fatores envolvidos como quest es pol ticas conflitos intrigas falta de est mulo individualismos falta de afinidade quest es culturais etc A composi o do grupo de trabalho por exemplo tem uma influ ncia direta em seu sucesso Roussos et al 1997 Romano et al 1998 relata que a presen a de indiv duos controladores tende a desestabilizar a colabora o e Borges et al 2002 investiga os pap is informais que os participantes desempenham em uma reuni o de modo a compor grupos mais efetivos A din mica de trabalho as ferramentas selecionadas e a composi o do ambiente
390. terorganizacionais no contexto da transfer ncia de tecnologia em cadeias de suprimentos Neale et al 2004 utilizam os tr s Cs para avalia o de aplica es colaborativas Teixeira amp Chagas 2005 utilizam o modelo 3C para avalia o de ferramentas de co autoria comum a o A o de tornar comum COMUNICA O e J Percep o T COORDENA O co ordem a o A o de organizar em conjunto gera compromissos demanda E gerenciados pela COOPERA O co operar a o A o de operar em conjunto organiza as tarefas para Figura 3 1 O diagrama do modelo 3C de colabora o O diagrama do modelo 3C apresentado na Figura 3 1 A comunica o envolve a troca de mensagens e a negocia o de compromissos Atrav s da coordena o as pessoas as atividades e os recursos s o gerenciados para lidar com conflitos e evitar a perda dos esfor os de comunica o e de coopera o A coopera o a produ o conjunta dos membros do grupo em um espa o compartilhado gerando e manipulando objetos de coopera o na realiza o das tarefas Apesar da separa o destas atividades para fins de an lise a comunica o a coordena o e a coopera o n o s o realizadas de maneira estanque e isolada s o realizadas continuamente e iterativamente durante o trabalho em grupo Fuks et al 2005 As tarefas originam se dos compromissos negociados durante a comunica o s o gerenciadas pela coo
391. tes de software s o autocontidos s o relativamente independentes fracamente acoplados e encapsulam seu projeto e implementa o incluindo dados e funcionalidades reus veis podem ser utilizados por terceiros que n o necessariamente precisam ter acesso ao seu c digo fonte substitu veis Ap ndice A Componentes e Frameworks 225 podem ser trocados por outros componentes compat veis e prov em servi os espec ficos de uma maneira coesa bem definida e padronizada Um componente de software pode ser desenvolvido e mantido independentemente e interage com outros componentes ou com a infra estrutura da aplica o A orienta o a objetos uma das melhores maneiras de implementar componentes Szyperski 1997 p 13 D Souza amp Wills 1998 A montagem de sistemas a partir de componentes est no meio termo entre configura o e programa o Morch 1997 mais alto n vel do que a programa o mas n o t o limitada quanto a configura o Atrav s do uso de componentes o sistema pode ser estendido para acompanhar a evolu o dos processos de trabalho das necessidades e da experi ncia com o uso do sistema Com componentes s o reduzidas as interdepend ncias fixas no c digo fonte da aplica o melhorando a extensibilidade e facilitando a adapta o e extens o A componentiza o normalmente dispon vel apenas aos desenvolvedores que liberam diferentes vers es da aplica o alterando a configura o e
392. ticipante Componentes relacionados ParticipantMgr Refer ncias Bibliograficas Allen J F 1984 Towards a General Theory of Action and Time Artificial Intelligence 23 1984 123 154 Alur D Crupi J amp Malks D 2001 Core J2EE Patterns Best Practices and Design Strategies Publisher Prentice Hall Sun Microsystems Press 2001 Amiour M amp Estublier J 1998 A Support for Communication in Software Processes 10 Conference on Software Engineering and Knowledge Engineering SEKE 98 Amiour M 1997 A Support for cooperation in software processes Doctoral Consortium of the 9 Conference on Advanced Information Systems Engineering CAiSE 97 Barcelona Spain Anderson G E Graham T C amp Wright T N 2000 Dragonfly linking conceptual and implementation architectures of multiuser interactive systems Proceedings of the 22nd international Conference on Software Engineering ICSE 00 Limerick Ireland June 04 11 2000 ACM Press pp 252 261 Andrade L V Sampaio F F amp Rocha L L A 2002 O Modelo GD IBIS Grupo de Discuss o para Web no Contexto de Educa o a Dist ncial XXIX SEMISH Anais do XXII Congresso da Sociedade Brasileira de Computa o Volume 3 pp 183 292 Apperly H 2001 The Component Industry Metaphor in Component Based Software Engineering Putting the Pieces Together Hineman G T amp Councill W T eds Addison Wesley ISBN 0 201 70485 4 Ar
393. tion 6 2 95 132 Benbunan Fich R amp Hiltz S R 1999 Impacts of Asynchronous Learning Networks on Individual and Group Problem Solving A Field Experiment Group Decision and Negotiation Vol 8 pp 409 426 Blikstein I 2000 T cnicas de comunica o escrita Cole o Princ pios Ed Atica ISBN 8508094884 Blois A P T B amp Becker K A 2002 Component based Architecture to Support Collaborative Application Design 8 International Workshop on Groupware CRIWG LNCS Vol 2440 Springer Verlag p 134 146 Blois A P T B Werner C M L amp Becker K 2004 Um Processo de Engenharia de Dominio com foco no Projeto Arquitetural Baseado em Componentes IV Workshop de Desenvolvimento Baseado em Componentes Joao Pessoa PB pp 15 20 Blois M Choren R Laufer C Ferraz F amp Fuks H 1999 Desenvolvendo Aplicativos para a Web com o Scriba Anais do XX VI SEMISH Semin rio Integrado de Software e Hardware Sociedade Brasileira de Computa o SBC Rio de Janeiro pp 119 133 Bloom B S 1956 Taxonomy of educational objectives handbook 1 cognitive domain New York Longman Refer ncias Bibliogr ficas 255 Boehm B W 1988 A Spiral Model of Software Development and Enhancement IEEE Computer Vol 21 No 5 pp 61 72 Booch G 1987 Software Components with Ada Structures Tools and Subsystems Benjamin Cummings Redwood City CA Booch G Rumbaugh J amp J
394. tista se depara com desafios em diferentes n veis entender do dom nio e lidar com quest es de infra estrutura O desenvolvimento de groupware dif cil devido ao seu car ter multidisciplinar e heterogeneidade dos diversos grupos de trabalho O desenvolvedor deveria se concentrar mais nos aspectos funcionais utilizando uma infra estrutura que trate as quest es t cnicas Na disserta o de Barreto 2006 foi elaborada uma arquitetura t cnica multicamadas que faz uso do padr o MVC model view controller Fowler 2002 e que integra frameworks de infra estrutura Fayad amp Schmidt 1997 Fayad et al 1999a Fayad et al 1999b Fayad amp Johnson 2000 A abordagem multicamadas com o padr o MVC proporciona a separa o entre a l gica da aplica o e a interface com o usu rio considerada uma boa pr tica de design de Capitulo 1 Introdu o 21 software Fowler 2002 Frameworks de infra estrutura proporcionam uma maneira de lidar com as quest es de baixo n vel como persist ncias de dados controle de transa es seguran a entre outros O diagrama esquematizado na Figura 1 1 mostra a arquitetura t cnica proposta para o AulaNet 3 0 As setas indicam o fluxo de controle da aplica o os ret ngulos representam classes os c rculos representam as interfaces e as linhas pontilhadas representam a divis o entre as camadas Esta arquitetura baseada na Arquitetura de POJOs Plain Old Java Object descrita por Johnson 2
395. tos Cada elemento do modelo descrito por um sistema de padr es A partir destes padr es os requisitos de um ambiente de aprendizagem colaborativa s o elicitados O modelo fundamentado no objetivo e no processo cooperativo que embasam o ambiente O objetivo estabelece o contexto da aprendizagem e relacionado ao conhecimento anterior teoria da aprendizagem a aspectos culturais e s formas de coopera o O processo cooperativo estabelece o est mulo para a aprendizagem e est relacionado s atividades aos pap is mem ria registro coordena o avalia o e percep o Cada um destes elementos expandido em um modelo a parte Os elementos dos modelos s o tratados por padr es conceituais e eventualmente por padr es de projeto OBJECTIVE PROCESS Previous Knowledge Cooperation Forms Leaming Theory Culture A a Cultural Aspects Figura 3 23 Modelo de colabora o proposto por Santoro et al 2001 Ellis amp Wainer 1994 prop em um modelo para ser utilizado para classifica o e compara o de groupware do ponto de vista de seus usu rios O modelo baseado em tr s aspectos complementares uma descri o dos objetos e das opera es que s o disponibilizadas para os usu rios uma descri o dos aspectos din micos do sistema como os fluxos de controle e de dados e uma Capitulo 3 O Modelo 3C de Colabora o 116 descri o da interface com o usu rio tanto do po
396. tre os componentes e a liga o entre as ferramentas e os usu rios A composi o pelo usu rio final alcan ada a partir da manipula o destes arquivos O sistema FreEvolve oferece tamb m uma API Tailoring API que disponibiliza recursos de customiza o e composi o Posteriormente foi incorporada tamb m no sistema uma interface gr fica 3D para manipula o e configura o dos componentes Stiemerling et al 2001 O cliente do sistema FreEvolve pode ser uma aplica o stand alone ou embutida em um navegador web A vers o embutida possui uma instala o mais direta por m a vers o stand alone possui mais funcionalidades visto que n o est sujeita s mesmas restri es de seguran a presentes na vers o para navegadores O enfoque do FreEvolve na gera o de groupware extens vel apto a acompanhar a evolu o dos processos de trabalho A abordagem do FreEvolve similar arquitetura proposta nesta tese no aspecto de encapsular a complexidade da montagem da aplica o colaborativa atrav s da utiliza o de arquivos para manipula o dos componentes do sistema O uso de arquivos explicita a estrutura e a configura o do sistema e dispensa a utiliza o de uma ferramenta espec fica para a composi o e customiza o do ambiente Entretanto assim como nas plataformas anteriores o FreEvolve n o utiliza explicitamente um modelo de colabora o para a concep o dos componentes e para a montagem do a
397. tware que compartilham propriedades como por exemplo os componentes permitidos as restri es e intera es entre os componentes as invariantes o modelo computacional etc Stafford amp Wolf 2001 p 383 Fluxo de dados m quina virtual chamada de procedimento MVC Model View Controller cliente servidor peer to peer blackboard camadas e orienta o a servi os s o exemplos de estilos arquiteturais Barroca et al 2005 p 17 Cada estilo normalmente endere a um aspecto espec fico do sistema sendo portanto poss vel de utilizar mais de um estilo na mesma arquitetura Al m disto cada componente de um sistema pode ter uma arquitetura e estilo arquitetural pr prios desde que a parte externa do componente seja compat vel com a arquitetura da aplica o Apesar da arquitetura ser nica pode se fornecer v rias vis es sobre ela D Souza amp Wills 1998 p 483 Cada vis o enfoca um determinado aspecto da arquitetura omitindo os demais Stafford amp Wolf 2001 p 386 Algumas vis es s o mais apropriadas para o desenvolvimento do sistema outras para o reuso outras para o teste e implanta o O desenvolvimento baseado em componentes considera pelo menos duas vis es da arquitetura arquitetura de aplica o e arquitetura t cnica D Souza amp Wills 1998 p 483 Na arquitetura de aplica o a preocupa o com a estrutura dos componentes do dom nio representando um projeto l gico de alto n vel in
398. ubs dio a um sistema de recomenda o Motta amp Borges 2000 Algumas ferramentas como o CVS oferecem facilidades de gerenciamento de vers o possibilitando recuperar edi es anteriores comparar vers es atribuir coment rio a cada vers o etc Esta funcionalidade especialmente til quando a coopera o envolve v rios participantes onde necess rio identificar o autor a data e o prop sito de cada modifica o realizada nos objetos O registro propicia a recupera o e auditoria em caso de problemas A produ o dependente de como o espa o compartilhado est estruturado para apresentar os objetos de coopera o e a intera o Na intera o entre pessoas e ambiente em uma situa o face a face a obten o de informa es rica e natural visto que os sentidos s o usados em sua plenitude Fitzpatrick et al 2002 Em ambientes digitais os meios de transmitir as informa es aos rg os sensoriais dos seres humanos s o mais restritos Por outro lado em um ambiente digital os eventos s o filtrados de modo a reduzir dispers es com informa es irrelevantes que normalmente permeiam uma colabora o face a face David amp Borges 2001 As informa es de percep o estabelecem o contexto de trabalho e propiciam antecipar a es e necessidades bem como identificar as inten es dos companheiros do grupo para assisti los quando for poss vel e necess rio Baker et al 2001 As informa es de
399. udou o assunto implementou se no Debate a possibilidade de o mediador travar o envio de mensagens pelos aprendizes e de estabelecer t cnicas de conversa o que Capitulo 5 Estudos de Caso 165 definem o escalonamento da participa o As t cnicas dispon veis s o Contribui o Livre Contribui o Circular e Contribui o nica A interface do servi o ilustrada na Figura 5 14 Participation Order Participants Para executar a tarefa de postar um coment rio sobre a quest o utilizada a t cnica de Contribui o Circular onde h uma ordem de participa o e cada aprendiz envia uma mensagem na sua vez Para votar em uma contribui o para ser discutida utilizada a t cnica Contribui o nica de modo que cada participante envia uma nica contribui o pois o canal fica inabilitado ap s o envio Nas tarefas do mediador e do moderador do debate o canal bloqueado para os demais aprendizes Nas demais tarefas utilizada a t cnica de Contribui o Livre A vers o mais simples do Debate foi mantida para ser utilizada em cursos onde seja adotada uma din mica menos estruturada A vers o simplificada do Debate foi chamada de Bate Papo A Tabela 5 5 compara os componentes 3C utilizados no Bate Papo e no Debate O Debate 2 0 acrescenta o componente FloorControlMgr que lida com as t cnicas de conversa o e utiliza o componente AwarenessMgr para gerenciar as informa es de percep o
400. ue executam no servidor A utiliza o de uma arquitetura que gerencia o compartilhamento de objetos e o armazenamento e instancia o de componentes instrumentam o desenvolvedor que por sua vez se concentra no desenvolvimento do componente como se fosse uma aplica o mono usu rio utilizando objetos locais Tietze 2001 A divis o da implementa o do componente em interface e l gica da aplica o possibilita que ele tenha diferentes vers es da camada de interface para por exemplo computadores pessoais computadores de m o e celulares Estas implementa es da camada de interface utilizam a mesma camada de l gica de Zz aplica o e com isto o comportamento do componente mantido para as Capitulo 2 Revisao da Literatura 37 diferentes formas de acesso Altera es no comportamento do componente se refletem nas diferentes formas de acesso Dewan 1998 prop e uma arquitetura gen rica para sistemas colaborativos De acordo com esta arquitetura um groupware estruturado em v rias camadas com diferentes n veis de abstra o conforme ilustrado na Figura 2 6 A camada mais alta est relacionada ao n vel sem ntico espec fico ao dom nio em quest o A camada inferior corresponde ao n vel do hardware Conforme ilustrado na figura algumas camadas s o compartilhadas e outras s o replicadas nas ramifica es correspondentes aos usu rios conectados As camadas comunicam se entre si atrav s de eventos de fee
401. ue s o padr es de interven o e concep o da din mica de colabora o do grupo visando incentivar um determinado padr o de colabora o Os autores classificam os thinkLets de acordo com seu prop sito principal para a fase da colabora o 2 1 4 Arquiteturas de Groupware Alguns trabalhos prop em arquiteturas espec ficas para groupware Normalmente a arquitetura de um groupware prov mecanismos de controle de acesso de compartilhamento de concorr ncia e de sincroniza o entre objetos Na Figura 2 5 encontra se a arquitetura para groupware baseado em componentes proposta por Tietze 2001 Cada participante utiliza uma aplica o cliente que cont m os componentes de groupware Estes componentes s o instanciados a partir do reposit rio do Component Broker localizado no servidor Cada componente combina uma camada de interface onde s o implementadas as funcionalidades relativas intera o com o usu rio e uma camada de l gica de aplica o onde se localizam as funcionalidades espec ficas do componente e da manipula o dos objetos Os componentes acessam os objetos atrav s do Modelo de Dados do Dom nio que implementa as funcionalidades relativas ao dom nio em quest o e respons vel por manter as consist ncias sem nticas entre os objetos O Modelo de Dados copia os objetos compartilhados localizados no Gerenciador de Objetos do servidor que notificado das altera es realizadas e se encarrega de replic
402. um sistema de recomenda o a um mecanismo de busca ou a um mecanismo de ranqueamento As opera es sobre os objetos s o registradas na forma de um log possibilitando a realiza o de auditoria e a volta a estados anteriores Capitulo 4 Montagem de Groupware e de Servi os Colaborativos 126 lt lt Conceptual gt gt Ferramenta de Comunica o lt lt Conceptual gt gt lt lt Conceptual gt gt Sess o Mensagem Gerenciamento de vers es 1 I lt lt Functional gt gt I I 1 lt lt Functional gt gt Mecanismo de Busca I lt lt Functional gt gt Registro de Acesso onceptual gt gt _ Objeto de Coopera o lt lt Functional j gt gt lt lt Domain Techr gy gt gt An lise Estat stica Reposit rio as lt lt Conceptual gt gt cef lt lt Functional gt gt Lixeira lt lt Functional gt gt Lag Recomenda o r I I I 1 I I Figura 4 7 Modelo de caracter sticas da coopera o nas ferramentas de comunica o Os modelos de caracter sticas s o utilizados ao projetar uma nova aplica o para o dom nio As caracter sticas s o mapeadas em componentes que implementam as funcionalidades definidas Os componentes s o selecionados implantados e configurados para oferecer suporte computacional s necessidades estabelecidas Os componentes interoper veis s o organizados em component kits Conforme discutido no Cap tulo 2 um
403. upware Desenvolvimento de Aplica es Colaborativas XXI Jornada de Atualiza o em Inform tica Anais do XXII Congresso da Sociedade Brasileira de Computa o V2 Cap 3 ISBN 85 88442 24 8 pp 89 128 Fuks H Raposo A B Gerosa M A amp Lucena C J P 2005 Applying the 3C Model to Groupware Development International Journal of Cooperative Information Systems IJCIS v 14 n 2 3 Jun Sep 2005 World Scientific ISSN 0218 8430 pp 299 328 Funaro G M amp Montell F 1999 Pedagogical roles and implementation guidelines for online communication tools ALN Magazine Volume 3 Issue 2 December 1999 Fussell S R Kraut R E Learch F J Scherlis W L McNally M M amp Cadiz J J 1998 Coordination overload and team performance effects of team communication strategies Proceedings of CSCW 98 Seattle USA p 275 284 ISBN 1 58113 009 0 Gaines B 1999 Modeling and forecasting the information sciences Information Sciences 57 58 pp 13 22 Gamma E Helm R Johnson R amp Vlissides J 1994 Design Patterns Elements of Reusable Object Oriented Software Addison Wesley ISBN 0201633612 Gandon F amp Sadeh N 2004 Semantic Web Technology to Reconcile Privacy and Context Awareness Web Semantics Journal Vol 1 No 3 2004 Refer ncias Bibliogr ficas 259 Gerosa M A 2002 Categoriza o e Estrutura o de Mensagens Textuais em Ambientes Virtuais de Colabora o
404. ura de controle remoto A janela principal por onde os aprendizes interagem com os conte dos did ticos com o mediador e com os demais aprendizes O Capitulo 3 O Modelo 3C de Colabora o 79 controle remoto um menu de servi os que fornece uma facilidade de navega o constru da atrav s da sele o pr via feita pelo docente dos servi os de comunica o coordena o e coopera o ambiente AulaNet Microsoft Internet Explorer arquvo Edtar Exbir Favoritos Feramentas Ajuda fe 8 2 2 2 2 votar Avan ar Parar Atualizar P ginainicial Pesquisar Favoritos Hist rico Erdere o j http www ccead puc rio br aulanet2 er INF 1802 2006 Pan RealPlayer Separando o iim Ea o si ai Contato com Aprendiz BM Instruct Mensagem p Partic Lista de Discuss o Instruga 4 Confer ncias A er ser definid um meio ES de um cur Perse aplica o c ENTER estudantes uso da We confer nci s ncrona o Webliografia Documenta o Grupos Relat rios de Particip aab 7 weed ees aoe 6 Learningware 7 Ensinando e Aprendendo com IBW 8 O papel do facilitador em IBW e cor 9 Mulitim dia Interativa e IBW Semelk AULA te iai Controle lg Fofo agp Internet Figura 3 2 A interface do ambiente AulaNet Em cursos do AulaNet um docente pode assumir tr s pap is coordenador do curso docente co autor e mediador O coorden
405. urnett 2005 para cada componente s o descritos nome inten o aplicabilidade variabilidade estrutura usos conhecidos e componentes relacionados Por enquanto os usos conhecidos limitam se ao ambiente AulaNet pois at o momento o nico sistema constru do de fato utilizando os componentes 3C As interfaces dos componentes s o representadas utilizando a extens o da UML proposta por D Souza amp Wills 1998 apresentada no Ap ndice A B 1 Componentes de Comunica o Os componentes de comunica o oferecem suporte troca de mensagens negocia o e argumenta o A seguir s o descritos os componentes MessageMer TextualMediaMgr DiscreteChannelMgr MetaInformationMer CategorizationMgr e DialogStructureMgr B 1 1 MessageMgr Nome MessageMgr Inten o O componente MessageMgr oferece suporte a mensagens As mensagens podem ser p blicas privadas do sistema ou de controle O componente possibilita o anexo de arquivos na mensagem Ap ndice B Descri o dos Componentes de Colabora o 227 Aplicabilidade O componente aplicado nas ferramentas de comunica o s ncronas e ass ncronas que lidam com mensagens Variabilidade Tipos de mensagens Estrutura O componente oferece as interfaces IMessageMgr e IMessageMgrConfig A primeira disponibiliza as opera es relativas ao gerenciamento das mensagens A segunda possibilita a configura o do componente e dos tipos de mensagens O c
406. uza amp Wills 1998 p 475 prop e uma maneira de transformar heran as em composi es de objetos Ap ndice A Componentes e Frameworks 209 A 4 Representa o de Componentes A documenta o favorece o reuso Sametinger 1997 A documenta o deve ser suficiente para recuperar um componente avaliar sua adequabilidade ao contexto do reuso fazer adapta es e integr lo ao seu novo ambiente Gimenes amp Huzita 2005 necess ria uma nota o comum entre os envolvidos para documentar e debater sobre o projeto do sistema reduzindo a chance de m interpreta o A UML Unified Modeling Language a linguagem padr o para representar o projeto de sistemas orientados a objetos O conceito de componente adotado inicialmente na UML at a sua vers o 1 5 excessivamente abrangente se comparado com a concep o da comunidade de desenvolvimento baseado em componentes Houston amp Norris 2001 p 257 De acordo com os autores originais da UML Os componentes s o empregados para a modelagem de coisas f sicas que podem residir em um n como execut veis bibliotecas tabelas arquivos e documentos Booch Rumbaugh amp Jacobson 2000 p 341 A representa o de componente na UML 1x apresentada na Figura A 4 esquerda UML 1 x UML 2 0 lt lt component gt gt Et sats p Componente Nome do Componente Figura A 4 Representa o de componente na UML 1 x e 2 0
407. vadas de um modelo de colabora o Entretanto o PAC e o Clover Architecture oferecem um estilo arquitetural e uma arquitetura gen rica para a constru o de groupware n o pressupondo componentes de software compat veis com um modelo de componentes Nesta tese os componentes s o associados a component frameworks espec ficos Al m disto nesta tese tanto o groupware quanto os servi os s o componentizados em fun o do modelo 3C e o modelo utilizado na organiza o de kits de componentes que s o constru dos a partir de uma engenharia de dom nio 2 1 5 Frameworks Um framework agiliza o processo de desenvolvimento de software que lida com determinado tipo de problema provendo recursos que fornecem flexibilidade para os desenvolvedores adequarem no s suas necessidades reusando a solu o Capitulo 2 Revisao da Literatura 39 da parte comum dos problemas De acordo com Johnson 1997 um framework definido como um projeto reus vel de todo ou de parte de um sistema fornecendo um conjunto de classes abstratas e a forma com que suas sub classes interagem Um framework um esqueleto de um sistema que instanciado e especializado para gerar uma fam lia de aplica es Govoni 1999 Na literatura s o encontrados diversos frameworks voltados para o desenvolvimento de groupware Prakash amp Knister 1994 prop em um framework para ger ncia de opera es em uma ferramenta colaborativa possibilitando reg
408. vos 124 conversa o como no Coordinator Winograd amp Flores 1987 As mensagens de uma ferramenta s o organizadas em uma estrutura de di logo linear hier rquica ou em rede Stahl 2001 As mensagens s o transmitidas em blocos ou continuamente a N Process q rec res 2555 tados 1 1 I 1 1 1 1 1 lt lt Conceptual gt gt 1 lt lt Conceptual gt gt lt lt Conceptual gt gt lt lt Conceptual gt gt Midia Textual 1 M dia Video M dia udio l M dia Pict rica 1 1 1 1 1 1 1 a a es iat E Po 1 1 NOR 1 lt lt Functional gt gt Envio por e mail lt lt Functional gt gt Anexo de arquivo lt lt Conceptual gt gt Mensagem lt lt Functional gt gt Categoriza o de mensagens I I I lt lt Functional gt gt 1 Corretor ortogr fico 1 1 lt lt Functional gt lt lt Conceptual gt gt ic his P apart es A ie Caminhos de conversa lt lt Functional gt gt Ferramenta de comunica o 3 E arteiras de compromissos A lt lt Conceptual gt gt Canal de Comunica o lt lt Conceptual gt gt Canal de comunica o em blocos lt lt Conceptual gt gt Estrutura de di logo na a lt lt Conceptual gt gt lt a A tual gt gt Canal de comunica o continuo ede lt lt Conceptual gt gt lt lt Conceptual gt gt ala El Linear u eng Figura 4 5 Modelo de caracter sticas da comunica o nas fe
409. vos servi os e evoluir os existentes Al m disto vem sendo custosa a integra o de novos membros equipe de desenvolvimento 5 1 1 O AulaNet 3 0 A nova vers o do AulaNet est sendo completamente reescrita utilizando a abordagem proposta nesta tese S o utilizados componentes concebidos com base no modelo 3C e que encapsulam um conjunto coeso de dados e fun es Os component frameworks encapsulam e oferecem servi os de baixo n vel dando suporte ao desenvolvimento e manuten o de groupware Nesta se o s o discutidos alguns requisitos da nova vers o do ambiente com rela o abordagem proposta e arquitetura utilizada Os requisitos foram consolidados e discutidos em reuni es das equipes de desenvolvedores do grupo AulaNet da PUC Rio e da EduWeb Foram realizadas 15 reuni es de Janeiro a Junho de 2005 Os requisitos t m origem na experi ncia de 8 anos de desenvolvimento do AulaNet e nas demandas do meio corporativo atendido pela EduWeb Um exemplo de demanda recorrente no meio empresarial a adapta o da estrutura hier rquica e de pap is para cada empresa e institui o A vers o 2 0 do AulaNet possui uma organiza o fixa baseada em Institui es e Departamentos com os seguintes pap is administrador coordenador docente co autor mediador e aprendiz Entretanto na pr tica as institui es possuem diferentes n veis de administra o como departamentos unidades filiais regi es institui es
410. web services que disponibilizam os servi os da fachada da camada de neg cio da aplica o Os component frameworks utilizados encapsulam v rias funcionalidades de baixo n vel que implementam necessidades estabelecidas para a vers o 3 0 do AulaNet Por exemplo passou se a utilizar sess o para registrar dados tempor rios do usu rio e aproveitar o mecanismo de autentica o oferecido pelo container que melhora sensivelmente a seguran a do sistema possibilitando o controle de permiss es por p gina S o utilizadas tamb m transa es de modo a evitar a inconsist ncia de dados A infra estrutura disponibiliza tamb m recursos Capitulo 5 Estudos de Caso 150 para gerar logs de a es no ambiente de modo a possibilitar a auditoria e a volta a est gios anteriores e a importa o e exporta o de dados Para facilitar a manipula o dos servi os pelo administrador do ambiente cada servi o empacotado em um arquivo compactado e para ser instalado copiado a um determinado diret rio O administrador instala atualiza ou remove servi os incluindo substituindo e excluindo arquivos O administrador disp e de um servi o chamado Gerenciador de Servi os onde o nome a vers o e a data da ltima utiliza o dos servi os s o apresentados e ativa se e desativa se servi os possibilitando experimentar diversas configura es As customiza es dos componentes s o feitas nos descritores dos servi os que s o edit
411. works Kolfschoten G L Briggs R O Appelman JH amp de Vreede G J 2004 ThinkLets as Building Blocks for Collaboration Processes A Further Conceptualization Groupware Proceeding of the 10 International Workshop on Groupware CRIWG 2004 San Carlos Costa Rica September 5 9 Lecture Notes in Computer Science Vol 3198 pp 137 152 Kraut R E amp Attewell P 1997 Media use in global corporation electronic mail and organizational knowledge Research milestone on the information highway Mahwah NJ Erlbaum Krebs A M Ionescu M Dorohomceanu B amp Marsic I 2003 The DISCIPLE System for Collaboration over the Heterogeneous Web Proceedings of the Hawaii International Conference on System Sciences HICSS 2003 Kreifelts T Hinrichs E amp Woetzel G 1993 Sharing To Do Lists with a Distributed Task Manager In Proceedings of the Third European Conference on Computer Supported Cooperative Work ECSCW 93 pp 31 46 1993 Krueger C W 1992 Software Reuse ACM Computing Surveys Volume 4 Issue 2 p131 183 Kulesza U Garcia A Lucena C J P amp Staa A V 2004 Integrating Generative and Aspect Oriented Technologies Simp sio Brasileiro de Engenharia de Software 2004 Bras lia pp 130 146 Kuutti K 1991 The concept of activity as a basic unit of analysis for CSCW research Proceedings of the Second European Conference on Computer Supported Cooperative Wor
412. xemplo para o curso TIAE o servi o Confer ncias pode ser duplicado duplicando o arquivo correspondente na estrutura de diret rios j que as Confer ncias s o utilizadas para a argumenta o sobre os temas semanais e para a avalia o em pares Cada instala o nomeada e configurada de forma espec fica 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 Os cen rios abordados ilustram que manipulando arquivos no sistema operacional ou alterando propriedades em arquivos textuais poss vel alterar a configura o e o suporte colabora o do ambiente Caso o ambiente n o ofere a um determinado servi o poss vel estend lo incorporando o novo servi o sem desestruturar os demais Para encapsular uma ferramenta que n o foi originalmente desenvolvida para o ambiente necess rio criar um empacotamento que possibilite instal la E necess rio criar o arquivo descritor os scripts e a estrutura de diret rios definidos no modelo de componentes do AulaNet Por exemplo a Figura 5 8 ilustra a Capitulo 5 Estudos de Caso 157 utiliza o da ferramenta externa de montagem de calend rio tCalDate que foi encapsulada para operar a partir do ambiente AulaNet Como esta ferramenta n o mant m uma base paralela de usu rios e grupos n o foi necess
413. xemplo de trabalho normalmente todo pr articulado ocorre na linha de montagem onde os participantes realizam suas tarefas individualmente seguindo o que foi estabelecido sem necessidade de renegociar o trabalho A completa pr articula o das tarefas apropriada quando a atividade e seu processo de resolu o forem bem conhecidos A p s articula o ocorre ap s o t rmino das Capitulo 3 O Modelo 3C de Colabora o 93 tarefas e envolve a avalia o an lise e documenta o do processo de colabora o Quando n o poss vel pr articular totalmente as tarefas ou quando necess rio adaptar o planejamento a coordena o tratada dinamicamente durante o gerenciamento do andamento das tarefas e de suas interdepend ncias Esta coordena o definida como o ato de gerenciar interdepend ncias entre as atividades realizadas para se atingir um objetivo Malone amp Crowston 1990 renegociada de maneira quase cont nua ao longo de todo o tempo Apesar da interdepend ncia ser normalmente positiva um participante desejando que o trabalho do outro seja bem sucedido ela nem sempre harmoniosa Sem coordena o h o risco de os participantes se envolverem em tarefas conflitantes ou repetitivas Raposo amp Fuks 2002 Um coordenador pode ser definido para organizar o grupo durante a colabora o reduzindo a necessidade de pr articula o O coordenador organiza os participantes tarefas e recursos e
414. y Meeting room Patten Pattern Shares worse Eeer Related patternitamily Ce Pattern mentioned in T the intent catalog Infrastructure N A Object Synchonization Repository lt 1 Shared Object Em Multiuser Editor Editor IN Application Sharing LL Floor Control Figura 2 4 Padr es de projeto para groupware oor Lukosch amp Schiimmer 2004 prop em uma linguagem de padr es para groupware visando instrumentar o desenvolvimento de modo a favorecer o reuso de solu es e capacitar mais rapidamente membros inexperientes no desenvolvimento de groupware Tamb m considerada a integra o com frameworks existentes de modo a valorizar o reuso de decis es de projeto bem sucedidas e de conhecimento provido por especialistas Santoro et al 2001 prop em um modelo baseado em padr es conceituais que descrevem situa es e problemas comuns em um ambiente de ensino aprendizagem e apresentam solu es recorrentes e reus veis Os padr es objetivam instrumentar o desenvolvedor de um ambiente no levantamento de necessidades de modo a n o deixar de fora quest es importantes Alguns dos padr es s o transformados em padr es de projeto e outros servem de guia para o desenvolvimento O modelo apresentado em mais detalhes na Se o 3 8 do cap tulo seguinte Capitulo 2 Revisao da Literatura 35 Kolfschoten et al 2004 prop em uma engenharia de colabora o baseada em thinkLets q
415. zagem Algumas ferramentas oferecem suporte an lise estat stica dos objetos e informa es compartilhadas de modo a possibilitar coletas e an lises teis para embasar a media o do grupo As informa es sumarizadas s o utilizadas para acompanhar a intera o reduzindo a necessidade de monitorar ler e acompanhar as contribui es que ocorrem em hor rios e frequ ncia variados Gerosa et al 2005 Por exemplo a Figura 3 16 apresenta a profundidade m dia a porcentagem de folhas e a quantidade de mensagens em cada Confer ncia das edi es 2002 1 e 2003 1 do curso TIAE Na turma 2002 1 a profundidade m dia e a quantidade de mensagens diminu ram ao longo do tempo e o percentual de folhas aumentou indicando menos intera o na turma Na edi o 2003 1 ocorreu uma situa o oposta a profundidade m dia e a quantidade de mensagens aumentaram ao longo das confer ncias e a porcentagem de folhas diminuiu indicando um aumento da intera o Estas informa es foram obtidas a partir do registro das mensagens que possibilita recuperar o contexto da coopera o no grupo Capitulo 3 O Modelo 3C de Colabora o 4 3 5 3 m 25 N 2 oS 1 5 N 1 0 5 0 1 2 3 4 5 6 7 8 4 3 5 4 34 254 o 24 o 1 5 4 N 14 0 54 0 1 2 3 4 5 6 r 8 80 70 60 50 40 30 80 70 60 50 40 30 107 D 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 o

Download Pdf Manuals

image

Related Search

Related Contents

Practical N°1 The random conical tilt series, using  Extension de l`homologation de l`Huile de pulvérisation 13E    KT3 GUIDE DE MONTAGE  Burnham V11H Boiler Installation and Operation Manual  Murphy LM2000S User's Manual  PoC CR用カセッテ  User Manual December 2007  Technicolor - Thomson LDK 4502 User's Manual    

Copyright © All rights reserved.
Failed to retrieve file