PASSOS, J. O. D. Design interativo de ferramenta de manipulação de objetos de aprendizagem de...
-
Upload
ciencias-cognitivas-e-tecnologia-educacional -
Category
Documents
-
view
780 -
download
1
description
Transcript of PASSOS, J. O. D. Design interativo de ferramenta de manipulação de objetos de aprendizagem de...
UNIVERSIDADE FEDERAL DE PERNAMBUCO – UFPE
CENTRO DE INFORMÁTICA – CIN
MESTRADO EM CIÊNCIA DA COMPUTAÇÃO
DESIGN INTERATIVO DE FERRAMENTA DE MANIPULAÇÃO DE OBJETOS DE
APRENDIZAGEM DE AMBIENTES VIRTUAIS DE ENSINO À DISTÂNCIA
JOCÉLIO DE OLIVEIRA DANTAS PASSOS
RECIFE-PE
2006
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
JOCÉLIO DE OLIVEIRA DANTAS PASSOS
DESIGN INTERATIVO DE FERRAMENTA DE MANIPULAÇÃO DE OBJETOS DE
APRENDIZAGEM DE AMBIENTES VIRTUAIS DE ENSINO À DISTÂNCIA
Dissertação apresentada à Universidade Federal
de Pernambuco – UFPE, Centro de Informática,
para a pós-graduação em Ciência da Computação.
Orientador: Prof. Dr. Alex Sandro Gomes
RECIFE-PE
2006
RESUMO
Esta pesquisa visa à concepção de ferramentas virtuais que permitam a manipulação de
objetos de aprendizagem. Para tanto, buscou-se entender as práticas de gestão de conteúdo em
ambientes de cursos de ensino à distância, obtendo-se requisitos. Os metadados educativos
(modelo SCORM) foram estudados para entender os objetos de aprendizagem. Análises
funcionais de ambientes competidores para ensino à distância foram levadas em consideração.
Desenvolveu-se uma metodologia centrada no usuário: observou-se usuários desempenhando
suas tarefas, elaboraram-se cenários, realizou-se prototipagem e testou-se a aceitação dos
protótipos pelos usuários. O ambiente proposto nessa pesquisa faz parte de um projeto mais
abrangente intitulado Projeto Amadeus_MM1, cujo objetivo é desenvolver um ambiente
virtual para o ensino baseado em uma proposta pedagógica centrada em processos de
mediação e avaliação, coordenado pelos professores Fernando Fonseca e Alex Sandro Gomes
(Cin/UFPE).
Palavras-chave: E-Learning, SCORM, CSCW, CSCL, Objetos de Aprendizagem, Ambientes
Virtuais de Ensino.
1 Processo CNPq no. Xxxx.xxxx/2005-xx.
ABSTRACT
This research aims the conception of vitual tools which allow the manipulation of learning
objects. Therefore, it was fetched to understand the practices of the content management in
aside courses environments, getting requisites. The educatives metadatas (SCORM model)
were studied to understand the learning objects. Functional analysis of competitive
environments to aside learning were took into consideration. It was developed a methodology
centred in the user: It was seeing users performing their tasks, it was made scenes, performed
prototyping and tested the accenptance of the prototypes by the users. The proposed
enviroment in this research takes part of a larger project called Amadeus MM Project, whose
objective is to develop a virtual enviroment to the learning based on a pedagogic purposal
centred in mediation and evaluation processes, coordinated by the Professors Fernando
Fonseca and Alex Sandro Gomes (Cin/UFPE).
Key words: E-Learning, SCORM, CSCW, CSCL, Learning Objects, Teaching Virtual
Environments.
À minha família em especial, minha amada esposa Isabel e meus amados filhos, Ana Isabel,
Ana Virgínia e Jônatas, que tiveram muita paciência e compreensão em todas as horas dessa
jornada e nunca deixaram de acreditar em mim. Aos meus pais e irmãs, família na qual nasci e
que me ajudou a chegar à fase adulta suprindo minha vida com todos os recursos necessários.
À minha segunda família, ou seja, meus irmãos na fé que oraram por mim para que esse
trabalho acontecesse. Ao colega Jorge Cavalcanti, companheiro com quem compartilhei as
atividades de mestrado nos últimos meses.
AGRADECIMENTOS
Agradeço a Deus, em primeiro lugar, por ser meu orientador em todos os aspectos da minha
vida a quem eu devo tudo que sou. Esse criador maravilhoso, que sempre guiou meus passos
em todos os degraus da minha vida pessoal e profissional, e para esse trabalho específico
enviou uma pessoa especial para me orientar, que me acostumei a chamar carinhosamente de
Alex. Muito obrigado professor, pela sua paciência e por ter também acreditado na conclusão
dessa pesquisa. Humildemente, espero também ter contribuído de alguma forma.
SUMÁRIO
1 INTRODUÇÃO................................................................................................................................................1
2 MOTIVAÇÃO................................................................................................................................................3
3 AMBIENTES DE ENSINO À DISTÂNCIA................................................................................................53.1 AMBIENTES VIRTUAIS DE ENSINO..................................................................................................5
3.2 SISTEMAS DE GESTÃO DE CONTEÚDO...........................................................................................6
3.2.1 Características Básicas de um LMS.......................................................................................................7
4 METADADOS EDUCATIVOS: SHARABLE CONTENT OBJECT REFERENCE MODEL (SCORM)94.1 O QUE É SCORM?....................................................................................................................................9
4.2 OBJETOS DE APRENDIZAGEM...................................................................................................................11
4.3 ORIENTAÇÃO À OBJETO..........................................................................................................................13
4.4 HISTÓRIA DO SCORM............................................................................................................................14
4.5 ARQUITETURA DO SCORM 2004...........................................................................................................15
4.6 CLASSES SCORM...................................................................................................................................20
5 PROBLEMA.................................................................................................................................................25
6 ANÁLISE DE COMPETIDORES DE LMS DISPONÍVEIS...................................................................266.1 CRITÉRIOS PARA ANÁLISE COMPETITIVA DE LMS.................................................................................27
6.2 MOODLE (MODULAR OBJECT-ORIENTED DYNAMIC LEARNING ENVIRONMENT)..................................27
6.3 OPEN LMS..............................................................................................................................................30
6.4 OUTROS AMBIENTES...............................................................................................................................31
6.5 RESULTADOS DA ANÁLISE DE COMPETIDORES.......................................................................................32
6.5.1 Requisitos Gerais abordados nessa pesquisa.......................................................................................32
7 METODOLOGIA DE DESIGN INTERATIVO CENTRADA NO USUÁRIO.....................................347.1 OBJETIVOS...............................................................................................................................................35
7.1.1 Geral.....................................................................................................................................................35
7.1.2 Específicos............................................................................................................................................35
7.2 OBSERVAÇÃO DOS USUÁRIOS..................................................................................................................36
7.2.1 Procedimentos......................................................................................................................................36
7.3 CENÁRIOS................................................................................................................................................40
7.4 PROTOTIPAGEM DE BAIXA FIDELIDADE...................................................................................................42
7.5 ANÁLISE DAS TAREFAS E TESTE DE USABILIDADE DOS PROTÓTIPOS......................................................44
8 RESULTADOS.............................................................................................................................................478.1 RESULTADOS DA OBSERVAÇÃO PARTE 1................................................................................................47
8.1.1 Requisitos de Observação e de Material..............................................................................................47
8.2 CENÁRIOS PARTE 1.................................................................................................................................53
8.2.1 Gestão de Conteúdo – Situação Atual..................................................................................................53
8.3 PROTOTIPAGEM DE BAIXA FIDELIDADE...................................................................................................55
8.3.1 Protótipo de Baixa Fidelidade 1 – Geração de dúvidas......................................................................56
8.3.2 Protótipo de baixa fidelidade 2 – Geração de dúvida.........................................................................57
8.3.3 Protótipo de Baixa Fidelidade 3 – Geração de dúvidas......................................................................61
8.3.4 Protótipo de Baixa Fidelidade 4 – Reuso de objetos de aprendizagem...............................................69
8.4 RESULTADOS DA OBSERVAÇÃO PARTE 2................................................................................................79
8.5 CASOS DE USO........................................................................................................................................80
8.6 DIAGRAMAS DE ATIVIDADE....................................................................................................................81
8.7 CENÁRIOS PARTE 2.................................................................................................................................83
8.7.1 Gestão de Conteúdo– Situação Futura................................................................................................83
8.8 ANÁLISE DAS TAREFAS E TESTE DE USABILIDADE DOS PROTÓTIPOS......................................................84
8.8.1 Análise da Tarefa 1 (Protótipo 3)........................................................................................................85
8.8.2 Análise da Tarefa 2 (Protótipo 4)........................................................................................................87
8.9 RESULTADOS OBTIDOS............................................................................................................................88
9 CONCLUSÃO...............................................................................................................................................89
10 TRABALHOS FUTUROS.........................................................................................................................91
11 REFERÊNCIAS.........................................................................................................................................94
ANEXOS........................................................................................................................................................102ANEXO I - CONTEÚDO DO ARQUIVO IMSMANIFEST.XML.............................................................................102
ANEXO II - ARQUIVO VIEWCOURSES.JSP PERTENCENTE A API DO SCORM.............................................107
ANEXO III - SCRIPT DO BANCO DE DADOS SCORM..................................................................................111
ANEXO IV - SCRIPT DE ALTERAÇÃO DO BANCO DE DADOS SCORM.......................................................113
Anexo V – Código Fonte do protótipo funcional 2....................................................................................114
LISTA DE FIGURAS
Figura 1. Componentes LEGO..............................................................................................13
Figura 2. Visão da ADL: compartilhar objetos de aprendizagem.....................................15
Figura 3. Estrutura Básica de um pacote SCORM.............................................................17
Figura 4. API viewCourses.jsp em execução..........................................................................18
Figura 5. Árvore de Atividades do Ambiente SCORM.......................................................19
Figura 6. Opções de objetos do tipo asset.............................................................................23
Figura 7. SCO é um conjunto de asset´s...............................................................................23
Figura 8. Moodle: Registro de um curso SCORM no ambiente.........................................28
Figura 9. Moddle: Tela principal do Curso modelo SCORM............................................29
Figura 10. Moodle: Execução de uma lição do curso SCORM...........................................29
Figura 11. Open LMS: Tela principal...................................................................................30
Figura 12. Open LMS: Course Builder.................................................................................31
Figura 13. Open LMS: Execução de curso modelo SCORM...............................................31
Figura 14. Etapas principais da metodologia.......................................................................36
Figura 15. – Uso do Reload para criação do curso modelo SCORM..................................38
Figura 16. Protótipo de baixa fidelidade 1: Registrando Dúvida.......................................56
Figura 17. Protótipo de baixa fidelidade 1: Dúvida Enviada..............................................56
Figura 18. Protótipo Funcional: Registrar Dúvida..............................................................60
Figura 19. Protótipo Funcional: Enviando Dúvida.............................................................60
Figura 20. Tela Principal do Amadeus. Escolhendo um Curso..........................................61
Figura 21. Curso carregado segundo a estrutura de gestão de conteúdo..........................62
Figura 22. Aluno registrando uma dúvida em um item de um curso................................64
Figura 23. Professor respondendo uma dúvida de um item de um curso.........................66
Figura 24. Aluno tomando ciência da resposta do professor para um item de um curso.
...........................................................................................................................................68
Figura 25. Gestão de Conteúdo [RAM 2005].......................................................................70
Figura 26. Escolhendo a opção Construir um Curso...........................................................71
Figura 27. Professor criando um novo curso........................................................................71
Figura 28. Acesso ao Repositório de Cursos.........................................................................72
Figura 29. Repositório de Cursos..........................................................................................73
Figura 30. Criando um Novo curso: Adicionando objetos do Repositório........................74
Figura 31. Conteúdo do novo curso criado obtido de “Course-1”.....................................76
Figura 32. Conteúdo do novo curso criado obtido de “Course-3”............................................76
Figura 33. Criando um Novo curso: Removendo objetos de um curso.............................77
Figura 34. Conteúdo do novo curso após remoção de item......................................................78
LISTA DE TABELAS
Tabela 1. Conteúdo da Tabela TBCourseInfo.....................................................................21
Tabela 2. Conteúdo da Tabela TBItemInfo..........................................................................22
Tabela 3. Conteúdo da Tabela TBUserInfo..........................................................................24
Tabela 4. Conteúdo da Tabela TBUserCourseInfo.............................................................24
Tabela 5 - Características dos usuários que participaram dos testes................................39
Tabela 6. Sugestões para tratamento de Requisitos de Material (REQM).......................51
Tabela 7. Registro de percurso na Tabela TBPercurso.......................................................63
Tabela 8. Registro da Dúvida na Tabela TBDuvida............................................................65
Tabela 9. Registro da resposta da dúvida.............................................................................67
Tabela 10. Registro da ciência do aluno à resposta da dúvida...........................................69
Tabela 11. Novo curso criado na Tabela TBCourseInfo.....................................................72
Tabela 12. Itens do novo curso criado: Tabela TBItemInfo...............................................75
Tabela 13. Excluindo itens do novo curso criado: Tabela TBItemInfo.............................78
LISTA DE DIAGRAMAS
Diagrama 1. Classe do modelo SCORM...............................................................................21
Diagrama 2. Alterações no Diagrama de Classe do modelo SCORM................................58
Diagrama 3. Caso de Uso 1 – Professor criando curso com reuso de objetos de
aprendizagem..................................................................................................................81
Diagrama 4. Caso de Uso 2 – Aluno realizando curso com suporte ao registro de dúvida em
objetos de aprendizagem...................................................................................................81
Diagrama 5. Diagrama de Atividade 1 – Professor criando curso com reuso de objetos
de aprendizagem.............................................................................................................82
Diagrama 6. Diagrama de Atividade 2 – Aluno realizando curso com suporte a registro de
dúvida em objetos de aprendizagem.................................................................................82
Diagrama 7. Tarefa Realizar um Curso...............................................................................85
Diagrama 8. Tarefa Registrar Dúvida..................................................................................86
Diagrama 9. Tarefa Responder Dúvida................................................................................86
Diagrama 10. Tarefa Ciência da Dúvida..............................................................................87
Diagrama 11. Tarefa Criar Novo Curso...............................................................................88
1 INTRODUÇÃO
O ser humano, ao longo de sua história, sempre buscou avançar em seu conhecimento,
aprendendo de forma isolada, mas, principalmente, compartilhando seus saberes. Durante a
civilização grega, para citar apenas um exemplo, houve a formação de um “importante centro
cultural... para o alto aprendizado...” onde “... foram muitos e significativos os avanços na
medicina, astronomia, matemática geografia e ciência” [PAR 1995].
Muito conhecimento foi construído no decorrer desse processo histórico. Como o
conhecimento é volátil, muitas vezes é armazenado na mente das pessoas [AN3 2005], outras
formas de armazenar esses conteúdos têm sido buscadas. Durante muito tempo o papel foi
utilizado para isso. Contudo, o difícil acesso às informações contidas em papel, bem como os
incômodos em atualizá-lo [FAL 2004] provocou a necessidade de buscar outras formas de
armazenamento.
Hoje, com os avanços tecnológicos das mídias, o armazenamento deixou de ser o grande
problema. Passou-se a focar, então, outro aspecto: o conteúdo armazenado precisa ser
organizado de tal forma que permita ser facilmente encontrado, compartilhado, repensado e
novamente disponibilizado. Essa é uma das formas através das quais se desenvolve o processo
de aprendizagem. Por isso, há tanta preocupação em disponibilizar conhecimento visto que é a
capacidade de utilizar informação para resolver um determinado conjunto de problemas [AN3
2005]. O grande detalhe é que se pode transferir o conhecimento sem perdê-lo, configurando-
se uma característica muito importante na sua gestão.
A necessidade de se recuperar informações dispersas de forma eficiente também foi
comentada por Falbo et al. [FAL 2005]:
... o excesso de recursos de informação, associado à falta de semântica para guiar uma busca por recursos realmente relevantes para o contexto em mãos. Assim como a falta de informação constitui um problema grave, o excesso de recursos de informação também o é, já que, em última instância, pode não ser possível coletar em tempo hábil a informação necessária para apoiar à tomada de decisão durante a resolução de problemas. Este fato pode ser claramente percebido na Web, onde, muitas vezes, achar informação relevante pode ser uma tarefa árdua e complexa, e está relacionado, sobretudo, à falta de semântica associada aos recursos de informação.
1
Com o advento da Internet e o surgimento posterior de ambientes virtuais [EBE 2005], o
ensino à distância tornou-se um caminho para unir conhecimentos remotamente dispersos,
com uma estratégia, ou semântica, tal que permita maximizar o processo de aprendizagem.
Para viabilizar o ensino à distância, diversos softwares de gestão de conteúdo surgiram. Esses
Sistemas de Gestão de Conteúdo/Aprendizagem ou Learning Management System (LMS), são
softwares, geralmente baseados em tecnologia Web, criados para planejar, implementar e
avaliar um processo de aprendizagem específico à distância [WHA 2004]. Basicamente, um
LMS provê meios para criar e disponibilizar conteúdo, monitorar a participação do estudante
e avaliar sua performance. Esse pode também prover, ao estudante, condições para usar
recursos interativos tais como sala de discussão e vídeo conferência. LMS são considerados
hoje como “agente revolucionário da formação” [AN5 2005].
Além do aspecto acadêmico, segundo Natali et al. [NAT 2005], a gestão de conteúdo tem sido
vista também por outro ângulo:
... a gerência do conhecimento vem sendo reconhecida como uma fonte de vantagem competitiva para organizações de desenvolvimento de software. A gerência de conhecimento apresenta-se como uma forma de apoiar os desenvolvedores, de modo que esses realizem suas atividades melhor e mais rapidamente, aproveitando experiências anteriores para auxiliar à tomada de decisão.
Essa dissertação, por meio de um processo de Design Interativo baseado em cenários e
prototipagem de ambientes de gestão de conteúdo para ambientes de ensino à distância, busca
entender como o conteúdo deve ser organizado nesses ambientes.
Esse estudo está organizado da seguinte maneira: a importância da gestão de conteúdo
(capítulo 2), conceitos e as características dos ambientes de ensino à distância (capítulo 3),
metadados educativos e o conceito de objetos de aprendizagem, bem como a analise de um
dos modelos criados para implementar esse conceito, o SCORM, descrevendo seu propósito,
arquitetura e funcionamento (capítulo 4), realização da análise de competidores sob a ótica da
gestão de conteúdo e com base no modelo SCORM (capítulo 5), definição do problema a ser
resolvido (capítulo 6), explicação da metodologia para resolução do problema (capítulo 7),
resultados obtidos após a aplicação da metodologia (capítulo 8), conclusão (capítulo 9) e
trabalhos futuros (capítulo 10).
2
2 MOTIVAÇÃO
Muitas instituições públicas e privadas têm se interessado em disponibilizar informações na
Internet por meio de ambientes de ensino à distância. Um grande erro pode ser cometido no
processo de implantação desse tipo de solução: implantar programas grandes e caros e,
depois, economizar na hora de desenvolver e organizar conteúdo [BRI 2004]. Acredita-se que
o aplicativo que gerencia o conteúdo tem muito mais importância que a flexibilidade de
manusear o conteúdo propriamente dito (ibidem). Pode-se erroneamente pensar assim, por se
viver num mundo onde é dada tanta importância ao investimento em tecnologia. Por outro
lado, sem um programa que viabilize a organização do conteúdo não se alcançará nenhum
sucesso.
Essa área é conhecida como gerenciamento de conhecimento (ou Knowledge Management),
que possibilita à instituição ter uma infra-estrutura com recursos para criar, compartilhar e
gerenciar o conhecimento (ou conteúdos) [ROS 2002]. Em tal ambiente, pode haver mais
contribuição ou compartilhamento de conhecimento. Novos conteúdos podem ser criados a
partir de conteúdos já existentes, aumentando o banco de conhecimento.
Segundo Rosenberg [ROS 2002], a questão não é mais se o ensino à distância será
implementado ou não por diversas instituições. Essa é uma tendência atual e natural. A
questão é se tal forma de ensino será bem implantada, ou seja, se haverá uma gestão do
conhecimento ou de conteúdo. Preocupadas com a questão apresentada, várias instituições
criaram seus padrões de gestão de conteúdo [HEN 2002] [SUA 2005], como seguem:
Institute of Eletrical and Electronic Engineers (IEEE) Learning Technology Standards Committee (LTSC);
Advanced Distributed Learning (ADL) Initiative - Sharable Content Object Reference Model (SCORM)
Instructional Management System (IMS) Global Learning Consortium;
Dublin Core Metadata Initiative;
Aviation Industry Computer Based Training Committee (AICC);
Aviation Industry Computer Based Training and Distribution Network for Europe (ARI-ADNE);
3
CETIS – Centrefor Education Tecnology Interoperability Standards.
Porém, como aconteceu com outras tecnologias e metalinguagens de representação de
informação (SQL2, UML3), passou-se a trabalhar no desenvolvimento de um padrão único, que
possibilitasse uma comunicação real entre as instituições que produzem seus conhecimentos.
O mais popular desses modelos é o SCORM (Sharable Content Object Reference Model). Tal
modelo será estudado nessa pesquisa porque tem sido classificado como bastante conhecido e
adotado [SUA 2005] [SMI 2005].
Esse modelo:
1. Nos ajudará a entender o que existe em termos de ferramentas de gestão de conteúdo
de ambientes de ensino à distância
2. Será um pré-requisito para a análise de competidores
3. Servirá de base para implementação dos protótipos.
Muito interessante notar que, em seu trabalho “Uma Abordagem Centrada No Usuário para
Ferramentas de Suporte a Atividades Docentes em Ambientes de Educação à Distância”,
Gomes [GOM 2004] cita como um dos itens de trabalhos futuros: “O uso do conceito de
objetos de aprendizagem (Learning Management Systems - LMS) e do modelo SCORM para a
padronização e especificação de ferramentas para ambientes virtuais”.
Antes de analisar como funciona a gestão de conteúdo, segue-se uma apresentação de
ambientes virtuais de ensino, discutindo suas principais características.
2 SQL - Structured Query Language (Linguagem de Consulta Estruturada)3 UML - Unified Modeling Language (Linguagem de Modelagem Unificada)
4
3 AMBIENTES DE ENSINO À DISTÂNCIA
3.1 AMBIENTES VIRTUAIS DE ENSINO
Nas primeiras formas de uso da Internet em contextos educacionais, os alunos eram
encorajados a acessá-la em busca de informações (conhecimento estático) com o objetivo
apenas de ampliar os limites da educação, que se resumiam a conhecimento dos professores e
atividades em sala de aula [EBE 2005].
Surgiu a seguinte necessidade: alunos desejavam interagir com outros alunos e professores de
forma fácil, contribuindo também com aprendizado de outros, além de construir virtualmente
o seu próprio conhecimento. A partir dessas necessidades surgiram os ambientes virtuais de
ensino à distância (e-learning) que, rapidamente, tornaram-se muito populares [SUA 2005].
Tal categoria de ambiente dispõe de um conjunto de funcionalidades projetadas para
armazenar, distribuir e gerenciar conteúdos de aprendizado, de forma progressiva e interativa,
podendo também registrar e relatar atividades do aprendiz, bem como seu desempenho [SCO
2004].
Os referidos ambientes são conhecidos também como Computer Supported Collaborative
Learning (CSCL - aprendizagem colaborativa assistida por computador). Sua estratégia
educativa visa dar condições para que dois ou mais sujeitos, interagindo, construam o seu
conhecimento através da discussão, da reflexão e tomada de decisões, e onde os recursos
informáticos atuam como mediadores do processo de ensino-aprendizagem [APR 2004]. Tais
recursos abrangem: mecanismos para envio de mensagens, bate-papo, recepção e envio de
materiais e gerenciadores de tarefas [EBE 2005]. Eles possibilitam a execução de diversas
atividades de aprendizagem à distância, por parte do aluno, de acordo com tarefas
predefinidas. A grande vantagem é a compartilhamento do conhecimento entre os
participantes do ambiente, possibilitando a criação de novos conhecimentos [ELE 2005].
CSCL é um dos ramos da pesquisa de Computer Suported Collaborative Work (CSCW –
trabalho colaborativo assistido por computador). Tanto CSCW, quanto CSCL, baseiam-se em
sistemas computacionais que suportam e facilitam os processos e as dinâmicas de grupo
remotamente localizados. Esses sistemas possibilitam acesso e transferência de informação e 5
documentos, atividades de resolução de problemas e formas diferenciadas de avaliação. A
investigação atual, nesse domínio, abrange não somente as técnicas de construção dessa
categoria de aplicação (groupware), mas também os aspectos sociais, psicológicos,
organizacionais e de aprendizagem humana que ocorrem mediados por esses ambientes [APR
2004].
Gralla [GRA 1996] define groupware como softwares que funcionam em Intra ou Internet e
permitem que pessoas remotamente localizadas compartilhem informações, colaborem em
projetos ou participem de videoconferências, proporcionando uma base ideal para criação,
melhoria e captação do conhecimento [FAL 2004].
A finalidade principal desse tipo de aplicação é a aprendizagem, especificamente
colaborativa, e como pode ser suportada pelo computador. Esse ajuda os alunos a comunicar e
a participar de atividades comuns, fornecendo também um prestimoso auxílio nos processos
de coordenação e organização de atividades. Esse leque de funções mediadoras amplia as
possibilidades de uso do computador como meio através do qual os indivíduos e os grupos
podem contribuir uns com os outros, à distância, para atingirem objetivos comuns [APR
2004].
É primordial que tais ambientes ofereçam, aos seus usuários, meios rápidos e eficazes para
encontrar informações e desenvolver seu aprendizado [EBE 2005]. No próximo tópico
descreve-se como gerenciar o conteúdo dos citados ambientes de forma eficaz.
3.2 SISTEMAS DE GESTÃO DE CONTEÚDO
Os Sistemas de Gestão de Conteúdo ou Learning Management System (LMS) disponibilizam
uma série de recursos, síncronos e assíncronos, que viabilizam o processo de aprendizagem,
permitindo seu planejamento, implementação e avaliação. Basicamente, o LMS provê meios
para criar e disponibilizar conteúdo, monitorar a participação do estudante e avaliar, também,
sua performance [AN1 2005].
A aprendizagem via LMS tem trazido vantagens como [AN5 2005]:
Redução de custos;
Disponibilidade a qualquer hora e local;
6
Rápida distribuição e alteração dos conteúdos;
Possibilidade de o aprendiz fazer seu próprio percurso;
Disponibilização de recursos interativos tais como e-mail, fórum, sala de discussão,
vídeo conferência para sistematizar as intervenções.
3.2.1 Características Básicas de um LMS
Existem, atualmente, inúmeros sistemas de gestão de conteúdo, quase todos de origem
americana, mas há algumas características básicas. Destacaram-se quatro para esse estudo
[AN1 2005] [AN2 2005] [RAM 2005]: (1) controle das atividades, (2) compatibilidade
com as especificações existentes, (3) interatividade e (4) gestão de conteúdo. Essas
características são explicadas a seguir.
1 - O controle das atividades tem como objetivo registrar e monitorar todas as
atividades e acessos dos alunos. Essas atividades, assíncronas ou síncronas, devem
ficar disponíveis para que relatórios de progresso de cada aluno possam ser obtidos.
Essas informações, de acordo com os critérios pedagógicos e de gestão do sistema,
podem ou não ser disponibilizadas para o aluno [AN1 2005].
2 - A compatibilidade com as especificações existentes é fundamental na
transferência de conteúdos entre plataformas. Se os conteúdos forem compatíveis com
as especificações atualmente existentes (Ver lista de instituições no capítulo 2
MOTIVAÇÃO), garante-se um intercâmbio de conteúdos com qualquer LMS
compatível com essas especificações [AN2 2005].
3 - A interatividade é a base do processo de aprendizagem [AN4 2005] [RAM 2005].
Conteúdos não podem ser simples textos, em HTML, por exemplo, resumindo a
interação ao processo de passar por páginas ou selecionar um capítulo no índice. O
ambiente precisa dar condições ao aprendiz para que ele possa perguntar e receber
resposta, comentar e receber feedback dos seus comentários.
4 - A gestão de conteúdo é um recurso que permite aos instrutores criarem cursos,
organizando as informações de maneira que o aluno encontre facilmente o que precisa
[AN2 2005].
7
As demais características, não menos importantes, mas que não serão abordadas nesse estudo,
são [AN1 2005] [ROS 2002] [RAM 2005]: avaliação de pré-requisitos, cadastro de
participantes, catálogo de cursos, sistema de avaliação, sistema colaborativo de aprendizagem,
centro de recursos de conhecimento (biblioteca virtual), controle de horários, equilíbrio entre
a aparência gráfica e o conteúdo e adequação às necessidades do aprendiz (customização).
Antes de aprofundar o aspecto da interatividade e a gestão de conteúdo será analisado o
modelo SCORM no próximo capítulo. O estudo desse modelo está em conformidade com a
segunda característica básica de um LMS levantada acima, compatibilidade com
especificações existentes. Isso é fundamental para um LMS que pretende compartilhar
conteúdos. Compatibilidade com o modelo SCORM é o principal requisito para escolha dos
LMS’s que farão parte da análise de competidores.
8
4 METADADOS EDUCATIVOS: SHARABLE CONTENT OBJECT
REFERENCE MODEL (SCORM)
4.1 O que é SCORM?
O Sharable Content Object Reference Model (SCORM) é uma coleção de especificações
adaptadas de múltiplas fontes ou organizações (conforme o tópico 4.4 História do SCORM).
O objetivo é prover um (1) framework compreensível contendo recursos para e-learning
(aprendizagem eletrônica) que permitam (2) interoperabilidade, (3) usabilidade e (4)
reusabilidade de conteúdo baseado na Web [ADL 2004]. Segundo Heng [HEN 2002],
realmente há um grande crescimento na criação e distribuição de cursos reusáveis e
modificáveis, independente da ferramenta utilizada para criá-los.
O investimento para desenvolver, converter ou adaptar conteúdos para aprendizado é alto
[SUA 2005] e estima-se que pode ser reduzido de 50 a 80% com o uso de um conteúdo (5)
acessível, interoperável, (6) durável e reusável [SCO 2004]. Rosenberg [ROS 2002] confirma
isso quando diz: “Ao criar bibliotecas de objetos, produtos diferentes podem utilizar o mesmo
material, reduzindo, portanto, a redundância e os custos” (p. 162).
As características e conceitos desse modelo citados acima são explicados a seguir.
1 – Framework, segundo Peters et al. [PET 2001], é um sistema conceitual modificável, para
propósitos gerais, que ajuda a estreitar à distância entre uma resolução de alto nível para um
problema e a sua implementação de software. Quem utiliza esse sistema para gestão de
conteúdo não precisa se preocupar em como a aprendizagem eletrônica será armazenada ou
processada, mas pode concentrar os esforços no conteúdo que será oferecido, como melhor
apresentá-lo e como mantê-lo atualizado.
2 - Interoperabilidade (Ibidem) é alcançada quando se consegue acoplar um sistema a
sistemas de software de outras origens, compartilhando dados e, nesse caso, conteúdo.
Segundo Heng [HEN 2002] esse conteúdo de múltiplas origens deve funcionar de forma
satisfatória em diferentes sistemas de aprendizado.
9
3 - Usabilidade, segundo Peters (Ibidem), é o esforço necessário para aprender, operar,
realizar entradas de dados e interpretar saídas. Acessar conteúdos e aprender precisa ser uma
tarefa fácil.
4 - Reusabilidade é a possibilidade de os módulos de um sistema poderem ser usados em
outras aplicações ou em diferentes contextos [PET 2001] [HEN 2002]. Nesse estudo, pode-se
substituir a palavra módulo por conteúdo de aprendizagem.
5 – Ser acessível significa que o componente precisa está disponível para reuso ou
importação. Pode está localizado em um ambiente remoto e que facilmente possa ser
distribuído para diferentes localizações [SCO 2004]. A palavra componente pode ser
substituída por conteúdo.
6 – Ser durável significa ter a possibilidade de acompanhar a tecnologia de informática,
permitindo mudanças, sem custos de re-projeto, reconfiguração ou recodificação [SCO 2004].
Um conteúdo, no tocante a tecnologia, não perde sua validade. Mesmo que seu interior não
seja atualizado, há uma garantia que sempre poderá ser acessado.
Tal modelo descreve: "como se fazer" e "como se executar" cursos baseados na Web. Assim,
ao se construir um LMS em conformidade com o modelo SCORM, é permitido aos usuários
acesso, simplificado e padronizado, a cursos de alta qualidade desenvolvidos em todo o
mundo seguindo esse conceito [PWA 2005], sem a necessidade de maiores readaptações
técnicas [EIR 2003].
Com o SCORM é possível então construir um LMS capaz de procurar, importar, compartilhar,
reusar e exportar conteúdos de aprendizado de modo padronizado [RHA 2004]. Segundo
Heng [HEN 2002] muitas instituições têm desnecessariamente reescrito conteúdos para
aprendizagem. O ideal, no processo de construir novos cursos, seria obter conteúdos de outras
instituições e reuni-los aos criados na própria instituição. Para isso, o conteúdo deve ser,
então, fragmentado em pequenas partes conhecidas como objetos de aprendizagem. Esses são
vistos atualmente como uma das soluções para resolver problemas de compartilhamento de
conteúdo [ROS 2002].
10
Criar rotinas para produzir esses conteúdos, de forma articulada e usando amplamente
guidelines4, são atualmente estados da arte em e-learning [SCO 2004].
4.2 Objetos de aprendizagem
Como o SCORM visa à usabilidade e reusabilidade de conteúdo, esse modelo foi estruturado
com base em objetos de aprendizagem ou de conhecimento (Ver detalhes no tópico ).
Um objeto de aprendizagem é um fragmento inteligível de conteúdo capaz de ser
recombinado, usado e reusado, para formar um conteúdo mais abrangente: um curso [HEN
2002]. Esse curso, por sua vez, pode ser parte de um conteúdo mais abrangente ainda e assim
sucessivamente. Objetos de aprendizagem são conhecidos também como “instructional
objetcts” [SCO 2004].
Esse conceito é considerado um dos avanços mais promissores na criação de soluções para e-
learning [ROS 2002]. Um objeto, então, é o menor “bloco” de informação independente e
com significado para quem aprende. Essa unidade de componente de aprendizado, uma vez
criada e disponibilizada, pode ser reorganizada, aproveitada e alterada facilmente por uma
ampla gama de ferramentas de desenvolvimento, sem a dependência de um fornecedor ou
técnica específica [ERI 2003].
Tal “bloco” (ou componente) pode ser um objeto texto, uma mídia (vídeo, áudio), gráficos,
animações, avaliações. Rosenberg [ROS 2002] exemplifica isso da seguinte forma:
Uma maneira fácil de pensar nos objetos de aprendizado / conhecimento é
imaginar uma página que você desenvolverá em seu site da Web. Você acessa
as informações dos bancos de dados e os arquivos de documentos e cola o
conteúdo no site. Para enfatizar o que significa, você vai a um arquivo de clip
art, corta um gráfico que salienta seu ponto de vista e cola também. Talvez
você também acesse uma planilha que foi preenchida por um colega e cole-a
no documento. Você pode adicionar um arquivo de áudio ou de vídeo ou links
para outros sites da Web. No final, você construiu alguma coisa nova com
objetos de conteúdo já existente de um ou mais repositórios. Ao mesmo
tempo, outras pessoas podem estar utilizando os mesmos objetos para outros
4 Segundo Shneiderman [SHN 1998] guidelines são diretivas (ou diretrizes) desenvolvidas por muitas organizações que ajudam a promover consistência e padronização entre múltiplos projetos de uma mesma categoria de aplicação.
11
objetivos (dentro das leis autorais). Parece muito com o gerenciamento do
conhecimento! (p. 163).
Outro fator importante a ser avaliado é a granularidade do conteúdo [HEN 2002]. É a
preocupação que se deve ter quanto ao tamanho de cada objeto de conhecimento, ou seja, qual
deve ser o tamanho do menor “bloco” ou “grão”. Uma das abordagens é quanto menor
melhor, visto que usuários geralmente precisam “garimpar” grande quantidade de informação
para poder obter o que desejam (ibidem). Objetos de aprendizagem maiores são de difícil
reuso, enquanto os menores não. Heng também afirma: “A Pedagogia sugere que o ideal para
uma lição é um tempo entre cinco e vinte minutos. Ao usar objetos de aprendizado de menor
tamanho possível, a personalização do material torna-se mais fácil” (p. 3). Isso é muito bom
para o aprendizado (ibidem).
Uma das aplicações desse conceito de objeto de aprendizagem (ou aprendizado) aconteceu na
Integrated Project System (IPS) [IPS 2005]. Rosenberg [ROS 2002] relata o exemplo dessa
empresa que atua na área de treinamento de gerenciamento de projetos. Ao implantar cursos
na Web, dividiu os seus conteúdos em objetos de aprendizagem reutilizáveis, utilizando-os
para vários objetivos.
Os objetos podiam ser reunidos em cursos de treinamento on-line, mas também podiam ser
utilizados para criar componentes de gerenciamento de conhecimento ou ferramentas de
suporte ao desempenho. E, ao vincular o sistema a um modelo de competências, os aprendizes
conseguiam receber apenas o conteúdo de que precisavam e no formato adequado para eles.
Dessa maneira, a propriedade intelectual da IPS podia ser utilizada para vários objetivos e
ainda oferecer o grau de personalização que os alunos desejavam. A flexibilidade da
tecnologia de objetos de aprendizado, ou seja, sua habilidade em selecionar, reunir e fornecer
conteúdo relevante nos termos definidos pelos usuários, resultou em uma a adição
significativa ao modelo de negócios atual da IPS. (p. 163).
Para Heng [HEN 2002], os objetos de aprendizagem muito se assemelham à usabilidade,
reusabilidade e interoperabilidade dos blocos LEGO (Figura 1) [LEG 2005].
12
Figura 1. Componentes LEGO.
Com esses blocos LEGO pode-se construir vários tipos de formas e figuras. Uma caixa
contendo muitos desses blocos com uma grande variedade de formas, tamanhos e cores, e o
uso da imaginação, permite uma gama de construções diferentes. O conceito LEGO é muito
diferente do conceito puzzle (quebra-cabeça) [PUZ 2005], no qual cada peça encaixa apenas
em um único lugar e o trabalho completo forma sempre a mesma figura. Objetos de
aprendizagem são o LEGO do aprendizado eletrônico [HENG 2002]. Pode-se, então, chamar
esse modelo de aprendizagem orientada a objeto.
4.3 Orientação à Objeto
Os objetos de aprendizagem, em linhas gerais, têm suas raízes no conceito da Análise e
Programação Orientação a Objeto. Uma classe é um tipo de dado definido pelo usuário, ou
seja, pelo programador ou analista [SEB 2000]. Um objeto é uma instância, ou ocorrência, da
classe [DEI 2001].
Esse conceito de classes foi introduzido com a linguagem SIMULA [SIM 2005] em 1967 e
Smalltalk [SMT 2005] em 1980 [GHE 1998]. Duas linguagens de programação bastante
difundidas que atualmente carregam a bandeira da orientação a objeto são C++ [GCC 2005],
criada em 1980, e Java [JAV 2005] criada em 1990 [SEB 2000].
Vantagens da Orientação a Objeto relativas ao conceito de objetos de aprendizagem [SEB
2000]:
Permite abstração, ou seja, representar entidades do mundo real. Um objeto de
aprendizagem é uma abstração do conhecimento que se deseja disponibilizar.
É um recurso contra a complexidade. Um meio de tornar programas grandes e/ou
complicados mais manejáveis. Um conhecimento vasto dividido em objetos menores é
mais fácil de ser manipulado.
13
Permite maior produtividade porque permite reutilização de código. Esse recurso é
disponibilizado com o conceito de herança.
Novos tipos são criados a partir de tipos já existentes, herdando suas funcionalidades, e, se
necessário, modificando-as [GHE 1998]. Softwares são então construídos a partir de
componentes amplamente disponíveis, portáveis, bem-documentados, cuidadosamente
testados e bem definidos. Essa capacidade de reutilização acelera o desenvolvimento,
possibilitando softwares poderosos, com alta qualidade e a um tempo e custo menores [DEI
2001]. Da mesma forma que objetos podem ser moldados para que se ajustem a um novo
problema, objetos de aprendizagem, como já foi visto, podem ser recombinados, usados e
reusados, para formar conteúdos mais abrangentes. Além dessas vantagens, pode-se prevenir
a repetição de falhas [FAL 2004].
Há outros recursos da orientação a objeto que ainda não foram incorporados ao conceito de
objetos de aprendizagem. São eles [SEB 2000] [DEI 2001]:
Encapsulamento - permite a ocultação de recursos da classe;
Polimorfismo e vinculação dinâmica - permitem que recursos com mesmo nome
desempenhem funcionalidades distintas, dependendo de modo como são invocados.
Permite, portanto, extensibilidade e acesso genérico a recursos.
Classes Abstratas - permitem que classes sejam apenas herdadas e não possam ser
diretamente utilizadas no programa. Servem apenas de classe base para outras classes.
4.4 História do SCORM
Já em 1999 observavam-se vários padrões e especificações emergentes para conteúdos de
aprendizagem, utilizados por diversas organizações [ADL 2004]. A falta de uniformidade
surgiu como uma conseqüência natural, dificultando o compartilhamento de conteúdos [SUA
2005].
Em busca de um modelo comum, o Department of Defense (DoD) [DOD 2004] reuniu-se
com outras instituições federais e o setor privado com objetivo de desenvolver especificações
comuns e padrões para o aprendizado baseado em tecnologia de informática. Assim surgiu o
Sharable Content Object Reference Model - SCORM, um modelo de referência baseado em
objetos com conteúdo compartilhável. A essa reunião estratégica das instituições, envolvendo
14
também o meio acadêmico, deu-se o nome de DoD´s Advanced Distributed Learning (ADL),
órgão que visa à Avançada Distribuição de Conhecimento [ADL 2004] de forma global e
interoperável.
O resultado desse trabalho gerou padronização e guidelines para a produção e distribuição de
conhecimento baseado em Web [ADL 2004], conforme a Figura 2.
Figura 2. Visão da ADL: compartilhar objetos de aprendizagem.
Em janeiro de 2000, ADL lançou o release SCORM versão 1.0 e em 2001 foi lançado o
SCORM versão 1.1 [ADL 2004]. SCORM 2004 lançado em janeiro de 2004 e introduziu um
recurso chamado Sequencing and Navigation (SN). O SN acompanha a seqüência de
navegação do aprendiz (ibidem).
4.5 Arquitetura do SCORM 2004
O SCORM tem como objetivo principal viabilizar a criação de conteúdo de aprendizagem
reusável como “objetos institucionais de aprendizagem” dentro de um framework comum
[ADL 2004].
Os elementos básicos do SCORM são: Content Aggregation Model (CAM - Modelo de
Conteúdo Agregado), Run-Time Environment (RTE - Ambiente de Tempo de Execução) e o
Sequencing and Navigation (SN – Navegação e Seqüência), esse último introduzido na versão
2004 (ibidem).
15
O CAM é um conjunto de três especificações descritas a seguir: LOM, XML "binding e
IMS Content Packaging Specification.
A primeira é especificação chamada LOM (Learning Object Metadata), ou Metadados para
Objetos de Aprendizagem é um dicionário de tag5 que é usado para descrever o conteúdo de
aprendizado [RHA 2004] e representá-lo [SCO 2004]. O metadata (metadados), segundo
Heng [HEN 2002] descreve o objeto de aprendizagem, especificando a sintaxe e a semântica
dos atributos mínimos requeridos, bem como o proprietário do objeto, critérios de
distribuição.
Além do metadados, o CAM também contém uma segunda especificação chamada XML
"binding" utilizado para as tags do metadados. Define como codificar as tags para que
possam ser lidas pelo computador [RHA 2004].
A terceira especificação presente no CAM é o IMS Content Packaging Specification. Tal
especificação para conteúdo do pacote define como empacotar ou reunir o conjunto de objetos
de aprendizagem, seu metadados e a informação sobre como o conteúdo foi montado para ser
distribuído, ou seja, compartilhado entre sistemas de aprendizado [RHA 2004]. Essa
especificação é que possibilita a interoperabilidade [SCO 2004]. O conteúdo desse pacote
pode ser um curso, um módulo do curso ou uma lição do módulo [SCO 2004].
O pacote (Content Package) é um arquivo “zipado” [WZP 2005] contendo: (1) todos os
arquivos necessários para o aprendizado (Physical Files) e (2) um XML manifest (Manifest
File). Esse último é um arquivo em formato XML [XML 2005] que define todo o conteúdo de
aprendizado (objetos de aprendizagem) presente no pacote e a relação entre esses
componentes [RUS 2004] [SUA 2005]. Quando o pacote é importado para o ambiente
SCORM, as informações desse arquivo são utilizadas para preencher as tabelas TBCourseInfo
e TBItemInfo, que serão detalhadas no tópico a seguir. O LMS utiliza essas informações para
apresentar o conteúdo. No Anexo I encontra-se o conteúdo de um arquivo XML manifest
chamado imsmanifest.xml criado com um Editor de curso para o padrão SCORM durante a
execução da metodologia. A Figura 3 apresenta a estrutura básica do pacote SCORM.
5 Tag é um termo genérico para a definição de um elemento de linguagem [WHA 2004].16
Figura 3. Estrutura Básica de um pacote SCORM.
O RTE provê a comunicação entre o conteúdo de aprendizado e o gerenciador, o LMS [SCO
2004]. Através dos recursos disponibilizados por esta Application Programming Interface
(API - Interface de Aplicação de Programação)6, desenvolvida em Java Server Pages (JSP)
[JSP 2004], o aprendiz pode ter acesso ao conteúdo do LMS [RHA 2004]. No Anexo II está o
conteúdo do arquivo viewCourses.jsp, que permite ao aprendiz acessar um curso disponível
(previamente importado e registrado) no ambiente. Arquivos como esse ficam armazenados
no caminho adl\admin, adl\import e adl\runtime quando o ambiente é instalado. A Figura 4
mostra, em execução, a opção da API para escolha de um curso.
6 API são métodos predefinidos pelo sistema operacional do computador ou por uma aplicação. Os programadores podem escrever mais facilmente aplicações fazendo apenas requisições ao sistema operacional ou a uma aplicação por meio desses métodos [WHA 2004].
17
Figura 4. API viewCourses.jsp em execução.
O SN armazena um conjunto de regras de seqüência e gerencia o processo de navegação do
aprendiz. A partir dessas regras, é formada uma Árvore de Atividades (Activity Tree),
mostrada na Figura 5, que proporciona a interação do aprendiz com o LMS [SCO 2004].
18
Figura 5. Árvore de Atividades do Ambiente SCORM.
Por manter as regras e a navegação separadas do conteúdo dos objetos, o conteúdo pode ser
reusado de novas e diferentes formas, suportando muitas estratégias diferentes de instrução
[ADL 2004].
19
Árvore de
Atividades
4.6 Classes SCORM
Para realização da pesquisa o modelo SCORM 20047 foi “baixado” e instalado8. Dois cursos
foram importados para o modelo, identificados como “Course-1” e “Course-2”.
Além da literatura encontrada, apresentada no tópico anterior, necessitou-se de um maior
aprofundamento desse modelo. Isso se deu através do processo de reengenharia de software.
A reengenharia de software é executada com o objetivo de obter uma melhor compreensão de
um sistema existente, obtendo uma representação em um nível de abstração maior do que o
código-fonte [PRE 1995]. Possibilita a reconstrução ou reimplementação do sistema sob um
novo formato. Parte-se, então, de um sistema existente, analisando-o de forma a identificar
seus componentes e suas inter-relações, recuperando informações e estruturas úteis como
modelo de dados, requisitos funcionais e algoritmos [PET 2001].
A aplicação da reengenharia possibilitou entender do funcionamento do modelo SCORM,
chegando-se a descrição do modelo de dados, representado pelo diagrama de classe
(Diagrama 1), exibido no padrão UML [UML 2005]. O diagrama apresenta as classes
SCORM e os relacionamentos entre elas. A compreensão desses elementos básicos presentes
no diagrama, a saber, classes e atributos, é por demais relevante para essa pesquisa, porque
possibilita entender como são armazenados os objetos de aprendizagem.
7 Modelo SCORM encontra-se em http://www.adlnet.org/index.cfm?fuseaction=SCORDown, opção CTS1_3STSetup.exe.
8 Instalado em http://200.164.233.156:8080/adl/runtime/LMSMain.htm20
Diagrama 1. Classe do modelo SCORM.
Cada uma dessas classes está descrita a seguir.
A Classe TBCourseInfo (Tabela 1) armazena um curso disponível, dando-lhe uma
identificação (CourseID, “Course-1”), um título (CourseTitle, “Java e JDBC”), um status
indicando se o curso está ativo no momento (Active, True) e data de importação
(ImportDataTime,“25/08/2005 10:37:26”).
Tabela 1. Conteúdo da Tabela TBCourseInfo.
CourseID CourseTitle Active ImportDateTimeCourse-1 Photoshop Example -- Constrained True 24/08/2005 10:37:26Course-2 Java e JDBC True 25/08/2005 10:37:26
A Classe TBItemInfo (Tabela 2) armazena os itens de cada curso, ou seja, o conteúdo lógico
de cada curso. Um curso pode ter vários desses registros. O primeiro atributo identifica o
curso ao qual o item pertence (CourseID, “Course-1”), (OrganizationIndentifier, “ORG-
21
1
0..*
0..*
1TBCourseInfo
CourseIDCourseTitleActiveImportDataTime
TBItemInfo
CourseIDOrganizationIndentifierItemIdentifierResourceIdentifierLaunchTypeTitle
TBUserCourseInfoTBUserInfo
UserIDLastNameFirstNameAdmin PasswordActive
0..*
1UserIDCourseID
24B80B92-ABBA-9455-8E50-5C380A3486ED”), o item (ItemIdentifier, “ITEM-744027D8-
447F-B340-10AA-BAFB9FFED4D2”), o recurso para aquele item (ResourceIdentifier,
“RES-1441794D-BC4F-19FF-B2DA-7A18F02D42BF”), onde está localizado o recurso
físico (Launch, “/adl/CourseImports/Course-1/index.html”), o tipo do item (Type, “asset” ou
“sco”), o título a ser exibido no ambiente (Title, “Conectividade de Banco de Dados Java”).
Os valores para o preenchimento dos atributos OrganizationIndentifier, ItemIdentifier,
ResourceIdentifier, Launch, Type e Title são provenientes do arquivo XML manifest.
Tabela 2. Conteúdo da Tabela TBItemInfo.
CourseID OrganizationIdentifierCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486EDCourse-2 ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED
ItemIdentifierITEM-744027D8-447F-B340-10AA-BAFB9FFED4D2ITEM-FEB88C31-9D6F-70BE-30B7-537C33282A75ITEM-30109A37-82C0-3601-F535-CD013BA9FB82ITEM-E2EC19DB-4A5D-BFA4-3ED5-78853AE8B41CITEM-63F09F7A-7A1B-F778-FF3F-B3851ABAC5DCITEM-17B800B8-A8A0-A760-E95D-9AA6D704667BITEM-5E9581A3-0CAB-4C59-C1F4-8F98178FB219ITEM-BFD08E2C-AD11-66ED-C00F-CEFB75163BEFResourceIdentifier
RES-1441794D-BC4F-19FF-B2DA-7A18F02D42BFRES-22E8F1BB-BC0C-DB76-A635-52A9BFBD82CF
RES-599B2809-29DB-05F9-4FF1-C6B13208A8B1RES-9379D7FA-86E9-C9F7-9BAE-C9E86815DEF9RES-E3E64C21-5879-7C88-BB0A-12827C7AC10BRES-815B354E-E43E-3A9C-CABE-00DE0F409990RES-0B56ABF3-1D82-52D4-5854-B11717C440EF
RES-A51BF8C4-0D0A-069F-64DE-950F5BACD067Launch Type Title
/adl/CourseImports/Course-2/index.html asset Conectividade de Banco de Dados Java/adl/CourseImports/Course-2/oquejdbc.html asset 1. O que e JDBC?/adl/CourseImports/Course-2/estudode.html asset 2. Estudo de Caso/adl/CourseImports/Course-2/registra.html asset 3. Registrando o Banco de Dados/adl/CourseImports/Course-2/consulta.html asset 4. Consultando Dados/adl/CourseImports/Course-2/atualiza.html asset 5. Lendo, Inserindo e Atualizando dados/adl/CourseImports/Course-2/dicionario.html asset Dicionario/adl/CourseImports/Course-2/bibliogr.html asset Bibliografia
22
O atributo Type contém duas entradas possíveis: o Sharable Content Objects (SCOs – Objetos
de Conteúdo Compartilhável) e Assets. Um Asset pode ser um link para um conteúdo físico:
texto, imagem, som, página Web, como na Figura 6. O SCO é um conjunto de um ou mais
Assets (Figura 7) e representa uma unidade lógica de aprendizado ou módulo [RUS 2004].
Figura 6. Opções de objetos do tipo asset.
Figura 7. SCO é um conjunto de asset´s.
A classe TBUserInfo () armazena os usuários do ambiente, sua identificação (UserID,
“admin”), o sobrenome (LastName, “admin”), o primeiro nome (FirstName, “John”), se tem
status de administrador (Admin, True), a senha (Password, “admin”) e se é um usuário ativo
(Active, True).
23
Tabela 3. Conteúdo da Tabela TBUserInfo.
UserID LastName FirstName Admin Password Activeadmin Admin Joe True Admin True
A classe TBUserCourseInfo (Tabela 4) armazena os cursos que estão registrados para um
usuário específico identificando o usuário do curso (UserID, “admin”) e o curso registrado
para esse usuário (CourseID, “Course-1”). Um usuário pode registrar vários cursos e um
curso pode ser registrado por vários usuários.
Tabela 4. Conteúdo da Tabela TBUserCourseInfo.
UserID CourseIDadmin Course-1admin Course-2
No Anexo III encontra-se o script completo obtido da base de dados SCORM.
24
5 PROBLEMA
Como a tarefa de gestão de conteúdos é complexa, o problema abordado nesse presente
trabalho é o identificar e validar as necessidades dos usuários professores e alunos quanto à
manipulação de componentes de aprendizagem e de suas partes em ambientes virtuais de
ensino. Deseja-se saber o que implementar para atender essas necessidades de forma simples
e completa e como isso pode ser feito. A pergunta central é a de saber: quais e como atender
as necessidades de um sistema de manipulação de componentes de aprendizagem? Que
tarefas são realizadas pelos professores? E pelos alunos?
A análise de competidores, no próximo capítulo, auxiliará na identificação de ambientes
virtuais de ensino que possuam gestão eficaz de conteúdo, bem como requisitos para o
ambiente a ser proposto nesse estudo.
25
6 ANÁLISE DE COMPETIDORES DE LMS DISPONÍVEIS
Além da literatura sobre ambientes de gestão de conteúdo, a quantidade de ambientes do tipo
LMS nos permite realizar uma análise desses como forma de identificar seus pontos fortes e
fracos. Esse procedimento é conhecido como Análise de Competidores. Segundo Michael
Porter [POR 1991], em seu livro Estratégia Competitiva, os objetivos de uma Análise de
Competidores, são descrever:
O que o competidor está fazendo;
A estrutura/tecnologia do competidor;
As estratégias de competição;
A posição/situação do competidor no mercado;
Os pontos fortes e fracos do competidor;
Em relação ao objeto em questão a analise de competidores:
Ajuda a destacar características que o distinguem dos competidores;
Fornecer metodologia para auto-análise;
Mário Figueira [AN2 2005] comenta que:
Existem atualmente perto de uma centena de fornecedores de sistemas de gestão da formação online, quase todos de origem americana... a lista de LMS é enorme. É urgente a realização em Portugal de um estudo independente que compare as vantagens e inconvenientes de cada um dos LMS disponíveis no mercado português indicando quais são os mais adequados e para que fins.
26
6.1 Critérios para Análise Competitiva de LMS
Essa análise está baseado no tópico 3.2.1 Características Básicas de um LMS, que norteou os
critérios para a escolha dos ambientes (há uma grande quantidade desses), bem como as
características que foram observadas nesses competidores.
Os critérios para escolha desses ambientes virtuais de ensino foram:
Ser de acesso livre, ou seja, possuir um cadastro gratuito para se fazer um curso;
Suporte ao modelo SCORM, ou seja, permitir importação e registro de conteúdo do
curso nesse padrão.
A análise desses ambientes surge como fonte geradora de requisitos. Outros requisitos
também foram obtidos através da observação do uso (apresentada em 7.2 Observação dos
usuários, página 47). As características observadas em cada competidor foram:
Permite reutilização de parte do curso registrado;
Registra o caminho que o aluno fez (navegação) ao realizar o curso;
Permite que o aluno registre notas (observações) pessoais, ao realizar o curso, próximo
a um ponto (módulo, lição, seção e/ou parágrafo);
Permite que o aluno tire dúvidas com o professor clicando exatamente no ponto que
gerou a dúvida;
Os pontos fortes e fracos estão listados após a análise de cada ambiente competidor.
Os ambientes analisados foram: Moodle e Open LMS
6.2 Moodle (Modular Object-Oriented Dynamic Learning Environment)
O Moodle é sistema Gerenciador de Cursos (Course Management System – CMS) [MOO
2005]. Esse ambiente auxilia educadores a criar cursos online, e é baseado na pedagogia
social construtivista. A licença desse ambiente é open source9 desenvolvido em PHP [PHP
2005]. Apresentando-se em diversas línguas, inclusive em português, o Moodle é utilizado em 9 Um software é geralmente classificado como open source quando o seu código fonte fica disponível para uso e modificação. Geralmente são programas desenvolvidos com colaboração pública [WHA 2004].
27
várias partes do mundo, em diversas universidades, escolas, empresas e, também,
individualmente por professores.
O Moodle analisado foi instado10 num ambiente Linux com banco de dados MySQL [MYS
2005]. O Moddle suporta o modelo SCORM. Com o uso da opção Escolher ou atualizar um
pacote SCORM, o Moodle (Figura 8) importou o pacote do curso Java e JDBC criado
(scormjdbc.zip).
Figura 8. Moodle: Registro de um curso SCORM no ambiente.
As Figura 9 e 10 trazem a tela do Moodle executando o curso no formato SCORM.
Figura 9. Moddle: Tela principal do Curso modelo SCORM.
10 Instalado em http://www.facape.br/moodle.28
Figura 10. Moodle: Execução de uma lição do curso SCORM.
Pontos Fortes:
Registro e Importação fácil de um curso modelo SCORM pelo professor;
Navegação fácil de um curso modelo SCORM por parte do Aluno;
Fácil Alteração de um pacote de curso modelo SCORM pelo professor;
Pontos Fracos:
Não permite que partes do curso sejam reaproveitadas por outro curso;
Não há opção para o aluno deixar anotações pessoais próximo a um ponto específico;
Não há opção para o aluno enviar dúvidas para o professor a partir de um ponto
específico do curso;
Ambiente também não registra o caminho que o aluno deixou ao fazer o curso
SCORM.
6.3 Open LMS
O Open LMS [OLM 2005] é um ambiente criado utilizando as tecnologias: Servlet, JSP,
JavaBeans [JVB 2005] e Jakarta Struts Application Framework [STR 2005], com banco de
dados MySQL.
29
Dentre as opções disponíveis na tela principal (Figura 11), destaca-se a opção Instrutor Tools
porque contem o item Course Builder (Figura 12). Essa ferramenta é responsável pela criação
e manutenção de cursos para tal ambiente.
Figura 11. Open LMS: Tela principal.
Figura 12. Open LMS: Course Builder.
A Figura 13 apresenta o ambiente executando um curso modelo SCORM.
30
Figura 13. Open LMS: Execução de curso modelo SCORM.
6.4 Outros Ambientes
Outros ambientes também se enquadram em algumas características citadas acima. Também
declaram ser apenas compatíveis com o modelo SCORM. Essa afirmação se encontra no
repositório Sourceforge [FOR 2005] ou na página oficial de cada ambiente. São eles:
Avatal Learn Station [ALV 2005];
a-LMS Learning Management System [ALM 2005];
DoceboLMS [DLM 2005];
ILIAS open source [ILI 2005];
Lotus Learning Management System [LOT 2005].
Sumatra System 3 [SS3 2005];
6.5 Resultados da Análise de Competidores
Analisou-se aqui ambientes – amostra representativa internacional - com relação à gestão de
conteúdo. Diante da complexidade das tarefas relacionadas à gestão e reutilização de 31
conteúdos detectou-se ausência de ambientes que tratem o problema de gestão ao nível de
uma manipulação fina de componentes de aprendizagem e de suas partes. Eles apenas se
limitam a importar pacotes SCORM e executar os cursos nesse padrão. Não há opção nesses
ambientes para reaproveitamento de cursos ou partes deles, usando ou não objetos de
aprendizagem. Não há também interação utilizando esses objetos, como registro e resposta de
dúvidas em um determinado item do curso. Isso também foi notado por Ramalho quando
menciona que o LMS fornece pouca ou nenhuma política de produção de conteúdos [RAM
2005].
6.5.1 Requisitos Gerais abordados nessa pesquisa
A partir do resultado da análise de competidores e informações apresentadas nos capítulos
anteriores, propõe-se um ambiente de gestão de conteúdo, baseado no conceito de objetos de
aprendizagem, atendendo aos seguintes requisitos gerais:
[REQG01] Permitir reutilização, no mesmo ambiente, de um objeto de aprendizagem
SCORM. Em conformidade com a quarta característica básica de um LMS,
gestão de conteúdo, levantada no tópico 3.2 SISTEMAS DE GESTÃO DE
CONTEÚDO.
[REQG02] Permitir rastrear os caminhos percorridos pelo usuário aprendiz ao manusear os
materiais de um componente, mantendo um registro da partes dos objetos de
aprendizagem que foram utilizados para isso. Em conformidade com a primeira
característica básica de um LMS, o controle das atividades.
[REQG03] Oferecer ao aluno aprendiz uma interface que lhe permita registrar uma dúvida
em determinado objeto de aprendizagem (tópico), endereçando essa dúvida para o
professor. Essa interface deve permitir também que o aluno tome ciência da
resposta da dúvida. Em conformidade com a terceira característica básica de um
LMS, a interatividade. Isso viabiliza o registro de dúvidas por parte do aprendiz e
respostas por parte do instrutor/professor, possibilitando um maior envolvimento
do aprendiz.
32
[REQG04] Oferecer indicações visuais (símbolos) para que um aluno, em caso de dúvida em
um determinado objeto de aprendizagem, sinalize para um professor (ou tutor) de
forma que esse reconheça essa dúvida e possa respondê-la.
33
7 METODOLOGIA DE DESIGN INTERATIVO CENTRADA NO
USUÁRIO
Este tópico aborda quais os objetivos gerais e específicos da proposta e que meios foram
utilizados para atingi-los.
Os meios adotados visam proporcionar a criação de um ambiente útil para o usuário. Todo o
projeto é centrado no usuário e isso requer a fundamentação teórica, não muito comum ao
escopo da Ciência da Computação, como conhecimento de ciências humanas [LEI 2001].
Pressman [PRE 1995] em sua obra Engenharia de Software evidencia isso:
A insatisfação do cliente com o sistema ‘concluído’ ocorre muito freqüentemente. Os projetos de desenvolvimento de software normalmente são levados a efeito apenas com um vago indício das exigências do cliente. A comunicação entre o cliente e o desenvolvedor de software freqüentemente é muito fraca. (p. 23).
Embora afirmando que o sistema é para o usuário, os desenvolvedores descobrem, somente
quando o tudo está “pronto”, que o produto não resolve os problemas do usuário. Por outro
lado, o usuário também precisa participar do projeto. Às vezes, imaginam que uma declaração
geral dos objetivos é suficiente para que se comece o desenvolvimento do produto,
informando os detalhes mais tarde [PRE 1995]. E realmente se torna tarde quando se percebe
que usuários e desenvolvedores não falavam do mesmo produto.
Esses são problemas conceituais (ou essenciais), ou seja, ocorrem no momento da concepção
do software, enquanto se está levantando especificações/requisitos [PET 2001], ficando a
essência do software comprometida.
Essa metodologia provê uma “cuidadosa comunicação entre o cliente e o desenvolvedor”
[PRE 1995], provendo um refinamento iterativo dos requisitos [PET 2001], levando em
consideração as habilidades dos usuários e o contexto onde eles estão envolvidos [LEI 2001].
34
7.1 Objetivos
7.1.1 Geral
Entender as necessidades dos usuários (professores e alunos), quando utilizam ambientes
virtuais de ensino. Essas necessidades estão relacionadas com atividades de gestão e
manipulação de conteúdo organizado em forma de componentes de aprendizagem.
7.1.2 Específicos
Modelar a prática de professores e alunos quanto à criação, gestão, reutilização e
manipulação de componentes de aprendizagem em um ambiente virtual de ensino.
Realizar uma prototipagem rápida, por meio da construção de cenários baseados na
revisão da literatura e na análise de competidores, para propor soluções que facilitem
essa tarefa.
Criar protótipos iniciais, de baixa fidelidade, do ambiente visando validar sua interface
e funcionalidade junto ao usuário.
Realizar testes de usabilidade com usuários de versões iniciais dos protótipos do
sistema de gestão de conteúdo para ambientes de EaD.
Construir novos cenários envolvendo os protótipos a partir dos resultados de testes de
usabilidade.
Adotou-se uma metodologia de design interativo, segundo a qual os problemas e necessidades
dos usuários foram resolvidos por aproximações sucessivas em ciclos de design, envolvendo
etapas de análise da prática dos usuários, prototipagem e testes de usabilidade. A Figura 14
apresenta as etapas principais dessa metodologia, descritas a seguir.
35
Figura 14. Etapas principais da metodologia.
7.2 Observação dos usuários
A produção de artefatos úteis para usuários requer que os projetistas obtenham e entendam os
requisitos dos usuários [MIL 1999]. Esses requisitos são os recursos de um produto, o fluxo
de informações, comportamentos e atributos [PET 2001].
A observação é uma pesquisa feita na área de trabalho, analisando situações com o objetivo
de compreender o contexto da atividade do usuário, descrevendo ambiente e interações [MIL
1999], estudando-se pessoas na realização de tarefas no seu cotidiano [BAR 1999]. O
resultado dessa pesquisa ajudará o projetista a levantar os requisitos do usuário [MIL 1999]
para o objeto em questão, propondo melhorias e mudanças efetivas, passando a entender o
usuário, seu ambiente e como interage com ele.
Tal atividade consistiu em analisar usuários utilizando um curso no formato ADL_ SCORM,
observando seus comportamentos ao aprender à distância, suas dificuldades, acertos e
decisões tomadas no decorrer do processo.
7.2.1 Procedimentos
Para levantar os requisitos e testar se esses foram ou não atendidos, a observação de usuários
se deu em dois momentos.
36
Observação
dos
Usuários
Construção
dos Cenários
Criação dos
protótipos
Testes de
Usabilidade
7.2.1.1 Observação Parte 1
Os usuários (alunos) foram observados utilizando o ambiente SCORM, tal qual foi instalado.
Portanto, não há recursos de envio de dúvidas. Esses mesmo alunos foram observados em um
segundo momento, após a criação do protótipo contemplando a gestão de conteúdo com o
recurso para tirar dúvidas.
Procedimentos da Parte 1
Para alcançar essa etapa do processo foram seguidas as seguintes tarefas:
1. Criação e instalação de um curso no modelo SCORM;
2. Escolha dos alunos para participar da observação segundo alguns critérios descritos no tópico participantes;
3. Realização da observação dos usuários;
4. Transcrição das observações dos alunos, levantando requisitos a partir da análise das informações colhidas.
Criação e instalação de um curso no modelo SCORM
O curso com o título Conectividade de Banco de Dados Java (disponível no SCORM
instalado) consiste em instruir o usuário como acessar um banco de dados por meio da
linguagem Java. Contém apenas um módulo dividido em:
1. O que é JDBC?
2. Estudo de Caso;
3. Registrando o Banco de Dados;
4. Consultando Dados;
5. Lendo, Inserindo e atualizando Dados;
6. Dicionário;
7. Bibliografia.
O Curso foi criado com o Microsoft FrontPageExpress [FPE 2005]. Utilizou-se o editor de
cursos open source para o formato SCORM chamado Reload (Reusable eLearning Object
Authoring & Delivery) [REL 2005] [SUA 2005], Figura 15, para criar e empacotar de forma
37
fácil e produtiva os arquivos necessários para que o reconhecimento do curso pelo SCORM.
Dentre esses arquivos está o XML manifest (estudado no tópico 4.5 Arquitetura do SCORM
2004). O pacote criado possui o nome scormjdbc.zip.
Figura 15. – Uso do Reload para criação do curso modelo SCORM.
Os requisitos mínimos exigidos para o curso criado são:
Windows Básico;
Modelagem (UML);
Banco de Dados Relacional;
ODBC (Open Database Connectivity);
SQL (Structured Query Language);
POO (Programação Orientada a Objeto);
38
Java Básico.
Os recursos exigidos são:
Intel Pentium II/450 MHZ ou melhor, 256 MB RAM;
Windows: 9x, XP, 2000 ou 2003;
J2SDK;
Microsoft Access 97 ou 2000;
Participantes
Foram escolhidos três alunos do curso de Ciência da Computação da Faculdade de Ciências
Aplicadas e Sociais de Petrolina – FACAPE [FAC 2004]. Levou-se em consideração o
conhecimento dos alunos em: (1) Windows Básico, (2) modelagem de sistemas, (3) conceitos
de banco de dados, (4) acesso ao banco de dados via ODBC, (5) comandos SQL, (6)
Programação Orientada a Objeto e Java. Apenas alunos a partir do 5º período poderiam
atender à maioria dos requisitos. O resultado dessa seleção estão resumidos na Tabela 5.
Tabela 5 - Características dos usuários que participaram dos testes.
Identificação Período Windows
Básico
Modelagem Banco de
Dados
ODBC SQL POO e Java
Aluno A 5º Sim Sim Sim Não Não Sim
Aluno B 6º Sim Não Não Não Não Sim
Aluno C 10º Sim Sim Sim Não Sim Sim
Material
Todos os alunos, em momentos diferentes, utilizaram para realizar o estudo uma máquina
com o sistema operacional Windows XP, com acesso à Internet e já configurada com o:
J2SDK, Editor de Texto para Java e Microsoft Access. Todos foram colocados diante do
ambiente ADL SCORM já preparado para o estudo.
Transcrição
39
Os registros obtidos dos alunos estão intercalados no texto em formato itálico e foram
colhidos após o trabalho de observação. Esse resultado está com o título “Resultados da
Observação – Parte 1”.
Os requisitos levantados por meio da observação são identificados assim: REQO (REQuisito
de Observação) ou REQM (REQuisito de Material). Eles serão mais bem detalhados no item
Resultados da Observação.
7.2.1.2 Observação Parte 2
Os mesmos alunos, que tiveram seus relatos registrados na primeira etapa da observação,
foram novamente observados, utilizando um protótipo funcional com o recurso para tirar
dúvidas.
Procedimentos da Parte 2
Para alcançar a segunda etapa da observação foram seguidas as seguintes tarefas:
1. Instalação do protótipo funcionando com recurso para tirar dúvidas;
2. Desenvolvimento de tarefas de observação dos alunos;
3. Avaliar se os requisitos levantados na primeira etapa da observação dos alunos foram
contemplados.
7.3 Cenários
Cenários são textos ou narrativas sobre pessoas e suas atividades [CAR 2000], criadas com o
intuito de apresentar o conceito de novos produtos. Essa construção textual permite inseri-los
dentro de uma situação plausível mesmo que hipotética, identificar potenciais problemas,
antecipar necessidades e até propor soluções alternativas para os problemas levantados [BØD
2000].
Com a técnica de cenários, problemas de interação podem ser identificados antes mesmo do
início da implementação da solução, evitando que um artefato seja implantado com
debilidades que só serão detectadas quando o usuário estiver utilizando. Assim, consegue-se
provocar novas idéias ou avaliar os protótipos.
40
Existem vários tipos de cenários. Segundo Bødker [BØD 2000], cenários positivos e
negativos podem ser criados, contendo extremos do trabalho cotidiano do usuário.
Apresentando esses cenários aos usuários, podem refletir sobre sua prática e informar o que se
espera e o que não se espera da solução que está sendo construída [CAR 2000]. Cenários
podem ser utilizados, então, como veículos de comunicação entre membros da equipe de
desenvolvimento e usuários. Os elementos característicos de um cenário são [CAR 2000]:
O ambiente: descreve um estado inicial para o episódio a ser descrito, descrevendo tanto o
ambiente fisicamente, quanto às pessoas nele presentes.
Atores ou agentes: uma ou mais pessoas com algum objetivo específico, interagem com o
ambiente influenciando e sendo influenciados.
O roteiro: seqüência de ações e eventos, o que fazem os atores e que mudanças acontecem
no ambiente. No decorrer do roteiro, decisões são tomadas pelo ator e esse pode ou não
alcançar seus objetivos.
A partir das dificuldades identificadas por meio da revisão da literatura, análise de
competidores e observações dos usuários, foram elaborados cenários sobre a prática de alunos
e professores, utilizando ambientes contendo gestão de conteúdo. Buscou-se, nos cenários,
envolver e analisar os requisitos levantados.
Os cenários de Gestão de Conteúdo com Ambientes de Ensino à Distância foram construídos
em dois momentos.
7.3.1 Cenários Parte 1
Foram criados cenários de situação atual, ou seja, antes da criação dos protótipos, após a
observação dos usuários. Tais cenários, segundo Bødker [BØD 2000], descrevem situações
específicas do domínio que está sendo pesquisado, ou seja, como o usuário executa suas
tarefas num determinado momento. São muito úteis também na comunicação entre projetistas
(designers) e engenheiros de softwares porque auxiliam na criação de soluções, bem no
alcance de uma melhor usabilidade no artefato final. Cenários foram aqui utilizados como
uma etapa da implementação técnica (ou modelagem), apresentando ou situando um problema
[BØD 2000].
41
A construção de cenários, no primeiro momento, tem como objetivo, então, descrever
situações que poderão ser vividas pelos usuários (professor e aluno) de LMS cuja solução não
contemple os requisitos levantados para gestão de conteúdo (reutilização de objetos de
aprendizagem e recurso para tirar dúvidas). Os dois cenários são:
Cenário 1.1 - Criação de curso por parte do professor;
Cenário 1.2 - Realização de um curso por parte do aluno.
7.3.2 Cenários Parte 2
Foram criados cenários de situação futura, ou seja, após a prototipagem. Esses cenários,
segundo Bødker [BØD 2000], são utilizados para avaliação de protótipos, assegurando sua
devida qualidade [ROY 1995]. Contêm, em seus roteiros, situações nas quais o usuário lida
com o futuro artefato, representado por protótipos.
Os cenários construídos, nessa etapa, descrevem usuários realizando suas tarefas de
aprendizagem à distância utilizando um artefato que contemple os requisitos de gestão de
conteúdo levantados. Os dois cenários são:
Cenários 2.1 - Criação de curso por parte do professor;
Cenários 2.2 - Realização de um curso por parte do aluno.
7.4 Prototipagem de baixa fidelidade
Essa etapa da metodologia visa criar parte do protótipo de um ambiente virtual de ensino –
Amadeus_MM. O Projeto AMADeUs baseia-se no princípio de que a avaliação do
aprendizado multi-dimensional é importante para a construção de um melhor
desenvolvimento do estudante. Visa oferecer suporte para o aluno e também para o professor
num processo de aprendizagem, colocando, em contato, alunos com alunos e alunos com
professores, mediando esse processo. O ambiente baseia-se na idéia de fluxo de trabalho, que
permite visualizar e avaliar o que está sendo feito em diferentes estágios do projeto. A idéia é
prover ferramentas para avaliação de tarefas, monitoração de grupos, interação e avaliação do
processo de aprendizado.
42
A prototipagem permite que se crie componentes selecionados do sistema, sem todas as
funcionalidades desejadas, com o objetivo de avaliar, com os usuários finais, partes do
ambiente [PRE 1995]. Essa avaliação dar-se-á baseada nos requisitos já levantados, evitando,
assim, incorrer em problemas essenciais ou conceituais [PET 2001].
Prototipagem é prática comum de fabricação, design de produtos, engenharia e
desenvolvimento de software que tem se mostrado útil para economizar tempo, dinheiro, pois
evita o re-trabalho [ROS 2002]. Segundo Pressman [PRE 1995] softwares que usem de telas
dinâmicas e tenham forte interação com o ser humano são bons candidatos à prototipagem.
A cada avaliação do usuário final, o protótipo vai sendo aprimorado. Isso provê condições
para que o usuário possa tomar decisões quanto às suas exigências em tempo oportuno,
sugerindo alterações que atendam melhor às suas necessidades [PRE 1995]. O protótipo
revela, assim, a estrutura conceitual do produto, permitindo, ao desenvolvedor, testar a sua
consistência e aceitação com os usuários [PET 2001].
Ainda que a implementação de um protótipo não seja prática, computacionalmente falando,
pode-se criar protótipos em papel, que descrevam a interação humano-máquina, usando
storyboard. Storyboard´s representam telas do sistema (podendo conter textos narrativos),
descrevendo a interação entre a máquina e o usuário [PRE 1995]. O usuário, ao avaliar as
telas, conforme solicitado em roteiros pré-definidos, têm uma perspectiva do funcionamento
do software. São protótipos de baixa fidelidade [SNY 2003].
Protótipos foram gerados com base nos requisitos gerais (REQG). Em seguida foram
realizados testes de aceitação. Os usuários avaliaram os protótipos em papel, fazendo
observações. Os protótipos funcionais, implementados por meio de linguagem de
programação, foram utilizados pelos usuários que foram observados utilizando-os. Suas
observações foram úteis no tocante à funcionalidade e à usabilidade. A esse processo dá-se o
nome de design iterativo centrado no usuário.
Os protótipos 1, 2 e 3 cobrem os requisitos REQG02, REQG03 e REQG04. O protótipo 4
cobre o requisito REQG01.
Após a criação do protótipo 3, esse foi submetido à nova observação (parte 2) por parte dos
mesmos alunos escolhidos na observação parte 1.
43
Tanto o protótipo 3, quanto o protótipo 4 foram envolvidos na etapa Cenários parte 2, como já
descrita anteriormente.
7.5 Análise das tarefas e Teste de usabilidade dos protótipos
Segundo Leite [LEI 2001], a tecnologia deve ser empregada para aumentar, em vez de
substituir, as habilidades dos usuários. O objetivo da usabilidade é explorar ao máximo as
habilidades dos usuários, criando ambientes de trabalho mais eficazes e produtivos.
Além de minimizar o esforço dos usuários para utilizar o produto, a usabilidade busca,
principalmente, a qualidade da interação do ambiente com os usuários [LEI 2001]. A interface
do ambiente surge, então, como um aspecto crucial para se atingir sucesso com sistemas de
gerência de conhecimento.
Os menores problemas de usabilidade podem desmotivar os usuários, afetando o uso e o
sucesso do ambiente proposto [NAT 2005].
Segundo Leite [LEI 2001], o teste de usabilidade é a oportunidade para verificar se:
Facilmente o usuário aprende a utilizar os recursos do produto;
O produto exige tempo e esforços mínimos para se realizar uma tarefa (desempenho);
Há flexibilidade e o usuário tem a possibilidade de utilizar o sistema de forma
inteligente e criativa, realizando um maior número de tarefas com as mesmas funções
e comandos do sistema, ou realizando tarefas que não estavam previstas pelos
desenvolvedores;
Há produtividade, ou seja o usuário é mais produtivo do que seria se não utilizasse
o sistema.
Para realizar o teste de usabilidade foi utilizada a Análise de Tarefa.
A Análise da Tarefa é muito essencial para o design do sistema. Essa análise procura
identificar os objetivos do usuário, suas tarefas, que estratégias utiliza para alcançar esses
objetivos, como o usuário lida com emergências, que ferramentas utiliza, que problemas ele
encontra [NIE 1993] [IBM 2001].
44
Para uma implementação eficaz das ações disponíveis para o usuário, dentro do ambiente,
deve-se entender como o usuário realiza suas tarefas no seu universo real. Dessa forma, o
projetista pode então ter uma visão da aplicação sob a perspectiva do usuário, ou seja, um
modelo das tarefas do usuário executando a aplicação [LEI 1999]. Assim o projetista pode,
por exemplo, analisar a freqüência de uma tarefa e decidir por prover ao usuário um “wizard”
para que ele realize aquela tarefa de forma mais confortável [IBM 2001].
As tarefas macros, ou de alto nível, são decompostas em tarefas intermediárias até se chegar a
passos mínimos e individuais. As tarefas estão, portanto, hierarquicamente montadas de um
nível mais alto para um nível mais baixo [SHN 1998].
Após o estudo dessa decomposição, o projetista pode criar representações metafóricas para a
interface. O usuário precisa reconhecer nas opções disponíveis na interface, os passos que ele
mesmo daria ao realizar uma tarefa sem o uso da interface.
A definição da quantidade de passos que o usuário precisa executar para realizar uma
determinada tarefa deve ser feita de modo cuidadoso. O usuário pode ficar frustrado com uma
interface que exija dele uma grande quantidade de passos para realizar algo [SHN 1998].
Porém, uma quantidade de passos reduzida de forma inadequada pode comprometer a
utilidade da ferramenta. A escolha mais apropriada é uma tarefa difícil [SHN 1998], sendo
auxiliada pelo teste de usabilidade.
Para a análise da tarefa utilizou-se o Euterpe, que é uma ferramenta útil na implementação do
método de análise de tarefa, usado para modelar ambientes nos quais pessoas interagem com
o uso de sistemas [GTA 2004]. Essa ferramenta permite que se realize a análise de tarefa de
forma hierárquica.
Os elementos na análise da tarefa são [VEE 1998]:
1. Agentes – pessoas que se relacionam com a tarefa. Por exemplo: indivíduos, grupo de
indivíduos e componentes de softwares. Agentes não identificam indivíduos específicos,
mas classes de indivíduos com uma determinada característica. Exemplo: professor,
aluno;
2. Objetivo - o que o agente intenciona fazer ou alcançar. Por exemplo: Enviar uma dúvida;
45
3. Tarefa – seqüência de etapas ou passos que o agente precisa realizar para alcançar um
objetivo. Essas tarefas podem ser fracionadas em sub-tarefas, e essas, por sua vez, em sub-
tarefas e assim por diante;
4. Ação - o último passo a ser realizado na seqüência de tarefas e sub-tarefas. Por exemplo:
mover, mudar, desligar, clicar;
5. Objeto – Algo relevante no que está sendo analisado como: mensagens, senhas, labels
(rótulos), representações gráficas, botões etc. Objetos são manipulados no nível da ação,
ou seja, é onde seu estado é alterado;
6. Ambiente – situação do meio, no qual estará descrito como se encontrava antes e como se
encontra depois da execução da tarefa por parte do agente. Exemplo: alterações gráficas
em objetos.
Foi realizada a análise da tarefa dos protótipos 3 e 4.
46
8 RESULTADOS
Após a execução da metodologia, descreve-se os resultados obtidos em cada etapa.
8.1 Resultados da Observação Parte 1
Os alunos selecionados foram observados e alguns requisitos de ambiente foram levantados
com esse procedimento. O requisito abordado nesse estudo recebeu a identificação REQO
(REQuisito de Observação). Os requisitos, REQM (REQuisito de Material), não serão
tratados nesse estudo, serão referenciados na Tabela 6 na qual breves soluções são propostas.
8.1.1 Requisitos de Observação e de Material
1. [REQM01] Presença de Conceitos básicos (ou dicionário). Alguns usuários preferem
absorver os conceitos necessários para desenvolver o curso antes de realizá-lo, como o
Aluno A que “Clicou no hipertexto UML que o levou ao Dicionário. Verificou o que
havia escrito sobre o tópico e clicou no hiperlink UML que o levou à página oficial da
UML...”. O mesmo usuário requisitou que o dicionário precisa ser bem “detalhado para
ajudar ao aluno”. O Aluno C declarou que precisa “ter uma boa divulgação da presença
do dicionário”.
2. [REQM02] Opção que permita Visão Geral. Alguns usuários preferem ter um overview
de todo o curso para terem idéia de tudo que aprenderão, a exemplo do Aluno A que
analisou, rapidamente, a página inicial. Ao ser questionado do porquê declarou: “Fiquei
curioso por não conhecer o tema”. O Aluno B sempre olhava de forma geral cada tópico
antes de iniciá-lo.
3. [REQM03] Disponibilização de material de curso completa e em partes. Enquanto
alguns usuários preferem ir “baixando” o material à medida que fazem o curso, outros
preferem baixar todo o material de uma única vez. O Aluno A declarou: “Seria muito
melhor uma opção para baixar todo o material. Pouparia muito tempo. Mas a opção de
baixar partes do material deve ser mantida”. O material a ser “baixado” também precisa
vir pronto para o aluno utilizar. Assim declarou o Aluno A: “O banco de dados já criado e
os programas fontes já digitados e prontos só para baixar também ajudaram bastante”.
47
Mas há também usuários, como o Aluno B, que declararam: “Na realidade, prefiro eu
mesmo digitar à medida que vou fazendo o curso. Aprendo mais assim”. O Aluno B
resolveu baixar todo o material, mesmo com vários cliques, e executar tudo previamente e
declarou: “Resolvo fazer assim para ter a certeza de que vou investir tempo em algo que
vai de fato funcionar. Não gosto de perder tempo estudando algo que não funciona
depois. Era melhor até que houvesse uma forma de baixar só os executáveis (os .class
nesse caso). Por que aí nem preciso compilar fontes, só executar e ver se está tudo
funcionando”. O aluno C declarou também: “Seria muito bom ter, também, a opção para
baixar tudo”.
4. [REQM04] Organização do curso. Alguns usuários seguiram à risca as orientações do
curso, de forma que só criarão alguma pasta se o curso assim pedir. Assim declarou o
Aluno A: “Se tivesse essa orientação no curso, criaria uma pasta imediatamente”. Como
o curso não deixava isso claro, o mesmo Aluno A declarou: “Tenho o costume de baixar
na Área de Trabalho e organizar depois”. E foi isso que fez. O Aluno C declarou, ao ser
questionado sobre a não criação de uma pasta: “O curso não pediu...”.
5. [REQM05] Coerência. O texto do curso e o material disponível para ser “baixado” pelo
aluno precisam ser idênticos, senão gera desconforto e dúvida. Dois alunos observam isso,
como fez o Aluno A: “Em seguida clicou sobre o arquivo ‘baixado’ que acionou o
Microsoft Access. Conferiu o interior do banco de dados, vazio a princípio, e verificou
que a estrutura é a mesma que a apresentada no curso”. O Aluno C também sentiu
dificuldades porque, ao executar o exemplo, detectou que nenhum registro foi mostrado.
Tentou novamente e obteve a mesma resposta negativa. O texto explicativo mostra uma
tela com registros, porém o banco de dados fornecido estava vazio.
6. [REQM06] Presença de pré-requisitos. O curso precisa ser bastante claro quanto ao
nível de conhecimento necessário para o aluno. O Aluno A declarou: “Nunca usei o
Microsoft Access”. Precisa-se, previamente, informar ao aluno quais ferramentas serão
necessárias e qual o nível de conhecimento em cada uma delas. Tal nível de conhecimento
deve ser mais claro do que termos: “básico”, “médio” ou “avançado”. Necessita-se de
informações do tipo: O aluno deve conhecer para a “ferramenta X” os recursos de abrir
novo documento, salvar, formatar etc. Essa situação fica clara na declaração do Aluno B:
“Senti dificuldades com o java porque não continuei estudando e praticando após a
48
disciplina de Programação Orientada a Objeto. Por isso me compliquei um pouco com
controle de exceção e a criação da GUI”. O Aluno A declarou também: “A lista de pré-
requisitos me ajudou a ter uma idéia do que deveria já saber”.
7. [REQM07] Informações sobre ambiente no qual o curso foi criado. Informar em qual
máquina e sistema operacional o curso foi criado também é importante, bem como as
variações que o aluno pode encontrar ao usar outros sistemas operacionais. O Aluno A, ao
realizar o tópico “3. Registrando o Banco de Dados”, não conseguiu registrar o banco de
dados no curso proposto. Abriu o Painel de Controle, voltou ao curso para ver mais
instruções e voltou para o painel de controle. Executou essa operação várias vezes,
ficando completamente perdido. Ele não encontrou a opção Fontes de dados (ODBC) que
o curso orientava estar no Painel de Controle porque, no Windows XP, essa opção fica
numa sub-opção chamada Ferramentas de Sistema. O curso não mencionava esse detalhe
no texto explicativo. O Aluno C declarou: “Deveria haver informações no curso para
Sistemas Operacionais diferentes”. O Aluno B também não conseguiu cumprir esse item.
8. [REQM08] Presença de telas. Alguns usuários preferem seguir telas a seguir textos
explicativos. O aluno A realizou os passos do curso orientando-se mais pelas telas do que
pelos textos explicativos.
9. [REQM09] Telas com resultados. Alguns usuários, como o Aluno A, preferem “...
estudar todo o material e depois baixar os exemplos”. É necessário, portanto, que telas de
resultados das tarefas do curso sejam disponibilizadas para que o aluno possa comparar
resultados corretos com os que ele irá obter.
10. [REQM10] Granularidade. O curso precisa ser dividido em partes pequenas para formar
o seu todo. Tópicos muito extensos não são apreciados pelo aluno. Como declarou o
Aluno B: “Achei também o tópico ‘Lendo, Inserindo e atualizando Dados’ muito grande.
Devia ser reorganizado em tópicos menores”.
11. [REQO01] Presença de opções para tirar dúvida. Quando não conseguiu realizar a
tarefa do item 7 [REQM07], o Aluno A ao ser questionado sobre o que deu vontade de
fazer diante da situação de dúvida, respondeu: “Não gostaria de resolver isso por e-mail
porque a resposta pode demorar muito. Prefiro um meio online que possa me dar uma
resposta mais instantânea”. Foi perguntado ao Aluno A se, em uma aula tradicional,
49
levantaria a mão, respondeu afirmativamente e com muita expressão. Na mesma situação
o aluno B declarou: “Num curso tradicional levantaria a mão imediatamente”. Ao sentir
dúvida, mais adiante no processo de estudo e ao ser questionado, o Aluno A declarou “...
É difícil tirar dúvidas e continuo sentindo a necessidade de alguém online para socorrer”,
“Esse formato de curso precisa de um professor online”. O Aluno C declarou “Senti a
necessidade de um professor num bate papo instantâneo”. O aluno tinha a informação
disponível, mas sentiu necessidade da instrução.
Meios para tirar dúvidas requisitados:
E-mail;
Bate papo online;
Professor presencial.
A Árvore de Atividades demonstrou ser muito útil para acompanhamento do curso, mostrando
sempre onde o aluno se encontrava. Esse recurso já faz parte do modelo SCORM. A árvore
poderá servir também como indicador de progresso para marcar onde o aluno ficou para
quando quiser interromper o curso e retornar depois. No momento da observação do Aluno A,
a conexão caiu por cinco minutos. O aluno ficou um pouco impaciente. Ao voltar a conexão,
o aluno se perdeu e demorou um pouco para encontrar onde havia parado. Precisa-se ter
também uma opção para exibir e ocultar a Árvore de Atividades quando o usuário precisar.
Dessa forma o aluno ganhará mais espaço para fazer o curso. O Aluno B arrastou as barras
verticais, diminuindo a área com a Árvore de Atividades e ganhando espaço na área de
visualização do curso.
Outras declarações:
Aluno A - “O fato de fazer o curso dessa maneira, em vez de usar um livro, é melhor
porque já encontro tudo num único lugar”. “Apesar de achar o assunto complicado
aprendi muito”. “Estava com receio de não conseguir”.
Aluno B - “Como deu tudo certo, fiquei muito satisfeito com isso”.
50
Aluno C – “Aprendi o suficiente para realizar o mesmo processo com outra base em
um outro estudo de caso. Depende agora só da modelagem e de novos comandos SQL.
Apesar do assunto, e código fonte, serem complicados entendi a conexão. Estou muito
satisfeito”.
A Tabela 6 sugere soluções para os REQM (REQuisito de Material). Esses requisitos estão
em conformidade com a quarta característica básica de um LMS levantada no tópico 3.2
SISTEMAS DE GESTÃO DE CONTEÚDO, no tocante a organização dessas informações de
forma que o aluno encontre facilmente o que precisa.
Tabela 6. Sugestões para tratamento de Requisitos de Material (REQM).
Requisito Solução proposta
REQM01 O professor pode fazer um dicionário a
partir de objetos de aprendizagem com
termos e sua devida explicação, de forma
que possam ser reutilizados
REQM02 A Árvore de Atividades pode auxiliar nesse
ponto, porque mostra os tópicos do curso.
Pode-se implementar uma opção para
expandir todos os objetos de aprendizagem
(nós) da árvore e recolhê-los.
REQM03 Ao criar o curso, o professor pode colocar
links disponibilizando o material a ser
“baixado” no decorrer do curso. Um link
geral, no começo e/ou final do curso, pode
ser disponibilizado para baixar tudo de uma
única vez. Esses materiais podem ser objetos
de aprendizagem reutilizáveis.
REQM04 O professor deve evitar suprimir pequenos
passos que julgue que o aluno conheça. Pode
também listar passos gerais, para usuários
51
experientes e, para cada passo geral, mostrar
sub-passos necessários para que alunos
iniciantes possam completar a atividade.
Esses passos gerais podem ser passos gerais,
objetos de aprendizagem maiores, contendo
sub-passos, objetos de aprendizagem
menores.
REQM05 O professor deve ter o cuidado de
disponibilizar o material para download,
contendo o mesmo conteúdo exposto no
curso.
REQM06 Disponibilizar de forma clara e detalhada os
requisitos necessários para a realização do
curso. Esses requisitos podem ser objetos de
aprendizagem reutilizáveis.
REQM07 O professor precisa deixar claro qual
ambiente utilizou na criação do curso. Uma
lista de ambientes e ferramentas pode ser
criada em forma de objetos de
aprendizagem, para que seja recombinada e
reutilizada. Sempre que possível,
orientações diferentes podem acompanhar o
material, orientando o aluno, caso ele use
um ambiente ou ferramenta equivalente ao
utilizado no curso.
REQM08 O professor pode colocar telas e textos
explicativos. Podem ser objetos de
aprendizagem diferentes e combinados para
formar a explicação. Pode-se oferecer ao
aluno opção de ter ambos, telas e textos, ou
52
apenas um ou outro.
REQM09 Além do REQM08 (telas explicativas) esse
requisito pode ser atendido, colocando telas
mostrando resultados finais de atividades.
Assim, o aluno pode ver como ficará o
ambiente/ferramenta após a execução dos
passos, recurso muito útil quando não se tem
a ferramenta instalada para se observar
resultados. Essas telas também podem ser
objetos de aprendizagem contendo estados
finais de processos, que também podem ser
reutilizados.
REQM10 Os objetos de aprendizagem atendem
perfeitamente a esse requisito. O curso é
montado com pequenos objetos que,
reunidos, formam objetos maiores. Os
objetos, grandes e pequenos, podem ser
reutilizados.
Nota-se que a necessidade do requisito geral REQG03, presença de meio para retirar
dúvida, foi confirmado pelo requisito de observação REQO01.
8.2 Cenários Parte 1
8.2.1 Gestão de Conteúdo – Situação Atual
Serão aqui criados dois cenários cujo objetivo é descrever a situação atual, ou seja, usuários
(professor e aluno) utilizando LMS sem que os requisitos levantados nessa pesquisa, como
reuso de objetos de aprendizagem e recurso para tirar dúvidas, estejam presentes nesses
ambientes.
53
8.2.1.1 Cenário 1.1 - Criação de curso por parte do professor
Este cenário descreve uma situação na qual um professor utiliza um ambiente sem o requisito
REQG01 (reutilização de conteúdo).
Ator: Professor, cujo objetivo é criar um novo curso.
Ambiente: Ambiente Virtual de Ensino com suporte ao modelo SCORM. Há um computador
conectado à Internet executando um Ambiente Virtual de Ensino utilizado para intermediar o
processo de ensino à distância. O professor está devidamente cadastrado no ambiente.
Roteiro: O professor deseja criar um novo curso no ambiente. Verifica que partes do novo
curso já existem em outros cursos, no mesmo ambiente, de sua propriedade ou de propriedade
de outros professores. Para realizar essa montagem, precisa de um editor de cursos SCORM,
como o Reload e, também, dos arquivos originais de cada curso. Com esse conteúdo, ele
poderia remontar o curso no editor, criar um novo pacote e importar no ambiente. Porém o
professor não dispõe dos originais dos cursos dos outros professores. Resolve, então, refazer
todo o curso, aproveitando os seus arquivos originais e criando o conteúdo que já existia no
curso de outros professores. Não houve como reutilizar nem o seu próprio material de forma
fácil e produtiva.
8.2.1.2 Cenário 1.2 - Realização de um curso por parte do aluno
Este cenário descreve uma situação na qual um aluno utiliza um ambiente sem os requisitos
REQG03 e REQG04 (recursos para tirar dúvida).
Ator: Professor e Aluno.
Ambiente: Ambiente Virtual de Ensino. Há um computador conectado à Internet executando
um Ambiente Virtual de Ensino. Esse ambiente é utilizado para intermediar o processo de
ensino à distância. O professor e o aluno estão devidamente cadastrados no ambiente.
Roteiro: Aluno escolhe um curso, modelo SCORM, que deseja realizar. Na tela principal,
apresenta a Árvore de Atividades, à esquerda, e a tela de conteúdo, à direita. À medida que
clica nos itens da árvore, o conteúdo vai sendo apresentado. Em um determinado tópico, não
consegue entender o conteúdo. O ambiente não oferece opção para tirar dúvida. Procura um e-
mail para pedir ajuda e não encontra no ambiente. Consegue o endereço para contatos em suas
54
anotações pessoais e envia um e-mail explicando a dúvida e em qual tópico ela está. Aguarda
ansioso pela resposta. Resolve dar uma pausa no curso enquanto não remover essa dúvida.
Professor recebe e-mail de dúvida de aluno e acessa o ambiente. Não consegue descobrir com
rapidez de qual curso e de qual item específico é aquela dúvida. Precisa vasculhar o material
para descobrir isso. Quando encontra, recorre a ferramenta de e-mail para responder a dúvida
do aluno. O ambiente não registra nada disso e, futuramente, a mesma dúvida pode se repetir
para outro ou até para o mesmo aluno. Professor não tem, no ambiente, um histórico de
dúvidas de alunos, o que dificulta a avaliação do rendimento e interesse deles.
Resultado destes Cenários
O ambiente deve prover facilidade para que o usuário, ainda que novato, use os recursos do
sistema. Tanto professores devem sentir conforto no processo de reuso de objetos de
aprendizagem, quando alunos devem sentir facilidade para registrar suas dúvidas e obter suas
respostas. A interface deve permitir que os usuários visualizem e naveguem pelo
conhecimento.
8.3 Prototipagem de baixa fidelidade
Tarefa para os protótipos 1, 2 e 3: Ciclo de Registro de Dúvida.
Ator: Aluno e professor do curso
Objetivo: Realizar um curso e registrar uma dúvida para o professor
Descrição: O aluno clica no item da Árvore de Atividades com o botão auxiliar do mouse.
Aciona o menu de contexto e registra a dúvida. Quando a dúvida é respondida pelo professor,
o aluno aciona o menu de contexto e registra a ciência da resposta. Seu percurso vai sendo
registrado sem que esse perceba.
Sub-tarefas:
Registro de Percurso pelo sistema;
Registro de Dúvida pelo Aluno;
55
Registro de Resposta da Dúvida pelo Professor;
Registro de Ciência da Dúvida pelo Aluno.
Sucesso da tarefa: Exibição da mensagem “Dúvida Registrada com Sucesso”.
Falha: Quando o campo obrigatório do texto da dúvida deixa de ser preenchido, exibe-se a
mensagem “Campo dúvida não preenchido”.
Esses protótipos visam atender aos requisitos: REQG02, REQG03 e REQG04.
8.3.1 Protótipo de Baixa Fidelidade 1 – Geração de dúvidas
O protótipo 1 foi criado montando telas sobre as próprias telas do ambiente ADL SCORM.
As telas montadas foram impressas para avaliação dos usuários. Visa a descrever os passos
necessários para o registro de dúvida por parte do aluno [REQG03]. As Figura 16 e 17
mostram os protótipos criados.
Figura 16. Protótipo de baixa fidelidade 1: Registrando Dúvida.
Figura 17. Protótipo de baixa fidelidade 1: Dúvida Enviada.
56
8.3.2 Protótipo de baixa fidelidade 2 – Geração de dúvida
Após observações do usuário ao primeiro protótipo, criou-se o protótipo 2, inteiramente
funcional, ou seja, não há apenas telas estáticas, mas um completo acesso ao banco de dados
SCORM em processos de leitura e gravação.
Como os códigos fonte necessários para criar um protótipo funcional não estavam 100%
disponíveis para alteração no modelo SCORM adquirido, esse protótipo foi implementado
com componentes Java:
JApplet para permitir execução via browser;
JTree que mostra o curso em forma de Árvore de Atividades;
JEditorPane que mostra o conteúdo do curso em formato HTML.
Em destaque (português e negrito) no Diagrama 2, as alterações necessárias na base SCORM
para implementação desse protótipo.
57
Diagrama 2. Alterações no Diagrama de Classe do modelo SCORM.
58
1
1
1
1
0..*
0..*
0..*
0..*
1TBCourseInfo
CourseIDCourseTitleActiveImportDataTime
TBItemInfo
CourseIDOrganizationIndentifierItemIdentifierResourceIdentifierLaunchTypeTitle
TBUserCourseInfo
UserIDCourseID
TBUserInfo
UserIDLastNameFirstNameAdmin PasswordActiveProfessor
0..*
1
TBDuvida
UserID
CourseID
ItemIdentifier
DuvidaID
Duvida
DataTimeDuvida
Resposta
TBPercurso
UserIDCourseIDItemIdentifierDataTime
1
0..*
0..*
Descrição das alterações necessárias:
Professor: Atributo adicionado à Tabela TBUserInfo identificando a entidade como
professor, além de usuário.
TBDuvida: Tabela adicionada para armazenar as dúvidas geradas pelo aluno. Contém
os seguintes atributos:
UserID: Identificação do Aluno;
CourseID: Identificação do Curso do Aluno;
ItemIdentifier: Identificação do Tópico da Árvore de Atividades;
DuvidaID: Identificação da dúvida;
Duvida: Texto da dúvida;
DataTimeDuvida: Data e hora de registro da dúvida;
Resposta: Texto de resposta do professor;
DataTimeResposta: Data e hora de registro da resposta;
DataTimeCiente: Data e hora de registro que o aluno toma ciência da resposta.
TBPercurso: Tabela adicionada para armazenar o percurso feito pelo aluno ao
realizar o curso. Contém os seguintes atributos:
UserID: Identificação do Aluno;
CourseID: Identificação do Curso do Aluno;
ItemIdentifier: Identificação do Tópico da Árvore de Atividades;
DataTime: Data e hora de registro do tópico.
No Anexo IV encontra-se o script completo de alteração da base de dados SCORM.
59
Registro do Percurso
À medida que o aluno escolhe clicando nos objetos de aprendizagem, um registro vai sendo
adicionado na tabela TBPercurso [REQG02]. O professor e o próprio aluno podem acessar
esses registros e retirar conclusões a partir dele.
Registro de Dúvida
O Aluno poderá gerar também várias dúvidas para o mesmo tópico de um curso [REQG03],
além de poder fazer vários cursos, com diferentes professores ou não.
Quando uma dúvida é registrada no ambiente de gestão de conteúdo (Figura 18), um símbolo
de interrogação aparece para o professor e para o aluno, indicando que há uma dúvida naquele
tópico. A Figura 19 mostra uma dúvida sendo digitada para ser registrada no ambiente de
gestão de conteúdo.
Figura 18. Protótipo Funcional: Registrar Dúvida.
Figura 19. Protótipo Funcional: Enviando Dúvida.
No Anexo V encontra-se o código-fonte completo contendo a implementação desse protótipo.
O protótipo 3 detalha o funcionamento do protótipo 2.
60
8.3.3 Protótipo de Baixa Fidelidade 3 – Geração de dúvidas
Após revisão do segundo protótipo pelo usuário, integrou-se esse protótipo com as telas do
Amadeus (Figura 20) gerando o protótipo 3.
Figura 20. Tela Principal do Amadeus. Escolhendo um Curso.
Após acessar um curso “Java e banco de dados”, obtém-se a tela seguinte (Figura 21) na qual
o curso escolhido é carregado segundo a estrutura de gestão de conteúdo.
Figura 21. Curso carregado segundo a estrutura de gestão de conteúdo
Registro de Percurso
61
Quando o aluno clica num item, objeto de aprendizagem, essa informação é registrada na
tabela TBPercurso [REQG02], como na Figura 21, o aluno clica em “3. Registrando um
Banco de Dados”, cuja identificação é “ITEM-E2EC19DB-4A5D-BFA4-3ED5-
78853AE8B41C”, adicionando-se tabela de percurso esse registro.
Parte do código executado para se registrar o percurso é:
String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"INSERT INTO PERCURSO " +" (UserID, CourseID, ItemIdentifier, " +
" DateTime) " +
" VALUES ('" + CreateTree.this.userId+"','" +
CreateTree.this.nomeCurso+"','" +ItemIdentifier+"','" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) +"');");
Assim insere-se na tabela de percurso: a identificação do usuário que clicou no item
(“CreateTree.this.userId”), a identificação do curso que ele está fazendo
(“CreateTree.this.nomeCurso”), a identificação do item no qual ele está com dúvida
(“ItemIdentifier”) e o momento, data e hora, do registro (“Biblioteca.datetoSql ((new
java.util.Date ()).toLocaleString ())”).
A Tabela 7 mostra o registro do percurso gravado na tabela TBPercurso.
Tabela 7. Registro de percurso na Tabela TBPercurso.
UserID CourseID ItemIdentifier DateTime
Joe Course-3 ITEM-E2EC19DB-
4A5D-BFA4-3ED5-
78853AE8B41C
27/06/2005 17:10:12
Registro de Dúvida
62
A Figura 22 identifica, também, o processo de registro de uma dúvida por parte do aluno
[REQG03]. Para registra-la, o aluno clica no objeto no qual ficou com dúvida, aciona o menu
de contexto e escolhe a opção “Registrar Dúvida”. Preenche o espaço que foi habilitado e
clica no botão “Registrar”. A dúvida é registrada para o item “3. Registrando um Banco de
Dados”.
Figura 22. Aluno registrando uma dúvida em um item de um curso.
Parte do código executado quando o botão “Registrar” é acionado:
String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"INSERT INTO DUVIDA " +" (UserID, CourseID,ItemIdentifier, " +
// DuvidaId Autonumeração
"Duvida, DateTimeDuvida) " + // Resposta, DateTimeResposta, DateTimeCiente
" VALUES ('" + CreateTree.this.userId+"','" +
CreateTree.this.nomeCurso+"','" +ItemIdentifier+"','" +
duvidaTextArea.getText()+"','" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) +"');");
63
Assim, insere-se na tabela de dúvidas: a identificação do usuário que está registrando a dúvida
(“CreateTree.this.userId”), a identificação do curso que ele está fazendo
(“CreateTree.this.nomeCurso”), a identificação do item no qual ele está com dúvida
(“ItemIdentifier”), o atributo de identificação da dúvida (“DuvidaId”) é autonumerado, o
texto da dúvida (“duvidaTextArea.getText()”) e o momento, data e hora, do registro
(“Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ())”).
A Tabela 8 mostra o registro da dúvida gravado na tabela TBDuvida.
Tabela 8. Registro da Dúvida na Tabela TBDuvida.
UserID CourseID ItemIdentifier DuvidaId Duvida DateTimeDuvida
Joe Course-3 ITEM-E2EC19DB-
4A5D-BFA4-3ED5-
78853AE8B41C
1 Professor. Não consigo registrar
o banco de dados. Estou usando
o Windows XP.
27/06/2005 17:16:24
Resposta DateTimeResposta DateTimeCiente
Quando a dúvida é registrada, um sinal de “?” aparece (Figura 23) indicando que há uma
dúvida nesse item. Essa dúvida é vista pelo professor, podendo ser então respondida.
Registro de Resposta da Dúvida
Quando o professor entra no ambiente, ou enquanto está navegando, ele pode expandir todos
os objetos da Árvore de Atividades. Havendo uma dúvida para um terminado item
(“ItemIdentifier”), ou seja, se o atributo “DataTimeDuvida” está preenchido e se o atributo
“DataTimeCiente” está nulo, verifica-se então se essa dúvida tem ou não resposta. Se o
atributo “DateTimeResposta” estiver nulo ela ainda não tem resposta. Então o sinal de “?” é
exibido.
Parte do código executado para identificar se há uma dúvida para um item determinado:
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT Duvida.DateTimeDuvida, Duvida.DateTimeResposta, "+
"Duvida.DateTimeCiente FROM Duvida where UserId = '" + this.userId + "' AND " +
64
"CourseID = '" + this.nomeCurso + "' AND " +"ItemIdentifier = '" + ItemIdentifier +
"' AND DateTimeCiente Is null and DateTimeDuvida Is not null");
Para responder a dúvida (Figura 23), o professor clica no item e aciona o menu de contexto
[REQG04]. Escolhe a opção “Responder Dúvida”, lê e preenche o espaço que foi habilitado,
colocando a resposta. Clica, enfim, no botão “Responder”. A resposta então é registrada na
tabela TBDuvida.
Figura 23. Professor respondendo uma dúvida de um item de um curso.
Parte do código executado quando o botão “Responder” é acionado:
"UPDATE DUVIDA SET Resposta = '" + respostaDuvidaTextArea.getText()+
"', DateTimeResposta = '" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) + "' where UserId = '" +
CreateTree.this.userId + "' AND CourseID = '" + CreateTree.this.nomeCurso +
"' AND ItemIdentifier = '" + ItemIdentifier + "' AND DuvidaId = " +
CreateTree.this.DuvidaId);
65
Assim, altera-se na tabela de dúvida: a resposta do professor para aquele item específico
(“respostaDuvidaTextArea.getText()”) e o momento, data e hora, do registro da resposta
(“Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ())”).
A Tabela 9 mostra a alteração do registro da dúvida gravando a resposta do professor.
Tabela 9. Registro da resposta da dúvida.
UserID CourseID ItemIdentifier DuvidaId Duvida DateTimeDuvida
Joe Course-3 ITEM-E2EC19DB-
4A5D-BFA4-3ED5-
78853AE8B41C
1 Professor. Não consigo
registrar o banco de
dados. Estou usando o
Windows XP.
27/06/2005 17:16:24
Resposta DateTimeResposta DateTimeCiente
No Windows XP a opção
Fontes de Dados fica numa
sub-opção do Painel de
Controle chamada
Ferramentas de Sistema
27/06/2005 17:25:00
Registro de Ciência da Dúvida
Quando o aluno entra no ambiente, ou enquanto está estudando, ele pode expandir todos os
objetos da Árvore de Atividades. Havendo uma dúvida para um terminado item
(“ItemIdentifier”), ou seja, se o atributo “DataTimeDuvida” está preenchido e se o atributo
“DataTimeCiente” está nulo, verifica-se então se essa dúvida tem ou não resposta. Se o
atributo “DateTimeResposta” está preenchido, há uma resposta para a dúvida. Então, o sinal
de “!” é exibido [REQG03].
Para ver a resposta, o aluno (Figura 24) clica no item desejado e aciona o menu de contexto.
Escolhe a opção “Mostrar Dúvida” para ver a dúvida e a resposta do professor. Após ver a
resposta, o aluno pode clicar no botão “Ciente” para remover o sinal de “!”. Assim, o item
volta ao seu estado original, ou seja, sem nenhum sinal de “?” ou “!”.
66
Figura 24. Aluno tomando ciência da resposta do professor para um item de um curso.
Parte do código executado para identificar se há uma resposta a uma dúvida para um item
determinado:
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT Duvida.DateTimeDuvida, Duvida.DateTimeResposta, "+
"Duvida.DateTimeCiente FROM Duvida where UserId = '" + this.userId + "' AND " +
"CourseID = '" + this.nomeCurso + "' AND " +"ItemIdentifier = '" + ItemIdentifier +
"' AND DateTimeCiente Is null and DateTimeDuvida Is not null");
Parte do código executado quando o botão “Ciente” é acionado:
String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"UPDATE DUVIDA SET DateTimeCiente = '" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) + "' where UserId = '" +
CreateTree.this.userId + "' AND CourseID = '" + CreateTree.this.nomeCurso +
"' AND ItemIdentifier = '" + ItemIdentifier + "' AND DuvidaId = " +
CreateTree.this.DuvidaId);
67
Assim, altera-se na tabela de dúvida para aquele item específico: momento, data e hora, da
ciência do aluno (“Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ())”).
A Tabela 10 apresenta a alteração do registro da dúvida, gravando a ciência da resposta da
dúvida por parte do aluno.
Tabela 10. Registro da ciência do aluno à resposta da dúvida.
UserID CourseID ItemIdentifier DuvidaId Duvida DateTimeDuvida
Joe Course-3 ITEM-E2EC19DB-
4A5D-BFA4-3ED5-
78853AE8B41C
1 Professor. Não consigo
registrar o banco de
dados. Estou usando o
Windows XP.
27/06/2005 17:16:24
Resposta DateTimeResposta DateTimeCiente
No Windows XP a opção
Fontes de Dados fica numa sub-
opção do Painel de Controle
chamada Ferramentas de
Sistema
27/06/2005 17:25:00 27/06/2005 17:30:42
Conclui-se, assim, o ciclo de: registro dúvida pelo aluno, resposta do professor e ciência do
aluno. Obviamente outros ciclos, para o mesmo item, podem ser iniciados, mesmo havendo
algum ciclo para aquele mesmo item ainda em aberto, ou seja, o aluno pode gerar quantas
dúvidas desejar para o mesmo objeto de aprendizagem.
8.3.4 Protótipo de Baixa Fidelidade 4 – Reuso de objetos de
aprendizagem
Este protótipo visa atender à gestão de conteúdo por parte do professor, possibilitando que
esse crie novos cursos, reutilizando objetos de aprendizagem [REQG01].
Tarefa: Criação de um novo curso.
Ator: Professor.
Objetivo: Criar um novo curso reutilizando partes de outros cursos do repositório.
Descrição: Manipular objetos de aprendizagem, incluindo ou excluindo-os, formando um
novo curso.
68
Sub-tarefas:
Criação de um novo curso;
Adição de um novo objeto de aprendizagem em um curso;
Remoção de um objeto de aprendizagem de um curso.
Sucesso da tarefa: Curso novo montado a partir de outros cursos do repositório.
Falha: Não conseguir encontrar e arrastar objetos de aprendizagem de um curso para outro.
Criação de um novo curso
O professor precisa montar cursos a partir de objetos de aprendizagem já existentes em outros
cursos. Essa tarefa de escolher objetos e adicioná-los deve ser fácil, de forma que o professor
tenha produtividade na produção de cursos.
Conforme a Figura 25, o professor apenas manipula os objetos de aprendizagem já
carregados para a base de dados (repositório) e arrasta-os para formar novos cursos. Essa
manipulação se dá a partir de uma interface Web.
Figura 25. Gestão de Conteúdo [RAM 2005].
Para realizar a montagem de cursos, o usuário, sendo professor credenciado, pode escolher no
ambiente a opção “Construir Curso” (Figura 26).
69
Figura 26. Escolhendo a opção Construir um Curso.
Ao acessar essa opção, um novo curso pode ser criado. Clica-se na área de curso (vazia a
princípio), aciona-se o menu de contexto e escolhe-se a opção “Criar Novo Curso” (Figura
27).
Figura 27. Professor criando um novo curso.
A Tabela 11 mostra a adição do registro do novo curso na tabela TBCourseInfo.
70
Tabela 11. Novo curso criado na Tabela TBCourseInfo.
CourseID CourseTitle
Course-1 Photoshop Example -- Constrained Choice
Course-2 Java e JDBC
Course-3 Java e JDBC (2)
Course-4 Novo Curso
Após esse registro, o “Novo Curso” com identificação “Course-4” passa a fazer parte do
repositório de cursos.
Para montar esse curso a partir de outros existentes, deve-se acessar o repositório, acionando
o menu de contexto e escolhendo a opção “Acessar Repositório” (Figura 28).
Figura 28. Acesso ao Repositório de Cursos.
O repositório é exibido (Figura 29) e escolhem-se quais cursos participarão da montagem do
novo curso. O professor deve ter direito de acesso, pelo menos de somente-leitura, aos cursos
do repositório.
71
Figura 29. Repositório de Cursos.
Adição de um novo objeto em um curso
A Figura 30 mostra um novo curso, “Course-4”, sendo montado a partir de dois cursos
pertencentes ao repositório: “Course-1” e “Course-3”. Os objetos de aprendizagem são
arrastados do curso original, “Course-3” por exemplo, para o curso novo “Course-4”.
72
Figura 30. Criando um Novo curso: Adicionando objetos do Repositório.
À medida que se arrasta um item (objeto de aprendizagem) de um curso gravado para “Novo
Curso”, esse último vai sendo montado. Por exemplo: o conteúdo do objeto de aprendizagem
“3. Registrando o Banco de Dados” do curso “Java e JDBC (2)” não é copiado para “Novo
Curso”, apenas uma nova referência à localização física do objeto é criada. Assim, qualquer
alteração no objeto original, automaticamente se reflete tanto no curso “Java e JDBC (2)”
quanto no curso “Novo Curso”.
A apresenta o registro dos itens do novo curso na tabela TBItemInfo. Observe o dado no
atributo Launch, permite que se faça referência a objetos de outros cursos. No primeiro
registro e no terceiro, faz-se referência a “Course-1” e, no segundo, ao “Course-3”. O
conteúdo desses objetos permanece no mesmo diretório, apenas foram reutilizados por outro
curso. Há o compartilhamento dos objetos, possibilitando a gestão de conteúdo.
73
Tabela 12. Itens do novo curso criado: Tabela TBItemInfo.
CourseID OrganizationIdentifier ItemIdentifier ResourceIdentifier
Course-4 TOC1 INTRO RESOURCE_INTRO
Course-4 ORG-24B80B92-ABBA-
9455-8E50-5C380A3486ED
ITEM-E2EC19DB-4A5D-BFA4-
3ED5-78853AE8B41C
RES-9379D7FA-86E9-
C9F7-9BAE-
C9E86815DEF9
Course-4 TOC1 LESSON4 RESOURCE_LESSON4
Launch Type Title
/adl/CourseImports/Course-1/intro.htm asset Introduction
/adl/CourseImports/Course-3/registra.html asset Registrando o Banco de Dados
/adl/CourseImports/Course-1/Lesson4.htm asset Lesson 4 – Layers
As Figuras 31 e 32 indicam o curso novo carregado “Course-4”. Observe que os conteúdos
mostrados são de dois cursos diferentes, “Course-1” e “Course-3”.
74
Figura 31. Conteúdo do novo curso criado obtido de “Course-1”.
Figura 32. Conteúdo do novo curso criado obtido de “Course-3”.
Uma opção pode ser implementada para arrastar apenas um objeto de aprendizagem
específico ou um conjunto desses. Tal conjunto pode ser: sub-objetos, ou seja, objetos
75
menores que fazem parte do objeto maior que está sendo reusado; ou objetos relacionados de
alguma outra forma, como, por exemplo, exercícios de um determinado objeto.
Remoção de um objeto de um curso
O professor pode desejar remover um item de um curso. Precisa ter direito para isso. Políticas
de integridade referencial devem ser implantadas para evitar que um objeto de aprendizagem
seja excluído de um curso, a partir do momento que esse objeto já foi utilizado de alguma
forma.
Para excluir um item: clica-se no item que se deseja excluir, acessa-se o menu contexto,
escolhe-se a opção “remover item”, como na Figura 33.
Figura 33. Criando um Novo curso: Removendo objetos de um curso.
À medida que se exclui um item (objeto de aprendizagem) de um curso, como “Lesson 4 -
Layers” por exemplo, é excluída a referência do objeto nesse curso, mantendo a localização
física do objeto. Se o curso atual for o proprietário do objeto, deve-se observar, primeiro, a
integridade referencial, ou seja, não permitir que tal objeto seja removido enquanto ainda é
reutilizado por outro curso. Respeitando isso, o objeto pode ser fisicamente excluído.
A Tabela 13 e a Figura 34, indicam que o item “Lesson 4 - Layers” foi excluído da tabela
TBItemInfo.
76
Tabela 13. Excluindo itens do novo curso criado: Tabela TBItemInfo.
CourseID OrganizationIdentifier ItemIdentifier ResourceIdentifier
Course-4 TOC1 INTRO RESOURCE_INTRO
Course-4 ORG-24B80B92-ABBA-
9455-8E50-5C380A3486ED
ITEM-E2EC19DB-4A5D-BFA4-
3ED5-78853AE8B41C
RES-9379D7FA-86E9-
C9F7-9BAE-
C9E86815DEF9
Launch Type Title
/adl/CourseImports/Course-1/intro.htm Asset Introduction
/adl/CourseImports/Course-3/registra.html Asset Registrando o Banco de Dados
Figura 34. Conteúdo do novo curso após remoção de item.
Como foi mostrado, a gestão de conteúdo, quando se utiliza o conceito de objetos de
aprendizagem, torna-se um recurso simples no seu uso e, ao mesmo tempo, poderoso em seus
resultados. Da mesma forma que os blocos LEGO possibilitam uma infinidade de formas, os
objetos de aprendizagem, quando cuidadosamente construídos, oferecem inúmeras opções de
reorganização.
77
8.4 Resultados da Observação Parte 2
Após a criação do protótipo funcional 3, os mesmos alunos que participaram da primeira parte
da observação foram convidados para utilizar o protótipo.
Ao acessar o ambiente do protótipo, são orientados a clicar num item, de preferência o “3.
Registrando o Banco de Dados” que provocou a dúvida na primeira vez. Então são orientados
a acionar o menu de contexto para esse item. Clicaram em “Registrar Duvida”, digitaram a
dúvida e clicaram em “Registrar”. Verificaram que o símbolo “?” apareceu no item, deixando-
os satisfeitos. Clicaram no menu de contexto novamente, e escolheram “Mostrar Dúvida” e
viram a dúvida que haviam registrado.
Simulando a resposta do professor [REQG04], entrou-se no ambiente e clicou-se no item com
a “?”. Ao acionar o menu de contexto, escolheu-se “Responder Dúvida”. Respondendo à
dúvida, clicou-se em “Responder”.
Os alunos observam que um sinal de “!” apareceu indicando que há uma resposta. Acionaram
o menu de contexto, escolheram “Mostrar Dúvida”. Verificaram a resposta e, por fim,
clicaram em “Ciente”. Verificaram que o item “3. Registrando o Banco de Dados” voltou ao
seu estado original, ou seja, não havia mais sinal de “?” ou “!”
Todos os três alunos mostraram-se bastante satisfeitos com a solução.
Declarações dos alunos:
Aluno A - “Achei a solução melhor do que mandar um e-mail para o professor. Se
fosse por e-mail, o professor teria mais dificuldade em encontrar exatamente onde
fiquei com dúvida e eu teria mais dificuldade em explicar. Colocando a dúvida
exatamente no ponto, acredito que fica mais fácil a comunicação”. Sua observação
final condiz com o anseio registrado em sua observação inicial na parte 1: “Não
gostaria de resolver isso por e-mail, porque a resposta pode demorar muito. Prefiro
um meio online que possa me dar uma resposta mais instantânea”.
78
Aluno B - “Há como ver então o banco de dúvidas para um determinado ponto. No
futuro, posso já acionar isso e tirar minhas dúvidas sem precisar perguntar
novamente ao professor algo que já se tenha reposta”.
Aluno C – “Senti-me bem mais à vontade para utilizar o ambiente, por saber que
alguém veria a minha dúvida e responderia. Gostei do fato de poder registrar minha
dúvida no tópico onde ela apareceu. Consegui fazer isso de forma rápida e intuitiva”.
Os requisitos REQG03 e REQG04, registro de dúvidas no ambiente, foram alcançados com
sucesso. Embora o aluno não tenha acesso, o REQG02 também foi alcançado porque o
caminho que o aluno percorreu, ao realizar o curso, ou seja, os objetos de aprendizagem que
escolheu e gerou ou não dúvida, também foram registrados no ambiente. Tal informação fica
à disposição do professor e mesmo do aluno, caso lhe seja útil.
8.5 Casos de Uso
Diagramas de casos de uso [UML 2005] descrevem o que o sistema faz do ponto de vista de
um observador. A ênfase está no que o sistema faz não como. Esses diagramas estão
intimamente ligados aos cenários que exemplificam o que acontece quando alguém interage
com o sistema [BOR 2005].
Os diagramas mostram os casos de usos : Caso de Uso 1 (Diagrama 3) professor criando
curso reutilizando objetos e Caso de Uso 2 (Diagrama 4) aluno realizando um curso,
interagindo com um professor.
Diagrama 3. Caso de Uso 1 – Professor criando curso com reuso de objetos de
aprendizagem.
79
Diagrama 4. Caso de Uso 2 – Aluno realizando curso com suporte ao registro de dúvida em objetos de aprendizagem.
8.6 Diagramas de Atividade
Um diagrama de atividade [UML 2005] focaliza o fluxo envolvido em um processo em
particular, revelando como suas atividades se relacionam entre si [BOR 2005].
Os diagramas a seguir mostram : Diagrama de Atividade 1 (Diagrama 5) professor criando
um novo curso e o Diagrama de Atividade 2 (Diagrama 6), aluno registrando uma dúvida e
professor registrando resposta.
80
Diagrama 5. Diagrama de Atividade 1 – Professor criando curso com reuso de objetos
de aprendizagem.
Diagrama 6. Diagrama de Atividade 2 – Aluno realizando curso com suporte a registro de dúvida em objetos de aprendizagem.
8.7 Cenários Parte 2
8.7.1 Gestão de Conteúdo– Situação Futura
São, aqui, criados dois cenários descrevendo as situações futuras, ou seja, usuários (professor
e aluno) utilizando os futuros artefatos que contemplem a gestão de conteúdo no tocante a
81
reutilização de objetos de aprendizagem (primeiro cenário) e recurso para tirar dúvidas
(segundo cenário). Os protótipos 3 e 4, implementando os requisitos levantados, são
envolvidos aqui.
8.7.1.1 Cenário 2.1 - Criação de curso por parte do professor
Descreve uma situação na qual um professor utiliza um ambiente (protótipo 4) com o
requisito REQG01 atendido.
Ator: Professor, cujo objetivo é criar um novo curso.
Ambiente: Ambiente Virtual de Ensino com suporte ao modelo SCORM. Há um computador
conectado à Internet executando um Ambiente Virtual de Ensino. Esse ambiente é utilizado
para intermediar o processo de ensino à distância e permite reutilização de objetos de
aprendizagem. O professor está devidamente cadastrado no ambiente.
Roteiro: O professor deseja criar um novo curso no ambiente. Verifica que partes do novo
curso já existem em outros cursos, no mesmo ambiente, de sua propriedade ou de propriedade
de outros professores. Para realizar a montagem, acessa a opção “Construir Cursos” do
ambiente. Uma tela completamente vazia lhe convida a montar o novo curso. Ao clicar no
botão auxiliar do mouse, escolhe a opção “Criar Novo Curso”. Um novo curso vazio aparece
em sua tela. O professor, agora, acessa novamente o menu de contexto e escolhe a opção
“Acessar Repositório”. Escolhe dois cursos dos quais deseja obter conteúdos prontos. A sua
tela contém, nesse momento, o seu novo curso e dois outros cursos já existentes. O professor
encontra, no primeiro curso do repositório, um item que deseja aproveitar no seu novo curso.
Simplesmente arrasta e solta esse item no seu novo curso. Repete esta ação várias vezes, tanto
para o primeiro quanto para o segundo curso do repositório. Os originais do repositório
continuam intactos, porque somente o professor proprietário tem direitos de modificá-los. A
localização física do objeto de aprendizagem fica transparente para o professor que está
montando o novo curso. O professor consegue atingir seu objetivo com facilidade, rapidez e
eficiência.
8.7.1.2 Cenário 2.2 - Realização de um curso por parte do aluno
Este cenário descreve uma situação na qual um professor e um aluno utilizam um ambiente
(protótipo 3) com os requisitos REQG03 e REQG04 atendidos.
82
Ator: Professor e Aluno.
Ambiente: Ambiente Virtual de Ensino. Há um computador conectado à Internet executando
um Ambiente Virtual de Ensino. Esse ambiente é utilizado para intermediar o processo de
ensino à distância. O professor e o aluno estão devidamente cadastrados no ambiente.
Roteiro: O aluno escolhe um curso, modelo SCORM, que deseja realizar. Na tela principal
apresenta a Árvore de Atividades, à esquerda, e a tela de conteúdo, à direita. À medida que
clica nos itens da árvore, o conteúdo vai sendo apresentado. Em um determinado tópico não
consegue entender o conteúdo. O ambiente oferece opção para tirar dúvidas embutida no
processo de navegação. O aluno clica no tópico no qual ficou com dúvida. Aciona o menu de
contexto e escolhe a opção “Registrar Dúvida”. Digita a dúvida na área indicada e clica em
“Registrar”. Um sinal de “?” aparece mostrando que há uma dúvida naquele ponto. O aluno
aguarda resposta.
O professor, ao acessar o curso percebe, que há um item contendo o sinal “?”. Ele sabe que
algum aluno está com dúvidas. Aciona o menu de contexto naquele item e escolhe a opção
“Responder Dúvida”. Lê a dúvida do aluno e responde numa área ao lado. Clica no botão
“Responder”. Um sinal de “!” aparece mostrando que a dúvida foi respondida.
O aluno também percebe o sinal de “!” no item que havia a dúvida e sabe que alguma resposta
obteve. Aciona o menu de contexto e escolhe a opção “Mostrar Dúvida”. Lê a resposta da
dúvida escolhe o botão “Ciente”. Volta ao curso e consegue realizar a tarefa após a dúvida ser
respondida.
8.8 Análise das tarefas e Teste de usabilidade dos protótipos
A seguir a análise das tarefas realizada para os protótipos 3 e 4.
8.8.1 Análise da Tarefa 1 (Protótipo 3)
Análise da Tarefa 1.1
Agente: Aluno.
Objetivo: Realizar um Curso (Diagrama 7).
83
Objetos: Objeto de Aprendizagem, painel de exibição de conteúdo.
Ambiente: Após a ação Clicar Objeto Aprendizagem o conteúdo do objeto é mostrado no
painel de exibição de conteúdo, situação que acontece na escolha dos outros objetos por parte
do agente.
Diagrama 7. Tarefa Realizar um Curso.
Facilmente o usuário aprendeu a utilizar esse recurso, empregando tempo e esforços
mínimos para realizar essa tarefa.
Análise da Tarefa 1.2
Agente: Aluno.
Objetivo: Registrar uma Dúvida (Diagrama 8).
Objeto: Objeto de Aprendizagem.
Ambiente: Após a ação Clicar botão Registrar um sinal de “?” aparece ao lado do objeto de
aprendizagem.
Diagrama 8. Tarefa Registrar Dúvida.
Facilmente o usuário aprendeu a utilizar esse recurso e de forma produtiva. Sem tal recurso,
provavelmente, recorreria a um sistema de e-mail para enviar a dúvida, precisando deixar o
ambiente de aprendizagem.
Análise da Tarefa 1.3
Agente: Professor.84
Objetivo: Responder uma Dúvida (Diagrama 9).
Ambiente: Antes da tarefa, o objeto de aprendizagem está sinalizado com uma “?”. Após a
ação “Clicar botão Responder”, um sinal de “!” aparece ao lado do objeto de aprendizagem.
Diagrama 9. Tarefa Responder Dúvida.
Para a realização da tarefa “Procurar Objetos c/ Dúvida” pode ser oferecido um botão
(representação metafórica) na interface. Quando acionado, a próxima dúvida é então
localizada para que o professor possa respondê-la.
Análise da Tarefa 1.4
Agente: Aluno.
Objetivo: Receber Resposta de uma Dúvida (Diagrama 10).
Ambiente: Antes da tarefa, o objeto de aprendizagem está sinalizado com um “!”. Após a
ação “Clicar botão Ciente”, o sinal de “!” desaparece.
85
Diagrama 10. Tarefa Ciência da Dúvida.
Para a realização da tarefa “Procurar Objetos c/ Resposta”, pode ser oferecido um botão na
interface. Quando acionado, a próxima dúvida com resposta é então localizada pelo o aluno.
8.8.2 Análise da Tarefa 2 (Protótipo 4)
Análise da Tarefa 2.1
Agente: Professor.
Objetivo: Criar novo curso (Diagrama 11).
Ambiente: No começo da tarefa, a área de curso não contém nenhuma árvore de objetos.
Após a conclusão da tarefa, um novo curso, com sua árvore de objetos, estará criado. Essa
árvore conterá suas ramificações, com seus objetos de aprendizagem criados ou reutilizados.
Diagrama 11. Tarefa Criar Novo Curso.
Pode ser oferecido, para realizar essa tarefa, um “wizard”, tornando mais confortável o
trabalho do professor.
86
8.9 Resultados Obtidos
Alcançou-se o objetivo dessa pesquisa quando foram entendidas as necessidades dos usuários
(professores e alunos) em atividades de gestão de conteúdo, conteúdo esse organizado em
forma de componentes de aprendizagem. Os requisitos levantados foram prototipados. Os
protótipos foram avaliados na observação dos usuários parte 2 e cenários de situação futura.
Obtiveram-se, nessas avaliações, resultados bastante satisfatórios. Concluiram-se os
resultados com análise das tarefas dos protótipos 3 e 4, avaliando a usabilidade desses.
87
9 CONCLUSÃO
Esse trabalho apresentou a gestão de conteúdo sob a ótica do professor e do aluno. A partir da
reutilização de objetos de aprendizagem de outros cursos, professores podem formar novos
cursos, apenas arrastando itens desejados do curso de origem para o curso de destino. O
ambiente proposto permite, também, a interação do aluno com o professor por meio da
geração de dúvidas registradas num objeto de conhecimento específico. Professores também
podem interagir com os alunos registrando respostas para essas dúvidas.
O objetivo desse trabalho foi entender as necessidades dos usuários, professores e alunos, em
atividades de gestão de conteúdo organizadas em forma de componentes de aprendizagem. Os
requisitos levantados foram atendidos através da observação dos usuários e cenários de
situação atual.
A análise de competidores auxiliou no levantamento de requisitos. Tal análise de alguns LMS
´s foi norteada por alguns critérios, dentre eles, a presença do suporte ao modelo SCORM.
Esse modelo implementa o conceito de objetos de aprendizagem, permitindo que pequenos
blocos de conhecimento sejam, inteligentemente, reunidos para formar um conceito mais
abrangente.
A arquitetura do modelo SCORM foi estudada, proporcionando entendimento do seu
funcionamento. Esse conhecimento foi crucial para o estabelecimento de uma proposta bem
fundamentada, capaz de ser prototipada e parcialmente implementada.
Uma metodologia de design interativo centrada no usuário permitiu o aprimoramento
gradativo de protótipos a partir de observação de usuários, criação de cenários e testes de
usabilidade. O protótipo, implementado em linguagem Java, e permitiu testes mais seguros no
tocante à funcionalidade e usabilidade. Os cenários criados permitiram avaliar a adequação do
artefato proposto à realidade do usuário, evitando a implantação de uma solução já
comprometida desde a fase do projeto.
A observação dos usuários utilizando, a princípio, o modelo SCORM, permitiu o
levantamento de requisitos, como a necessidade do recurso “tira dúvidas” embutido no
ambiente de navegação. Após a criação do protótipo, os usuários utilizaram o ambiente
88
baseado no modelo SCORM com o recurso de registro de dúvida funcionando. A maneira
como a solução foi implementada no protótipo foi muito bem aceita pelos usuários.
Após esse estudo de gestão de conteúdo e o levantamento dos seus requisitos, o próximo
passo é a incorporação dessa proposta ao ambiente “AMADeUs: Agentes micromundo e
sistema A.De.C.U.I.”, dando a esse ambiente suporte ao modelo SCORM, com recursos de
criação de cursos com base nos objetos de aprendizagem, reuso desses objetos, registro de
atividades do aluno, à medida que navega, e um recurso especial de registro de dúvida pelo
usuário aluno e reposta das dúvidas pelo usuário professor.
Conforme pesquisas em diversos materiais, pode-se constatar que a gestão de conteúdo está
ainda no começo. As opções de trabalhos futuros mostram que muito ainda deve ser feito nos
próximos anos.
89
10 TRABALHOS FUTUROS
Algumas pesquisas podem surgir a partir do estudo realizado nessa dissertação, como a
implementação dos outros recursos da orientação à objeto, abrangência do uso dos objetos de
aprendizagem, a personalização do ambiente e a adição de outros recursos para a gestão de
conteúdo.
Implementação de outros recursos da orientação à objeto
Além dos recursos já incorporados aos objetos de aprendizagem, tais como abstração e
herança, pode-se estudar a implementação dos recursos de encapsulamento, polimorfismo,
vinculação dinâmica e Classes Abstratas.
Abranger o uso de Objetos de aprendizagem
O conceito de objetos de aprendizagem precisa ser expandido. Em seu artigo, Stefanelli [STE
2004] aborda muito bem esse ponto:
Para que exista ensino/aprendizagem é necessário ao menos: 1) expor o
aprendente ao conteúdo; 2) proporcionar condições para a prática (envolver o
aprendente); 3) desencadear algum processo de avaliação. Completando este
raciocínio: a condição mínima para existência de um objeto de aprendizagem é
a incorporação destes três fatores. A aplicação somente do primeiro deles, no
meu entendimento, produz objetos de informação.
Os objetos de aprendizagem devem ser utilizados no ciclo: exposição, envolvimento e
avaliação. Focou-se, nessa dissertação, o estudo dos objetos de aprendizagem no tocante à sua
exposição. Um outro estudo pode abordar o envolvimento e a avaliação do aprendiz. Pode-se
permitir, ou não, que outros alunos tenham acesso a essas avaliações.
Personalização do ambiente
O ambiente de gerenciamento de aprendizado poderá possibilitar, ao usuário aprendiz que
efetua o logon, uma procura automática por objetos de conhecimento que correspondam às
suas necessidades e reuni-los em um programa significativo [ROS 2002].
Sistemas individualizados ou customizados, lidando com as diferenças dos usuários,
pertencem a uma área do conhecimento chamada modelo do usuário [GAR 1997], que é uma 90
representação explícita das propriedades de um usuário individual, levando em consideração
suas necessidades, preferências e comportamentos [MOD 2003]. Reconhecendo as
particularidades de cada usuário, o ambiente torna-se personalizável e, em se tratando de
aprendizado, essa personalização dependerá do conhecimento prévio do usuário, a sua
capacidade cognitiva e estilo de aprendizado [RST 2003].
Dessa forma, se a área de aprendizado for nova para um usuário aprendiz, o número e a
seqüência dos objetos podem ser diferentes do apresentado para um outro usuário já
experiente [ROS 2002].
Outros Recursos para Gestão de Conteúdo
Outros recursos podem ser adicionados à gestão de conteúdo:
Permitir que professores ou alunos registrem notas (observações) em um
determinado objeto de aprendizagem. Não seriam dúvidas, mas comentários livres
que poderiam ser acessados, posteriormente, pelo próprio autor ou pelos demais
usuários do ambiente.
Com base no recurso anterior, permitir que comentários sejam feitos em cima de
outros comentários. O mesmo para comentários em cima de dúvidas se essas se
tornam públicas.
Permissão para que outros alunos acessem o histórico de dúvidas para um
determinado objeto de aprendizagem. Assim, os alunos podem “aprender a partir
das experiências obtidas” [NAT 2005] por outros alunos;
Classificação semântica dos objetos de aprendizagem, permitindo buscas simples e
avançadas por assunto ou objetos relacionados [NAT 2005]. Tais buscas podem
ser realizadas por professores, com o intuito de formar novos cursos, ou por
alunos, com o objetivo de aprender mais sobre um determinado objeto.
Aperfeiçoamento do reuso de objetos de aprendizagem, incluindo outras
informações nos objetos como: características do objeto, abordagens de
modificação para o objeto, onde esse objeto já foi utilizado e quais experiências
91
foram registradas nesse reuso, tais como ciclos de dúvidas e avaliações [NAT
2005].
Desenvolver ferramentas de acompanhamento do aluno a partir dos dados
gravados na tabela TBPercurso. A ferramenta pode checar o tempo que o aluno
gastou para realizar o curso e comparar com os resultados obtidos nas avaliações.
Os dados de percurso de um aluno podem ser comparados com os de outros
alunos, para se sugerir tempo necessário de estudo em cada módulo de curso,
alertando ao aluno sobre sua rapidez ou lentidão.
O ambiente pode permitir que o professor habilite ou não partes de um curso, sem
que esse seja fisicamente removido ao ser desabilitado.
O ambiente pode permitir que o professor seja notificado sobre baixas de material
pelo aluno.
O ambiente pode permitir exportações de conteúdo em formatos “.doc”, “.ppt” etc.
Aprofundamento do estudo dos Requisitos de Material (8.1.1 Requisitos de
Observação e de Material) para prototipar, modelar e implementar soluções
sugeridas nesse estudo.
Implementação das sugestões levantadas na análise da tarefa, melhorando a
usabilidade da solução.
92
11 REFERÊNCIAS
[ADL 2004] Advanced Distributed Learning ADL. Disponível em
<http://www.adlnet.org>. Acesso em: 30 jun. 2004
[ALM 2005] a-LMS Learning Management System. Disponível em <http://a-
lms.sourceforge.net/>. Acesso em: 04 jul. 2005.
[ALV 2005] Avatal Learn Station. Disponível em <http://www.avatal.de/produkte/>. Acesso
em: 04 jul. 2005.
[AMD 2004] AMADeUs: Agentes micromundo e sistema A.De.C.U.I. Disponível em <
http://www.cin.ufpe.br/~amadeus>. Acesso em: 01 fev. 2004
[APR 2004] Aprendizagem Colaborativa Assistida por Computador. Disponível em:
<http://www.minerva.uevora.pt/cscl/index.htm#Aprendizagem%20colaborativa>. Acesso em:
01 fev. 2004.
[AN1 2005] AprendernaNet - Construir uma infra-estrutura para o e-Learning I.
Disponível em: <http://www.aprendernanet.com/artigos.asp?x1=25290429>. Acesso em: 06
jun. 2005.
[AN2 2005] AprendernaNet - Construir uma infra-estrutura para o e-Learning II.
Disponível em: <http://www.aprendernanet.com/artigos.asp?x1=91363241>. Acesso em: 06
jun. 2005.
[AN3 2005] e-Learning e e-Knowledge: duas faces da mesma moeda. Disponível em:
<http://www.aprendernanet.com/artigos.asp?x1=55669549>. Acesso em: 06 jun. 2005.
[AN4 2005] e-Learning: O Reinado dos Conteúdos. Disponível em:
<http://www.aprendernanet.com/artigos.asp?x1=68797357>. Acesso em: 06 jun. 2005.
[AN5 2005] e-Leaning: A Revolução na Formação. Disponível em:
<http://www.aprendernanet.com/artigos.asp?x1=53874465>. Acesso em: 06 jun. 2005.
[BAR 1999] BARANAUSKAS, Maria Cecília Calani. Estudo Etnográfico sobre a
Interface do Sistema AUXPG. Universidade Estadual de Campinas: São Paulo-SP, 1999;
93
[BOR 2005] Borland, Practical UML. A Hands-On Introduction for Developers. Disponível
em <http://www.togethersoft.com/services/practical_guides/umlonlinecourse/index.html>.
Acesso em: 03 fev. 2005.
[BØD 2000] BØDKER, Susanne. Scenarios in user-centred design–setting the stage for
reflection and action. Journal Interacting with Computers. Department of Computer
Science, University of Aarhus, 2000.
[BRI 2004] BRITO, Vera (2004). Quais são alguns dos maiores mitos sobre e-Learning?
Disponível em < http://www.power-e.com.br/mitos.htm >. Acesso em: 12 fev. 2004.
[CAR 2000] CARROLL, J.M. Five reasons for scenario-based design. Disponível em
<http://www.elsevier.com/locate/intcom>. Acesso em: 26 jul. 2005.
[DEI 2001] DEITEL, H. M. e DEITEL, P.J. Java, como programar. 3ª edição – Porto
Alegre: Bookman, 2001.
[DLM 2005] DodeboLMS. Disponível em <http://www.docebolms.org/>. Acesso em: 04 jul
2005.
[DOD 2004] United States Department Of DEFENSE. Disponível em <
http://www.dod.gov >. Acesso em: 30 jun. 2004.
[EBE 2005] EBERSPÄCHER, Henri F.; Jamur, José H.; Eleutério, Marco A. M.. Using a
web-based learning environment for distance education. Disponível em
<http://www.lami.pucpr.br/lami/publicacoes.html> Art9906.pdf. Pontifical Catholic
University of Paraná - PUCPR. Acesso em: 06 jun. 2005.
[EIR 2003] EIRA, Marcelo. SCORM, Objetos de aprendizagem e Re-usabilidade: Que
bichos são esses? Disponível em <http://www.ecdm.com.br/website/elearning/artigos.html>.
Acesso em: 06 jun. 2005.
[ELE 2005] ELEUTERIO, Marco A.; Bortolozzi, Flávio; Kaestner, Celso A. The Roles of
Ontologies in Collaborative Virtual Learning Environments. Disponível em
<http://www.lami.pucpr.br/lami/publicacoes.html> Art00041.pdf. Pontifical Catholic
University of Paraná - PUCPR. Acesso em: 06 jun. 2005.
94
[FAC 2004] Faculdade de Ciências Aplicadas e Sociais de Petrolina – FACAPE.
Disponível em <http://www.facape.br>. Acesso em: 01 jul. 2004.
[FAL 2004] FALBO, Ricardo A.; Arantes, Daniel O.; Natali, Ana C.C. Integrating
Knowledge Management and Groupware in a Software Development Environment.
Disponível em <http://www.inf.ufes.br/%7Efalbo/download/pub/2004-PAKM.pdf>. Acesso
em: 06 jun. 2005.
[FAL 2005] FALBO, Ricardo A.; Ruy, Fabiano B.; Moro, Rodrigo Dal. Ontologias e
Ambientes de Desenvolvimento de Software Semânticos. Disponível em
<http://www.inf.ufes.br/%7Efalbo/download/pub/2004-JIISIC-1.pdf>. Acesso em: 06 jun.
2005.
[FOR 2005] Source Forge. Disponível em < http://sourceforge.net>. Acesso em: 04 jul. 2005.
[FPE 2005] Microsoft FrontPageExpress. Disponível em:
<http://www.123ecommerce.com/frontpage-express.htm>.Acesso em: 03 mar. 2005.
[GAR 1997] GARCIA, Letícia Silva. Aplicações de Sistemas Multiagentes a Sistemas de
Hipermídia Adaptativa - Uma Extensão ã Ferramenta Gutemberg. Disponível em:
http://www.c5.cl/ieinvestiga/actas/tise97/trabajos/trabajo3. Acesso em: 01 dez. 2004.
[GCC 2005] GCC home page. Disponível em <http://gcc.gnu.org/>. Acesso em: 21 abr.
2005.
[GHE 1998] GHEZZI, Carlo e JAZAYERI, Mehdi. Programming Language Concepts. 3th
edition, Editora John Wiley & Sons (http://www.infosys.tuwien.ac.at/pl-book)
[GOM 2004] Gomes, Apuena Vieira. Uma Abordagem Centrada No Usuário para
Ferramentas de Suporte a Atividades Docentes em Ambientes de Educação à Distância.
[GRA 1996] Gralla, Preston. Como funcionam as intranets. São Paulo-SP: Quark, 1996.
[GTA 2004] Groupware Task Analysis. Disponível em < http://www.cs.vu.nl/~gerrit/gta/>.
Acesso em: 18 out. 2004.
[HEN 2002] HENG, Simon. Learning Objects – Where Next? 2002 Disponível em
<http://citeseer.nj.nec.com/cs>. Acesso em: 03 mai. 2004
95
[IBM 2001] IBM User Interface Architecture. First Edition, July 2001. International
Business Machine.
[ILI 2005] ILIAS open source. Disponível em <http://www.ilias.de/ios/index-e.html>.
Acesso em: 04 jul. 2005.
[IPS 2005] Integrated Project System. Disponível em <http://www.ipspm.com>. Acesso
em: 01 fev. 2003.
[JAV 2005] A Sun Microsystems Developers Network Site, Java Technology. Disponível
em <http://java.sun.com/>. Acesso em: 21 abr. 2005.
[JSP 2004] Sun Microsystems, JSP – JavaServer Pages. Disponível em
<http://java.sun.com/products/jsp/>. Acesso em: 02 mar. 2005.
[JVB 2005] JavaBeans. Disponível em <http://java.sun.com/products/javabeans/>. Acesso
em: 04 jul. 2005.
[LEG 2005] LEGO. Disponível em <http://www.lego.com/eng/preschool/duplo.asp>. Acesso
em: 05 abr. 2005.
[LEI 1999] LEITE, Jair Cavalcanti. Análise e Modelagem de Usuários e de Tarefas.
Disponível em <http://www.dimap.ufrn.br/~jair/piu/apostila/cap6.pdf>. Acesso em: 21 abr.
2005.
[LEI 2001] LEITE, Jair Cavalcanti. Projeto de Interfaces de Usuário. Disponível em
<http://www.dimap.ufrn.br/~jair/piu/default.html>. Acesso em: 21 abr. 2005.
[LOT 2005] Lotus Learning Management System. Disponível em <
ftp://ftp.lotus.com/pub/lotusweb/lms/LMSBrochure.pdf >. Acesso em: 04 jul. 2005.
[MIL 1999] MILLEN, David R., Rapid Ethnography: Time Deepening Strategies for HCI
Fields Research,AT&T Labs-Research, 1999;
[MOO 2005] moodle.org. Disponível em <http://moodle.org/>. Acesso em: 05 abr. 2005.
96
[MOD 2003] MODESTO, Lisandro Rogério. Sistema de Interface Inteligente - Parte3.
Disponível em <http://www.fap.com.br/webnews/noticia.php?id_noticia=42&>. Acesso em
19 set. 2004.
[MYS 2005] mysql.com. Disponível em <http://www.mysql.com/>. Acesso em: 12 abr.
2005.
[NAT 2005] NATALI, Ana Candida Cruz; Falbo, Ricardo A.; Infra-Estrutura para Gerência
de Conhecimento. Disponível em
<http://www.inf.ufes.br/%7Efalbo/download/pub/Wgc2003.pdf >. Acesso em: 06 jun. 2005.
[NIE 1993] NIELSEN, J.; Usability Engineering, San Francisco: Morgan Kaufmann, 1993;
[OLM 2005] University of Utah, Departament of Psychology. Disponível em
<http://www.psych.utah.edu/learn/>. Acesso em: 04 jul. 2005.
[PAR 1995] PARKER, Geoffrey. História do Mundo. São Paulo: Folha da Manhã S.A.,
1995.
[PET 2001] PETERS, James F. e Witold Pedrycz. Engenharia de Software. Rio de Janeiro:
Campus, 2001.
[PHP 2005] php.net. Disponível em <http://www.php.net/>. Acesso em: 12 abr. 2005.
[POR 1991] PORTER, Michael E. Estratégia Competitiva: Técnicas para Análise de
Indústrias e da Concorrência. 5ª ed. Rio de Janeiro: Campus, 1991.
[PRE 1995] PRESSMAN, Roger S. Engenharia de software. São Paulo, Makron Books,
1995.
[PUZ 2005] Puzzles.com. Disponível em <http://www.puzzles.com/>. Acesso em: 05 abr.
2005.
[RAM 2005] RAMALHO, José Carlos; Librelotto, Giovani R.; Henriques, Pedro R.
ADRIAN: Sistema de Suporte à Produção de Conteúdo. Disponível em
<http://www.di.uminho.pt/~jcr/XML/publicacoes/artigos/2004/RHL04-eLes-slides.pdf>.
Acesso em: 06 jun. 2005
97
[REL 2005] Reload – Reusable eLearning Object Authoring & Delivery. Disponível em
<http://www.reload.ac.uk/>. Acesso em: 02 mar. 2005.
[RHA 2004] Randall House Associates, Inc. Disponível em
<http://www.rhassociates.com/scorm.htm>. Acesso em: 01 jun. 2004.
[ROS 2002] ROSENBERG, Marc J. e-Learning. São Paulo: Pearson Educaton do Brasil,
2002.
[ROY 1995] ROYER, Traci. Using Scenario-Based Designs to Review User Interface
Changes and Enhancements. CText, Inc.
[RST 2003] ROSATELLI, Marta C. e TEDESCO, P. A. – Diagnosticando o Usuário para
Criação de Sistemas Personalizáveis. Programa de Pós-Graduação em Informática -
Universidade Católica de Santos (Unisantos) e Centro de Informática - Universidade Federal
de Pernambuco (UFPE).
[RUS 2004] RUSTICI, Mike. Two Minute SCORM Overview for Developers. Disponível
em <http://www.adlnet.org/index.cfm?
fuseaction=developer&pageview=viewarticle&ID=10>. Acesso em: 30 jun. 2004.
[SCO 2004] Sharable Content Object Reference Model (SCORM) 2004. ADL Technical
Team. Disponível em <http://www.adlnet.org/index.cfm?
fuseaction=DownFile&libid=648&bc=false>. Acesso em: 08 jul. 2004
[SEB 2000] SEBESTA, R. W. Conceitos de linguagem de programação. Porto Alegre,
Bookman, 2000.
[SHN 1998] SHNEIDERMAN B. Theorie, principles and guidelines, In Ben Shneiderman
Designing the user interface - Strategies for effective Human-Computer Interaction.
New York: Addison-Wesley, pp. 51-94, 1998.
[SIM 2005] DAHL, Johan e NYGAARD, Kristen. How Object-Oriented Programming
Started. Dept. of Informatics, University of Oslo. Disponível em
<http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html>.
Acesso em: 21 abr. 2005.
98
[SMI 2005] SMITH, Marcelo. e-Learning: sete passos para acertar na escolha do
fornecedor. Disponível em <http://www.intranetportal.com.br/e-learning/el2>. Acesso em:
06 jun. 2005.
[SMT 2005] Smalltalk.orgtm . Disponível em <http://www.smalltalk.org/main/>. Acesso em:
21 abr. 2005.
[SNY 2003] Snyder, Carolyn. Paper Prototyping: The Fast and Easy Way to Design and
Refine User Interfaces. Morgan Kaufmann Publishers.
[SS3 2005] Sumatra System 3. Disponível em <http://www.stc-de.com/en/sumatra.jsp>.
Acesso em: 04 jul. 2005.
[STE 2004] STEFANELLI, Eduardo. Carta ao editor-chefe da revista eletrônica da
ABED. Disponível em < http://www.abed.org.br/publique/cgi/cgilua.exe/sys/start.htm?
UserActiveTemplate=1por&infoid=885&sid=65>. Acesso em: 18 jul. 2005.
[STR 2005] Jakarta Struts Application Framework. Disponível em <
http://jakarta.apache.org >. Acesso em: 04 jul. 2005.
[SUA 2005] SUA, Jun-Ming; Tsengb, Shian-Shyong; Chen, Chia-Yu; Wengb, Jui-Feng e
Tsai, Wen-Nung. Constructing SCORM compliant course based on High-Level Petri
Nets. Disponível em < http://www.sciencedirect.com/science/ sdarticle.pdf >. Acesso em: 06
jun. 2005.
[TED 2002] TEDESCO P. and GOMES, Alex Sandro: Amadeus: A Framework To
Support Multi-Dimensional Learner Evaluation. The 1st International Conference on
Web-based Learning. (2002) Hong Kong, China;
[PWA 2005] Modelo SCORM. Disponível em <
http://portal.webaula.com.br/entenda_scorm.aspx?sm=scorm >. Acesso em: 06 jun. 2005.
[WHA 2004]. The leading IT encyclopedia and learning center. Disponível em <
http://www.whatis.com>. Acesso em: 01 out. 2004.
[UML 2005] Object Management Group, Inc (OMG) Unified Modeling Language™
(UML™). Disponível em < http://www.omg.org/uml/>. Acesso em: 13 ago. 2003.
99
[VEE 1998] VEER, Gerrit C. van der; Welie, Martijn van. Groupware Task Analysis.
Department of Computer Science. Vrije Universiteit de Boelelaan, Amsterdan, The
Netherlands. Disponível em <http://www.cs.vu.nl/~gerrit/gta/>. Acesso em: 18 out. 2004.
[WZP 2005] WinZip. Disponível em <http://www.winzip.com/>. Acesso em: 02 mar. 2005.
[XML 2005] W3C – World Wide Web Consortium, Extensible Markup Language
(XML). Disponível em <http://www.w3.org/XML/>. Acesso em: 12 ago. 2003.
100
ANEXOS
Anexo I - Conteúdo do arquivo imsmanifest.xml.
O conteúdo listado a seguir é de um arquivo XML manifest chamado imsmanifest.xml criado
com um editor de curso para o padrão SCORM, também inserido no pacote junto com os
objetos físicos que compõem o curso. Esse arquivo contém as identificações de cada objeto de
aprendizagem e seus sub-itens, ou seja, os objetos lógicos. No processo de importação do
pacote para o ambiente SCORM, as informações desse arquivo são utilizadas para preencher
as tabelas TBCourseInfo e TBItemInfo.
<?xml version="1.0" encoding="UTF-8"?>
<!--This is a Reload version 2.0.2 SCORM 1.2 Content Package document-->
<!--Spawned from the Reload Content Package Generator - http://www.reload.ac.uk-->
<manifest
xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_v1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2"
identifier="MANIFEST-0C9E599A-5C8C-FCE2-7B04-2C6632175D60" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1imscp_v1p1.xsd http://www.imsglobal.org/xsd/imsmd_v1p2imsmd_v1p2p2.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd">
<organizations default="ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED">
<organization
identifier="ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED" structure="hierarchical">
<title>Java e JDBC</title>
<item
identifier="ITEM-744027D8-447F-B340-10AA-BAFB9FFED4D2" isvisible="true"
identifierref="RES-1441794D-BC4F-19FF-B2DA-7A18F02D42BF">
<title>Conectividade de Banco de Dados Java</title>
</item>
<item
identifier="ITEM-FEB88C31-9D6F-70BE-30B7-537C33282A75" isvisible="true"
identifierref="RES-22E8F1BB-BC0C-DB76-A635-52A9BFBD82CF">
<title>1. O que e JDBC ?</title>
</item>
101
<item identifier="ITEM-30109A37-82C0-3601-F535-CD013BA9FB82" isvisible="true"
identifierref="RES-599B2809-29DB-05F9-4FF1-C6B13208A8B1">
<title>2. Estudo de Caso</title>
</item>
<item
identifier="ITEM-E2EC19DB-4A5D-BFA4-3ED5-78853AE8B41C" isvisible="true"
identifierref="RES-9379D7FA-86E9-C9F7-9BAE-C9E86815DEF9">
<title>3. Registrando o Banco de Dados</title> </item>
<item
identifier="ITEM-63F09F7A-7A1B-F778-FF3F-B3851ABAC5DC" isvisible="true"
identifierref="RES-E3E64C21-5879-7C88-BB0A-12827C7AC10B">
<title>4. Consultando Dados</title>
</item>
<item
identifier="ITEM-17B800B8-A8A0-A760-E95D-9AA6D704667B" isvisible="true"
identifierref="RES-815B354E-E43E-3A9C-CABE-00DE0F409990">
<title>5. Lendo, Inserindo e Atualizando dados</title>
</item>
<item identifier="ITEM-5E9581A3-0CAB-4C59-C1F4-8F98178FB219" isvisible="true"
identifierref="RES-0B56ABF3-1D82-52D4-5854-B11717C440EF">
<title>Dicionario</title> </item>
<item
identifier="ITEM-BFD08E2C-AD11-66ED-C00F-CEFB75163BEF" isvisible="true"
identifierref="RES-A51BF8C4-0D0A-069F-64DE-950F5BACD067">
<title>Bibliografia</title> </item>
</organization>
</organizations>
<resources>
<resource
identifier="RES-1441794D-BC4F-19FF-B2DA-7A18F02D42BF" type="webcontent" adlcp:scormtype="asset" href="index.html">
<file href="index.html" />
<file href="AdicionandoRegistro.java" />
<file href="atualiza.html" />
<file href="AtualizandoRegistro.java" />
102
<file href="bibliogr.html" />
<file href="CadastroCliente.java" />
<file href="ClearFields.java" />
<file href="consulta.html" />
<file href="ControlPanel.java" />
<file href="dicionario.html" />
<file href="empresa.mdb" />
<file href="estudode.html" />
<file href="ExcluindoRegistro.java" />
<file href="ExecutarCadastroCliente.java" />
<file href="ExecutarMostrarTabela.java" />
<file href="Help.java" />
<file href="images/cadastrocliente.jpeg" />
<file href="images/consultatabela.jpeg" />
<file href="images/fontedadosodbcadicionar.jpeg" />
<file href="images/fontedadosodbcavancado.jpeg" />
<file href="images/fontedadosodbcuserdns.jpeg" />
<file href="images/msaccessempresacliente.jpeg" />
<file href="images/windowspainelfontedadosodbc.jpeg" />
<file href="images/windowspainelfontedadosodbc2.jpeg" />
<file href="ListarCliente.java" />
<file href="MostrarTabela.java" />
<file href="oquejdbc.html" />
<file href="ProcurandoRegistro.java" />
<file href="registra.html" />
<file href="ScrollingPanel.java" />
</resource>
<resource
identifier="RES-22E8F1BB-BC0C-DB76-A635-52A9BFBD82CF" type="webcontent" adlcp:scormtype="asset" href="oquejdbc.html">
<file href="oquejdbc.html" />
</resource>
<resource
identifier="RES-599B2809-29DB-05F9-4FF1-C6B13208A8B1" type="webcontent" adlcp:scormtype="asset" href="estudode.html">
103
<file href="estudode.html" />
<file href="empresa.mdb" />
<file href="images/msaccessempresacliente.jpeg" />
</resource>
<resource
identifier="RES-E3E64C21-5879-7C88-BB0A-12827C7AC10B" type="webcontent" adlcp:scormtype="asset" href="consulta.html">
<file href="consulta.html" />
<file href="empresa.mdb" />
<file href="ExecutarMostrarTabela.java" />
<file href="images/consultatabela.jpeg" />
<file href="images/fontedadosodbcadicionar.jpeg" />
<file href="images/fontedadosodbcavancado.jpeg" />
<file href="images/fontedadosodbcuserdns.jpeg" />
<file href="images/windowspainelfontedadosodbc.jpeg" />
<file href="images/windowspainelfontedadosodbc2.jpeg" />
<file href="MostrarTabela.java" />
<file href="registra.html" />
</resource>
<resource
identifier="RES-9379D7FA-86E9-C9F7-9BAE-C9E86815DEF9" type="webcontent" adlcp:scormtype="asset" href="registra.html">
<file href="registra.html" />
<file href="empresa.mdb" />
<file href="images/fontedadosodbcadicionar.jpeg" />
<file href="images/fontedadosodbcavancado.jpeg" />
<file href="images/fontedadosodbcuserdns.jpeg" />
<file href="images/windowspainelfontedadosodbc.jpeg" />
<file href="images/windowspainelfontedadosodbc2.jpeg" />
</resource>
<resource
identifier="RES-815B354E-E43E-3A9C-CABE-00DE0F409990" type="webcontent" adlcp:scormtype="asset" href="atualiza.html">
<file href="atualiza.html" />
<file href="AdicionandoRegistro.java" />
104
<file href="AtualizandoRegistro.java" />
<file href="CadastroCliente.java" />
<file href="ClearFields.java" />
<file href="consulta.html" />
<file href="ControlPanel.java" />
<file href="empresa.mdb" />
<file href="ExcluindoRegistro.java" />
<file href="ExecutarCadastroCliente.java" />
<file href="ExecutarMostrarTabela.java" />
<file href="Help.java" />
<file href="images/cadastrocliente.jpeg" />
<file href="images/consultatabela.jpeg" />
<file href="images/fontedadosodbcadicionar.jpeg" />
<file href="images/fontedadosodbcavancado.jpeg" />
<file href="images/fontedadosodbcuserdns.jpeg" />
<file href="images/windowspainelfontedadosodbc.jpeg" />
<file href="images/windowspainelfontedadosodbc2.jpeg" />
<file href="ListarCliente.java" />
<file href="MostrarTabela.java" />
<file href="ProcurandoRegistro.java" />
<file href="registra.html" />
<file href="ScrollingPanel.java" />
</resource>
<resource
identifier="RES-0B56ABF3-1D82-52D4-5854-B11717C440EF" type="webcontent" adlcp:scormtype="asset" href="dicionario.html">
<file href="dicionario.html" />
</resource>
<resource
identifier="RES-A51BF8C4-0D0A-069F-64DE-950F5BACD067" type="webcontent" adlcp:scormtype="asset" href="bibliogr.html">
<file href="bibliogr.html" />
</resource>
</resources>
</manifest>
105
Anexo II - Arquivo viewCourses.jsp pertencente a API do SCORM
O modelo SCORM contém diversas API´s que reunidas constituem o RTE. Elas permitem ao
aprendiz acessar o conteúdo do LMS. A seguir, lista-se o conteúdo do arquivo
viewCourses.jsp (Java Server Pages) que permite ao aprendiz visualizar e escolher um
dentre os cursos registrados para ele no ambiente. Os demais arquivos/API´s ficam
armazenados no caminho adl\admin, adl\import e adl\runtime, quando o ambiente é instalado.
<%@page import = "java.sql.*, java.util.*,
org.adl.util.*, org.adl.samplerte.util.*" %>
<%
** Filename: viewCourses.jsp
** File Description: This file displays a list of courses that a user ** is registered for. The user can click on the link and launch the course.
** Author: ADL Technical Team
** Contract Number:
** Company Name: CTC
** Module/Package Name:
** Module/Package Description:
** Design Issues:
** Implementation Issues:
** Known Problems:
** Side Effects:
** References: ADL SCORM
%>
<%
Connection conn;
PreparedStatement stmtSelectUserCourse;
LMSDatabaseHandler myDatabaseHandler = new LMSDatabaseHandler();
// Query for all courses that the logged in user is regestered for.
String sqlSelectUserCourse = "SELECT CourseInfo.CourseID, " +
"CourseInfo.CourseTitle, CourseInfo.ImportDateTime FROM " +
"CourseInfo, UserCourseInfo " +
"WHERE UserCourseInfo.UserID = ? AND " +
106
"CourseInfo.CourseID = UserCourseInfo.CourseID AND " +
"CourseInfo.Active = yes " +
"ORDER BY CourseInfo.ImportDateTime DESC";
String formBody = new String();
try
{ conn = myDatabaseHandler.GetConnection();
stmtSelectUserCourse= conn.prepareStatement(sqlSelectUserCourse );
String userID = (String)session.getAttribute("USERID" );
ResultSet userCourseRS = null;
synchronized(stmtSelectUserCourse )
{ stmtSelectUserCourse.setString(1, userID );
userCourseRS = stmtSelectUserCourse.executeQuery(); }
//Loops through the result set 'userCourseRS' outputting the name of
//the course as a link to the sequencing engine with the courseID
//so that the course can be launched by clicking on the link.
String color = new String("#FFFFFF");
while (userCourseRS.next() )
{ String courseID = userCourseRS.getString("CourseID" );
String courseTitle = userCourseRS.getString("CourseTitle" );
String importDateTime = userCourseRS.getString("ImportDateTime");
formBody = formBody + "<tr bgcolor='" + color + "'><td>";
// If its auto, launch in a new window. If not, launch in the frameset
if (false )
{ formBody = formBody + "<a href='javascript:launchAutoWindow('" +
courseID + "')'>" + courseTitle + "</a>"; }
else
{ formBody = formBody + "<a href='sequencingEngine.jsp?courseID=" +
courseID + "&courseTitle=" + "courseTitle'>" + courseTitle +
"</a><br>Imported on: " + importDateTime; }
formBody = formBody + "</td></tr>";
if(color.equals("#FFFFFF"))
{ color = "#CDCDCD"; }
else107
{ color = "#FFFFFF"; }
}
// Clean up any Global Objectives connections left from exit or suspend
if (! LMSDBHandler.getConnection().isClosed() )
{ LMSDBHandler.closeConnection(); }
userCourseRS.close();
stmtSelectUserCourse.close();
conn.close(); }
catch(SQLException e)
{ System.out.println("viewcourses ");
e.printStackTrace(); }
catch(Exception e)
{ e.printStackTrace(); }
%>
<html>
<head>
<title>SCORM 2004 Sample Run-Time Environment Version 1.3 -
View Courses</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="Tue, 05 DEC 2000 01:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<link href="../includes/sampleRTE_style.css" rel="stylesheet"
type="text/css">
<script language="javascript">
/************************************************************************** Function: launchAutoWindow()
** Input: courseID - String - The identifier of the course that is being
** launched in the new window.
** Output: none
** Description: Launches course content in a new window.
**/
function launchAutoWindow(courseID )
{ var theURL = "sequencingEngine.jsp?courseID=" + courseID;;
window.document.location.href = "LMSMenu.jsp";
window.top.contentWindow=window.open(theURL, 'displayWindow' ); }
108
/****************************************************************************
** Function: newWindow()
** Input: pageName - String - The page that will be launched in the new
** window. At this time, only the help page.
** Output: none
** Description: Launches a new window with additional user help
**/
function newWindow(pageName)
{
window.open(pageName, 'Help',
"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no," +
"resizable=yes,width=500,height=500");}
</script>
</head>
<body bgcolor="#FFFFFF" >
<jsp:include page="gotoMenu.jsp" flush="true" />
<p class="font_header">
<b> Available Courses</b></p>
<FORM METHOD="POST">
<table width="400">
<tr> <td> <hr> </td> </tr>
<tr>
<td bgcolor="#5E60BD" class="white_text">
<b> Please Select a Course: </b> </td> </tr>
<%= formBody%>
<tr> <td> <hr> </td> </tr>
<tr> <td> <br><br>
<a href="javascript:newWindow('../help/launchCourseHelp.htm' );">
Help!</a> </td> </tr>
</table>
</FORM>
</body>
</html>
109
Anexo III - Script do Banco de Dados SCORM
Apresenta-se nesse anexo o script completo obtido da base de dados SCORM. O modelo
“baixado” e instalado para essa pesquisa utiliza o banco de dados Microsoft Access. Contudo,
outro banco de dados pode ser utilizado, de acordo com a escolha do desenvolvedor do
ambiente virtual de ensino. Esse script pode ser utilizado para preparar o banco de dados
escolhido para receber os objetos se aprendizagem.
CREATE DOMAIN LOGICAL AS CHAR(1) DEFAULT NULL CHECK ((VALUE IN ('T','F')) OR (VALUE IS NULL) );
CREATE DOMAIN MONEY AS NUMERIC (15,2);
CREATE DOMAIN OLE AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
CREATE TABLE ApplicationData
(dataName CHAR (50),
textValue CHAR (50),
numberValue INTEGER);
CREATE UNIQUE INDEX nextCourseID ON ApplicationData (dataName);
CREATE UNIQUE INDEX numberValue ON ApplicationData (numberValue);
CREATE TABLE CourseInfo
(CourseID CHAR (50),
CourseTitle CHAR (50),
Active LOGICAL,
ImportDateTime TIMESTAMP );
CREATE UNIQUE INDEX Course ID ON CourseInfo (CourseID);
CREATE TABLE ItemInfo
(CourseID CHAR (255),
OrganizationIdentifier CHAR (255),
ItemIdentifier CHAR (255),
ResourceIdentifier CHAR (255),
Launch CHAR (255),
Type CHAR (50),
110
Title CHAR (255),
ParameterString CHAR (255),
PersistState CHAR (255),
DataFromLMS CHAR (255),
MinNormalizedMeasure CHAR (50),
AttemptAbsoluteDurationLimit CHAR (255),
TimeLimitAction CHAR (255),
CompletionThreshold CHAR (255),
Next LOGICAL,
Previous LOGICAL,
Exit LOGICAL,
Abandon LOGICAL );
CREATE UNIQUE INDEX Identifier ON ItemInfo (ItemIdentifier);
CREATE UNIQUE INDEX OrganizationIdentifier ON ItemInfo (OrganizationIdentifier);
CREATE UNIQUE INDEX ResourceIdentifier ON ItemInfo (ResourceIdentifier);
CREATE UNIQUE INDEX SCO ID ON ItemInfo (CourseID);
CREATE TABLE UserCourseInfo
(UserID CHAR (50),
CourseID CHAR (50) );
CREATE UNIQUE INDEX CourseInfoUserCourseInfo ON UserCourseInfo (CourseID);
CREATE UNIQUE INDEX CourseInfoUserCourseInfo1 ON UserCourseInfo (CourseID);
CREATE UNIQUE INDEX UserID ON UserCourseInfo (UserID);
CREATE UNIQUE INDEX UserInfoUserCourseInfo ON UserCourseInfo (UserID);
CREATE TABLE UserInfo
(UserID CHAR (50),
LastName CHAR (50),
FirstName CHAR (50),
Admin LOGICAL,
Password CHAR (50),
Active LOGICAL );
CREATE UNIQUE INDEX User ID ON UserInfo (UserID);
111
Anexo IV - Script de Alteração do Banco de Dados SCORM
A lista é o script de alteração da base de dados SCORM. Para a implementação desse
protótipo é necessária a criação de duas novas tabelas e adição de um atributo na tabela de
usuários. Assim, como no anexo III, esse script pode ser utilizado para preparar banco de
dados escolhido para realizar o ciclo de tirar dúvida e registro do percurso do aprendiz.
CREATE TABLE Duvida
( UserID CHAR (50),
CourseID CHAR (255),
ItemIdentifier CHAR (255),
DuvidaId CHAR (50),
Duvida CHAR (255),
DateTimeDuvida TIMESTAMP,
Resposta CHAR (255),
DateTimeResposta TIMESTAMP,
DateTimeCiente TIMESTAMP);
CREATE UNIQUE INDEX Identifier ON Duvida (UserID,CourseID,ItemIdentifier,DuvidaId);
CREATE TABLE Percurso
( UserID CHAR (50),
CourseID CHAR (255),
ItemIdentifier CHAR (255),
DateTimePercurso TIMESTAMP);
CREATE UNIQUE INDEX Identifier ON Percurso (UserID,CourseID,ItemIdentifier,DateTimePercurso);
ALTER TABLE UserInfo ADD Professor LOGICAL;
112
Anexo V – Código Fonte do protótipo funcional 2
A criação de um protótipo funcional mostrou-se necessária para que se pudesse observar os
usuários (alunos) interagindo não com telas estáticas, mas com algo real, ainda que inicial. O
termo real se refere a um completo acesso ao banco de dados SCORM em processos de leitura
e gravação. Como os códigos fonte SCORM necessários para criar um protótipo funcional não
estavam 100% disponíveis para alteração, esse protótipo foi implementado com componentes
Java (Japplet, JTree e JEditorPane basicamente).
Esses códigos estão listados aqui para auxiliar no desenvolvimento do módulo de gestão de
conteúdo com base em objetos de aprendizagem, possibilitando ao leitor, com um mínimo
conhecimento em programação Java, entender como se dá a interação entre o usuário e esses
objetos.
1) TreeScorm.html
É o arquivo/html principal que aciona o applet.
<html>
<head>
<title>JTree</title>
</head>
<applet code="TreeScorm.class" width=600 height=400>
<PARAM NAME = red VALUE="255">
<PARAM NAME = green VALUE="255">
<PARAM NAME = blue VALUE="255">
</applet>
</html>
2) TreeScorm.java
Esta classe/Applet é responsável por acionar a classe de criação da árvore de atividades.
import javax.swing.*;
113
import java.sql.*;
import java.awt.*;
public class TreeScorm extends JApplet
{String curso, login, senha;
public void init() {
super.init();
try
{curso = "Course-1";
login = "admin";
senha = "admin";
CreateTree ct = new CreateTree (this,curso,login, senha);
this.getContentPane().add(ct);
}
catch (SQLException SQLe)
{}
}
public void paint (Graphics g)
{super.paint (g);}
}
3) CreateTree.java
Esta classe/painel, executada dentro do Applet, exibe a árvore de atividades, conteúdo do
curso e áreas para mostrar e digitar dúvidas e respostas. Nessa classe, manipula-se o banco de
dados, gravando os registros de acordo com as escolhas do usuário.
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.text.html.*;
114
class CreateTree extends JPanel implements TreeExpansionListener,
TreeWillExpandListener, TreeSelectionListener,ListSelectionListener {
private DefaultMutableTreeNode top;
private DefaultMutableTreeNode catagory = null ;
private DefaultMutableTreeNode artist = null;
private DefaultMutableTreeNode record = null;
private JTree tree;
protected DefaultTreeModel treeModel;
private JComboBox cursosComboBox;
private JPopupMenu popupMenu;
private JMenuItem items[];
private ItemHandler handler;
private JButton buttonEnviar, buttonCancelar;
private JTextArea duvidaTextArea;
private JTextArea respostaDuvidaTextArea;
private JTextField currentSelectionField;//, currentSelectionField2;
private JPanel panelselection;
private JPanel panelpopupselection;
private JEditorPane htmlPane;
private JScrollPane scrollPane;
private Connection connection = null;
private ResultSet resultSet;
private String nomeCurso;
private String titleCurso;
private JScrollPane treePane;
private JApplet parent;
private Color colorpadrao = new Color (255,200,103);
private Color colorpadrao2 = new Color (255,213,138);
private Color colorpadrao3 = new Color (244,223,184);
private String userId;
private String DuvidaId;
private boolean duvida;
private boolean duvidaRespondida;
public CreateTree(JApplet parent, String nomeCurso, String login, String senha)
throws SQLException {115
boolean moreRecords;
this.tree = new JTree(new DefaultTreeModel (
new DefaultMutableTreeNode("Curso nao carregado")));
popupMenu = new JPopupMenu();
panelselection = new JPanel ();
panelpopupselection = new JPanel ();
this.parent = parent;
this.nomeCurso = nomeCurso;
this.titleCurso ="";
this.userId = "";
this.connection = Biblioteca.conexaoOdbc ("SCORM2004SRTE13", login, senha);
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT * FROM USERINFO WHERE (UserId LIKE '" + login + "' AND "+
"Password LIKE '"+ senha +"') ");
if (this.resultSet != null)
{moreRecords = this.resultSet.next();
if (moreRecords)
{this.userId = resultSet.getString(1);
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT CourseInfo.CourseTitle FROM CourseInfo " +
"where (CourseId like '" + this.nomeCurso +"')");
if (this.resultSet != null)
{moreRecords = this.resultSet.next();
if (moreRecords ) { // Se há registros
this.titleCurso =resultSet.getString(1);
this.preencherArvore (this.nomeCurso, this.titleCurso);
this.tree = new JTree(this.treeModel) {public Insets getInsets() {
return new Insets(5,5,5,5); } };
this.tree.addTreeSelectionListener(this);
tree.setCellRenderer(new SampleTreeCellRenderer (this.connection,
this.resultSet, this.userId, this.nomeCurso));
popupMenu = new JPopupMenu();
handler = new ItemHandler();116
items = new JMenuItem[ 3 ];
items[ 0 ] = new JMenuItem ("Registrar Duvida");
items[ 1 ] = new JMenuItem ("Mostrar Duvida");
items[ 2 ] = new JMenuItem ("Resposnder Duvida");
popupMenu.add(items[ 0 ] );
popupMenu.add(items[ 1 ] );
popupMenu.add(items[ 2 ] );
items[ 0 ].addActionListener(handler );
items[ 1 ].addActionListener(handler );
items[ 2 ].addActionListener(handler );
tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e )
{ checkForTriggerEvent(e ); }
public void mouseReleased(MouseEvent e )
{ checkForTriggerEvent(e ); }
private void checkForTriggerEvent(MouseEvent e )
{if (e.isPopupTrigger() )
popupMenu.show(e.getComponent(),e.getX(), e.getY() ); }
});
panelselection = new JPanel ();
panelselection.setBackground (colorpadrao);
currentSelectionField = new JTextField("Current Selection: NONE");
panelselection.add (currentSelectionField);
panelpopupselection = new JPanel ();
panelpopupselection.setBackground (colorpadrao);
duvidaTextArea = new JTextArea("", 5, 20 );
respostaDuvidaTextArea = new JTextArea("", 5, 20 );
duvidaTextArea.setBackground (colorpadrao3);
respostaDuvidaTextArea.setBackground (colorpadrao3);
buttonEnviar = new JButton ("_");
this.buttonEnviar.addActionListener
( new ActionListener (){ public void actionPerformed (ActionEvent e)
{String ItemIdentifier = "";
CreateTree.this.resultSet = Biblioteca.getResultSet (CreateTree.this.connection,
"SELECT ItemInfo.ItemIdentifier FROM ItemInfo where Title like '" + 117
Biblioteca.transformaString (tree.getLastSelectedPathComponent().toString())
+ "' and " + " CourseID like '" + CreateTree.this.nomeCurso + "'");
try
{if (CreateTree.this.resultSet != null)
{boolean moreRecords = CreateTree.this.resultSet.next();
if (moreRecords ) {
ItemIdentifier = CreateTree.this.resultSet.getString(1); }// if
}}
catch (SQLException se)
{}
if (CreateTree.this.buttonEnviar.getText().equals ("Ok"))
{//...
}
else
{if (CreateTree.this.buttonEnviar.getText().equals ("Registrar"))
{String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"INSERT INTO DUVIDA " +" (UserID, CourseID,ItemIdentifier, " +
// DuvidaId Autonumeração
"Duvida, DateTimeDuvida) " + // Resposta, DateTimeResposta, DateTimeCiente
" VALUES ('" + CreateTree.this.userId+"','" +
CreateTree.this.nomeCurso+"','" +ItemIdentifier+"','" +
duvidaTextArea.getText()+"','" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) +"');");
if (resp.equals (""))
{JOptionPane.showMessageDialog (null,"Duvida Enviada com sucesso");}
else{JOptionPane.showMessageDialog (null,"Duvida Nao Enviada");}
}
else
{if (CreateTree.this.buttonEnviar.getText().equals ("Responder"))
{String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"UPDATE DUVIDA SET Resposta = '" + respostaDuvidaTextArea.getText()+
118
"', DateTimeResposta = '" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) + "' where UserId = '" + CreateTree.this.userId + "' AND CourseID = '" + CreateTree.this.nomeCurso +
"' AND ItemIdentifier = '" + ItemIdentifier + "' AND DuvidaId = " + CreateTree.this.DuvidaId);
if (resp.equals (""))
{JOptionPane.showMessageDialog (null,
"Resposta da Duvida Registrada com sucesso");}
else{JOptionPane.showMessageDialog (null,"Resposta da Duvida Nao Registrada");}
}
else
{if (CreateTree.this.buttonEnviar.getText().equals ("Ciente"))
{
String resp = Biblioteca.executeSQL(CreateTree.this.connection,
"UPDATE DUVIDA SET DateTimeCiente = '" +
Biblioteca.datetoSql ((new java.util.Date ()).toLocaleString ()) + "' where UserId = '" + CreateTree.this.userId + "' AND CourseID = '" + CreateTree.this.nomeCurso +
"' AND ItemIdentifier = '" + ItemIdentifier + "' AND DuvidaId = " + CreateTree.this.DuvidaId);
if (resp.equals (""))
{JOptionPane.showMessageDialog (null,"Ciente Registrado");}
else{JOptionPane.showMessageDialog (null,"Ciente Nao Registrado");}
}}
}}
duvidaTextArea.setText ("");
respostaDuvidaTextArea.setText ("");
duvidaTextArea.setEnabled (false);
respostaDuvidaTextArea.setEnabled (false);
buttonEnviar.setEnabled (false);
buttonCancelar.setEnabled (false);
buttonEnviar.setText ("_"); }} );
buttonCancelar = new JButton ("Cancelar");
this.buttonCancelar.addActionListener
( new ActionListener ()
119
{ public void actionPerformed (ActionEvent e)
{ duvidaTextArea.setText("");
respostaDuvidaTextArea.setText("");
duvidaTextArea.setEnabled (false);
respostaDuvidaTextArea.setEnabled (false);
buttonEnviar.setEnabled (false);
buttonCancelar.setEnabled (false); }});
panelpopupselection.setLayout(new FlowLayout ());
panelpopupselection.add (duvidaTextArea);
panelpopupselection.add (respostaDuvidaTextArea);
JPanel panelButton = new JPanel ();
panelButton.setBackground (colorpadrao);
panelButton.add (buttonEnviar);
panelButton.add (buttonCancelar);
panelpopupselection.add (panelButton);
duvidaTextArea.setEnabled (false);
respostaDuvidaTextArea.setEnabled (false);
buttonEnviar.setEnabled (false);
buttonCancelar.setEnabled (false);}
}}
}
htmlPane = new JEditorPane();
htmlPane.setEditable(false);
htmlPane.addHyperlinkListener(createHyperLinkListener());
scrollPane = new JScrollPane();
scrollPane.getViewport().add(htmlPane);
this.setLayout(new BorderLayout(0, 0 ));
JPanel northPanel = new JPanel ();
northPanel.setBackground (colorpadrao);
this.add (northPanel, BorderLayout.NORTH);
this.treePane = new JScrollPane ();
this.treePane.setBackground (colorpadrao3);
this.add (this.treePane.add (this.tree), BorderLayout.WEST);
this.add (scrollPane, BorderLayout.CENTER);120
this.add (panelpopupselection, BorderLayout.SOUTH); }
private void preencherArvore (String nomeCurso, String titleCurso)
{this.top = new DefaultMutableTreeNode(new JLabel (this.titleCurso));
boolean moreRecords;
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT * FROM ItemInfo where CourseId like '" + nomeCurso + "'");
try
{if (this.resultSet != null)
{
catagory = new DefaultMutableTreeNode(new JLabel (titleCurso));
top.add(catagory);
moreRecords = this.resultSet.next();
if (moreRecords ) { // Se há registros
do
{ catagory.add(artist = new DefaultMutableTreeNode(
new JLabel (resultSet.getString(7))));
} while (resultSet.next() );
}// if
else
{ top.add(new DefaultMutableTreeNode("Sem conteúdo"));}
}
else
{ top.add(new DefaultMutableTreeNode("Sem conteúdo"));}
}
catch (SQLException se)
{}
this.treeModel = new DefaultTreeModel (top);}
public void treeWillExpand(TreeExpansionEvent e) throws ExpandVetoException {}
public void treeWillCollapse(TreeExpansionEvent e) {}
public void treeExpanded(TreeExpansionEvent e) {}
public void treeCollapsed(TreeExpansionEvent e) {}
public void addTreeSelectionListener(TreeSelectionListener e) {}
public void addTreeSelectionListener(ListSelectionEvent e) {}
public void valueChanged(TreeSelectionEvent e) {
121
if (! Biblioteca.transformaString (tree.getLastSelectedPathComponent().toString()).equals (this.titleCurso))
{
String url = "";
boolean moreRecords;
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT ItemInfo.Launch FROM ItemInfo where Title like '" +
Biblioteca.transformaString (tree.getLastSelectedPathComponent().toString())
+ "' and CourseID like '" + this.nomeCurso + "'");
try
{if (this.resultSet != null)
{moreRecords = this.resultSet.next();
if (moreRecords ) { // Se há registros
url = "file:./" + this.resultSet.getString(1);
}// if
}}
catch (SQLException se)
{}
try {
htmlPane.setPage(getClass().getResource(url));
} catch(IOException ioe) {
JOptionPane.showMessageDialog (null,"Can't follow link to " + url + ": " + ioe);
}}
}
public void valueChanged(ListSelectionEvent e) {
JOptionPane.showMessageDialog (null,"ListSelectionEvent");}
private class ItemHandler implements ActionListener {
public void actionPerformed(ActionEvent e )
{if (e.getSource() == items[ 0 ] )
{if (tree.getLastSelectedPathComponent() != null)
{ duvidaTextArea.setText ("Digite aqui sua duvida");
respostaDuvidaTextArea.setText ("E aguarde resposta");122
duvidaTextArea.requestFocus();
duvidaTextArea.setEnabled (true);
respostaDuvidaTextArea.setEnabled (false);
buttonEnviar.setEnabled (true);
buttonCancelar.setEnabled (true);
buttonEnviar.setText ("Registrar");
}
} // if
else
{ if (e.getSource() == items[ 1 ] ) // Mostrar
{ // tree.getLastSelectedPathComponent
CreateTree.this.buttonEnviar.setText ("Ok");
CreateTree.this.mostrarDuvida ();
} // if mostrar
else
{if (e.getSource() == items[ 2 ] ) // Registrar Resposta
{if (tree.getLastSelectedPathComponent() != null)
{ CreateTree.this.mostrarDuvida ();
buttonEnviar.setEnabled (true);
buttonCancelar.setEnabled (true);
if ((CreateTree.this.duvida) && (! CreateTree.this.duvidaRespondida))
{respostaDuvidaTextArea.setText ("Digite aqui a Resposta");
respostaDuvidaTextArea.requestFocus();
duvidaTextArea.setEnabled (false);
respostaDuvidaTextArea.setEnabled (true);
buttonEnviar.setText ("Responder");
}
}
} // if
}
} // else
} // actionPerformed
} // ItemHandler
void mostrarDuvida ()
123
{this.DuvidaId = "";
this.duvida = false;
this.duvidaRespondida = false;
if (tree.getLastSelectedPathComponent() != null)
{
String textoDuvida = "", textoRespostaDuvida = "";
String ItemIdentifier = "";
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT ItemInfo.ItemIdentifier FROM ItemInfo where Title like '" +
Biblioteca.transformaString (tree.getLastSelectedPathComponent().toString())
+ "' and CourseID like '" + this.nomeCurso + "'");
try
{if (this.resultSet != null)
{boolean moreRecords = this.resultSet.next();
if (moreRecords ) {
ItemIdentifier = this.resultSet.getString(1); }// if
}}
catch (SQLException se)
{}
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT Duvida.DateTimeDuvida, Duvida.DateTimeResposta, "+
"Duvida.DateTimeCiente, Duvida.Duvida, Duvida.Resposta, Duvida.DuvidaId "+
"FROM Duvida where UserId = '" + this.userId + "' AND CourseID = '" + this.nomeCurso + "' AND ItemIdentifier = '" + ItemIdentifier +
"' AND DateTimeCiente Is null and DateTimeDuvida Is not null");
try
{if (this.resultSet != null)
{boolean moreRecords = this.resultSet.next();
if (moreRecords ) { // Se há registros
String data, data2;
data=this.resultSet.getString(1);
if (data != null)124
{ data2 = this.resultSet.getString(2);
if (data2 != null)
{duvidaRespondida = true;
textoRespostaDuvida = this.resultSet.getString(5);
buttonEnviar.setText ("Ciente");
buttonEnviar.setEnabled (true);
buttonCancelar.setEnabled (true);
}
else
{duvida = true;}
textoDuvida = this.resultSet.getString(4);
this.DuvidaId = this.resultSet.getString(6);
}
}// if
} // if
} // try
catch (SQLException se)
{}
if ((duvida) || (duvidaRespondida))
{duvidaTextArea.setText (textoDuvida.trim());
respostaDuvidaTextArea.setText (textoRespostaDuvida.trim());}
else
{duvidaTextArea.setText ("") ;
respostaDuvidaTextArea.setText ("") ;
}
} }
public HyperlinkListener createHyperLinkListener() {
return new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
if (e instanceof HTMLFrameHyperlinkEvent) {
((HTMLDocument)htmlPane.getDocument()).processHTMLFrameHyperlinkEvent(
(HTMLFrameHyperlinkEvent)e);
} else {
125
try {
htmlPane.setPage(e.getURL());
} catch (IOException ioe) {
System.out.println("IOE: " + ioe);
} }
} }
}; }
}
4) SampleTreeCellRenderer.java
Esta classe/label auxilia na exibição dos ícones de identificação “!” e “?” na árvore de
atividades.
/* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
-Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
-Redistribution in binary form must reproduct the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
Neither the name of Sun Microsystems, Inc. or the names of contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided "AS IS," without a warranty of any kind. ALL
EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT
BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
126
INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
You acknowledge that Software is not designed, licensed or intended for
use in the design, construction, operation or maintenance of any nuclear
facility. */
/* @(#)SampleTreeCellRenderer.java1.16 03/01/23 */
import java.sql.*;
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.Component;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
public class SampleTreeCellRenderer extends JLabel implements TreeCellRenderer
{ private Connection connection;
private ResultSet resultSet;
private String userId;
private String nomeCurso;
static protected ImageIcon duvidaIcon;
static protected ImageIcon duvidaRespondidaIcon;
static protected final Color SelectedBackgroundColor = new Color (255,200,103);
static
{try {
duvidaIcon = new ImageIcon("duvida.gif");
duvidaRespondidaIcon = new ImageIcon("duvidarespondida.gif");
} catch (Exception e) {System.out.println("Couldn't load images: " + e);}
}
protected boolean selected;
127
private boolean duvida;
private boolean duvidaRespondida;
public SampleTreeCellRenderer (Connection connection, ResultSet resultSet,
String userId, String nomeCurso)
{this.connection = connection;
this.resultSet = resultSet;
this.userId = userId;
this.nomeCurso = nomeCurso;}
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
String stringValue =
tree.convertValueToText(value, selected, expanded, leaf, row, hasFocus);
String ItemIdentifier = "";
setText(Biblioteca.transformaString (stringValue));
if(hasFocus)
setForeground(Color.blue);
else
setForeground(Color.black);
this.duvida = false;
this.duvidaRespondida = false;
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT ItemInfo.ItemIdentifier FROM ItemInfo where Title like '" +
Biblioteca.transformaString (stringValue) + "' and CourseID like '" +
this.nomeCurso + "'");
try
{if (this.resultSet != null)
{
boolean moreRecords = this.resultSet.next();
if (moreRecords ) {
ItemIdentifier = this.resultSet.getString(1);
}// if
}
128
}
catch (SQLException se)
{}
this.resultSet = Biblioteca.getResultSet (this.connection,
"SELECT Duvida.DateTimeDuvida, Duvida.DateTimeResposta, "+
"Duvida.DateTimeCiente FROM Duvida where UserId = '" + this.userId + "' AND " + "CourseID = '" + this.nomeCurso + "' AND " +"ItemIdentifier = '" + ItemIdentifier + "' AND DateTimeCiente Is null and DateTimeDuvida Is not null");
String data, data2;
try
{if (this.resultSet != null)
{boolean moreRecords = this.resultSet.next();
if (moreRecords ) {
data=this.resultSet.getString(1);
if (data != null)
{data2 = this.resultSet.getString(2);
if (data2 != null)
{this.duvidaRespondida = true;}
else
{this.duvida = true;}
} }// if
}}
catch (SQLException se)
{}
if (this.duvida)
{setIcon(duvidaIcon);}
else
{ if (this.duvidaRespondida)
{setIcon(duvidaRespondidaIcon);}
else
{setIcon(null);}}
this.selected = selected;
return this; }
public void paint(Graphics g) {
Color bColor;129
Icon currentI = getIcon();
if(selected)
bColor = SelectedBackgroundColor;
else if(getParent() != null)
bColor = getParent().getBackground();
else
bColor = getBackground();
g.setColor(bColor);
if(currentI != null && getText() != null) {
int offset = (currentI.getIconWidth() + getIconTextGap());
if (getComponentOrientation().isLeftToRight()) {
g.fillRect(offset, 0, getWidth() - 1 - offset,
getHeight() - 1); }
else {g.fillRect(0, 0, getWidth() - 1 - offset, getHeight() - 1); }
}
else
g.fillRect(0, 0, getWidth()-1, getHeight()-1);
super.paint(g);
}}
5) Biblioteca.java
Esta classe é um biblioteca contendo códigos para conexão, via ODBC, com banco de dados.
import java.sql.*;
class Biblioteca
{public static Connection conexao (String bancoDados,String username, String password, String forname,String drive, String host)
{ String url = drive + host+ bancoDados;
Connection connection = null;
try {Class.forName(forname);
connection = DriverManager.getConnection(url, username, password ); }
catch (ClassNotFoundException cnfex ) {
System.err.println("Failed to load JDBC/ODBC driver." );
cnfex.printStackTrace();
System.exit(1);
130
}
catch (SQLException sqlex ) {
System.err.println("Unable to connect a " + url);
sqlex.printStackTrace();
}
return (connection); }
public static Connection conexaoOdbc (String bancoDados,String username, String password)
{return (conexao (bancoDados,username, password, "sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:","" ));}
public static ResultSet getResultSet (Connection connection, String query)
{ Statement statement;
ResultSet resultSet = null;
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(query ); }
catch (SQLException sqlex ) {sqlex.printStackTrace(); }
return (resultSet); }
public static String transformaString (String s){
return (s.substring (s.indexOf("text=")+5,s.indexOf(",verticalAlignment=") ));}
public static String executeSQL(Connection connection, String comandosql)
{String resp = "";
Statement statement = null;
try {statement = connection.createStatement();
statement.execute(comandosql);
statement.close(); }
catch (Exception e ) {
resp = "ERRO: Problema ao executar comando SQL"; }
return resp; }}
131