Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
A Etapa Atual do Desenvolvimento do Sistema ENSINET*
Eduardo Menna da Silva1, Eduardo Nunes Ferreira Bastos1,
Antônio Carlos da Rocha Costa1, Graçaliz Pereira Dimuro1
1
Escola de Informática – Universidade Católica de Pelotas (UCPel)
Caixa Postal 15.064 – 96.010-000 – Pelotas – RS – Brasil
{edumenna,eduardob,rocha,liz}@ucpel.tche.br
Abstract. This paper describes the present stage in the development of the
ENSINET system, a web-based learning enviroment that is being constructed
at UCPel. The paper focus on the adapted anchitecture, including conceptiol
model, presenting alternatives of future work.
Resumo. Este artigo descreve de forma sucinta a etapa atual do
desenvolvimento do sistema ENSINET, um ambiente de apoio ao ensino
semipresencial utilizando a Internet, em construção na UCPel. É dado
enfoque à arquitetura adotada, incluindo ilustrações de diagramas e modelos,
e apresentadas perspectivas futuras para o sistema.
1. Introdução
O Projeto ENSINET/UCPel – Ensino Integrado dos Fundamentos Matemáticos da
Computação via Internet [Dimuro et al. 1998; 2000], conduzido pelo Grupo de
Programação na Web da UCPel, inicialmente objetivava a experimentação de uma
metodologia de integração curricular entre matérias de matemática e fundamentos
teóricos, no currículo do curso de Ciência da Computação. Uma das metas era a de
promover o desenvolvimento autônomo dos alunos, através de atividades integradas
semipresenciais, apoiadas em um ambiente baseado na Internet e com o auxílio de
materiais didáticos interativos desenvolvidos. Dentro desta perspectiva, foi
desenvolvido o ambiente ENSINET, segundo a concepção de software livre.
O ambiente ENSINET, assim como tantos outros sistemas de apoio ao ensino
baseado na Web (AulaNet, WebCT, ROODA, Teleduc, etc.), disponibiliza recursos e
ferramentas da Internet, integradas em um único ambiente. Através desse tipo de
sistema, o professor pode propor atividades não-presenciais, disponibilizar material de
apoio para estas atividades, conduzir discussões, analisar as atividades realizadas,
publicar avisos, apresentar conteúdos ou aplicações em forma de páginas da Web, etc.
O ENSINET procura se diferenciar daqueles outros sistemas em função de: (i)
ser um sistema de código aberto e livre, disponível para qualquer instituição interessada;
(ii) ser customizável, fato este que facilita e flexibiliza o uso do ambiente, não impondo
um padrão para apresentação e utilização dos materiais educacionais disponibilizados.
*
Este trabalho tem financiamento do CNPq e FAPERGS.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
O sistema ENSINET foi implementado no ZOPE - Z Object Publishing
Environment [ZOPE-Corporation 2003], um servidor de aplicações web
multiplataforma integrado a um banco de dados transacional orientado a objetos, e para
construção dos módulos, foi utilizada a linguagem de programação Python [Python
Software Foundation 2003], a qual encapsula na sua estrutura de classes, o
funcionamento interno da maioria das funcionalidades avançadas necessárias à
construção de um website, como: renderização de documentos dinâmicos, reutilização e
transparência de código, aspectos de segurança, entre outras.
Atualmente, está em desenvolvimento a segunda versão deste sistema. Foram
adaptadas algumas funcionalidades oriundas da primeira versão, e construídas novas
ferramentas e módulos, numa abordagem 100% orientada a objetos. O site do projeto e
do sistema em sua primeira versão podem ser acessados, respectivamente, em
http://gmc.ucpel.tche.br/ensinet e http://ensinet.ucpel.tche.br.
Na seção 2 do presente artigo, apresenta-se uma visão geral do sistema. Na seção
3, é feita uma abordagem à camada denominada ZTVM, descrevendo aspectos de seu
Banco de Objetos e do framework ZOPE. A seção 4, apresenta conceitos sobre a
camada Z-ServAprend, dando ênfase aos recursos estruturais e funcionais do ambiente.
As conclusões e considerações finais encontram-se na seção 5.
2. Descrição do Sistema
O sistema ENSINET está sendo desenvolvido com base em uma arquitetura robusta que
permite aos desenvolvedores implementarem módulos independentes, de forma rápida e
fácil. Estes módulos, denominados produtos, são programados na linguagem Python e
inseridos no contexto do ZOPE, para publicação na forma de conteúdo HTML na web.
A criação desses módulos possibilitou a implementação do sistema em camadas,
tornando o trabalho de criação e atualização muito mais ágil e eficaz. Foram modeladas
várias camadas, como ilustrado na figura 2.1 e explicado nas seções seguintes.
Figura 2.1 Arquitetura do sistema ENSINET
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
3. Camada ZTVM
Esta camada, denominada Z Modelo Temporal de Versões, é a camada de mais baixo
nível do sistema, e contém dois componentes. O primeiro representa os objetos
fundamentais providos pelo ZOPE, enquanto o segundo descreve os objetos temporais
versionados e monitorados e de acesso.
3.1. Componente ZOPE
Os objetos básicos fornecidos pelo framework ZOPE permitem executar tarefas
distintas, e assumem um desses três papéis:
1. Conteúdo: Objetos do ZOPE são como documentos, imagens e arquivos com tipos
diferentes de dados textuais e binários.
2. Apresentação: são fornecidas linguagens de programação, DTML e ZPT, para
facilitar o gerenciamento de conteúdo.
3. Lógica: são disponibilizadas algumas linguagens de programação como ZPT e
Python. A idéia é separar a lógica de programação da interface que será mostrado
para o usuário final.
Com esses tipos definidos de papéis é possível criar pequenas aplicações, mas
com o intuito de criar uma ferramenta mais flexível e que atendesse as necessidades do
sistema, fez-se necessária à extensão desses objetos, criando-se assim, uma verdadeira
API de desenvolvimento. Nesse contexto, o sistema ENSINET foi completamente
implementado numa abordagem orientada a objetos, utilizando-se classes Python e para
persistir os dados, o Banco de Dados Orientado a Objetos Transacional do ZOPE,
denominado ZODB – Z Object DataBase.
Com estes módulos é possível:
•
Instanciar o produto ENSINET, com todos os outros módulos do sistema criados e
papéis e permissões sobre os objetos já previamente configurados;
•
Definir métodos comuns a todas as outras classes de aplicação, como por exemplo:
verificar se usuário tem permissão sobre um determinado objeto, definir a barra de
navegação do usuário no ambiente, enunciar os atributos essenciais e específicos do
objeto, entre outras características;
•
Definir o tratamento de exceções, por uma interface amigável;
•
Utilizar recursos adicionais, como listas e dicionários persistentes, sem se preocupar
com o mecanismo de persistência do banco de dados.
3.2. Componente Banco de Objetos TVM
Este componente foi criado com a finalidade de estender as funcionalidades providas
por objetos básicos do ZOPE, adicionando aspectos de tempo e versão. Foi proposta
uma modificação ao Modelo Temporal de Versões [Moro 2001], criando-se conceitos
de objeto temporal não-versionado, temporal versionado e não temporal versionado,
denominado de Modelo de Objetos Temporais Versionados [Nieves 2003], ilustrado na
figura 3.2.1. Este modelo baseia-se nos conceitos de versão e tempo para armazenar as
versões do objeto, os seus tempos de vida, e o histórico das alterações feita nos valores
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
dos atributos e relacionamentos dinâmicos. Dessa maneira, o tempo é associado ao
objeto, à versão, aos atributos e aos relacionamentos.
A proposta do Modelo de Objetos Temporais Versionados [Nieves 2003] ainda
não foi implementada para uso no ambiente, mas é de extrema importância para
ferramentas futuras de monitoração e análise, visto que será possível, por exemplo,
gerar estatísticas de acesso a uma determinada disciplina ou avaliar de forma mais
criteriosa o uso do sistema pelos alunos.
Figura 3.2.1 Hierarquia de classes do modelo TVOM
Foram realizados estudos preliminares e conceituações sobre uma monitoração
de usuários informada [Miranda 2003a], para implantação no sistema ENSINET. Essa
monitoração permitirá, por exemplo, a inclusão de sites internos adaptativos, como
proposto em [Dimuro et al. 2002].
A proposta de um modelo conceitual básico [Miranda 2003a], apresenta uma
idéia de monitoração baseada em contextos de utilização, sendo caracterizado não
apenas pela monitoração da navegação no ambiente, acesso aos objetos do sistema ou
trocas de documentos entre usuários, mas por uma análise do ponto de vista do usuário,
visando determinar as operações que são feitas por um usuário em um determinado
contexto. Isto leva a cabo uma nova experiência: determinar o comportamento dos
usuários procurando compreendê-lo do ponto de vista educacional, e não como é feito
na maioria dos outros sistemas, onde é analisado pelo ponto de vista do administrador,
através de logs de acesso, por exemplo.
Todos estes modelos, idéias, e propostas estudados servem como uma base
sólida para modelagem e implementação do modelo de objetos temporais e versionados,
a ser realizado na próxima etapa de desenvolvimento do sistema ENSINET.
4. Camada ZServAprend
Esta camada denominada Z Serviços de Aprendizagem, contém três componentes que
se correlacionam para prover ferramentas e recursos disponibilizados no ambiente, bem
como: banco de usuários, banco de componentes de aprendizagem e uma API de
Serviços de Aprendizagem.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
4.1 Componente Banco de Usuários
Todas as aplicações para web precisam administrar a segurança. Administrar a
segurança significa controlar quem pode acessar a aplicação, e determinar o que cada
usuário pode fazer. Segurança não é uma questão que pode ser adicionada para proteger
o sistema. Pelo contrário, segurança deve ser um importante elemento do projeto que se
deve levar em conta quando constrói aplicações.
ZOPE fornece na sua distribuição padrão um objeto denominado Diretório de
Usuários, onde é possível a criação de pastas de usuários. Um usuário define uma conta
de usuário. Cada conta de usuário é formado por um nome, senha, papel (especifica o
tipo de usuário) e opcionalmente, dados adicionais sobre quem utiliza o ZOPE.
No sistema ENSINET foi imprescindível à implementação de um novo diretório
de usuários, para adicionar novos conceitos aos usuários básicos providos pelo ZOPE. O
usuário ENSINET possui métodos e atributos próprios, como: contexto atual no
sistema, histórico do uso do sistema, perfil acadêmico e portfólio pessoal (espaço
reservado para armazenar dados individuais).
Para este componente foi criado um módulo, denominado ZUser, cuja finalidade
é prover um mecanismo de suporte aos usuários do ambiente. Foram especificados
métodos que fazem o gerenciamento de usuários e a conexão com o banco de dados
ZODB e papéis que delimitam a contextura do ambiente. A seguir é explicado cada
papel:
•
Administrador. Possui todo o controle do sistema, ficando a cargo dele gerenciar o
diretório de usuários, disciplinas, entre outras ferramentas disponíveis;
•
Professor. Gerencia os conteúdos apresentados aos alunos e monitores, como, por
exemplo: mural de avisos, atividades, fórum de discussões, downloads/uploads, etc;
•
Aluno. Possui permissão de visualização de conteúdos expostos pelo professor e de
recursos disponibilizados na disciplina;
•
Monitor. Representa um aluno com mais privilégios, estando apto a gerenciar
alguns módulos da disciplina;
•
Grupo. É um conceito de composição de usuários alunos e professores, que
participam de uma determinada tarefa;
•
Visitante. É um usuário não cadastrado que pode apenas acessar e visualizar
conteúdos previamente estabelecidos pelos administradores do sistema e professores
das disciplinas.
4.2 Componente de Objetos de Aprendizagem
O banco de componentes de aprendizagem representa os recursos disponibilizados no
ambiente, e serve como base para construção das funcionalidades do ambiente na
camada superior. Foram implementados vários módulos independentes, não limitando
sua utilização ao sistema ENSINET. A seguir é apresentado cada um desses recursos.
•
ZAtividade. Representa a relação de tarefas propostas pelo professor com as
respectivas datas de entrega.
•
ZMural. Realizado o cadastro de avisos com uma descrição e uma URL.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
•
ZFórum. Permite a criação de fórum de discussões entre os alunos.
•
ZAvaliação. Registradas as avaliações dos alunos cadastrados.
•
ZColeção. Espaço onde são disponibilizados os materiais de apoio que os alunos
podem consultar para aprimorarem os conceitos trabalhados na disciplina.
•
ZDownloads. Área que fornece aos alunos acesso a arquivos relacionados com o
conteúdo da disciplina;
•
ZUploads. Opção que permite que o aluno envie os trabalhos realizados para o
professor.
•
ZLink. Relação de link’s para páginas com conteúdos relacionados com a disciplina
e para aplicações integradas.
Numa abordagem mais abstrata, pode-se compreender estes recursos como
sendo Objetos de Aprendizagem (OA) [IEEE 2002] – entidade digital que pode ser
usada, reusada ou referenciada durante a aprendizagem suportada pelo ambiente.
Objetos de Aprendizagem são elementos de um novo tipo de ensino que utiliza a
Internet como meio de informação. Atrelado a este fato, e por estar fortemente ligado a
área da Computação, os OAs são fundamentados no paradigma de orientação a objetos.
Como princípio, este paradigma valoriza principalmente a criação de componentes
(objetos) que podem ser reusados em muitos contextos. E este é o objetivo dos OAs,
sendo uma fonte de informação flexível abrangendo as mais diversas áreas e contendo
referências distintas dependendo do ponto de vista que for analisado: projetistas
educacionais podem criar pequenos componentes educacionais, que podem ser reusados
várias vezes em diferentes contextos de aprendizagem [Miranda 2003a].
Um Objeto de Aprendizagem é um componente dividido em duas partes, como
ilustrado na figura 4.2. Um arquivo, ou então um ponteiro para um outro arquivo, e um
descritor. O arquivo contém dados na forma binária podendo ser uma imagem, texto,
etc. ou então um ponteiro que referencia um endereço que contenha o dado. Já o
descritor é responsável por descrever uma serie de informações a respeito deste arquivo.
Existem alguns padrões que especificam as informações necessárias para compor um
OA em ADLnet [ADL 2002; Miranda 2003b], mas este não é o foco do presente artigo.
Figura 4.2 Pacote básico do Objeto de Aprendizagem
Para a construção deste módulo foi desenvolvido um produto em ZOPE capaz de
armazenar, em um repositório de dados, os objetos de aprendizagem instanciados no
sistema ENSINET. Este repositório de dados serve como fonte de pesquisa não só para
o ambiente, mas também a acessos externos. A flexibilidade do sistema gerenciador dos
OAs esta relacionado com as várias definições que um arquivo pode receber ao estar
armazenado no repositório de dados. Da maneira que foi implementado este módulo,
cada arquivo pode ser associado a mais de um descritor. Esta flexibilidade do OA
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
permite que analisadores descrevam de forma distinta um mesmo arquivo, já que podem
possuem pontos de vista que se divergem por não se tratar da mesma área de atuação ou
qualquer outro motivo. O recurso que permite a instanciação de vários descritores
possibilita que um arquivo ou fonte de informação possa ser encontrado no repositório,
desvencilhando a informação da descrição inicialmente atribuída.
O módulo Objeto de Aprendizagem desenvolvido pode ser agregado a qualquer
sistema também desenvolvido em ZOPE e tem em sua estrutura interna uma classe
denominada “ClasseDescritor” que é responsável pelo descritor do Objeto. Além da
classe, este módulo possui uma interface de gerenciamento dos Objetos de
Aprendizagem e métodos que trabalham com instanciação, edição, remoção,
gerenciamento e busca dos OAs.
O método de busca de Objetos possui campos referentes a todos as informações
contidos no descritor do objeto. Desta maneira, as informações de pesquisa são
buscadas nos descritores persistentes dentro do repositório de dados sendo retornando
os Objetos de Aprendizagem que contém parte ou toda a informação inicialmente
pesquisada.
Como perspectiva futura para o incremento do produto Objeto de
Aprendizagem, esperam-se tornar ainda mais flexível a questão dos descritores referente
os arquivos. A intenção é criar descritores de grupos de arquivos sendo possível assim, a
seleção de um conjunto de arquivos que compreenderão a um mesmo descritor em uma
determinada instanciação do objeto.
Outro objetivo futuro é tornar dinâmica a formalização do descritor. Em outras
palavras, o que se pretende é fazer com que sejam acrescidos novos campos de
informação do descritor conforme o administrador do repositório de OA sinta
necessidade. Este processo desencadearia modificações na estrutura de do(s) descritor(s)
que cada Objeto de Aprendizagem deixando em aberto para complementos futuros. A
implementação deste descritor dinâmico desvencilharia o atual módulo do OA a um
padrão de e-learning como o especificado em ADLnet [ADL 2002].
5. Considerações Finais
O ENSINET, sem dúvida alguma, pode se tornar uma ferramenta muito importante, não
apenas para o curso de Informática, como também para outras escolas e universidades.
Pode-se dizer que, este sistema vem suprir uma necessidade generalizada do ensino em
nível de graduação, que é a carência da integração curricular, tornando-se uma peça
fundamental para a consolidação da metodologia de integração curricular das diversas
áreas do conhecimento, assim como a integração de atividades de ensino e pesquisa em
diferentes níveis de ensino e a integração de atividades internas e externas (extensão).
A utilização dos recursos da Internet associada às vantagens oferecidas por
softwares livres, como ZOPE e Python, contribui de forma satisfatória para o ensino
integrado, destacando-se a experiência de ensino semipresencial. Espera-se que, com a
utilização de software livre, o desenvolvimento e utilização do sistema possa ser
compartilhado com a comunidade ZOPE, visando à ampliação de suas funcionalidades e
de sua aplicação como ferramenta de apoio ao ensino semipresencial.
As próximas etapas do trabalho envolverão o desenvolvimento de recursos para
monitoração e avaliação do ambiente, a ser realizada de forma continuada e interativa.
Anais do II Simpósio de Informática da Região Centro / RS – Santa Maria, agosto de 2003.
Isso possibilitará a construção de ferramentas importantes para auxiliar no processo de
avaliação das interações realizadas entre os usuários e os objetos do sistema.
Referências Bibliográficas
ADL. Advanced distributed learning iniciative. Disponível em: http://www.adlnet.org.
Acesso em: maio 2002.
Dimuro, G. P., Costa, A. C. R. and Rodrigues, F. P. M. (1998) “Projeto ENSINET”,
ESIN/UCPel, http://gmc.ucpel.tche.br/ensinet, May.
Dimuro, G. P., Costa, A. C. R. and Rodrigues, F. P. M. (2000) “Uma experiência de
ensino integrado dos fundamentos matemáticos da ciência da computação”, Revista
Brasileira de Informática na Educação, n. 7, p. 65-75.
Dimuro, G. P., Palazzo, L. A. M., Costa, A. C. R. and Miranda A, R. M. Sites Internos
Adaptativos para o Sistema Ensinet, In: III Workshop de Software Livre, Porto
Alegre, SBC, 2002. p.102-105.
IEEE. IEEE learning technology standards committee (ltsc). Disponível em:
http://ltsc.ieee.org. Acesso em: abril 2003.
Miranda, R. M. “Monitoração de Usuários Informada: Conceituação e Estudo
Preliminar para sua Implantação no Ambiente ENSINET”, Porto Alegre,
PPGC/UFRGS, 2003.
Miranda, R. M and Costa, A. C. R. (2003) “GROA: Um Sistema de Gerência de
Repositórios de Objetos de Aprendizagem”, In: X Semana Acadêmica,
PPGC/UFRGS,
2003,
Porto
Alegre.
Disponível
em:
http://www.inf.ufrgs.br/pos/ppgc/semanaacademica/artigos2003/1291.pdf.
Acesso
em: julho 2003.
Moro, M. M. “Modelo Temporal de Versões”, Porto Alegre, PPGC/UFRGS, 2001.
Nieves, I. V. and Costa, A. C. R. (2003) “Estudo e Adaptação de um Modelo de Objetos
Temporais
Versionados
para
o
Sistema
ENSINET”,
ESIN/UCPel,
http://gmc.ucpel.tche.br/ensinet, May.
Python Software Foundation (2003), http://www.python.org, May.
ZOPE-Corporation (2003) ZOPE Community, http://www.zope.org, May.
Download

A Etapa Atual do Desenvolvimento do Sistema ENSINET