U N I V E R S I D A D E F E D E R AL D O A M A Z O N AS Instit uto de Ciê ncias Exatas Departamento de Ciência da Computação TRABALHANDO COM OBJETOS DE APRENDIZAGEM NA CONSTRUÇÃO DE CURSOS ON-LINE Bruno Freitas Gadelha MANAUS – AM SETEMBRO DE 2003 II BRUNO FREITAS GADELHA TRABALHANDO COM OBJETOS DE APRENDIZAGEM NA CONSTRUÇÃO DE CURSOS ON-LINE Monografia apresentada à banca examinadora da Universidade Federal do Amazonas, como exigência parcial para obtenção do grau de Bacharel em Ciência da Computação sob a orientação da Profª M.Sc. Rosiane de Freitas Rodrigues e co-orientação da Profª M.Sc. Vivian Lane Souto Pereira. MANAUS – AM SETEMBRO/2003 III GADELHA, Bruno Freitas Trabalhando com objetos de aprendizagem na construção de cursos on-line Acadêmico [Manaus] 2003. 133p, 29,7cm Monografia de conclusão de curso – Universidade Federal do Amazonas Área de concentração: Informática na Educação. Orientadora: M. Sc. Rosiane de Freitas Rodrigues Co-orientadora: M. Sc. Vivian Lane Souto Pereira 1. Aplicações WEB 2. Educação a distancia 3. Objetos de aprendizagem IV DEDICATÓRIA À minha mãe, pelo amor, carinho e estímulo que me oferece sempre. Dedico-lhe essa conquista como gratidão. V AGRADECIMENTOS Agradeço a todas as pessoas que direta ou indiretamente contribuíram com a realização deste trabalho, porém algumas “pessoas” em especial merecem ser citadas: • Primeiro a CATALINA. Minha companheira nos momentos mais difíceis durante a implementação dos resultados deste projeto, lembrando-me sempre da minha infinita ignorância nessa ciência nada exata, onde erros acontecem sem sabermos as causas, que é a computação. • A Rosiane de Freitas Rodrigues, que, na sua árdua missão de orientar o mais desorientado e displicente dos orientandos, sempre (ou quase sempre) foi paciente, e conseguiu cumprir sua missão usando de artefatos nada convencionais (puxões de orelha, cobranças e marcação cerrada). Sem ela eu não concluiria este trabalho. • A Vívian Lane Souto Pereira que me ajudou em todos os momentos deste trabalho, que acabou ganhando a honra, que ela não leia isto, de ser minha co-orientadora. Teve paciência de me aturar falando de projeto até quando íamos a shows e festas. • A Andréa Pereira Mendonça pelos conselhos e dicas dados na elaboração deste trabalho. • As amigas Laura Jane por ouvir minhas eternas lamentações, Célia dos Santos, pelos momentos de desespero e solidariedade passados juntos, Patrícia Peres pelo estímulo dado quando tudo parecia perdido, Keyla Ahnizeret, pelas dicas de “Word avançado”, Gretchen Macedo por pagar meus almoços. • Aos amigos Sérgio Liberato, Luciano Bendaham e Hugo Nogueira pelas confusões e armações que me fizeram distrair, atrapalhando a todo o momento o andamento deste trabalho, mas que sem isso eu teria enlouquecido. • E finalmente a Deus, que me deu forças pra aturar tanta gente chata, mas especial que me ajudou neste projeto, e não me deixou desistir em nenhum momento. TRABALHANDO COM OBJETOS DE APRENDIZAGEM NA CONSTRUÇÃO DE CURSOS ON-LINE BRUNO FREITAS GADELHA ESTA MONOGRAFIA FOI SUBMETIDA À COORDENAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO, COMO PARTE DOS REQUISITOS NECESSÁRIOS À OBTENÇÃO DO TÍTULO DE BACHAREL EM CIÊNCIA DA COMPUTAÇÃO, OUTORGADA PELA UNIVERSIDADE FEDERAL DO AMAZONAS - UFAM E ENCONTRA-SE À DISPOSIÇÃO DOS INTERESSADOS NA BIBLIOTECA DA REFERIDA UNIVERSIDADE. A CITAÇÃO DE QUALQUER TRECHO DESTA MONOGRAFIA É PERMITIDA, DESDE QUE FEITA DE ACORDO COM AS NORMAS DE ÉTICA CIENTÍFICA. Banca Examinadora: ____________________________________ Profª. M.Sc. Rosiane de Freitas Rodrigues (Orientadora) Departamento de Ciência da Computação Universidade Federal do Amazonas ____________________________________ Profº. Phd. Alberto Nogueira de Castro Júnior Departamento de Ciência da Computação Universidade Federal do Amazonas ____________________________________ Profº. M.Sc. Andréa Pereira Mendonça Gerência de Ensino Superior Centro Federal de Educação Tecnológica do Amazonas Julgado em: ____ / ____ / _______ MANAUS – AM SETEMBRO DE 2003 II DECLARAÇÃO DECLARO QUE ESTA MONOGRAFIA FOI DESENVOLVIDA POR MIM E, ATRAVÉS DESTE INSTRUMENTO, CONCEDO AO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DA UNIVERSIDADE FEDERAL DO AMAZONAS (DCC/UFAM) O DIREITO DE UTILIZÁ-LA, BEM COMO AOS PRODUTOS RESULTANTES DO TRABALHO NELA DESCRITO (SOFTWARE, HARDWARE, MODELOS, ALGORITMOS, ETC) NAS SUAS ATIVIDADES DE ENSINO, PESQUISA E EXTENSÃO. ___________________________ BRUNO FREITAS GADELHA RESUMO TRABALHANDO COM OBJETOS DE APRENDIZAGEM NA CONSTRUÇÃO DE CURSOS ON-LINE BRUNO FREITAS GADELHA Setembro de 2003 Orientadora: M.Sc. Rosiane de Freitas Rodrigues Co-orientadora: M.Sc. Vivian Lane Souto Pereira Este trabalho reúne elementos de estudo sobre a aplicação de tecnologias Web no contexto educacional, tendo como objetivo demonstrar a simplicidade de criação de cursos on-line com recursos avançados de programação Web através da utilização objetos de aprendizagem (serviços e aplicações disponíveis na Web), sem a necessidade de se ter conhecimentos avançados em informática. Foram desenvolvidos três objetos de aprendizagem com diferentes propósitos e complexidades: o Tapa-esconde, com o propósito tornar mais atrativo o processo de memorização de conceitos e definições, o ACAnet, para servir como ferramenta de apoio ao trabalho em grupo, e o Eteste, que visa oferecer meios de avaliações de alunos de cursos on-line. Além dos objetos de aprendizagem, foram construídos também um portal educacional, o InfoEduc, para divulgar os objetos de aprendizagem e oferecer informações gerais sobre a aplicação da informática na educação, e um curso de informática básica, o E-curso, que foi elaborado através da utilização de diversos objetos de aprendizagem. Para as implementações foi utilizada a tecnologia JSP (Java Server Pages) e o sistema gerenciador de banco de dados MySQL. As aplicações estão implantadas no servidor Web do DCC-UFAM (Departamento, de Ciência da Computação), disponíveis em http://arara.dcc.fua.br/~infoeduc/index.jsp. ABSTRACT WORKING WITH LEARNING OBJECTS TO BUILD ON-LINE COURSES BRUNO FREITAS GADELHA September of 2003 Advisor: M.Sc. Rosiane de Freitas Rodrigues Co-advisor: M.Sc. Vivian Lane Souto Pereira This essay presents elements of study about the application of Web technology in the educational context. Its aim is to demonstrate how simple is creating on-line courses with advanced resources of Web programming through the use of learning objects (services and applications available on the Web), with no previous know-how of computing. Three learning objects with different proposals and complexities had been developed: the Tapa-Esconde (“Hide and seek”), whose main objective is to make the process of memorization of concepts and definitions more atractive; the ACAnet, a support tool for group-based work; and the ETest, which evaluates students of on-line courses. Besides, a educational gateway, InfoEduc, and an E-course were also designed. InfoEduc presents the learning objects and offers some general information about the application of computing at education. The E-Course is a basic computing course, elaborated through the use of several learning objects. The technology used for the entire implemmentation is based on Java Server Pages (JSP) and MySQL Data Base Management System . The application is installed at the web server of UFAM Computer Science Department, precisely at http://arara.dcc.fua.br/~infoeduc/index.jsp. SUMÁRIO INTRODUÇÃO .............................................................................................................................................14 PARTE I - DAS SALAS-DE-AULA À INTERNET CAPÍTULO 1 - EDUCAÇÃO, APRENDIZAGEM E TECNOLOGIA........................................................17 1.1 EDUCAÇÃO MEDIADA POR TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO (TIC) ................................17 1.1.1 Groupware, Learningware e Ferramentas .......................................................................................19 1.1.1.1 Ferramentas de Learningware.............................................................................................................. 20 1.2 OBJETOS DE APRENDIZAGEM .................................................................................................................24 1.2.1 Padrões de Software........................................................................................................................26 1.2.2 Componentes de Software................................................................................................................30 1.2.3 Padrões de Software X Componentes de Software ............................................................................32 CAPÍTULO 2 - DESENVOLVIMENTO WEB.............................................................................................33 2.1 PROTOTIPAÇÃO DE SOFTWARE ...............................................................................................................34 2.1.1 Prototipação evolucionária .............................................................................................................34 2.1.2 Desenvolvendo a especificação abstrata: modelando aplicações Web ..............................................36 2.1.2.1 2.1.2.2 Casos de Uso....................................................................................................................................... 36 Modelos de Análise............................................................................................................................. 37 2.1.3 Construindo o protótipo: projetando e implementando as aplicações ...............................................39 2.1.3.1 2.1.3.2 2.1.3.3 Definindo os dados persistentes das aplicações: Projeto de Banco de Dados .......................................... 39 Definindo o meio de persistencia dos dados: Sistema Gerenciador de Banco de Dados (SGBD)............. 39 Definindo a linguagem de programação ............................................................................................... 40 2.1.4 Utilizando o protótipo: validando a aplicação .................................................................................41 2.1.5 Entrega do sistema..........................................................................................................................42 PARTE II - OBJETOS DE APRENDIZAGEM: UMA EXPERIÊNCIA PRÁTICA CAPÍTULO 3 - DEFININDO OBJETOS DE APRENDIZAGEM ATRAVÉS DE PADRÕES DE SOFTWARE...................................................................................................................................................44 3.1 PADRÃO SALAS DE BATE-PAPO..............................................................................................................44 3.2 PADRÃO T APA-ESCONDE .......................................................................................................................48 3.3 CONSIDERAÇÕES ...................................................................................................................................50 CAPÍTULO 4 - TRABALHANDO COM OBJETOS DE APRENDIZAGEM ............................................51 4.1 DESENVOLVENDO OBJETOS DE APRENDIZAGEM ......................................................................................51 4.1.1 Tapa-Esconde: Um exemplo simples de objeto de aprendizagem......................................................51 4.1.1.1 4.1.1.2 Utilização............................................................................................................................................ 52 Considerações ..................................................................................................................................... 54 4.1.2 ACAnet: Área Compartilhada de Arquivos na Web ..........................................................................54 4.1.2.1 4.1.2.2 Utilização............................................................................................................................................ 55 Considerações ..................................................................................................................................... 61 4.1.3 E-teste: Avaliações em cursos on-line ..............................................................................................61 4.1.3.1 4.1.3.2 Utilização............................................................................................................................................ 62 Considerações ..................................................................................................................................... 64 4.2 OUTROS OBJETOS DE APRENDIZAGEM ....................................................................................................64 11 CAPÍTULO 5 - INFOEDUC: UM PORTAL EDUCACIONAL ..................................................................67 5.1 DESENVOLVENDO A ESPECIFICAÇÃO ABSTRATA: MODELANDO O INFOEDUC ............................................67 5.1.1 Diagramas de Classes .....................................................................................................................69 5.2 CONSTRUINDO O PROTÓTIPO: PROJETANDO E IMPLEMENTANDO O INFOEDUC ...........................................76 5.2.1 Implementando o InfoEduc ..............................................................................................................78 5.3 UTILIZANDO O PROTÓTIPO: O INFOEDUC NA PRÁTICA .............................................................................78 5.3.1 O portal InfoEduc: o front-end. .......................................................................................................78 5.3.2 O portal InfoEduc: o back-end.........................................................................................................84 5.4 ENTREGANDO O SISTEMA: IMPLANTANDO O INFOEDUC............................................................................86 CAPÍTULO 6 - E-CURSO: UM CURSO DE INFORMÁTICA BÁSICA VIA WEB..................................87 6.1 INTEGRAÇÃO DOS OBJETOS DE APRENDIZAGEM AO E-CURSO ...................................................................89 6.1.1 Adicionando um repositório de arquivos ao E-curso ........................................................................90 6.1.2 Adicionando uma avaliação ao E-curso...........................................................................................93 6.1.3 Adicionando um mural de avisos ao E-curso....................................................................................95 6.1.4 Adicionando uma sala de bate-papo ao E-curso...............................................................................99 6.1.5 Adicionando um fórum de discussões ao E-curso ...........................................................................102 6.1.6 Adicionando um “Fale conosco” ao E-curso .................................................................................106 6.1.7 Adicionando o Tapa-esconde ao E-curso .......................................................................................108 6.2 CONSIDERAÇÕES .................................................................................................................................109 CONCLUSÃO .............................................................................................................................................111 REFERÊNCIAS ..........................................................................................................................................113 APÊNDICE A - MODELOS DO ACANET................................................................................................118 APÊNDICE B - MODELOS DO E-TESTE................................................................................................125 APÊNDICE C - CÓDIGO FONTE DO TAPA-ESCONDE .......................................................................131 APÊNDICE D - ARTIGO SUBMETIDO À AVALIAÇÃO PARA O CONGRESSO DA SBC2003.........133 APÊNDICE E - ARTIGO SUBMETIDO À AVALIAÇÃO PARA O SBES2003 ......................................133 LISTA DE FIGURAS Figura 1. Modelo 3C........................................................................................................................................20 Figura 2. Site do Aulanet. ................................................................................................................................21 Figura 3. Site do TelEduc.................................................................................................................................22 Figura 4. Site do UniverSite. ............................................................................................................................23 Figura 5. Site do Angel. ...................................................................................................................................23 Figura 6. Site do IntraLearn. ............................................................................................................................24 Figura 7. Objetos de Aprendizagem. ................................................................................................................26 Figura 8. Processo de percepção e documentação de padrões............................................................................29 Figura 9. Interfaces do componente..................................................................................................................31 Figura 10. Processo de desenvolvimento de protótipo.......................................................................................34 Figura 11. Etapas da prototipação evolucionária...............................................................................................35 Figura 12. Exemplo de diagrama de casos de uso. ............................................................................................37 Figura 13. Estereótipos incorporados ao padrão oficial da UML. ......................................................................37 Figura 14. Exemplo de diagrama de classes utilizando classes estereotipadas da UML......................................38 Figura 15. Transição do diagrama de classes para os projetos lógico e físico do banco de dados........................40 Figura 16. Diagrama de classes do padrão Salas de Bate-Papo..........................................................................45 Figura 17. Diagrama de classes do Tapa-esconde. ............................................................................................49 Figura 18. Tags HTML de passagem de parâmetros para applets. .....................................................................50 Figura 19. Código para inclusão do Tapa-Esconde em um site..........................................................................52 Figura 20. Tela do Tapa-esconde. ....................................................................................................................53 Figura 21. Tela principal do ACAnet. ..............................................................................................................55 Figura 22. Tela de Cadastro de Sites no ACAnet. .............................................................................................56 Figura 23. Trecho de código gerado pelo ACAnet a ser adicionado ao site usuário da aplicação. .......................56 Figura 24. Módulo do administrador. ...............................................................................................................57 Figura 25. Cadastro de usuários do módulo do Administrador. .........................................................................58 Figura 26. Consulta de usuários do módulo do administrador. ..........................................................................58 Figura 27. Tela de login do módulo disponível no site usuário da aplicação. .....................................................59 Figura 28. Tela de exibição do repositório de arquivos. ....................................................................................60 Figura 29. Tela de envio (upload) de arquivos. .................................................................................................60 Figura 30. Tela principal do E-teste..................................................................................................................62 Figura 31. Tela de cadastro de docente.............................................................................................................63 Figura 32. Tela de uma avaliação criada no E-teste...........................................................................................63 Figura 33. Tela do site DreamBook..................................................................................................................65 Figura 34. Tela do site BraveNet......................................................................................................................65 Figura 35. Tela do site Response-o-matic.........................................................................................................66 Figura 36. Tela do site Onecenter.....................................................................................................................66 Figura 37. Diagrama de Casos de Uso do InfoEduc. .........................................................................................68 Figura 38. Diagrama de classes principal do InfoEduc......................................................................................69 Figura 39. Diagrama de classes do pacote principal do InfoEduc. .....................................................................70 Figura 40. Diagrama de classes do pacote de notícias do InfoEduc. ..................................................................71 Figura 41. Diagrama de classes do pacote de Artigos........................................................................................71 Figura 42. Diagrama de classes do pacote Mural. .............................................................................................72 Figura 43. Diagrama de classes do pacote Enquete. ..........................................................................................73 Figura 44. Diagrama de classes do pacote Fale Conosco...................................................................................74 13 Figura 45. Diagrama de classes do pacote Cadastro. .........................................................................................74 Figura 46. Diagrama de classes do pacote Links...............................................................................................75 Figura 47. Diagrama de classes do pacote LObjects..........................................................................................76 Figura 48. Modelo lógico do banco de dados do InfoEduc. ...............................................................................77 Figura 49. Modelo físico do banco de dados do InfoEduc. ................................................................................77 Figura 50. Página inicial do portal InfoEduc.....................................................................................................79 Figura 51. Página que exibe os links sugeridos pelo portal................................................................................80 Figura 52. Página de "Fale conosco" do portal..................................................................................................80 Figura 53. Tela de cadastro de usuário do portal. ..............................................................................................81 Figura 54. Mural virtual do portal. ...................................................................................................................81 Figura 55. Página principal do educador no Portal............................................................................................82 Figura 56. Tela de artigos disponíveis no portal................................................................................................83 Figura 57. Página principal do estudante do portal............................................................................................83 Figura 58. Página principal do administrador do portal. ....................................................................................84 Figura 59. Back-end do portal InfoEduc...........................................................................................................85 Figura 60. Tela de cadastro/atualização de notícias no back-end do portal.........................................................85 Figura 61. Tela de consulta de notícias no back-end do portal...........................................................................86 Figura 62. Tela inicial do E-curso. ...................................................................................................................87 Figura 63. Tela de cadastro do ACAnet............................................................................................................91 Figura 64. Tela de gerenciamento do repositório de arquivos............................................................................91 Figura 65. Tela com fragmento de código do repositório de arquivos................................................................92 Figura 66. Repositório de arquivos integrado ao E-curso. .................................................................................93 Figura 67. Tela de cadastro de docente no E-teste.............................................................................................94 Figura 68. Tela de gerenciamento de avaliações. ..............................................................................................94 Figura 69. Tela com fragmento de código do repositório de arquivos................................................................95 Figura 70. Avaliação integrada ao E-curso. ......................................................................................................95 Figura 71. Tela de cadastro do DreamBook. .....................................................................................................96 Figura 72. Tela de gerenciamento do mural......................................................................................................96 Figura 73. Tela com fragmento de código do mural..........................................................................................97 Figura 74. Tela de adaptação de interface.........................................................................................................98 Figura 75. Mural integrado ao E-curso. ............................................................................................................98 Figura 76. Tela de cadastro do Bravenet...........................................................................................................99 Figura 77. Tela de gerenciamento da sala de bate-papo...................................................................................100 Figura 78. Tela com fragmento de código da sala de bate-papo.......................................................................101 Figura 79. Tela de adaptação de interface.......................................................................................................101 Figura 80. Sala de bate-papo integrada ao E-curso..........................................................................................102 Figura 81. Tela de cadastro do Onecenter.......................................................................................................103 Figura 82. Tela de gerenciamento do fórum. ..................................................................................................103 Figura 83. Tela com fragmento de código da sala de bate-papo.......................................................................104 Figura 84. Tela de adaptação de interface.......................................................................................................105 Figura 85. Fórum integrado ao E-curso. .........................................................................................................106 Figura 86. Tela de cadastro do Response-o-matic. ..........................................................................................107 Figura 87. Código do formulário padrão gerado pelo Response-o-matic..........................................................107 Figura 88. "Fale conosco" integrado ao E-curso. ............................................................................................108 Figura 89. Tapa-esconde integrado ao E-curso. ..............................................................................................109 Figura 90. Diagrama de casos de uso do ACAnet. ..........................................................................................118 Figura 91. Diagrama de classes principal do ACAnet. ....................................................................................119 Figura 92. Diagrama de classes principal do módulo de administração das Áreas compartilhadas no ACAnet. 119 Figura 93. Diagrama de classes do pacote principal do módulo de administração. ...........................................120 Figura 94. Diagrama de classes do pacote de relatórios do módulo de administração.......................................120 Figura 95. Diagrama de classes principal do módulo do cliente (disponível no site do usuário)........................121 Figura 96. Diagrama de classes do pacote principal do módulo do cliente. ......................................................121 Figura 97. Diagrama de classes do pacote Sites do ACAnet. ...........................................................................122 Figura 98. Diagrama de classes do pacote Usuários do ACAnet......................................................................122 Figura 99. Diagrama de classes do pacote Arquivos do ACAnet. ....................................................................123 14 Figura 100. Modelo lógico de entidades-relacionamentos do ACAnet.............................................................123 Figura 101. Modelo físico de entidades-relacionamentos do ACAnet..............................................................124 Figura 102. Diagrama de casos de uso do E-teste. ..........................................................................................125 Figura 103. Diagrama de classes principal do E-teste. ....................................................................................126 Figura 104. Diagrama de classes principal do módulo do docente. ..................................................................126 Figura 105. Diagrama de classes do pacote principal do módulo do docente. ..................................................127 Figura 106. Diagrama de classes do pacote Provas do E-teste. ........................................................................127 Figura 107. Diagrama de classes do pacote de questões objetivas do E-teste. ..................................................128 Figura 108. Diagrama de classes de questões subjetivas. ................................................................................128 Figura 109. Diagrama de classes do pacote Docentes do E-teste. ....................................................................129 Figura 110. Diagrama de classes do módulo do aluno.....................................................................................129 Figura 111. Modelo lógico de entidades-relacionamentos do E-teste...............................................................130 Figura 112. Modelo físico de entidades-relacionamentos do E-teste................................................................130 INTRODUÇÃO É fato que a Internet é um ambiente rico em informações e serviços, que vêm chamando a atenção dos educadores por seu potencial como fonte de pesquisa e de comunicação. Utilizar tais recursos de maneira eficiente ao processo de ensinoaprendizagem é um desafio diário dos educadores modernos. Existem ambientes virtuais de aprendizagem disponíveis que reúnem diversas ferramentas e recursos que ajudam os educadores a criar e manter cursos on-line. Tais cursos podem ser semi-presenciais ou totalmente a distância. Porém, a maioria destes ambientes são pacotes fechados, que não permitem ao educador agregar novas funcionalidades a eles. Construir tais ambientes com todas as funcionalidades desejadas não é tarefa banal, pois requer conhecimentos avançados de informática. Este trabalho tem como objetivo demonstrar a simplicidade de criação de cursos on-line com recursos avançados de programação para a Web através da utilização de objetos de aprendizagem (serviços e aplicações disponíveis na Web), sem a necessidade de se ter conhecimentos avançados em informática. Esta monografia está dividida em 2 partes. A Parte I, “Das salas-de-aula à Internet”, corresponde ao referencial teórico estudado para a realização deste trabalho, e envolve os dois primeiros capítulos desta monografia. O capítulo 1 (Educação, Aprendizagem e Tecnologias) trata sobre a educação mediada por tecnologias de informação e comunicação, fala sobre o aprendizado em grupo através de learningware. O capítulo trata ainda sobre objetos de aprendizagem e sua utilização na construção de ambientes virtuais de aprendizagem. O capítulo 2 15 (Desenvolvimento Web) trata de tecnologias de desenvolvimento de aplicações Web através da prototipação de software. A Parte II, “Objetos de aprendizagem: uma experiência prática”, trata dos resultados obtidos no desenvolvimento deste trabalho, e envolve quatro capítulos desta monografia. O capítulo 3 (Definindo Objetos de Aprendizagem através de Padrões de Software) mostra como definir objetos de aprendizagem utilizando a abordagem de padrões de software para documentar soluções de problemas recorrentes no que diz respeito à construção de objetos de aprendizagem. O capítulo 4 (Trabalhando com Objetos de Aprendizagem) apresenta os objetos de aprendizagem desenvolvidos neste projeto, além de citar outros disponibilizados na Internet. O capítulo 5 (InfoEduc: um portal educacional) mostra o desenvolvimento de um portal educacional. O capítulo 6 (E-curso: Um curso de informática básica via Web) mostra o processo de construção de um ambiente virtual de aprendizagem através da utilização de objetos de aprendizagem. Para finalizar, é apresentada a conclusão do trabalho seguida pelas referências utilizadas no desenvolvimento deste e os apêndices. PARTE I DAS SALAS-DE-AULA À INTERNET Capítulo 1 EDUCAÇÃO, APRENDIZAGEM E TECNOLOGIA “Educar é colaborar para que professores e alunos - nas escolas e organizações transformem suas vidas em processos permanentes de aprendizagem. É ajudar os alunos na construção da sua identidade, do seu caminho pessoal e profissional - do seu projeto de vida, no desenvolvimento das habilidades de compreensão, emoção e comunicação que lhes permitam encontrar seus espaços pessoais, sociais e profissionais e tornar-se cidadãos realizados e produtivos” [Moran, 2000]. Segundo Moran, o ponto-chave no processo de ensino/aprendizagem é a comunicação. A sociedade está reaprendendo a se comunicar, a ensinar e a aprender com as tecnologias inseridas principalmente pela Internet que, através de recursos como correio eletrônico (e-mail), páginas Web e salas de bate-papo (chats), conseguiu encurtar distâncias geográficas e aumentou o acesso à informação. A utilização dos inúmeros recursos oferecidos pela Internet no âmbito educacional é um dos desafios do educador moderno que passa a contar com o computador como instrumento de apoio às suas atividades, seja no ensino presencial, no ensino semi-presencial ou no ensino à distância. 1.1 EDUCAÇÃO MEDIADA POR TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO (TIC) Em todo o processo de ensino/aprendizagem existem “tecnologias” envolvidas. Belloni [Belloni, 2001] diz que a sala de aula pode ser considerada uma “tecnologia” da mesma forma que o quadro negro, giz, livros e outros materiais são ferramentas pedagógicas que realizam a mediação entre o conhecimento e o aprendiz. Com a utilização das tecnologias disponíveis na Internet, a interação com o professor 18 muitas vezes é indireta, através da combinação de diferentes tecnologias de comunicação. Na educação semi-presencial e na educação a distância a dependência dessas tecnologias de mediação é ainda mais evidente, visto que nessas duas modalidades de educação, a distância entre tutor e aprendiz é uma das principais características. A comunicação entre tutor e aprendiz não é a única mudança introduzida pelas TICs, mudou também a forma de expor o conhecimento, o assunto a ser tratado. O conteúdo pode ser exposto em forma de textos simples, hipertextos, vídeos, imagens e sons. São tantos os recursos existentes que torna desafiadora a tarefa de combiná-los de modo adequado para assegurar uma relação sólida entre tutor e aprendiz, e entre este e o conteúdo a ser estudado. Combinar as TICs, oferecendo recursos ao tutor para a exposição de seu conteúdo e para a comunicação deste com os aprendizes é a principal finalidade dos ambientes virtuais de aprendizagem disponíveis na Internet. Estes ambientes podem ser utilizados tanto como apoio ao ensino presencial quanto como ferramenta de ensino semi-presencial e no ensino a distância. Neste trabalho, o termo ambiente virtual de aprendizagem será utilizado para definir as ferramentas de mediação da aprendizagem através da Internet. Apesar de não ser uma exigência para ambientes virtuais de aprendizagem, uma das características mais importantes desses ambientes é a possibilidade do trabalho em grupo para a construção do conhecimento. A construção do conhecimento pelo trabalho em grupo nesses ambientes virtuais de aprendizagem é feita através da discussão, reflexão e tomadas de decisões mediadas pelos recursos oferecidos pelo ambiente. O campo de pesquisa que estuda como o trabalho em grupo e tenta descobrir como a tecnologia pode ajudar tais grupos a trabalhar é conhecido por CSCW (Computer-Supported Cooperative Work) [Ellis, 1991]. A CSCL (Computer-Supported Collaborative 19 Learning) é usada para designar a pesquisa na área de ensino e aprendizagem, e é considerada por alguns autores como uma subdivisão do CSCW. A tecnologia gerada pela pesquisa nessas duas áreas é conhecida por groupware [Ferreira, 2003] e será tratada a seguir. 1.1.1 Groupware, Learningware e Ferramentas Groupware são sistemas baseados em computadores que suportam grupos de pessoas engajadas em uma tarefa ou objetivo em comum, e que provê uma interface para um ambiente compartilhado [Ellis, 1991]. Logo, entende-se que é a integração de recursos (principalmente hardware, software e pessoas) que suportam e ampliam o trabalho em grupo. Hofte [Hofte, 1998] afirma que vários esquemas têm sido propostos para classificar a coleção de sistemas de groupware que surgem cada vez mais. Tais classificações fornecem uma idéia das dimensões nas quais sistemas de groupware podem variar. Uma destas dimensões abrange a aprendizagem: o termo learningware refere-se ao groupware dedicado à aprendizagem [Fuks et al., 2002]. Os learningware são motivos de grande pesquisa, já que a atual realidade educacional demanda um sistema de ensino adequado às novas necessidades sociais, políticas, econômicas e culturais que se apresentam no mundo [Boselli, 2002]. E a atualidade é marcada pela ênfase na ciência e na tecnologia, o que exige do profissional de educação e dos alunos uma nova postura. As novas tecnologias de informação e de comunicação que se apresentam com bastante expressividade no contexto educacional apontam novas rotas para os envolvidos no processo educacional percorrerem. A Internet, em particular a Web, atrai grande interesse da comunidade acadêmica por proporcionar um meio de comunicação bastante eficiente e cada vez mais acessível. 20 Segundo Lucena e Crespo [apud Rheinheimer, 2001], a educação/treinamento baseada na Web usa a WWW como meio para a publicação do material didático, aplicação de tutoriais, aplicação de provas e testes e comunicação com estudantes. Também compreende o processo de uso da Web como veículo de comunicação para a apresentação de aulas à distância (conferência multimídia). As tecnologias de educação/treinamento baseada na Web estão em pleno uso, utilizando uma série de ferramentas que auxiliam os processos de colaboração, coordenação e comunicação. O modelo 3C (Coordenação, Colaboração e Comunicação) [Ellis, 1991] é utilizado para a construção de muitos ambientes de learningware, pois sumariza as características desejadas em um groupware educacional (Figura 1). Figura 1. Modelo 3C. Fonte: Adaptado de Fuks [Fuks, 2002] Não existe um consenso entre os autores sobre a definição para os termos cooperação e colaboração. Segundo Panitz [Panitz, 1996] a cooperação pode ser definida como uma estrutura de interação projetada para facilitar a realização de um objetivo específico, enquanto que a colaboração é definida como uma filosofia de interação e estilo de vida pessoal, na qual cada indivíduo é responsável por sua ação, respeitando as habilidades e contribuições dos demais membros do grupo. 21 Na próxima sessão são listadas algumas ferramentas de Learningware disponíveis da Internet. 1.1.1.1 FERRAMENTAS DE LEARNINGWARE Uma grande quantidade de ferramentas de cursos a distância via Web brasileiras e estrangeiras estão disponíveis na Internet. Tais ferramentas são utilizadas para a criação e manutenção de cursos on-line de forma rápida e eficiente exigindo apenas um conhecimento prévio mínimo das tecnologias computacionais envolvidas no funcionamento de cursos via Web. Esses ambientes possuem alguns recursos em comum como salas de bate-papo entre os participantes dos cursos, fóruns e listas de discussão e troca de e-mails. Abaixo segue uma relação de algumas dessas ferramentas: • AulaNet (http://guiaaulanet.eduweb.com.br/) - é um ambiente de software baseado na Web (Figura 2), desenvolvido no Laboratório de Engenharia de Software - LES - do Departamento de Informática da PUC-Rio, para administração, criação, manutenção e participação em cursos à distância [Aulanet, 2003]. Figura 2. Site do Aulanet. 22 • TelEduc (http://hera.nied.unicamp.br/teleduc/) - é um ambiente para a criação, participação e administração de cursos na Web (Figura 3). Objetiva o processo de formação de professores para informática educativa, baseado na metodologia de formação contextualizada desenvolvida por pesquisadores do Nied (Núcleo de Informática Aplicada à Educação) da Unicamp [TelEduc, 2002]. • UniverSite (http://ead.mhw.com.br/siteext/port/index.htm) - é um ambiente que funciona como uma universidade virtual, criando um ambiente intuitivo muito próximo ao do ensino tradicional em sala de aula (Figura 4). O conteúdo educacional é ministrado por meio de recursos multimídia, hipertextos e links, tornando o processo de aprendizado mais dinâmico e intuitivo. É um software multilíngue, oferecido em português, inglês e espanhol, e facilmente localizado para outro idioma [Universite, 2003]. Figura 3. Site do TelEduc. 23 Figura 4. Site do UniverSite. • Angel (http://www.cyberlearninglabs.com/) - é um portal de gerenciamento de cursos via Web internacional que ajuda educadores a gerenciar o material utilizado nos cursos e oferece recursos rápidos e eficientes de comunicação entre os seus participantes [Angel, 2003]. ANGEL (Figura 5) foi desenvolvido para ser utilizado como um complemento aos cursos tradicionais de ensino presencial. Figura 5. Site do Angel. 24 • IntraLearn (http://www.intralearn.com/1000_Products.asp) - é uma plataforma de aprendizado eletrônico prestadores de serviços, organizações, (e-learning) que permite associações e educadores a criar, distribuir e medir o aprendizado interativo através da Internet ou de intranets (Figura 6) [INTRALEARNING, 2003]. Figura 6. Site do IntraLearn. 1.2 OBJETOS DE APRENDIZAGEM Conforme afirma Wiley [WILEY, 2002], a forma que os materiais educacionais estão sendo projetados, desenvolvidos e distribuídos a quem quer aprender vem sofrendo muitas mudanças, principalmente após o advento da Internet que inseriu na sociedade novas formas de comunicar, de fazer negócios e até mesmo a forma de estudar. Segundo o autor, esta é a idéia fundamental sobre objetos de aprendizagem (learning objects): projetistas de aplicações educacionais podem construir pequenos componentes educacionais (ou instrucionais), comparados ao tamanho de um curso 25 inteiro, que podem ser reutilizados inúmeras vezes em diferentes contextos de aprendizagem. Objetos de aprendizagem podem ainda ser entendidos como entidades digitais distribuídas através da Internet, o que significa que qualquer número de pessoas pode acessá-los e utilizá-los simultaneamente. Quem incorpora os objetos de aprendizagem pode interagir, personalizando e adequando às suas necessidades, com o objeto e ainda se beneficiar de novas versões. Estas são as principais diferenças entre objetos de aprendizagem e outras mídias existentes previamente. Apesar de não existir uma conceituação fechada sobre objetos de aprendizagem, a definição dada pelo grupo de trabalho que estuda a padronização de metadados para learning objects (Learning Object Metadata Working Group [IEEE, 2002]) se mostra bem adequado como segue: qualquer entidade, digital ou não digital, que pode ser utilizado, reutilizado ou referenciado durante o aprendizado suportado por tecnologias. Pela definição acima apresentada, se enquadram na classificação de objetos de aprendizagem textos, animações, aplicações e serviços Web, gráficos, componentes de software, entre outros. A Figura 7 define graficamente os objetos de aprendizagem. A nuvem na figura indica o mundo real, ou seja, grande quantidade de informação não estruturada, de pessoas, de processos e de idéias não documentadas. A partir do mundo real, tem-se a necessidade de organizar essa grande quantidade de informação e de idéias, de modo a compartilhá-las e acessálas mais facilmente. São gerados documentos, imagens, sons e aplicações, onde muitos deles são disponibilizados pela Internet. Estas mídias disponíveis na Internet, muitas vezes são utilizadas no processo de ensino-aprendizagem mediado pelo computador, compondo ambientes virtuais e atuando como objetos de aprendizagem. Observando ainda o mundo real, pode-se ainda perceber que certos problemas e comportamentos se repetem, e que possuem soluções em comum. Tais soluções podem ser documentadas gerando padrões para resolverem problemas semelhantes. Estes padrões também podem ser percebidos com a observação das 26 informações e serviços disponibilizados pela Internet. Em alguns casos, as soluções propostas pelos padrões dizem respeito à criação de aplicações computacionais. Neste caso, os padrões são conhecidos por padrões de software que serão posteriormente detalhados. Os padrões de software podem dar origem aos componentes de software, porém nem todo componente de software é construído a partir de um padrão documentado de software. Eles podem surgir também através da observação do mundo real. Esses componentes, se utilizados em contextos educacionais, passam a ser objetos de aprendizagem. Figura 7. Objetos de Aprendizagem. 1.2.1 Padrões de Software No desenvolvimento de software é comum resolver problemas que já ocorreram outras vezes em situação similar, e a cada vez que o problema ocorre, se faz necessário pensar na solução do mesmo novamente. Surge então a necessidade de se pensar em padrões de software para que as soluções desses problemas corriqueiros sejam catalogadas e estejam disponíveis para serem reutilizadas. Um padrão descreve uma solução para um problema corriqueiro no desenvolvimento de software. Para atender a expectativa de tornar a reusabilidade uma realidade na 27 área de desenvolvimento de software, os padrões são uma opção comprovadamente eficaz. Gamma [Gamma, 2000] afirma que os padrões tornam mais fácil reutilizar projetos e arquiteturas bem sucedidas. Autores diferentes definem modelos (templates) distintos para descrever os padrões. O mais popular é o GOFTemplate [Gamma, 2000] que descreve um padrão com os seguintes componentes: • Nome do padrão – deve-se criar um nome bem descritivo que procure caracterizar a natureza do padrão. • Intenção e objetivo – deve-se informar qual a utilidade do padrão, e que tipo de problema ele é capaz de resolver. • Conhecido como – deve-se listar outros nomes que identificam o padrão. • Motivação – descreve-se o cenário do problema, descrevendo-o e indicando como o padrão soluciona tal questão. • Aplicabilidade – identificam-se situações as quais o padrão pode ser aplicado. • Estrutura – deve-se representar graficamente as classes que compõem o padrão. • Participantes – listam-se classes e/ou objetos que participam do padrão mostrando suas responsabilidades. • Colaborações – mostra-se como os participantes colaboram entre si para desempenharem suas tarefas. 28 • Conseqüências – descreve-se em forma de lista as conseqüências da utilização do padrão. • Implementação características – lista-se exigidas da as técnicas linguagem de a programação ser utilizada e as para a implementação do padrão. • Código – ilustra-se através de fragmentos de código como o padrão deve ser implementado. • Usos conhecidos – lista-se sistemas, de preferência de domínios diferentes, onde o padrão é encontrado. • Padrões Relacionados – identifica-se padrões similares e descrever as principais diferenças entre os padrões. Um padrão é dito bom quando satisfaz as seguintes condições [Coplien, 2001]: • Resolve o problema: os padrões oferecem soluções e não apenas dicas ou estratégias de soluções. • É um conceito provado: as soluções oferecidas por padrões são obtidas através da experiência e da prática na resolução do problema e não em teorias ou suposições. • A solução não é obvia: os melhores padrões solucionam o problema indiretamente fazendo uma abordagem sobre problemas mais difíceis. • Descreve relacionamentos: os padrões não descrevem somente módulos, mas sim todas as estruturas necessárias na solução do problema. 29 • Possui um componente humano significativo: todo software tem como objetivo prover ao homem conforto e qualidade de vida, portanto o padrão explicitamente informa sua utilidade. Segundo Appleton [Appleton, 2000], um padrão é onde a teoria e a prática se encontram se reforçando e se complementando, mostrando assim que a estrutura que descreve é útil, utilizável e utilizada. Um padrão deve ser útil visto que mostra que o padrão percebido pode ser transformado em uma instância de um padrão do mundo real, que agregue valor aos desenvolvedores. Deve ser também utilizável, pois mostra como padrões descritos na literatura podem ser transformados em padrões que se têm em mente, e deve, ainda, ser utilizado pois padrões são primeiramente percebidos e observados no mundo real para depois serem documentados na literatura. A figura abaixo esquematiza o processo de percepção e criação de padrões (Figura 8). Figura 8. Processo de percepção e documentação de padrões. Os padrões, por representarem soluções para problemas recorrentes, podem ser identificados em vários níveis de abstração e em inúmeros domínios. Dessa forma, categorizar padrões é uma tarefa bastante subjetiva, porém, algumas categorias para padrões de software já foram sugeridas, como segue [Alur, 2002]: • padrões de projeto; 30 • padrões arquiteturais; • padrões de análise; • padrões de criação; • padrões estruturais; • padrões comportamentais. Mesmo em cada uma dessas categorias, podem surgir subcategorias dependendo do nível de abstração adotado na criação do padrão. A criação de padrões para o contexto educacional pode sugerir a construção de softwares ou componentes de softwares educacionais, que podem ser utilizados para a mediação da aprendizagem utilizando a Internet, servindo então como learning objects. 1.2.2 Componentes de Software Segundo Sommerville [Sommerville, 2003], os componentes de software podem ser definidos como uma entidade executável independente, ou seja, seu código-fonte não se encontra disponível, logo um componente não é compilado com o resto do sistema. Sua interface é conhecida e deve ser bem definida, enquanto que seu estado interno não é exposto. Essa interface é utilizada para a integração do componente ao sistema, indicando o que deve servir de parâmetro a ser passado para a execução do componente, e o que o componente retorna como resultado de sua execução ao sistema (Figura 9). 31 Entrada Saída componente Figura 9. Interfaces do componente. Dentre os benefícios da reutilização de software pode-se citar: • Maior confiabilidade: com a reutilização de componentes, o software gerado ganha uma maior confiabilidade, pois os componentes reutilizados já foram testados e seus erros já foram corrigidos. • Redução dos riscos de processo: a reutilização de software reduz as incertezas com relação ao custo do reuso do componente. Facilita as estimativas de custos do projeto. • Uso efetivo de especialistas: especialistas não precisam escrever códigos iguais para projetos diferentes, devendo, portanto, desenvolver componentes de software reutilizáveis. • Conformidade com padrões: projetos de interface podem ser implementados em componentes-padrão, com isso, toda a interface gerada com a utilização desses componentes-padrão será exibida no mesmo formato, facilitando assim o entendimento do usuário no tocante a utilização do sistema. • Desenvolvimento acelerado: a reutilização de software diminui o tempo de desenvolvimento de sistemas além de diminuir também o tempo de validação dos mesmos. 32 Componentes de software, devido sua característica de reuso, podem ser utilizados em diversos contextos de acordo com a sua funcionalidade. Quando utilizados em contexto educacional, os componentes atuam como learning objects. 1.2.3 Padrões de Software X Componentes de Software Padrões de software (software patterns) são registros de idéias que solucionam problemas recorrentes, e, às vezes, em vários contextos diferentes. Implantar tais soluções, em alguns casos, leva à construção de componentes de software. Os componentes construídos a partir de um padrão de software são reutilizáveis em todos os contextos cobertos pelo padrão. Os componentes de software são projetados para serem reutilizados em vários projetos, e, em vários contextos, inclusive na construção de outros componentes de software maiores. Nem sempre são frutos de padrões de software, porém, se um componente possuir um bom comportamento, atendendo de modo satisfatório a várias necessidades, quando submetido a diversos contextos, inclusive os que envolvem o processo de ensino-aprendizagem, pode-se identificar um padrão de software intrínseco ao componente. Padrões e componentes são conceitos muito relacionados, principalmente por possuírem como principal característica o reuso. O reuso também é um dos pontos-chave dos objetos de aprendizagem, podendo-se afirmar que padrões e componentes de software podem ser utilizados no contexto educacional como learning objects. Capítulo 2 DESENVOLVIMENTO WEB É perceptível a evolução da Web que, partindo de páginas estáticas, hoje se apresenta com um número incontável de recursos, serviços e aplicações. Conallen [Conallen, 1999] define uma aplicação Web como sendo um sistema Web (servidor Web, rede, HTTP e navegador) onde entradas do usuário (navegação e entrada de dados) afetam o estado do negócio. Neste trabalho, o estado do negócio considerado é o processo de ensino-aprendizagem, que é afetado através das ações de participantes de ambientes virtuais de aprendizagem. Ainda segundo o autor, a arquitetura de aplicações Web é a cliente-servidor, com algumas diferenças importantes. Uma diz respeito à implantação de aplicações Web, que, na maioria das vezes é questão apenas de configurar alguns componentes no lado do servidor, e nenhuma configuração especial é necessária no lado do cliente (cliente Web magro [Conallen, 2003]). Outra diferença é a forma de comunicação entre cliente e servidor, que se dá através da navegação entre as páginas Web, não existindo uma conexão direta entre os objetos do lado do cliente e do servidor. O desenvolvimento de aplicações e serviços para a Web difere em arquitetura e tecnologias, como visto acima, dos outros tipos de aplicações existentes, exigindo técnicas de desenvolvimento de software diferenciadas. A prototipação evolucionária é, atualmente, a técnica utilizada para o desenvolvimento de aplicações Web [Sommerville, 2003]. 34 2.1 PROTOTIPAÇÃO DE SOFTWARE1 Um protótipo é uma versão inicial de um sistema de software, que é utilizada para mostrar conceitos, experimentar opções de projeto e, em geral, para conhecer mais sobre os problemas e suas possíveis soluções. A prototipação pode ser utilizada como uma técnica de redução de erros e omissões nos requisitos da aplicação. A figura abaixo (Figura 10) ilustra o processo do desenvolvimento de protótipo. Figura 10. Processo de desenvolvimento de protótipo. Embora a prototipação seja parte do processo de engenharia de requisitos, ela pode ser utilizada para desenvolver o próprio sistema de software através de uma abordagem evolucionária, onde uma versão inicial do software é criada rapidamente, e vai sendo modificada para produzir o produto final. 2.1.1 Prototipação evolucionária A prototipação evolucionária está baseada na implementação de um protótipo inicial, que vai sofrendo alterações até se chegar em um produto final que atenda todos os requisitos levantados. Possui como uma de suas principais vantagens o rápido fornecimento do sistema. 1 Tópico baseado em Sommerville [Sommerville, 2003]. 35 O desenvolvimento rápido se sistemas possui algumas características fundamentais: • Falta de documentação detalhada do sistema. A documentação de projeto produzida depende normalmente das ferramentas utilizadas para implementar o sistema. • O sistema é desenvolvido em vários estágios, onde mudanças e implementações de novos requisitos são consideradas apenas na próxima versão do software. • São utilizadas técnicas de desenvolvimento rápido, contendo ferramentas CASE e linguagens de quarta geração. • As interfaces do sistema são criadas rapidamente com o auxílio de ferramentas específicas. A Figura 11 ilustra as etapas da prototipação evolucionária. As etapas de desenvolvimento da especificação abstrata e construção do sistema protótipo são exploradas a seguir. Figura 11. Etapas da prototipação evolucionária. 36 2.1.2 Desenvolvendo a especificação abstrata: modelando aplicações Web Segundo Cunha [Cunha, 2001], existem muitas metodologias e linguagens de modelagem para aplicações Web, tais como: RNA (Relationship-Navigational Analysis), HFPM (Hypermedia Flexible Process Modeling), UML (Unified Modeling Language), WSDM (Web Site Development Method), entre outras. Porém, o estudo de uma metodologia específica foge ao escopo deste trabalho, sendo os modelos de análise (diagrama de casos de uso e diagrama de classes) deste trabalho construídos utilizando a linguagem de modelagem UML por ser amplamente difundida e utilizada tanto no meio acadêmico, como no profissional. 2.1.2.1 CASOS DE USO Segundo Melo [Melo, 2002], um caso de uso descreve uma seqüência de ações que representam um cenário principal (perfeito) e cenários alternativos, com o objetivo de demonstrar o comportamento de um sistema (ou parte dele), através de interações com atores. Um ator pode ser tanto uma pessoa, como um grupo ou ainda um sistema. Atores representam conjuntos de papéis. O diagrama de casos de uso mostra a associação entre os casos de uso e os atores do sistema, como mostra o exemplo da Figura 12, onde se tem um ator chamado “Administrador”, que cadastra cardernos e notícias em um sistema de jornal ou revista virtual. 37 Cadas trar cadernos Adm inis trador Cadas trar Noticias Figura 12. Exemplo de diagrama de casos de uso. 2.1.2.2 MODELOS DE ANÁLISE Além do diagrama de classes convencional, neste trabalho são utilizados ainda diagramas de classes baseados em classes estereotipadas da UML. O estereótipo é um mecanismo de extensibilidade da UML que representa uma subclasse de um elemento já existente com o mesmo formato, porém com objetivos diferentes e bem definidos [Melo, 2002]. Jacobson [Jacobson, 99] propõe a divisão das classes do modelo de análise de acordo com os estereótipos incorporados ao padrão oficial da UML que se seguem (Figura 13): Figura 13. Estereótipos incorporados ao padrão oficial da UML. • Entity – modelam informação persistente, sendo tipicamente independentes da aplicação. Geralmente são necessárias para cumprir alguma responsabilidade do sistema, e freqüentemente correspondem a tabelas de bancos de dados. Neste trabalho será chamado de “entidade”. 38 • Boundary – tratam da comunicação com o ambiente do sistema. Modelam as interfaces do sistema com usuários e outros sistemas. Neste trabalho será chamado de “interface”. • Control – realizam o processamento no sistema, interagindo diretamente com a interface (boundary) e com a entidade (entity). Neste trabalho será chamado de “controle”. A utilização deste tipo de diagrama torna a modelagem da navegação deste trabalho mais compreensível, porque é possível fazer analogias entre as classes do modelo e os elementos de navegação. Na figura abaixo (Figura 14), pode-se observar tal analogia, onde a classe Form_Cad_Noticias pode ser comparada á uma página Web que possui um formulário para o cadastramento de notícias em um jornal. Esta página Web acionaria um processo (representado pela classe Cadastra_Noticias) que validaria os dados do cadastro e gravaria tais dados nas entidades persistentes representadas pelas classes Noticias e Cadernos. Form_Cad_Noticias 0..* Noticias Cadastra_Noticias 1 Cadernos Figura 14. Exemplo de diagrama de classes utilizando classes estereotipadas da UML. 39 2.1.3 Construindo o protótipo: projetando e implementando as aplicações De posse da especificação abstrata da aplicação, a próxima etapa no processo da prototipação evolutiva é elaborar o protótipo da aplicação para posterior validação e alterações até que ele se torne a versão final do sistema. Para desenvolver o protótipo, em alguns casos, se faz necessário tomar algumas decisões de projeto para a construção do software tais como definição dos dados persistentes da aplicação, definição do meio de persistência dos dados (sistemas gerenciadores de bancos de dados) e definição de linguagens de programação. 2.1.3.1 DEFININDO OS DADOS PERSISTENTES DAS APLICAÇÕES: PROJETO DE BANCO DE DADOS Como a maioria dos bancos de dados utilizados atualmente é relacional, se faz necessária uma tradução do modelo de objetos para o modelo relacional. Então, a partir dos diagramas de classes elaborados, são construídos os modelos lógico e físico de bancos de dados. Cada classe “entidade” do modelo transforma-se em uma, ou mais, tabela do banco de dados relacional. Uma classe “entidade” pode dar origem a uma ou mais tabelas em um banco de dados relacional [Paula Filho, 2000]. A Figura 15 mostra a transição do diagrama de classes utilizando estereótipos para os projetos lógico e físico do banco de dados. 2.1.3.2 DEFININDO O MEIO DE PERSISTENCIA DOS DADOS: SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD) Algumas aplicações Web necessitam armazenar informações de usuários, se fazendo necessário a utilização de sistemas gerenciadores de bancos de dados (SGBD). Dentre os vários SGBD’s existentes tais como Oracle, SqlServer, entre outros, o utilizado nas implementações deste trabalho é o MySql por ser um SGBD 40 relacional de código aberto, de fácil utilização, confiável, e com vasta documentação disponível na Internet [Mysql, 2003]. Form_Cad_Noticias 0..* Noticias Cadastra_Noticias 1 Cadernos Figura 15. Transição do diagrama de classes para os projetos lógico e físico do banco de dados. 2.1.3.3 DEFININDO A LINGUAGEM DE PROGRAMAÇÃO Assim como as metodologias e linguagens de modelagem de aplicações Web, existem várias tecnologias e linguagens de programação Web. Dentre as mais utilizadas atualmente destacam-se: ASP (Active Server Pages), PHP (Personal Home Page Tools, oficialmente "PHP: Hypertext PreProcessor"), Java, entre outras. As aplicações criadas neste trabalho utilizam a linguagem Java, uma linguagem de alto nível que possui as seguintes características: é orientada a objetos, distribuída, interpretada, robusta e segura, portável e de arquitetura neutra, multithreaded e dinâmica [Sun, 2003]. 41 Aplicações Web em Java podem ser implementadas para serem executadas de 2 (duas) formas a saber: • Applets Java. Os applets são aplicações Java que são executadas no cliente pelo navegador Web (browser). Para tanto, se faz necessário que o browser esteja configurado para executar tais aplicações. Os navegadores atuais já executam este tipo de tarefa automaticamente. Na parte II deste trabalho será descrita uma das aplicações construídas no desenvolvimento deste projeto utilizando esta modalidade de programação Java. • Servlets. Os servlets são aplicações Java que são executadas no servidor. Para facilitar a criação de aplicações Web utilizando esta modalidade de programação Java, surge o JSP (Java Server Pages).A tecnologia JSP permite um rápido desenvolvimento de aplicações baseadas na Web independentes de plataforma. O JSP separa a interface do usuário da geração do conteúdo permitindo que projetistas de layout alterem toda a interfaca da aplicação sem alterar o conteúdo dinâmico [JSP, 2003]. 2.1.4 Utilizando o protótipo: validando a aplicação Após a construção do protótipo, ele deve ser implantado e utilizado a fim de verificar se a aplicação atende às especificações levantadas na etapa de elaboração da especificação abstrata no processo de prototipação. Caso o protótipo seja adequado e atenda todas as especificações levantadas, o mesmo passa a ser o produto de software a ser implantado e entregue. Caso sejam verificadas correções ou especificações de novas funcionalidades, deve-se voltar à etapa de construção do protótipo. 42 2.1.5 Entrega do sistema Esta é a última etapa do processo de prototipação evolutiva onde o protótipo já foi validado e atende a todas as especificações levantadas na etapa de elaboração da especificação abstrata. Nesta etapa implanta-se a aplicação e o protótipo passa a ser o próprio sistema. A partir de então, alterações no sistema são chamadas de manutenção. PARTE II Objetos de Aprendizagem: uma experiência prática Capítulo 3 DEFININDO OBJETOS DE APRENDIZAGEM ATRAVÉS DE PADRÕES DE SOFTWARE Os objetos de aprendizagem podem ser definidos através da observação e da percepção de padrões no mundo real. Este capítulo descreve padrões para dois objetos de aprendizagem a saber: salas de bate-papo e Tapa-esconde. As descrições estão de acordo com o modelo de padrões proposto por Gamma [Gamma, 2000], mencionado no capítulo 1. 3.1 PADRÃO SALAS DE BATE-PAPO • Nome do padrão: Sala de Bate-Papo por texto. • Intenção e objetivo: oferecer uma alternativa para modelagem de uma sala de bate-papo padrão, mostrando a estrutura, as ações realizadas nesta sala, os participantes e os papéis envolvidos. • Conhecido como: Chat. • Motivação: a maioria dos learningware possui chat como ferramenta principal utilizada para comunicação. Considerou-se aqui os participantes do chat são: tutor e o aprendiz. Estes participantes podem assumir papéis diversos durante uma sessão de bate-papo. Existe a figura do moderador, que se encarrega da administração da sessão, e a de um usuário comum do chat, que tem como atribuição somente o envio e recebimento das mensagens. Na 45 utilização da ferramenta, também observa-se que podem existir várias ações, aqui distribuídas por papéis. • Aplicabilidade: qualquer tipo de aplicação que envolva trabalho de grupo síncrono. • Estrutura: a estrutura das classes do padrão está demonstrada no diagrama de classes da UML representado abaixo (Figura 16): Figura 16. Diagrama de classes do padrão Salas de Bate-Papo. • Participantes o ParticipanteChat - declara quais são os participantes de um chat. o Tutor - o tutor é um dos participantes principais de um chat educacional, corresponde a figura de professor. 46 o Aprendiz - define o participante correspondente ao aluno/aprendiz que utiliza o chat. o PapelChat - define que na ferramenta de chat um participante pode assumir papéis diferentes. aprendiz podem ser usuários normais O tutor e do chat ou moderadores. o UsuarioChat - define o tipo de usuário mais comum do chat que a utiliza simplesmente para o envio e recebimento de mensagens. Pela característica da generalização, observase que um moderador também é usuário de chat. o Moderador - define um tipo de papel que indica responsabilidade de administração da sessão. o SalaSessao - todo chat ocorre durante uma sessão que corresponde a uma sala. Agrupa tanto sessões públicas, como privadas (duas pessoas). o LogSessao - define o resultado da sessão e por isto, depende da SalaSessao. Cada sessão gera um log. o AcaoChat - cada sessão pode ter um conjunto de ações associadas, entre elas a mais comuns de envio e recebimento. Também deve ser possível incluir várias ações relativas a moderação. o EnviaMsg - define a propriedade de envio de mensagem que é acrescido no ambiente. 47 o RecebeMsg - define a propriedade de recebimento de mensagem que é acrescido no ambiente. o ModeraSessao - define a propriedade de moderação, podendo ser especializada em várias outras, o que dependerá da necessidade de cada ambiente. A generalização indica que a partir daí, outras ações relativas à moderação podem ser incluídas. A relação de ações não está completa. o AbreSessao - implementa a operação básica de abertura da sessão do chat. o FechaSessao - implementa a operação básica de fechamento da sessão do chat. • Colaborações: a ferramenta é composta de participantes, papéis, ações e a estrutura em si. As classes correspondentes colaboram entre si na criação da ferramenta. As participantes atuam em papéis na estrutura, neste padrão corresponde às sessões, em cada sessão pode-se definir as ações suportadas pelo ambiente. • Conseqüências: este padrão tem os seguintes benefícios e desvantagens: 1. Torna fácil a inclusão de novas ações a ferramenta. 2. Promove uma disposição comum de representação dos padrões de comunicação do catálogo, que corresponde aos participantes, papéis, ações e estrutura. 3. Delimita o escopo para situações de aprendizado com resultado controlado. • Implementação: não explorado. • Código: não explorado. 48 • Usos conhecidos: aplicações voltadas para educação; sistemas de atendimento ao cliente; entretenimento. • Padrões relacionados: não explorados. 3.2 PADRÃO TAPA-ESCONDE • Nome do padrão: Tapa-esconde. • Intenção e objetivo: tornar mais interessante o processo de memorização de conceitos e definições em ambientes virtuais de aprendizagem. • Conhecido como: Tapadeira, tampão, tapa-tapa. • Motivação: o processo de memorização de conceitos e definições é quase sempre cansativo, o que leva o estudante a adotar métodos como repetição dos conceitos em voz alta, esconder com a mão o conceito e repetí-lo mentalmente, entre outros. Portar esses métodos para um ambiente virtual é um desafio e serviu de motivação para a criação deste padrão. • Aplicabilidade: qualquer ambiente de aprendizagem que envolva conceitos a serem memorizados. • Estrutura: a estrutura das classes do padrão está demonstrada no diagrama de classes da UML da Figura 17. 49 Figura 17. Diagrama de classes do Tapa-esconde. • Participantes o Palavras - declara a lista de palavras a ser apresentadas na aplicação. o Conceitos - declara a lista de definições e conceitos relativos à lista de palavras da aplicação. o Tampão – implementa de fato o “tampão” que vai esconder os conceitos identificados. • Colaborações: a ferramenta é composta de palavras e seus respectivos conceitos. Tais conceitos ficam cobertos pelo “tampão”, que pode ser movido pelo estudante para visualizá-los. • Conseqüências: este padrão traz o benefício de tornar o processo de memorização mais atraente e interativo, além de contribuir enriquecendo o ambiente virtual de aprendizado. • Implementação: para implementar este padrão recomenda-se a utilização da linguagem Java, onde deve ser construído na forma de applet. O applet deverá receber como parâmetros as palavras e conceitos que devem ser listados na aplicação. 50 • Código: para a passagem de parâmetros ao applet utilizar tags HTML com tal propósito (Figura 18). Para acessar tais parâmetros nos applets, utilizar o comando getParameter(variavel). Figura 18. Tags HTML de passagem de parâmetros para applets. • Usos conhecidos: aplicações voltadas para educação. • Padrões relacionados: não explorados. 3.3 CONSIDERAÇÕES A definição do padrão Salas de Bate-Papo sugere a construção de um componente de software genérico o suficiente para ser utilizado em vários contextos, inclusive educacionais. O padrão propõe ainda um mecanismo de log de sessões de bate-papo que pode ser utilizado pelo educador como ferramenta de avaliação e controle das discussões e debates ocorridos na sessão de bate-papo. Além do padrão Salas de Bate-Papo, foi proposto ainda um padrão para a criação de um applet que tem por objetivo tornar mais atrativo o processo de memorização de conceitos, o Tapa-esconde. Tal padrão pode, ainda, ser extendido de modo a exibir imagens e suas descrições sendo, portanto, aplicável em ambientes destinados à educação infantil. Capítulo 4 TRABALHANDO COM OBJETOS DE APRENDIZAGEM Este capítulo descreve os objetos de aprendizagem (learning objects) desenvolvidos durante a realização deste projeto, além de mostrar exemplos de learning objects disponíveis na Web. Em todos os casos, além da descrição dos objetos de aprendizagem, está descrita sua utilização e são feitas algumas considerações sobre os mesmos. 4.1 DESENVOLVENDO OBJETOS DE APRENDIZAGEM Durante a realização deste projeto, foram desenvolvidos três exemplos de objetos de aprendizagem com diferentes propósitos e complexidades citados a seguir: Tapa-esconde, ACANet e o E-teste. Tais learning objects serão explicados detalhadamente nos tópicos seguintes, que apresentarão uma descrição geral, utilização e considerações de cada objeto de aprendizagem. 4.1.1 Tapa-Esconde: Um exemplo simples de objeto de aprendizagem Memorizar conceitos e definições é sempre uma tarefa monótona e cansativa para a maioria dos estudantes. Para tanto, criam-se métodos naturais para facilitar este processo tais como cobrir os conceitos estudados e tentar repetílos mentalmente ou em voz alta, reescrever os conceitos e definições, entre outros métodos. Alguns livros infantis ou de ensino de línguas estrangeiras possuem um “tampão”, ou uma aba nas páginas com conceitos e definições para facilitar o aprendizado e torná-lo mais interativo. Exportar esse mecanismo 52 para o ensino mediado pelo computador motivou a criação do Tapa-Esconde, que consiste numa aplicação que tem como objetivo tornar mais interessante e interativo o processo de memorização de conceitos em cursos via Web. A aplicação mostra uma lista de palavras-chave de um lado, e suas respectivas definições, que, a princípio, encontram-se cobertas por um “tampão”. Com o mouse, clica-se no “tampão” e arrasta-se para ver as descrições das palavras relacionadas na primeira coluna. 4.1.1.1 A UTILIZAÇÃO aplicação encontra-se disponível no portal InfoEduc (http://arara.dcc.fua.br/~infoeduc/index.jsp), que será descrito posteriormente. Para utilizá-la em um site ou ambiente virtual de aprendizagem, deve-se fazer o download do arquivo TapaEsconde.class e adicionar ao site um trecho de código semelhante ao exemplo abaixo (Figura 19): <applet code="TapaEsconde.class" name="TapaEsconde" id="TapaEsconde" width="500" height="300"> <PARAM NAME="totalElementos" VALUE="3"> <PARAM NAME="coluna10" VALUE="Hardware"> <PARAM NAME="coluna11" VALUE="Software"> <PARAM NAME="coluna12" VALUE="Números Binarios"> <PARAM NAME="coluna20" VALUE="Corresponde à parte física do computador"> <PARAM NAME="coluna21" VALUE="São os programas utilizados no computador"> <PARAM NAME="coluna22" VALUE="Sistema de numeração utilizada pelos computadores"> </applet> Figura 19. Código para inclusão do Tapa-Esconde em um site. Como pode-se observar, o Tapa-esconde foi construído para ser utilizado nos mais variados contextos, deixando ao seu usuário a tarefa de especificar as palavras-chave e os conceitos a serem apresentados na aplicação através das tags (comandos HTML) de passagem de parâmetro de 53 applets. O primeiro parâmetro a ser passado é o total de palavras-chave que a aplicação deverá exibir. Após definir o número de palavras-chave a serem exibidas pela aplicação, deve-se informar as palavras-chave que deverão estar listadas na primeira coluna no applet, bem como suas respectivas definições na segunda coluna. A definição das palavras-chave e das definições é feita da seguinte maneira: • Se for uma palavra-chave, o parâmetro a ser passado ao applet é “coluna1” seguido de um número seqüencial, que começa de 0 (zero). Ex: No caso de existirem três palavras-chave, os parâmetros serão coluna10, coluna11 e coluna12. • Se for uma definição, o parâmetro a ser passado ao applet é “coluna2” seguido também de um número seqüencial, que começa de 0 (zero). Ex: No caso de existirem três palavras-chave, os parâmetros serão coluna20, coluna21 e coluna22. A figura abaixo (Figura 20) mostra o TapaEsconde com os parâmetros indicados: Figura 20. Tela do Tapa-esconde. 54 4.1.1.2 CONSIDERAÇÕES A aplicação Tapa-esconde é um objeto de aprendizagem simples que possui como objetivo estimular o aprendizado de conceitos e obedece a uma das principais características dos learning objects que é a reusabilidade. Através da parametrização das palavras-chave, a aplicação poder ser reutilizada em vários outros contextos educacionais. Futuras extensões da aplicação podem incluir a utilização de imagens e conceitos afim de tornar a ferramenta mais atrativa para a educação infantil por exemplo. 4.1.2 ACAnet: Área Compartilhada de Arquivos na Web O ACAnet (Figura 21) é um site que oferece o serviço de disponibilização de uma área compartilhada de arquivos (repositório de arquivos) para cada site cadastrado na aplicação. No contexto educacional, o ACAnet tem o objetivo de servir como ferramenta de apoio ao trabalho em grupo entre os usuários do ambiente virtual de aprendizagem cadastrado, permitindo a troca e o compartilhamento de arquivos entre os usuários do ambiente. 55 Figura 21. Tela principal do ACAnet. 4.1.2.1 UTILIZAÇÃO O serviço também encontra-se disponível no portal InfoEduc, que será descrito posteriormente. Para utilizá-lo, basta acessar a aplicação e efetuar o cadastro (Figura 22) do site ou do ambiente virtual de aprendizagem. Durante o cadastro são solicitadas informações como: título do site, responsável, endereço eletrônico do responsável e senha para acesso ao módulo de administração da área compartilhada de arquivos. Além destas informações, o usuário da aplicação pode ainda informar algumas configurações de interface para o seu repositório de arquivos, de modo que este seja o mais parecido possível com a inteface do site que o utilizará, e ainda informar se o seu repositório de arquivos será de acesso público ou não. Após o cadastro, a aplicação exibe um trecho de código (Figura 23) para ser adicionado ao site ou ao ambiente de aprendizagem onde será utilizada a área compartilhada de arquivos. 56 Figura 22. Tela de Cadastro de Sites no ACAnet. Figura 23. Trecho de código gerado pelo ACAnet a ser adicionado ao site usuário da aplicação. 57 O ACAnet é composto por 02 (dois) módulos principais: o módulo do administrador do site usuário da aplicação, e o módulo que fica disponível no ambiente do usuário. O módulo do administrador (Figura 24) fornece aos responsáveis pelos sites cadastrados na aplicação condições de alterar os dados cadastrais de seus sites e excluir a suas áreas compartilhadas de arquivos, o que exclui também seus cadastros na aplicação. No caso do repositório ser de acesso restrito aos usuários do site cadastrado, o módulo do administrador ainda oferece as opções de cadastrar usuários para acessar o repositório (Figura 25), consultar e atualizar os dados desses usuários, bem como excluí-los da aplicação (Figura 26). Além disso, o ACAnet ainda provê relatórios de acompanhamento das atividades dos usuários no repositório dando ao administrador informações importantes como: usuários que mais interagiram no ambiente, arquivos mais consultados, entre outras. Figura 24. Módulo do administrador. 58 Figura 25. Cadastro de usuários do módulo do Administrador. Figura 26. Consulta de usuários do módulo do administrador. O módulo disponível no site cadastrado na aplicação é a própria área compartilhada de arquivos. Caso o administrador tenha informado que o 59 repositório de arquivos seja de acesso restrito, o que aparecerá ao clicar no link na página do site cadastrado será uma tela de login (Figura 27) pedindo que sejam informados o endereço eletrônico (e-mail) e a senha do usuário do ambiente para o acesso aos arquivos (Figura 28). Neste caso os usuários terão permissão para efetuar o envio de arquivos para o repositório (upload) (Figura 29), visualizar e salvar os arquivos em seu computador (download), e ainda excluir os arquivos enviados por eles. Um arquivo só será excluído pelo administrador do repositório ou pelo criador do arquivo. Caso o repositório seja de acesso público, a tela de login não será apresentada, e todos os visitantes dos sites cadastrados na aplicação terão permissão para envio e visualização de arquivos. Figura 27. Tela de login do módulo disponível no site usuário da aplicação. 60 Figura 28. Tela de exibição do repositório de arquivos. Figura 29. Tela de envio (upload) de arquivos. 61 4.1.2.2 CONSIDERAÇÕES O ACAnet é uma aplicação que visa disponibilizar uma área destinada à troca de arquivos entre os visitantes de um site. A aplicação quando utilizada num contexto educacional torna-se um objeto de aprendizagem que proporciona um espaço para a cooperação entre os participantes de um curso mediado por recursos computacionais, gravando logs de acesso e gerando relatórios para o acompanhamento das atividades por parte do tutor. A aplicação pode ser reutilizada para quaisquer outros fins não educacionais onde se deseja ter uma área para a interação não verbal com os visitantes de um site. 4.1.3 E-teste: Avaliações em cursos on-line O E-teste (Figura 30) consiste em uma aplicação Web onde educadores podem criar avaliações e exercícios contendo questões de múltipla escolha ou perguntas subjetivas e disponibilizá-las em seu site ou curso na Web para que seus alunos respondam on-line no dia e hora determinados. A aplicação objetiva facilitar o processo de avaliação dos estudantes no caso de cursos a distância. No dia e hora marcados, os alunos terão acesso à avaliação, e os resultados da mesma são encaminhados via e-mail ao educador para posterior correção. Caso a avaliação seja de perguntas objetivas, os resultados são mostrados também ao estudante. 62 Figura 30. Tela principal do E-teste. 4.1.3.1 UTILIZAÇÃO Para utilizar a ferramenta e criar uma prova, o docente deve primeiro efetuar seu cadastro (Figura 31) na ferramenta. A partir de então, o docente já pode entrar no sistema fornecendo seu nome de usuário e sua senha de acesso, e cadastrar suas provas. Apenas o docente responsável pela sua prova poderá alterá-la. Na data e hora determinada pelo docente, a prova estará disponível ao aluno (Figura 32). Uma vez criada uma prova, o docente estará apto a criar em seu site, ou no site de seu curso on-line um link para a prova em questão. 63 Figura 31. Tela de cadastro de docente. Figura 32. Tela de uma avaliação criada no E-teste. 64 4.1.3.2 CONSIDERAÇÕES O E-teste permite que qualquer educador, de qualquer área do conhecimento disponibilize suas avaliações de forma rápida e fácil a seus alunos, sem exigir com isso conhecimentos específicos de informática ou de programação para Web. Utilizando qualquer editor de páginas HTML (páginas na Web), o educador é capaz de criar um link em seu próprio site, ou no de seu curso online para a prova criada no E-teste. 4.2 OUTROS OBJETOS DE APRENDIZAGEM Vários serviços disponíveis na Internet foram estudados, afim de utilizá-los como objetos de aprendizagem na criação de ambientes virtuais de aprendizagem. A seguir serão listados os objetos de aprendizagem utilizados na construção do E-curso (explorado no capítulo 6) neste projeto: • DreamBook. Este é um serviço que permite a criação gratuita de livro de visitas para sites (Figura 33). No contexto educacional, pode ser utilizado como uma ferramenta de comunicação entre os participantes de cursos on-line, funcionando como um mural de avisos. A ferramenta encontra-se disponível no seguinte endereço: http://www.dreambook.com/ [DreamBook, 2003]. • Bravenet. Este é um site que oferece vários serviços gratuitos como hospedagem de páginas Web, livro de visitas, contadores de acesso, chats, entre outros (Figura 34). O serviço utilizado neste trabalho é o chat. No contexto educacional, o chat serve como mais uma forma de comunicação entre os participantes do curso, porém, a comunicação é em tempo-real, permitindo aulas virtuais, com forte interação entre tutores e aprendizes. http://www.bravenet.com/ [Bravenet, 2003]. Disponível em: 65 Figura 33. Tela do site DreamBook. Figura 34. Tela do site BraveNet. • Response-o-matic. Este é um serviço que permite a criação de formulários Web com envio de e-mails (Figura 35). O serviço gera um formulário padrão que deve ser editado para atender as necessidades de informação de cada site. No contexto educacional, o formulário serve como uma forma de contato com os tutores de cursos on-line, onde o aprendiz pode mandar e-mails com dúvidas, sugestões e comentários em geral sobre o conteúdo estudado. 66 Disponível em: http://www.response-o-matic.com/ [Response-omatic, 2003]. • Onecenter. Este é um site que oferece serviços gratuitos de fórum e livro de visitas (Figura 36). O serviço utilizado neste trabalho é o fórum. No contexto educacional, o fórum serve como mais uma forma de comunicação entre os participantes do curso, onde podem debater tópicos estudados em ambientes virtuais de aprendizagem. Disponível em: http://www.onecenter.com [Onecenter, 2003]. Figura 35. Tela do site Response-o-matic. Figura 36. Tela do site Onecenter. Capítulo 5 INFOEDUC: UM PORTAL EDUCACIONAL O portal InfoEduc foi construído com o intuito de divulgar e disponibilizar objetos de aprendizagem que podem ser utilizados na construção de ambientes virtuais de aprendizagem, como os gerados neste projeto. Além disso, o portal serve como repositório de informações em geral no que diz respeito à aplicação da informática como ferramenta auxiliar do processo educacional. Este capítulo descreve as fases de criação do portal (desenvolvimento da especificação abstrata, construção e utilização do protótipo, e sua entrega), conforme descritas no capítulo 2 deste trabalho. 5.1 DESENVOLVENDO A ESPECIFICAÇÃO ABSTRATA: MODELANDO O INFOEDUC O InfoEduc é um portal educacional que visa atender prioritariamente a dois públicos-alvos principais: • educadores: terão a oportunidade de divulgar seus artigos, sugerir notícias e divulgar eventos que tenham como temática a informática na educação, consultar artigos de outros educadores, além de consultar e sugerir objetos de aprendizagem para disponibilização no portal; • estudantes: poderão fazer consultas aos artigos disponibilizados no portal. 68 Além dos serviços disponíveis pra cada público alvo acima identificado, o portal ainda permite que os visitantes em geral leiam notícias sobre informática na educação, entrem em contato com outros visitantes do portal através de um mural de mensagens, participem das enquetes, consultem outros links divulgados no portal, entrem em contato com o administrador do portal e efetuem seu cadastro para que sejam identificados como educadores ou estudantes obtendo assim os serviços exclusivos acima mencionados. Outra figura importante do portal é o administrador que, através de um sistema de manutenção, realiza as atividades de atualização do portal como: moderação do mural; atualização de notícias, objetos de aprendizagem, links e cadastrar as enquetes disponíveis no portal. O diagrama de casos de uso abaixo (Figura 37) mostra os atores que interagem com o portal e suas responsabilidades. Figura 37. Diagrama de Casos de Uso do InfoEduc. 69 5.1.1 Diagramas de Classes A seguir serão descritos os diagramas de classes elaborados para o InfoEduc. Para facilitar a criação e o entendimento dos diagramas, o portal foi dividido em pacotes, onde cada pacote corresponde a uma funcionalidade do portal. A figura abaixo (Figura 38) ilustra os pacotes que compõem o portal. Figura 38. Diagrama de classes principal do InfoEduc. Como pode ser visto na figura acima (Figura 38), o portal InfoEduc é composto pelos pacotes de notícias, artigos, mural, enquete, fale conosco, cadastro, links e objetos de aprendizagens (pacote Lobjects). Cada um desses pacotes será explorado individualmente a seguir. No pacote principal encontra-se o diagrama de classes correspondente ao processo de identificação do visitante do portal (login). Através da página 70 principal, representada pela interface “Index”, tem-se acesso ao formulário para efetuar o login, representado pela interface “Login”, do usuário do portal. Os dados entrados pelo visitante do portal são validados pelo controle “Realiza_Login” através do acesso à entidade “Usuario_Portal” (Figura 39). Figura 39. Diagrama de classes do pacote principal do InfoEduc. No pacote Notícias encontra-se o diagrama de classes correspondente à sessão de notícias relacionadas à informática na educação divulgadas no portal, representado pela interface “Tela_Noticias”, onde são listadas todas as notícias cadastradas no portal. Ao clicar em uma determinada notícia, pode-se ver seus detalhes e texto completo. Os controles responsáveis por listar as notícias do portal e exibir seus detalhes são “Busca_Artigos” e “Busca_Detalhes_Artigos” respectivamente. Através da tela de notícias, podese ainda ter acesso à tela de sugestão de novas notícias, representada pela interface “Tela_Cadastro_Noticias”. O cadastro das notícias é validado e efetuado pelo controle “Cadastra_Noticias”, que grava os dados na entidade “Noticias” (Figura 40). No pacote Artigos encontra-se o diagrama de classes correspondente à sessão de artigos científicos do portal, representado pela interface “Tela_Artigos”, onde são listados todos os artigos cadastrados no portal. Ao clicar em um artigo específico, pode-se ver detalhes dos artigos e efetuar seu download. Os controles responsáveis por listar os artigos do portal e exibir seus detalhes são “Busca_Artigos” e “Busca_Detalhes_Artigos” respectivamente. Através da tela de artigos, pode-se ainda ter acesso à tela de submissão de 71 artigos, representado pela interface “Tela_Cadastro_Artigo”. O cadastro do artigo é validado e efetuado pelo controle “Cadastra_Artigo”, que grava os dados na entidade “Artigos” (Figura 41). Figura 40. Diagrama de classes do pacote de notícias do InfoEduc. Figura 41. Diagrama de classes do pacote de Artigos. 72 No pacote Mural encontra-se o diagrama de classes correspondente à sessão do portal destinada à interação entre seus visitantes, que funciona como um mural de recados virtual, representado pela interface “Tela_Mural”, onde são listadas todas as mensagens enviadas pelos visitantes do portal, através do controle “Consulta_Mural”. Através da tela do mural, pode-se ainda ter acesso à tela de envio de mensagens, representada pela interface “FormularioMural”. A mensagem é validada e cadastrada pelo controle “Inclui_Mensagens_Mural”, que grava os dados na entidade “Mural” (Figura 42). Figura 42. Diagrama de classes do pacote Mural. No pacote Enquete encontra-se o diagrama de classes correspondente à sessão de enquetes do portal que tem por finalidade conhecer melhor as opiniões dos visitantes do portal em determinados assuntos. A tela de enquete, representada pela interface “Tela_Enquete”, mostra uma pergunta aos visitantes do site, que podem escolher uma entre as opções disponíveis para respostas. O controle “Consulta_Enquete” é quem faz o processamento das perguntas a serem respondidas pelos visitantes do InfoEduc. Após a votação, validada pelo controle “Vota_Enquete”, é exibido o resultado parcial da enquete 73 em questão através da interface “Resultado_Enquete”. As entidades responsáveis pelo armazenamento das perguntas e respostas das enquetes são “Enquete” e “Resposta_Enquete” (Figura 43). Figura 43. Diagrama de classes do pacote Enquete. No pacote Fale Conosco encontra-se o diagrama de classes correspondente à sessão destinada ao envio de mensagens de correio eletrônico para a administração do portal. É apresentado ao visitante um formulário, representado pela interface “Tela_Fale_Conosco”, que preenche os dados e envia à administração do InfoEduc. O controle “Envia_Fale_Conosco” valida os dados do visitante, ator “Visitante”, e os envia à equipe do portal. (Figura 44). 74 Figura 44. Diagrama de classes do pacote Fale Conosco. No pacote Cadastro encontra-se o diagrama de classes correspondente à sessão destinada ao cadastro de usuários do portal. É apresentado ao visitante um formulário de cadastro, representado pela interface “Tela_Cadastro”, que preenche os dados e efetua seu cadastro para acessar as opções restritas do portal. O controle “Inclui_Usuario” valida os dados do visitante e efetua a gravação de seus dados na entidade “UsuarioPortal” (Figura 45). Figura 45. Diagrama de classes do pacote Cadastro. No pacote Links encontra-se o diagrama de classes correspondente à sessão de links recomendados pela equipe do InfoEduc, representado pela interface “Tela_Links”. São exibidas categorias nas quais os links estão organizados, através do controle “Busca_Categorias”. Uma vez selecionada uma categoria, são exibidos os links cadastrados para a categoria em questão, através do controle “Busca_Links”. As entidades envolvidas no processo são “Categorias_Links” e “Links” (Figura 46). 75 Figura 46. Diagrama de classes do pacote Links. No pacote LObjects encontra-se o diagrama de classes correspondente à sessão de objetos de aprendizagem disponibilizados e divulgados pelo portal, representado pela interface “Tela_LObjects”, onde são listados todos os objetos de aprendizagem cadastrados no portal. Ao clicar em um determinado objeto de aprendizagem, pode-se ver seus detalhes e forma de utilização. Os controles responsáveis por listar os objetos de aprendizagem do portal e exibir seus detalhes são “Busca_LObjects” e “Busca_Detalhes_LObjects” respectivamente. Através da tela de objetos de aprendizagem, pode-se ainda ter acesso à tela de sugestão de novos objetos, representada pela interface “Tela_Cadastro_LObjects”. O cadastro das notícias é validado e efetuado pelo controle “Cadastra_LObjects”, “LearningObjects” (Figura 47). que grava os dados na entidade 76 Figura 47. Diagrama de classes do pacote LObjects. 5.2 CONSTRUINDO O PROTÓTIPO: PROJETANDO E IMPLEMENTANDO O INFOEDUC Após a definição da especificação abstrata do portal, já se possui uma visão bem detalhada da aplicação. Já se conhecem todas as suas funcionalidades, e se especificou as classes de persistência ou entidades necessárias na aplicação. Tais entidades são mapeadas para tabelas no projeto de banco de dados, conforme o capítulo 2. As figuras abaixo (Figura 48 e Figura 49) mostram os modelos lógico e físico do banco de dados respectivamente. 77 Figura 48. Modelo lógico do banco de dados do InfoEduc. Figura 49. Modelo físico do banco de dados do InfoEduc. 78 5.2.1 Implementando o InfoEduc O portal foi implementado utilizando as seguintes ferramentas e tecnologias: • Servidor Web Apache TomCat 4.0. • Tecnologia de programação JSP (Java Server Pages), utilizando a linguagem Java versão 1.4.0. • Sistema gerenciador de banco de dados MySql versão 3.23.32. A decisão por essas tecnologias deu-se fundamentalmente por se tratarem de tecnologias gratuitas, desenvolvidas para o ambiente Web, e por possuírem documentação ampla disponível na Internet. 5.3 UTILIZANDO O PROTÓTIPO: O INFOEDUC NA PRÁTICA O portal InfoEduc é composto por dois grandes módulos: o front-end, que consiste no próprio portal que é acessado pelos internautas, e o back-end, que consiste em um sistema de manutenção dos dados e informações disponibilizadas no portal, que é acessado exclusivamente pela administração do portal. 5.3.1 O portal InfoEduc: o front-end. O front-end do portal educacional InfoEduc consiste no módulo acessado por todos os visitantes do portal. Como previsto na modelagem do portal, existem 03 (três) visões do portal para atender as diferentes classes de usuários (educadores, estudantes e administrador do portal). página inicial do portal exibida a todos os visitantes. A Figura 50 mostra a 79 Figura 50. Página inicial do portal InfoEduc. Nesta página, é possível efetuar o login no portal para acessar os conteúdos exclusivos de educadores, estudantes ou administradores do portal, além de acessar os serviços abertos a todos os visitantes tais como: • ler notícias cadastradas; • ver links sugeridos pelo portal (Figura 51); • entrar em contato com a administração do portal através do “Fale Conosco” (Figura 52); • efetuar cadastro no portal (Figura 53) • e participar do mural virtual do portal. (Figura 54). 80 Figura 51. Página que exibe os links sugeridos pelo portal. Figura 52. Página de "Fale conosco" do portal. 81 Figura 53. Tela de cadastro de usuário do portal. Figura 54. Mural virtual do portal. 82 Uma vez efetuado o login no portal, o sistema identifica o tipo de usuário que está acessando a aplicação. Se o usuário for um educador, no menu “Serviços” é disponibilizada a opção “Objetos de aprendizagem”, onde o educador pode consultar e sugerir objetos de aprendizagem a serem inseridos no portal (Figura 55). Além da opção “Objetos de aprendizagem”, o educador ainda pode sugerir notícias e disponibilizar artigos (Figura 56) para consultas no portal. Se o usuário do portal for um estudante, além das funcionalidades abertas a todos os visitantes, o estudante pode consultar os artigos científicos disponíveis no portal (Figura 57). Figura 55. Página principal do educador no Portal. 83 Figura 56. Tela de artigos disponíveis no portal. Figura 57. Página principal do estudante do portal. 84 Caso o usuário do portal seja um dos administradores do portal, a opção “Administração” aparece no menu “Serviços” (Figura 58), levando o administrador ao módulo de manutenção dos dados do portal, o back-end. Figura 58. Página principal do administrador do portal. 5.3.2 O portal InfoEduc: o back-end. O back-end do portal educacional InfoEduc consiste no módulo acessado apenas pelo administrador do portal. Através deste módulo (Figura 59), o administrador é capaz de fazer atualizações no portal sem que tenha conhecimentos avançados em programação Web e de atualização de sites. Através deste sistema, o administrador pode efetuar as operações de cadastro, alteração, exclusão e consultas de notícias, enquetes, categorias dos links, links, artigos, objetos de aprendizagem, mural e usuários do portal. A seguir são mostrados os processos de cadastro/alteração e consultas de 85 notícias no portal. As operações das demais opções do portal ocorrem de maneira similar. Figura 59. Back-end do portal InfoEduc. Para efetuar o cadastro de uma notícia no portal, deve-se acessar no menu a opção “Notícias” e clicar na sub-opção “Novo”. Será exibido um formulário que deverá ser preenchido com os dados da notícia (Figura 60). Após o preenchimento, clicar em “Salvar”. A partir de então, a notícia já estará disponibilizada no portal. Figura 60. Tela de cadastro/atualização de notícias no back-end do portal. 86 Para efetuar alteração ou exclusão de uma notícia no portal, deve-se acessar no menu a opção “Notícias” e clicar na sub-opção “Buscar”. Aparecerá um campo onde se deve digitar parte do título da notícia a ser alterada ou excluída. Após clicar no botão “Ir”, o sistema mostra todas as notícias cadastradas que contenham as palavras informadas no campo “Título” do formulário de busca (Figura 61). Clicando no título da notícia, o sistema exibe a tela de cadastro de notícias preenchida com os dados da notícia selecionada. Para salvar as alterações efetuadas, clicar no botão “Salvar”. Clicando em excluir, o sistema exclui a notícia selecionada, e a mesma não se torna mais visível no portal. Figura 61. Tela de consulta de notícias no back-end do portal. 5.4 ENTREGANDO O SISTEMA: IMPLANTANDO O INFOEDUC O portal InfoEduc foi implantado no servidor do Departamento de Ciência da Computação da Universidade Federal do Amazonas (DCC-UFAM) e pode ser acessado no seguinte http://arara.dcc.fua.br/~infoeduc/index.jsp. endereço eletrônico: Capítulo 6 E-CURSO: UM CURSO DE INFORMÁTICA BÁSICA VIA WEB O E-curso é um curso de informática básica via Web construído com o objetivo de demonstrar a simplicidade do processo de criação de ambientes virtuais de aprendizagem a partir de learning objects. O curso utiliza os objetos de aprendizagem desenvolvidos neste projeto, além de outros disponíveis na Internet (Figura 62). Figura 62. Tela inicial do E-curso. A primeira etapa da criação do ambiente virtual consistiu na definição das ferramentas desejáveis em um curso via Web. Definiu-se que o ambiente teria que atender às seguintes condições: 88 • proporcionar meios de comunicação entre os participantes do curso, e entre esses e o tutor (ferramentas de comunicação); • proporcionar ferramentas de apoio ao trabalho em grupo (ferramentas de colaboração); • proporcionar meios para que o tutor coordene os trabalhos realizados dentro do ambiente e acompanhe o processo de aprendizagem dos participantes do curso (ferramentas de coordenação). Para atender as condições definidas acima, decidiu-se que o ambiente disponibilizaria as ferramentas de acordo com a tabela abaixo: Ferramentas de Comunicação Ferramenta Descrição Salas de bate-papo (chats) Ferramenta que permite a troca síncrona de mensagens entre usuários que participam da mesma reunião. Fórum Ferramenta que permite a troca assíncrona de mensagens, visualizadas através de um navegador Web. As mensagens são dispostas hierarquicamente, de acordo com os tópicos relacionados. E-mail Ferramenta que permite a comunicação assíncrona entre participantes do curso e o tutor, através da utilização de correio eletrônico. Mural Ferramenta que se assemelha a um quadro de avisos. As mensagens são visualizadas em um navegador Web de forma não hierárquica. Ferramentas de Colaboração Ferramenta Descrição Repositório de arquivos Ferramenta que permite a troca de arquivos entre os participantes do ambiente. Ferramentas de Coordenação Ferramenta Descrição Questionário Ferramenta que permite a criação e aplicação de questionários aos participantes do ambiente. O questionário pode ser especializado em diversos tipos, incluindo exercícios e avaliações. Tabela 1. Ferramentas disponibilizadas no E-curso. 89 O E-curso foi construído utilizando um editor de páginas Web, o Macromedia DreamWeaver MX, que possui como principais características a facilidade na criação de sites e a popularidade entre os editores Web disponíveis, apesar de ser uma ferramenta proprietária. A plataforma utilizada no desenvolvimento do ambiente foi a Windows 98, por ser amplamente utilizada na maioria dos computadores pessoais. Tais ferramentas e plataforma proprietárias utilizadas poderiam perfeitamente ser substituídas por outras tecnologias de livre acesso, utilização e distribuição. 6.1 INTEGRAÇÃO DOS OBJETOS DE APRENDIZAGEM AO E-CURSO A integração dos diferentes objetos de aprendizagem ao E-curso ocorreu de forma semelhante, diferenciando-se apenas no que diz respeito às adaptações e adequações que são oferecidas por cada objeto para melhor se integrar à interface do ambiente no qual é utilizado. Em linhas gerais, para utilizar os objetos de aprendizagem disponíveis da Web, e os construídos neste trabalho, deve-se seguir os seguintes passos: a) Efetuar um cadastro no site do objeto de aprendizagem. O cadastro é utilizado para que o objeto possa ser posteriormente adaptável, e para garantir que somente o responsável pelo cadastro do objeto possa efetuar alterações nos dados e na interface do mesmo. b) Adicionar na aplicação o fragmento de código gerado. Após o cadastro, o site do objeto de aprendizagem gera um fragmento de código a ser adicionado, de acordo com instruções de cada objeto, na página ou aplicação Web desejada. Feito isso, o objeto passa a fazer parte da aplicação. 90 c) Efetuar as adequações de interface permitidas. Alguns objetos de aprendizagem permitem que sejam feitas adaptações em sua interface para que sejam adequados à estrutura do site ao qual fará parte (unificação de interface). O último dos passos acima citados trata da unificação de interface, onde todos os itens da aplicação devem ser semelhantes e consistentes. Para garantir essa unificação, alguns objetos de aprendizagem permitem adaptações em sua apresentação. Estas adaptações exigem um certo conhecimento técnico sobre programação de páginas Web, pois na maioria dos objetos de aprendizagem disponíveis, envolve mudanças em fragmentos de códigos HTML disponibilizados pelos mesmos. Alguns objetos são adaptáveis apenas mediante pagamento de taxas de utilização dos mesmos, onde a adaptação é total, podendo inclusive retirar anúncios de patrocinadores dos objetos. Os objetos de aprendizagem gratuitos permitem apenas pequenas adequações como mudanças de fonte e cores de fundo, mas não permitem que sejam retirados os anúncios e propagandas da aplicação. Os tópicos seguintes tratam da integração dos diversos objetos de aprendizagem ao ambiente do E-curso, descrevendo cada etapa neste processo. 6.1.1 Adicionando um repositório de arquivos ao E-curso Para adicionar um repositório de arquivos ao E-curso, foram seguidos os seguintes passos: a) Efetuar cadastro no site do objeto de aprendizagem. O repositório de arquivos utilizado na aplicação é um dos objetos de aprendizagem desenvolvidos neste projeto, o ACAnet (ver capítulo 91 4), onde foi efetuado um cadastro (Figura 63), que posteriormente foi utilizado para gerenciamento do repositório e adequações de interfaces (Figura 64). Figura 63. Tela de cadastro do ACAnet. Figura 64. Tela de gerenciamento do repositório de arquivos. 92 b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, o ACAnet gera um fragmento de código (Figura 65) que foi copiado, editado e adicionado ao E-curso. O código gerado é um link para o repositório de arquivos, que é hospedado e mantido nos servidores do DCC – UFAM (Departamento de Ciência da Computação). c) Efetuar as adequações de interface permitidas. As adequações de interface no ACAnet são feitas na etapa de cadastro no site do objeto de aprendizagem. O ACAnet permite que sejam definidas cores de fonte e de fundo do repositório, além de permitir a inclusão do logotipo do ambiente que o conterá. A Figura 66 mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. Figura 65. Tela com fragmento de código do repositório de arquivos. 93 Figura 66. Repositório de arquivos integrado ao E-curso. 6.1.2 Adicionando uma avaliação ao E-curso Para adicionar uma avaliação ao E-curso, foram seguidos os seguintes passos: a) Efetuar cadastro no site do objeto de aprendizagem. A avaliação utilizada na aplicação é um dos objetos de aprendizagem desenvolvidos neste projeto, o E-teste (ver capítulo 4), onde foi efetuado um cadastro (Figura 67), que posteriormente foi utilizado para gerenciamento da avaliação (Figura 68). 94 Figura 67. Tela de cadastro de docente no E-teste. Figura 68. Tela de gerenciamento de avaliações. b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, o E-teste gera um fragmento de código (Figura 69) que foi copiado e adicionado ao E-curso. O código gerado é um link para a avaliação, que é hospedada e mantida nos servidores do DCC – UFAM (Departamento de Ciência da Computação). 95 A Figura 70 mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. Figura 69. Tela com fragmento de código do repositório de arquivos. Figura 70. Avaliação integrada ao E-curso. 6.1.3 Adicionando um mural de avisos ao E-curso Para adicionar um mural de avisos ao E-curso, foram seguidos os seguintes passos: 96 a) Efetuar cadastro no site do objeto de aprendizagem. O mural utilizado na aplicação é disponibilizado pelo Dreambook (ver capítulo 4), onde foi efetuado um cadastro (Figura 71), que posteriormente foi utilizado para gerenciamento das mensagens do mural e de mudanças e adequações de interfaces (Figura 72). Figura 71. Tela de cadastro do DreamBook. Figura 72. Tela de gerenciamento do mural. 97 b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, o Dreambook gera um fragmento de código (Figura 73) que foi copiado e adicionado ao E-Curso. O código gerado é um link para o mural, que é hospedado e mantido nos servidores do site Dreambook. c) Efetuar as adequações de interface permitidas. Uma vez cadastrado e adicionado o código gerado pelo Dreambook, foram feitas adaptações na interface (Figura 74) do objeto de aprendizagem para garantir o máximo de padronização com o restante do ambiente. Para tanto se fez necessário conhecimento de HTML. Figura 73. Tela com fragmento de código do mural. 98 Figura 74. Tela de adaptação de interface. A figura a seguir (Figura 75) mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. Figura 75. Mural integrado ao E-curso. 99 6.1.4 Adicionando uma sala de bate-papo ao E-curso Para adicionar uma sala de bate-papo ao E-curso, foram seguidos os seguintes passos: a) Efetuar cadastro no site do objeto de aprendizagem. A sala de bate-papo utilizada na aplicação é disponibilizada pelo Bravenet (ver capítulo 4), onde foi efetuado um cadastro (Figura 76), que posteriormente foi utilizado para gerenciamento da sala de batepapo e adequações de interfaces (Figura 77). Figura 76. Tela de cadastro do Bravenet. 100 Figura 77. Tela de gerenciamento da sala de bate-papo. b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, o BraveNet gera um fragmento de código (Figura 78) que foi copiado, editado e adicionado ao E-curso. O código gerado é um link para a sala de bate-papo, que é hospedada e mantida nos servidores do BraveNet. c) Efetuar as adequações de interface permitidas. As adequações de interface nas salas de bate-papo disponibilizadas pelo BraveNet são feitas no módulo de gerenciamento do serviço. O BraveNet permite poucas adequações, disponibilizando apenas opções de personalização de algumas mensagens exibidas na tela inicial da sala de bate-papo (Figura 79). 101 Figura 78. Tela com fragmento de código da sala de bate-papo. Figura 79. Tela de adaptação de interface. 102 A Figura 80 mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. Figura 80. Sala de bate-papo integrada ao E-curso. 6.1.5 Adicionando um fórum de discussões ao E-curso Para adicionar um fórum de discussões ao E-curso, foram seguidos os seguintes passos: a) Efetuar cadastro no site do objeto de aprendizagem. O fórum de discussões utilizado na aplicação é disponibilizado pelo Onecenter (ver capítulo 4), onde foi efetuado um cadastro (Figura 81), que posteriormente foi utilizado para gerenciamento do fórum e adequações de interfaces (Figura 82). 103 Figura 81. Tela de cadastro do Onecenter. Figura 82. Tela de gerenciamento do fórum. 104 b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, efetuou-se o login no sistema de gerenciamento do fórum para ver o fragmento de código (Figura 83) gerado pela aplicação que foi copiado, editado e adicionado ao E-curso. O código gerado é um link para o fórum, que é hospedado e mantido nos servidores do Onecenter. c) Efetuar as adequações de interface permitidas. As adequações de interface no fórum são feitas também através do módulo de manutenção do mesmo (Figura 84). Para efetuar tais adequações, não se faz necessário conhecimento de HTML, porém existe também uma opção avançada de adequação de interface onde tal conhecimento é requerido. Figura 83. Tela com fragmento de código da sala de bate-papo. 105 Figura 84. Tela de adaptação de interface. A figura a seguir (Figura 85) mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. 106 Figura 85. Fórum integrado ao E-curso. 6.1.6 Adicionando um “Fale conosco” ao E-curso Para adicionar a sessão de “Fale conosco” ao E-curso, foram seguidos os seguintes passos: a) Efetuar cadastro no site do objeto de aprendizagem. O formulário de “Fale conosco” utilizado no E-curso é disponibilizado pelo Response-o-matic (ver capítulo 4), onde foi efetuado um cadastro (Figura 86), que serve de configuração para o sistema de envio dos dados do formulário. Os dados são enviados para o endereço eletrônico informado nesta etapa. 107 Figura 86. Tela de cadastro do Response-o-matic. b) Adicionar na aplicação fragmento de código gerado. Após o cadastro, o sistema do Response-o-matic gera um formulário padrão e exibe o seu código HTML (Figura 87). Tal código foi salvo, editado e incluído no E-curso. Figura 87. Código do formulário padrão gerado pelo Response-o-matic. 108 c) Efetuar as adequações de interface permitidas. As adequações de interface do formulário gerado pelo Response-o-matic são feitas através da edição do código padrão gerado pelo sistema. É necessário conhecimento de HTML para formatar o formulário. A figura a seguir (Figura 88) mostra o objeto de aprendizagem integrado ao ambiente do E-curso após a realização das etapas acima descritas. Figura 88. "Fale conosco" integrado ao E-curso. 6.1.7 Adicionando o Tapa-esconde ao E-curso Para adicionar o Tapa-esconde ao E-curso, o procedimento adotado foi diferente dos mostrados anteriormente. Utilizou-se o procedimento descrito no capítulo 4 deste trabalho. A figura a seguir mostra o Tapa-esconde integrado ao ambiente do E-curso (Figura 89). 109 Figura 89. Tapa-esconde integrado ao E-curso. 6.2 CONSIDERAÇÕES A criação de ambientes virtuais de aprendizagem através da utilização de objetos de aprendizagem se mostrou simples. Pode-se ter funcionalidades que requerem um grande esforço de programação sem que seja necessário programá-las, porém, a abordagem mostrou alguns pontos negativos a saber: • Falta de padronização na interface dos objetos de aprendizagem. A pesar de alguns objetos de aprendizagem permitirem adequações de interface, elas não são totais, existindo banners de anunciantes e patrocinadores dos serviços. • Falta de serviços em português a serem utilizados como objetos de aprendizagem. A maioria dos serviços disponíveis na Internet são em inglês, e nem sempre permitem alterações no idioma. 110 • Dificuldade de acompanhamento das atividades desenvolvidas pelos participantes do ambiente. Como cada objeto de aprendizagem é independente, é difícil a integração de todos os objetos de aprendizagem para se ter um controle efetivo da participação dos estudantes dentro do ambiente. Os pontos acima citados não invalidam a abordagem, visto que é uma boa alternativa para educadores que possuem conhecimentos restritos em informática e que desejam expandir as fronteiras das salas-de-aula oferecendo a seus alunos ferramentas de interação e comunicação visando melhoria no processo de aprendizagem. CONCLUSÃO Vários objetos de aprendizagem foram utilizados na construção de um ambiente virtual de aprendizagem, o E-curso, onde levou-se em consideração o fato de que a maioria dos educadores não possuem conhecimentos profundos em informática e programação para a Web. Porém, notou-se na abordagem algumas desvantagens tais como: a falta de padronização de interface, idioma e tecnologias entre os objetos de aprendizagem; e, a dificuldade de um acompanhamento das atividades realizadas pelos participantes do ambiente. Tais desvantagens não invalidam a abordagem, pois ela apresentou vantagens como: facilidade em agregar funcionalidades que exigiriam conhecimentos avançados de programação para a Web; simplicidade na construção do ambiente, onde o educador se preocupa apenas em procurar as ferramentas prontas para atender à sua abordagem pedagógica no ambiente; e simplicidade de manutenção do ambiente. Neste trabalho foram construídos 03 (três) objetos de aprendizagem, com diferentes funcionalidades e complexidades: o Tapa-esconde, um repositório de arquivos na Web (ACAnet) e um gerador de avaliaçãos on-line (E-teste). Além desses objetos de aprendizagem, este projeto mostrou a utilização de alguns outros tais como fórum de discussões e mural de avisos que se encontram disponíveis na Internet. Tais objetos de aprendizagem, tanto os construídos neste projeto, quanto os disponíveis na Internet, foram utilizados na construção do E-curso, um ambiente virtual de aprendizagem que simula um curso de informática básica via Web de modo a satisfazer ao modelo 3C de groupware. 112 O projeto abordou ainda o processo de definição de objetos de aprendizagem através de padrões de software. Foram definidos dois padrões: Salas de Bate-Papo e Tapa-esconde. Além da definição dos objetos de aprendizagem, foi construído um portal educacional para divulgar tais objetos e oferecer informações gerais e notícias a cerca da utilização da informática na educação. Durante o desenvolvimento deste foram encontradas várias dificuldades, valendo destacar as seguintes: delimitação do escopo do projeto, visto a grande abrangência da área de pesquisa de informática na educação; utilização da tecnologia JSP, relativamente nova, e, apesar de ser apenas mais uma tecnologia de programação Web, possui muitas particularidades; e, implantação das aplicações no ambiente do DCC-UFAM devido às particularidades da tecnologia utilizada. Como possíveis extensões deste trabalho, sugere-se agregar ao Eteste a possibilidade do avaliador efetuar um cadastro das pessoas que deverão ser avaliadas, e obter relatórios quantitativos com relação ao rendimento da turma nas avaliações. Sugere-se ainda implementar o padrão salas de bate-papo descrito nesta monografia, além de extender o padrão Tapa-esconde para que seja possível a associação de imagens e descrições, para a utilização na educação infantil. Como trabalho futuro, sugere-se a criação de um objeto de aprendizagem que tenha por objetivo controlar a participação dos estudantes em ambientes virtuais de aprendizagem. REFERÊNCIAS ALUR, Deepak; CRUPI, John e MALKS, Dan. Core J2EETM patterns: as melhores práticas e estratégias de design. Editora Campus, Rio de Janeiro, 2002. ANGEL. CyberLearningLabs. Site de divulgação do Angel. Url: http://www.cyberlearninglabs.com/. Consultado em julho de 2003. APPLETON, Brad. Patterns and Software: Essential Concepts and Terminology. URL: http://www.enteract.com/~bradapp/docs/patterns-intro.html. Consultado em: dezembro de 2002. AULANET. EduWeb. Site de divulgação do AulaNet. Url: http://guiaaulanet.eduweb.com.br/. Consultado em julho de 2003. BELLONI, Maria Luiza. Educação a distância. Campinhas: Autores Associados, 2001. BOSELLI, Silvana. O professor, o processo educativo e as novas tecnologias. Revista do curso de pedagogia, Brasília, v.1, n.1, p. 79-83, jul./dez. 2002. BRAVENET. Bravenet Web Services: Professional Web Tools for Your Website. Site de serviços disponibilizados pelo Bravenet. Url: http://www.bravenet.com/. Consultado em julho de 2003. CONALLEN, Jim. Modeling Web Application Architectures with UML. URL: http://www.rational.com/media/uml/resources/documentation/27662_webapps.p df. Criado em junho de 1999. Consultado em: junho de 2003. 114 CONALLEN, Jim. Desenvolvendo aplicações Web com UML. Rio de Janerio: Campus, 2003. COPLIEN, James O. A Pattern Definition: Software Patterns. URL: http://hillside.net/patterns/definition.html. Consultado em: dezembro de 2002. CSCL. Aprendizagem colaborativa suportada por computador (CSCL). URL: http://www.minerva.uevora.pt/cscl/. Atualizado em março de 2000. Consultado em: julho de 2003. CUNHA, Keyla Ahnizeret da Silva. Uma aplicação Web para o RU - UA utilizando o WSDM com o apoio da UML. Monografia. Curso de Graduação em Processamento de Dados. Universidade Federal do Amazonas, 2002. DREAMBOOK. Dreambook: Free Guestbook Server. Site de disponibilização de livros de visitas do Dreambook. Url: http://www.bravenet.com/. Consultado em julho de 2003. ELLIS, C.A; GIBBS, S.J e REIN, G.L. Groupware: some issues and experiences. Communications of the ACM. 1991, vol. 34, no. 1. FERREIRA, Walnório G.; MENEZES, Crediné S.; FREITAS, Marcela S. e VESCOVI NETTO, Dimensionamento Hilson. de Ambiente Didático Estruturas na Internet Metálicas. de Url: http://www.univap.br/iasee/anais/trabalhos/artigoNEXEM_IASEE_2.pdf. Consultado em setembro de 2003. FUKS, Hugo; RAPOSO, Alberto B. e GEROSA, Marco A. Engenharia de Groupware: Desenvolvimento de Aplicações Colaborativas. In: XXI Jornada de Atualização em Informática, 2002, Florianópolis. Anais... Florianópolis:SBC, 2002, V2, Cap. 3, pp. 89-128. 115 GAMMA, Erich; HELM, Richard; JOHNSON, Ralph e VLISSIDES, John. Padrões de projeto: soluções reutilizáveis de software orientado a objetos. - Porto Alegre: Bookman, 2000. HOFTE, Henri Ter. Working apart together: foundations for component groupware. Holanda: Telematica Institute, 1998. IEEE. IEEE Learning Technology Standards Committee (LTSC): IEEE P1484.12 Learning Object Metadata Working Group. URL: http://ltsc.ieee.org/wg12/index.html. Último draft do metamodelo: Junho 2002. Consultado em: julho de 2003. INTRALEARNING. Intralearnig Software: Software for learning. Url: http://www.intralearn.com/1000_Products.asp. Consultado em: julho de 2003. JACOBSON, Ivar; RUMBAUGH, James; BOOCH, Grady. Unified Software Development Process. Addison-Wesley, Reading - MA, 1999. JSP. JavaServer Pages Technology. URL: http://java.sun.com/products/jsp/. Atualizado em julho de 2003. Consultado em: julho de 2003. MELO, Ana Cristina. Desenvolvendo aplicações com UML. Brasport. Rio de Janeiro, 2002. MySql. MySQL: The World's Most Popular Open Source Database. URL: http://www.mysql.com/. Consultado em: julho de 2003. MORAN, José Manuel. Ensino e aprendizagem inovadores com tecnologia. Url: http://www.eca.usp.br/prof/moran/inov.htm. Síntese de capítulo do livro Novas Tecnologias e Mediação Pedagógica - Editora Papirus, em junho de 2000. Consultado em: julho de 2003. 116 ONECENTER. OneCenter Spider: The world is free. Site de disponibilização de fóruns de discussão do OneCenter. Url: http://onecenter.com/. Consultado em julho de 2003. PANITZ, Ted. A definition of collaborative vs cooperative learning. Url: http://www.lgu.ac.uk/deliberations/collab.learning/panitz2.html. Documento criado 1996. Consultado em: setembro de 2003. PAULA FILHO, Wilson de Pádua Paula. Manual do engenheiro de software. Url: http://ead1.eee.ufmg.br/~renato/engsoft/meswtecnico.pdf. Documento criado em janeiro de 2000. Consultado em: julho de 2003. WILEY, David A. The Instructional Use of Learning Objects. Agency for Instructional Technology, 2002. RESPONSE-O-MATIC. Response-o-matic: Free Form Processor. Site do gerador de formulários do Response-o-matic. Url: http://www.resonse-omatic.com/. Consultado em julho de 2003. RHEINHEIMER, Letícia Rafaela e CRESPO, Sérgio. JLearningServices: um framework para serviços síncronos em ambientes para EAD. In: XII Simpósio Brasileiro de Informática na Educação, 12, 2001, Vitória. Anais... Vitória: UFES, 2001. 633 p. SOMMERVILLE, Ian. Engenharia de software - tradução André Maurício de Andrade Ribeiro – São Paulo: Addisan Wesley, 2003. SUN – The Java[tm] Tutorial. The Java Tutorial: A practical guide for programmers. URL: http://java.sun.com/docs/books/tutorial/. Atualizado em maio de 2003. Consultado em: julho de 2003. TELEDUC. Ambiente de Ensino a Distância: Página do Projeto. URL: http://hera.nied.unicamp.br/teleduc/. Consultado em: junho de 2002. 117 UNIVERSITE. UniverSite: The Web Based Training Solution. URL: http://ead.mhw.com.br/siteext/port/index.htm. Consultado em: julho de 2003. APÊNDICE A MODELOS DO ACANET Durante a etapa de definição especificação abstrata, e na fase de projeto na etapa de construção do protótipo do ACAnet foram construídos os diagramas abaixo. DIAGRAMA DE CASOS DE USO Figura 90. Diagrama de casos de uso do ACAnet. 119 DIAGRAMAS DE CLASSES Figura 91. Diagrama de classes principal do ACAnet. Figura 92. Diagrama de classes principal do módulo de administração das Áreas compartilhadas no ACAnet. 120 Figura 93. Diagrama de classes do pacote principal do módulo de administração. Figura 94. Diagrama de classes do pacote de relatórios do módulo de administração. 121 Figura 95. Diagrama de classes principal do módulo do cliente (disponível no site do usuário). Figura 96. Diagrama de classes do pacote principal do módulo do cliente. 122 Figura 97. Diagrama de classes do pacote Sites do ACAnet. Figura 98. Diagrama de classes do pacote Usuários do ACAnet. 123 Figura 99. Diagrama de classes do pacote Arquivos do ACAnet. MODELOS DE ENTIDADES-RELACIONAMENTOS Figura 100. Modelo lógico de entidades-relacionamentos do ACAnet. 124 Figura 101. Modelo físico de entidades-relacionamentos do ACAnet. APÊNDICE B MODELOS DO E-TESTE Durante a etapa de definição especificação abstrata, e na fase de projeto na etapa de construção do protótipo do E-teste foram construídos os diagramas abaixo. DIAGRAMA DE CASOS DE USO Figura 102. Diagrama de casos de uso do E-teste. 126 DIAGRAMAS DE CLASSES Figura 103. Diagrama de classes principal do E-teste. Figura 104. Diagrama de classes principal do módulo do docente. 127 Figura 105. Diagrama de classes do pacote principal do módulo do docente. Figura 106. Diagrama de classes do pacote Provas do E-teste. 128 Figura 107. Diagrama de classes do pacote de questões objetivas do E-teste. Figura 108. Diagrama de classes de questões subjetivas. 129 Figura 109. Diagrama de classes do pacote Docentes do E-teste. Figura 110. Diagrama de classes do módulo do aluno. 130 MODELOS DE ENTIDADES-RELACIONAMENTOS Figura 111. Modelo lógico de entidades-relacionamentos do E-teste. Figura 112. Modelo físico de entidades-relacionamentos do E-teste. APÊNDICE C CÓDIGO FONTE DO TAPA-ESCONDE import import import import java.applet.Applet; java.awt.*; java.awt.event.*; java.util.Vector; public class TapaEsconde extends Applet implements MouseMotionListener { int x,y,larguraBox,alturaBox; int totalElementos; Vector coluna1,coluna2; public void init() { int i; String variavel,variavel2; coluna1 = new Vector(); coluna2 = new Vector(); try { totalElementos = Integer.parseInt(getParameter("totalElementos")); } catch (NumberFormatException e) { totalElementos=0; } for(i=0;i<totalElementos;i++) { variavel = "coluna1"+i; variavel2 = "coluna2"+i; coluna1.add(getParameter(variavel)); coluna2.add(getParameter(variavel2)); } //inicializando variaveis do tapaEsconde x=190; y=20; } addMouseMotionListener(this); public void paint(Graphics g) { int i; g.setColor(Color.black); for(i=0;i<totalElementos;i++) { String str = (String) coluna1.elementAt(i); String str2 = (String) coluna2.elementAt(i); 132 g.drawString(str, 10, 20+(30*(i+1))); g.drawString(str2, 200, 20+(30*(i+1))); } //setando altura e largura do tapa esconde. larguraBox=340; alturaBox=(50+(30*(i+1)))-20; g.setColor(Color.blue); g.fillRect(x,y,larguraBox,alturaBox); } /* tratamento de eventos de movimentos do mouse */ public void mouseMoved(MouseEvent e) { } public void mouseDragged(MouseEvent e) { int posX,posY,posXAnt,posYAnt; x=e.getX(); y=e.getY(); } } repaint(); APÊNDICE D ARTIGO SUBMETIDO À AVALIAÇÃO PARA O CONGRESSO DA SBC2003 APÊNDICE E ARTIGO SUBMETIDO À AVALIAÇÃO PARA O SBES2003