Sie sind auf Seite 1von 80

UNIVERSIDADE CATÓLICA DE BRASÍLIA

CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

GABRIEL REIS DE SOUSA


VANDERSON SOARES PORTO

CRIAÇÃO DE PLUGINS PARA A FERRAMENTA MOODLE

Taguatinga - DF
2010

2
UNIVERSIDADE CATÓLICA DE BRASÍLIA
CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

GABRIEL REIS DE SOUSA


VANDERSON SOARES PORTO

CRIAÇÃO DE PLUGINS PARA A FERRAMENTA MOODLE

Monografia apresentada à
Universidade Católica de Brasília com
requisito obrigatório para a obtenção do
título de Bacharel em Ciência da
Computação no Curso de Bacharelado
em Ciência da Computação.

Orientador: Vilson Carlos Hartmann

Taguatinga - DF
2010

3
AGRADECIMENTOS

Agradecemos primeiramente a Deus o qual tudo torna possível, aos nossos pais,
namoradas, familiares e amigos por todo o apoio, ao professor Vilson Carlos Hartmann, às
professoras Renata Brandini Lima e Patrícia Limaverde Nascimento por toda a ajuda e
esclarecimentos.

4
RESUMO

Esta monografia descreve os fundamentos teóricos, os problemas encontrados e os passos


realizados durante a criação de complementos para a ferramenta Moodle, que tem um
importante papel não só na Universidade Católica de Brasília, mas em diversas outras
instituições, permitindo, entre outras características, a disponibilização de conteúdo on-line e
possibilitando a construção do conhecimento pelos próprios alunos. Estas funcionalidades
terão como objetivo acrescentar melhorias ao uso do Fórum de Discussão, que é uma um
dispositivo fundamental para o processo de ensino a distância, permitindo a interação entre os
alunos em torno de um tópico.

Palavras chaves: Moodle, complementos, módulos

5
ABSTRACT

This academic work describes the theoretical, problems encountered and the steps taken
during the creation of add-ons for Moodle tool, which has an important role not only in
Universidade Católica de Brasília, but in several other institutions, allowing, among other
characteristics, provision of online content and the construction of knowledge by students
themselves. This plug-ins will aim to add improvements to the Discussion Forum, which is a
very important feature to the process of distance learning, allowing for interaction among
students around a topic.

Keywords: Moodle, Plug-ins, Modules

6
ÍNDICE

ÍNDICE...........................................................................................................................................7
1. Introdução......................................................................................................................12
1.1. Motivação ...................................................................................................................12
1.2. Educação a Distância..................................................................................................13
1.2.1. A influência dos fenômenos sociais .........................................................................13
1.2.2. Mudança da aprendizagem......................................................................................14
1.2.3. EAD e a Internet......................................................................................................15
1.3. Moodle........................................................................................................................16
1.3.1. Fonte aberta.............................................................................................................17
1.3.2. Construcionismo social...........................................................................................18
1.3.3. Comunidade de desenvolvimento............................................................................20
1.4. Problemas Diagnosticados....................................................................................21
1.4.1. Visualização do Fórum........................................................................................21
1.4.2. Lançamento de notas do Fórum...............................................................................23
1.4.3. Exibição do relatório de participação dos alunos nos fóruns..................................24
1.5. Surgimento da Necessidade da Pesquisa..................................................................26
1.6. Usuários Beneficiados pela Pesquisa.......................................................................26

1.7. Empresa Interessada..................................................................................................26


2. Objetivos da pesquisa....................................................................................................27
2.1. Objetivo Geral.............................................................................................................27
2.2. Objetivos Específicos...................................................................................................27
3. PHP.................................................................................................................................28
3.1. Vantagens do PHP.......................................................................................................28
4. Biblioteca Jquery().........................................................................................................30
5. Bancos de Dados...........................................................................................................31
5.1. Sistemas Gerenciadores de Banco de Dados (SGBD)................................................31
5.2 Sobre o MySQL.............................................................................................................32
6. Arquitetura Lógica do Moodle.......................................................................................34
6.1 Estrutura de diretórios do Moodle...............................................................................34
6.2 Principais funções que serão utilizadas.......................................................................35
6.3 Blocos...........................................................................................................................37
6.4 Módulos de atividade....................................................................................................40
7. Proposta de Solução do Fórum de Discussão................................................................42
8. Proposta de Solução de Lançamento de Notas..............................................................43
9. Proposta de Apresentação de Relatório.........................................................................44
10. Informações gerais sobre as soluções..........................................................................45
11. Solução do Fórum de Discussão..................................................................................46
11.1 Funcionamento da Solução do Fórum de Discussão.................................................46
11.2 Descrição de caso de uso da Solução do Fórum de Discussão.................................49
11.3 Implementação da Solução do Fórum de Discussão..................................................50
12. Solução do Lançamento de Notas.................................................................................53
12.1 Lançamento de notas desenvolvido............................................................................53
12.2 Funcionamento Lançamento de notas........................................................................54
Ao se pressionar no link “Lançamento de Notas” será aberta a tela de lançamento de
notas com as seguintes funções: (Figura lançamento).......................................................54

7
Aluno: Nome do aluno........................................................................................................54
12.3 Implementação do Lançamento de notas...................................................................55
12.3.1 Instalação................................................................................................................56
12.3.2 Funcionalidades......................................................................................................56
12.3.3 Caso de uso Lançamento de Notas..........................................................................58
13. Solução para a Apresentação de Relatório..................................................................61
13.1 Funcionamento do Bloco de Relatório de Postagens dos Alunos..............................61
13.2 Implementação do Bloco de Relatório de Postagens dos Alunos...............................65
13.2.1 Instalação................................................................................................................65
13.2.2 Descrição do caso de uso de Exibição de Relatório de Postagens dos Alunos......65
13.2.3 Descrição do caso de Configuração dos campos do relatório ...............................67
13.2.4 Funcionalidades......................................................................................................68
MOODLE.ORG, DEVELOPMENT:BLOCKS, ACESSO EM 10/04/2010, DISPONÍVEL EM:
HTTP://DOCS.MOODLE.ORG/EN/DEVELOPMENT:BLOCKS........................................................................74
ANEXO 01- TABELA DO SISTEMA..................................................................................77
APÊNDICE A – ARQUIVO XML.......................................................................................78
APÊNDICE B – RELACIONAMENTO ENTRE TABELAS................................................79

8
LISTA DE FIGURAS

FIGURA 1. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “LISTAR RESPOSTAS”.............................22

FIGURA 2. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “MOSTRAR RESPOSTAS COMEÇANDO PELA
MAIS ANTIGA”..............................................................................................................................22

FIGURA 3. UMA DAS FORMAS DE VISUALIZAÇÃO DO FÓRUM: “MOSTRAR RESPOSTAS ANINHADAS”........23

FIGURA 4. LANÇAMENTO DE NOTA PADRÃO DO MOODLE.................................................................24

FIGURA 5. RELATÓRIOS................................................................................................................24

FIGURA 6. RELATÓRIO DE NOTAS...................................................................................................25

FIGURA 7. RELATÓRIO GERAL.......................................................................................................25

FIGURA 8. APRESENTAÇÃO DOS BLOCOS.........................................................................................38

FIGURA 9. DIAGRAMA DE CASO DE USO..........................................................................................45

FIGURA 10. TELA DO FÓRUM COM NOVO BOTÃO PARA BUSCA DO ALUNO............................................46

FIGURA 11. TELA COM FILTRAGEM POR ALUNO...............................................................................47

FIGURA 12. TELA DO POST PAI......................................................................................................47

FIGURA 13. TELA RESPOSTA RELACIONADAS...................................................................................48

FIGURA 14. TELA COMENTÁRIO OCULTO........................................................................................48

FIGURA 15. TABELA CONTENDO AS POSTAGENS DOS FÓRUNS.............................................................50

FIGURA 16. FLUXO DE CHAMADAS DAS FUNÇÕES.............................................................................51

FIGURA 17. ESTRUTURA DE DADOS CRIADA.....................................................................................51

FIGURA 18. NOVA TELA DE LANÇAMENTO DE NOTAS........................................................................53

9
FIGURA 19. TELA COM LINK PARA O NOVO LANÇAMENTO DE NOTAS..................................................54

FIGURA 20. FUNÇÕES DO LANÇAMENTO DE NOTAS...........................................................................55

FIGURA 21. TELA DE ENVIO DE E-MAIL..........................................................................................55

FIGURA 22. ARQUIVOS DO NOVO LANÇAMENTO DE NOTA..................................................................57

FIGURA 23. ARQUIVOS DA BIBLIOTECA JQUERY..............................................................................57

FIGURA 24. DIAGRAMA DE SEQÜÊNCIA DO ENVIO DE E-MAIL.............................................................58

FIGURA 25. BLOCO NA PAGINA INICIAL..........................................................................................62

FIGURA 26. APRESENTAÇÃO DE RELATÓRIO...................................................................................62

FIGURA 27. TELA DE ENVIO DE MENSAGEM DO MOODLE.................................................................63

FIGURA 28. OPÇÕES PARA CONFIGURAR TABELA.............................................................................63

FIGURA 29. RELATÓRIO DA PARTICIPAÇÃO NOS FÓRUNS DE TODOS OS ALUNOS...................................64

FIGURA 30. ENVIO DE CORREIO ELETRÔNICO PARA MÚLTIPLOS ALUNOS.............................................65

FIGURA 31. TABELA MDL_BLOCK_SEARCH_COMMENTS...................................................................65

FIGURA 32. ORGANIZAÇÃO DOS DIRETÓRIOS DO BLOCO..................................................................68

CADA INSTITUIÇÃO PODE TER DIFERENTES INTERESSES NOS RELATÓRIOS DAS PARTICIPAÇÕES DOS ALUNOS
NOS FÓRUNS. ALGUMAS PODEM QUERER SABER A QUANTIDADE DE POSTAGENS DOS EDUCANDOS OU SUAS
NOTAS, MAS OUTRAS PODEM TER O DESEJO DE OBTER OUTROS DADOS NÃO CONTEMPLADOS POR ESSA
SOLUÇÃO. A PARTIR DESSE CONHECIMENTO FOI DEFINIDO QUE A SOLUÇÃO, PARA A PROGRAMAÇÃO DA
RECUPERAÇÃO DOS DADOS DOS ALUNOS E APRESENTAÇÃO DO RELATÓRIO, DEVERIA UTILIZAR O
PARADIGMA ORIENTADO A OBJETOS, POIS ESTE OFERECE RECURSOS PARA A IMPLEMENTAÇÃO DE CÓDIGO
REUTILIZÁVEL E DE FÁCIL EXTENSÃO. A FIGURA 33 MOSTRA O DIAGRAMA DE CLASSES REFERENTE A ESSA
IMPLEMENTAÇÃO..........................................................................................................................68

FIGURA 34. DIAGRAMA DE CLASSES EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM.....................69

FIGURA 35. DIAGRAMA DE SEQÜÊNCIA EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM.................70

10
LISTA DE CASO DE USO

UC-0. CASO DE USO FILTRAGEM DO FÓRUM DE DISCURSSÃO............................................................50

UC-0. CASO DE USO LANÇAMENTO DE NOTAS...............................................................................59

UC-0. CASO DE USO ENVIAR MÚLTIPLOS E-MAILS..........................................................................60

UC-0. CASO DE USO EXIBIÇÃO DO RELATÓRIO DOS ALUNOS DO FÓRUM..........................................67

UC-0. CASO DE USO CONFIGURAÇÃO DOS CAMPOS DO RELATÓRIO...................................................68

11
1. Introdução

O acesso ao ensino vem se tornando mais fácil ao passo que a Internet encurta
fronteiras e possibilita que a informação vinda de todos os lugares do mundo possa ser
acessada a partir de um computador. A necessidade de se procurar livros em bibliotecas
distantes ou documentos em lugares remotos vem sendo substituída pela localização e
visualização quase instantânea através dos mecanismos de busca da rede.

Este fenômeno possibilitou a criação de ambientes virtuais de aprendizagem e estes


vêm trazendo uma revolução no modo em que era realizado o ensino a distância e até o ensino
tradicional e presencial, pois, além de trazer o conhecimento a qualquer lugar do globo,
permite uma interação nunca vista antes entre alunos de lugares distantes e de culturas
distintas. Os alunos que estudavam através do recebimento de conteúdo da disciplina cursada
pelo correio, os quais levavam semanas para serem entregues, estão migrando para as
ferramentas de aprendizagem virtual, as quais possuem recursos tão interessantes que até o
ensino presencial vem passando a utilizar suas funcionalidades.

O ambiente de aprendizagem virtual Moodle vem sendo cada vez mais utilizado em
diversas instituições. Seu código totalmente aberto e livre para modificações, juntamente com
sua estrutura modular, permitem que desenvolvedores de todo o mundo possam contribuir
com correções e novos recursos, os quais alguns já se tornaram essenciais para a ferramenta,
como o módulo de fórum que permite uma das maiores conquistas desse tipo de software que
é a aprendizagem colaborativa.

Assim este trabalho busca identificar problemas existentes no módulo de fórum do


Moodle e propor soluções para estes.

1.1. Motivação

O contínuo crescimento da tecnologia vem mudando os padrões da sociedade em


vários aspectos, incluindo a educação. O método tradicional de ensino tem um concorrente
que é o Ensino a Distância (EAD), que está, cada vez mais, conquistando o seu espaço e o
respeito diante da sociedade e o mercado de trabalho. Diante disto, a pesquisa se mostra
necessária para que haja o aprimoramento do Moodle, ferramenta utilizada em várias
12
instituições para promover a Educação a Distância, corrigindo as deficiências encontradas e
melhorando assim o processo de aprendizado de todos os usuários do aplicativo.

1.2. Educação a Distância

Define-se por Educação a Distância o método de aprendizagem no qual a interação


entre alunos e professores não ocorre de forma direta, mas sim usando como meio de ligação
entre estes os mais diversos objetos de comunicação como, por exemplo, correspondência,
televisão e Internet (POPPOVIC, 1996) sendo que as metodologias e ferramentas existentes
possibilitam que cada instituição faça as adaptações necessárias para uma melhor contribuição
ao processo de ensino.

A educação a distância teve seu início formal com o surgimento dos cursos por
correspondência, motivado principalmente por fatores que impediam algumas pessoas de
frequentarem o ensino tradicional: idade avançada, dificuldades financeiras, falta de acesso às
localidades escolares, inadequação aos padrões da instituição. Inicialmente poucas instituições
se interessaram pela modalidade, apenas poucas escolas e empresas especializadas ofereciam
o serviço à população, mas algum tempo depois, esta forma de ensino foi devidamente
reconhecida como um meio efetivo de democratização da aprendizagem (MARQUES, 2004).

O ensino a distância no Brasil teve como pioneiros, o instituto Monitor e o Instituto


Universal Brasileiro, os quais ministram cursos técnicos e supletivos por correspondência,
estes tendo hoje como público alvo, trabalhadores que não têm acesso facilitado nas
instituições de ensino, mas buscam o aperfeiçoamento profissional. Outros que merecem
destaque no ensino a distância brasileiro são o Sesc e Senac, que utilizam o rádio para a
ministração de cursos para a área comercial, e o Sistema Nacional de Teleducação, conhecido
como Telecurso, que faz o uso da TV aberta para conseguir grande difusão do conhecimento.

1.2.1. A influência dos fenômenos sociais

O início do século XX trouxe várias transformações na sociedade, principalmente na


economia mundial. Saía o modelo de produção artesanal, no qual uma pessoa criava o produto
desde o princípio até o fim, para dar lugar às indústrias de produção em massa, regidas pelo
Fordismo o qual foi um modelo de processo criado por Henry Ford, adaptado do Taylorismo.

13
"O fordismo, que propunha produção de massa para
mercados de massa, se baseava em três princípios: baixa
inovação dos produtos, baixa variabilidade dos processos de
produção e baixa responsabilidade do trabalho." (BELLONI,
2001)

Esse movimento influenciou, dentre outras áreas, o ensino, provocando um grande


aumento na oferta de educação primária e secundária e de cursos de capacitação, além de
uma grande expansão dos Cursos a Distância por todo o mundo, trazendo, também,
melhorias às instituições, como otimização de recursos e o planejamento centralizado. Tal
evolução através do século permitiu a criação e o desenvolvimento de várias tecnologias, a
popularização dos meios de comunicação em massa, urbanização das sociedades e uma maior
busca pelo ensino. Os Cursos a Distância, que eram ministrados apenas via correspondência,
puderam também utilizar meios de maior alcance social, como a televisão e o rádio.

A educação em geral, e entre elas a Educação a Distância, passou a seguir uma


padronização de processo semelhante ao industrial: O aluno recebe o treinamento do
professor, para que após os anos de ensino possa desempenhar seu serviço na sociedade,
sendo pouco necessários novos aprendizados ou adaptações às novas realidades. As
instituições de Ensino a Distância ofertavam cursos profissionalizantes e supletivos, nos quais
a interação aluno/professor se limitava ao estudante aprender o conteúdo recebido e a
realização de avaliações por meio de provas.

1.2.2. Mudança da aprendizagem

Com o surgimento de novas tecnologias, do advento da Internet e a conseqüente


globalização, o empregado que desempenhava muito bem sua função específica, que fora
treinado para desempenhá-la, sem participar de outras etapas da produção, foi sendo
substituído por um modelo de funcionário que vai muito além de sua função: conhece várias
etapas da produção, se adapta rapidamente as mudanças, sabe trabalhar em equipe, se
aperfeiçoa e aprende novas habilidades constantemente.

A educação começou a passar por uma mudança de foco: “do professor para o
aprendente, do ensino para a aprendizagem“ (BELLONI, 2001). O modelo de Educação
utilizado largamente até poucos anos atrás, no qual o professor dita como e o que deve ser

14
aprendido pelos alunos, está sendo substituído por um modelo no qual o ensino segue a
tendência do mercado de trabalho mundial: A formação de indivíduos capazes de buscar
conhecimento por conta própria, tirar conclusões, trabalhar em conjunto, utilizar-se do senso
crítico e serem eles próprios disseminadores de conhecimento.

"O professor provoca o aluno a descobrir novos significados


para si mesmo, ao incentivar o trabalho com problemáticas
que fazem sentido naquele contexto e que possam despertar o
prazer da descoberta, da escrita, da leitura do pensamento do
outro e do desenvolvimento de projetos colaborativos.”
(ALMEIDA, 2003).

1.2.3. EAD e a Internet

As novas tecnologias têm feito com que a educação a distância possa ser adotada
cada vez mais em instituições de ensino. A Internet, por exemplo, possibilita que informação
e conhecimento possam ser levados a qualquer lugar do mundo, facilitando a aquisição de
novas habilidades e acontecimentos que antigamente levavam muito tempo para se ter acesso.
Sendo certo que várias ferramentas foram criadas visando à melhoria desse processo de
ensino que utiliza a Internet como meio de globalização da educação, ou seja, a Internet
trouxe à população, que tem acesso a ela, a possibilidade de obter conhecimento com apenas
um clique.

O aluno dispõe na Web, de uma quantidade de informação muito maior do que as


gerações passadas puderam ter acesso.

Conteúdos sobre alguns assuntos específicos e técnicos, hoje em dia podem ser
acessados no conforto de seu lar ou rapidamente no seu ambiente de trabalho, diferentemente
do que ocorria a quinze ou vinte anos atrás, em que a obtenção de determinado conhecimento
levava maior tempo e custos. Visto isso, várias pessoas e entidades perceberam as vantagens
do uso dos computadores no processo de ensino, surgindo assim as ferramentas virtuais de
aprendizagem. Nelas os alunos podem ter acesso à Educação a Distância através da Internet,
sendo que a Web traz uma grande vantagem que as demais mídias utilizadas pelo EAD não
possuem, como por exemplo, a possibilidade de os educandos poderem se comunicar,
15
trocarem conhecimento, sanarem dúvidas e juntos poderem construir uma instrução
educacional com qualidade (BELLONI, 2001).

O uso da Internet possibilita, ainda, a modalidade de semi-presencialidade, em que os


cursos são ministrados fazendo uso do apoio virtual com a disponibilização de materiais de
estudo e conteúdo extra.

1.3. Moodle

Entre as ferramentas criadas para facilitar a difusão de conhecimento, pode-se


destacar o Moodle (Modular Object Oriented Distance Learning), um ambiente virtual de
aprendizagem Open Source que a partir da contribuição de vários desenvolvedores espalhados
pelo mundo, tem se desenvolvido e se tornado uma das principais ferramentas de Ensino a
distância.

A plataforma Moodle, que será base para o desenvolvimento deste trabalho, começou
a ser idealizada na década de 90, pelo webmaster Martin Dougiamas funcionário da Curtin
University of Technology na Austrália e por inúmeros professores, pesquisadores,
programadores e alunos espalhados pelo mundo, que através da comunidade virtual
(Moodle.org) puderam também da sua participação no desenvolvimento desta plataforma que
hoje é mundialmente conhecida e utilizada.

“Moodle (Modular Object Oriented Distance Learning) é


um sistema para gerenciamento de cursos (SGC) - um
programa para computador destinado a auxiliar educadores
a criar cursos on-line de qualidade. Tais sistemas de
educação via Internet são algumas vezes também
chamados de Sistemas de Gerenciamento de
Aprendizagem (SGA) ou Ambientes Virtuais de
Aprendizagem (AVA). Uma das principais vantagens do
Moodle sobre outras plataformas é um forte embasamento
na Pedagogia Construcionista.” (Pulino Filho, 2004)

16
Diversos protótipos foram desenvolvidos, mas até a versão 1.0 nenhum havia sido
testado em um ambiente acadêmico, até que no dia 20 de agosto de 2002(Moodle.org, 2009)
essa versão foi disponibilizada para uma pequena turma, onde foi analisado o perfil de
colaboração que o Moodle possuía. Daí em diante, essa planta forma cresceu muito e
atualmente existem 46.913 sítios em mais de 200 países registrados no Moodle (Moodle
Livre, 2009)

Podemos listar as três principais vantagens do Moodle, em comparação com as


outras ferramentas existentes, que são seu código fonte aberto (open source), o
construcionismo social, e sua comunidade de desenvolvimento.

Têm como funcionalidades principais a criação de perfis detalhados para cada aluno
e professor, e a criação e gerenciamento de cursos virtuais. Possibilitando que cada instituição
personalize e faça as adaptações necessárias para que ele, Moodle, possa atender suas
peculiaridades, podendo ser usando para uma instrução a distância integral ou como suporte
ao ensino presencial. Para cada curso permite-se a disponibilização de conteúdos na página
principal, o envio de avisos e mensagens gerais ou privadas, armazenamento e avaliação de
atividades enviadas pelos estudantes. Além de que nos fóruns também é possível o envio de
arquivos, imagens e links.

Diversas instituições de ensino criaram ferramentas para possibilitar o Ensino a


Distância, por exemplo:

• AulaNet - desenvolvido pela Universidade Católica do Rio de Janeiro;


• Eureka - desenvolvido pela Pontifícia Universidade Católica do Paraná;
• e-ProInfo - desenvolvido pela Secretaria de Educação a Distância do Ministério da
Educação em parceria com renomadas instituições de ensino.

1.3.1. Fonte aberta

“Moddle é um software de fonte aberta (Open Source


Software), o que significa que se pode instalar, usar,
modificar e mesmo distribuir o programa (nos termos da
GNU General Public Licence). Moodle pode ser usado, sem

17
modificações, em Unix, Linux, Windows, Mac OS e outros
sistemas de suportem PHP.” (Pulino Filho ,2004)

Partindo do principio Open Source, o Moodle permite que desenvolvedores de todo o


mundo possam aprimorar e incrementar as funcionalidades desse sistema, característica essa
que possibilitou melhorias e um grande crescimento no número de funcionalidades
disponíveis, além de uma maior adaptação aos seus usuários, permitindo que cada
desenvolvedor utilizasse e modificasse o Moodle da forma que se adequasse melhor a sua
necessidade.

1.3.2. Construcionismo social

O criador do Moodle, Martin Dougiamas, por possuir formação educacional


(graduação em informática, mestrado e doutorado em Pedagogia) possibilitou uma alteração
de visão durante um desenvolvimento de uma plataforma educacional, pois enquanto a
maioria dos sistemas é voltada a ferramenta, o Moodle é voltado para aprendizagem.

Outra visão do Martin Dougiamas era sobre o Construcionismo Social que em tese se
baseia na idéia que as pessoas aprendem mais quando estão inseridas em um processo social
de construção do conhecimento, pelo simples fato de estar construindo alguma coisa para
outras pessoas usufruírem.

“Este ponto de vista sustenta que a aprendizagem é


particularmente eficaz quando se dá construindo alguma
coisa para que outros experimentem. Essa alguma coisa pode
ser desde uma frase ou um email, até informações mais
complexas como uma pintura, uma casa ou programa para
computador.
Por exemplo, você pode ler esse material diversas vezes e
ainda assim já tê-lo esquecido amanhã - mas se você tentar
explicar essas idéias para uma outra pessoa em suas próprias
palavras, ou produzir uma apresentação de slides que
explique esses conceitos, então pode-se garantir que você
terá um entendimento melhor desse assunto e que está mais

18
integrado com seus conhecimentos já existentes. Este é o
motivo pelo qual as pessoas fazem anotações durante
palestras (ou aulas), mesmo que elas nunca venham a ler
essas anotações.
... a um grupo de pessoas construindo coisas umas para as
outras, criando de maneira colaborativa uma pequena
cultura de coisas compartilhadas com significados
compartilhados. Se alguém está imerso em uma cultura como
essa, esse alguém está continuamente aprendendo como ser
uma parte dessa cultura.” (Pulino Filho ,2004)

Assim o Moodle foi criado seguindo uma idéia a qual diz que os estudantes também
podem contribuir com a aprendizagem e não apenas os professores.

O Moodle dispõe de uma ferramenta importante no processo de EAD: o Fórum de


Discussão. Nele os alunos recebem do professor um tópico a ser debatido e partir disso eles
podem expor suas idéias, contribuir com experiências diferenciadas, debater opiniões de
outros alunos realizando diálogos e, contando com a orientação do docente, ajudar na criação
de um aprendizado colaborativo sobre o tema.

"Nesses ambientes, os alunos-educadores podem desenvolver


algumas metaqualificações, tais como: comunicabilidade,
criatividade, competências sociais, estratégias de resolução
de problemas, desenvolvimento da aprendizagem
colaborativa, da intuição e da flexibilidade mental. Tudo isso
corrobora ainda mais à sua formação como sujeitos
autônomos e, complementarmente, sociais." (ALMEIDA,
2003).

Dai se destaca o papel fundamental do Fórum de Discussão, pelo o qual os


estudantes podem interagir ao mesmo tempo em que aprendem a discutem, esclarecendo um
tópico em comum, auxiliando na formação do educando, visando à criação de competências
sociais e melhorando a capacidade de resolução de problemas em equipe.

19
O professor, no papel de orientador e mediador das discussões, deve dispor da
melhor forma possível para medir o progresso nas atividades propostas e avaliar se o aluno
adquiriu as experiências desejadas. Isso salienta, portanto, a necessidade da avaliação e
melhoria ou correção das problemáticas encontradas no Fórum de Discussão, vista a sua
importância na ferramenta Moodle e no processo de aprendizado.

Esse pensamento construcionista possibilitou a criação de uma ferramenta que, ao


invés de permitir apenas que o professor disponibilizasse conteúdos estáticos, fosse criado o
Moodle, que tem seu foco principal em ferramentas de discussão e compartilhamento de
conhecimento, sendo desta forma que a ideia fundamental não está no pensamento de
disponibilização de informação, mas, sim, em compartilhar ideias com a participação dos
alunos no desenvolvimento do conhecimento.

1.3.3. Comunidade de desenvolvimento

As comunidades Moodle têm sido fundamentais para o crescimento da plataforma.

A participação dos usuários, tanto apresentando, quanto retirando dúvidas, é


fundamental para o crescimento da ferramenta. Desta forma o sistema não necessita de uma
equipe para solucionar dúvidas de usuário, já que os próprios usuários ajudam uns aos outros,
fazendo esse papel através de diversos fóruns espalhados pelo mundo.

Por possuir código aberto muitas pessoas desenvolvem novos módulos e os


encaminham para aprovação Martin Dougiamas e sua equipe. Isto funciona como uma
empresa de desenvolvimento e controle de qualidade.

O Moodle possui diversas comunidades de usuários, sugerindo sempre modificações,


novas funcionalidades e corrigindo erros. Segue abaixo a lista das 10 maiores comunidade do
Moodle no mundo.(Moodle.org ,2009)

Site Usuários Cursos


Moodle.org 780,421 61
Hocmai.vn - Ngôi trường chung của học trò Việt 573,752 132
The Open University 452,483 3,590
Christian Courses 181,457 177
與你相伴,E 路學習 132,737 218

20
Campus Virtual de la UB 131,954 8,294
Learn Greek Online! 128,544 9
OpenLearn LearningSpace 101,254 580
OpenLearn LabSpace 101,253 2,011
Concordia Course Web Sites 95,219 17,999

Estatísticas da utilização do Moodle pelo mundo


Número de países 204
Cursos 2.668.122
Usuários 26.822.557
Professores 1.181.299

1.4. Problemas Diagnosticados

Os clientes apresentaram os principais problemas que têm proporcionado aos


mesmos, diversas dificuldades, tanto em âmbito de acessibilidade, como de não possuir
determinadas funcionalidades.

1.4.1. Visualização do Fórum

O Fórum de Discussão permite que alunos possam interagir uns com os outros
através de postagens em cada fórum em torno de um tema iniciado pelo professor do curso.
Esse professor, para verificar o desempenho de cada estudante, deve visualizar cada resposta e
acompanhar os diálogos formados a partir das respostas de alunos a outros alunos
selecionando alguma das visualizações existentes: “Listar respostas”, a qual exibe um
comentário e links para suas respostas; “Mostrar respostas começando pela mais antiga”, que
ordena por data; “Mostrar respostas começando pela mais recente” e “Mostrar respostas
aninhadas”, a qual realiza identação para facilitar a visualização de qual postagem é resposta
de outra.

21
Figura 1. Uma das formas de visualização do fórum: “Listar respostas”

Figura 2. Uma das formas de visualização do fórum: “Mostrar respostas começando pela mais antiga”

22
Figura 3. Uma das formas de visualização do fórum: “Mostrar respostas aninhadas”

Atualmente para que os docentes possam localizar uma postagem de um aluno no


fórum, necessitam percorrer todo este em busca da mensagem de seu interesse. Sendo
possível o acúmulo de inúmeras postagens, algumas vezes na ordem de centenas, essa tarefa
se torna bastante trabalhosa e cansativa.

1.4.2. Lançamento de notas do Fórum

Outra dificuldade encontrada pelos professores está no momento de lançamento de


notas nos fóruns, pois a atual forma que o Moodle disponibiliza não atende satisfatoriamente
a necessidade do usuário. O processo de atribuição de notas padrão para o aluno pelo
professor, consiste em visualizar determinado post de um aluno e atribuir sua nota de 0 a 100,
ou utilizando uma escala de três valores, as quais, o Módulo do Fórum não oferece uma
tradução em português: Mostly Connected Knowing, Separate and Connected e Mostly
Separate Knowing (algo como: Comentário Pertinente, Comentário entre o Pertinente e o
Difuso e Comentário Difuso).

23
Figura 4. Lançamento de nota padrão do Moodle

Após a atribuição de todas as notas aos alunos desejados, o professor pressiona o


botão “Enviar as minhas avaliações recentes”. Desta forma o sistema salva todas as
informações no banco de dados e finaliza a funcionalidade.
A funcionalidade da forma que se apresenta possui um problema. O fórum pode vir a
receber centenas de postagens e para cada um, teoricamente, deve ser atribuída uma nota. Por
exemplo, em uma situação aonde exista 100 alunos em um curso e cada um tenha que realizar
pelo menos três postagens em um fórum, resultará em uma página contendo 300 postagens as
quais devem ser atribuídas uma nota individual, tornando o processo de avaliação exaustivo
para o professor.

1.4.3. Exibição do relatório de participação dos alunos nos fóruns

O Moodle disponibiliza aos professores duas formas de se obter relatórios sobre a


atividade dos alunos nos Fóruns de Discussão: O relatório de notas e o relatório geral.

Figura 5. Relatórios

24
O relatório de notas disponibiliza para o professor e para o aluno as notas obtidas de
cada aluno através dos fóruns e outros tipos de avaliação como questionários, gerando um
somatório total das notas do curso para cada aluno.

Figura 6. Relatório de notas

O relatório geral apresenta todas as informações sobre atividades que são executadas
por todos os usuários do curso ou do Moodle: ações de login ou logout, comentários feitos em
fóruns, questionários criados e respondidos, ou qualquer outra informação que fique
registrada nos arquivos de log do Moodle. Essas informações podem ser filtradas por dia,
atividade ou usuário.

Figura 7. Relatório geral

25
Estes relatórios desempenham satisfatoriamente as atividades as quais foram criados,
mas eles não provem toda a informação necessária para exibição de um relatório completo
sobre as atividades dos alunos nos Fóruns de Discussão, tais como a quantidade de
participações. Neste caso é necessário que o professor utilize o relatório de notas para
verificar o desempenho dos alunos nos fóruns e o feedback enviado e também acesse o
relatório geral para verificar a atividade nesses fóruns. É importante ressaltar também que as
informações do relatório geral devem ser filtradas para exibir apenas as atividades de fórum e
que ainda assim os dados aparecem organizados de forma apenas temporal, tornando a
exibição confusa para a finalidade de observar o rendimento dos alunos nos fóruns.

1.5. Surgimento da Necessidade da Pesquisa

Os problemas acima identificados fizeram com que esta pesquisa fosse necessária,
pois tais obstáculos dificultam bastante a atividade de correção dos assuntos expostos nos
fóruns e, consequentemente, o processo de aprendizagem é diretamente lesado. Assim, as
soluções aqui propostas propõem sanar estes incidentes, trazendo melhorias para discentes,
docentes e instituição de ensino.

1.6. Usuários Beneficiados pela Pesquisa

Os professores e os alunos das várias instituições de ensino que fazem uso do


Moodle, entre elas a Universidade Católica de Brasília, serão beneficiados através das
soluções aqui propostas, pois, através delas, o processo de avaliação e o aprendizado, com um
todo, poderão ser feitos de forma mais eficaz, promovendo uma maior interação entre os
estudantes e um acompanhamento melhor por parte do docente.

1.7. Empresa Interessada

Existe o interesse por parte da UCB Virtual, setor responsável pelo gerenciamento do
Moodle na Universidade Católica de Brasília, pois foi verificado que as soluções que serão
desenvolvidas auxiliarão todos os professores da instituição.

26
2. Objetivos da pesquisa

2.1. Objetivo Geral

Criar funcionalidades para o sistema Moodle que possibilite uma melhor


visualização das mensagens enviadas pelos alunos, a automatização do lançamento de notas e
a melhoria do processo de exibição de relatórios, funcionalidades estas, todas, para Fórum de
Discussão. As novas funcionalidades criadas trarão agilidade e facilidade para o sistema de
avaliação dos alunos, aperfeiçoando, assim, o processo de aprendizagem.

2.2. Objetivos Específicos

• Reduzir o tempo e as complicações do processo de avaliação do Fórum de Discussão,


por meio de uma funcionalidade que possibilite a visualização de mensagens
individuais do aluno de forma eficiente, através da criação de uma seção na página do
fórum contendo uma lista dos nomes dos alunos. Ao selecionar algum deles, será
aberta uma lista contendo todos os comentários do aluno “X” dentro do Fórum de
Discussão em questão. Haverá, também, a possibilidade de se visualizar os
comentários feitos por outros estudantes aos posts realizados por este discente
determinado.

• Automatizar o lançamento de notas do Fórum de Discussão através de uma página


especifica. Esta página conterá uma lista com os nomes dos alunos e um campo para a
entrada da nota a ser dada, que deverá integrar o cálculo da nota final de forma
automática.

• Corrigir a falha da exibição de relatórios das participações dos alunos no fórum de


discussão, já que esta funcionalidade não exibe a quantidade de participações em cada
fórum, apresenta informações de forma não prática, não exibindo um relatório coeso
sobre o desempenho do aluno. A solução será feita por meio de uma página que
permita a exibição de relatórios os quais conterão o nome e a quantidade de
participações de cada estudante nos Fóruns de Discussão, notas recebidas, e outras
informações relevantes.

27
3. PHP

Durante o desenvolvimento desta monografia será utilizada a linguagem PHP. Mas


afinal, o que é essa linguagem, quais suas vantagens e desvantagens e porque ela está se
tornando uma das principais linguagens utilizada pelos programadores nos dias de hoje?

O PHP começou a ser desenvolvido em 1994 por Rasmus Lerdorf, ele tinha a
intenção de controlar melhor o acesso ao seu currículo que era disponibilizado na Web. Mas a
partir do momento que sua ferramenta foi se desenvolvendo, começou a despertar interesse
em outros programadores, já que através da ferramenta Rasmus, era possível desenvolver
aplicações para a Web de uma maneira bem mais simples.

Em 1995 Rasmus nomeou sua primeira versão como PHP/FI (Personal Home Page
Tools-Form Interpreter)(Dall’Oglio: 2007) e deu um grande passo para ela tornar-se o que
ela. Disponibilizando hoje na Web todo o código de sua aplicação, tornando possível que
outras pessoas contribuam para seu crescimento e correção de bugs.

Em 1997 foi lançado a segunda versão do PHP, sem muitas inovações, mas já
naquele momento, a linguagem PHP era utilizada em 1% (Dall’Oglio: 2007) de todos os
domínios existentes. No mesmo ano dois jovens programadores, chamados Zeev e Andi,
resolveram dar sua contribuição para o PHP. Eles reescreveram todo o código fonte do até
então PHP/FI2, renovando a linguagem para poder dar suporte a diversos bancos de dados e
construindo uma linguagem mais consistente. Desta forma o PHP/FI2 foi substituído pelo
PHP 3, sendo que agora até sua sigla foi alterada, tornando-se PHP Hypertext Preprocessor.

Em 2000 foi lançado a versão 4 do PHP. Com essa versão o PHP conquistou 20%
(Dall’Oglio: 2007) dos domínios da Web. Infelizmente ainda existia uma grande ineficácia do
PHP quanto à programação orientada a objeto. E para tentar solucionar esse problema, em
julho de 2004, foi lançada oficialmente a versão 5 do PHP, sendo esta a versão utilizada no
Moodle e a citada nesta monografia.

3.1. Vantagens do PHP

O PHP possui diversas características marcantes, entre as quais podemos destacar as


seguintes vantagens:

28
• É uma linguagem totalmente aberta;
• Possui suporte a diversos sistemas operacionais, como Linux, Windows e Unix e
diversas outras plataformas;
• Possui baixa curva de aprendizagem, já que o mesmo possui características de outras
linguagens, tendo comandos semelhantes às linguagens C e Java, possibilitando,
assim, uma rápida assimilação;
• Dispõe de uma rica e extensa API, a qual possui centenas de funções que vão desde o
tratamento de Strings e Arrays, até comandos de manipulação de Sockets;
• E por fim a compatibilidade com diversos bancos de dados, velocidade e código fonte
aberto são outras vantagens que tem ajudado o crescimento tão rápido do PHP.

29
4. Biblioteca Jquery()

Jquery é uma leve biblioteca desenvolvida em JavaScript1, com intuito de facilitar o


desenvolvimento de efeitos em uma página web.

O criador da biblioteca no livro JQuery in Action disse:

“O foco principal da biblioteca jQuery é a simplicidade.


Por que submeter os desenvolvedores ao martírio de escrever
longos e complexos códigos para criar simples efeitos”
(BIBEAULT , 2008).

Jquery busca acrescentar às páginas web a interatividade e dinamismo, com o foco


na usabilidade, acessibilidade e designe. Desta forma tem conseguido conquistar cada vez
mais usuários.

As principais utilizações do Jquery são:

• Resolução da incompatibilidade entre os navegadores;


• Adicionar efeitos visuais e animações;
• Reutilização do código através de plugins;
• Redução de código;
• Buscar informações no servidor sem necessidade de recarregar a página(AJAX2);
• Utilização de uma vasta quantidade de plugins criados por outros desenvolvedores.

A biblioteca que será utilizada no desenvolvimento desse projeto tornará as


interfaces web mais interativas e amigáveis para os futuros usuários.

1
Linguagem de Script que roda no navegador cliente e permite a execução de funcionalidades locais.
2
Tecnologia que permite o carregamento de paginas automaticamente via Javascript.
30
5. Bancos de Dados

A informática trouxe uma revolução em diversos setores. Diferentes instituições,


sobretudo empresas, passaram a utilizar e criar softwares visando um melhor processamento e
armazenamento da informação, e assim aumentar sua produtividade e se manter em uma boa
posição estratégica em relação aos concorrentes.

Cada sistema instalado nos computadores da organização armazenava os dados de


forma independente e isolada, sendo que nem todos possuíam funcionalidades que
possibilitavam a comunicação e o uso compartilhado de dados. Quando cada dado de negócio
é digitado por vários setores da empresa e armazenado separadamente por cada sistema, é
possível que ocorra (HEUSER, 2008):

• Redundância não controlada de dados: ocorre quando existem réplicas de dados


armazenados em vários sistemas. Nesse caso a responsabilidade de controlar e manter
atualizadas as informações passa a ser dos usuários e não dos sistemas.
• Reinserção de dados: acaba por haver a necessidade de se digitar ou inserir no
sistema várias vezes o mesmo conteúdo, conseqüentemente havendo desperdício de
esforços e tempo.
• Inconsistência de dados: caso as diversas réplicas de dados existentes entre os
sistemas não sejam atualizadas corretamente e em sincronia, pode ocorrer variância de
conteúdo e valores dos dados armazenados, causando perda de confiabilidade e
grandes gastos de tempo para a correção das informações defasadas.

A forma criada para evitar estes problemas foi um modo de organização de arquivos,
de tal maneira a ser compartilhada por todos os sistemas da organização e na qual a
redundância não controlada de dados é evitada. Tal sistema é chamado de banco de dados.

5.1. Sistemas Gerenciadores de Banco de Dados (SGBD)

Hoje em dia diversos sistemas utilizam os bancos de dados para armazenar


informações, manter a organização, evitar redundâncias e possibilitar consultas e alterações de
forma rápida. Para facilitar o uso e o acesso aos bancos de dados pelos softwares, foram
criados os Sistemas Gerenciadores de Banco de Dados.

31
Os SGBDs possibilitam a diversos softwares fazerem uso dos bancos de dados
disponibilizando aos sistemas usuários, através de uma interface padronizada e uma
linguagem comum (SQL), todas as funcionalidades relacionadas ao tratamento da informação
inserida no banco de dados. Além disso, a responsabilidade pelo gerenciamento dos dados, o
controle de concorrência de transações e o controle de acesso às informações, ficam a cargo
do SGBD, livrando os sistemas usuários destas atribuições, permitindo, também, a criação de
tarefas automatizadas de tratamento de dados.

5.2 Sobre o MySQL

O Moodle suporta diversos SGBDs tais como PostgreeSql, SQL Server entre outros,
sendo mais o utilizado entre as soluções no mercado feitas em PHP o MySQL.
O MySQL é um sistema gerenciador de bancos de dados relacionais, os quais utilizam
tabelas para organizar os dados. Criado pela empresa MySQL AB, subsidiária da Sun
Microsistems a qual faz parte agora da empresa Oracle. Foi desenvolvido inicialmente como
uma solução de Data Warehousing, sendo atualmente um dos SGBDs de maior crescimento
no mundo(Mysql.com, 2009).

Além de realizar todas as operações atribuídas a um SGBD, ele possui algumas


características importantes, entre outras, que distinguem o MySQL dos seus concorrentes
(SCHUMACHER,2009):

• É um software livre, fornecido sob os termos da licença GNU;


• A maioria das linguagens de programação possuem bibliotecas e funções que
permitem o acesso as funcionalidades do MySQL, sendo o PHP uma das linguagens
que possui a maior compatibilidade, além de terem juntos conquistado popularidade
entre os desenvolvedores de sítios de Internet (En.Wikipedia, 2009);
• Possui diversos Motores de Armazenamento (softwares com a finalidade de auxiliar o
tratamento das informações) que podem ser escolhidos pelo usuário de acordo com a
necessidade da aplicação. Cada Storage Engine possui funcionalidades que o difere
dos demais, tais como: capacidade de criar integridade referencial e suportar uma
maior concorrência de acessos tais como o InnoDB.

32
A instalação padrão do Moodle traz consigo o PHP e o MySQL, já configurados para
seu perfeito funcionamento. A ferramenta Xampp inicializa de forma automática o servidor
web Apache e o MySQL, além de disponibilizar, entre outras ferramentas, o PHPmyadmin.
Este aplicativo oferece ao usuário uma interface gráfica criada para facilitar todas as
operações relacionadas aos bancos de dados do MySQL.

33
6. Arquitetura Lógica do Moodle

O Moodle pode ser dividido em duas grandes partes que são: estrutura padrão e
estrutura de desenvolvimento.
A estrutura padrão é composta de todos os recursos básicos que o ambiente oferece.
Estão inclusos nesse padrão ferramentas de controle de curso, autenticação de usuários e
funções de uso geral.
A Estrutura de desenvolvimento é composta por módulos e blocos auxiliares. Estes
possuem a característica de serem ativados ou desativados conforme necessidade do
administrador da plataforma. Alguns módulos e blocos já vêm juntos com a instalação do
Moodle, mas diversos outros podem ser encontrados no sítio do Moodle, que são
desenvolvidos por outras pessoas, assim como será realizado nessa monografia.
Não foi encontrado nenhum documento contendo os relacionamentos entre as tabelas
utilizadas no Moodle, assim foi utilizada engenharia reversa para identificar esses
relacionamentos, os quais podem ser verificados na seção Apêndice B.

6.1 Estrutura de diretórios do Moodle


config.php – Contém as configurações básicas como login e senha para acesso do
banco de dados, nome do diretório onde está instalado o Moodle. Este arquivo é criado
durante o processo de instalação da plataforma;
install.php – Script de instalação, ele é responsável pela criação do config.php;
version.php – Define a versão do Moodle;
index.php – A página principal do Moodle;
admin/ - Subdiretório que armazena toda a codificação necessária para as
funcionalidades de instalação e manutenção da plataforma;
auth/ - Ferramentas para autenticação de utilizadores, como usuários de banco de
dados, IMAP,POP3;
blocks/ - Subdiretório responsável pelo armazenamento da codificação dos blocos;
calendar/ - Todo o código para apresentar e administrar os calendários;
course/ - Armazena os códigos para apresentar e administrar disciplinas. Um dos
principais subdiretórios do sistema responsável pela criação e edição de cursos;
files/ - Armazena os códigos para apresentar e administrar ficheiros enviados;

34
lang/ - Subdiretório responsável pelo armazenamento das mensagens de texto em
diferentes idiomas;
lib/ - Biblioteca dos códigos básicos do Moodle. Subdiretório que armazena várias
funções específicas da plataforma;
login/ -Possui códigos para criação e acesso às contas de usuários.
mod/ - Armazena todos os módulos do Moodle. Nesse diretório são armazenados os
módulos que foram incorporados à estrutura do sistema;
pix/ - Armazena imagens e ícones utilizados pela plataforma;
theme/ - Responsável pelo armazenamento de diversos temas que podem ser utilizados
na plataforma;
user/ - Possui códigos para apresentar e administrar a lista de usuários.

6.2 Principais funções que serão utilizadas

Get_record: Função responsável por localizar um registro no banco de dados.


Detalhamento dos parâmetros:
function get_record($table, $field1, $value1, $field2='', $value2='', $field3='',
$value3='', $fields='*') {

$table: Tabela desejada para realização da busca.


$field1: Primeiro campo desejado para filtragem.
$value1: Valor do primeiro campo para filtragem.
$field2: Segundo campo desejado para filtragem.
$value2: Valor do segundo campo para filtragem.
$field3: Terceiro campo desejado para filtragem.
$value3: Valor do Terceiro campo para filtragem.
Retorna um objeto contendo o registro desejado e caso não o encontre, retorna o valor false.

Update_record: Função responsável pela alteração dos registros no banco de dados.


Detalhamento dos parâmetros:
function update_record($table, $dataobject)

$table: Tabela desejada para realização da alteração.

35
$dataobject: Objeto com os campos a serem alterados. Ele contém atributos nomeados
com os campos da tabela e seus respectivos valores. Objeto deve conter o campo id com o
valor do id do registro no banco de dados a ser alterado.

Insert_record: Função responsável pela inserção de um registro no banco de dados.


Detalhamento dos parâmetros:
Function insert_record($table, $dataobject, $returnid=true, $primarykey='id')

$table: Tabela desejada para realização da inserção.


$dataobject: Objeto com os campos a ser inseridos com seus respectivos valores.
$returnid: Caso necessite que seja retornado o id do registro inserido, esse parâmetro
deve ser preenchido com o valor true.
$primarykey: Caso necessite que o id a ser inserido seja especificado, esse parâmetro
deve ser preenchido com o id desejado.

Get_string: Função responsável por buscar no diretório lang/ o texto que será apresentado ao
usuário de acordo com o idioma escolhido por ele.
Detalhamento dos parâmetros:
Function get_string($identifier, $module='', $a=null, $extralocations=null )

$identifier: Chave identificadora da sequência de texto desejado.


$module: O nome do arquivo ou módulo que contém o texto desejado.
$a: Número que poderá ser usado para identificar a string desejada.
$extralocations: Matriz de string com outras localizações para o texto desejado.

Essa função retorna uma sequência de caracteres.

has_capability: Função responsável por verificar a capacidade do usuário desejado no


contexto referido, sendo que dependendo do valor retornado o programa seguirá determinado
fluxo.
Detalhamento dos parâmetros:
Function has_capability($capability, $context, $userid=NULL)

36
$capability: Identificação da capacidade. Esta definição será melhor detalhada na
seção 8.3.
$context: Valor do contexto da funcionalidade. Este valor é atribuído pelo Moodle e é
relacionado a cada curso e a cada funcionalidade nativa existente ou plugin.
$userid: Número identificador do usuário o qual se deseja saber a capacidade.

Essa função retorna true se o usuário tem a capacidade ou false caso não a possua.

6.3 Blocos
O Moodle possui diversos tipos de complementos que podem ser instalados, tais
como Admin Reports, Course Formats, entre outros. A solução dos problemas descritos nesta
monografia envolverá dois tipos de módulos: os Módulos de Atividade e os Blocos.
Blocos são elementos criados por outros desenvolvedores que têm a função de
agregar funcionalidades à pagina inicial do sítio ou em um curso específico. Estes Blocos
podem ser adquiridos e instalados de forma simples, bastando o administrador realizar a cópia
da pasta relativa ao Bloco para o diretório /block, acessar a página de administração e clicar
em “notificações”.
Para fazer uso de Bloco, basta o administrador ou professor com permissão de
alteração, ativar o modo de edição da página principal do Moodle ou do curso, e escolher na
lista de Blocos apresentados o desejado. Após isso, a tela inicial do curso será recarregada
contendo o Bloco escolhido.
Os Blocos são construídos para prover interfaces de entrada para outras
funcionalidades, apresentando links, listas ou outros tipos de informações para que o usuário
possa utilizar diversas outras funcionalidades.

37
Figura 8. Apresentação dos blocos

Para a instalação e utilização de um Bloco no Moodle é necessário um diretório que


contenha um arquivo chamado block_*.php. Esse arquivo é obrigatório e contém a classe
principal responsável pela implementação do Bloco(Moodle.org, 2010).
O arquivo block_*.php deve conter uma classe block_* que estende a classe
block_base. Esta superclasse provê diversos atributos e métodos, os quais vários deles
deverão ser sobrescritos pelas classes que a estenderem, pois não existe implementação para
eles na superclasse.
Os métodos mais importantes são:
• Init: inicia os atributos title e version os quais conterão o título do Bloco e a data da
versão do mesmo. Esse método é necessário para a instalação do Bloco e sua
visualização no menu de escolha na tela principal do Moodle ou do curso.
• get_content: Neste método a classe realiza a implementação do conteúdo a ser exibido
no Bloco através de um atributo chamado content. Esse atributo é uma classe padrão
do PHP chamada stdClass a qual podemos criar atributos dinamicamente(Php.net,
2010). Então pode ser inserido em content->text os códigos HTML que vão compor o
Bloco e em content->footer algum conteúdo de rodapé.
A existência desse arquivo contendo a classe que estende block_base e
implementando os dois métodos acima descritos já é suficiente para a instalação e
funcionamento de um Bloco.

38
Apesar disso, para que esse Bloco tenha mais funcionalidades, pode-se adicionar
outros métodos à classe, além da possibilidade de se sobrescrever alguns dos vários métodos
disponíveis na superclasse block_base, que permitem, entre outros, a execução de comandos
antes da instalação ou após a desinstalação do Bloco.
O Moodle também permite que, através da criação de diretórios padronizados, sejam
definidas tabelas para serem criadas no banco de dados e serem usadas pelo Bloco ou a
implementação de internacionalização de linguagem 3. Para isso o diretório que contem os
arquivos do Bloco pode conter duas outras pastas, a db e a lang.
No diretório chamado db podem existir três arquivos. Um deles deve possuir o nome
Install.xml. A partir dele o Moodle realiza a criação das tabelas que o desenvolvedor definiu,
faz a criação de campos e insere dados iniciais e deve conter as seguintes tags:
• XMLDB PATH: contém o caminho para que o Moodle acesse este arquivo;
• TABLES: contém as definições das tabelas a serem criadas;
• FIELDS: contém as definições dos campos;
• KEYS: contém as definições das chaves primarias;
• STATEMENTS: contém operações a serem realizadas na tabela recém-criada
• SENTENCES: no caso de uma operação de inserção, contem os dados a serem
inseridos.

Pode ser utilizado o arquivo access.php o qual define as capacidades dos usuários do
módulo. As capacidades são usadas para verificar se o usuário utilizador pode realizar ou não
alguma atividade no plugin e assim o programa segue determinado fluxo de acordo com o
tipo de usuário. Essas capacidades devem ser definidas em uma estrutura do tipo array do
PHP com o nome $nome_do_modulo_capabilities contendo, para cada capacidade a ser
definida:

• Um nome com a estrutura: tipo_de_plugin/nome_do_plugin:capacidade associado a


um array contendo as configurações dessa determinada capacidade;
• Tipo de capacidade: escrita ou leitura;
• Contexto: Bloco, módulo de atividade ou outros;
• Legado: a permissão para cada tipo de usuário (administrador, professor, aluno,
visitante) definido pelas constantes CAP_ALLOW, CAP_PREVENT e
CAP_PROHIBIT (permitir, prevenir e proibir).

3
Sistema no qual a linguagem exibida em uma aplicação pode ser mudada dinamicamente.
39
Pode existir também um arquivo o qual deve possuir o nome upgrade.php. Nele o
desenvolvedor pode definir que operações devem ser executadas no banco de dados quando
ocorrer uma atualização no Bloco referido.
O diretório chamado lang é responsável pelo sistema de internacionalização do
Moodle que por sua vez conterá outros diretórios para cada língua que se deseja que haja
mensagens. Cada diretório conterá um arquivo correspondente à tradução desejada. Nesse
arquivo o desenvolvedor deve utilizar uma variável global chamada $string. Essa variável
utiliza o esquema $string [‘nome do índice’] = ‘mensagem’ em que “nome do índice” será o
nome referenciado pela aplicação através da função nativa do Moodle getstring(‘nome do
índice’,’nome do módulo’) e “mensagem” será o resultado mostrado na tela.

6.4 Módulos de atividade

Módulos de Atividade são componentes que podem ser instalados no Moodle a fim
de adicionar várias funcionalidades ao sítio ou à um curso específico. Esses plugins possuem
grande importância e são alguns dos componentes que tornaram o Moodle conhecido e
vastamente utilizado, pois desenvolvedores de todo o mundo podem criar inúmeras
funcionalidades que acabam se tornando vitais para o sistema. Um exemplo é o módulo de
Fórum, por ser muito utilizado e ter uma grande importância, foi incorporado ao pacote
principal do Moodle.
A instalação de um módulo de atividade é simples, bastando o administrador realizar
a cópia da pasta relativa ao módulo para o diretório /mod e acessar a página de administração
e clicar em “notificações”.
Para fazer uso de algum módulo de atividade basta o administrador ou professor com
permissão de alteração, ativar o modo de edição da página principal do Moodle ou do curso e
escolher na lista de atividades apresentadas a desejada. Após isso, será retornada uma tela de
configuração básica, de acordo com o módulo escolhido. Após escolher as preferências e a
confirmação destas, o usuário pode escolher retornar para a página inicial do curso ou a
página inicial da atividade escolhida. Assim foi criada uma instância do Módulo.
Para o desenvolvimento de um Módulo de Atividade é necessária a criação de uma
estrutura de arquivos padrão (Moodle.org, 2010):

40
mod_form.php: Formulário no qual o desenvolvedor define, caso queira, opções
personalizadas para a página de criação ou configuração de uma instância de um módulo;

version.php: Arquivo usado para definir, entre outras coisas, o número da versão do
módulo, o número de versão do Moodle mínimo requerido para o funcionamento e a
periodicidade do script Cron, usado para a chamada de rotinas periódicas definidas nos
módulos;

icon.gif: Imagem usada para a representação do módulo;

index.php: Página utilizada para listar todas as instâncias de um módulo em determinado


curso;

view.php: Página que permite ao usuário acessar as funcionalidades do módulo;

lib.php: Arquivo que contém as principais funções do módulo criado pelo desenvolvedor.
É recomendada a criação de algumas funções com nomes padrões para que as mesmas
sejam utilizadas automaticamente pelo Moodle em algum momento oportuno. As mais
utilizadas são:

nome_do_modulo_install(): contém operações a serem realizadas durante a instalação;

nome_do_modulo_add_instance(): contém o código responsável para a criação de uma


nova instância do módulo;

nome_do_modulo_update_instance(): contém o código responsável para a alteração de


configurações de uma instância do módulo.

A pasta do módulo ainda deve incluir um diretório chamado db, o qual possui os seguintes
arquivos:

• db/install.xml: semelhante ao arquivo apresentado na seção sobre blocos. Define


tabelas a serem criadas e utilizadas no banco de dados;
• db/upgrade.php: define funções a serem executadas no banco de dados caso haja uma
atualização do módulo;
• db/access.php: semelhante ao arquivo apresentado na seção sobre blocos. Define as
capacidades de utilização para determinados usuários;

41
7. Proposta de Solução do Fórum de Discussão

Como foi explicado anteriormente, um dos grandes benefícios de se utilizar o


Moodle e, mais especificamente o Fórum de Discussão, vem da aprendizagem colaborativa,
na qual os educandos constroem, orientados pelo professor, o ensino, através de discussões e
conseqüentes descobertas sobre um assunto. Devido a sua grande importância, os Fóruns de
Discussão têm sido largamente utilizados em diversas instituições. Professores de várias
disciplinas fazem uso desta ferramenta, sendo que em muitas delas, o processo de aprendizado
e avaliação giram em torno das contribuições dos alunos sobre o tópico levantado pelo
docente.
Visto isso, é necessário que tal funcionalidade permita, da melhor forma possível, ao
professor, verificar o desenvolvimento do aprendizado de cada aluno: relevância dos
comentários, capacidade argumentativa, domínio do assunto, entre outros. Neste aspecto o
Moodle ainda não oferece uma forma eficiente de visualização das mensagens, exibindo todas
as postagens de todos os alunos ao longo de toda a página. Apesar de existir a funcionalidade
listar respostas, na qual oferece uma lista reduzida dos comentários, ainda não é oferecida
uma forma ágil de se navegar entre estas mensagens, além de que não é possível visualizar
separadamente as postagens de cada aluno e os comentários feitos a ele.
Com vista nesses problemas encontrados, propomos a elaboração da inserção de
novas funcionalidades ao Fórum de Discussão, as quais vão permitir uma navegação veloz
entre as mensagens de cada aluno, através de uma lista contendo todos os nomes dos
participantes. Quando ocorrer o clique em um dos nomes da lista serão exibidas todas as
participações deste aluno no fórum, além de exibir todos os comentários feitos às respostas
deste aluno.

42
8. Proposta de Solução de Lançamento de Notas

Atualmente a avaliação da participação dos alunos nos Fóruns de Discussão é feita


de forma complicada pelos professores, pois o mesmo na maioria das vezes, não conseguem
ter a noção de quantas participações o aluno fez. O docente precisa percorre todo o fórum para
verificar e efetuar o lançamento da nota em um dos post. No intuito de eliminar essas
dificuldades uma solução será desenvolvida.
A ideia central da elaboração do plugin de lançamento de notas é facilitar a inclusão
das notas de participação nos fóruns. Para solucionar esse problema será desenvolvida uma
página onde serão concentradas todas as informações referentes à participação dos alunos nos
fóruns, onde será possível, além da inclusão das notas, a visualização das mensagens dos
alunos. Esta página terá o intuito de facilitar e agilizar o lançamento e conferência da
participação dos alunos no fórum e assim possibilitar uma redução expressiva do tempo de
avaliação dos alunos.
Para a criação desta solução será necessário um estudo de toda a estrutura do
Moodle, tendo em vista que o plugin não poderá alterar as funcionalidades já existentes no
sistema e nem prejudicar o seu funcionamento.
A integração da funcionalidade criada com o sistema de cálculo de nota final é de
suma importância para sucesso do projeto.
Esse plugin será desenvolvido na linguagem PHP para os bancos de dados
compatíveis com o Moodle e toda sua documentação seguirá o padrão UML.

43
9. Proposta de Apresentação de Relatório

Durante o processo de desenvolvimento foi verificado que uma das funcionalidades


que mais apresenta problemas é a funcionalidade de relatórios sobre a participação dos alunos
nos fóruns de discussão, os quais são muito importantes no processo decisório do professor
para avaliação do aluno.
Com vista na solução do problema de exibição de relatórios do Moodle, foi decidido
por optar pela criação de um dos tipos de plugins do Moodle, o Bloco, para criar uma página
na qual possibilite a exibição desses relatórios pelo sistema.
A funcionalidade criada deverá proporcionar a visualização de todas as informações
necessárias sobre a participação dos alunos do curso nos fóruns para que auxilie o professor a
tomar decisões e verificar melhor o processo de aprendizado.
Levando em consideração o fato de que diversos professores podem ter diferentes
interesses ao visualizar o relatório, a solução deverá permitir ao usuário configurar quais
campos do relatório deseja visualizar. Além disso, as várias instituições que poderão utilizar
este Bloco, poderão desejar implementar a busca de outros tipos de dados a serem mostrados
no relatório que não foram contemplados por esta solução, sendo necessário então, adaptar a
implementação de forma a permitir a extensão das funcionalidades de busca dos dados do
relatório.

44
10. Informações gerais sobre as soluções
Para o correto funcionamento das soluções aqui propostas, o usuário deverá estar
devidamente “logado” no sistema e o mesmo deverá possuir permissão para criar e alterar
atividades.
As soluções compõem o diagrama de caso de uso4 apresentado na figura 9.

Figura 9. Diagrama de caso de uso

4
Diagrama da UML que permite visualizar, entre outras coisas, a interação do usuário com as funcionalidades de
um programa.
45
11. Solução do Fórum de Discussão
Para se implementar esta solução, foi necessário realizar alterações no módulo de
Fórum do Moodle. Essas modificações foram feitas visando o menor impacto possível sobre
os arquivos e o fluxo das funcionalidades já existentes e sem prejudicar ou alterar o
funcionamento destas, de forma que as funções desenvolvidas tão logo após realizarem suas
operações, devolvem o controle da aplicação para as funções nativas.

11.1 Funcionamento da Solução do Fórum de Discussão

Após a correta instalação dos arquivos necessários, basta o usuário selecionar algum
dos fóruns de discussão do curso. Estando na página de postagens o sistema exibirá o fórum
normalmente, juntamente com uma lista contendo os nomes de todos os usuários que
postaram, alunos ou não, ao lado de um botão “buscar”.

Figura 10. Tela do fórum com novo botão para busca do aluno.

Após o professor escolher algum nome da lista e pressionar o botão, o sistema


retornará as postagens do aluno referido. Cada postagem será exibida separadamente dentro
de um elemento em formato de janela, que pode conter um link chamado “respondido”, acima

46
do post,e outro chamado “respostas”, logo abaixo da postagem. A janela contém na parte
superior esquerda, um link “comentário” seguido de uma numeração.
O mesmo efeito é obtido ao se clicar em algum dos resultados da busca do Bloco de Relatório
de Postagens dos Alunos.

Figura 11. Tela com filtragem por aluno

Ao se pressionar no botão “respondido” será exibida a postagem a qual o aluno


pesquisado respondeu. Clicando-se novamente, esta será ocultada.

Figura 12. Tela do post pai

Caso o professor clique em “respostas” o sistema exibirá todas as respostas diretas à


referida postagem, podendo ser ocultadas novamente se repetindo o procedimento.

47
Figura 13. Tela resposta relacionadas

Pressionando em “comentário” a janela ficará em estado oculto, sendo exibido


somente uma barra contendo este mesmo link. Repetindo-se o procedimento o elemento por
completo voltará a ser exibido.

Figura 14. Tela comentário oculto

48
11.2 Descrição de caso de uso da Solução do Fórum de Discussão

ID do Caso de Uso: UC-01


Nome do Caso de Filtragem do fórum de discussão
Uso:
Criado por: Gabriel Última 20/05/2010
atualização:
Data da Criação: 20/05/2010 Data da última 20/05/2010
atualização:

Ator: Professor
Descrição: Permitir ao usuário a filtragem das postagens por aluno
Pré-condições: O usuário com permissão de alteração previamente logado no
sistema e visualizando a tela do Fórum desejado ou o usuário
ter clicado em algum dos nomes dos fóruns exibidos no UC-04
- Exibição do Relatório dos Alunos do Fórum.
Pós-condições: Postagens apresentadas de forma filtrada
Prioridade: Alta
Freqüência de Uso: Alta
Fluxo Principal: P1. O caso de uso se inicia quando o usuário seleciona um dos
participantes do fórum exibidos e clica em “buscar”.
P2. O sistema retorna as postagens filtradas pelo nome
escolhido [A1] [A2] [E1]
P3. O caso de uso se encerra.
Fluxo Alternativo: A1: Visualizar os posts resposta de uma determinada postagem
do participante do fórum escolhido.
A1.1 O usuário clica no link “respostas” abaixo da postagem
do participante do fórum escolhido.
A1.2. O sistema retorna as respostas ao post do participante do
fórum escolhido.
A1.3 O caso de uso se encerra.

A2: Visualizar o post o qual o participante do fórum respondeu


através da postagem exibida.
A2.1 O usuário clica em “respondido”
A1.2. O sistema retorna o post que o participante do fórum
respondeu.
A1.3 O caso de uso se encerra.

Exceções: E1. Nenhuma postagem do participante do fórum escolhido foi


encontrada.
E1.1 O sistema retorna a mensagem informando que não foi
encontrado (M008)
E1.2 O caso de uso se encerra.

Pontos de extensão:

49
Requerimentos
Especiais:
Suposições:
Notas e casos: 1. As mensagens estão especificadas na Tabela Mensagens
do Sistema (ANEXO 01)

UC-0. Caso de uso Filtragem do fórum de discurssão

11.3 Implementação da Solução do Fórum de Discussão


Para a criação desta solução, foi necessário realizar alterações em arquivos nativos do
módulo de fórum. Nos arquivos view.php e discuss.php, foi adicionado a chamada de uma
função que cria a lista de alunos. No arquivo lib.php, conforme explicado, contém as
principais funções do módulo de atividade. Foram feitas as seguintes modificações:

• Foi definido um quinto tipo de exibição de postagens, além dos já existentes;


• Inclusão de mais uma opção, relativo ao novo tipo de exibição de postagens criado, na
função nativa forum_print_discussion, a qual é responsável pela recuperação das
postagens do fórum no banco de dados e a chamada das funções conforme o tipo de
exibição escolhido.

Figura 15. Tabela contendo as postagens dos fóruns

• Inclusão de funções responsáveis pela ordenação e apresentação dos grupos de posts, a


serem invocadas pela função citada acima.

As alterações foram realizadas de forma a causar o menor impacto possível sobre a


aplicação, evitando prejudicar alguma funcionalidade pré-existente. É importante lembrar que
de acordo com as regras de desenvolvimento de aplicações para o Moodle, os nomes de
funções devem começar com o nome do módulo.

50
A figura apresenta a interação entre principais funções nativas ao módulo do fórum e as
criadas para a solução.

Figura 16. Fluxo de chamadas das funções

A primeira postagem do fórum é exibida separadamente e as demais ficam a cargo das


funções designadas para cada tipo de exibição. Quando o usuário escolhe algum aluno para
que seja feita a filtragem das postagens, a função forum_print_discussion recebe o modo de
exibição, no caso mostrado o novo modo criado. A partir disso ele invoca a função
forum_set_posts_by_user a qual é responsável pelo arranjo das postagens. Esse arranjo
acontece em três etapas:
• São localizados os objetos Post do aluno desejado dentro de uma coleção através do
atributo userid;
• Cada objeto também possui um atributo parent (pai) que indica de qual Post este é
uma resposta. Sabendo disto é localizado, para cada objeto selecionado por conter o id
referente ao aluno, seu Post “pai” e seus “filhos”, caso os tenha;
• Finalmente são organizados em estruturas de dados em que para cada postagem do
aluno existe uma coleção contendo o próprio Post e seu pai e filhos, caso haja.

Figura 17. Estrutura de dados criada


51
Essas estruturas são passadas para a função forum_print_posts_by_user a qual tem a
responsabilidade de exibir os conteúdos das estruturas de dados da maneira desejada. Cada
parte da estrutura contendo o objeto Post desejado e “pai” e “filhos” será exibida dentro de
um elemento em formato de janela, como exibido na seção 11.2. Está função é encarregada,
também, por exibir os demais elementos em volta das postagens dentro da janela criada, como
os links.
Após a execução destas tarefas, a função forum_print_posts_by_user invoca, para cada
postagem a ser exibida, a função forum_print_post, devolvendo assim, o controle da execução
para as funções nativas do módulo.

52
12. Solução do Lançamento de Notas

Durante o desenvolvimento um dos focos principais era não alterar


funcionalidades já existentes na plataforma. Desta forma a solução do lançamento de nota e só
uma funcionalidade adicional a qual não altera nem modifica o lançamento de notas padrão.
Antes de apresentar como funciona a nova solução para o lançamento de notas, será
apresentar como funciona o lançamento de notas dos fóruns na versão padrão do Moodle.

12.1 Lançamento de notas desenvolvido


Para solucionar a dificuldade do lançamento de notas foi desenvolvida uma tela na
qual está contida a informação da quantidade de participação do aluno, um campo para ser
digitada a nota, campo comentário que não é obrigatório, opção para envio de e-mail e um
botão que realiza a integração com a solução do fórum de discussão.

Figura 18. Nova tela de lançamento de notas

A idéia desta tela é permitir que o professor possa, de forma ágil e direta, avaliar os
alunos simplesmente atribuindo uma nota geral para o fórum, enviar um comentário sobre a
avaliação e realize o envio de correios eletrônicos para diversos alunos para efetuar algum
aviso.

53
12.2 Funcionamento Lançamento de notas
A solução foi implementada de forma a causar o menor impacto sobre a aplicação já
existente.
Após a instalação será adicionado um link chamado “Lançamento de Notas” na parte
superior do fórum, como na (figura 13).

Figura 19. Tela com link para o novo lançamento de notas

Ao se pressionar no link “Lançamento de Notas” será aberta a tela de lançamento de


notas com as seguintes funções: (Figura lançamento)

Aluno: Nome do aluno.

• Participação: Quantidade de participações do aluno no fórum.


• Nota: Campo para inserção da nota do aluno. Esse campo só permite a entrada de
números e o caractere “.” . A nota deve ser atribuída entre 0 e 100 aceitando ate 2
casas decimais.
• Comentário: Campo para inserção do comentário sobre a nota do aluno, caso desejado.
Campo texto para até 500 caracteres.
• E-mail: Campo para selecionar os alunos que se deseja enviar um correio eletrônico
quando acionar o botão “Enviar E-mail”.
• Visualizar: Botão que realiza a integração com a solução do fórum de discussão. Abre
a tela de visualização post individual de um determinado aluno.

54
• Salvar: Salva as notas e comentários.
• Enviar E-mail : Abre a tela de Envio de E-mail para os alunos selecionado na opção E-
mail.(Figura 15)
Além dessas funcionalidades existe sobre cada campo um ícone de ajuda que exibe
informações sobre o que deve ser escrito nos campos.

Figura 20. Funções do lançamento de notas

Figura 21. Tela de envio de e-mail

12.3 Implementação do Lançamento de notas


No decorrer do desenvolvimento deste recurso, foi necessário analisar a fundo a
55
estrutura do Moodle já que essa funcionalidade influenciava não somente no fórum mais
também na estrutura de notas do Moodle.
Para tornar possível essa implantação foi necessário realizar modificações somente em
um arquivo do Moodle e nesse arquivo foram tomados todos os cuidados visando o menor
impacto sobre as funcionalidades nativas da plataforma.

12.3.1 Instalação
A instalação do Lançamento de notas possui alguns passos não triviais por ser uma
funcionalidade que requer alteração de alguns arquivos e a copia de outros arquivos para a
pasta do módulo do Fórum. Para isso deve ser realizada a seguinte seqüência de operações a
fim de evitar alguma perda de informação ou funcionalidade;
• Backup dos arquivos que vão sofrer alteração:
1) Acesse o diretório Moodle do seu servidor.
2) Acesse a pasta \mod\forum\
3) Crie uma pasta backup
4) Copie os arquivos discuss.php e view.php para a sua nova pasta de backup.
Esta pasta de backup tem a finalidade de possibilitar o retorno das configurações
originais caso ocorra algum erro durante o uso ou simplesmente a funcionalidade não seja
mais desejada.
• Copia dos arquivos de lançamento de nota:
1) Extraia o conteúdo do arquivo Lançamento_de_notas_moodle.zip para a pasta
\mod\forum.
A funcionalidade já estará instalada e pronta para uso.

12.3.2 Funcionalidades
A arquitetura da solução implementada utiliza, além dos arquivos e funções do
Moodle, outros arquivos desenvolvidos.

56
Figura 22. Arquivos do novo lançamento de nota

Figura 23. Arquivos da biblioteca Jquery


Durante o processo de desenvolvimento se viu necessário a alteração de determinados
arquivos para que os mesmos servissem de ponte de ligação entre o módulo de lançamento de
nota e módulo de fórum. Por esse motivo os arquivo discuss.php e view.php sofreram
pequenas alterações. Nesses dois arquivos foi realizado uma inclusão do arquivo índex.php
que contém o link para a janela de lançamento de notas e a funcionalidades da biblioteca
Jquery para criação dos efeitos visuais.
O Arquivo lança_nota.php é responsável pela apresentação da tela de lançamento de
nota. Neste arquivo é realizada toda a busca no banco de dados do Moodle e apresentação
destas informações para o usuário.
O processo para salvar notas é executado pelo arquivo salvando_notas.php. Todos os
dados são validados e verificados conforme o padrão da plataforma Moodle e somente após
essa validação os dados são inseridos no banco de dados.
Os arquivos email_forum.php e enviando_email.php são responsáveis pela tela para
preenchimento do conteúdo e o envio do e-mail.

57
Figura 24. Diagrama de seqüência do envio de e-mail

É importante lembrar que todos os requisitos de segurança de acesso são atendidos pela
plataforma Moodle.

12.3.3 Caso de uso Lançamento de Notas

ID do Caso de Uso: UC-02


Nome do Caso de Lançamento de Notas
Uso:
Criado por: Vanderson Última 20/05/2010
atualização:
Data da Criação: 20/05/2010 Data da última 20/05/2010
atualização:

Ator: Professor
Descrição: Permitir ao usuário o lançamento e alteração das notas do
fórum
Pré-condições: O usuário previamente já logado no sistema e opção de
lançamento de notas do fórum habilitado
Pós-condições: Inserção dos dados referente a nota de participação dos alunos
no fórum
Prioridade: Alta
Freqüência de Uso: Alta
Fluxo Principal: P1. O caso de uso se inicia quando o usuário clica em lança
Notas (Tela01).
P2. E aberto à (Tela02) referente ao cadastro ou alteração de
nota.
P3. O usuário digita a nota do aluno e caso desejar o campo
comentário poderá ser preenchido. [A1][A2](RN01)
P4. O sistema verifica se os campos foram digitados
corretamente.[E1]
P6. O sistema verifica se e para realizar um novo cadastro ou
58
atualizar o registro.
P5. O sistema realiza a inserção ou alteração no banco de
dados.[E2]
P6. E apresentada a mensagem de cadastro realizado com
sucesso (M001).
P7. O caso de uso se encerra.
Fluxo Alternativo: A1: Visualizar post de um determinado aluno.
A1.1 E apresentado a (Tela02) com os post do aluno.
A1.2. O caso de uso se encerra.

A2: Sair do sistema


A2.1 O sistema fecha a tela de lançamento de nota.
A2.2 O caso de uso se encerra.

Exceções: E1. Possui campos preenchidos incorretamente.


E1.1 E apresentado a mensagem informando que existe
campos incorretos. (M003)
E1.2 Segue para o passo P2

E2: Erro de banco de dados


E2.1 Mensagem de erro(M004)
E2.2 Segue para o passo P1
Extender: UC-03 - Enviar múltiplos e-mails
Requerimentos
Especiais:
Suposições:
Notas e casos: 2. As regras de negócio estão especificadas na Tabela Regras
de Negócio (anexo 01).
3. As mensagens estão especificadas na Tabela Mensagens
do Sistema (ANEXO 01)

UC-0. Caso de uso Lançamento de Notas

Anexo 01 - Tabela Regras de Negócio

Identificação Campo Tipo Tamanho Descrição Conteúdo


(Regra)
RN01 nota float A nota deve ser
de 0 á 100
aceitando até 2
casas decimais.

ID do Caso de Uso: UC-03


Nome do Caso de Enviar múltiplos e-mails
Uso:

59
Criado por: Vanderson Última 20/05/2010
atualização:
Data da Criação: 20/05/2010 Data da última 20/05/2010
atualização:

Ator: Professor
Descrição: Possibilita o envio de correio eletrônico a múltiplos alunos
Pré-condições: Execução do UC-01 - Lançamento de Notas ou UC-04 –
Exibição do Relatório dos Alunos do Fórum
Pós-condições: E-mail enviado aos alunos selecionados
Prioridade: Média
Freqüência de Uso: Média
Curso normal dos P1.O usuário seleciona os alunos os quais ele deseja enviar
eventos: uma cópia do e-mail e clica em “enviar e-mail”.
P2.E apresentado a (Tela03) de envio de e-mail [A1].
P3.O usuário digita o texto que será enviado.
P4.O sistema verifica se foi digitado o texto. [E1]
P5.O sistema verifica se foi selecionado algum aluno para o
envio do e-mail.[E2]
P6.O sistema envia o e-mail.[E3]
P7.E apresentada a mensagem de envio realizado com sucesso
(M002).
P8.O caso de uso se encerra.
Cursos alternativos: A1. O usuário deseja cancelar o envio do e-mail
A1.1 O usuário clica a qualquer momento no “X” da janela de
e-mail.
A1.2 O caso de uso se encerra.
Exceções: E1. Possui campos obrigatórios em branco.
E1.1 E apresentado a mensagem informando que existe campo
em branco. (M005)
E1.2 Segue para o passo A2.1

E2. Não foi selecionado nenhum aluno para enviar o e-mail.


E2.1 E apresentado a mensagem informando que deve
selecionar pelo menos 1 aluno. (M006)
E2.2 Segue para o passo A2.1

E3 Erro durante o envio do e-mail.


E3.1 E apresentado a mensagem informando ocorreu um erro
durante o processo de envio de e-mail. (M007)
E3.2 O caso de uso se encerra.
Incluir:
Requerimentos Usuário deve ter privilégios de acesso a essas funções
Especiais: especificas
Suposições:
Notas e casos: As mensagens estão especificadas na Tabela Mensagens do
Sistema (ANEXO 01)

UC-0. Caso de uso Enviar múltiplos e-mails

60
13. Solução para a Apresentação de Relatório
Para a implementação desta solução foi verificado que a melhor alternativa seria a
criação de um novo Bloco para o Moodle, criando mais uma alternativa de visualização do
desempenho dos alunos e evitando realizar alterações na funcionalidade de relatório já
existente. Esta funcionalidade será integrada com a solução do Fórum de Discussão
implementada nesta monografia, de maneira que quando o professor selecionar algum dos
fóruns que o aluno participou as postagens serão exibidas de forma filtrada.

13.1 Funcionamento do Bloco de Relatório de Postagens dos Alunos

61
O Bloco depois de instalado e escolhido na lista de Blocos para poder ser utilizado,
exibe uma lista contendo os nomes de todos os alunos do curso e um botão de busca.

Figura 25. Bloco na pagina inicial

Ao se escolher um dos alunos e pressionar em “buscar” o sistema exibe uma tabela contendo
informações sobre o aluno desejado:

• Nome do fórum: discussão na qual o aluno fez comentários;


• Participações: quantidade de participações no fórum mostrado;
• Última participação: data da última vez em que o aluno escreveu no fórum;
• Notas: caso exista, será exibida a nota total dada nessa discussão;
• Opinião: comentários feitos pelo professor sobre a nota dada ou sobre a
participação do aluno em questão.

Figura 26. Apresentação de Relatório

62
Essas informações serão retornadas para cada fórum que o aluno tena participado no
curso. Caso o aluno não tenha participado de nenhum fórum, o sistema irá exibir a mensagem
“O aluno desejado não participou de nenhum dos fóruns.”.
Será exibido também um botão “enviar mensagem”, por meio do qual é possível
enviar mensagens para o aluno exibido. Ao se clicar no botão o sistema retornará a tela de
envio de mensagem, pelo qual o professor poderá digitar a mensagem desejada e esta será
enviada por correio eletrônico e a mesma também aparecerá no Bloco Mensagens assim que o
aluno efetue o acesso a página inicial do curso.

Figura 27. Tela de envio de mensagem do Moodle

A solução também conta com um botão de configuração dos campos do relatório. Ao


clicar no botão “configurar tabela”, o sistema retornará uma tela de seleção de campos os
quais o professor poderá escolher quais ele deseja visualizar e quais não são necessários. Após
escolher os campos basta pressionar em “salvar mudanças” e o sistema retornará a tela de
relatório apenas com os campos desejados.

Figura 28. Opções para configurar tabela

63
Ao se pressionar sobre algum dos Nomes de fóruns o sistema retornará a tela da
discussão no modo de exibição filtrada por aluno, de acordo com o aluno o qual foi feito o
relatório.
Na tela principal do curso, caso o professor deseje visualizar um relatório sobre todos
os alunos basta apenas selecionar a opção “todos” na lista e clicar em “buscar”.
Após isso o sistema retornará relatórios sobre todos os alunos do curso, exibindo
para cada um todos os campos citados acima e o botão de envio de mensagens.

Figura 29. Relatório da participação nos fóruns de todos os alunos


Além dessas informações o sistema retornará também um botão “enviar e-mail” e
para cada aluno exibido, um campo de seleção “enviar copia do e-mail”. Caso o usuário
deseje enviar um mesmo correio eletrônico para vários alunos, basta o professor selecionar os
alunos através do campo de seleção “enviar copia do e-mail” e pressionar o botão de envio. O
sistema retornará uma tela com um campo para que o usuário digite o texto e pressiona no
botão “enviar”. Caso nenhum aluno tenha sido selecionado, o sistema irá exibir a mensagem
“É necessário selecionar pelo menos um aluno para enviar o e-mail.”.

64
Figura 30. Envio de correio eletrônico para múltiplos alunos

13.2 Implementação do Bloco de Relatório de Postagens dos Alunos


Para a criação da solução foram utilizados os padrões de criação de Blocos no
Moodle, além da criação de novas classes e paginas de exibição para o usuário. A instalação é
feita se utilizando dos mecanismos nativos da plataforma, de forma que para realizar a criação
da tabela necessária para o funcionamento da solução, bastou utilizar a configuração descrita
na próxima seção.

13.2.1 Instalação
Além da implementação da configuração padrão do Bloco, foi realizada a criação do
arquivo Install.xml contendo o código xml no formato apresentado na seção 8.3 para a criação
de uma tabela mdl_block_search_comments, cuja estrutura esta descrita na figura 27. Além
disso o arquivo xml contem também o código necessário à inclusão de dados relativos aos
campos a serem mostrados no relatório da participação dos alunos nos fóruns.

Figura 31. Tabela mdl_block_search_comments

13.2.2 Descrição do caso de uso de Exibição de Relatório de Postagens dos Alunos

ID do Caso de Uso: UC-04


Nome do Caso de Exibição do Relatório dos Alunos do Fórum
Uso:
Criado por: Gabriel Última 20/05/2010
atualização:
65
Data da Criação: 20/05/2010 Data da última 20/05/2010
atualização:

Ator: Professor
Descrição: Exibe diversas informações sobre a participação dos alunos no
fórum
Pré-condições: Bloco devidamente instalado e configurado para visualização
no curso, usuário com permissão de alteração previamente
logado no sistema e visualizando a tela inicial do curso.
Pós-condições: Exibição do relatório
Prioridade: Alta
Freqüência de Uso: Alta
Curso normal dos P1.O usuário seleciona nome do aluno os qual ele deseja
eventos: visualizar o relatório e clica em “buscar” [E1] [A1].
P2.O sistema retorna a tela contendo o relatório do aluno [E2]
[A2] [A3].
P3.O caso de uso se encerra.
Cursos alternativos: A1. O usuário escolhe a opção “todos” da lista.
A1.1 O usuário seleciona a opção “todos” e clica em “buscar”
[E1] [A1].
A1.2 O sistema retorna a tela contendo o relatório de todos os
alunos cadastrados no curso [E2] [A2] [A3].
A1.3 O caso de uso se encerra.

A2. O usuário deseja enviar uma mensagem ao aluno


A2.1 O usuário clica em “enviar mensagem”.
A2.2 O sistema retorna a tela de envio de mensagem.
A2.3 O usuário digita a mensagem e clica em “enviar”.
A2.4 O sistema exibe a confirmação de envio.
A2.5 O caso de uso se encerra.

A3. O usuário deseja visualizar as participações do aluno em


algum fórum.
A3.1 O usuário clica em algum dos nomes dos fóruns que
algum aluno participou.
A3.2 O sistema retorna o passo P2 do UC-01 – Filtragem do
Fórum de Discussão.
Exceções: E1. Nenhum aluno cadastrado no curso.
E1.1 O sistema exibe no local que seria apresentada a lista de
alunos a mensagem que não existem alunos cadastrados no
curso. (M009)
E1.2 O caso de uso se encerra.

E2. O aluno não possui nenhuma participação em nenhum dos


fóruns do curso.
E2.1 E apresentada a mensagem informando que o aluno não
participou de nenhum dos fóruns. (M010)
E1.2 O caso de uso se encerra.
Extender: UC-01 – Filtragem do Fórum de Discussão e UC-03 – Enviar
66
múltiplos e-mails
Requerimentos Usuário deve ter privilégios de acesso a essas funções
Especiais: especificas
Suposições:
Notas e casos: As mensagens estão especificadas na Tabela Mensagens do
Sistema (ANEXO 01)

UC-0. Caso de uso Exibição do Relatório dos Alunos do Fórum

13.2.3 Descrição do caso de Configuração dos campos do relatório

ID do Caso de Uso: UC-05


Nome do Caso de Configuração dos campos do relatório
Uso:
Criado por: Gabriel Última 20/05/2010
atualização:
Data da Criação: 20/05/2010 Data da última 20/05/2010
atualização:

Ator: Professor
Descrição: Permite ao usuário configurar quais campos ele deseja
visualizar nos relatórios de participação dos alunos nos fóruns.
Pré-condições: Bloco devidamente instalado e configurado para visualização
no curso, usuário com permissão de alteração previamente
“logado” no sistema e visualizando a tela inicial do curso ou a
tela de exibição de relatórios.
Pós-condições: Exibição da tela de relatório com a configuração desejada
Prioridade: Média
Freqüência de Uso: Baixa
Curso normal dos P1.O usuário clica em “configurar campos”.
eventos: P2.O sistema retorna a tela de configuração dos campos.
P3.O usuário marca os campos que ele deseja ver e desmarca
os que não deseja.
P4.O sistema retorna a mensagem confirmando a alteração da
configuração (M011) [E1].
P5. O sistema retorna a tela de exibição de relatórios.
P6. O caso de uso se encerra.
Cursos alternativos:
Exceções: E1. O sistema não consegue gravar as alterações.
E1.1 O sistema exibe a mensagem que não foi possível gravar
as alterações. (M004)
E1.2 O caso de uso retorna ao passo P5.
Requerimentos Usuário deve ter privilégios de acesso a essas funções
Especiais: especificas
Suposições:
Notas e casos: As mensagens estão especificadas na Tabela Mensagens do
Sistema (ANEXO 01)

67
UC-0. Caso de uso Configuração dos campos do relatório

13.2.4 Funcionalidades

A arquitetura da solução implementada utiliza, além dos arquivos padrão para a


criação de um Bloco, outros arquivos e classes.

Figura 32. Organização dos diretórios do Bloco

O arquivo block_search_comments.php possui a estrutura padrão para a instalação e


exibição de um Bloco. É importante destacar que conforme as orientações de
desenvolvimento do Moodle (Moodle.org, 2010), os métodos auxiliares criados dentro da
classe block_search_comments devem ter o nome se iniciando pelo nome do Bloco em
questão para que não haja conflito entre os Blocos. Assim dois métodos auxiliares foram
criados para a recuperação dos nomes dos alunos do curso e impressão dos mesmos em uma
lista HTML, respectivamente, block_search_comments_find_students e
block_search_comments_printer e chamados pelo método get_content.
Após o usuário escolher a forma de relatório desejada, ou por aluno ou todos, o
sistema retorna a página results.php contendo o resultado descrito na (Figura 25).
Cada instituição pode ter diferentes interesses nos relatórios das participações dos
alunos nos fóruns. Algumas podem querer saber a quantidade de postagens dos educandos ou
suas notas, mas outras podem ter o desejo de obter outros dados não contemplados por essa
solução. A partir desse conhecimento foi definido que a solução, para a programação da
recuperação dos dados dos alunos e apresentação do relatório, deveria utilizar o paradigma

68
orientado a objetos5, pois este oferece recursos para a implementação de código reutilizável e
de fácil extensão. A figura 33 mostra o diagrama de classes6 referente a essa implementação.

Figura 34. Diagrama de classes Exibição do Relatório dos Alunos do Fórum

Visando a modularidade e o baixo acoplamento entre as classes responsáveis pelas


colunas da tabela e sua exibição, foram criadas classes responsáveis pela recuperação dos
dados de cada coluna as quais implementam uma interface 7 Icampo. Uma classe chamada
student_report é responsável por armazenar esses diversos objetos e recuperar informações
úteis para alguns ou todos estes.
A classe tableprinter é a responsável pela impressão dos dados para o usuário. Ela
foi projetada de forma a ser totalmente independente dos objetos responsáveis pela
recuperação dos dados, sendo que esta depende apenas dos métodos da interface Icampo. Seu
método notify permite que inúmeros objetos sejam “cadastrados” e que os mesmos possam ser
utilizados posteriormente. Apesar de esta classe armazenar os objetos, ela não tem
conhecimento de sua implementação interna. A figura 30 mostra através de um diagrama de

5
Paradigma de programação no qual os dados e funcionalidades são encapsulados em forma de objetos.
6
Diagrama pertencente à UML que mostra tipo de relacionamento entre classes: dependência, realização,
agregação, entre outros.
7
Na orientação a objetos, é uma estrutura que define um meio de acesso padrão para as funcionalidades de uma
classe e quais métodos essa classe deve implementar.
69
seqüência8 a interação entre as classes para a realização do fluxo principal do caso de uso
Exibição de Relatório de Postagens dos Alunos.

Figura 35. Diagrama de seqüência Exibição do Relatório dos Alunos do Fórum

Assim a implementação e adição de outros campos a serem exibidos causará baixo


impacto ao código já existente.
A funcionalidade de envio de mensagens foi implementada utilizando uma
funcionalidade nativa do Moodle, bastando implementar o formulário HTML que a partir do
qual, ao ter seu botão pressionado, realiza a invocação de uma janela popup contendo toda a
interface de envio e configuração da mensagem a ser enviada ao aluno desejado. A única
customização necessária é a passagem via GET do número de identificação (id) do usuário
que se deseja enviar a mensagem.
A funcionalidade de envio de múltiplos correios eletrônicos é feita de forma
semelhante à implementada na solução do Envio de Notas, sendo as funções responsáveis
invocadas pela janela de envio de e-mail ao se clicar no botão “enviar”.
Para opção de configuração dos campos a serem exibidos, foi implementado o
seguinte esquema:

8
Diagrama pertencente à UML que mostra o fluxo de mensagens entre as classes necessárias para a realização
de um caso de uso.
70
• Cada objeto que implementa a interface Icampo possui um atributo id
contendo um valor único, correspondente ao valor do campo id da tabela
mdl_block_search_comments;
• Quando da iniciação desses objetos dentro da classe student_report, durante a
exibição do relatório de participação dos alunos, é realizada uma consulta à
tabela mdl_block_search_comments retornando o id e o nome dos campos em
que o campo visible possui valor “1”. Assim somente os objetos que
possuírem o atributo id igual ao campo id serão carregados e
consequentemente exibidos;
• Na pagina de configuração são exibidos todos os nomes dos campos e de
acordo com a marcação do usuário, a tabela terá seus valores dos campos
visible alterados.

CONCLUSÕES

O Moodle possui grande importância entre as ferramentas computacionais de apoio


ao ensino a distancia. Como tal, ele deve proporcionar um ambiente fluido, prático e ágil para
que os professores possam avaliar e direcionar a interação dos alunos nos fóruns e possibilitar
aos docentes as informações e funcionalidades necessárias a um melhor processo de ensino.

71
Como ambiente virtual de aprendizagem, o Moodle possui funcionalidades muito
importantes, sendo que algumas já foram incorporadas de tal maneira ao processo de ensino
de diversas instituições que tanto suas qualidades quanto seus defeitos causam um grande
impacto sobre interação entre alunos e professores.
Tomando como exemplo a instituição Universidade Católica de Brasília, em que,
entre outras, a funcionalidade de fórum está sendo cada vez mais utilizada por mais
professores para o ensino das mais diversas disciplinas. Apesar da facilidade de uso e
praticidade de exposição de opiniões, os Fóruns de Discussão não provêm agilidade para o
processo de avaliação, entre outros problemas que foram explicitados nesta monografia.
Assim uma experiência de aprendizagem que poderia ser melhor acompanhada e avaliada
pelos docentes, se torna prejudicada pela deficiência em alguns aspectos de um módulo tão
essencial.
Visto isso, as soluções aqui propostas suprem as necessidades verificadas, trazendo
melhor visualização de postagens, maior agilidade no processo de avaliação e maior
completude de informações relevantes sobre as participações dos alunos nos fóruns. Dada a
importância do Fórum de Discussão para o ambiente do Moodle, a adição dessas novas
funcionalidades vem agregar valor à ferramenta, possibilitando ao professor usufruir melhor
dos recursos que o ambiente virtual de ensino pode oferecer.
É importante ressaltar que o trabalho aqui realizado busca a resolução de uma
pequena parte das necessidades do software e que para um maior aprimoramento tanto do
módulo de fórum, quanto do Moodle em si, o apoio da comunidade de desenvolvimento é
fundamental, pois, conforme o uso da plataforma vai aumentando, da mesma forma crescem
as necessidades do ensino, sendo este um processo natural que se bem aproveitado, trará
benefícios tanto para o Moodle quanto para os que fazem uso do ambiente virtual de
aprendizagem.
As dificuldades encontradas durante a pesquisa e desenvolvimento deste trabalho,
provem da falta de documentação sobre as tabelas do banco de dados e a inexistência de um
documento que expressasse o relacionamento entre elas, a dificuldade ou a impossibilidade de
localizar documentação sobre alguns módulos e suas funções, assim como, apesar de existir
um bom detalhamento de atributos e métodos de algumas classes utilizadas no Moodle não
existem diagramas que representem o relacionamento entre elas.

Dificuldades e Trabalhos futuros

72
Estes problemas abrem espaço para a tradução da documentação em inglês já
existente para o português, que apesar de já existir algumas paginas ainda é escassa, ou a
realização de engenharia reversa no código fonte para se obter os diagramas necessários.
Outra linha de pesquisa interessante seria a geração de documentação básica de forma
automática, que, por exemplo, possa conter descrições e assinaturas de funções e métodos e
no caso de classes a sua finalidade e atributos.
Como contribuição à comunidade de desenvolvimento, durante a realização desta
monografia foi criado, através da analise do banco de dados, um diagrama contendo a
estrutura e o relacionamento entre os principais grupos de tabelas utilizadas no
desenvolvimento do projeto, o qual pode ser visualizado no apêndice B.

REFERÊNCIAS BIBLIOGRÁFICAS

ALMEIDA, Maria Elizabeth Bianconcini de, Tecnologia e Educação a Distância: Abordagens


e Contribuições dos Ambientes Digitais e Interativos de Aprendizagem – PUC-SP, 2003.

73
ANDRADE, P. (2000) - Ensino à distância - Breve introdução histórica,
http://student.dei.uc.pt/~pandrade/sf/texto.htm, visto em 13/08/09.

BIBEAULT, Bear - jQuery in Action, Ed.Hanning de 2008.

BELLONI, Maria Luiza - Educação a Distância - 2.ed. -Campinas, SP: Autores Associados,
2001.

Dall’Oglio, Pablo - PHP- Programando com Orientação a Objeto - Ed. NOVATEC, 2002.

En.Wikipedia, Mysql, Acesso em 26/10/2009, disponível em:


http://en.wikipedia.org/wiki/MySQL.

En.Wikipedia, Moodle, Acesso em 17/05/2010, disponível em:


http://en.wikipedia.org/wiki/Moodle.

HEUSER, Carlos Alberto - Projeto de Banco de Dados, Ed. Sagra Luzardo, 4ª edição, 2008.

POPPOVIC, Pedro Paulo - Educação a Distância: Problemas da Incorporação de Tecnologias


Modernas nos Países em Desenvolvimento. In: Revista Em Aberto, Brasília , ano 16, n. 70.
Abr/jun., 1996.

LEGOINHA, Paulo, e outros -


http://dspace.fct.unl.pt/bitstream/10362/1646/1/o_moodle_e_as_comunidades_virtuais_de_ap
rendizagem.pdf, visto em 17/09/09.

MARQUES, Camila (2004) - Ensino a distância começou com cartas a agricultores


http://www1.folha.uol.com.br/folha/educacao/ult305u396511.shtml, visto em 15/09/09.

Moodle.org, Historia do Moodle, Acesso em 26/09/2009, disponível em:


http://docs.moodle.org/pt/Hist%C3%B3ria_do_Moodle.

Moodle Livre, Moodle no Brasil e no Mundo, Acesso em 26/09/2009, disponível em:


http://moodlelivre.com.br/moodle-no-brasil-e-no-mundo/.

Moodle.org, Moodle Statistics, Acesso em 26/09/2009, disponível em: http://moodle.org/stats.

Moodle.org, Development:Blocks, Acesso em 10/04/2010, disponível em:


http://docs.moodle.org/en/Development:Blocks.

Moodle.org, Development: Modules, Acesso em 15/04/2010, disponível em:


http://docs.moodle.org/en/Development:Modules.
74
Moodle.org, Development:Coding style, Acesso em 27/02/2010, disponível em:
http://docs.moodle.org/en/Development:Coding_style.

Php.net, Predefined Classes, Acesso em 10/04/2010, disponível em:


http://php.net/manual/en/reserved.classes.php.

PULINO FILHO, Athail Range - l Manual Introdução ao Moodle – Ambiente de


Aprendizagem – Módulo 1, de 2004.

ROMANI, Luciana Alvim Santos - InterMap: Ferramenta para Visualização da Interação em


Ambientes de Educação a Distância na Web; Autores Associados, 2000.

SILVA, Maurício Samy - JQuery - A Biblioteca do Programador JavaScript – Ed.


NOVATEC, 2008

SEPULVIDA, Lucas Manhães - Desenvolvimento das Ferramentas Relatórios e Estatísticas


do Espaço Virtual de Aprendizagem – EVA, Campos dos Goytacazes – RJ, 2008.

SCHUMACHER, Robin e LENTZ, Arjen - Disponível em: http://dev.MySQL.com/tech-


resources/articles/dispelling-the-myths.html, Dispelling The Myths, visto em 25/10/09.

GLOSSÁRIO

Plugins: Na informática define-se plugin todo programa, ferramenta ou extensão que


se encaixa a outro programa principal para adicionar mais funções e recursos a ele.

75
On-line: "Estar online" ou "estar em linha" significa "estar disponível ao vivo". No
contexto de um web site, significa estar disponível para acesso imediato a uma página de
Internet, em tempo real.
Links: É uma palavra, texto, expressão ou imagem que permite o acesso imediato à
outra parte de um mesmo, ou outro documento ou site, bastando ser acionado pelo ponteiro do
mouse. Num hipertexto, um link, na forma de palavra ou expressão, vem sublinhado ou
grafado em cor distinta da utilizada para o resto do texto. Ao se clicar no link, o usuário é
levado a uma outra página ou parte da mesma página.
Strings: Em programação e em linguagens formais, uma cadeia de caracteres é uma
seqüência ordenada de caracteres (símbolos) escolhidos a partir de um conjunto pré-
determinado. Em programação, cada símbolo armazenado na memória é representado por um
valor numérico. Uma variável declarada com tipo de dado cadeia geralmente armazena um
número pré-determinado de caracteres.
Array: Em programação de computadores, um array, também conhecido
como vector ou matriz, é uma das mais simples estruturas de dados. Os arrays mantêm uma
série de elementos de dados, geralmente do mesmo tamanho e tipo de dados.
Sockets: Um soquete (do inglês socket) é generalizado uma tomada que designa uma
cavidade ou região usada para ligar algum artifício específico. Especificamente
em computação, um soquete pode ser usado em ligações de redes de computadores para um
fim de um elo bidirecional de comunicação entre dois programas.
Post: Termo em inglês que significa “postagem” em português.
Clicar: Ato referente a pressionar algum dos botões do periférico mouse sobre
determinado objeto, ícone ou outro elemento na tela de um computador.
UML: Sigla para Linguagem de Modelagem Unificada (Unified Modeling
Language). É uma linguagem que se utiliza de elementos visuais para especificar, visualizar,
construir e documentar aspectos técnicos de um programa.
Webmaster: Termo que designa a pessoa que administra algum sítio da Internet.
Login: Termo em inglês que significa o ato de realizar a autenticação de um usuário
em um sistema, criando uma sessão de uso para este.
Logout: Termo em inglês que significa o ato de realizar a interrupção da sessão de
uso de um usuário em um sistema.
Log: Arquivo em que informações sobre ações realizadas em um sistema ficam
armazenadas.

76
HTML: sigla para a expressão HyperText Markup Language, que significa
Linguagem de Marcação de Hipertexto. É uma linguagem utilizada para produzir arquivos
que podem ser interpretados por navegadores e assim exibir uma pagina da Internet.

ANEXO 01- TABELA DO SISTEMA

Código da Mensagem
mensagem
M001 “Cadastro realizado com sucesso.”

77
M002 “E-mail enviado com sucesso.”
M003 “Existe algum campo preenchido incorretamente.”
M004 “Erro durante o acesso ao banco de dados. Contate o administrador do sistema.”
M005 “Existe algum dado obrigatório não preenchido.”
M006 “E necessário selecionar pelo menos um aluno para enviar o e-mail.”
M007 “Erro durante o envio do e-mail. Contate o administrador do sistema.”
M008 “Posts não encontrados.”
M009 “Não existem alunos cadastrados neste curso.”
M010 “O aluno não participou de nenhum dos fóruns.”
M011 “A configuração foi salva.”

APÊNDICE A – ARQUIVO XML

Install.xml:

<?xml version="1.0" encoding="UTF-8" ?>

78
<XMLDB PATH="blocks/search_comments/db" VERSION="20060912" COMMENT="XMLDB file for
Moodle search_comments block"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
>
<TABLES>
<TABLE NAME="block_search_comments" COMMENT="Forums contain and structure discussion">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true"
SEQUENCE="true" ENUM="false" NEXT="name"/>
<FIELD NAME="name" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false"
ENUM="false" PREVIOUS="id" NEXT="visible"/>
<FIELD NAME="visible" TYPE="char" LENGTH="1" NOTNULL="true" SEQUENCE="false"
PREVIOUS="name"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
</TABLES>
<STATEMENTS>
<STATEMENT NAME="insert block_search_comments" TYPE="insert" TABLE="
block_search_comments" COMMENT="Initial insert of records on table block_search_comments">
<SENTENCES>
<SENTENCE TEXT="(name, visible) VALUES ('nparticipations', '1')" />
<SENTENCE TEXT="(name, visible) VALUES ('lastpostdate', '1')" />
<SENTENCE TEXT="(name, visible) VALUES ('notas', '1')" />
<SENTENCE TEXT="(name, visible) VALUES ('feedback', '1')" />
</SENTENCES>
</STATEMENT>
</STATEMENTS>
</XMLDB>

APÊNDICE B – RELACIONAMENTO ENTRE TABELAS

79
80

Das könnte Ihnen auch gefallen