P. 1
PASSOS, J. O. D. Design interativo de ferramenta de manipulação de objetos de aprendizagem de ambientes virtuais de ensino à distância. Dissertação (Mestrado em Ciências da Computação) - Universidade Federal de Pernambuco, 2006.

PASSOS, J. O. D. Design interativo de ferramenta de manipulação de objetos de aprendizagem de ambientes virtuais de ensino à distância. Dissertação (Mestrado em Ciências da Computação) - Universidade Federal de Pernambuco, 2006.

|Views: 783|Likes:
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_MM , 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).
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_MM , 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).

More info:

Published by: Ciências Cognitivas e Tecnologia Educacional on Nov 19, 2011
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

10/18/2013

pdf

text

original

Sections

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................................................................................................5 3.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)9 4.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.....................................................................................................................................19 5 PROBLEMA.................................................................................................................................................24 6 ANÁLISE DE COMPETIDORES DE LMS DISPONÍVEIS...................................................................25 6.1 CRITÉRIOS PARA ANÁLISE COMPETITIVA DE LMS...........................................................................................26 6.2 MOODLE (MODULAR OBJECT-ORIENTED DYNAMIC LEARNING ENVIRONMENT)...................................................26 6.3 OPEN LMS...............................................................................................................................................28 6.4 OUTROS AMBIENTES....................................................................................................................................30 6.5 RESULTADOS DA ANÁLISE DE COMPETIDORES.................................................................................................30 6.5.1 Requisitos Gerais abordados nessa pesquisa......................................................................................31 7 METODOLOGIA DE DESIGN INTERATIVO CENTRADA NO USUÁRIO.....................................32 7.1 OBJETIVOS.................................................................................................................................................33 7.1.1 Geral.....................................................................................................................................................33 7.1.2 Específicos............................................................................................................................................33 7.2 OBSERVAÇÃO DOS USUÁRIOS.........................................................................................................................34 7.2.1 Procedimentos......................................................................................................................................34 7.3 CENÁRIOS..................................................................................................................................................38

7.4 PROTOTIPAGEM DE BAIXA FIDELIDADE.............................................................................................................40 7.5 ANÁLISE DAS TAREFAS E TESTE DE USABILIDADE DOS PROTÓTIPOS......................................................................42 8 RESULTADOS.............................................................................................................................................45 8.1 RESULTADOS DA OBSERVAÇÃO PARTE 1........................................................................................................45 8.1.1 Requisitos de Observação e de Material..............................................................................................45 8.2 CENÁRIOS PARTE 1.....................................................................................................................................51 8.2.1 Gestão de Conteúdo – Situação Atual..................................................................................................51 8.3 PROTOTIPAGEM DE BAIXA FIDELIDADE.............................................................................................................53 8.3.1 Protótipo de Baixa Fidelidade 1 – Geração de dúvidas......................................................................54 8.3.2 Protótipo de baixa fidelidade 2 – Geração de dúvida.........................................................................54 8.3.3 Protótipo de Baixa Fidelidade 3 – Geração de dúvidas......................................................................59 8.3.4 Protótipo de Baixa Fidelidade 4 – Reuso de objetos de aprendizagem...............................................66 8.4 RESULTADOS DA OBSERVAÇÃO PARTE 2........................................................................................................75 8.5 CASOS DE USO...........................................................................................................................................77 8.6 DIAGRAMAS DE ATIVIDADE..........................................................................................................................78 8.7 CENÁRIOS PARTE 2.....................................................................................................................................79 8.7.1 Gestão de Conteúdo– Situação Futura................................................................................................79 8.8 ANÁLISE DAS TAREFAS E TESTE DE USABILIDADE DOS PROTÓTIPOS......................................................................81 8.8.1 Análise da Tarefa 1 (Protótipo 3)........................................................................................................81 8.8.2 Análise da Tarefa 2 (Protótipo 4)........................................................................................................84 8.9 RESULTADOS OBTIDOS.................................................................................................................................84 9 CONCLUSÃO...............................................................................................................................................86 10 TRABALHOS FUTUROS.........................................................................................................................88 11 REFERÊNCIAS.........................................................................................................................................91 ANEXOS..........................................................................................................................................................99 ANEXO I - CONTEÚDO DO ARQUIVO IMSMANIFEST.XML...........................................................................................99 ANEXO II - ARQUIVO VIEWCOURSES.JSP PERTENCENTE A API DO SCORM...........................................................104 ANEXO III - SCRIPT DO BANCO DE DADOS SCORM.........................................................................................108

ANEXO IV - SCRIPT DE ALTERAÇÃO DO BANCO DE DADOS SCORM...................................................................110 ANEXO V – CÓDIGO FONTE DO PROTÓTIPO FUNCIONAL 2.....................................................................................111

LISTA DE FIGURAS
FIGURA 1. COMPONENTES LEGO..........................................................................................................12 FIGURA 2. VISÃO DA ADL: COMPARTILHAR OBJETOS DE APRENDIZAGEM.........................15 FIGURA 3. ESTRUTURA BÁSICA DE UM PACOTE SCORM..............................................................16 FIGURA 4. API VIEWCOURSES.JSP EM EXECUÇÃO.........................................................................17 FIGURA 5. ÁRVORE DE ATIVIDADES DO AMBIENTE SCORM.......................................................18 FIGURA 6. OPÇÕES DE OBJETOS DO TIPO ASSET............................................................................22 FIGURA 7. SCO É UM CONJUNTO DE ASSET´S....................................................................................22 FIGURA 8. MOODLE: REGISTRO DE UM CURSO SCORM NO AMBIENTE..................................27 FIGURA 9. MODDLE: TELA PRINCIPAL DO CURSO MODELO SCORM.......................................27 FIGURA 10. MOODLE: EXECUÇÃO DE UMA LIÇÃO DO CURSO SCORM....................................28 FIGURA 11. OPEN LMS: TELA PRINCIPAL...........................................................................................29 FIGURA 12. OPEN LMS: COURSE BUILDER.........................................................................................29 FIGURA 13. OPEN LMS: EXECUÇÃO DE CURSO MODELO SCORM..............................................30 FIGURA 14. ETAPAS PRINCIPAIS DA METODOLOGIA.....................................................................34 FIGURA 15. – USO DO RELOAD PARA CRIAÇÃO DO CURSO MODELO SCORM.......................36 FIGURA 16. PROTÓTIPO DE BAIXA FIDELIDADE 1: REGISTRANDO DÚVIDA..........................54 FIGURA 17. PROTÓTIPO DE BAIXA FIDELIDADE 1: DÚVIDA ENVIADA.....................................54 FIGURA 18. PROTÓTIPO FUNCIONAL: REGISTRAR DÚVIDA........................................................58 FIGURA 19. PROTÓTIPO FUNCIONAL: ENVIANDO DÚVIDA..........................................................58 FIGURA 20. TELA PRINCIPAL DO AMADEUS. ESCOLHENDO UM CURSO.................................59 FIGURA 21. CURSO CARREGADO SEGUNDO A ESTRUTURA DE GESTÃO DE CONTEÚDO..59 FIGURA 22. ALUNO REGISTRANDO UMA DÚVIDA EM UM ITEM DE UM CURSO...................61 FIGURA 23. PROFESSOR RESPONDENDO UMA DÚVIDA DE UM ITEM DE UM CURSO..........63 FIGURA 24. ALUNO TOMANDO CIÊNCIA DA RESPOSTA DO PROFESSOR PARA UM ITEM DE UM CURSO.....................................................................................................................................................65 FIGURA 25. GESTÃO DE CONTEÚDO [RAM 2005]...............................................................................67 FIGURA 26. ESCOLHENDO A OPÇÃO CONSTRUIR UM CURSO.....................................................68 FIGURA 27. PROFESSOR CRIANDO UM NOVO CURSO.....................................................................68 FIGURA 28. ACESSO AO REPOSITÓRIO DE CURSOS........................................................................69 FIGURA 29. REPOSITÓRIO DE CURSOS................................................................................................70 FIGURA 30. CRIANDO UM NOVO CURSO: ADICIONANDO OBJETOS DO REPOSITÓRIO......70 FIGURA 31. CONTEÚDO DO NOVO CURSO CRIADO OBTIDO DE “COURSE-1”........................73 FIGURA 32. CONTEÚDO DO NOVO CURSO CRIADO OBTIDO DE “COURSE-3”........................73 FIGURA 33. CRIANDO UM NOVO CURSO: REMOVENDO OBJETOS DE UM CURSO................74 FIGURA 34. CONTEÚDO DO NOVO CURSO APÓS REMOÇÃO DE ITEM......................................75

LISTA DE TABELAS
TABELA 1. CONTEÚDO DA TABELA TBCOURSEINFO.....................................................................20 TABELA 2. CONTEÚDO DA TABELA TBITEMINFO...........................................................................21 TABELA 3. CONTEÚDO DA TABELA TBUSERINFO...........................................................................23 TABELA 4. CONTEÚDO DA TABELA TBUSERCOURSEINFO...........................................................23 TABELA 5 - CARACTERÍSTICAS DOS USUÁRIOS QUE PARTICIPARAM DOS TESTES...........37 TABELA 6. SUGESTÕES PARA TRATAMENTO DE REQUISITOS DE MATERIAL (REQM).....49 TABELA 7. REGISTRO DE PERCURSO NA TABELA TBPERCURSO..............................................60 TABELA 8. REGISTRO DA DÚVIDA NA TABELA TBDUVIDA..........................................................62 TABELA 9. REGISTRO DA RESPOSTA DA DÚVIDA............................................................................64 TABELA 10. REGISTRO DA CIÊNCIA DO ALUNO À RESPOSTA DA DÚVIDA.............................66 TABELA 11. NOVO CURSO CRIADO NA TABELA TBCOURSEINFO..............................................69 TABELA 12. ITENS DO NOVO CURSO CRIADO: TABELA TBITEMINFO......................................71 TABELA 13. EXCLUINDO ITENS DO NOVO CURSO CRIADO: TABELA TBITEMINFO............75

LISTA DE DIAGRAMAS
DIAGRAMA 1. CLASSE DO MODELO SCORM......................................................................................20 DIAGRAMA 2. ALTERAÇÕES NO DIAGRAMA DE CLASSE DO MODELO SCORM...................56 DIAGRAMA 3. CASO DE USO 1 – PROFESSOR CRIANDO CURSO COM REUSO DE OBJETOS DE APRENDIZAGEM..........................................................................................................................................77 DIAGRAMA 4. CASO DE USO 2 – ALUNO REALIZANDO CURSO COM SUPORTE AO REGISTRO DE DÚVIDA EM OBJETOS DE APRENDIZAGEM.................................................................................78 DIAGRAMA 5. DIAGRAMA DE ATIVIDADE 1 – PROFESSOR CRIANDO CURSO COM REUSO DE OBJETOS DE APRENDIZAGEM................................................................................................................79 DIAGRAMA 6. DIAGRAMA DE ATIVIDADE 2 – ALUNO REALIZANDO CURSO COM SUPORTE A REGISTRO DE DÚVIDA EM OBJETOS DE APRENDIZAGEM...........................................................79 DIAGRAMA 7. TAREFA REALIZAR UM CURSO..................................................................................82 DIAGRAMA 8. TAREFA REGISTRAR DÚVIDA.....................................................................................82 DIAGRAMA 9. TAREFA RESPONDER DÚVIDA....................................................................................83 DIAGRAMA 10. TAREFA CIÊNCIA DA DÚVIDA...................................................................................83 DIAGRAMA 11. TAREFA CRIAR NOVO CURSO...................................................................................84

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, configurandose 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 3

SQL - Structured Query Language (Linguagem de Consulta Estruturada) 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; Rápida distribuição e alteração dos conteúdos; 6

• •

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]. 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 7

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]. 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

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

10

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 elearning [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 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
categoria de aplicação.

11

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].

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 12

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. • 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

13

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 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.

14

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). 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

5

Tag é um termo genérico para a definição de um elemento de linguagem [WHA 2004].

15

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.

Content Package

Manifest Meta-data

Manifest File (imsmanifest.xml)

Organizations Resources (sub)Manifest(s)

Physical Files
(The actual Content, Media, Assessment, and other file)

Figura 3. Estrutura Básica de um pacote SCORM.

16

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.

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].

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

Árvore Atividades

de

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].

18

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 CTS1_3STSetup.exe.
8

encontra-se

em

http://www.adlnet.org/index.cfm?fuseaction=SCORDown,

opção

Instalado em http://200.164.233.156:8080/adl/runtime/LMSMain.htm

19

TBCourseInfo CourseID CourseTitle Active ImportDataTime 1

1

0..*

TBItemInfo CourseID OrganizationIndentifier ItemIdentifier ResourceIdentifier Launch Type Title

0..* TBUserCourseInfo 0..* UserID CourseID 1 TBUserInfo UserID LastName FirstName Admin Password Active

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 Course-1 Course-2 CourseTitle Example -Active Constrained True True ImportDateTime 24/08/2005 10:37:26 25/08/2005 10:37:26

Photoshop Java e JDBC

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, “ORG24B80B92-ABBA-9455-8E50-5C380A3486ED”), o item (ItemIdentifier, “ITEM-744027D820

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 Course-2 Course-2 Course-2 Course-2 Course-2 Course-2 Course-2 Course-2 OrganizationIdentifier ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ORG-24B80B92-ABBA-9455-8E50-5C380A3486ED ItemIdentifier ITEM-744027D8-447F-B340-10AA-BAFB9FFED4D2 ITEM-FEB88C31-9D6F-70BE-30B7-537C33282A75 ITEM-30109A37-82C0-3601-F535-CD013BA9FB82 ITEM-E2EC19DB-4A5D-BFA4-3ED5-78853AE8B41C ITEM-63F09F7A-7A1B-F778-FF3F-B3851ABAC5DC ITEM-17B800B8-A8A0-A760-E95D-9AA6D704667B ITEM-5E9581A3-0CAB-4C59-C1F4-8F98178FB219 ITEM-BFD08E2C-AD11-66ED-C00F-CEFB75163BEF ResourceIdentifier RES-1441794D-BC4F-19FF-B2DA-7A18F02D42BF RES-22E8F1BB-BC0C-DB76-A635-52A9BFBD82CF RES-599B2809-29DB-05F9-4FF1-C6B13208A8B1 RES-9379D7FA-86E9-C9F7-9BAE-C9E86815DEF9 RES-E3E64C21-5879-7C88-BB0A-12827C7AC10B RES-815B354E-E43E-3A9C-CABE-00DE0F409990 RES-0B56ABF3-1D82-52D4-5854-B11717C440EF RES-A51BF8C4-0D0A-069F-64DE-950F5BACD067 Launch 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

21

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).

22

Tabela 3. Conteúdo da Tabela TBUserInfo.
UserID admin LastName Admin FirstName Joe Admin True Password Admin Active 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 admin admin CourseID Course-1 Course-2

No Anexo III encontra-se o script completo obtido da base de dados SCORM.

23

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.

24

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.

25

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 45). 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].

26

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.

27

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.

28

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.

29

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 30

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. [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. 31

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].

32

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.

33

Testes de Usabilidade Criação dos protótipos Construção dos Cenários Observação dos Usuários 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.

34

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 35

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); Java Básico. 36

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 Aluno A Aluno B Aluno C 5º 6º 10º Sim Sim Sim Sim Não Sim Modelagem Banco de Dados Sim Não Sim Não Não Não Não Não Sim Sim Sim Sim ODBC SQL POO e Java

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

37

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.

38

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].

39

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. 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 40

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. Tanto o protótipo 3, quanto o protótipo 4 foram envolvidos na etapa Cenários parte 2, como já descrita anteriormente.

41

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]. 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, 42

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; 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 subtarefas 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;

43

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.

44

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”. 45

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 disciplina de Programação Orientada a Objeto. Por isso me compliquei um pouco com 46

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, 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 47

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”. 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”. 48

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 REQM01 Solução proposta 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 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 49

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 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 50

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 pequenos atendem que,

perfeitamente a esse requisito. O curso é montado com objetos 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.

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.

51

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 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. 52

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; 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. 53

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.

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; 54

• •

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.

55

TBItemInfo TBCourseInfo CourseID CourseTitle Active ImportDataTime 1 TBDuvida 0..* UserID CourseID ItemIdentifier DuvidaID Duvida DataTimeDuvida Resposta 0..* 1 1 0..* 1 0..* 0..* 0..* TBPercurso UserID CourseID ItemIdentifier DataTime 1 0..* 1 CourseID OrganizationIndentifier ItemIdentifier ResourceIdentifier Launch Type Title 1

TBUserCourseInfo UserID CourseID

TBUserInfo UserID LastName FirstName Admin Password Active Professor

Diagrama 2. Alterações no Diagrama de Classe do modelo SCORM.

56

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.

57

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.

58

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

59

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-3ED578853AE8B41C”, 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 Joe CourseID Course-3 ItemIdentifier ITEM-E2EC19DB4A5D-BFA4-3ED578853AE8B41C DateTime 27/06/2005 17:10:12

Registro de Dúvida 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 60

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 ()) +"');"); 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 61

(“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 Joe CourseID Course-3 ItemIdentifier ITEM-E2EC19DB4A5D-BFA4-3ED578853AE8B41C Resposta DateTimeResposta DuvidaId 1 Duvida DateTimeDuvida

Professor. Não consigo registrar 27/06/2005 17:16:24 o banco de dados. Estou usando o Windows XP.

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 " + "CourseID = '" + this.nomeCurso + "' AND " +"ItemIdentifier = '" + ItemIdentifier +

62

"' 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);

63

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 Joe CourseID Course-3 ItemIdentifier ITEM-E2EC19DB4A5D-BFA4-3ED578853AE8B41C Resposta No Windows XP a opção Fontes de Dados fica numa sub-opção Controle do Painel de chamada DateTimeResposta 27/06/2005 17:25:00 DuvidaId 1 Duvida Professor. Não consigo registrar o banco de dados. Estou usando o Windows XP. DateTimeCiente DateTimeDuvida 27/06/2005 17:16:24

Ferramentas de Sistema

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 “!”.

64

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);

65

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 Joe CourseID Course-3 ItemIdentifier ITEM-E2EC19DB4A5D-BFA4-3ED578853AE8B41C Resposta No Windows XP a opção Fontes de Dados fica numa subopção do Painel de Controle chamada Sistema Ferramentas de DateTimeResposta 27/06/2005 17:25:00 DuvidaId 1 Duvida Professor. Não consigo registrar o banco de dados. Estou usando o Windows XP. DateTimeCiente 27/06/2005 17:30:42 DateTimeDuvida 27/06/2005 17:16:24

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. 66

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).

67

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.

68

Tabela 11. Novo curso criado na Tabela TBCourseInfo.
CourseID Course-1 Course-2 Course-3 Course-4 Java e JDBC Java e JDBC (2) Novo Curso CourseTitle Photoshop Example -- Constrained Choice

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.

69

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”.

Figura 30. Criando um Novo curso: Adicionando objetos do Repositório. 70

À 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.

Tabela 12. Itens do novo curso criado: Tabela TBItemInfo.
CourseID Course-4 Course-4 OrganizationIdentifier TOC1 ORG-24B80B92-ABBAItemIdentifier INTRO ResourceIdentifier RESOURCE_INTRO

ITEM-E2EC19DB-4A5D-BFA4- RES-9379D7FA-86E9C9F7-9BAEC9E86815DEF9

9455-8E50-5C380A3486ED 3ED5-78853AE8B41C

Course-4 Launch

TOC1

LESSON4 Type asset asset Title Introduction

RESOURCE_LESSON4

/adl/CourseImports/Course-1/intro.htm /adl/CourseImports/Course-3/registra.html

Registrando o Banco de Dados

/adl/CourseImports/Course-1/Lesson4.htm

asset

Lesson 4 – Layers

71

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”.

72

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

73

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. 74

Tabela 13. Excluindo itens do novo curso criado: Tabela TBItemInfo.
CourseID Course-4 Course-4 OrganizationIdentifier TOC1 ORG-24B80B92-ABBAItemIdentifier INTRO ResourceIdentifier RESOURCE_INTRO

ITEM-E2EC19DB-4A5D-BFA4- RES-9379D7FA-86E9C9F7-9BAEC9E86815DEF9

9455-8E50-5C380A3486ED 3ED5-78853AE8B41C

Launch /adl/CourseImports/Course-1/intro.htm /adl/CourseImports/Course-3/registra.html

Type Asset Asset

Title Introduction 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.

8.4 Resultados da Observação Parte 2

75

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, deixandoos 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”. • 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”.

76

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.

77

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.

78

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 79

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. 80

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). Objetos: Objeto de Aprendizagem, painel de exibição de conteúdo. 81

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. Objetivo: Responder uma Dúvida (Diagrama 9). 82

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.

Diagrama 10. Tarefa Ciência da Dúvida. 83

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.

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 84

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.

85

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 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. 86

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.

87

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 88

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 foram registradas nesse reuso, tais como ciclos de dúvidas e avaliações [NAT 2005]. 89

•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.

90

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;

91

[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.

92

[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 2005. [FOR 2005] Source Forge. Disponível em < http://sourceforge.net>. Acesso em: 04 jul. 2005. [FPE 2005] Microsoft FrontPageExpress. Disponível em: 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.

<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 93

[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. [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. 94

[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 [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. 95

[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. [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. 96

[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. [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.

97

[XML 2005] W3C – World Wide Web Consortium, Extensible Markup Language (XML). Disponível em <http://www.w3.org/XML/>. Acesso em: 12 ago. 2003.

98

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> <item identifier="ITEM-30109A37-82C0-3601-F535-CD013BA9FB82" isvisible="true" 99

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" adlcp:scormtype="asset" href="index.html"> <file href="index.html" /> <file href="AdicionandoRegistro.java" /> <file href="atualiza.html" /> <file href="AtualizandoRegistro.java" /> <file href="bibliogr.html" /> 100 type="webcontent"

<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" adlcp:scormtype="asset" href="oquejdbc.html"> <file href="oquejdbc.html" /> </resource> <resource identifier="RES-599B2809-29DB-05F9-4FF1-C6B13208A8B1" adlcp:scormtype="asset" href="estudode.html"> <file href="estudode.html" /> <file href="empresa.mdb" /> 101 type="webcontent" type="webcontent"

<file href="images/msaccessempresacliente.jpeg" /> </resource> <resource identifier="RES-E3E64C21-5879-7C88-BB0A-12827C7AC10B" 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" 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" adlcp:scormtype="asset" href="atualiza.html"> <file href="atualiza.html" /> <file href="AdicionandoRegistro.java" /> <file href="AtualizandoRegistro.java" /> <file href="CadastroCliente.java" /> <file href="ClearFields.java" /> 102 type="webcontent" type="webcontent" type="webcontent"

<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" adlcp:scormtype="asset" href="dicionario.html"> <file href="dicionario.html" /> </resource> <resource identifier="RES-A51BF8C4-0D0A-069F-64DE-950F5BACD067" adlcp:scormtype="asset" href="bibliogr.html"> <file href="bibliogr.html" /> </resource> </resources> </manifest> type="webcontent" type="webcontent"

103

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 " + "CourseInfo.CourseID = UserCourseInfo.CourseID AND " + 104

"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"; } else { color = "#FFFFFF"; } 105

} // 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' ); }

106

/ *************************************************************************** * ** 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> &nbsp;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>

107

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), Title CHAR (255), 108

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);

109

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 (UserID,CourseID,ItemIdentifier,DuvidaId); CREATE TABLE Percurso ( UserID CHAR (50), CourseID CHAR (255), ItemIdentifier CHAR (255), DateTimePercurso TIMESTAMP); CREATE UNIQUE INDEX Identifier (UserID,CourseID,ItemIdentifier,DateTimePercurso); ALTER TABLE UserInfo ADD Professor LOGICAL; ON Percurso Identifier ON Duvida

110

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.*; 111

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.*; 112

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 { 113

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(); 114

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 '" + 115

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()+ 116

"', 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 () { public void actionPerformed (ActionEvent e) 117

{

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); this.add (panelpopupselection, BorderLayout.SOUTH); } 118

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) { if (! Biblioteca.transformaString (this.titleCurso)) (tree.getLastSelectedPathComponent().toString()).equals 119

{ 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"); duvidaTextArea.requestFocus(); duvidaTextArea.setEnabled (true); 120

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 () {this.DuvidaId = ""; this.duvida = false; this.duvidaRespondida = false; 121

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) { data2 = this.resultSet.getString(2); if (data2 != null) {duvidaRespondida = true; 122

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 { try { htmlPane.setPage(e.getURL()); } catch (IOException ioe) { 123

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, 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 124

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; private boolean duvida; private boolean duvidaRespondida; public SampleTreeCellRenderer (Connection connection, ResultSet resultSet, String userId, String nomeCurso) {this.connection = connection; 125

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 } } catch (SQLException se) {} this.resultSet = Biblioteca.getResultSet (this.connection, "SELECT Duvida.DateTimeDuvida, Duvida.DateTimeResposta, "+ 126

"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; Icon currentI = getIcon(); if(selected) bColor = SelectedBackgroundColor; else if(getParent() != null) bColor = getParent().getBackground(); else 127

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); } catch (SQLException sqlex ) { System.err.println("Unable to connect a " + url); sqlex.printStackTrace(); } return (connection); }

128

public static Connection conexaoOdbc (String bancoDados,String username, String password) {return (conexao (bancoDados,username, "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; }} password,

129

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->