JOODLE: ferramenta de apoio s atividades educacionais
CURITIBA 2012
CAMILA VIRGINIA DE FARIA DEBORAH VIEIRA PETERS LUIS GUSTAVO DOS SANTOS
JOODLE: ferramenta de apoio s atividades educacionais
Proposta de Trabalho de Concluso de Curso apresentado disciplina de Projetos como requisito parcial concluso do Curso Tcnico em Informtica Integrado ao Ensino Mdio do Instituto Federal do Paran.
Orientador: Paulo Vieira Junior Co-orientadora: Elaini Simoni Angelotti
CURITIBA 2012
LISTA DE ILUSTRAES
Figura 1 - Diagrama de Classes (PARTE1 - Relacionamentos) ................................ 20 Figura 2 - Diagrama de Classes (PARTE2 Relacionamento Daos e GenericDao) 21 Figura 3 - Diagrama de Classes (PARTE3 - Daos) ................................................... 22 Figura 4 - Diagrama de Classes (PARTE4 - MBs) .................................................... 23 Figura 5 - Diagrama de Classes (PARTE5 Entidades) ........................................... 24 Figura 6 - Diagrama de Entidade e Relacionamento ................................................. 25 Figura 7 - Diagrama do Modelo Relacional ............................................................... 26 Figura 8 - Diagrama de Caso de Uso ........................................................................ 27 Figura 9 - Pgina de login ......................................................................................... 46 Figura 10 - Modal cadastro ........................................................................................ 47 Figura 11 - Home do administrador ........................................................................... 48 Figura 12 - Home do Professor ................................................................................. 49 Figura 13 - Home do aluno ........................................................................................ 50 Figura 14 - Pgina gerenciar usurios....................................................................... 51 Figura 15 - Modal criar usurio .................................................................................. 52 Figura 16 - Pgina gerenciar turmas ......................................................................... 53 Figura 17 Pgina cadastrar turmas ........................................................................ 54 Figura 18 - Pgina disciplina ..................................................................................... 55 Figura 19 - Modal novo item ...................................................................................... 56 Figura 20 - Modal novo item - avaliao.................................................................... 57 Figura 21 - Pgina responder avaliao .................................................................... 58 Figura 22 - Pgina resultado da avaliao ................................................................ 59
SUMRIO 1. INTRODUO ..................................................................................................... 1 1.1. DIAGNSTICO ATUAL ........................................................................................ 1 1.2. OBJETIVO GERAL E OBJETIVOS ESPECFICOS ............................................ 2 1.3. JUSTIFICATIVA.................................................................................................... 3 2. SOLUO PROPOSTA ...................................................................................... 5 2.1. DELIMITAO ..................................................................................................... 6 2.2. RECURSOS E TECNOLOGIAS .......................................................................... 6 2.3. FUNDAMENTAO TERICA ........................................................................... 8 2.3.1. Plataforma Java .................................................................................................... 8 2.3.2. Padres de Projeto ............................................................................................... 9 2.3.2.1. MVC Model, View and Controller .................................................................... 10 2.3.2.2. Inversion of Control ............................................................................................ 11 2.3.2.3. DAO Data Access Object ................................................................................ 11 2.3.3. Java Server Faces .............................................................................................. 12 2.3.4. Mapeamento Objeto-Relacional (Object-Relation Mapping) ............................ 13 2.3.5. Hibernate ............................................................................................................ 14 2.3.6. JBoss Seam ........................................................................................................ 14 2.3.7. SGBD - Sistema Gerenciador de Banco de Dados ........................................... 15 2.3.8. AVA Ambientes Virtuais de Aprendizagem .................................................... 16 2.3.9. Trabalhos Relacionados ..................................................................................... 18 2.3.9.1. Moodle ................................................................................................................ 18 2.3.9.2. Edmodo ............................................................................................................... 18 2.3.9.3. Eureka ................................................................................................................. 19 2.3.9.4. AVA-IFPR ........................................................................................................... 19 3. ESPECIFICAO TCNICA ............................................................................. 20 3.1. DIAGRAMA DE CLASSE ................................................................................... 20 3.2. DIAGRAMA DE ENTIDADE E RELACIONAMENTO ........................................ 25 3.3. DIAGRAMA DO MODELO RELACIONAL ......................................................... 26 3.4. DIAGRAMA DE CASO DE USO ........................................................................ 27 3.4.1. DESCRIES DE CASO DE USO ................................................................... 28 4. IMPLEMENTAO DO SISTEMA E SUAS FUNCIONALIDADES................. 46 5. CONSIDERAES FINAIS ............................................................................... 60 5.1. RESULTADOS E TRABALHOS FUTUROS ...................................................... 60 REFERNCIAS .................................................................................................................. 62 1 1. INTRODUO
No meio educacional, softwares de apoio aprendizagem se manifestam como uma til ferramenta para integrao on-line entre alunos e professores. Existem atualmente alguns aplicativos que permi tem essa integrao, porm, no atendem algumas necessidades, como: (1) a falta de um agendamento para a disponibilizao de arquivos e avaliaes; (2) a falta de um quadro de avisos; (3) a ausncia de comentrios das atividades enviadas pelos alunos; (4) a indisponibilidade de reordenar os tpicos; (5) a indisponibilidade de excluir mais de um item e tpico de uma s vez; (6) e a impossibilidade de definir datas iniciais e finais para uma turma. O projeto Joodle pretende disponibilizar rea da educao uma ferramenta que possa sanar essas necessidades. Esta ferramenta est classificada como um Ambiente Virtual de Aprendizagem (AVA). Esse tipo de plataforma de aprendizagem proporciona uma maior interao entre alunos e professores e permite disponibilizar aos alunos materiais necessrios ao contedo das disciplinas, sem a necessidade de recorrer a um servidor de downloads online ou passar por unidades de memria. Ademais, um ambiente que permite a criao de atividades avaliativas aos alunos, onde os mesmos podem fazer a entrega dos seus trabalhos atravs desses ambientes.
1.1. DIAGNSTICO ATUAL
Atualmente, a demanda por uma maior integrao entre alunos e professores muito grande e isso pode ser feito por meio de ambientes de aprendizado on-line, como o Moodle (MOODLE, 2012) (especializado em educao distncia) e o Edmodo (EDMODO, 2012). Aplicativos como esses oferecem a oportunidade de uma interao digital, disponibilizando arquivos e tarefas necessrias para a proposta daquela disciplina. Evitando o uso de quaisquer discos removveis para a distribuio do material, tanto de porte avaliativo quanto de contedo, sendo possvel fornecer 2
um local para avaliar essas atividades, ficando possvel acess-los na conta do usurio. Todavia, a forma como essas ferramentas so implementadas no atendem a necessidades importantes, como as especificadas na introduo. A ferramenta proposta nesse projeto de concluso de curso pretende estabelecer um vnculo entre o aluno e professor, alm de proporcionar um local de fcil acesso aos contedos e atividades disponibilizados pelo professor. Este local de acesso no Moodle apresenta algumas dificuldades como a distribuio de arquivos acadmicos e bibliotecas para desenvolvimento das disciplinas. A disponibilizao desses arquivos se torna difcil sem uma ferramenta que os aloque permitindo o download dos mesmos. No projeto Joodle, ser disponibilizado aos usurios este ambiente para o download das atividades e para que o professor avalie e corrija os arquivos enviados.
1.2. OBJETIVO GERAL E OBJETIVOS ESPECFICOS
O objetivo geral desenvolver uma ferramenta web de apoio as atividades educacionais e que possa ser utilizada por professores e alunos. Como objetivos especficos, o Joodle apresenta: a) Permitir o cadastro de perfis de professores, alunos e administrador; b) Permitir o cadastro de cursos, disciplinas e turmas; c) Permitir que o professor disponibilize os arquivos referentes s disciplinas para o pblico alvo; d) Permitir que o professor disponibilize tarefas e avaliaes para as turmas; e) Permitir o agendamento da disponibilidade destes arquivos, tarefas e avaliaes; f) Permitir que o professor estabelea datas iniciais e finais para cada disciplina, dando a este a opo de aprovar ou reprovar os alunos; 3
g) Exibir uma agenda para professores e alunos que mostre as atualizaes feitas, como disponibilizao de arquivos e data inicial e final de tarefas, avaliaes, eventos e palestras. h) Permitir o cadastro de eventos relevantes do aluno sua prpria agenda; i) Solicitar senha para a incluso dos usurios nos cursos, disciplinas e turmas; j) Permitir que o professor faa comentrios e avalie as atividades dos alunos; k) Disponibilizar um quadro de avisos para todos os usurios e um para cada turma.
1.3. JUSTIFICATIVA
Nos dias atuais, os projetos de iniciativa AVA tm sido muito utilizados para prticas de ensino, principalmente distncia. O projeto Joodle busca aprimorar as ferramentas com defeitos e manter as que j se encontram em perfeito estado, tomando como base o software Moodle. O motivo pelo qual est sendo criado esse AVA que, o Moodle no possui algumas funcionalidades, citadas na introduo, as quais atendem a necessidade dos usurios do sistema (alunos e professores), logo, a criao de um mdulo dentro desse sistema se torna uma alternativa ineficaz. Uma das contribuies do projeto melhorar a agilidade das aulas, j que o mesmo disponibiliza uma maneira mais prtica de alocar arquivos dos professores aos alunos e vice-versa, sem ser necessrio o uso de pendrives ou qualquer forma de discos removveis, aumentando a flexibilidade do sistema para o professor, tendo um espao pronto para a disponibilizao de arquivos e atividades; proporcionar um local particular para cada usurio, mantendo a privacidade das tarefas executadas pelo aluno e de informaes sigilosas; manter um perfil pblico para uma melhor socializao; apresentar uma 4
alternativa ecolgica e prtica para a correo e visualizao de trabalhos, evitando imprimi-los (porm, os professores tero a opo de faz-lo).
5
2. SOLUO PROPOSTA
O projeto Joodle implementado, tomando como base o Moodle, apresentando uma melhor alternativa de AVA para professores e alunos. Deve-se estar ciente que o Joodle um projeto para que o mesmo seja utilizado em instituies de ensino, o que deve abranger professores e alunos que utilizaro o sistema. Ele permitir o cadastro de perfis de professores, alunos e tambm do administrador; deixando que eles possam, assim, disponibilizar quaisquer informaes pessoais que quiserem aos olhos dos outros usurios; incluindo fotos, interesses e formas de contato. Tambm permitir o cadastro de cursos, disciplinas e turmas; de forma que os professores possam gerenci-los e incluir ou excluir alunos dos mesmos. Alm disso, o sistema ainda permitir a disponibilizao de materiais, tarefas e avaliaes para as disciplinas por parte dos professores, de forma que estes possam alterar os arquivos com facilidade e com grande visibilidade para que os alunos possam acess-los. Um adicional que os professores podem determinar uma data para que estes arquivos fiquem visveis, agendando, assim, sua disponibilidade no sistema. Aos professores tambm ser permitido colocar datas iniciais e finais para as disciplinas, podendo aprovar ou reprovar alunos de acordo com seus respectivos desempenho nas disciplinas. Portanto, os alunos que so reprovados permanecero nas mesmas disciplinas, tendo que curs-las novamente. O sistema exibir uma agenda que mostre tarefas, atividades, avaliaes, eventos, palestras e arquivos disponveis; tanto alunos quanto para professores. Os alunos podero inclusive marcar datas importantes em suas prprias agendas, com a relevncia que desejarem. A solicitao de login e senha para cada um dos usurios a fim de que os mesmos possam utilizar o sistema e/ou participar de cursos, disciplinas e turmas, o Joodle garante a segurana, tanto do sistema como dos usurios. 6
2.1. DELIMITAO
O Joodle ser um aplicativo WEB disponvel apenas para o campus Curitiba do Instituto Federal do Paran, e no garante uma cobertura to grande quanto a do Moodle. Alm dessa delimitao, no projeto Joodle, no ser implementada a ferramenta de frum de discusses, visto que, no momento, o mesmo no relevante para este AVA.
2.2. RECURSOS E TECNOLOGIAS
A implementao ser baseada, vista j na inicial do nome do projeto, em Java, sustentado por um servidor WEB, permitindo o acesso ao sistema Joodle por um navegador. Um das vantagens da utilizao da linguagem Java que ela uma linguagem prtica e bem aceita no atual universo WEB. Alm disso, a linguagem Java possui vrios frameworks que facilitam o desenvolvimento web, mapeamento objeto/relacional e a linguagem utilizada nas aulas (significando maior domnio por parte dos desenvolvedores). Para o armazenamento de dados ser utilizado o MySQL, um Sistema de Gerenciador de Banco de Dados que permite inserir, atualizar, remover e ler registros na base de dados utilizando a linguagem SQL Structured Query Language. O uso do JavaServer Faces (JSF) um framework com recursos para o desenvolvimento de Programas web, cujas ferramentas so utilizadas para, de acordo com o site da Oracle (2012), estabelecer o bsico. Com um conjunto de APIs projetadas, o Java ServerFaces pode aumentar o desempenho de certas ferramentas, o que deixa o desenvolvimento da aplicao ainda mais fcil. Para fazer a persistncia dos objetos do programa em registros na base de dados, deve-se haver uma unidade de persistncia. O projeto Joodle 7
utilizar o Hibernate, mas antes, um conhecimento sobre Mapeamento Objeto- Relacional imprescindvel. O Object-Relation Mapping_- Mapeamento Objeto-Relacional uma tcnica de programao que surgiu para facilitar a manipulao de objetos e bancos de dados relacionais, de modo a permitir que um reconhea o outro, sem a necessidade de escrever manualmente comandos do SGBD utilizado, porque possui uma interface de persistncia automtica. Pode-se entender que o Hibernate uma unidade de persistncia para o Mapeamento Objeto- Relacional. Com efeito, ele persiste os objetos instanciados em suas referentes tabelas no banco de dados. Para uma padronizao e melhor estruturao da implementao do Joodle, alguns padres de projeto so utilizados. Dentre os aproveitados, o MVC Model, View, Controller sugere um modo de arquitetar as classes do projeto, havendo a separao das classes de acordo com suas funes, como as de entidade que assumem atributos e caractersticas (Model), a interface do usurio (View) e a classe de comunicao entre as duas (Controller). O Inversion of Control (Inverso de Controle) tambm um padro de projeto utilizado, onde a responsabilidade de chamar os mtodos para o usurio fica por conta do Sistema. Isso permite uma maior independncia dos componentes de alto nvel, sem depender dos componentes de baixo nvel. O padro DAO, ou Data Access Object, ser utilizado para dar suporte s classes utilizarem uma maneira padronizada para o acesso suas respectivas bases de dados. Isso sugere classes que faro a ligao e operaes relacionadas ao banco de dados. Para definir uma interface de alto nvel e mais fazer o programa de uso mais fcil, utilizado o padro Faade, ajudando, segundo Vogel (2009), a deixar um sistema mais limpo, estruturado e menos complexo. aqui que devem ficar todas as regras de negcio, ligando a Interface com as classes de comunicao com o banco, que, nesse caso, a DAO. Outra tecnologia utilizada o JBoss Seam, uma plataforma de construo e implementao de aplicativos Java para a Internet (JEE). De acordo com Lemos e Senger (2008), o objetivo do uso desse framework 8
eliminar certas complexidades em nvel de arquitetura e API, ou seja, implementaes de baixo nvel.
2.3. FUNDAMENTAO TERICA
Neste tpico levantam-se as teorias e ferramentas que fundamentam o trabalho e so utilizadas para o desenvolvimento do sistema.
2.3.1. Plataforma Java
A plataforma Java composta por vrias ferramentas sendo uma delas a linguagem Java, sendo esta orientada a objetos e baseada em atributos, mtodos e objetos com envio constante de mensagens e parmetros aos objetos instanciados. Criada em 1992 por James Gosling (Sun Microsystems), a linguagem de programao utilizada para a implementao deste projeto. Segundo Campione (1996), Java uma linguagem de programao adaptada para o desenvolvimento de Sistemas, tanto WEB quanto stand-alone, executado por um software chamado Mquina Virtual, prpria do Java Java Virtual Machine, auxiliando na execuo de aplicaes Java e permitindo a elas um carter multiplataforma. Uma aplicao Java multiplataforma possui a caracterstica de funcionar em qualquer sistema operacional, pois esta executada diretamente na JVM, responsvel pela traduo dos cdigos ByteCode em cdigos prprios do Sistema Operacional. Essa funcionalidade tratada por Cadenhead e Lemay (2003) como Neutralidade de Plataforma, sendo assim mais aconselhvel para aplicaes WEB, onde necessria a execuo em diferentes plataformas. De acordo com Furgeri (2010), as plataformas podem ser definidas como um local onde se situam o hardware e o software interligados. nesse ambiente que a aplicao roda. Isso pode ser traduzido na interligao entre o Sistema Operacional e o Hardware. 9
Ainda segundo Furgeri (2010), pode-se tratar de trs principais plataformas Java: a) JME Java Mobile Edition: a plataforma utilizada em dispositivos mveis, com baixa capacidade de memria e processamento, de acordo com o artigo do JavaFree.org (2012), sobre Tutorial Java. b) JSE Java Standard Edition: ainda de acordo com o Tutorial Java, disponvel nos artigos do domnio JavaFree.org, essa plataforma a usada em computadores pessoais e dispositivos com alta capacidade de processamento e memria. Nessa plataforma, o uso de APIs tambm utilizado, tendo algumas opcionais que podem ser encontradas no site da Oracle. com elas que as aplicaes so desenvolvidas e executadas. Essa plataforma pode ser dividida em duas subdivises: o JDK Java Development Kit ou SDK Standard Development Kit: um conjunto de utilitrios que auxiliam a criao de softwares para a plataforma Java. o JRE Java RunTime Environment: permite a execuo dos aplicativos que utilizam o JDK. c) JEE Java Enterprise Edition: segundo o artigo Tutorial Java, encontrado no domnio JavaFree.org, essa plataforma vastamente utilizada por empresas, a qual pode estar numa rede ou no. Sua maior prioridade a segurana, onde o uso de API Application Programming Interface amplamente utilizado, permitindo a comunicao dos diversos componentes do software. Portanto, para o desenvolvimento do projeto ser utilizado a plataforma JEE, que, segundo Cattell e Inscore (2001), concebida como uma forma de padronizar o desenvolvimento e as aplicaes, alm de distribu-las, onde se possvel tirar proveito no alcance em rede.
2.3.2. Padres de Projeto
Os padres de projeto - design patterns - podem ser definidos, segundo Fowler (1997), como maneiras semelhantes de se desenvolver um projeto. Ou 10
seja, os padres de projetos podem ser catalogados e utilizados novamente de forma efetiva, gerando, consequentemente, uma padronizao dos modos de implementao de softwares. Alm disso, para Johnson (1997), um software bem uniforme e padronizado reduz o tempo de manuteno do mesmo, pois os desenvolvedores podem migrar mais facilmente entre as partes das aplicaes sem conhec-las como um todo. Primeiramente, os padres foram arquitetados por Alexander (1977), que os descreveu como: Qualificadores de um problema que ocorre frequentemente em seu ambiente, descrevendo, portanto, o cerne da soluo para aquele problema, de tal modo que se a usa milhares de vezes sem fazer a mesma coisa repetidamente. Ou seja, so conceitos e no linguagens ou tecnologias, resolvendo problemas especficos, que j foram uma vez solucionados, possibilitando, assim, a outras pessoas, utilizar essa mesma lgica para resolver problemas semelhantes. Ento, os padres de projeto so utilizados para sanar problemas comuns que outros programadores j tiveram e solucionaram, alm de propiciar uma melhor arquitetura e padronizar os diversos componentes deste projeto.
2.3.2.1. MVC Model, View and Controller
Atualmente, uma maior complexidade por partes dos programas sugeriu uma separao das devidas partes das camadas de interface (View), controle (Controller) e dados (Model), o que conhecido como o padro MVC, que gera uma maior independncia dos componentes da aplicao. Sendo assim, segundo Neto (2007), por consequncia, as alteraes inferidas em uma dessas camadas no afetaro as demais diretamente, ou sua influncia ser muito menor, gerando um maior encapsulamento e acoplamento da aplicao. As principais camadas do MVC, segundo UNJP (2012), so: 11
a) Model: Nessa parte esto localizadas as entidades, assim como seus devidos dados (mtodos e atributos), as lgicas de negcios e as devidas classes de conexo com o banco; b) View: Interface para o usurio; c) Control: classes de comunicao que agem entre a camada Model e View, transformando eventos gerados pela interface em alteraes nos dados da aplicao.
2.3.2.2. Inversion of Control
Inversion of Control, ou Inverso de Controle, um padro de projeto que, quando utilizado, atribui ao computador a responsabilidade de chamar os mtodos para o usurio. Segundo Fowler (2005), tambm associado "Lei de Hollywood": "No nos chame, ns o chamamos", ele melhora o desempenho do programa, pois ao utiliz-lo cada mtodo fica independente dos outros e foca em suas prprias funes. Sendo assim, quando algum mtodo substitudo, os outros no sofrem nada. Ainda de acordo com Fowler (2005), o termo Inverso de Controle foi citado pela primeira vez em 1988 por Johnson e Foote, que acreditam ter ouvido a expresso em algum lugar, mas no se lembram de onde.
2.3.2.3. DAO Data Access Object
Segundo o artigo Core J2EE Patterns - Data Access Object, do domnio da Oracle, esse padro garante a manipulao e gerenciamento da base de dados de um Sistema, implementando as formas e mecanismos necessrios para gerar a ligao com a base de dados, assim como facilitar as diversas formas de acesso a esse componente de comunicao. Para tal, o DAO encapsula a implementao dessa ligao, ocultando essa parte aos seus clientes. Alm do mais, nessa classe que se encontrar a definio da unidade de persistncia. 12
Ainda de acordo com o mesmo artigo, uma das vantagens para utilizao desse projeto que, quando h uma mudana na base de dados utilizada pelo Sistema, as nicas alteraes sero executadas na DAO, sem afetar as classes que a utilizam.
2.3.3. Java Server Faces
Java Server Faces, por Geary e Horstamnn (2007), um framework que permite elaborar interfaces de interao com usurio WEB, inserindo componentes em formulrios e ligando-os a objetos Java. Numa abordagem mais ampla, segundo o site da Oracle, o JavaServer Faces - JSF utiliza conceitos j existentes, padres de interface de usurio - UI e camadas de desenvolvimento WEB, sem prender um desenvolvedor em uma linguagem especfica especial. As interfaces que incluem o JavaServer Faces encapsulam as diversas funcionalidades, permitindo, assim, ser direcionado a vrios clientes. Com a utilizao desse projeto, fica mais estruturado o uso do padro de projeto MVC, j que, pela Oracle, o JSF claramente define a separao entre a lgica da aplicao e a sua devida interface, fazendo uma comunicao entre as duas. Com efeito, o JSF estabelece o padro para a construo e implementao das interfaces de usurios do lado do servidor. Esse framework se tornou padro simplesmente por serem de fcil uso e open-source - cdigo aberto, gratuito para distribuio e modificao. Ele faz toda a parte de implementao do JSP 1 - JavaServer Pages, sendo esse, segundo documentos da Oracle, uma tecnologia que permite o fcil desenvolvimento de componentes WEB, tanto dinmicos quanto estticos, disponibilizando a utilizao do sistema WEB com a tecnologia Java Servlet, necessria para aplicaes Java-WEB. Ainda por Godoy (2011), o JSF se comporta como um modelo de programao orientado a eventos.
1 JSP, segundo Cadenhead e Lemay (2003), disponibiliza o uso e interpretao de cdigos Java em um documento HTML. 13
Por fim, a Oracle (2012) inclui nas funcionalidades do JSF a disponibilizao de um conjunto de APIs - Application Programming Interface para representar componentes da UI e gerenciar seu estado, manipulando e validando eventos e entradas, navegao da pgina, alm de padronizar os desenvolvimentos de aplicaes WEB. Segundo Vieira Junior (2012), o JSF constitui uma especificao Java, que uma explicao detalhada de como um framework Java deve ser e fazer. Ou seja, ainda segundo Vieira Junior (2012), uma especificao, que o caso do JSF, um conjunto de regras que devem ser seguidas.
O Mapeamento Objeto-Relacional (ORM) uma tcnica que ajuda desenvolvedores a trabalhar objetos junto com bancos de dados relacionais, indicando as tabelas do banco como as classes do programa e os registros das tabelas como as instncias dessas classes (os objetos). Assim, minimiza-se a preocupao com os comandos SQL, pois se usa uma interface para a persistncia dos dados. Segundo o site hibernate.org (2011), o ORM surgiu para diminuir os problemas encontrados quando se tenta gravar os dados de um programa orientado a objetos em um banco de dados relacional, tais como: a) Granularidade - quando existem mais classes do que tabelas; b) Herana - esse pode ser um conceito bem firmado em orientao a objetos, mas simplesmente no existe em bancos de dados relacionais; c) Identidade - um banco de dados reconhece igualdade pela chave primria apenas, enquanto na orientao a objetos existem duas noes de igualdade; d) Associaes - em bancos de dados relacionais, referncias so feitas por meio de chaves estrangeiras, mas em orientao a objetos necessrio criar duas associaes para que seja um relacionamento bidirecional (por exemplo), no se podendo determinar a multiplicidade de um relacionamento ao olhar para a classe; 14
e) Navegao de dados - usando Java (uma linguagem orientada a objetos), para se encontrar uma informao simplesmente procura-se pelo objeto no programa. Porm, com bancos de dados relacionais, geralmente se quer minimizar ao mximo nmero de queries (usam-se JOINs), selecionando a entidade procurada antes de procurar pelo programa. Utilizar uma interface de persistncia para o mapeamento objeto- relacional ajuda a reduzir estes problemas. Um exemplo desse tipo de i nterface o Hibernate.
2.3.5. Hibernate
O Hibernate teve incio em 2001 por Gavin King, o qual teve por motivo de criao oferecer uma melhor capacidade de persistncia. Segundo o site oficial do Hibernate hibernate.org (2011) , o mesmo se trata de um framework gratuito que facilita o armazenamento e a recuperao de objetos atravs do mapeamento objeto-relacional. Esse mapeamento utilizado para que o software tenha comunicao com seu banco de dados, ou seja, faz conexo entre as classes Java de um sistema com as entidades do banco. Segundo Lohbauer e King (2005), voc pode utilizar o Hibernate para substituir a escrita de cdigo SQL dentro do seu cdigo Java, preocupando-se somente com os objetos da aplicao. Alm de ser uma maneira mais simples do que usar o cdigo do JDBC puro, j que o Hibernate possui uma linguagem query prpria.
2.3.6. JBoss Seam
JBoss, segundo Kantek e Takahashi (2007), existe desde 1999, desenvolvido por uma equipe chamada JBoss Group, liderada por Marc Fleury. JBoss Seam se define como uma plataforma para a construo e implementao de aplicaes Java para Internet, desenvolvido para a plataforma JEE, ligando as diversas camadas da aplicao. Segundo o prprio site do Seam, seus componentes integram vrias tecnologias, como AJAX, 15
JavaServer Faces, Java Persistence (JPA), Enterprise Java Beans e o Business Process Management. De acordo com Lemos e Senger, o JBoss " um framework que promove uma arquitetura de integrao destas tecnologias do Java EE numa aplicao Web ou Enterprise", e foi concebido para eliminar as diferentes dificuldades e complexidades em nvel de arquitetura e API. Utilizando classes Java com annotations, conjunto de APIs para a UI e XML, ele permite a implementao de complexas aplicaes WEB. Segundo a desenvolvedora, JBoss, cuja definio sobre esse framework se encontra no domnio do SeamFramework, o JBoss Seam garante um componente uniforme para a lgica da aplicao, padronizando seu uso e utilizao de annotations. Para Allen (2008), o Seam elimina camadas e configuraes desnecessrias e soluciona pontos negativos do JSF. Seu uso atual altamente difundido, pelo fato de ser bem integrado, uma til ferramenta de ligao, alm de diminuir ou eliminar interdependncias entre os diversos componentes da aplicao, alm de possuir um controle do estado da aplicao e o acesso de pedidos sobre a mesma. Segundo Dan Allen (2008), JBoss Seam est rapidamente ganhando o interesse dos desenvolvedores do Java Enterprise pelo seu foco na simplicidade e por ser Open-Source, alm de abrir novas portas para novas tecnologias, sem precisar aprend-las antes.
2.3.7. SGBD - Sistema Gerenciador de Banco de Dados
Os bancos de dados, tipicamente, exigem um grande espao para o armazenamento dos mesmos. Segundo Silberschatz, Korth e Sudarshan (2006), os SGBDs corporativos so medidos, geralmente, em gigabytes e terabytes. A fim de facilitar e simplificar o acesso a esses bancos de dados, tem-se o Sistema Gerenciador de Banco de Dados (SGBD), que uma evoluo do Sistema de Banco de Dados (SBD). Ainda de acordo com Korth e Silberschatz (2006), os SGBDs so responsveis pelas seguintes tarefas: 16
a) Cumprimento da integridade permite que sejam criadas regras para que se garanta a integridade da base. A partir dessa ferramenta, as regras criadas podero ser utilizadas por todas as aplicaes que acessarem a base de dados; b) Permisso de criao e aplicao de regras de segurana Uma das mais importantes ferramentas a criao de regras de segurana, pois com elas o acesso aos dados ser privativo aos usurios desejados; c) Controle de concorrncia com o controle de acessos concorrentes o SGBD permite que, se mais de uma pessoa acessar uma mesma base de dados, ao mesmo tempo, um acesso no interferir o outro; d) Realizao da gerncia de transaes segundo Angelotti (2010), as transaes consistem um conjunto de operaes que so denominadas como uma unidade lgica indivisvel, ou seja, quando uma transao iniciada, todas as operaes que esto dentro dela devem ser executadas. Um sistema computacional est sujeito a falhas, assim como qualquer outro produto mecnico ou eltrico. Se essa falha vir a ocorrer durante uma transao, o SGBD dever cancelar as operaes executadas e desfazer as que j haviam sido executadas. Isso ocorre para que se garanta a integridade da base. O SGBD que ser utilizado pelo projeto Joodle o MySQL, criado em 1995 por David Axmark, Allan Larsson e Michael Widenius, na poca desenvolvedores da Sun Microsystems. Segundo o prprio site mysql.com (2012), o MySQL o software de base de dados com cdigo aberto mais popular do mundo, posio que conseguiu graas a sua velocidade e facilidade em usar; tornando-se assim uma boa opo para desenvolvimento WEB.
2.3.8. AVA Ambientes Virtuais de Aprendizagem
Os Ambientes Virtuais de Aprendizagem, surgidos tm tido um crescimento notvel no Brasil, principalmente para auxlio ao ensino distncia que foi o motivo para que se criasse um software. Segundo Barbosa (2005), o AVA se trata de um software online que permite aos alunos e professores uma interao por meio da Internet. 17
Almeida (2003) conceituou que os AVAs so sistemas computacionais disponveis na Internet, destinados ao suporte de atividades mediadas pelas tecnologias de informao e comunicao. Eles permitem a integrao de mltiplas mdias, linguagens e recursos. J Santos (2006) diz que AVA um sistema informatizado, projetado para promover interao entre professores, alunos e quaisquer outros participantes em processos colaborativos que envolvam ensino e aprendizagem via Internet. De acordo com Pereira (2007), para a gesto do aprendizado e a disponibilizao de materiais, um AVA deve apresentar determinadas ferramentas: a) Controle de tempo: feito atravs de algum meio explcito de disponibilizar materiais e atividades em determinados momentos do curso, por exemplo, o recurso calendrio; b) Avaliao: usualmente formativa (como por exemplo, a auto-avaliao); c) Comunicao: promovida de forma sncrona e assncrona; d) Espao privativo: disponibilizado para os participantes trocarem e armazenarem arquivos; e) Gerenciamento de uma base de recursos: como forma de administrar recursos menos formais que os materiais didticos, tais como FAQ (Perguntas frequentes) e sistema de busca; f) Apoio: como por exemplo, a ajuda on-line sobre o ambiente; g) Manuteno: relativo criao e atualizao de matrias de aprendizagem. Sendo assim, um AVA uma boa alternativa educacional, por abranger informao (material didtico), comunicao, gerncia administrativa e pedaggica dos cursos e a oferta de atividades e avaliaes, tudo num s lugar.
18
2.3.9. Trabalhos Relacionados
Para maior compreenso e conhecimento, sero apresentados sites de AVA j existentes. E em comparao aos mesmos est este projeto que busca atender algumas necessidades que esses sites no atendem.
2.3.9.1. Moodle
O Modular Object-Oriented Dynamic Learning Environment (MOODLE, 2012) um aplicativo web gratuito que tem como foco o apoio aprendizagem. Foi criado em 2001 pelo programador e educador Martin Dougiamas. Voltado para o Ensino Distncia (EAD), possui um sistema de administrao de atividades publicadas online para os alunos cadastrados em determinados cursos. Esse sistema muito bom, porm, possui algumas limitaes como j citadas na introduo.
2.3.9.2. Edmodo
O aplicativo Edmodo (EDMODO, 2012) fornece aos professores e alunos um ambiente seguro para se conectar e compartilhar documentos educacionais, notas e discusses sobre diversos assuntos. um site pouco conhecido no Brasil, tendo como objetivo a incluso digital dos alunos e professores. Por ser um aplicativo mais voltado a essa interao entre docentes e discentes, o Edmodo no possui algumas ferramentas que seriam interessantes existirem em um ambiente para avaliao estudantil. Basicamente, o Edmodo tem mais funcionalidades para interao social dos usurios do que ferramentas para a avaliao dos alunos propriamente dita, que foi citada como objetivo do site.
19
2.3.9.3. Eureka
O Eureka (EUREKA, 2012) um aplicativo web da PUCPR (Pontifcia Universidade Catlica do Paran) de interao extra sala de aula entre alunos e professores, bem como o aplicativo Moodle. Este AVA possui algumas funcionalidades que esto presentes no projeto Joodle como agenda pessoal, avaliaes e download e upload de arquivos, porm, o mesmo apresenta o problema de ser disponibilizado apenas aos alunos e funcionrios da PUCPR ou para instituies de ensino que estejam dispostos a comprar este sistema, como o Expoente.
2.3.9.4. AVA-IFPR
O AVA-IFPR (EAD, 2012) foi projetado e desenvolvido pelo Instituto Federal do Paran para o suporte dos cursos de ensino distncia da instituio. Assim como o Eureka, o AVA-IFPR tambm possui algumas funcionalidades que esto presentes no projeto Joodle, como download e upload de arquivos e a disponibilizao de atividades. Esse sistema tambm possui ferramentas de interao entre os usurios como chat, fruns, recados, enquetes e o mensageiro (ferramenta parecida com o Messenger). Outro diferencial que as ferramentas de avaliao dos alunos so customizadas de acordo com a necessidade de cada curso. O AVA-IFPR disponibilizado apenas aos alunos matriculados nos cursos de ensino a distncia do IFPR.
20
3. ESPECIFICAO TCNICA
3.1. DIAGRAMA DE CLASSE
Figura 1 - Diagrama de Classes (PARTE1 - Relacionamentos) 21
Figura 2 - Diagrama de Classes (PARTE2 Relacionamento Daos e GenericDao)
22
Figura 3 - Diagrama de Classes (PARTE3 - Daos) 23
Figura 4 - Diagrama de Classes (PARTE4 - MBs) 24
Figura 5 - Diagrama de Classes (PARTE5 Entidades)
25
3.2. DIAGRAMA DE ENTIDADE E RELACIONAMENTO
Figura 6 - Diagrama de Entidade e Relacionamento
26
3.3. DIAGRAMA DO MODELO RELACIONAL
Figura 7 - Diagrama do Modelo Relacional
27
3.4. DIAGRAMA DE CASO DE USO
Figura 8 - Diagrama de Caso de Uso 28
3.4.1. DESCRIES DE CASO DE USO
Nome <<CRUD>> Gerenciar Cursos Objetivo Permitir que o administrador insira, altere, exclua e consulte um curso. Atores Administrador Fluxo Principal 1) O Sistema lista os cursos cadastrados em ordem alfabtica 2) O administrador seleciona a operao:
Variante inserir 2.1.1) O administrador insere os dados (ano e nome) referentes ao novo curso. 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para o novo curso 2.1.5)O sistema salva o novo registro na base de dados
Variante alterar 2.2.1) O administrador seleciona um dos cursos apresentados 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes ao curso selecionado 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica espaos em branco, e, caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar 2.3.1) O administrador seleciona um dos cursos apresentados 2.3.2) O sistema deve apresentar todas as informaes referentes ao curso selecionado
Variante excluir 2.4.1) O administrador seleciona um dos cursos 29
apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui o curso seleciona da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a.1) O sistema exibe uma mensagem de erro, indicando falta de dados no(s) determinado campo
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a.1) O sistema exibe uma mensagem de erro, afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Curso inserido ou alterado ou excludo ou consultado com sucesso Regras No se aplica. Tabela 1 - <<CRUD>> Gerenciar Cursos Nome <<CRUD>> Gerenciar Disciplinas Objetivo Permitir que o administrador insira, inclua, exclua e consulte uma disciplina Atores Administrador Fluxo Principal 1) O sistema lista as disciplinas cadastradas em ordem alfabtica 2) O administrador seleciona a operao:
Variante inserir: 2.1.1) O administrador insere os dados (nome e senha) referentes nova disciplina 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para a nova disciplina 2.1.5) O sistema salva o novo registro no banco de dados
30
Variante alterar: 2.2.1) O administrador seleciona uma das disciplinas apresentadas 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes disciplina selecionada 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica os espaos em branco, e caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar: 2.3.1) O administrador seleciona uma das disciplinas apresentadas 2.3.2) O sistema deve apresentar todas as informaes referentes disciplina selecionada
Variante excluir: 2.4.1) O administrador seleciona uma das disciplinas apresentadas para exclu-la 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui a disciplina da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Disciplina inserida ou alterada ou excluda ou consultada com sucesso Regras No se aplica. Tabela 2 - <<CRUD>> Gerenciar Disciplinas Nome <<CRUD>> Gerenciar Turmas Objetivo Permitir que o administrador insira, inclua, exclua e consulte uma turma Atores Administrador Fluxo Principal 1) O sistema lista as turmas cadastradas em ordem alfabtica 2) O administrador seleciona a operao:
Variante inserir: 2.1.1) O administrador insere os dados (ano) referentes nova turma 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para a nova turma 2.1.5) O sistema salva o novo registro no banco de dados
Variante alterar: 2.2.1) O administrador seleciona uma das turmas apresentadas 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes turma selecionada 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica os espaos em branco, e caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar: 2.3.1) O administrador seleciona uma das turmas apresentadas 2.3.2) O sistema deve apresentar todas as informaes referentes turma selecionada
Variante excluir: 2.4.1) O administrador seleciona uma das turmas apresentadas para exclu-la 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui a turma da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a 1) O sistema exibe uma mensagem de erro 32
afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Turma inserida ou alterada ou excluda ou consultada com sucesso Regras No se aplica. Tabela 3 - <<CRUD>> Gerenciar Turmas Nome <<CRUD>> Gerenciar Professores Objetivo Permitir que o administrador insira, altere, exclua e consulte um professor. Atores Administrador Fluxo Principal 1) O sistema lista os professores cadastrados em ordem alfabtica 2) O administrador seleciona a operao:
Variante inserir: 2.1.1) O administrador insere os dados (nome, login e senha) referentes ao novo professor 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para o novo professor 2.1.5) O sistema salva o novo registro no banco de dados Variante alterar: 2.2.1) O administrador seleciona um dos professores apresentados 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes ao professor selecionado 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica os espaos em branco, e caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar: 2.3.1) O administrador seleciona um dos professores apresentados 2.3.2) O sistema deve apresentar todas as 33
informaes referentes ao professor selecionado
Variante excluir: 2.4.1) O administrador seleciona um dos professores apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui o professor da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 2.1.3a: Caso algum dado inserido no seja vlido 2.1.3a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Poder ter um novo registro na base referente ao professor; Ou, um registro dos professores poder ser alterado; Ou, uma consulta dos professores ser exibida; Ou, um registro dos professores ser excludo. Regras No se aplica Tabela 4 - <<CRUD>> Gerenciar Professores Nome <<CRUD>> Gerenciar Atividades Objetivo Permitir que o administrador insira, altere, exclua e consulte uma atividade. Atores Professor Fluxo Principal 1) O sistema lista as atividades cadastradas em ordem alfabtica 2) O administrador seleciona a operao:
Variante inserir 2.1.1) O professor insere os dados (data de ativao e enunciado) referentes nova atividade. 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para a nova atividade 2.1.5) O sistema salva o novo registro na base de dados 34
Variante alterar 2.2.1) O administrador seleciona uma das atividades apresentadas 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes disciplina selecionada 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica espaos em branco, e, caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar 2.3.1) O administrador seleciona uma das atividades apresentadas 2.3.2) O sistema deve apresentar todas as informaes referentes atividade selecionada
Variante excluir 2.4.1) O administrador seleciona uma das atividades apresentadas para exclu-la 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui a atividade selecionado da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a.1) O sistema exibe uma mensagem de erro, indicando falta de dados no(s) determinado campo
Exceo 2.1.3a 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a.1) O sistema exibe uma mensagem de erro, afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor Ps-condio Atividade inserida ou alterada ou excluda ou consultada com sucesso Regras No se aplica. Tabela 5 - <<CRUD>> Gerenciar Atividades Nome Listar Professores Objetivo Permitir que o professor consulte uma lista de professores. Atores Professor Fluxo Principal Executar passo 2.3 do caso uso Gerenciar Professores. Fluxo Alternativo No se aplica 35
Pr-condio Estar logado no sistema como professor. Ps-condio No se aplica Regras No se aplica Tabela 6 - Listar Professores Nome <<CRUD>> Gerenciar Avaliaes Objetivo Permitir que o professor insira, altere, exclua e consulte uma avaliao Atores Professor Fluxo Principal 1) O sistema lista as avaliaes cadastradas em ordem alfabtica 2) O professor seleciona a operao:
Variante inserir: 2.1.1) O professor insere os dados (data, enunciado, matria e tempo) referentes nova avaliao 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para a nova avaliao 2.1.5) O sistema salva o novo registro no banco de dados
Variante alterar: 2.2.1) O professor seleciona uma das avaliaes apresentadas 2.2.2) O professor modifica os atributos sua escolha (exceto cdigo) referentes avaliao selecionada 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica os espaos em branco, e caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar: 2.3.1) O professor seleciona uma das avaliaes apresentadas 2.3.2) O sistema deve apresentar todas as informaes referentes avaliao selecionada 36
Variante excluir: 2.4.1) O professor seleciona uma das avaliaes apresentadas para exclu-la 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui a avaliao da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor Ps-condio Avaliao inserida ou alterada ou excluda ou consultada com sucesso Regras No se aplica. Tabela 7 - <<CRUD>> Gerenciar Avaliaes Nome <<CRUD>> Gerenciar Alertas Objetivo Permitir que o professor ou aluno insira, altere, exclua e consulte um alerta Atores Professor, Aluno Fluxo Principal 1) O sistema lista os alertas cadastrados em ordem alfabtica 2) O professor ou aluno seleciona a operao:
Variante inserir: 2.1.1) O usurio insere os dados (hora, data e contedo) referentes ao novo alerta 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para o novo alerta 2.1.5) O sistema salva o novo registro no banco de dados
Variante alterar: 37
2.2.1) O usurio seleciona um dos alertas apresentados 2.2.2) O usurio modifica os atributos sua escolha (exceto cdigo) referentes ao alerta selecionado 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica os espaos em branco, e caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar: 2.3.1) O usurio seleciona um dos alertas apresentados 2.3.2) O sistema deve apresentar todas as informaes referentes ao alerta selecionado
Variante excluir: 2.4.1) O usurio seleciona um dos alertas apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui o alerta da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor ou aluno Ps-condio Alerta inserido ou alterado ou excludo ou consultado com sucesso Regras No se aplica. Tabela 8 - <<CRUD>> Gerenciar Alertas Nome Download de Arquivos Objetivo Permitir que o aluno faa download de arquivos Atores Aluno Fluxo Principal 1) O sistema lista os arquivos cadastrados em ordem alfabtica relacionados atividade e/ou contedo selecionado 2) O sistema executa a variante 2.3 (baixar) do caso de uso <<CRUD>> Gerenciar Arquivos Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como aluno Ps-condio No se aplica 38
Regras No se aplica Tabela 9 - Download de Arquivos Nome Efetuar Login Objetivo Permitir que o professor ou aluno efetue login Atores Professor, Aluno Fluxo Principal 1) O professor ou aluno entra com seu login e sua senha 2) O sistema valida as informaes com as quais o usurio entrou Fluxo Alternativo Exceo 2a: Caso o login ou a senha no sejam vlidos 2a 1) O sistema exibe uma mensagem de erro afirmando que o login ou a senha so invlidos Pr-condio No se aplica Ps-condio O usurio est logado no sistema Regras No se aplica Tabela 10 - Efetuar Login Nome Atualizar Professor Objetivo Permitir que o professor altere seu prprio registro Atores Professor Fluxo Principal 1) O sistema exibe o cadastro do professor que est logado 2) O sistema executa a variante 2.2 (alterar) do caso de uso <<CRUD>> Gerenciar Professores Fluxo Alternativo Exceo 2.2.3a: Caso algum dado inserido no seja vlido 2.2.3a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor Ps-condio O registro do professor atualizado Regras No se aplica Tabela 11 - Atualizar Professor Nome <<CRUD>> Gerenciar Alunos Objetivo Permitir que o administrador insira, altere, exclua e consulte um aluno. Atores Administrador Fluxo Principal 1) O Sistema lista os alunos cadastrados em ordem alfabtica 2) O administrador seleciona a operao:
2.1.1) O administrador insere os dados (nome, login e senha) referentes ao novo aluno. 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para o novo aluno 2.1.5) O sistema salva o novo registro na base de dados
Variante alterar 2.2.1) O administrador seleciona um dos alunos apresentados 2.2.2) O administrador modifica os atributos sua escolha (exceto cdigo) referentes ao aluno selecionado 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica espaos em branco, e, caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar 2.3.1) O administrador seleciona um dos alunos apresentados 2.3.2) O sistema deve apresentar todas as informaes referentes ao aluno selecionado
Variante excluir 2.4.1) O administrador seleciona um dos alunos apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui o aluno seleciona da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a.1) O sistema exibe uma mensagem de erro, indicando falta de dados no(s) determinado campo
Exceo 2.1.3a: Caso algum dado inserido no seja vlido 2.1.3a.1) O sistema exibe uma mensagem de erro, afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Poder ter um novo registro na base referente ao aluno; 40
Ou, um registro dos alunos poder ser alterado; Ou, uma consulta dos alunos ser exibida; Ou, um registro dos alunos ser excludo. Regras Um aluno no pode ser recadastrado na base Tabela 12 - <<CRUD>> Gerenciar Alunos Nome <<CRUD>> Gerenciar Arquivos Objetivo Permitir que o professor insira, substitua, exclua e consulte um arquivo. Atores Professor Fluxo Principal 1) O Sistema lista os arquivos cadastrados em ordem alfabtica relacionado atividade e/ou contedo selecionado 2) O professor seleciona a operao:
Variante inserir 2.1.1) O professor envia o arquivo para o sistema e insere um nome ao mesmo 2.1.2) O sistema verifica o arquivo e assume os valores dos dados (tamanho, localizao, tipo) 2.1.3) O sistema gera um cdigo para o novo arquivo 2.1.4) O sistema salva o novo registro na base de dados Variante substituir 2.2.1) O professor seleciona um dos arquivos apresentados 2.2.2) O professor envia um novo arquivo ao sistema 2.2.3) O sistema verifica os dados referentes a esse novo arquivo 2.2.4) O sistema substitui o arquivo vigente pelo novo 2.2.5) O sistema salva os dados
Variante baixar 2.3.1) O professor seleciona um dos arquivos apresentados 2.3.2) O sistema deve disponibiliza tal arquivo para download
Variante excluir 2.4.1) O professor seleciona um ou mais dos arquivos apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser 41
exibida 2.4.3) O sistema exclui o(s) arquivo selecionado da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a.1) O sistema exibe uma mensagem de erro, indicando falta de dados no(s) determinado campo
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a.1) O sistema exibe uma mensagem de erro, afirmando que o dado est incorreto Pr-condio Estar logado no sistema como administrador Ps-condio Aluno inserido ou alterado ou excludo ou consultado com sucesso Regras No se aplica. Tabela 13 - <<CRUD>> Gerenciar Arquivos Nome <<CRUD>> Gerenciar Tpicos Objetivo Permitir que o professor insira, inclua, exclua e consulte um tpico. Atores Professor Fluxo Principal 1) O Sistema lista os tpicos cadastrados em ordem alfabtica 2) O professor seleciona a operao:
Variante inserir 2.1.1) O professor insere os dados (nome, data) referentes ao novo tpico. 2.1.2) O sistema verifica os campos e insere o valor default nos campos em branco que possuem o mesmo 2.1.3) O sistema valida os dados, verificando se os inseridos so vlidos 2.1.4) O sistema gera um cdigo para o novo tpico 2.1.5) O sistema salva o novo registro na base de dados
Variante alterar 2.2.1) O professor seleciona um dos tpicos apresentados 2.2.2) O professor modifica os atributos sua 42
escolha (exceto cdigo) referentes ao tpico selecionado 2.2.3) O sistema verifica os dados modificados 2.2.4) O sistema verifica espaos em branco, e, caso possua algum campo em branco, ele no altera esse atributo no registro 2.2.5) O sistema salva os dados
Variante consultar 2.3.1) O professor seleciona um dos tpicos apresentados 2.3.2) O sistema deve apresentar todas as informaes referentes ao tpico selecionado
Variante excluir 2.4.1) O professor seleciona um dos tpicos apresentados para exclu-lo 2.4.2) Uma mensagem de confirmao deve ser exibida 2.4.3) O sistema exclui o tpico seleciona da base de dados Fluxo Alternativo Exceo 2.1.2a: Caso algum campo obrigatrio esteja em branco 2.1.2a.1) O sistema exibe uma mensagem de erro, indicando falta de dados no(s) determinado campo
Exceo 2.1.3a e 2.2.3a: Caso algum dado inserido no seja vlido 2.1.3a.1) O sistema exibe uma mensagem de erro, afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor Ps-condio Tpico inserido ou alterado ou excludo ou consultado com sucesso Regras No se aplica. Tabela 14 - <<CRUD>> Gerenciar Tpicos Nome Listar Turmas Objetivo Permitir que o professor consulte uma lista de turmas. Atores Professor Fluxo Principal Executar passo 2.3 do caso uso Gerenciar Turmas. Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como professor. Ps-condio No se aplica Regras No se aplica Tabela 15 - Listar Turmas Nome Listar Alunos 43
Objetivo Permitir que o professor consulte uma lista de alunos. Atores Professor Fluxo Principal Executar passo 2.3 do caso uso Gerenciar Alunos. Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como professor. Ps-condio No se aplica Regras No se aplica Tabela 16 - Listar Alunos Nome Visualizar Material Objetivo Permitir que o aluno visualize o material fornecido pelo professor. Atores Aluno Fluxo Principal 1) O sistema lista os arquivos cadastrados em ordem alfabtica relacionados atividade e/ou contedo selecionado 2) O aluno seleciona um dos arquivos para visualizao 3) O sistema exibe o arquivo Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como aluno. Ps-condio No se aplica Regras No se aplica Tabela 17 - Visualizar Material Nome Visualizar Atividades Objetivo Permitir que o aluno visualize as atividades enviadas pelo professor. Atores Aluno Fluxo Principal 1) O sistema lista as atividades cadastradas em ordem alfabtica relacionadas ao tpico selecionado 2) O aluno seleciona uma das atividades para visualizao 3) O sistema exibe a atividade Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como aluno. Ps-condio No se aplica Regras No se aplica Tabela 18 - Visualizar Atividades Nome Consultar Calendrio Objetivo Permitir que o aluno e o professor consultem o calendrio. Atores Aluno; Professor Fluxo Principal 1) O sistema exibe o calendrio do usurio 2) O sistema modifica o calendrio de acordo com as modificaes feitas pelo usurio. Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como aluno ou professor. 44
Ps-condio No se aplica Regras No se aplica Tabela 19 - Consultar Calendrio Nome Avaliar e Comentar Atividades Objetivo Permitir que o professor avalie e comente atividades. Atores Professor Fluxo Principal 1) O sistema lista as atividades cadastradas em ordem alfabtica relacionados ao tpico selecionado 2) O professor seleciona uma das atividades para visualizao 3) O professor seleciona a operao:
3.1) Variante avaliar 3.2) Variante comentar
Variante avaliar: 3.1.1) O sistema exibe a atividade selecionada para avaliao do professor.
Variante comentar: 3.2.1) O sistema exibe a atividade selecionada 3.2.2)O professor insere o dado comentrio referente ao novo comentrio 3.2.3) O sistema verifica o campo 3.2.4) O sistema valida o dado, verificando se este vlido 3.2.5) O sistema gera um cdigo para o novo comentrio 3.2.6) O sistema salva o novo comentrio na base de dados Fluxo Alternativo Exceo 3.2.3a: Caso o campo esteja em branco 3.2.3a 1) O sistema exibe uma mensagem de erro indicando falta de dados no(s) determinado campo(s)
Exceo 3.2.4a: Caso o dado inserido no seja vlido 3.2.4a 1) O sistema exibe uma mensagem de erro afirmando que o dado est incorreto Pr-condio Estar logado no sistema como professor. Ps-condio No se aplica Regras No se aplica Tabela 20 - Avaliar e Comentar Atividades Nome Enviar Arquivo Objetivo Permitir que o aluno envie um arquivo Atores Aluno Fluxo Principal 1) O sistema executa o caso de uso Visualizar Atividades 2) O aluno seleciona a opo Enviar Arquivo 45
3) O sistema executa a variante 2.1 do caso de uso Gerenciar Arquivos Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como aluno Ps-condio No se aplica Regras No se aplica Tabela 21 - Enviar Arquivo Nome Relacionar Aluno com Turma Objetivo Permitir que o professor relacione o aluno com a turma Atores Professor Fluxo Principal 1) O sistema executa o caso de uso Listar Alunos 2) O professor seleciona um aluno da lista 3) O sistema exibe os dados sobre o aluno selecionado 4) O professor seleciona a opo Relacionar Aluno com Turma 5) O sistema executa o caso de uso Listar Turmas 6) O professor seleciona a turma qual o aluno pertence 7) O sistema salva a relao aluno-turma no banco de dados. Fluxo Alternativo No se aplica Pr-condio Estar logado no sistema como professor Ps-condio O aluno pertence a uma turma Regras No se aplica Tabela 22 - Relacionar Aluno com Turma
46
4. IMPLEMENTAO DO SISTEMA E SUAS FUNCIONALIDADES
O foco do projeto Joodle , essencialmente, a relao aluno/professor, dois tipos de usurios que se entrelaam em turma, curso, disciplina e etc. Por isso, o design do sistema busca ser, ao mximo, funcional e interativo.
A Figura 9 mostra a pgina de login. por aqui que o usurio entra no sistema.
Figura 9 - Pgina de login
47
A Figura 10 mostra a tela de cadastro para um novo usurio. Nesse cadastro o usurio ser sempre um aluno a menos que o administrador mude suas permisses na pgina de gerenciamento dos usurios.
Figura 10 Tela de cadastro
48
Aps o usurio ter logado no sistema ele entrar em sua home. As telas dessa home vo variar de acordo com o tipo do usurio: Figura 11, para administrador; Figura 12, para o professor; e Figura 13, para o aluno.
Figura 11 - Home do administrador 49
Figura 12 - Home do Professor 50
Figura 13 - Home do aluno
51
A Figura 14 apresenta a pgina Gerenciar Usurios que est disponvel para os administradores. Aqui ele pode cadastrar, editar e excluir os usurios do sistema livremente.
Figura 14 - Pgina gerenciar usurios
52
A Figura 15 apresenta a tela de cadastro de um novo usurio que disponvel apenas pasa o administrador. Oa campos aluno, professor e administrador determinam as permisses que o usurio a ser cadastrado ter no sistema. O usurio pode ser mais de um tipo, ou seja, ele pode ser um professor e um administrador ao mesmo tempo. Isso depende das permisses que o administrador vai colocar.
Figura 15 Teal de cadastro de usurio
53
A Figura 16 apresenta a pgina de gerenciamento de turmas onde, novamente, apenas o administrador tem acesso. Nela se pode cadastrar, editar e excluir turmas.
Figura 16 - Pgina gerenciar turmas
54
A Figura 17 apresenta a pgina onde o administrador cadastra uma turma, adicionando o nome, uma senha (no obrigatria), o ano, os alunos que dela participam e as disciplinas da mesma.
Figura 17 Pgina cadastrar turmas
55
A Figura 18 apresenta a pgina da disciplina, com seus tpicos e seus respectivos itens, na perspectiva do professor. Esta pgina visvel para todos os usurios, porm, para os alunos no existem as opes de novo tpico, liberar a excluso dos itens e liberar a excluso dos tpicos. Esta pgina pode ser modificada tanto pelo administrador quanto pelo professor. possvel mudar a posio dos tpicos e selecionar e excluir itens de uma vez (o mesmo funciona com os tpicos).
Figura 18 - Pgina disciplina
56
A Figura 19 apresenta a tela disponibilizada quando o usurio clica no boto "Novo Item", na pgina das disciplinas. Nela o usurio pode escolher o tipo de item que quer adicionar ao tpico (arquivo, atividade, avaliao ou link) e, selecionando uma das opes, abre-se uma tela especfica para o cadastro do item escolhido.
Figura 19 Tela de novo item
57
A Figura 20 mostra um tipo de cadastro de novo item. Neste caso, o de avaliao.
Figura 20 Tela de novo item - avaliao
58
A Figura 21 apresenta a pgina onde o aluno responde uma avaliao cadastrada, pelo professor, na disciplina a qual ele faz parte. Apenas o aluno pode responder a avaliao e o mesmo s poder realizar esta ao caso esteja no prazo adequado para faz-la.
Figura 21 - Pgina responder avaliao
59
A Figura 22 apresenta a pgina na qual o aluno v a nota de sua avaliao, que disponibilizada aps a correo da mesma.
Figura 22 - Pgina resultado da avaliao
60
5. CONSIDERAES FINAIS Ao longo do desenvolvimento do Joodle os objetivos principais do projeto, como disponibilizar arquivos, atividades e avaliaes e a correo e agendamento das mesmas se mantiveram e foram implementados com sucesso. O Joodle tambm conseguiu sanar algumas dificuldades que estavam presentes nos sistemas j existentes como, no Moodle, a impossibilidade de agendar atividades e avaliaes e o problema em reposicionar os tpicos das disciplinas. Dentre os objetivos especficos do sistema Joodle, apenas o objetivo (g) - Exibir uma agenda para professores e alunos que mostre as atualizaes feitas, como disponibilizao de arquivos e data inicial e final de tarefas, avaliaes, eventos e palestras e, uma parte do objetivo (k) - Disponibilizar um quadro de avisos para todos os usurios e um para cada turma no foram implementados, pois o componente calendar do RichFaces no permite alteraes em seu cdigo. Esse sistema, sendo um AVA, poder ser utilizado pelo Instituto Federal do Paran, ou por qualquer outra instituio de ensino, a fim de proporcionar um ambiente prtico e eficiente de interao entre professores e alunos com atividades intra ou extra sala de aula.
5.1. RESULTADOS E TRABALHOS FUTUROS O foco do sistema a interao entre os alunos e os professores, bem como os contedos que estes ltimos queiram disponibilizar para seus discentes a fim de trazer maior agilidade sala de aula. Para tal, foram implementados o cadastro tanto de usurios (administradores, professores e alunos), cursos, turmas, as disciplinas com suas avaliaes e atividades (que aparecem de forma prtica, organizadas em tpicos), e tambm um quadro de avisos especfico para cada usurio e um calendrio (para o aluno se localizar nas datas de entrega).
61
Conforme j dito anteriormente, ainda h muito campo para melhorias no sistema Joodle, como fazer a agenda mostrar as atualizaes do curso do usurio, ter um frum para cada turma, um aplicativo chat para os usurios e mandar e-mails para o usurio com os avisos.
62
REFERNCIAS
ALEXANDER, C. et al. A Pattern Language. Nova York: Oxford University Press, 1977.
ALLEN, D. Seam in Action. Greenwich, 2008. Disponvel em: <http://dl.acm.org/citation.cfm?id=1450932> Acesso em: 22 mar. 2012.
ALMEIDA, M. E. B. Educao, ambientes virtuais e Interatividade. Petrpoles: Loyola, 2003.
ANGELOTTI, E. S. Banco de Dados. Curitiba: Editora do Livro Tcnico, 2010.
AVA-IFPR. Disponvel em <http://200.17.98.190/portalead/default.aspx>. Acesso em 15 nov. 2012.
BARBOSA, R. M. Ambientes Virtuais de Aprendizagem. Porto Alegre: Artmed, 2005.
CADENHEAD, R.; LEMAY, L. Java Profissional Reference. 3. ed. Rio de Janeiro: Elsevier, 2003.
CAMPIONE, M.; WALRATH, K. The Java Tutorial: object-oriented programming for the Internet. 1996. Disponvel em: <http://java.sun.com/docs/books/javatutorial/second-edition.html> Acesso em: 28 fev. 2012.
JOHNSON, R. E. Frameworks = (components + patterns). Communications of the ACM, Nova York, n. 40, n. 10 p. 39-42, out. 1997. Disponvel em: <http://dl.acm.org/citation.cfm?id=262799> Acesso em: 20 mar. 2012.
KANTEK, A.; TAKAHASHI, K. Introduo ao JBoss. Disponvel em <http://www.mundooo.com.br> Acesso em: 22 mar. 2012.
LEMOS, A. J.; SENGER, V. JSF 2.0: Uma evoluo nas interfaces web com Java. Disponvel em: <http:///.slideshare.net/drspockbr/jsf-20-uma-evoluo-nas- interfaces-web-com-java> Acesso em: 21 mar. 2012.
LOHBAUER, C.; KING, G. Hibernate em Ao. 1 ed. Rio de Janeiro: Cincia Moderna, 2005.
MY SQL. Disponvel em: <http://mysql.com> Acesso em: 21 mar. 2012.
64
NETO, O. M.; Entendendo e Dominando o Java. 2 ed. So Paulo: Digerati Editorial, 2007.
ORACLE. Disponvel em: <http://oracle.com> Acesso em: 20 mar. 2012.
PEREIRA, A. C. O que o AVA-AD. Disponvel em: <http://www.avaad.ufsc.br> Acesso em 21 mar. 2012.
SANTOS, E. O. Articulao de saberes na EAD on-line. So Paulo: Loyola, 2003. Disponvel em: < http://abed.org.br> Acesso em: 21 mar. 2012. SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de Banco de Dados. [S.I.]. Campus, 2006.