UNIVERSIDADE FEDERAL DE SANTA CATARINA – UFSC CENTRO TECNOLÓGICO – CTC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INE Victor Daniel Müller PORTAL DOS ALUNOS DE GRADUAÇÃO Florianópolis 2007 VICTOR DANIEL MÜLLER PORTAL DOS ALUNOS DE GRADUAÇÃO Proposta inicial do trabalho de conclusão do curso de Ciência da Computação da Universidade Federal de Santa Catarina. Orientador: José Mazzucco Júnior Florianópolis 2007 2 RESUMO Este trabalho possui seu objetivo focado em maneiras de auxiliar no desenvolvimento acadêmico dos alunos de graduação, bem como na motivação que gerou tal estudo, apresentando algumas alternativas para tal fim. O estudo principal se concentra em apresentar algumas tecnologias que satisfazem os requisitos para o desenvolvimento de uma aplicação que atinja os objetivos do trabalho, e que serão utilizadas durante o decorrer do projeto. 3 SUMÁRIO 1 INTRODUÇÃO ............................................................................................................ 5 1.1 OBJETIVOS ............................................................................................................... 6 1.1.1 OBJETIVO GERAL ....................................................................................... 6 1.1.2 OBJETIVOS ESPECÍFICOS ...................................................................... 6 1.2 JUSTIFICATIVA ....................................................................................................... 7 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO WEB .................................... 8 2.1 LINGUAGEM HTML ...................................................................................................... 8 2.2 PROTOCOLO HTTP........................................................................................................ 8 2.3 PADRÃO MVC ................................................................................................................ 9 2.4 JSP .................................................................................................................................. 10 3 PROPOSTA ..................................................................................................................... 11 4 PLANO DE TRABALHO ........................................................................................... 12 REFERÊNCIAS BIBLIOGRÁFICAS....................................................................... 13 4 1 INTRODUÇÃO O trabalho proposto a seguir encontra-se disposto em quatro capítulos que visam expressar a fundamentação teórica destinada à concepção deste trabalho. No capítulo 1 é exposta uma introdução às idéias iniciais do projeto, mostrando quais objetivos se deseja alcançar com a sua realização, bem como uma justificativa aceitável para o seu desenvolvimento. O capítulo 2 apresenta alguns conceitos iniciais relacionados à programação web, importantes para o bom entendimento da implementação do projeto. O capítulo 3 mostra a proposta de realização do trabalho, ou seja, o escopo no qual se encontra o projeto, especificando o que será desenvolvido. Por fim o capítulo 4 apresenta o plano de trabalho, tendo uma breve estimativa de como se dará sua realização. 5 1.1 OBJETIVOS São apresentados abaixo o objetivo geral e os objetivos específicos, sobre os quais este trabalho se desenvolve. 1.1.1 OBJETIVO GERAL Fornecer uma ferramenta baseada na tecnologia da informação para auxiliar a interação entre os alunos da graduação. Através de um portal on-line onde podem ser encontradas aplicações que se destinam a auxiliar alunos e também professores. Outro ponto do trabalho é focado em aprimorar uma ferramenta já existente e que será integrante do portal a qual consiste em auxiliar à tomada de decisões no que diz respeito à avaliação do corpo docente, sendo uma importante fonte de informações estatísticas para coordenadores de curso. Visa-se utilizar ferramentas livres e gratuitas fornecendo uma aplicação de baixo custo. 1.1.2 OBJETIVOS ESPECÍFICOS Modelar a aplicação em questão que integre aplicações já existentes formando o portal do aluno, pondo em prática os conceitos aprendidos com o decorrer do curso, além de modelar uma base de dados coerente que satisfaça os requisitos levantados na primeira etapa. Posteriormente analisar a aplicação de avaliação do corpo docente já existente e levantar novos requisitos a serem integrados fazendo-se as modificações necessárias, sendo para isto além de conhecimentos relacionados à tecnologia da informação serão aplicados conhecimentos referentes à estatística. 6 1.2 JUSTIFICATIVA É de suma importância para o desenvolvimento acadêmico do aluno que ele tenha uma maneira de interagir com este meio, se relacionando com os outros alunos e também com os professores a fim de ter dúvidas sanadas, apresentar novas propostas, etc. Com o desenvolvimento das tecnologias relacionadas à internet se tornou fácil a distribuição de aplicações que não necessitam ser executadas em sistemas específicos, tornando-as extremamente acessíveis através de qualquer computador conectado a internet. Estando aí uma boa solução capaz de propiciar a instrumentação necessária para que o aluno obtenha esse desenvolvimento. Mas em relação à aprendizagem do aluno certamente o fator que possui mais influência é o professor, onde se leva em consideração a sua capacidade de expressar, a didática e a sua relação com os alunos. Alguns professores podem não ter recebido a preparação necessária para lidar com as situações práticas vivenciadas em sala de aula, necessitando de mudanças em suas técnicas educacionais. Para melhorar o ensino é necessário que haja a participação dos professores em questão, bem como dos alunos com ele envolvidos e de coordenadores de curso. Sem essa interatividade entre as várias partes do meio acadêmico se torna difícil que haja alguma mudança na prática de ensino, já que os professores geralmente possuem uma visão diferente da dos alunos. Para tanto se torna interessante uma aplicação onde os alunos possam avaliar o professor, auxiliando ele e os coordenadores a melhorar a qualidade dos cursos e aumentar a satisfação dos alunos. 7 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO WEB Neste capítulo serão expostos alguns conceitos que serão amplamente utilizados no desenvolvimento do trabalho, indispensáveis para a compreensão do mesmo. 2.1 LINGUAGEM HTML A sigla HTML serve para designar HyperText Markup Language a linguagem criada por Tim Berners-Lee na década de 1990, a qual é uma linguagem de marcação utilizada para desenvolver páginas web interpretadas pelos navegadores, fruto da fusão de dois padrões, o HyTime e o SGML. HyTime é um padrão para a representação estruturada de hipermídia e conteúdo baseado em tempo, já o SGML é um padrão de formatação de textos, conveniente para os requisitos necessários para o HTML. 2.2 PROTOCOLO HTTP O protocolo HTTP (HyperText Transfer Protocol) é um protocolo da camada de aplicação do modelo OSI, utilizado para transferir dados através da rede mundial de computadores, amplamente utilizado para a transferência de imagens, sons e textos, utilizando para tanto normalmente a porta 80. Através dele é possível a comunicação entre as páginas HTML, contudo para a comunicação dessas páginas com seu respectivo servidor é necessário o emprego de comandos adequados, ausentes na linguagem HTML. É basicamente um protocolo cliente-servidor oriundo da necessidade de se padronizar a comunicação entre os clientes e servidores da web. 8 2.3 PADRÃO MVC O MVC ou Model-View-Controller é um padrão de engenharia de software que surgiu inicialmente em 1979 e visa a separação da interface e dos dados, e é comumente usado em aplicações web. O MVC trata de separar os dados e a lógica da aplicação da parte que cuida de apresentar os dados ao usuário (Interface). Para tanto se divide a aplicação em três camadas: Model: é onde se concentram as tarefas relacionadas à lógica do programa, executando tarefas referentes à lógica e alteração de estados. View: responsável por interagir com o usuário, obtendo os dados necessários ao modelo e capaz de possibilitar a sua visualização ao usuário. Controller: é a parte designada em fazer a ligação do Model e View, monitorando o acontecimento de eventos, interpretando-os e realizando as tarefas necessárias. Figura 1 – Modelo MVC – fonte: [SUN MVC]. 9 2.4 JSP O JSP ou Java Server Pages é uma tecnologia que permite a criação rápida e dinâmica de páginas web utilizando a tecnologia Java, possibilitando a criação de aplicações independentes de plataforma. O JSP é basicamente composto de uma mistura de código HTML com XML podendo-se agregar, através de etiquetas especiais, scripts escritos em linguagem Java. As páginas JSP estão baseadas em servlets Java, ou seja, programas Java com a finalidade de executar no servidor. Os arquivos JSP são criados de forma similar aos arquivos de outras linguagens, tais como PHP ou ASP. É composto de seções HTML que possuem dentro de sua estrutura etiquetas com sentenças Java a serem executadas no servidor. Quando um cliente deseja executar um arquivo JSP, este é traduzido para a forma de um servlet como um Java Byte Codes (Arquivo compilado em Java) pelo JSP Engine do servidor, ou seja, ele é compilado e posteriormente executado pelo servidor que envia as informações ao cliente. 10 3 PROPOSTA A proposta inicial surge de uma aplicação já existente e que utiliza de tecnologia web que se propõe em auxiliar que coordenadores de curso avaliem, através de questionários respondidos por alunos, os professores que ministram aulas no curso por ele coordenado, utilizando para isto técnicas estatísticas. A princípio será estudado o código da aplicação existente, para que se possam ser implementadas as funcionalidades adicionais requeridas, fazendo a análise de requisitos necessária e tendo como base para este trabalho técnicas baseadas em engenharia de software e conceitos de programação web, buscando também tecnologias novas relacionadas a esta área que possam ser utilizadas durante o trabalho. Tendo a parte anterior como concluída, o trabalho foca-se na criação de um portal utilizando as mesmas técnicas anteriores, abrangendo em uma forma simplificada de acesso várias aplicações comuns aos alunos da graduação. 11 4 PLANO DE TRABALHO O trabalho completo será desenvolvido seguindo-se um plano previamente estabelecido, de forma a organizar as etapas de realização do mesmo. Primeiramente serão buscados materiais em diversas fontes a respeito do conhecimento desejado, para que se tenha um conhecimento diversificado das tecnologias existentes no mercado a fim de se obter um sistema de fácil manutenção posterior e de baixo custo. Serão apresentados os conceitos necessários para que o leitor possa compreender o desenvolvimento do projeto. Posteriormente será feito o acompanhamento do desenvolvimento do projeto passo a passo podendo-se acompanhar na pratica os conceitos apresentados até então. Por fim serão realizados teste de validação e verificação do projeto garantindo que satisfaz todos os requisitos desejados. 12 REFERÊNCIAS BIBLIOGRÁFICAS HTTP. Disponível em: <http://pt.wikipedia.org/wiki/Http>. Acesso em: julho de 2007. HTML. Disponível em: <http://pt.wikipedia.org/wiki/HTML>. Acesso em: julho de 2007. MVC. Disponível em: <http://pt.wikipedia.org/wiki/MVC>. Acesso em: julho de 2007. MVC XEROX PARC 1978-79. Disponível em: <http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html>. Acesso em: julho de 2007. O QUE É JSP. Disponível em: < http://www.criarweb.com/artigos/227.php>. Acesso em: julho de 2007. JAVASERVER PAGES OVERVIEW. Disponível em: < http://java.sun.com/products/jsp/overview.html>. Acesso em: julho de 2007. GEARY&HORSTANN, 2007 GEARY, David. CAY, Horstmann. Core JavaServer Faces. Disponível em: <http://www.horstmann.com/corejsf/>. Acesso em: julho de 2007. 13