FERRAMENTA OLAP PARA APOIO GERENCIAL NO MOODLE Área …siaibib01.univali.br/pdf/Romero...
Transcript of FERRAMENTA OLAP PARA APOIO GERENCIAL NO MOODLE Área …siaibib01.univali.br/pdf/Romero...
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
FERRAMENTA OLAP PARA APOIO GERENCIAL NO MOODLE
Área de Gestão de Conhecimento
por
Romero Piske
Rafael de Santiago, MSc. Orientador
Marco Antonio Pinheiro, MSc.
Co-orientador
Itajaí (SC), novembro de 2009
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
FERRAMENTA OLAP PARA APOIO GERENCIAL NO MOODLE
Área de Gestão de Conhecimento
por
Romero Piske Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Rafael de Santiago, MSc.
Itajaí (SC), novembro de 2009
ii
AGRADECIMENTOS
Agradeço em primeiro lugar a Deus que durante toda essa caminhada iluminou o meu caminho e
me deu força de vontade para nunca desistir.
Aos meus pais, Valmir Piske e Silvana Aparecida Ferreira Piske, por toda a educação que tornaram
a pessoa que sou e por toda confiança.
Ao meu orientador Rafael de Santiago, pela orientação durante este ano de trabalho, com diversas
contribuições e cobranças que tornaram possível a realização deste trabalho.
A todas as pessoas, professores, avaliadores e amigos que de certa forma apoiaram e contribuíram
para a realização deste projeto.
iii
SUMÁRIO
LISTA DE ABREVIATURAS...................................................................v
LISTA DE FIGURAS................................................................................vi
LISTA DE TABELAS..............................................................................vii
RESUMO..................................................................................................viii
ABSTRACT................................................................................................ ix
1 INTRODUÇÃO......................................................................................1 1.1 PROBLEMATIZAÇÃO ..................................................................................... 3 1.1.1 Formulação do Problema................................................................................. 3 1.1.2 Solução Proposta............................................................................................... 4 1.2 OBJETIVOS ........................................................................................................ 4 1.2.1 Objetivo Geral ................................................................................................... 4 1.2.2 Objetivos Específicos ........................................................................................ 4 1.3 METODOLOGIA................................................................................................ 4 1.4 ESTRUTURA DO TRABALHO ....................................................................... 5
2 FUNDAMENTAÇÃO TEÓRICA........................................................6 2.1 LMS ......................................................................................................................6 2.1.1 AULANET ......................................................................................................... 7 2.1.2 MOODLE .......................................................................................................... 9 2.1.3 TELEDUC ....................................................................................................... 12 2.2 GESTÃO DE CONHECIMENTO................................................................... 13 2.2.1 Ferramentas para Gestão de Conhecimento................................................ 15 2.2.2 OLAP................................................................................................................ 22 2.3 SOLUÇÕES SIMILARES................................................................................ 27 2.3.1 SAC: Sistema de Apoio a Consultas no MOODLE-IESAM....................... 27 2.3.2 MIDAS-POETA .............................................................................................. 29 2.3.3 FADA - Ferramenta de Apoio à Decisão Acadêmica .................................. 30 2.3.4 Análise dos Sistemas Similares ...................................................................... 31
3 Desenvolvimento...................................................................................34 3.1 PROJETO OLAP MOODLE........................................................................... 35 3.1.1 Análise de Requisitos ...................................................................................... 35 3.1.2 Diagramas de Casos de Uso ........................................................................... 36 3.1.3 Diagramas de Atividades................................................................................ 38 3.1.4 DICIONÁRIO DE DADOS............................................................................ 41 3.1.5 EXEMPLOS DE VISÕES POSSÍVEIS........................................................ 43 3.2 IMPLEMENTAÇÃO DO OLAP MOODLE....................... ........................... 44 3.2.1 Construindo um novo bloco ........................................................................... 44 3.2.2 API do MOODLE ........................................................................................... 46
iv
3.2.3 Criação do Bloco OLAP .................................................................................47 3.2.4 Diagrama Entidade Relacional...................................................................... 51 3.3 APRESENTAÇÃO DA FERRAMENTA ....................................................... 57 3.3.1 Campos Valores............................................................................................... 57 3.3.2 Exemplo de Criação de Visão ........................................................................ 58 3.3.3 Exemplo de Utilização de uma Visão ............................................................ 64 3.4 VERIFICAÇÕES............................................................................................... 66
4 CONCLUSÕES ....................................................................................68
REFERÊNCIAS BIBLIOGRÁFICAS ...................................................70
v
LISTA DE ABREVIATURAS
BI Business Intelegence CAU Colégio de Aplicação da UNIVALI DOLAP Desktop Online Analytical Processing DW Data Warehouse ER Entidade Relacional ERP Enterprise Resource Planning ETL Extraction Tranformation and Load FADA Ferramenta de Apoio a Decisão Acadêmica GIS Geographic Information System GNU General Public License HOLAP Hybrid Online Analytical Processing LMS Learning Management System L2S Laboratório de Soluções em Software MAD Modelo Analítico de Dados MOLAP Multidimensional Online Analytical processing MOODLE Modular Object-Oriented Dynamic Learning Environment NIED Núcleo de Informática Aplicada à Educação OLAP Online Analytical Processing PUC-Rio Pontifícia Universidade Católica do Rio de Janeiro RF Requisitos Funcionais RN Regras de Negócio RNF Requisitos Não Funcionais ROLAP Relational Online Processing SAC Sistema de Apoio a Consultas SQL Structured Query Language TCC Trabalho de Conclusão de Curso UML Unified Modeling Language UNICAMP Universidade Estadual de Campinas UNIVALI Universidade do Vale do Itajaí WOLAP Web Online Analytical Processing
vi
LISTA DE FIGURAS
Figura 1. Componentes de um LMS ....................................................................................................7 Figura 2. Interface do Professor no AulaNet........................................................................................8 Figura 3. Ambiente de uma turma no MOODLE da UNIVALI ........................................................10 Figura 4. Ambiente de uma turma no Teleduc...................................................................................12 Figura 5. Ciclo básico do conhecimento ............................................................................................14 Figura 6. Arquitetura de uma solução BI ...........................................................................................16 Figura 7. Sistema completo Data Warehouse ....................................................................................19 Figura 8. Arquitetura ETL..................................................................................................................22 Figura 9. Arquitetura geral OLAP......................................................................................................24 Figura 10. Consulta no Sistema..........................................................................................................28 Figura 11. Resultado da consulta realizada........................................................................................29 Figura 12. Tela inicial do sistema ......................................................................................................30 Figura 13. Relatório de intervenções pessoais ...................................................................................31 Figura 14. Funcionamento completo da Ferramenta..........................................................................34 Figura 15. Caso de uso interação Bloco OLAP .................................................................................36 Figura 16. Diagrama de atividades Criar de Relatório.......................................................................39 Figura 17. Diagrama de atividades Consulta de relatório ..................................................................40 Figura 18. Alunos que mais acessam o MOODLE ............................................................................43 Figura 19. Cursos que mais acessam o MOODLE.............................................................................44 Figura 20. Bloco OLAP. ....................................................................................................................47 Figura 21. Diagrama de Classes.........................................................................................................48 Figura 22. Diagrama ER da Visão. ....................................................................................................52 Figura 23. Diagrama ER da Tabela Fato............................................................................................53 Figura 24. Tela de criação de Campos Valores..................................................................................57 Figura 25. Aba Informações...............................................................................................................58 Figura 26. Aba Agrupamentos. ..........................................................................................................59 Figura 27. Aba Valores. .....................................................................................................................60 Figura 28. Aba Filtros. .......................................................................................................................61 Figura 29. Aba Ordenação. ................................................................................................................62 Figura 30. Aba Usuários.....................................................................................................................63 Figura 31. Aba Finalizar.....................................................................................................................64 Figura 32. Visualização da Visão.......................................................................................................64 Figura 33. Resultado da visão. ...........................................................................................................65 Figura 34. Navegando no resultado da visão. ....................................................................................65 Figura 35. Relatório de log MOODLE...............................................................................................67 Figura 36. Query de onde os dados são utilizados para alimentação da tabela fato (parte 1 de 4). ...74 Figura 37. Query de onde os dados são utilizados para alimentação da tabela fato (parte 2 de 4). ...75 Figura 38. Query de onde os dados são utilizados para alimentação da tabela fato (parte 3 de 4). ...76 Figura 39. Query de onde os dados são utilizados para alimentação da tabela fato (parte 4 de 4). ...77
vii
LISTA DE TABELAS
Tabela 1. Comparativo Sistemas Similares........................................................................................31 Tabela 2. Dicionário de Dados...........................................................................................................42 Tabela 3. Funções da API MOODLE ................................................................................................46 Tabela 4. Atributos da classe Dimensao ............................................................................................48 Tabela 5. Operações da classe Dimensao...........................................................................................49 Tabela 6. Atributos da classe Campo .................................................................................................49 Tabela 7. Operações da classe Campo ...............................................................................................49 Tabela 8. Atributos da classe Visao ...................................................................................................50 Tabela 9. Operações da classe Visao .................................................................................................50 Tabela 10. Atributos da classe CampoValor......................................................................................51 Tabela 11. Operações da classe CampoValor ....................................................................................51 Tabela 12. Relacionamentos Visão ....................................................................................................52 Tabela 13. Entidade mdl_visao ..........................................................................................................54 Tabela 14. Entidade mdl_agrupamento_visao ...................................................................................54 Tabela 15. Entidade mdl_filtros .........................................................................................................54 Tabela 16. Entidade mdl_valores .......................................................................................................55 Tabela 17. Entidade mdl_ordenacao ..................................................................................................55 Tabela 18. Entidade mdl_block_olapfato...........................................................................................56 Tabela 19. Entidade mdl_dicionario_dados .......................................................................................57 Tabela 20. Cenário de testes...............................................................................................................66
viii
RESUMO
PISKE, Romero. Ferramenta OLAP para Apoio Gerencial no MOODLE. Itajaí, 2009. 87 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2009. O uso da tecnologia aliada à educação vem permitindo a aplicação de novas ferramentas no apoio ao ensino-aprendizagem. Aliada a esta perspectiva encontra-se o MOODLE, o LMS de código aberto mais utilizado no mundo. Por ser um LMS, o MOODLE registra todas as suas interações com os usuários em banco de dados. Como os relatórios existentes são de difícil compreensão, muitas destas informações ficam dispersas, ou estão acessíveis apenas por ferramentas com consultas pré-definidas dificultando a consulta em tempo real e a descoberta de informações novas e relevantes, sendo que na maioria dos casos estes relatórios ou ferramentas estão disponíveis somente aos administradores da ferramenta. Este problema motivou o desenvolvimento de um plugin OLAP para o LMS MOODLE suprindo a falta de relatórios gerencias e possibilitando a qualquer usuário a análise de forma dinâmica da grande massa de dados produzida pelo MOODLE. Neste trabalho de conclusão foi desenvolvida uma ferramenta de acesso via Web onde qualquer usuário de acordo com suas restrições pode, em tempo real, gerar relatórios dinâmicos sobre a massa de dados e obter as informações solicitadas. O diferencial deste trabalho para os já existentes é a possibilidade de qualquer usuário criar e analisar de forma dinâmica os relatórios gerados sobre a vasta massa de dados do LMS MOODLE e navegar sobre as dimensões destes relatórios. Palavras-chave: OLAP. LMS. MOODLE.
ix
ABSTRACT
The combination of technology and education has been allowing the use of new tools to support teaching and learning, combined with this approach there is the MOODLE, the open source LMS most used in the world. The MOODLE, like any LMS, register all their interactions with the user in the database, this information is scattered and the existing reports do not meet the needs of real decision-makers, besides being difficult to understand the extent managers are only LMS's own tools or pre-defined queries with the query difficult in real time and the discovery of new and relevant information. This problem has motivated the proposal of an OLAP plugin for MOODLE LMS that will provide a solution for the lack of management reports and allow any user to analyze the large body of data that produces MOODLE. This project will develop a tool to access Web where any user depending on their restrictions could, in real time, generate dynamic reports on the mass of data and obtain the requested information. The difference with this project for theirs similar is the possibility of any user to create and analyze in their own dynamic reports made about the vast mass of data from the MOODLE LMS. Keywords: OLAP. LMS. MOODLE.
1 INTRODUÇÃO
O uso da tecnologia aliada à educação vem permitindo a aplicação de novas ferramentas no
apoio ao ensino-aprendizagem. A popularização da Internet possibilitou novas opções de espaço e
tempo que antes não existiam na prática pedagógica. Nesta perspectiva se encontram materiais
digitais e softwares educacionais (SOARES, SÁ FILHO e MACHADO, 2003).
É fundamental que o professor conheça as possibilidades do recurso tecnológico, a fim de
utilizá-lo como instrumento para aprendizagem. No entanto, isso não significa que o professor deva
tornar-se um especialista nas ferramentas, mas é necessário conhecer suas potencialidades e saber
utilizá-las para aperfeiçoar a prática em sala de aula (MORESCHI, 2002).
Devido ao avanço e as facilidades proporcionadas pelas tecnologias de informação, diversas
instituições de ensino passaram a ofertar disciplinas e cursos de maneira virtual, algumas adotaram
aporte tecnológico às disciplinas presenciais. Um dos softwares mais utilizados neste contexto é o
LMS (Learning Management System).
Segundo Irlbeck e Mowat (2007), LMS são sistemas que simplificam a administração do
aprendizado, aceitando que os estudantes (usuários do sistema) possam planejar e monitorar sua
jornada de aprendizado. Outra característica importante dos LMS é permitir que seja possível
“rastrear” o aprendizado, isto pode auxiliar nas análises e tomadas de decisões de ensino de uma
instituição.
Um LMS auxilia a publicação de material didático e dispõe de ferramentas de interação
entre professores e alunos, num único ambiente virtual, sem fronteiras geográficas ou culturais,
tornando possível que qualquer pessoa tenha acesso a um ambiente personalizado (MORESCHI,
2002). São exemplos de LMS: TELEDUC, MOODLE, WebAula e AulaNET.
O MOODLE (Modular Object-Oriented Dynamic Learning Environment), criado em 1999
pelo Australiano Martin Dougiamas, é o LMS gratuito muito utilizado no mundo e tem uma
proposta diferenciada: fornecer suporte para aprendizagem através da perspectiva de colaboração
online, baseando-se na pedagogia sócio construtivista. O MOODLE possui seu código aberto e
possui comunidade ativa o que acarreta em constantes atualizações. Há aproximadamente 50000
instalações do LMS MOODLE distribuídas em 206 países. O número de usuários que utilizam este
ambiente ultrapassa de 10 milhões (MOODLE, 2009). Algumas instituições de ensino que utilizam
2
o MOODLE: Instituto Brasileiro de Formação Tecnológica, Universidade Federal de Minas Gerais,
Universidade Federal do Rio de Janeiro, Universidade do Rio Grande do Sul, Pontifícia
Universidade de Católica de São Paulo e Universidade do Vale do Itajaí.
O MOODLE apresenta diversos recursos importantes, dentre eles: chat, fórum, mensagens,
workshops, wiki. A possibilidade de instalação de outras ferramentas no formato de plugins que
adicionam novas funcionalidades de apoio ao aprendizado. Uma outra importante característica do
MOODLE é o registro das interações de todos os usuários (entre eles alunos e professores) no
ambiente. Essas informações são constantemente gravadas no banco de dados, o que acarreta em
uma massa de dados que pode ser utilizada para tomada de decisões.
Aliada a essa perspectiva um dos maiores desafios que as grandes empresas enfrentam (entre
elas as instituições de ensino) é o controle e o uso eficaz das informações armazenadas (MEIRA,
2004). Para que esse uso possa ocorrer de forma organizada pode ser utilizado um Data Warehouse,
que possui a função de transformar dados esparsos em informações antes inacessíveis ou
subaproveitadas, permitindo assim que sejam feitas consultas e análises mais eficazes (TAURION,
1997).
Para que sejam possíveis as consultas e análises no Data Warehouse é possível fazer uso de
ferramentas OLAP (Online Analytical Processing, do português Processamento Analítico Online)
que irão extrair e alavancar totalmente as informações nele contidas (ANZANELLO, 2002).
Ferramentas OLAP oferecerem recursos que permitem aos usuários a modelagem, análise e a
construção de apresentações visuais de grandes conjuntos de dados, incluindo atividades de geração
e resposta a consultas, análises estáticas tradicionais ou modernas, solicitação de relatórios, gráficos
sob demanda e execução dos mesmos (TURBAN, et al., 2009).
Desta forma, um Data Warehouse é utilizado para armazenar informações e o OLAP para
recuperá-las, ambos são especializados para exercer suas funções de forma eficiente. As duas
tecnologias são complementares de modo que um bom Data Warehouse é planejado com produção
de relatórios em mente (ANZANELLO, 2002).
Este trabalho de conclusão de curso tem como produto o desenvolvimento de um plugin
para o ambiente MOODLE utilizado na UNIVALI. Seu intuito é permitir análises gerenciais aos
professores, coordenadores e demais gestores através da técnica OLAP, utilizando o plugin no
3
próprio LMS. Com isso, gestores educacionais da UNIVALI serão beneficiados com criação de
consultas personalizáveis. Como trabalhos similares à proposta podem ser citados:
• Trabalho de Castro, Gonçalves e Cazarini (2004): O uso do OLAP na estratégia de
vendas em uma indústria de calçados alavancando a gestão de suprimentos, onde antes
da implantação da ferramenta com os poucos relatórios que haviam na empresa a mesma
focava suas vendas apenas em poucos clientes de grande porte. Com a utilização da
tecnologia OLAP passou a existir a possibilidade da criação dinâmica de relatórios
gerencias e tomar as decisões mais precisas baseadas nos mesmos.
• Trabalho de Meira (2004): a Proposta de aplicação da Ferramenta OLAP para Data Mart
para apoiar a captação de doadores de Sangue em um Hemonucleo, onde o conceito
OLAP foi utilizado para identificar informações estratégicas de maneira ágil, precisa e
consistente, no intuito de auxiliar o processo de captação de doadores, buscando um
maior índice de aptidão e possibilitando a manutenção dos estoques de
hemocomponentes mediante a demanda.
Neste documento são apresentadas a fundamentação teórica e a descrição do
desenvolvimento do produto deste trabalho de conclusão de curso.. Até o momento da entrega deste
trabalho, apenas testes de funcionalidades foram realizados com o usuário chave. Pretende-se até a
defesa, efetuar estas verificações e descrevê-las para o volume final.
1.1 PROBLEMATIZAÇÃO
1.1.1 Formulação do Problema
Conforme a documentação do LMS MOODLE (MOODLE, 2009) o ambiente registra em
banco de dados diversas interações do usuário com o sistema, fornecendo relatórios gerenciais para
a análise, acompanhamento e rastreamento destas interações. Os relatórios existentes do MOODLE
fornecem informações importantes para professores e gestores educionais, mas são insuficientes,
permitindo poucas configurações, de modo que extrair dados torna-se uma tarefa custosa ao
usuário.
4
1.1.2 Solução Proposta
Este trabalho de conclusão de curso propõe o desenvolvimento de uma ferramenta OLAP
integrada como plugin ao LMS MOODLE, possibilitando a qualquer usuário, de acordo com certas
restrições, a extração de informações sobre a massa de dados analisada, a criação de visões
personalizáveis e facilidade na extração de dados.
A UNIVALI é uma das instituições que possui o LMS MOODLE, aplicado para cursos em
Educação a Distância.Este projeto deverá beneficiar esta instituição, de modo a atender parte da
demanda por relatórios gerenciais dos gestores responsáveis.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
Desenvolver uma ferramenta OLAP para o LMS MOODLE da UNIVALI (SOPHIA).
1.2.2 Objetivos Específicos
• Investigar e descrever OLAP e conceitos relacionados;
• Investigar e descrever LMS;
• Pesquisar e analisar soluções similares;
• Pesquisar os conceitos e tecnologias necessários à implementação do sistema;
• Realizar a modelagem conceitual do sistema;
• Implementar o sistema proposto;
• Testar e avaliar a implementação do sistema; e
• Documentar o desenvolvimento e os resultados do sistema.
1.3 Metodologia
Serão necessárias cinco etapas para atingir os objetivos alçados neste trabalho de conclusão.
São elas: (1) estudo, (2) modelagem, (3) desenvolvimento, (4) validação e (5) documentação. As
etapas de estudo e de modelagem serão efetivadas no TCC I, sendo que as etapas de
desenvolvimento, validação e documentação serão efetivadas no TCC II. O plano para a execução
5
das atividades contidas nessas etapas é apresentado a seguir, e assume uma dedicação média de 12
horas por semana.
A primeira etapa é pertinente a fundamentação teórica, nela foram realizadas pesquisas em
livros, periódicos, anais e sites de internet sobre os conceitos envolvidos no projeto e análise de
soluções similares a proposta;
A segunda etapa é pertinente ao desenvolvimento do produto deste TCC, após a analise de
soluções similares definiu-se as regras de negócio que contemplaram o sistema e na forma de UML
(Unified Modeling Language) foi feita sua a modelagem, baseado nesta modelagem iniciou-se a
etapa de desenvolvimento. Na conclusão desta etapa, testes e uma entrevista foram realizados com o
usuário chave da ferramenta.
1.4 Estrutura do trabalho
Este trabalho está divido em quatro capítulos, estruturados da seguinte forma:
• Introdução: faz uma descrição geral do trabalho, identificando o problema e a sua
solução, os objetivos gerais e específicos a se alcançar e a metodologia utilizada para o
trabalho;
• Fundamentação Teórica: aborda conceitos sobre LMS, Gestão do Conhecimento, BI,
OLAP, ETL e DataWarehouse. Finalizando a fundamentação teórica, são abordadas
soluções similares, que são utilizados para traçar um comparativo as soluções existentes
e a ferramenta proposta;
• Desenvolvimento: compreende na apresentação do sistema proposto, sua modelagem,
especificações, desenvolvimento, testes e sua documentação. Neste capítulo também é
apresentado o planejamento do TCC II, bem como a metodologia utilizada para seu
desenvolvimento e o cronograma. Também é apresentada a análise de riscos do sistema
proposto; e
• Conclusões: apresenta as principais contribuições do trabalho, bem como o fechamento
deste documento .
2 FUNDAMENTAÇÃO TEÓRICA
Para levantar as informações necessárias ao desenvolvimento do projeto, uma pesquisa foi
realizada em livros, periódicos, artigos, anais e sites de Internet focando os objetivos do projeto. A
fundamentação teórica aborda os seguintes conceitos: Gestão de Conhecimento, LMS, OLAP, Data
Warehouse, ETL e estudo de trabalhos similares.
2.1 LMS
Segundo o IDC (2002), LMS (Learning Management System) é uma solução estratégica
para planejamento, disponibilização e gerenciamento de todos os eventos dentro de uma instituição
de ensino, incluindo cursos online, salas de aula virtuais e cursos conduzidos por instrutores. O
LMS possibilita ofertar uma sala de aula virtual para o acompanhamento dos alunos e a realização
de atividades de aprendizagem, rompendo os limites da sala de aula presencial, estabelecidos
principalmente pela distância entre alunos e professores, favorecendo a formação de comunidades
virtuais de aprendizagem.
Para Harman e Koohang (2007), LMS são softwares que automatizam a execução e a gestão
de aprendizagem, com acompanhamento dos resultados e a administração de eventos de formação,
cujo seu principal objetivo é simplificar a gestão de aprendizagem, ajudando os alunos a planejar e
monitorar seu progresso de aprendizagem.
Na Figura 1, são apresentados os componentes de um sistema LMS. A seguir cada um deles
será explicado:
• Aplicativos de Recursos Humanos: serve como repositório para a Gestão de Aluno,
fornecendo suas informações cadastrais;
• Gestão de Aluno: acompanhamento do progresso e desempenho do aluno ao longo de
todas as atividades de formação;
• Gestão de Aprendizagem: responsável por administrar, controlar e gerir a formação;
• Camada de Aprensentação: é a camada de interface com o usuário, nela é apresentada
todo conteúdo e as funcionalidades do LMS ; e
7
• Conteúdos dos Usuários: são os conteúdos estudados pelo usuário ao longo de sua
formação.
Figura 1. Componentes de um LMS
Fonte: Adaptado de Harman e Koohang (2007).
O estudo do conceito de LMS é importante para este trabalho de conclusão, pois permite a
compreensão de como funcionam este tipo de sistemas. O produto deste trabalho (ferramenta
OLAP) será aplicado a um LMS, o MOODLE. Existem diversos LMS, com característica distintas.
A seguir serão apresentados os LMS: AulaNet, MOODLE e Teleduc.
2.1.1 AULANET
AulaNet é um ambiente freeware baseado numa abordagem de aprendizado colaborativo,
criado inicialmente com o objetivo de apoiar cursos à distância pela Web. Desenvolvido em 1997,
pelo grupo Groupware@LES da PUC-Rio, possui atualizações freqüentes realizadas pela EduWeb.
Atualmente, o AulaNet está na versão 3.0, sendo disponibilizado nos idiomas português, inglês e
Aplicativos de Recursos Humanos
Gestão de
Alunos
Gestão de
Aprendizagem
C o n t e ú d o d os Us u á r i o s
Camada de Apr e s e n t a ç ã o
8
espanhol. Este LMS possui aproximadamente quatro mil cópias distribuídas por países como
Portugal, Brasil, Moçambique, Panamá, Canadá, Alemanha e África do Sul (EDUWEB, 2009).
O AulaNet disponibiliza as seguintes ferramentas: lista de discussão, conferências, debates,
mensagens para os participantes, agenda, notícias do curso, mecanismos de avaliação, suporte para
publicação de materiais de ensino digitais.
Na Figura 2 é exibida a interface do professor no AulaNet, nela é possível observar as
principais funcionalidades (agenda, bibliografia, exercícios, fóruns e materiais) disponibilizadas
para ministrar uma aula no ambiente.
Figura 2. Interface do Professor no AulaNet
Fonte: LUCENA, et al.(1999).
9
O sistema foi desenvolvido em Java, possuindo suporte aos servidores Web: IIS (Internet
Information Service), da Microsoft, e Apache, da Apache, tendo suporte nativo ao Banco de Dados
(BD) Access, da Microsoft, com possibilidade de migração para qualquer outra plataforma de BD.
2.1.2 MOODLE
O MOODLE (Modular Object Oriented Dynamic Learning Environment) é um LMS
baseado em tecnologias para a Internet, distribuído livremente, com código-fonte aberto (licença
GNU General Public License) desenvolvido pelo australiano Martin Dougiamas, em 1999
(MOODLE, 2009).
Na Figura 3, o ambiente de uma turma do MOODLE utilizado na UNIVALI (chamado de
Sophia) é exibido. As principais ferramentas do MOODLE podem ser divididas em duas partes:
blocos ou atividades. As atividades (destacadas no espaço central da figura) estão relacionadas
diretamente com o conteúdo abordado nas aulas. Estas são geralmente disponibilizadas na forma de
materiais digitais de ensino ou recursos de interação com o professor ou colega. Os blocos
(visualizados próximo a margem esquerda da figura, como por exemplo: administração e
mensagens), são ferramentas que apóiam a interação do usuário com o ambiente.
10
ATIVIDADES
Figura 3. Ambiente de uma turma no MOODLE da UNIVALI
Fonte: UNIVALI (2009a).
Como qualquer outro LMS, o MOODLE dispõe de um conjunto de ferramentas que podem
ser selecionadas pelo professor de acordo com seus objetivos pedagógicos. O MOODLE permite
que estes mecanismos sejam oferecidos ao aluno de forma flexível, ou seja, o professor, além de ter
liberdade para definir a disposição dos recursos e atividades na interface. Conforme documentação
do site oficial do MOODLE (MOODLE, 2009), dentre estas ferramentas destacam-se :
• Link para Arquivo ou Site: é possível compartilhar links para sites e também
disponibilizar qualquer tipo de arquivo no MOODLE, podendo o mesmo ser utilizado
como um repositório de arquivos ou sites, centralizando todo o conteúdo de aula em um
único local;
• Fóruns: são listas de discussão que podem contribuir significativamente para o êxito da
comunicação e construção de uma comunidade em um ambiente;
• Blogs: no MOODLE cada usuário tem seu próprio Website(blog). Por padrão, todos os
usuários tem permissão para visualizar os demais blogs. O acesso ao blog pode ser
11
limitado de modo que os usuários só poderão acessar blogs compartilhados de um curso
ou compartilhados em grupo.
• Chats: permite aos participantes ter uma discussão em tempo real através da Web. Esta é
uma maneira útil para obter um entendimento diferente do tema a ser discutido;
• Questionários: permite ao professor criar e configurar testes que consiste em perguntas,
de múltipla escolha, verdadeiro ou falso, e perguntas objetivas. Sendo essas perguntas
armazenadas no banco de perguntas da disciplina podendo ser re-utilizadas dentro dos
demais cursos. Os questionários podem permitir várias tentativas. Cada tentativa é
avaliada automaticamente e o professor pode escolher se quer dar feedback e/ou mostrar
as respostas corretas para o aluno; e
• Wiki: é uma coleção de documentos colaborados através da Web. Basicamente, um wiki
é uma página criada por vários os alunos. Sem precisar saber HTML, um aluno começa
com uma página inicial, cada aluno pode acrescentar outras páginas a esta, simplesmente
criando um link para uma outra página. O Wiki pode ser considerado uma poderosa
ferramenta de trabalho colaborativo.
Além de disponibilizar diversas ferramentas o MOODLE também faz o controle de usuários
por perfil, ou seja, para ter acesso ao ambiente MOODLE, é necessário ter um usuário cadastrado.
Estando cadastrado no ambiente você poderá participar de diversos cursos e com perfis
diferenciados em cada um deles. Por exemplo, você pode ser aluno de um curso, ao mesmo tempo,
e com o mesmo usuário, ter o perfil de professor em uma disciplina.
O MOODLE é desenvolvido na linguagem PHP, possuindo suporte a vários tipos de banco
de dados, como por exemplo MySQL, Oracle, PostgreSQL e SQLServer. Por ser um ambiente de
código aberto, o MOODLE proporciona aos seus utilizadores a possibilidade de adaptações no
código-fonte. Além disso, o MOODLE suporta a inserção de novos componentes, denominados
como plugins, para acrescer novas funcionalidades ao ambiente.
O site oficial do MOODLE* possui uma seção de para download de plugins oficiais e os
criados por terceiros. Qualquer pessoa vinculada a comunidade MOODLE pode submeter seus
* Site oficial do MOODLE: http://www.moodle.org
12
plugins, desde que este esteja de acordo com o modelo aceito (esquema de arquivos no padrão
MOODLE, linguagem PHP e utilização de funções da API) pelo MOODLE.
Por ser o LMS utilizado na UNIVALI, e com o intuito de auxiliar a gerência de ensino desta
instituição, o OLAP produto deste trabalho foi criado como um plugin, com o formato de “bloco”.
2.1.3 TELEDUC
Desenvolvido desde 1998 por pesquisadores do NIED (Núcleo de Informática Aplicada à
Educação) da UNICAMP - Universidade Estadual de Campinas, utilizando a linguagem PHP
associada ao gerenciador de banco de dados MySQL. O Teleduc possui como ferramentas de apoio
a aprendizagem suporte a diferentes materiais didáticos como textos, software, referências na
Internet, dentre outros (TELEDUC, 2009).
Na Figura 4 é exibida a tela principal do TELEDUC. Todos os recursos são acessados pelo
menu localizado a esquerda da figura. Itens que apresentam alterações recentes realizadas pelos
professores são destacados no mesmo menu. A comunicação entre os participantes é viabilizada
através de ferramentas como: correio eletrônico, grupos de discussão, mural, portfólio e bate-papo.
Figura 4. Ambiente de uma turma no Teleduc
Fonte: UNIVALI (2009b).
13
Segundo o site oficial do Teleduc (TELEDUC, 2009) suas ferramentas foram desenvolvidas
de acordo com as necessidades relatadas por usuários do LMS. As principais características deste
LMS são: fácil instalação, recursos gratuitos, mais de quatro mil instituições cadastradas e
disponibilidade em português, inglês e espanhol.
O TelEduc é um software livre; que pode ser redistribuído e/ou modificado sob os termos da
GNU (General Public License).
2.2 Gestão de Conhecimento
A inteligência de negócio é a transformação metódica e consciente dos dados de qualquer
fonte de dados de modo a proporcionar a informação dirigida aos negócios e aos resultados
(BIERE, 2003). Segundo Carvalho (2000) a Gestão do Conhecimento é a área que estuda como as
organizações compreendem o próprio negocio, o que elas necessitam conhecer e como elas podem
tirar o proveito do conhecimento.
Para Pires e Becker (2007) o conhecimento deve ser visto como um ativo organizacional,
que facilita o processo de tomada de decisão melhorando a qualidade e reduzindo fatores de risco.
No entanto, apenas o conhecimento da organização não proporciona maior poder de competição
para uma organização: somente aliado à tecnologia da informação é que a gestão do conhecimento
pode proporcionar resultados expressivos. Para Tarapanoff (2001), as mudanças que vêm ocorrendo
nas organizações atualmente convergem para a quebra de um paradigma histórico e, por meio dele,
entra-se na era sociedade da informação e do conhecimento.
Na Figura 5 é exibido o clico básico para a formação do conhecimento segundo Quel
(2006). Este ciclo demonstra o caminho na formação do conhecimento e de sua interferência na
realidade ou nos eventos que o formarão. Estes eventos são as origens dos dados que, por sua
interpretação, se transformam em conhecimento. Dado é um evento ou fato em seu estado bruto e
informação é transformação deste dado em elemento significativo por meio de um processo de
organização e interpretação, o conhecimento é o elemento que permite ações efetivas e controladas
sobre a visualização e/ou composição daqueles eventos e fatos que dão origem aos dados.
14
Figura 5. Ciclo básico do conhecimento
Fonte: Adaptado de Quel (2006).
O papel principal da tecnologia da informação na gestão do conhecimento é facilitar
iniciativas de gestão do conhecimento, ampliando o alcance e acelerando a velocidade de
transferência do conhecimento. Deve-se perceber a tecnologia como um instrumento capaz de
facilitar a captura, armazenamento e distribuição do conhecimento para o uso das pessoas.
Para DAVENPORT e PRUSAK (1998), o objetivo das ferramentas de Gestão do
Conhecimento é modelar parte do conhecimento das pessoas e nos documentos corporativos,
disponibilizando-o para toda a organização. Segundo CHOO (1998), as organizações podem se
tornar incapazes de usufruir de seu recurso informacional e de sua infra-estrutura de Tecnologia da
Informação, quando não desenvolvem um entendimento claro de como os processos empresariais
transformam a informação em conhecimento e o conhecimento em ação.
O estudo do conceito de Gestão de Conhecimento neste trabalho é importante, pois é
necessário o pleno entendimento de como estes sistemas funcionam e como é feita sua interação
com os usuários, para poder projetar e desenvolver um sistema que atenda a este conceito. Nas
Estado bruto EVENTOS/FATOS
Interpretação
Ciclo básico de Conhecimento
DADOS CONHECIMENTO
INFORMAÇÃO
Interferência
Aplicação
15
próximas seções serão tratados os seguintes tópicos: Ferramentas para Gestão de Conhecimento, BI,
Data Warehouse, ETL e OLAP.
2.2.1 Ferramentas para Gestão de Conhecimento
Como o processo de Gestão do Conhecimento é abrangente e complexo, torna-se necessária
a utilização de tecnologias da informação, principalmente no que se refere à análise da grande
quantidade de informação que é armazenada, e para isso seja possível de ser realizado de forma
organizada utiliza-se ferramentas como BI, OLAP, Data Warehouse. Nos próximos tópicos serão
listadas as principais e mais utilizadas ferramentas que tornam possível a Gestão do Conhecimento.
2.2.1.1 BI
O BI é uma plataforma de apoio a decisões que baseia-se na transformação de dados em
informações, informações em decisões e decisões em ações, sendo que estas devem ser gerados
pelos próprios consumidores de informações e estar disponíveis a qualquer hora e em qualquer
lugar (TURBAN et al., 2009).
Barbieri (2001) define o conceito de BI como a utilização de variadas fontes de informação
para se definir estratégias de competividade nos negócios da empresa. Segundo TURBAN et al.
(2009) um dos principais objetivos do BI é facilitar a diminuição da diferença entre o desempenho
atual de uma organização e o desempenho desejado, expresso em sua missão, objetivos, metas e a
estratégia para atingi-los.
O motivo que leva as empresas atuais partir para este tipo de tecnologia é a incapacidade dos
departamentos de compartilhar dados de forma oportuna, da gerencia obter as informações
necessárias para a tomada de decisões e a ampla massa de dados provenientes de diversas fontes, o
excesso de dados sem direção, arquivados de diversas formas, oriundos de diversos meios e com
muitos erros, o grande desafio de todo indivíduo que gerencia qualquer processo é a análise dos
fatos relacionados ao seu dever. Esta análise deve ser feita de modo que, com as ferramentas e
dados disponíveis seja possível detectar as tendências e tomar decisões eficientes e no tempo
correto (SANTIAGO, 2008).
As arquiteturas de BI clássicas possuem basicamente cinco grandes componentes:
• Data Warehouse: é utilizado para armazenar informações contidas na base de dados;
16
• Data Mart: é um sub-conjunto de dados do Data Warehouse, geralmente sobre algum
assunto especifico;
• ETL: é utilizado para fazer a limpeza dos dados e inseri-los no Data Warehouse;
• Data Mining: é o processo de explorar grandes quantidades de dados à procura de
padrões consistentes; e
• OLAP: é utilizado para recuperar e extrair totalmente as informações contidas no
Data Warehouse.
A Figura 6 ilustra uma arquitetura BI completa, onde diversas fontes de dados (ERP,
Planinhas e GIS) sofrem o processo de ETL, inserindo as informações novas e tratadas no Data
Warehouse, podendo assim ser consultas através de uma ferramenta OLAP qualquer.
Figura 6. Arquitetura de uma solução BI
Fonte: Adaptado de Barros (2008).
O funcionamento básico de uma solução BI é descrito a seguir: A imensa massa de dados
dispersos com vários bancos de dados, diversas tecnologias, vários documentos, é encaminha ao
processo de ETL (extração, transformação carga e sincronização) que faz sua limpeza e inserção no
17
Data Warehouse onde os dados são consistidos, unificados, sumarizados e organizados em uma
base de dados multidimensional. O OLAP por sua vez é uma interface de usuário facilita o acesso e
a extração das informações, que poderão ser apresentadas em planilhas, gráficos ou em relatórios.
Santiago (2008) aponta uma desvantagem que é o custo elevado de treinamento,
implantação e desenvolvimento. Apesar disso, o autor levanta importantes vantagens na utilização
tecnologia BI são:
• Acesso à informação de qualidade que permite que as empresas conheçam melhor a
sua realidade, interna e externa, permite obter indicadores importantes para melhorar
o desempenho de sua atuação e a inovação;
• Procurar relações de causa e efeito;
• Transformar os registros obtidos em informação útil;
• Maior rapidez no acesso às informações;
• Descentralização do acesso à informação;
• Extrair e integrar dados de múltiplas fontes;
• Analisar dados contextualizados;
• Antecipar mudanças no mercado ou ações dos concorrentes;
• Uniformização da informação, e;
• Possibilidade visualizar de modo gráfico e simplificado a atividade da empresa e seu
desempenho.
O estudo do BI também é necessário por estar ligado diretamente as ferramentas necessárias
para a o desenvolvimento da gestão do conhecimento, acredita-se que a ferramenta OLAP
desenvolvida neste trabalho seja o passo inicial para um futuro sistema BI completo.
18
2.2.1.2 DATA WAREHOUSE
Segundo Inmon (1997), o Data Warehouse é um repositório de dados orientado a assuntos,
volátil, integrado e variável em relação ao tempo, útil para a tomada de decisão nas empresas.
Basicamente o Data Warehouse é um sistema distinto que fornece o armazenamento para os
dados que serão utilizados na análise. A intenção é dar a gerencia a capacidade de buscar
informações sobre séries históricas que possibilitam uma melhor análise de eventos passados,
oferecendo suporte às tomadas de decisões presentes e a previsão de eventos futuros. Todos os
dados provenientes das fontes de dados operacionais da organização são integrados ao Data
Warehouse via as ferramentas ETL. As aplicações podem variar de simples relatórios a consultas
complexas. Seu principal objetivo é trabalhar com os dados usados nos sistemas de processamento
analítico online (OLAP), as possibilidades de verificação e análise dos dados são diversas, podem ir
da obtenção de vários tipos de estatísticas de venda até o recebimento de relatórios garimpados para
conhecer o comportamento e as preferências de cada cliente (TURBAN et al., 2009).
Shams e Fahista (2001) definem Data Warehouse como uma plataforma que contém todos
os dados da organização, centralizados e organizados, de forma que os usuários possam extrair
relatórios analíticos complexos, contendo informações gerenciais para apoio à decisão.
Os componentes típicos de Data Warehouse são descritos a seguir:
• Ferramentas para Extração, Transformação e Carga (ETL): para facilitar a integração
e assegurar a qualidade dos dados carregados;
• Mecanismos de interoperabilidade para fontes de dados heterogêneas;
• Sistema de gerenciamento de bancos de dados (com bom desempenho e segurança);
• Catálogo de metadados: necessário para documentar e compreender os dados e suas
transformações;
• Gerenciador de DataMarts;
• Servidor OLAP: para responder pelo processamento analítico das consultas ao Data
Warehouse, possibilitando ao usuário analisar, interativamente, conjuntos de dados
muito grandes, sem a necessidade de se escreverem instruções SQL; e
19
• Gerador de interfaces cliente na Web.
A Figura 7 exibe um sistema completo de Data Warehouse, nela são ilustrados todos seus
componentes. Pode-se observar como os dados de vários Bancos de Dados são coletados,
trabalhados e transformados em dados que podem ser utilizados para análise. O processo de
aquisição pode englobar atividades como a consolidação de dados de várias fontes, filtragem de
dados não desejados, correção de dados incorretos, conversão de dados a novos elementos e reunião
de dados em novos subconjuntos. Os dados são, então, armazenados no Data Warehouse, podendo
então ser analisado por ferramentas para consultas, relatórios, seleção e análise de dados para
entrega, por meio de Intranets, usuários finais da organização, etc.
Figura 7. Sistema completo Data Warehouse
Fonte: Adaptado de O’Brien (2004).
A seguir serão apresentadas as principais características de um Data Warehouse segundo
Bombana e Agnol (2005).
Subsistema de aquisição de dados (coleta, correção,
transformação/carregamento de transporte)
Subsistema de projeto de Warehouse
Sistemas de
Informação na Web
Acesso aos Dados e Subsistema de Entrega (Consulta, Relatório, Análise, Seleção, Entrega)
Bancos de dados operacionais, externos e
outros.
Loja analítica de dados
Warehouse Empresarial
Data Marts
Subsistema de Gerenciamento
de Dados
Subsistema de Gerenciamento de Metadados
Diretório de Metadados
Repositório
de Metadados
20
• Integração de dados: Uma das tarefas fundamentais na construção de um Data
Warehouse é a migração de dados de diferentes bases operacionais para uma base
analítica. É necessário que os dados sejam integrados para possibilitar o cruzamento
de dados destas aplicações;
• Aumento do desempenho nas tarefas usuais de consultas: A razão mais importante
para a separação de dados que precisam ser analisados dos dados operacionais é que
a análise dos dados nos sistemas operacionais pode causar degradação de
desempenho;
• Dados não voláteis: Os dados que são inseridos em um Data Warehouse, tornam se
em grande maioria, não voláteis. Isso significa que após a entrada dos dados no Data
Warehouse, mudanças não podem ser feitas nas informações;
• Dados armazenados por longos períodos: Dados históricos são fundamentais em um
sistema de apoio a decisão;
• Termos operacionais transformados em termos de negócio uniformes: Durante o
processo de migração de dados para um Data Warehouse, os nomes utilizados no
sistema operacional são transformados em termos de negócio uniformes, que devem
ser de fácil compreensão pelos usuários, pois serão os termos utilizados como
parâmetros da geração de consultas; e
• Visões de negócio dos dados: Muitas consultas e relatórios em um Data Warehouse
são agregações simples baseadas em parâmetros pré-definidos. Um ponto muito
importante para o Data Warehouse é a definição dos resultados (saídas) que devem
ser gerados automaticamente e periodicamente. Também deve ser permitida ao
usuário a configuração de consultas personalizadas, para cruzar e comparar dados
conforme as suas necessidades.
2.2.1.3 ETL
Segundo Gonçalves (2003) a etapa de ETL é vista como uma das mais críticas de um projeto
de Data Warehouse, uma falha no processo de carregamento do Data Warehouse pode trazer
conseqüências imprevisíveis posteriormente.
21
O ETL ou ETT (Extração, Transformação e Transporte) é a parte do Data Warehouse
responsável pela extração de dados de uma ou mais fontes do sistema origem espalhados em
diversos sistemas operacionais e fontes externas, tratamento destes dados, limpeza, transformação e
carregamento no Data Warehouse.
As etapas básicas de um sistema ETL serão descritos a seguir:
• Extração: filtragem e limpeza dos dados para eliminar erros e elementos indesejados;
• Transformação: é responsável pela manipulação dos dados extraídos pela etapa anterior,
visando a integridade dos dados; e
• Carga: é a carga propriamente dita dos dados extraídos e transformados para o Data
Warehouse.
A Figura 8 exibe uma arquitetura padrão ETL. Os dados das diversas fontes sejam elas
internas ou externas são tratados, limpos e inseridos no DW através do processado de ETL.
Após todo este processo os dados podem ser analisados e consultados de maneira clara através
de uma ferramenta OLAP, por exemplo.
22
Figura 8. Arquitetura ETL
Fonte: Adaptado de Fileto (2009).
2.2.2 OLAP
OLAP (Processamento Analítico Online) é uma ferramenta de Business Inteligente utilizada
para apoiar a análise de informações com o objetivo final de transformar uma grande massa dados
em informações capazes de dar suporte às decisões gerenciais de forma amigável e flexível ao
usuário e em tempo hábil, visando obter novos conhecimentos que são empregados na tomada de
decisão (THOMSEN, 2002).
As ferramentas OLAP permitem que os usuários possam navegar de forma amigável e
extrair informações de modo rápido pelo modelo dimensional, caracterizando o chamado cubo
OLAP ou hipercubo (KIMBALL, 1998; IMNON, 1997). O bom processamento de informações
sempre foi importante para a sobrevivência das organizações. A importância da informação pode
ser considerada como diferença em valor entre decisões certas e decisões erradas, onde as decisões
são baseadas nessa informação. Assim, OLAP, como qualquer outra forma de processamento de
informação precisa oferecer informações existentes, oportunas, precisas e inteligíveis.
ETL DW
SGBDs Relacionais BDs Legados Planilhas BDs Externos
SGBDs Relacionais
BDs Legados
Planilhas
BDs Externos
23
O conceito OLAP proporciona as condições de análise de dados online necessárias para
responder às possíveis perguntas dos Gestores, utilizando as funcionalidades de uma ferramenta
OLAP que é caracterizada pela análise multidimensional dinâmica dos dados, apoiando os Gestores
nas suas atividades (HARRISON, 1998).
Segundo THOMSEN (2002) o OLAP é uma ferramenta muito importante no contexto
gerencial, ajudando a analisar de forma mais eficiente, a quantidade de dados crescente armazenada
pelas organizações, transformando-os em informação útil. O OLAP trabalha com dados históricos
no sentido de gerar informações e conhecimentos para analisar o negócio.
O Data Warehouse é utilizado para armazenar informações e o OLAP para recuperá-las,
ambos são especializados para exercer suas funções de forma eficiente. As duas tecnologias são
complementares de modo que um bom Data Warehouse é planejado com produção de relatórios em
mente. Desta forma, para explorar o Data Warehouse completamente é necessário o OLAP que irá
extrair e alavancar totalmente as informações nele contidas (ANZANELLO, 2002).
A Figura 9 exibe a Arquitetura geral OLAP. Nela o usuário interage com a interface OLAP,
tendo a possibilidade de selecionar alguma visão do cubo de dados dimensional. Em seguida o
servidor de interface solicita ao servidor OLAP a execução dos comandos para a geração da visão
de dados dimensionais, ao receber a solicitação o servidor OLAP realiza as consultas necessárias no
DW (os dados presentes neste DW são provenientes da etapa de ETL realizada sobre o BD
Transacional), retornando os dados dessa visão do cubo, o servidor de interface gera a visualização
tabular dos dados na tela do usuário.
24
Figura 9. Arquitetura geral OLAP
Fonte: Adaptado de Soares e Santos (2007).
Em um OLAP, os usuários podem analisar diferentes dimensões de dados, como uma série
temporal de vendas em cada região e a analise de tendências. Assim, os usuários de negócios são
capazes de identificar com rapidez e facilidade as tendências de desempenho. Essa identificação é
feita com a analise de informações cíclicas e recursos gráfico. Por exemplo, os usuários podem
rapidamente isolar e identificar produtos, clientes, regiões ou outras áreas que apresentem
tendências significativas de alta ou baixa ou que constituem fonte de problemas. Permite aos
usuários criar visualizações de dados detalhados.
Como o produto desenvolvido neste trabalho de conclusão é uma ferramenta OLAP é
necessário compreender seu conceito, sendo exibido nos demais tópicos a descrição de Cubo,
Dimensões, Operadores e Tipos de OLAP.
2.2.2.1 CUBO
Segundo TURBAN et al. (2009) o Cubo de dados é usado para representar dados em
conjunto com alguma medida de interesse. Embora seja chamado de “cubo”, pode ser
bidimensional, tridimensional ou com uma dimensão superior. Cada dimensão representa algum
atributo no banco de dados, e as cédulas no cubo de dados representam medidas de interesse.
25
Os cubos de dados oferecem a oportunidade de obter informações para suporte a tomada de
decisão de maneira eficiente. A analise de cubo permite as pessoas realizarem consultas através da
busca de uma serie de visualizações de relatórios, usando os recursos do OLAP, como pivot,
classificação, filtro e drill-up/drill-down, que permitem aos usuários fazer visões parciais de um
cubo de dados ou analisar um cubo usando um simples clique de mouse.
A utilização básica de um cubo é descrita a seguir:
Um banco de dados contem informações sobre operações relacionadas às vendas de
produtos (p) de uma empresa a um cliente (c) em diferentes localizações e lojas (s). O cubo de
dados formado a partir desse banco de dados é uma representação tridimensional, com cada cédula
(isto é p, c, s) do cubo representando uma combinação de valores para o produto, cliente e
localização da loja. O conteúdo de cada cédula é a contagem do numero de vezes que a combinação
de valores ocorreu junta no banco de dados. As cédulas aparecem em branco equivalem a zero. O
cubo pode ser usado, por exemplo, para acessar informações dentro do banco de dados para saber
qual loja deve receber um determinado produto para venda a fim de obter o máximo de lucro.
2.2.2.2 DIMENSÕES
O modelo de dados dimensional é o modelo específico para processamento analítico de
informação (OLAP). Três fatores são levados em consideração na multidimensionalidade:
dimensões, medidas e tempo.
A seguir são descritos alguns exemplos:
• Dimensões: alguns exemplos de dimensões são: produtos, equipe de vendas, segmentos
de mercados, unidades de negocio, localizações geográficas, canais de distribuição,
países e setores;
• Medidas: alguns exemplos: dinheiro, volume de vendas, numero de funcionários,
estoque, e lucro previsto vs. Real; e
• Tempo: diário, semanal, mensal, trimestral e anual.
Um banco de dados multidimensional é um banco de dados onde os dados são organizados
especificamente para permitir uma analise multidimensional rápida e fácil. Os dados são trazidos do
26
Data Warehouse. Criar e manter esse tipo de Banco de Dados agrega custos que devem ser
comparados aos benefícios agregados
Dados brutos e concisos podem ser organizados de maneiras diferentes para análise e
apresentação. Uma maneira eficiente de fazer isso é a chamada multidimensionalidade. A maior
vantagem da multidimensionalidade é que ela permite que os dados sejam organizados como cada
gerente gosta de vê-los, e não como os analistas de sistema gostam.
Como exemplo de utilização da multidimensionalidade toma-se como base: no suporte a
decisão é feito um esforço a fim de simplificar a apresentação de informações e permitir ao usuário
alterar, de modo rápido e fácil, a estrutura das tabelas para torná-las mais expressivas ( p. ex., ao
inverter colunas e linhas, agrupar a sintetização de varias linhas e colunas, separar um conjunto de
linhas ou colunas).
2.2.2.3 OPERADORES
Os operadores OLAP são utilizados para navegar sobre as dimensões do cubo e\ou fatiar um
pedaço para uma análise mais detalhada, a seguir é listado os principais:
• Slice: Projeta valores específicos de uma dimensão (extrai uma fatia do cubo);
• Dice: São Slices consecutivos (extrai cubo menor);
• Roll-up (drill-up): sumariza dados, subindo na hierarquia de uma dimensão;
• Drill-down (roll-down): reverso de roll-up, isto é, detalha os dados, descendo na
hierarquia de uma dimensão; e
• Pivot: muda posição ou orientação da dimensões na projeção bidimensional de dados
do cubo.
2.2.2.4 TIPOS
Apesar de obedecer a uma estrutura cliente/servidor multiusuário, as ferramentas OLAP
podem ser implementadas de diversas formas, classificadas em cinco tipos (INMON, 1997):
27
• MOLAP (Multidimensional OLAP): é o OLAP implementado através de um banco de
dados Multidimensional, sendo os dados organizados em um estrutura de cubos que o usuário pode
girar;
• ROLAP (Relacional OLAP): é o OLAP implementado sobre um banco de dados
relacional, o ROLAP tende a ser usado em dados que apresentam um grande numero de atributos,
onde não possam ser colocados facilmente em uma estrutura de cubos;
• HOLAP (Hibrido OLAP): é a combinação entre ROLAP e MOLAP, pegando o melhor de
ambas as categorias a escalabilidade de ROLAP e o alto desempenho do MOLAP;
• DOLAP (Desktop OLAP): são ferramentas que disparam uma consulta de uma estação
cliente para o servidor, que por sua vez retorna enviando o macro-cubo de volta, para que possa ser
analisado pelo usuário; e
• WOLAP (Web OLAP): se refere aos dados acessíveis através de um navegador.
O OLAP desenvolvido (produto deste trabalho de conclusão) se encaixa no tipo WOLAP,
pois, seu desenvolvimento foi totalmente voltado para o ambiente Web, sendo seu acesso feito
através de qualquer navegador.
2.3 SOLUÇÕES SIMILARES
Não foi encontrada nenhuma ferramenta com as mesmas funcionalidades deste projeto, as
três que mais se encaixam no objetivo de gerar consultas estratégicas para LMS serão descritas a
seguir:
2.3.1 SAC: Sistema de Apoio a Consultas no MOODLE-IESAM
Com uma interface gráfica muito atraente o sistema permite que quaisquer usuários, além
dos administradores do MOODLE realizem consultas gerenciais pré-definidas sem precisar ter
qualquer conhecimento em consultas SQL e Banco de Dados.
Na Figura 10 é ilustrada as opções disponíveis no sistema, por exemplo, a opção selecionada
“Consulta de Quantidade de Tarefas” pertence ao curso de Engenharia da Computação. Nela são
listadas todas as disciplinas cadastradas no sistema (no exemplo foi selecionada a disciplina 3º Ano
– Interface e Multimídia).
28
Figura 10. Consulta no Sistema
Fonte: Gonçalves et al. (2008).
Na Figura 11 é exibido o resultado da consulta realizada anteriormente na Figura 10,
apresentando basicamente o código da disciplina cadastrada no MOODLE (495), a quantidade de
tarefas (24), possibilitando a opção de visualizar a descrição da tarefa ou exportação de todas as
tarefas da disciplina em planilha.
29
Figura 11. Resultado da consulta realizada
Fonte: Gonçalves et al. (2008).
2.3.2 MIDAS-POETA
O MIDAS-POETA é um sistema de apoio à decisão que utiliza a base de dados do ambiente
de suporte a EAD denominado Portfolio-Tutor (NASCIMENTO, RODRIGUEZ e SCHIEL, 2002),
apesar de ser um sistema completo o mesmo não possui um módulo de análise que dê suporte a
decisões estratégicas. O MIDAS-POETA é baseado em mineração de dados e proporciona a criação
de MADs (Modelo Analítico de Dados), que é um conjunto de visões sobre os atributos do sistema
definidos pelo usuário em sua consulta.
O objetivo deste sistema é prover meios para obter padrões que caracterizem o
comportamento dos alunos, permitindo que as mesmos possam ser analisados, derivando padrões
comportamentais ou características interessantes que podem ser usados como parâmetros para
outros alunos.
30
2.3.3 FADA - Ferramenta de Apoio à Decisão Acadêmica
A principal funcionalidade da FADA é fornecer uma visão gerencial, através da
transformação dos dados brutos contidos nas tabelas do MOODLE e logs de acessos existentes na
base de dados, em informações que possibilite ao avaliador, o planejamento e a tomada de decisões
baseados nos dados apresentados através de gráficos e relatórios estruturados de maneira organizada
e objetiva.
Na Figura 12 é exibida a tela inicial do sistema onde são visualizadas as possibilidades de
geração de gráficos cadastradas no sistema.
Figura 12. Tela inicial do sistema
Fonte: Adaptado de Nunes (2007).
A Figura 13 exibe o resultado de uma consulta selecionada pelo usuário, no exemplo é
exibido o relatório de intervenções pessoais no sistema.
31
Figura 13. Relatório de intervenções pessoais
Fonte: Adaptado de Nunes (2007).
Essa intervenção consiste fundamentalmente, no monitor responsável pela disciplina entrar
em contato com o discente, a fim de verificar o motivo da ausência do mesmo, e partir disso,
estabelecer, um acompanhamento mais rigoroso do comportamento deste.
2.3.4 Análise dos Sistemas Similares
A seguir é exibida uma tabela comparativa entre os sistemas estudados, observa-se que nem
todos utilizam as tecnologias propostas nesse projeto. Todas os sistemas similares levantados foram
desenvolvidos para a Web.
Tabela 1. Comparativo Sistemas Similares.
CARACTERÍSTICA FADA SISTEMA PROPOSTO
MIDAS SAC
Voltado para o MOODLE X X X Utiliza OLAP X Possui controle por perfil X X X X
Utiliza Data WareHouse X
Desenvolvido em PHP X X X Permite ao usuário criar novas consultas X X
Relatórios em forma de gráficos X
Suporte a diversos bancos de dados X
32
Conforme a Tabela 1, nem todos os sistemas analisados utilizam as tecnologias envolvidas
neste trabalho. A diferença do sistema proposto para os demais é a possibilidade de qualquer
usuário criar seus próprios relatórios utilizando as tecnologias OLAP e Data Warehouse que
proporcionam uma visão em dimensões sobre a massa de dados analisada, facilitando sua
compreensão, a descoberta de informações novas e relevantes e a possibilidade de uma análise mais
abrangente e detalhada.
Para criação da tabela analisada anteriormente foi levado em conta às seguintes condições:
• Voltado para o MOODLE: a análise deste item foi necessária, pois, o produto deste
trabalho de conclusão foi desenvolvido na forma de plugin para o LMS MOODLE;
• Utiliza OLAP : a necessidade da análise deste item deu-se pelo fato do plugin
desenvolvido ser uma ferramenta OLAP;
• Possui controle por perfil: a análise deste item deu-se pelo fato de todo controle de
segurança do plugin ser feita pelos perfis já disponibilizados no MOODLE;
• Utiliza Data Warehouse: como a utilização da tecnologia OLAP está ligada diretamente
com Data Warehouse, este item também foi analisado;
• Desenvolvido em PHP: para poder utilizar as funcionalidades da API do MOODLE é
necessário que o sistema seja desenvolvido em PHP;
• Permite ao usuário criar novas consultas: como o conceito básico de uma ferramenta
OLAP é a criação de consultas, foi necessário avaliação deste item;
• Relatórios em forma de gráficos: a análise deste item foi levada em conta porque é
desejável que um sistema OLAP atenda a este requisito; e
• Suporte a diversos bancos de dados: como o MOODLE permite a utilização de diversos
bancos de dados, este item foi analisado para o funcionamento correto do plugin em qualquer
instalação, independente da versão do banco de dados.
Baseado na Tabela 1 verificou-se que as vantagens do sistema FADA sobre a ferramenta
desenvolvida é a possibilidade de gerar de gráficos sobre os dados a analisados e sua desvantagem é
não disponibilizar a criação de novas consultas, a principal vantagem do sistema SAC é o suporte a
33
diversos bancos de dados, sendo sua desvantagem a realização de apenas consultas pré cadastradas
pelo administrador da ferramenta.
34
3 DESENVOLVIMENTO
Este trabalho de conclusão de curso tem como produto uma ferramenta OLAP integrada
como plugin (bloco) ao LMS MOODLE da UNIVALI, possibilitando a qualquer usuário, de acordo
com suas permissões, a criação de visões personalizáveis, o cruzamento de tabelas de maneira
gráfica e a extração de informações sobre a massa de dados analisada. Por ser uma ferramenta de
código aberto e disponibilizada na forma de plugin, todas as instituições de ensino que utilizam o
LMS MOODLE poderão instalá-lo e usufruir dos seus benefícios.
A Figura 14 exibe o fluxo completo do funcionamento da ferramenta desenvolvida. O banco
de dados do MOODLE passa pelo processo de ETL. Nesta etapa, conforme periodicidade definida
pelo administrador, é executado um script SQL (conforme ANEXO I), para atualização do DW, que
é composto por uma única tabela Fato (descrita na página 42 - Tabela 2. Dicionário de Dados). O
MOODLE por solicitação do Usuário faz acesso a estas informações através do Bloco OLAP, que
funciona como front-end da ferramenta, exibindo as visões e navegando pelas dimensões conforme
interação com o Usuário.
Figura 14. Funcionamento completo da Ferramenta.
Dentre as funcionalidades do OLAP produto deste trabalho de conclusão destaca-se: (i)
permitir a determinados usuários a criação de relatórios gerenciais; (ii ) navegação entre as visões
(drill-up e drill-down); e (iii ) descoberta de informações novas e relevantes.
A importância maior desse trabalho se dará por auxiliar a tomada de decisão dos gestores da
educação na UNIVALI. Informações antes desconhecidas poderão ser tratadas e conforme sua
análise tomada às devidas ações. Nesta seção serão abordados os seguintes tópicos: levantamento de
requisitos, casos de uso para o desenvolvimento da ferramenta, a metodologia utilizada para o
desenvolvimento, diagramas de classe, diagramas de banco de dados e apresentação da ferramenta.
35
3.1 Projeto OLAP MOODLE
Para desenvolver o produto deste trabalho de conclusão, foi necessário o criação de seu
projeto. Nas próximas seções serão apresentados: Análise de Requisitos, Diagramas de Casos de
Uso, Diagramas de Atividades, Dicionário de Dados e Implementação.
3.1.1 Análise de Requisitos
Os requisitos foram levantados para estabelecer às funções indispensáveis a ferramenta
proposta. Estes requisitos especificam o que a ferramenta deve ou não fazer, e não como os
procedimentos devem ser realizados. Os itens a seguir apresentam a descrição detalhada do projeto.
3.1.1.1 Requisitos Funcionais (RF)
Requisitos funcionais especificam funções que o sistema proposto deverá contemplar, como
o sistema deve reagir a determinas situações. Os requisitos funcionais do sistema são:
• RF01: O sistema deverá permitir ao usuário criar, editar e excluir visões;
• RF02: O sistema deverá permitir Drill UP \ Drill Down (navegação entre as visões);
• RF03: Controle de perfil (dados x perfil) (coluna/registro);
• RF04: O sistema deverá permitir a possibilidade de ocultação de colunas; e
• RF05: O sistema deverá exibir as cinco visões mais acessadas pelo usuário.
3.1.1.2 Requisitos Não Funcionais (RNF)
Requisitos não funcionais definem propriedades e restrições do sistema, e não suas funções.
Os requisitos não funcionais do projeto estão listados a seguir:
• RNF01: O sistema deverá funcionar como plugin para o MOODLE;
• RNF02: O sistema deve ser orientado a Web; e
• RNF03: O sistema deve ser desenvolvido em PHP.
36
3.1.1.3 Regras de Negócio (RN)
Regras de negócio especificam como o negócio funciona. As regras de negócio não são
funcionalidades do sistema, mas sim características a serem consideradas no projeto e
implementação. As regras de negocio do sistema são:
• RN01: Somente usuários cadastrados e devidamente autenticados poderão acessar o
sistema;
• RN02: Cada usuário poderá somente visualizar as visões a que tem permissão; e
• RN03: O sistema permitira ao usuário definir quem pode acessar sua visão.
3.1.2 Diagramas de Casos de Uso
Após análise dos requisitos foi possível levantar os principais casos de uso envolvidos no
desenvolvimento deste projeto. A Figura 15 apresenta os atores e os casos de uso produzidos para o
projeto da ferramenta proposta.
Figura 15. Caso de uso interação Bloco OLAP
Os atores envolvidos no projeto são o Usuário e o Moodle. O ator Usuário representa os
usuários que utilizam à ferramenta (professores e gestores). O ator Moodle representa a ferramenta
OLAP desenvolvida.
37
A seguir há uma descrição dos casos de uso presentes na Figura 15: criar relatórios, executar
relatórios, modificar relatórios e excluir relatórios.
Criar Relatórios
O caso de uso criar relatórios descreve a função que permite ao Usuário através do Bloco
OLAP (plugin) o cadastro de relatórios gerenciais no LMS MOODLE. O Usuário ao informar os
dados necessários para criação de seu relatório (visão) poderá optar por gravá-la definindo um nome
para o mesma. Ao final deste processo, o relatório deverá ser criado.
Para que esta funcionalidade esteja disponível, o Usuário deverá estar logado no sistema,
possuir as permissões necessárias para execução das visões e possuir permissão de acesso aos dados
demonstrados na visão.
Executar Relatórios
O caso de uso executar relatórios descreve a função que permite ao Usuário através do
Bloco OLAP (plugin) a execução de relatórios gerenciais no LMS MOODLE. O Usuário seleciona
as dimensões e medidas que serão utilizadas em sua visão e confirma os parâmetros. Ao final deste
processo, a visão deverá ser realizada e os resultados exibidos na tela.
Para que o Usuário possa acessar esta funcionalidade, o mesmo deverá estar logado no
sistema, possuir as permissões necessárias para execução das visões e possuir permissão de acesso
aos dados demonstrados na visão.
Modificar Relatórios
O caso de uso modificar relatórios descreve a função que permite ao Usuário através do
Bloco OLAP (plugin) a modificação de relatórios gerenciais no LMS MOODLE. O Usuário
seleciona o relatório desejado e confirma os novos parâmetros. Ao final do procedimento, a visão
deverá ser modificada.
Para que esta funcionalidade esteja disponível, o Usuário deverá estar logado no sistema,
possuir as permissões necessárias para modificação e ter permissão de acesso aos dados
demonstrados na visão.
38
Excluir Relatórios
O caso de uso excluir relatórios descreve a função que permite ao Usuário através do Bloco
OLAP (plugin) a exclusão de relatórios gerenciais no LMS MOODLE. O Usuário seleciona o
relatório desejado e confirma sua exclusão. Ao final deste procedimento, a visão deverá ser
excluída.
Para que esta funcionalidade esteja disponível ao Usuário, o mesmo deverá estar logado no
sistema, possuir as permissões necessárias para exclusão das visões.
3.1.3 Diagramas de Atividades
Nesta sessão são demonstrados os processos de criação e execução de relatórios no Bloco
OLAP do LMS MOODLE, através de diagramas de atividades.
Na Figura 16 é exibido o diagrama de atividades de criação de relatórios na ferramenta
OLAP, conforme descrito a seguir: O Usuário solicitará ao sistema a criação de um novo relatório.
O sistema solicitará as informações necessárias para criação de um novo relatório, onde o
preencherá as informações. O sistema validará as mesmas e encaminhará ao Data Warehouse, que
processará a visão do usuário. O Bloco OLAP solicitará a gravação da visão. Com a confirmação do
Usuário o Bloco OLAP gravará a visão.
39
Figura 16. Diagrama de atividades Criar de Relatório
Na Figura 17 é exibido o diagrama de atividades de consulta a relatórios na ferramenta OLAP: o
Usuário solicitará ao Bloco OLAP a visualização de uma visão, que é encaminhada ao Data
Warehouse, que retorna as visões existentes. O Bloco OLAP exibe ao Usuário as visões existentes.
Selecionando uma delas, o Bloco OLAP encaminha a solicitação ao Data Warehouse que processa a
visão e retorna ao Bloco OLAP. A visão é exibida na tela e o Usuário a visualiza, navegando por
suas dimensões.
40
Figura 17. Diagrama de atividades Consulta de relatório
41
3.1.4 DICIONÁRIO DE DADOS
Após análise do banco de dados do LMS MOODLE, foi possível verificar o dicionário de
dados necessário para desenvolvimento do projeto, a Tabela 2 exibe este dicionário.
A tabela dicionário de dados é onde os campos disponíveis para criação das visões estão
cadastrados, a alimentação desta tabela é feita pelo administrador da ferramenta. A alimentação
correta desta tabela é de suma importância para o trabalho desenvolvido, a introdução errônea de
um campo a esta tabela poderá acarretar em informações destorcidas na exibição de uma visão ao
usuário.
42
Tabela 2. Dicionário de Dados.
Campo Tipo Descrição Tabela MOODLE Campo Tabela id integer ID identificador do registro
cod_usuario integer Cód. Usuário m_user id
nome_usuario varchar(45) Nome m_user firstname + lastname
email_usuario varchar(60) E-mail m_user email
pais_usuario varchar(30) País m_user country
cidade_usuario varchar(30) Cidade m_user city
cod_disciplina integer Cód. Disciplina m_course id
nome_disciplina varchar(45) Disciplina m_course fullname
nome_centro varchar(20) Centro m_course_categories name
nome_campus varchar(20) Campus m_course_categories name
acesso_hora timestamp Hora Acesso m_log time
acesso_data timestamp Data Acesso m_log time
acesso_tipo varchar(15) Tipo de Acesso m_log action
acesso_recurso varchar(25) Recurso m_log module
cod_recurso varchar(25) Cod. Recurso † †
titulo_recurso varchar(60) Sumário m_resource name
tipo_usuario varchar(25) Tipo Usuário † †
semestre_disciplina varchar(8) Semestre m_course_categories name
cod_curso varchar(25) Cod. Curso m_course_categories id
nome_curso varchar(35) Curso m_course_categories name
periodo_disciplina varchar(5) Período † †
perfil_usuario varchar(25) Perfil † †
nota_recurso varchar(15) Nota Recurso † †
descricao_recurso varchar(60) Desc. Recurso † †
cod_perfil integer Cod. Perfil m_role id
desc_perfil varchar(60) Desc. Perfil m_role name
IP varchar(20) IP de Acesso m_log ip
local_acesso varchar(20) Local de Acesso † †
entrega_hora varchar(4) Hora Entrega † †
entrega_data varchar(10) Data Entrega † †
entrega_prazo varchar(10) Prazo Entrega † †
O Data Warehouse será composto somente por uma tabela Fato, onde cada campo incluso
no dicionário faz referência a um campo existente nas tabelas padrões do MOODLE. Ex: o campo
cod_usuario faz refência ao campo id da tabela m_user da base de dados do MOODLE.
Para o preenchimento da tabela Fato especificada pelo Dicionário de Dados (etapa de ETL)
será executado um procedimento de atualização periódico, definido pelo administrador de acordo
† Estes campos não foram atendidos pela carga de dados (etapa de ETL), até o final deste trabalho de conclusão.
43
com as necessidades. Nesta execução, as informações atualizadas provenientes das tabelas padrões
do MOODLE serão inseridas na tabela Fato.
3.1.5 EXEMPLOS DE VISÕES POSSÍVEIS
Nesta seção serão exibidos dois exemplos práticos de visões possíveis pelo sistema
proposto. Na Figura 18 é demonstrado os alunos que mais acessam o MOODLE na instituição
UNIVALI, podendo o usuário navegar entre as dimensões: instituição, centro, curso e disciplina.
Figura 18. Alunos que mais acessam o MOODLE
Na Figura 19 é exibido os cursos que mais acessam o MOODLE na instituição UNIVALI,
podendo o usuário navegar entre as dimensões: instituição e centro.
Dimensão 1: Instituição
Dimensão 2: Centro
Dimensão 3: Curso
Dimensão 4: Disciplina
Ex: Na instituição UNIVALI, o aluno que mais acessa o MOODLE é Rodrigo Queiroz.
Ex: Na instituição UNIVALI, Centro CTTMAR o aluno que mais acessa é a Maria Freitas.
Ex: Na instituição UNIVALI, Centro CTTMAR e Curso Ciência da Computação o aluno que mais acessa é a Pedro Ferreira.
Ex: Na instituição UNIVALI, Centro CTTMAR, Curso Ciência da Computação e Disciplina Algoritmos o aluno que mais acessa é a Hugo Dallas.
44
Figura 19. Cursos que mais acessam o MOODLE
Todas estas dimensões são configuráveis de acordo com a necessidade do usuário, os
exemplos acima são meramente ilustrativos.
3.2 Implementação do OLAP MOODLE
Baseado nos levantamentos feitos na etapa de projeto, fez-se a implementação do produto
deste trabalho de conclusão, nas seções a seguir serão exibidos: Construindo um novo bloco, API
do MOODLE e Criação do Bloco OLAP.
3.2.1 Construindo um novo bloco
Foi feita uma pesquisa sobre a estrutura principal do ambiente e as regras de
desenvolvimento de novos blocos. Além da documentação disponível pelo site oficial do
MOODLE, foi realizada uma análise das bibliotecas de funções oferecidas pelo ambiente. Outra
forma de aprendizado do funcionamento do ambiente foi a análise do funcionamento dos módulos e
blocos existentes, além da criação blocos de testes.
Conforme documentação para programadores do MOODLE (MOODLE, 2009), para a
criação de um novo bloco devem-se respeitar as seguintes regras:
• Todos os arquivos que compõem o bloco devem estar num diretório com um nome
que não deverá conter números ou caracteres especiais e deve ser uma palavra única
sem espaços. Esse diretório deverá ficar localizado na pasta blocks do moodle;
• Todos os arquivos de código deverão ter a extensão .php;
Dimensão 1: Instituição
Dimensão 2: Centro
Ex: Na instituição UNIVALI, o curso que mais acessa o MOODLE é Administração.
Ex: Na instituição UNIVALI, Centro CTTMAR o curso que mais acessa é Sistemas para Internet.
45
• Todos os arquivos de modelo deverão ter a extensão .html;
• Todos os acessos a base de dados deverão ser feitos usando as funções que constam
do ficheiro dmllib.php existente na pasta lib do Moodle;
• Todos os textos deverão ser manuseados através das funções pré-definidas pelo
moodle (get_string() e print_string()). Assim é forçado que parte do código seja
padrão e facilite a tradução do texto para outras línguas. Estas funções buscam as
palavras chave no arquivo de língua localizado no diretório /lang do bloco. Este
arquivo tem de ter o nome do bloco seguida da extensão .php;
• O nome do bloco é definido no arquivo de língua;
• Cada arquivo de código deve incluir o arquivo config.php do moodle
require_once("../../config.php"); necessário para identificação do utilizador através
de require_login() e isadmin(), isteacher(), iscreator() ou isstudent();
• Todos os arquivos de ajuda devem ser passíveis de tradução, colocando novos
arquivos de ajuda no diretório adequado. Por ex. lang/pt-br/help;
• Todos os textos dentro do Moodle, especialmente aqueles que são provenientes de
utilizadores devem ser impressos usando a função format_text(). Isto assegura que o
texto está filtrado e devidamente limpo.
Além dos itens citados anteriormente os seguintes arquivos também são obrigatórios:
• version.php: indica a versão do módulo e é útil para posteriormente fazer upgrades.
• index.php: página que lista todas as instâncias existentes do módulo; e
• lib.php: Neste arquivo devem estar as seguintes funções. Caso seja necessário ao
bloco a utilização de uma base de dados, a pasta db deverá ser criada dentro do
diretório do bloco com os arquivos banco_utilizado.php (Ex: mysql.php, este arquivo
o bloco utiliza para fazer as atualizações na base de dados) e banco_utilizado.sql
(Ex: mysql.sql, neste arquivo estão as instruções SQL que irão criar as tabelas
utilizadas pelo bloco) referenciando ao MOODLE qual o SGBD a aplicação irá
46
utilizar. Todas as tabelas deverão ter como início do nome prefix_ seguido de seu
nome. O valor de prefix é atribuído pelo MOODLE quando o SQL é executado.
3.2.2 API do MOODLE
Para a implementação de grande parte das funcionalidades do produto desenvolvido
utilizou-se funções pertencentes à API do MOODLE, sendo elas listadas e descritas a seguir:
Tabela 3. Funções da API MOODLE
Função Descrição da Função execute_sql() Função para execução de comandos SQL do tipo insert, update e delete get_record_sql() Função que retorna somente uma linha do resultado da consulta SQL get_records_sql() Função que retorna uma ou mais linhas do resultado da consulta SQL print_tabs() Função para criação de abas tabobject() Cria um novo elemento para utilização na função print_tabs()
Para não fazer acesso diretamente a base de dados do MOODLE em todas as interações do
usuário com a tela, melhorar o desempenho da aplicação, além de evitar o seu refresh (“atualizar”
do navegador) constante utilizou-se as sessions ($SESSION) que a API do MOODLE disponibiliza.
Segundo a documentação oficial do MOODLE (2009) as sessions permitem ao programador
armazenar as interações do usuário com a ferramenta e recuperá-las posteriormente em qualquer
outra página sem a necessidade de um banco de dados, as sessions são destruídas assim que o
navegador (browser) é encerrado. Tal fato é uma novidade, pois, pouco se encontrou de material ou
documentação desta funcionalidade.
Com estas funções foi possível uma implementação enxuta, sem a necessidade de criação de
conexões com o banco de dados, informar senhas e implementação de segurança, pois todas estas
funcionalidades já estão inseridas de maneira implícita nas funções disponíveis na API MOODLE.
47
3.2.3 Criação do Bloco OLAP
Para criação deste bloco, foi utilizada a linguagem de programação PHP, javascript, banco
de dados ORACLE juntamente com funções existentes na API do MOODLE. O Resultado deste
desenvolvimento é exibido na Figura 20.
Figura 20. Bloco OLAP.
Conforme Figura 20, o observa-se quatro operações essências, sendo elas:
• Criar Visão: interface onde o usuário configura os campos que farão parte de sua visão,
e usuários que terão permissão para visualizá-las;
• Modificar Visão: interface onde o usuário modifica parâmetros em uma visão já criada
por ele;
• Visualizar Visão: lista as visões criadas pelo usuário e as que ele possui permissão para
execução; e
• Campos Valores: possibilita ao administrador da ferramenta criação de funções (Ex:
porcentagem) para utilização futura em visões.
A Figura 21 apresenta o Diagrama de Classe do sistema. As operações existentes nestas
quatro funções são listadas na figura, que representam Dimensão, Campo, Visão e
CampoValor. A seguir encontra-se uma discussão acerca das classes apresentadas no
diagrama.
48
Figura 21. Diagrama de Classes
3.2.3.1 “Dimensao”
Classe que representa as dimensões da Visão, as tabelas 4 e 5 demonstram os atributos e as
operações respectivamente.
Tabela 4. Atributos da classe Dimensao
Atributo Descrição do Atributo listaCampos: Array Lista de campos pertencentes a dimensão da Visão valor: int Valor da dimensão
49
Tabela 5. Operações da classe Dimensao
Operação Parâmetros Descrição da Operação addCampo(): void String campo Adiciona campos a lista de campos da Visão getCampo(): String String campo Retorna o campo selecionado getListaCampos(): Array Retorna um Array com os campos da lista de campos getValor(): String Retorna valor do nível Dimensao(): Dimensao Int valor Construtor da classe Dimensao remove: void String campo Remove o campo da lista de campos
3.2.3.2 Campo
Classe que representa os campos cadastrados em cada nível da Visão, as tabelas 6 e 7
demonstram os atributos e as operações respectivamente.
Tabela 6. Atributos da classe Campo
Atributo Descrição do Atributo campo: String Valor do campo descricao: String Descrição do campo id: int Id do campo tipo: Char Tipo do campo
Tabela 7. Operações da classe Campo
Operação Parâmetros Descrição da Operação Campo(): Campo Int id, String campo, String descricao, Char tipo Construtor da classe Campo getCampo(): String Retorna o campo selecionado
3.2.3.3 Visão
Classe responsável por toda criação de uma Visão, as tabelas 8 e 9 demonstram os atributos
e as operações respectivamente.
50
Tabela 8. Atributos da classe Visao
Atributo Descrição do Atributo dataFinal: Date Data final para faixa na consulta dataInicial: Date Data inicial para faixa na consulta listaDimensoes: Array Lista de dimensões pertencentes a Visão listaParametros: Array Lista com as condições pertencentes a Visão nome: String Nome da Visão ordenacao: Array Lista contendo os campos pela qual a Visão é ordenada
permissoes: String Contem os usuários que possuem permissão para visualizar e executar a Visão
valores: Array Lista de campos valorados pertencentes a Visão
Tabela 9. Operações da classe Visao
Operação Parâmetros Descrição da Operação addDimensao(): void String nivel Adiciona uma nova dimensão a Visão addOrdenacao: void String campo Adiciona novos campos a lista de Ordenação addValores: void String campo Adiciona campos valorados a Visão ContNiveis(): String Retorna o numero de níveis da Visão Delete(): void Int id, String nivel Exclui o nível passado como parâmetro Edit(): void Int id, String nivel Edita o nível da Visão passado como parâmetro getCampoDescricao(): String
String campo Retorna a descrição do campo
getCampoID(): String Int id Retorna o campo conforme ID informado getCamposValores(): Array Retorna a lista de campos valorados getListaOrdenacao(): Array Retorna a lista de campos para ordenação getListaParametros(): Array Retorna a lista de campos de parâmetros getDimensao(): String String nivel Retorna se a dimensão existe
getOrdenacao(): String String campo Retorna se o campo passado como parâmetro esta na lista de ordenação
getParametros(): String String campo Retorna se o campo passado como parâmetro esta na lista de parâmetros
getValores(): String String campo Retorna se o campo passado como parâmetro esta na lista de campos valorados
MontaConsulta(): void Int id, String nivel, String condicao
Retorna o SQL da Visão para o nível informado
removeOrdenacao(): void String campo Remove o campo passado como parâmetro da lista de ordenação
removeParametros(): void String campo Remove o campo passado como parâmetro da lista de parâmetros
removeValores(): void String campo Remove o campo passado como parâmetro da lista de campos valorados
SaveDB(): void Insere todos os itens da Visão no banco de dados setDataFinal(): void Date data Seta a Data final para faixa na consulta setDataInicial(): void Date data Seta a Data Inicial para faixa na consulta setNome(): void String nome Seta o nome para a consulta Visao(): Visao Construtor da classe Visao
51
3.2.3.4 CampoValor
Classe que representa as formulas feitas com os campos valorados, para utilização na Aba
Valores, as tabelas 10 e 11 demonstram os atributos e os atributos respectivamente.
Tabela 10. Atributos da classe CampoValor
Atributo Descrição do Atributo formula: String Formula que compõe a função id: int Id do CampoValor nome: String Nome do CampoValor
Tabela 11. Operações da classe CampoValor
Operação Parâmetros Descrição da Operação Save(): void Cadastra uma nova formula na tabela CampoValor Edit(): void Edita uma formula Delete(): void Exclui a formula desejada
3.2.4 Diagrama Entidade Relacional
As Figuras 22 e 23 exibem o diagrama ER do sistema desenvolvido. As próximas seções
irão descrever cada uma das tabelas presentes nestes diagramas.
52
Figura 22. Diagrama ER da Visão.
A Tabela 12 descreve os relacionamentos presentes no diagrama ER da Visão.
Tabela 12. Relacionamentos Visão
Nome Descrição Relacionamento 1 Relacionamento entre mdl_visao->id e mdl_agrupamento_visao->id_visao Relacionamento 2 Relacionamento entre mdl_visao->id e mdl_filtros->id_visao Relacionamento 3 Relacionamento entre mdl_visao->id e mdl_valores->id_visao Relacionamento 4 Relacionamento entre mdl_visao->id e mdl_ordenacao->id_visao Relacionamento 5 Relacionamento entre mdl_agrupamento_visao->id_campo e mdl_dicionario_dados->id
53
Figura 23. Diagrama ER da Tabela Fato.
3.2.4.1 mdl_visao
Entidade que armazena as informações principais da visão, a Tabela 13 descreve cada um
dos itens presentes nesta entidade.
54
Tabela 13. Entidade mdl_visao
Chave Entidade Tipo Descrição PK Id integer Identificador da Visão nome_consulta varachar Nome da Visão dtInicial Date Data Inicial para faixa da Visão dtFinal Date Data Final para faixa da Visão criador varchar Criador da Visão permissao varchar Usuários que possuem permissão para visualizar a Visão
3.2.4.2 mdl_agrupamento_visao
Entidade que armazena os agrupamentos cadastrados na visão por seu criador, a Tabela 14
descreve cada um dos itens presentes nesta entidade.
Tabela 14. Entidade mdl_agrupamento_visao
Chave Entidade Tipo Descrição PK id integer Identificador do Agrupamento FK id_visao integer Identificador da Visão a qual o agrupamento pertence FK id_campo integer Identificador do campo pertencente ao agrupamento dimensao integer Dimensão da Visão a qual o agrupamento pertence
3.2.4.3 mdl_filtros
Entidade que armazena os filtros cadastrados na visão por seu criador, a Tabela 15 descreve
cada um dos itens presentes nesta entidade.
Tabela 15. Entidade mdl_filtros
Chave Entidade Tipo Descrição PK id integer Identificador do filtro FK id_visao integer Identificador da Visão a qual o filtro pertence filtro text Filtro da Visão
3.2.4.4 mdl_valores
Entidade que armazena os campos valorados cadastrados na visão por seu criador, a Tabela
16 descreve cada um dos itens presentes nesta entidade.
55
Tabela 16. Entidade mdl_valores
Chave Entidade Tipo Descrição PK id integer Identificador dos Valores FK id_visao integer Identificador da Visão a qual os valores pertencem valor varchar Campos valorados pertencentes à Visão
3.2.4.5 mdl_ordenacao
Entidade que armazena as ordenações cadastradas na visão por seu criador, a Tabela 17
descreve cada um dos itens presentes nesta entidade.
Tabela 17. Entidade mdl_ordenacao
Chave Entidade Tipo Descrição PK id integer Identificador da ordenação FK id_visao integer Identificador da Visão a qual a ordenação pertence ordenacao text Ordenações da Visão
3.2.4.6 mdl_block_olapfato
Entidade que armazena todas as informações presentes na tabela Fato do sistema
desenvolvido, a Tabela 18 descreve cada um dos itens presentes nesta entidade.
56
Tabela 18. Entidade mdl_block_olapfato
Chave Entidade Tipo Descrição PK id integer Identificador do Fato cod_usuario varchar Código do usuário nome_usuario varchar Nome do usuário email_usuario varchar E-mail do usuário pais_usuario varchar País do usuário cidade_usuario varchar Cidade do usuário cod_disciplina integer Código da disciplina nome_disciplina varchar Nome da disciplina nome_centro varchar Nome do centro nome_campus varchar Nome do campus acesso_hora varchar Hora de acesso acesso_data varchar Data de acesso acesso_tipo varchar Tipo de Acesso acesso_recurso varchar Recurso acessado cod_recurso varchar Código do recurso titulo_recurso varchar Titulo do recurso tipo_usuario varchar Tipo do usuário semestre_disciplina varchar Semestre da disciplina cod_curso varchar Código do recurso nome_curso varchar Nome do Curso periodo_disciplina varchar Período da disciplina perfil_usuario varchar Perfil do usuário nota_recurso varchar Nota do recurso descricao_recurso varchar Descrição do recurso cod_perfil integer Código do perfil desc_perfil varchar Descrição do perfil IP varchar IP de acesso local_acesso varchar Local de acesso entrega_hora varchar Hora da entrega da atividade entrega_data varchar Data da entrega da atividade entrega_prazo varchar Prazo de entrega da atividade
3.2.4.7 mdl_dicionario_dados
Tabela que armazena os campos cadastrados pelo administrador da ferramenta em seu
dicionário de dados, a Tabela 19 descreve cada um dos itens presentes nesta tabela.
57
Tabela 19. Entidade mdl_dicionario_dados
Chave Entidade Tipo Descrição PK id integer Identificador do dicionário de dados campo varchar Campo pertencente ao dicionário de dados descricao varchar Descrição do campo tipo_campo varchar Tipo do campo cadastrado tipo_fato varchar Tipo do fato tipo_acesso varchar Tipo de acesso ao campo
3.3 Apresentação da Ferramenta
Nesta seção serão exibidas as principais interfaces de tela da ferramenta desenvolvida, bem
como a demonstração da visualização de uma Visão.
3.3.1 Campos Valores
A Figura 24 exibe a tela de criação de Campos Valores, esta tela permite ao administrador
da ferramenta a possibilidade de criar fórmulas a partir de campos numéricos, estas fórmulas serão
utilizadas posteriormente, na criação da visão a Aba Valores. Sem esta funcionalidade, os usuários
criadores de visões não conseguiriam inserir cálculos às visões.
Figura 24. Tela de criação de Campos Valores.
58
3.3.2 Exemplo de Criação de Visão
A criação de uma visão é composta por sete etapas (informações, agrupamentos, valores,
filtros, ordenação, usuários e finalizar) as quais são demonstradas a seguir:
• Aba Informações: O usuário informará o nome de sua visão e o período inicial e final da
mesma, sendo estas informações adicionadas a condição da visão, conforme Figura 25.
;
Figura 25. Aba Informações.
• Aba Agrupamentos: Todos os campos cadastrados no dicionário de dados são exibidos
para o usuário nesta aba. Selecionando um ou mais campos na lista “Campos não
Selecionados” e clicando no botão “>>” o usuário estará adicionando estes
agrupamentos a sua visão. Caso queira remover alguém elemento adicionado o usuário
deverá selecionar na lista “Campos Selecionados” o item desejado e o botão “<<” deverá
ser acionado. Caso seja necessário a criação de uma nova dimensão basta o usuário
selecionar um novo item na caixa de seleção “Dimensões”, o processo para adicionar
novos agrupamentos é o mesmo citado anteriormente, conforme Figura 26;
59
Figura 26. Aba Agrupamentos.
• Aba Valores: Todos os campos cadastrados como numérico no dicionário de dados, e
campos criados através do recurso de “Campos Valores” (vide página 57) são exibidos
nesta aba. Selecionando um campo na lista “Campos Valorados” e a função desejada
basta o usuário clicar no botão “>>” e estará adicionando este campo a sua visão,
também existe a possibilidade de informar um nome para facilitar a compreensão na
execução da visão. Caso queira remover algum elemento adicionado, o usuário deverá
selecionar na lista “Valores Selecionados” o item desejado e o botão “<<” deverá ser
acionado, conforme Figura 27;
60
Figura 27. Aba Valores.
• Aba Filtros: Todos os campos cadastrados no dicionário de dados são exibidos para o
usuário nesta aba. Selecionando um campo na lista “Campos Selecionados” e a condição
e o parâmetro desejado basta o usuário clicar no botão “>>” e estará adicionando esta
condição a sua visão. Caso queira remover alguém elemento adicionado, o usuário
deverá selecionar na “Lista de Parâmetros” o item desejado e o botão “<<” deverá ser
acionado, conforme Figura 28;
61
Figura 28. Aba Filtros.
• Aba Ordenação: Todos os campos cadastrados no dicionário de dados são exibidos para
o usuário nesta aba. Selecionando um campo na lista “Campos Selecionados” e o tipo de
ordenação desejada basta o usuário clicar no botão “>>” e estará adicionando este campo
a ordenação de sua visão. Caso queira remover alguém elemento adicionado, o usuário
deverá selecionar na lista “Seqüência de Ordenação” o item desejado e o botão “<<”
deverá acionado, conforme Figura 29.
62
Figura 29. Aba Ordenação.
• Aba Usuários: Todos os usuários cadastrados na base de dados do MOODLE são
exibidos para o usuário nesta aba. Selecionando um usuário na lista “Usuários” basta o
usuário clicar no botão “>>” e estará adicionando este usuário para ter permissão de
visualizar sua visão. Caso queira remover alguém elemento adicionado, o usuário deverá
selecionar na lista “Permissão” o item desejado e o botão “<<” deverá acionado,
conforme Figura 30; e
63
Figura 30. Aba Usuários.
• Aba Finalizar: Nesta aba é exibida a confirmação de todos os itens cadastrados nas abas
anteriores, podendo o usuário optar por sua confirmação ou cancelamento da operação,
conforme Figura 31.
64
Figura 31. Aba Finalizar.
3.3.3 Exemplo de Utilização de uma Visão
Nesta seção será demonstrada a utilização básica de uma Visão criada pela ferramenta
desenvolvida.
Na Figura 32 é exibida a execução de uma visão construída na ferramenta.
Figura 32. Visualização da Visão.
Nota-se que há um componente de seleção, onde o usuário deverá seleciona a visão que
deseja realizar., neste exemplo o usuário selecionou a Visão “CIDADE=ITAJAI”, esta visão exibe
todos os usuários cadastrados no MOODLE que residem na cidade de Itajaí, ao acionar o botão
“Executar” a visão é exibida.
65
O resultado desta execução é visto na Figura 33.
Figura 33. Resultado da visão.
Os cabeçalhos acima dos campos, são os filtros que permitem a navegação (drill-up e drill-
down) entre as visões, a Figura 34 demonstra o resultado quando o “Cod. Disciplina” selecionado é
igual a 911.
Figura 34. Navegando no resultado da visão.
66
3.4 VERIFICAÇÕES
As funcionalidades do produto desenvolvido neste trabalho foram avaliadas junto ao usuário
chave da ferramenta Marco Antonio Pinheiro (UNIVALI VIRTUAL), que verificou que a
ferramenta beneficiará o processo de gerência no ambiente Sophia. A avaliação foi realizada no
Sistema Sophia (MOODLE versão 1.9.2 utilizado na UNIVALI) com Banco de Dados Oracle.
O cenário atual do ambiente Sophia está descrito na Tabela 20.
Tabela 20. Cenário de testes.
DESCRIÇÃO QUANTIDADE Usuários cadastrados no sistema SOPHIA 1444 Cursos cadastrados 116 Professores cadastrados 89 Tabelas no Banco de Dados 225
Após verificação das funcionalidades da ferramenta desenvolvida junto ao usuário chave foi
feito um comparativo dos relatórios padrões do MOODLE com os possibilitados pela ferramenta
desenvolvida. Verificou-se então que os relatórios padrões trazem informações do tipo: estatísticas
(estatísticas de uso do ambiente), backups (os backups que foram realizados), sumário do curso
(cursos mais ativos e cursos com maior número de inscrições recente) e logs que trazem
informações de atividades do MOODLE (recursos, chat, etc), data, participantes, cursos, ações
realizadas sobre o recurso (ver, atualizar, excluir, acrescentar).
Realizando uma análise constatou-se que os relatórios de log e os sumários do curso geram
informações semelhantes aos possibilitados pela ferramenta produto deste trabalho, mas não
possibilitam criação de novos relatórios. Outra característica importante dos relatórios do
MOODLE é que são pré-definidos, ou seja, o usuário possui poucas alternativas quanto à
flexibilidade dos relatórios.
A Figura 35 demonstra um relatório de log do MOODLE, onde são exibidas as ações do
usuário com o ambiente.
67
Figura 35. Relatório de log MOODLE.
Segundo Marco Antonio Pinheiro (usuário chave do produto deste trabalho) os relatórios
padrões do MOODLE além de muito difíceis de serem gerados dão somente informações de acesso
do aluno. As visões criadas por sua solicitação (para exibição dos perfis e das ferramentas mais
acessadas por um período de tempo) e exibidas em banca são exemplos de informações gerenciais
necessárias, mas, não são disponibilizadas pelos relatórios padrões do MOODLE, estas são apenas
algumas das visões possíveis pela ferramenta desenvolvida, podendo o usuário criar diversas visões
de acordo com suas permissões e campos disponíveis no dicionário de dados.
68
4 CONCLUSÕES
A utilização de ferramenta OLAP integrada ao LMS MOODLE é algo relativamente novo.
A utilização de OLAP é cada vez mais freqüente e importante nas instituições, que desejam, através
da análise de informação, encontrar ferramenta de apoio às decisões. O MOODLE é o LMS de
código aberto mais utilizado do mundo, por possuir seu código aberto proporciona o
desenvolvimento e a inclusão de novas funcionalidades ao sistema, a falta de relatórios gerenciais
desenvolvidos para a ferramenta aliado a grande massa de dados gerada em sua utilização
impulsionou o desenvolvimento do produto deste trabalho de conclusão.
Este trabalho teve como objetivo o desenvolvimento de uma ferramenta OLAP para o LMS
MOODLE da UNIVALI (SOPHIA), possibilitando aos gestores de ensino a criação de visões
dinâmicas, consequentemente auxiliando em suas tomadas de decisão.
Para o desenvolvimento correto do projeto foi necessário o cumprimento da metodologia
proposta. Sendo realizado um estudo de ferramentas similares e conceitos utilizados para o seu
desenvolvimento. Na segunda etapa, após conhecimento das soluções similares e as tecnologias
utilizadas, partiu-se para o projeto, onde foram definidas suas principais funcionalidades e na forma
de UML foi feita sua modelagem.
Na análise dos sistemas similares constatou-se que nem todos os sistemas analisados
utilizam as tecnologias envolvidas neste trabalho. A diferença do sistema desenvolvido em relação
aos demais é a possibilidade de qualquer usuário criar seus próprios relatórios utilizando as
tecnologias OLAP e Data Warehouse, que proporcionam uma visão em dimensões sobre a massa de
dados analisada, facilitando a compreensão, a descoberta de informações novas e a possibilidade de
uma análise mais abrangente e detalhada.
Baseado nos levantamentos feitos na etapa de projeto implementou-se a ferramenta. Após o
desenvolvimento, as funcionalidades da ferramenta foram validadas junto ao usuário chave Marco
Pinheiro (colaborador da UNIVALI VIRTUAL, co-orientador deste trabalho), até a apresentação da
ferramenta em banca pretende-se testar e validá-la de modo a ter uma versão mais amadurecida em
banca.
Pode-se comprovar que com a utilização da ferramenta será possível a gerência mais precisa
da utilização do sistema Sophia na modalidade de ensino a distância (UNIVALI VIRTUAL),
69
permitindo a qualquer usuário, de acordo com seu perfil, a criação relatórios dinâmicos, navegação
entre suas dimensões e a clareza nas informações obtidas. Embora a ferramenta tenha esta
amplitude, o administrador do sistema pode restringir quais usuários poderão executar cada
operação na ferramenta.
Em um trabalho futuro pretende-se oferecer suporte a qualquer banco de dados, qualquer
instalação do MOODLE. Este trabalho também possibilita novas alternativas de análise das
informações presentes no Sophia, como a construção de ferramentas inteligentes para que a tomada
de decisão possa ocorrer de forma mais autônoma. Dentre estas aplicações: outras técnicas de BI,
Data Mining e outras aplicações de Inteligência Artificial.
70
REFERÊNCIAS BIBLIOGRÁFICAS
ANZANELLO, Cynthia Aurora. OLAP Conceitos e Utilização. Instituto de Informática, UFRGS, Porto Alegre, 2002. Disponível em: < http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/ >. Acesso em 20 mai. 2009.
BARBIERI, Carlos. Business Intelligence: Modelagem e Tecnologia. 1. ed. Rio de Janeiro: Axcel Books, 2001. ISBN 8573231483
BARROS, Sandro. GEO-BI : Em busca da informação correta. In: Encontro de Usuários ESRI. 2008
BIERE, Mike. Business Intelligence for the Enterprise. IBM Press, 2003. ISBN 0131413031
BOMBANA, Cheila; AGNOL, Giovani Paulo Dall. Data WareHouse: Sistema de Informações Integradas. Sistemas de Informação – Faculdade de Tecnologia, Erechim, 2005.
CARVALHO, Rodrigo Baroni. Aplicações de softwares de gestão do conhecimento: tipologia e usos. 2000. 144 f. Dissertação de Mestrado em Ciência da Computação - Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Minas Gerais, Belo Horizonte, 2000.
CASTRO, Sergio Alexandre de; GONÇALVES, Pablo Rodrigo; CAZARINI, Edson Walmir. O uso do OLAP na estratégia de vendas em uma indústria de calçados alavancando a gestão de cadeia de suprimentos. In: Encontro Nacional de Engenharia de Produção, 24., 2004, Florianópolis. Anais… Florianópolis: [s.n.], 2004
CHOO, Chun W. The Knowing Organization: How Organizations Use Information to Construct Meaning, Create Knowledge, and Make Decisions. Oxford: Oxford University Press, 1998.
DAVENPORT, Thomas H., PRUSAK, Laurence. Conhecimento Empresarial: como as organizações gerenciam o seu capital intelectual. Rio de Janeiro: Campus, 1998. ISBN 8535203524
EDUWEB. AulaNet. Disponível em: < http://www.eduweb.com.br/elearning_tecnologia.asp>. Acesso em 17 out. 2009.
FILETO, Renato. Data Warehouses: Fundamentos, Ferramentas e Tendências Atuais. Departamento de Informática e Estatística - Universidade Federal de Santa Catarina, Florianópolis, 2009
GONÇALVES, Marcio. Extração de Dados para Data Warehouse. 1. ed. Rio de Janeiro: Axcel Books, 2003. ISBN 8573231955
GONÇALVES, André Nicolau; SILVA, Aleksandra do Socorro; BRITO, Silvana Rossy; WATRIN, Vanessa. Sistema de Apoio a Consultas no Ambiente Virtual de Aprendizagem Moodle. Núcleo de Tecnologias Interativas de Aprendizagem - Instituto de Estudos Superiores da Amazônia, Belém, 2008
71
HARRISON, Thomas H. Intranet Data Warehouse: Ferramentas e Técnicas para Utilização do Data Warehouse na Intranet. São Paulo: Berkeley Brasil, 1998.
IDC. Mission: Buy an LMS, 2002. Disponível em: <http://www.astd.org/LC/2002/0102_moran.htm>. Acesso em 28 mai. 2009.
INMON, W. H. Como construir o Data Warehouse. 2. ed. Rio de Janeiro: Campus, 1997. ISBN 8535201416
IRLBECK, Sonja; MOWAT, Joanne. Learning Content Management System (LCMS). In: KOOHANG, Alex; HARMAN, Keith. Learning Objects: standards, metadatas, repositories, and LCMS. Santa Rosa: Informing Science Press, 2007. p.157-184. ISBN 83-922337-5-1
KIMBALL, Ralph. Data Warehouse tool kit: técnicas para a construção de Data Warehouses dimensionais. São Paulo: Makron Books, 1998. ISBN 0471255475
KOOHANG, Alex; HARMAN, Keith. Learning Objects: standards, metadatas, repositories, and LCMS. Santa Rosa: Informing Science Press, 2007. ISBN 83-922337-5-1
LUCENA, Carlos J. P.; FUKS, Hugo; LAUFER, Carlos; BLOIS, Marcelo; CHOREN, Ricardo TORRES, Viviane. O Aulanet e as novas tecnologias de informação aplicadas à educação baseada na Web. In: VI Congresso Internacional de Educação à Distância. 1999
MEIRA, Kátia Milena Gonçalves. Proposta de aplicação da Ferramenta OLAP para Data Mart para apoiar a captação de doadores de Sangue em um Hemonucleo. In: Anais do Simpósio Brasileiro de Qualidade de Software, 3., Brasília, 2004.
MOODLE. About Moodle. Disponível em: <http://docs.moodle.org/en/About_Moodle>. Acesso em 25 abr. 2009.
MORESCHI, Maria Regina Andrade. O site – Ambiente de Aprendizagem. Revista PEC, Curitiba, v.2, n.1, p.73-81, 2002.
NASCIMENTO, Debora M.C; RODRIGUEZ, Arturo Hernandez; SCHIEL, Ulrich, Portfolio-Tutor: Um Tutor Acoplado a um Portfolio Eletrônico no contexto da Educação a Distância. In: Anais do Simpósio Brasileiro de Informática na Educação, 8., São Leopoldo, 2002. NUNES, Ana C. de Oliveira. FADA – Ferramenta de Apoio a Decisão Acadêmica. In: Congresso Internacional de Educação a Distância, 13., Curitiba, 2007.
O’BRIEN, James A. Sistemas de Informação: e as decisões gerenciais na era da internet. 2. ed. Rio de Janeiro: Saraiva, 2004. ISBN 978-85-02-04407-4
PIRES, Ana Carolina Paganella Pires; BECKER, Denise Regina. Gestão do conhecimento: Estudo de caso – PETROBRÁS. 2007. 12 f. Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2007.
QUEL, Luiz Felipe. Gestão de Conhecimento: e os desafios da complexidade nas organizações. São Paulo: Saraiva, 2006. ISBN 85-02-05865-7
72
SANTIAGO, Marco. Business Intelligence: Sistema de Informação Gerencial, 2008. Disponível em: <http://www.scribd.com/doc/6778917/Bi-Apresentacao>. Acesso em 01 mai. 2009.
SHAMS K.; FAHISTA M. Data Warehousing: Toward knowledge Management, Topics in Health Information Management, v. 21, n. 3, p. 24-32, 2001.
SOARES, Miguel; SANTOS, Nuno. Aplicação OLAP com Visualização Cartográfica, 2007 Disponível em: <http://projetos.inf.ufsc.br/arquivos_projetos/projeto_823/071128%20-%20VAOC%20projetos1.pdf >. Acesso em 05 jun. 2009.
SOARES, SÁ FILHO E MACHADO. O computador como agente transformador da educação e o papel do objeto de aprendizagem. In: Seminário Nacional ABED de Educação a Distancia, 1., 2003, Belo Horizonte: ABED, 2003.
TARAPANOFF, Kira. Ciência da Informação: Inteligência organizacional e competitiva. Brasília: Editora UnB, 2001. ISSN 0100-1965
TAURION, C. Data Warehouse: Estado de Arte e Estado de Prática. Developers Magazine, ano 1, n. 6, p. 10-11, fev, 1997.
TELEDUC. O Ambiente. Disponível em: < http://www.teleduc.org.br/ >. Acesso em 10 jun. 2009.
THOMSEN, Erik. OLAP: Construindo Sistemas de Informações Multidimensionais. 2. ed. São Paulo: Campus, 2002. ISBN 8535211284
TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, Davig. Business Intelligence: um enfoque gerencial para inteligência do negócio. 1. ed. Porto Alegre: Bookman, 2009. ISBN 9788577803347
UNIVALI. Sophia. Disponível em: <http://fiaiweb03.univali.br/sophia/>. Acesso em 15 mai. 2009a.
UNIVALI. TelEduc. Disponível em: <http://teleduc.univali.br/>. Acesso em 20 mai. 2009b.
73
ANEXOS
74
I SCRIPT ETL
As Figura 37, Figura 38, Figura 39 e Figura 39, exibidas neste anexo, representam o script
responsável pela etapa de ETL da ferramenta desenvolvida.
select
DIM_USER.ID as cod_usuario,
DIM_USER.firstname ||' '|| DIM_USER.lastname as n ome_usuario,
DIM_USER.email as email_usuario,
DIM_USER.country as pais_usuario,
DIM_USER.city as cidade_usuario,
case
when (select id from m_course where DIM_CATEGO RY.path like '/'||(select
m_in_in.id from m_course_categories m_in_in where r ownum = 1 and m_i n_in.name
like 'CURSOS J%' and rownum = 1)|| '/%' and rownum = 1) is null then '2009/2'
else ( select m_in.name from m_course_categorie s m_in where
DIM_CATEGORY.path like m_in.path || '%' and m_in.d epth = 2 )
end as semestre,
case
when (select id from m_course where DIM_CATEGO RY.path like '/'||(select
m_in_in.id from m_course_categories m_in_in where r ownum = 1 and m_in_in.name
like 'CURSOS J%' and rownum = 1)|| '/%' and rownum = 1) is null
then
( select m_i n.name from m_course_categories m_in where
rownum = 1 and DIM_CATEGORY.path like m_in. path || '%' and m_in.depth =
2 )
else
( select m_in.name from m_course_categories m _in where rownum = 1 and DIM_C ATEGORY.path like m_in.path || '%' and m_in.dep th = 3
Figura 36. Query de onde os dados são utilizados para alimentação da tabela fato (parte 1 de 4).
75
) end
as campus,
case
when (select id from m_co urse where DIM_CATEGORY.path like
'/'||(select m_in_in.id from m_course_categories m_ in_in where rownum = 1 and
m_in_in.name like 'CURSOS J%' and rownum = 1)|| '/% ' and rownum = 1) is null
then
(
select m_in.name from m_course_categori es m_in where rownum
= 1 and DIM_CATEGORY.path like m_in.path || '%' and m_in.depth = 3
)
else
(
select m_in.name from m_course_categories m_i n
where rownum = 1 and DIM_CATEGO RY.path like m_in.path
|| '%'
and m_in.depth = 4
)
end
as centro,
DIM_CATEGORY.id as cod_curso,
DIM_CATEGORY.name as nome_curso,
Figura 37. Query de onde os dados são utilizados para alimentação da tabela fato (parte 2 de 4).
76
DIM_COURSE.id as cod_disciplina,
DIM_COURSE.fullname as nome_disciplina,
DIM_ROLE.id as cod_perfil,
DIM_ROLE.name as desc_perfil,
DIM_LOG.ip as IP,
DIM_LOG.time as acesso_hora,
DIM_LOG.time as acesso_data,
DIM_LOG.action as acesso_tipo,
DIM_LOG.module as acesso_recurso,
case
when DIM_LOG.module = 'forum' then ( select name from M_FORUM m_in where
DIM_COURSEMODULE.instance = m_in.id )
when DIM_LOG.module = 'chat' then ( select name f rom m_chat m_in where
DIM_COURSEMODULE.instance = m_in.id )
when DIM_LOG.module = 'wiki' then ( select name f rom m_wiki m_in where
DIM_COURSEMODULE.instance = m_in.id )
when DIM_LOG.module = 'reseource' then ( select n ame from m_resource
m_in where DIM_COURSEMODULE.instance = m_in.id )
else
null
end as titulo_recurso,
case
when DIM_LOG.module = 'forum' then
( select nota from
Figura 38. Query de onde os dados são utilizados para alimentação da tabela fato (parte 3 de 4).
77
(select m_in.id,(10*finalgrade) / rawgrademax a s nota
from M_FORUM m_in, m_grade_grades,
m_grade_items where
m_grade_items.iteminstance = m_in.id
and m_grade_grades.itemid = m_grade _items.id
-- group by m_in.id
order by nota desc
) tb
where rownum = 1 and
DIM_COURSEMODULE.instance = tb.id)
else null
end
as nota_recurso
from
m_user DIM_USER, m_context DIM_CONTEXT,
m_role_assignments DIM_ROLE_ASSIGN,
m_course DIM_COURSE,
m_role DIM_ROLE,
m_log DIM_LOG,
m_course_categories DIM_CATEGORY,
m_modules DIM_MODULE,
m_course_modules DIM_COURSEMODULE
Figura 39. Query de onde os dados são utilizados para alimentação da tabela fato (parte 4 de 4).