Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
RESUMO Este trabalho apresenta uma proposta para desenvolvimento de uma aplicação para gerenciamento gerenciamento informatizado informatizado On-line de uma instituição instituição de Ensino, concretament concretamentee na área Pedagogia, usando a Linguagem PHP e a Base de Dados MYSQL. O Sistema Web permitirá à instituição realizar actividades de acompanhamento Pedagógico de seus cursos, possibilitand possibilitandoo aos docentes docentes a publicação dos resultados resultados das avaliações avaliações dos estudantes, e por sua vez dar aos estudantes a possibilidade de aonde quer estejam, obtiverem resultados resultados das avaliações realizadas assim como como ter acesso a materiais de apoios dispo d isponibilizados nibilizados pelos docentes. Neste trabalho concebeu-se, concebeu-se, configurou-se configurou-se o web-site com o objectivo objectivo de melhorar a qualidade do processo de ensino e aprendizagem, disponibilizando a qualquer altura a possibilidade de os estudantes e docentes interagirem sem que obrigatoriamente estejam no mesmo lugar. A proposta propos ta aqui trazida, é direccionada ao Curso de Informática do ESTEC - UP. Embora este projecto tenha sido direccionado, o mesmo poderá ser implementado nos restantes cursos cursos da UP, assim como em qualquer instituição instituição de ensino que pretenda pretenda uma aplicação igual.
Palavras Chaves: Sistema de Informação, Base de dados, Internet, Gestão de Informação
Cláudio Ângelo Nhancale
1
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
LI STA DE DE SIGLAS SIGL AS E ABREVIATURAS ARPANET - Advanced Research Projects Projects Agency Network CGI CG I -
Common Gateway Interface
ESTEC -
Escola Superior Técnica
FTP FT P -
File Transfer Protocol
HTML -
HyperText HyperTe xt Markup Language
HTTP -
Hypertext Transfer Transfer Protocol
ICMP -
Internet Control Message Protocol
PEA -
Processo de Ensino e Aprendizagem Aprendizagem
PHP -
Hypertext Preprocessor ou Personal Home Page Tools
SGBD -
Sistema de Gestão de Base de Dados
SGML -
Standard Generalized Markup Language
SI -
Sistema de Informação
SQL -
Structured Query Language
SSH -
Secure Shell
SSL -
Secure Sockets Layer
TCP/IP -
Transmission Transmis sion Control Protocol/Internet Protocol/Inte rnet Protocol
TI -
Tecnologias da Informação
TI C -
Tecnologias Tecnologi as de Informação e Comunicação
UP -
Universidade Universid ade Pedagógica
URL -
Uniform Resource Locator
WEB -
World Wide Web
WWW -
World Wide Web
Cláudio Ângelo Nhancale
2
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
LIS LI STA DE FIGURAS Figura 1:- Roteadores..............................................................................................13 Figura.2:Figura.2: - Funcionamento Funcionamento da web...........................................................................15 Figura 3:- Arquitectura do PHP................................ PHP...............................................................................24 ...............................................24 Figur Figur a 4: - Funcionamento Funcionamento das Tecnologias Apache + PHP + MySQL.. M ySQL...................27 .................27 Figura 5:- Estrutura do Sistema Sistema ..............................................................................31 ..................................... .........................................31 Figura 6:- Login do sistema.....................................................................................32 Figura 7:- Casos de uso Principal............................................................................34 Figura 8:- Diagrama de Classes............................................ Classes...............................................................................35 ...................................35 Figura 9:- Diagrama de sequencia para o caso de uso Lançar L ançar notas........................36 notas........................36 Figur Figur a 10:- Tela para selecção da cadeira..................................................................37 Figur Figur a 11:- Tela para lançamento lançamento de notas................................................................38 notas............................... .................................38 Figur Figur a 12:- Tela para lançamentos de Textos de apoio.............................................38 apoio.............................................38 Figur Figur a 13:- Tela para download de arquivos........................................... arquivos.............................................................38 ..................38 Figur Figur a 14:- Tela para Consulta de Notas...................................................................39 Figur Figur a 15:- Tela para cadastro de um estudante........................................................40 Figur Figur a 16: 16: Cadastro de um Docente.......................................... Docente..........................................................................40 ................................40 Figur Figur a 17: 17: - Acesso ao servidor servidor remotamente............................................................43 Figur Figur a 18:- Administração Administração remota da base de dados.................................................44 Figur Figur a 19: 19: - Tela Principal do Administrador............................................................52 Administrador............................................................52 Figur Figur a 20:- Tela para cadastro de um Docente a uma Disciplina.............................52 Figur Figur a 21:- Tela principal do Docente................................................................. Docente......................................................................53 .....53 Figur Figur a 22:- Impressão Impressão da Pauta.................................................................................53 Pauta............................................................. ....................53 Figur Figur a 23:- Tela principal do estudante................................. estudante....................................................................54 ...................................54 Figur Figur a 24 : Tabelas Existentes na Base de dados.....................................................58
Cláudio Ângelo Nhancale
3
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
LISTA DE TABELAS Tabela 1
Ameaças a segurança Web.....................................................................17
Tabela 2
Exemplo Exemplo de tags HTML..........................................................................21 HTML............................................... ...........................21
Tabela 3
Descrição dos Actores do sistema..........................................................33
Tabela 4
Testes a realizar e resultado esperado......................................................42 esperado......................................................42
Cláudio Ângelo Nhancale
4
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
CAPÍTULO I INTRODUÇÃO As Tecnologias da Informação e comunicação são uma componente indispensável nas organizações, organizações, na medida que as soluções tecnológicas automatizam processos processos e são fonte de vantagens competitivas através da análise de cenários, apoio ao processo decisório e definição e implementação de novas estratégias organizacionais. Assim, cresce a preocupação com a colecta, armazenamento, processamento e transmissão da informação, justamente porque a disponibilidade da informação certa, no momento certo, para o tomador de decisão, é requisito fundamental para a melhoria contínua da qualidade e competitividade organizacionais, o que implica em considerar a crescente relevância dos sistemas de informação. As novas tecnologias de informação e comunicação constituem instrumentos de trabalho adaptados às novas exigê e xigências ncias impostas pela Sociedade Sociedade da Informação, Informação, nomeadamente a flexibilidade em espaço e tempo, acessibilidade, individualização e interactividade, possibilitando uma maior disponibilidade e uma generalização do acesso à educação. Todo este processo implica uma reflexão sobre o papel da educação na Sociedade da Informação Informação e o âmbito de intervenção dos dos elementos que integram integram o sistema educativo, bem como o equacionar de aspectos mais específicos, como a disponibilidade, o custo, a acessibilidade, acessibilidade, a sensibilização sensibilização e a credibilização. As TIC’s baseadas na Internet são hoje um meio potencialmente privilegiado para a difusão da informação no seio das instituições ligadas ao ensino. Estamos a viver numa época de rápido desenvolvimento das tecnologias de informação, com o acesso a redes globais de computadores, ao correio electrónico, a bases de dados, a bibliotecas virtuais, e a uma enorme e norme oferta de software . Esse progresso progresso está a provocar mudanças enorme enormess na organização da nossa vida e do nosso trabalho. As Instituições de ensino bem como as demais instituições sociais, sofrem e exercem influência na sociedade em que se encontram. Neste contexto as instituições de ensino necessitam de manter uma ligação harmoniosa com a sociedade em que se insere, Cláudio Ângelo Nhancale
5
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
devendo adoptar modos de ensinar, aprender administrar adequados à nova realidade social, sendo obrigados mais cedo ou mais tarde, a incluir em seus modelos modelos de ensino e administrativos administrativos as novas Tecnologias conforme o desenvolvim d esenvolvimento. ento. A massificação massificação do uso das d as TIC’s por parte das empresas, universidades universidades e governos, gera uma enorme necessidade de interligação interligação de diferentes diferentes sistemas sistemas para o fluxo e intercambio de Informação (Localmente ou Remotamente) de forma rápida e “segura”. Neste contexto a Internet Poderá desempenhar um papel p apel preponderante. preponderante.
Recorrendo a Internet, o presente trabalho apresenta uma proposta de implementação de um sistema que permita o gerenciamento pedagógico On-line, isto é desenvolver um sistema que permita aos Gestores, Estudantes, Docentes e os demais actores possam a qualquer hora e sem precisar de se deslocar, acessar a informações de natureza académica, tudo de forma fácil pela Internet. A grande vantagem para toda a comunidade académica é que tudo é feito de maneira informatizada e On-line, disponibilizando às informações informações de cada interveniente interveniente em qualquer lugar lugar e a qualquer hora do dia.
1.1Impor 1.1Impor tancia do Tema Considerando que as novas tecnologias trazem consigo múltiplas vantagens para os profissionais nos diferentes sectores de actividade, é de extrema importância a adopção de mecanism mecanismos os e soluções soluções que facilitem a actividade do homem e promovam promovam o dinamismo, dinamismo, eficácia, eficiência eficiência e imagem de profissionalismo profissionalismo as instituições e seus actores. A crescente necessidade de partilha, p artilha, acesso e disponibilidade disponibilidade de informação remotamente disponíveis 24 horas por dia em qualquer lugar obriga a criação de sistema de apoio pedagógico nas instituições de ensino, tudo isto com vista a dar o cobro as necessidades da área Administrativas.
1.2Formulação 1.2Formulação Do Problema O curso de Bacharelato Bacharelato e licenciatura em ensino de Informática, é leccionado leccionado na UP desde 2004, e esta afecto ao ESTEC, Departamento de Manutenção Industrial. O curso Cláudio Ângelo Nhancale
6
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
iniciou com 20 estudantes, e no presente momento conta com um universo de 150 estudante subdivididos em 4 níveis, nomeadamente 1º ano, 2º ano, 3º ano e 4º ano. Durante o PEA os estudantes deparam-se com diversas dificuldades, uma delas é a dificuldade em ter acesso em tempo útil aos seus resultados académicos (notas de testes, assim como resultados da pauta), principalmente nos finais de semestre, pois as pautas têm sido publicadas tardiamente. Esta situação cria um stress emocional nos estudantes, obrigando-os quase que sempre a deslocarem as vitrinas da faculdade para saberem dos seus resultados, e eventualmente se for o caso, prepararem-se para a recorrência. Por outro lado a crescente procura das instituições de ensino superior no pais, especificamente a UP, obriga que ano após ano, mais estudante sejam admitidos na instituição, instituição, tornando cada vez mais complexo complexo o processo de administração administração dos cursos e das turmas em moldes manuais. As Instituições de Ensino, sofrem e exercem influência na sociedade em que se encontra. Assim, as inovações tecnológicas criadas em outros contextos, mais cedo ou mais tarde, batem às suas portas, pedindo para entrar. Uma das tecnologias que tem evoluído de uma forma impressionante são as redes de Computadores e consequentemente a Internet, dai que as Instituições de Ensino não podem ficar aparte desta situação. O problema de pesquisa, resume-se em: “Como Implementar um Sistema de Gestão Pedagógica Pedagógica On-line ?”.
1.3 Hipóteses 1- Os sistemas de Informação baseados na Internet são fundamentais para a melhoria do Processo Processo de administração administração Pedagógica Pedagógica nas instituições de ensino. 2- A ausência de um site site para a gestão gestão pedagógica On-line On-line atrasa atrasa o processo de divulgação de resultados aos estudantes, assim como dificulta o acesso ao material de apoio que os Docentes Docentes dispo d isponibilizam nibilizam 3- A não existência de sistemas de Informação para gestão Pedagógica em instituições instituições de ensino, em nada influencia o proce p rocesso sso de ensino e aprendizagem
Cláudio Ângelo Nhancale
7
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
4- A demanda de estudantes que concorrem a UP, especificamente ao curso de Informática a medida que os anos vão passando, torna mais complexo o processo de administração Pedagógica. 1.4 Justificativa Com vista a solucionar o problema acima supracitada, Como contribuição este trabalho traz a superfície, dentro das suas possibilidades uma proposta de implementação de sistema que permita fazer uma gestão Pedagógica On-line, por forma a melhorar Processo de Ensino Aprendizagem Aprendizagem (PEA) , bem como como no processo de administra administração ção pedagógica e gerenciamento institucional.
1.5Objectivos 1.5Objectivos Do Trabalho O presente trabalho tem como objectivos os seguintes: Geral: Geral: §
Conceber um Sistema Para Gestão Pedagógica Pedagógica On-line.
Específicos: Específicos : §
Conceber um Sistema Para lançamentos lançamento s e Consulta de Notas via Internet
§
Identificar as tecnologias usadas para a o desenvolvimento do sistema e suas vantagens.
§
Identificar as vantagens que o sistema poderá trazer para a melhoria da qualidade dos Serviços Administrativos e Pedagógicos.
§
Identificar políticas de uso do Sistema na Universidade Pedagógica e testar a sua funcionalidade.
1.6. 1.6. Metodologias Para a realização do presente trabalho as metodologias usadas foram: 1. Revisão e análise análise Bibliográfica Bibliográfica relacionada relacionada com o tema; 2. Trabalho de campo campo realizado na Escola Escola Superior Superior Técnica, no Departamento Departamento de Manutenção Industrial. Cláudio Ângelo Nhancale
8
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
3. Entrevistas aos Estudantes do curso de Informática
1.7 Estrutur a do tra balho balho O trabalho apresenta primeiro fundamentos teóricos que trazem conceitos teóricos sobre redes de computadores, conceitos de servidores no geral e com mais ênfase nos relacionados relacionados ao servidor de ficheiros para sustentar a parte prática. §
O capítulo 1 ilustra uma visão geral do trabalho, apresentando desde a introdução problematização, a justificativa e os objectivos a serem alcançados.
§
§
O capítulo 2 trata da revisão bibliográfica. O capítulo 3 descreve as diferentes tecnologias utilizadas para a concepção do sistema aqui proposto.
§
O capítulo 4 descreve o processo de desenvolvimento do sistema de informação que dá título a esse trabalho, da análise e implementação à sua operacionalidade
§
O capítulo 5 apresenta a conclusão, recomendações e referências bibliográfica
Cláudio Ângelo Nhancale
9
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
CAPÍTULO II FUNDAMENTAÇÃ FUNDAMENTAÇÃO O TEÓRI CA 2.1 Sistemas Sistemas de I nformação A visão mais tradicional sobre o conceito de software limita-se a considerá-lo como um conjunto de programas, constituído por blocos de código. Outros autores englobam ainda neste conceito a documentação de apoio que é produzida. No entanto, quando falamos actualmente do componente lógico que serve de suporte às necessidades das organizações, o conceito mais abrangente normalmente utilizado é o de sistemas de informação. Tal como em muitas outras situações no domínio da informática, não existe
uma definição formal e consensual deste conceito. Sistemas de informação (SI) é um conjunto de componentes inter-relacionados trabalhando juntos para colectar, recuperar, processar, armazenar e distribuir informações destinadas a apoiar a tomada de decisões, a coordenação e o controle de uma organização (Stair, 1998). Além de dar suporte ao processo decisório, à coordenação e ao controle, sistemas de informação podem também auxiliar gerentes e trabalhadores a analisar e solucionar problemas. Os sistemas de informação estão difundidos por todas as estruturas organizacionais, tornando-se ferramenta essencial de qualquer actividade empresarial. Tal abrangência aumenta a procura por profissionais com conhecimento para desenvolver, implantar e gerir sistemas que actuem no suporte às actividades operacionais e forneçam informações para auxiliar decisões de gerência e estratégias para a organizaçã or ganização. o.
2.1.1 2.1.1 Perigos que ameaçam os Sistemas Sistemas de Info In forr mação A evolução tecnológica, os problemas técnicos, as perturbações profundas do ambiente, as condições desfavoráveis ao nível das instalações, as falhas humanas e as deficiências das instituições socais, políticas e económicas são factores suceptiveis de por em perigo um bom funcionamento dos sistemas de Informação. Os sistemas podem se ameaçados por actos deliberados ou involuntários, cuja origem pode ser interna ou externa. Os períodos de indisponibilidade, por exemplo, podem ser atribuídos a uma única grande Cláudio Ângelo Nhancale
10
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
avaria, ou a quebras frequentes e/ou degradação degradação de serviços. A frequência e a duração d uração das perturbações, mesmos menores, devem ser tidas em conta quando se fala de segurança. Tanto os grandes grandes como os pequenos pequenos acidentes acidentes podem ter repercussões repercussões nefastas nefastas no funcionamento e utilização do sistema e igualmente prejudiciais para o bom andamento de uma u ma organização. organização. Os factores técnicos que levam as falhas dos sistemas de informação são muitos, por vezes mal aprendidos, e em constante evolução. Podem tratar-se de avarias ou não funcionamento funcionamento do hardware ou de software informático informático ou das comunica co municações, ções, causados por erros, sobrecargas, ou outros problemas de exploração ou de qualidade. Estes problemas podem derivar de um elemento interno do sistema ( hardware e periféricos, tais como uma unidade de memoria, um conjunto de sistemas informáticos ligados em rede, ou em sistemas distribuídos assim com de software) Os problemas técnicos podem ter origem em agressões deliberadas contra o sistema. Os vírus, tantas vezes introduzidos no sistema através de software contaminado, como os cavalos de Tróia são meios utilizados para travar, falsificar, ou destruir as funções normais do sistema. sistema. A diversidade dos utilizadores do sistema e o seu variado grau de sensibilização , formação formação e interesses, torna ainda mais difícil a questão de segurança. A falta de formação e de acompanhamento, no diz respeito a segurança e a sua importância, perpetua a ignorância relativamente a boa utilização do sistema de segurança. Sem formação apropriada, os operadores e os utilizadores podem não ter consciência de eventuais prejuízos provocados provocados pela má utilização dos sistemas. A escolha de uma password deve-se ter conta quando se fala de segurança, pois poucos utilizadores recebem instruções sobre a necessidade desta medida de segurança ou sobre a forma de escolher uma password. Desta forma acabam por escolher passwords demasiados evidentes e faceis de decifrar. Muitos utilizadores por falta de formação, depois de entrar no sistema, ao sair deixam ficar os terminais activos ligados a rede sem qualquer vigilância, e acabam por deixar abertas as portas de controlo de acesso a áreas de alta segurança. Cláudio Ângelo Nhancale
11
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
A utilização deliberadamente abusiva de um acesso autorizado e o acesso não autorizado ao sistema com fins condenáveis, condenáveis, de vandalismo vandalismo sabotagem, fraude, ou roubo, constituem outras ameaças à viabilidade do sistema de uma organização. Pessoas com acesso autorizado ao sistema podem constituir uma ameaça ao sistema, pois este devido a vários factores (fadiga, falta de preparação, negligencia, etc.) podem contribuir para o funcionamento funcionamento inadequado do sistema em causa. 2.2 A Internet A Internet é uma vasta rede, composta pela interligação de diversas redes de computadores privadas e públicas de diversos países, governamentais, científicas e educacionais, educacionais, assim como indivíduos, através através do d o globo. A Internet foi desenvolvida a partir da ARPANET, criada em 1969 pela Advanced Research Projects Agency (ARPA), do Departamento de Defesa dos Estados Unidos. Era uma rede única, com o objectivo de compartilhar dados e criar um sistema de correio electrónico de forma descentralizada. A ideia era tornar a rede o menos vulnerável possível a ataques de potências estrangeiras ou actos terroristas, por isso sem centralização, de forma que se um ponto fosse atingido, os outros continuariam funcionando. O desenvolvimento dessa rede continuou na década de 70, a partir da criação do TCP/IP (Transmission (Transmission Control Protocol Protocol / Internet Protocol), Protocol), grupo de d e protocolos de comunicação que é ainda a base da Internet. No início dos anos 80 o Departamento de Energia dos Estados Unidos e a NASA foram conectados à ARPANET, actuando como espinha dorsal. 2.2.1 Estrutura da Internet A Internet é uma interligação de diversas redes através do protocolo TCP/IP. Quando dois computadores não estão conectados directamente através da mesma rede física, os pacotes são encaminhados ao seu destino por roteadores . A função dos roteadores é encaminhar para fora da rede local os pacotes endereçados a computadores situados em outras redes (Tanenbaum, (Tanenbaum, 1995).
Cláudio Ângelo Nhancale
12
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Figur Figuraa 1: Roteadores Na Figura, o computador “ A ” está enviando dados ao computador “ B ”, e os dois encontram-se encontram-se em redes distintas, ambas conectadas conectadas à Internet através através de d e seus roteadores. O roteador deve para isso estar es tar conectado conectado fisicamente a outras redes, que através de seus próprios roteadores roteadores irão decidir se o pacote se destina a elas el as ou se deve ser encaminhado encaminhado adiante até encontrar seu destino. Por isso, os roteadores também são chamados de (Tanenbaum, 1995). “gateways ” (portões) de saída de uma rede (Tanenbaum,
Dessa maneira a Internet, apesar de ser composta por várias redes, se comporta logicamente como uma única rede onde qualquer computador pode enviar e receber pacotes de informação a qualquer outro.
2.2.2 Serviços Disponíveis na Internet A Internet fornece uma conexão lógica entre diversos computadores, permitindo a troca de informações entre eles. Para ocorrer essa troca é preciso que tanto o computador de origem como o de destino troquem informação em um formato padronizado (protocolo) que ambos entendam. Também é preciso que em ambos os computadores existam softwares que enviem e/ou recebam a informação nesse formato através da rede. Em alguns casos, um dos computadores funciona como servidor, enviando a informação, e o outro como cliente, recebendo a informação. Em outros casos, cada um dos computadores funciona tanto como cliente como servidor. Esses conjuntos de protocolo e software são chamados de serviços. Alguns serviços da Internet se tornaram tão populares, que é quase impossível pensar em utilizar a Inte Internet rnet sem eles. Muito disso se deve ao fato fato de os seus protocolos Cláudio Ângelo Nhancale
13
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
serem de domínio público, permitido que dois computadores acessando o mesmo serviço sempre consigam trocar informações, independente de quem é o fabricante do software utilizado, tanto para o servidor s ervidor como para o cliente. §
Telnet
Através desse serviço é possível conectar-se e controlar remotamente outro computador. Através de uma interface de linha de comando, é possível executar programas no computador remoto. É utilizado para configurar computadores remotamente, editar e compilar programas, bem como utilizar programas predefinidos para consultar informação. FTP FT P Através do serviço FTP (file transfer protocol – protocolo de transferência de arquivos) é §
possível acessar um directório no computador remoto (o servidor) e mover ou copiar arquivos entre o servidor e o cliente, bem como apagar ou mudar atributos de arquivos, criar ou remover directórios no servidor. O serviço de FTP é um dos mais utilizados da Internet. §
E-Mail
O correio electrónico é um dos principais serviços da Internet. Através dele, pode-se enviar mensagens entre computadores. Os servidores de e-mail armazenam e distribuem as mensagens, enquanto que os clientes de e-mail acessam os servidores para visualizálas remotamente. remotamente. §
World Wide Web (WWW)
A expressão “world wide web” significa “teia global”. Seu uso se popularizou tanto, que actualmente tem se refereciado a web como sendo a propria Internet são a mesma coisa. 2.3 O Ambiente WE B O ambiente web (World Wide Web, WWW ou simplesmente “a web”) consiste basicamente em uma ferramenta de visualização remota de documentos de hipertexto (Abrams, 1996). Foi criado por um pesquisador do CERN (Centre European pour la Recherche Nucleaire – Centro Europeu de Pesquisa Nuclear) chamado Tim Berners-Lee, Cláudio Ângelo Nhancale
14
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
com a finalidade de permitir o fácil acesso a informação pela Internet, através do uso de hiper texto. Para isso, implementa três ferramentas importantes: a) Um protocolo de transmissão transmissão de dados d ados – HTTP; b) Um sistema sis tema de endereçamento endereçamento próprio – URL; URL ; c) Uma linguagem de definição de hiperdoc h iperdocumentos umentos – HTML 2.3.1 Funcionamento da WEB A finalidade da web é acessar documentos de hipertexto remotamente. Estes documentos residem em um servidor web, que é acessado a partir do navegador do cliente através de um endereço, ou URL. Utilizand Uti lizandoo do protocolo protocolo HTTP, o cliente envia uma requisição requisição de documento documento para o servidor. servidor. Este localiza localiza o documento, documento, e o envia ao cliente. O documento solicitado pode ser um documento de hipertexto em formato HTML, uma Figura, um arquivo de texto ou qualquer outro formato de arquivo suportado pelo navegador. Normalmente, um hiperdocumento é composto por vários arquivos individuais que são enviados pelo pelo servidor e montados no cliente cliente conforme conforme determinado determinado pelos tags HTML (Nielsen, 2000). Esse processo é ilustrado pela Figura abaixo:
Figur Figur a.2 : Funcionamento da web A URL, além de conter somente o nome do servidor, também informa o caminho e o nome
do
arquivo
Cláudio Ângelo Nhancale
solicitado
dentro
do
servidor.
Por
exemplo,
a
URL
15
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
“http://alunos.escola.edu.br/professor/disciplina/programa.htm” identifica o documento de hipertexto “programa.htm” localizado na pasta “/professor/disciplina” do computador “alunos.escola.com.br”. Esse comportamento é controlado pelo software chamado “servidor web”. Sua função é de receber as requisições de página vindas dos clientes, na forma de URL, interpretá-las e enviar um retorno na forma de documentos, na maior parte das vezes documentos HTML (Nielsen , 2000). 2.3.2 Conexão com Banco de Dados Conforme Rowe (1998), existem basicamente três maneiras de acessar bancos de dados através da Internet: 1. A aplicação local conecta-se directamente a um servidor de banco de dados através da Internet utilizando o protocolo TCP/IP; 2. Através de um modelo multi-camadas, em que a aplicação divide-se em uma parte local que envia solicitações à parte localizada no servidor que acessa o banco de dados e remete os resultados; resultados; 3. O acesso ao banco de dados é feito no servidor, e os resultados são visualizados através através de um navegado n avegadorr web. Existem considerações importantes de segurança e desempenho que devem ser feitas a respeito de cada método. No primeiro, existe um risco de ocorrência de conexões não autorizadas ao banco de dados. A solução ideal referente à segurança, é que o banco de dados não esteja exposto, e só possa ser acessado pelas aplicações aplicações que rodam no servidor, servidor, como no segundo e terceiro casos. No primeiro e no segundo segundo caso, existe uma sobrecarga da largura de banda causada pelos dados brutos trafegando entre o servidor e o cliente. No terceiro caso, como a interface web é pública, também é possível um acesso não autorizado, autorizado, tornando to rnando obrigatória obrigatória a utilização de mecanismos de segurança de dados. 2.3.3 2.3.3 Segura Segura nça de Dados na WE B A World Wide Web foi criada com o propósito de facilitar o acesso da informação de qualquer parte, sem muita preocupação com segurança. Figueiredo (1999), classifica as ameaças à segurança de dados em quatro categorias: a) Ameaça Ameaça à I ntegr ntegr idade – Ataques que provoquem alteração ou perda de dados; Cláudio Ângelo Nhancale
16
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
b) Ameaça à Confidencialidade – Acesso ou exposição não autorizada de dados restritos; c) Ameaça à Disponibil Disponibilidad idadee – Ataques que impedem o acesso ao site; d) Ameaça à Autenticidade – O invasor se faz passar por outro usuário (roubo de senhas). O primeiro passo para garantir a segurança em um sistema de acesso a banco de dados via interface web é detectar os pontos fracos em que o sistema estaria vulnerável a ataques: COMO OCORRE O invasor consegue conectar-se remotamente ao servidor Contra a Integridade por um serviço que npermita causar dano (Telnet, FTP, ODBC,etc) Por conexão remota Contra a Confidencialidade Por interceptação dos dados Um servidor pirata se identifica aos outros como sendo o seu; Contra a Disponibilidade Inundação do servidor com requisições para sobrecarregar ou derrubar o serviço Quando não há autenticação autenticação de senhas Roubo de senhas Contra a Autenticidade Após a autenticação autenticação da senha, as as páginas exibidas estão estão em uma área não segura, permitindo o acesso a área restrita através da URL Tabela 1: Ameaças a segurança na WEB TIPO DE ATAQUE ATAQUE
§
§ § §
§
§ § §
Cláudio Ângelo Nhancale
17
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
CAPÍTULO CAPÍTULO III DESCRIÇÃO DESCRI ÇÃO DAS TECNOLO GIAS USADAS USADAS Este capítulo fala das tecnologias usadas para o desenvolvimento do sistema. Pelo que estão listadas abaixo as tecnologias usadas e, de seguida, encontra-se uma abordagem detalhada de cada uma delas. A implementação de Sistemas de Informação baseados em web depende da definição de diversas variáv v ariáveis: eis: a) Instalar um provedor próprio ou alugar o serviço de um host; b) A platafor p lataforma ma de hardware e sistema operacional; c) O software servidor de web; d) Configurações de segurança do servidor e do website; e) O gerenciador de bancos de dados a utilizar; f) A linguagem de programação; g) O uso de ferramentas de prototipação prototipação / geração de código.
As tecnologias usadas para o desenvolvimento desenvolvimento do Sistema proposto foram: foram: §
Navegador Web
§
Servidor Apache
§
Base de dados MySQL
§
Linguagem Linguagem PHP P HP
§
HTML
§
Modelação UML
3.1 Naveg Navegador ador Web Um navegador Web, (também conhecido como web browser ou simplesmente browser) é um programa que habilita os seus utilizadores a interagirem com documentos HTML hospedados em um servidor Web. A maior colecção interligada de documentos Cláudio Ângelo Nhancale
18
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
hipertexto, dos quais os documentos HTML são uma substancial fracção, é conhecida com a World Wide Web (www). Os navegadores comunicam com servidores Web usando primariamente o protocolo HTTP para recuperar páginas Web, que são identificadas pela URL http//:Endereço do servidor Web
3.2 Servidor Apache O Apache é um servidor Web extremamente configurável, configurável, robusto e de alta performance desenvolvido por uma equipe de voluntários (conhecida como Apache Group) buscando criar um servidor web com muitas características e com código fonte disponível gratuitamente via Internet. Segundo a Netcraft (http://www.netcraft.com/), o Apache é mais usado que todos os outros servidores web do mundo juntos. Foi criado em 1995 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications), Universidade de Illinois. Faz parte como tecnologia principal da Apache Software Foundation, responsável por mais de uma dezena de projectos envolvendo tecnologias de transmissão via web, processamento processamento de dados e execução de aplicativos distribuídos. O servidor é compatível com o protocolo HTTP versão 1.1 (especificado pelo documento RFC2616). As suas funcionalidades são mantidas através de uma estrutura de módulos, podendo inclusive o utilizador escrever seus próprios módulos - utilizando a API do software. Segundo Lozano Lozano (2001) o servidor servidor Apache é o líder do mercado, mercado, com mais de 60% dos sites de toda a Internet. Entre os tópicos responsáveis por sua popularidade podemos destacar: §
Instalação Instalação e configuração configuração muito simples;
§
Suporte a SSl, Suporte a CGI’s, suporte a Base de Dados, grande suporte técnico em forums de discussão
§
Estabilidade, escalabilidade, segurança quando bem configurado
§
Suporta diversas plataformas (Linux, Solares, UNIX, IBM OS/2, Windows e outros);
Cláudio Ângelo Nhancale
19
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line §
Trab alho de Licenciatur Licenciaturaa
Foi criado para atender as demandas dos maiores provedores provedores e sites Web
3.3 Base de dados MySQL O MySQL é um sistema de gestão de base de dados (SGBD), que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. Actualmente é usado em mais de 6 milhões de computadores em todos os continentes, que vão desde instalações em grandes corporações a específicas aplicações embarcadas. Além disso, o MySQL tornou-se a escolha de uma nova geração de aplicações, que utilizam o modelo LAMP ( Linux, Apache, MySQL, PHP). O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos actualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica. É reconhecido pelo seu desempenho e robustez e também por ser multi-tarefa e multiusuário. A própria Wikipédia, utiliza o MySQL para gerir o seu banco de dados, demonstrando que é possível utilizá-lo em sistemas de produção de alta exigência e em aplicações sofisticadas. O MySQL tornou-se a mais popular base de dados open source do mundo porque possui consistência, consistência, alta performance, fiabilidade e é fácil de usar O MySQL foi criado para ser ágil, e por isso decidiu não implementar recursos que geram muito Overhead,
como , locks, subselects e níveis de isolamento, stored
procedures, two-fase commit, foreign keys. É frequentemente considerado um sistema
mais "leve" e para aplicações menos exigentes, sendo preterido por outros sistemas como o PostgreSQL (Lozano,2001). Segundo PEREIRA e LEITE (2001) pode-se dizer que o MySQL apresenta as seguintes vantagens. §
Portabilidade (suporta praticamente qualquer plataforma actual)
§
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para diversas linguagens de programação, como C/C++, Python, Perl, PHP e Ruby)
Cláudio Ângelo Nhancale
20
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
§
Excelente desempenho e estabilidade
§
Pouco exigente em termos de recursos de hardware
§
Facilidade de uso
§
É um Software Livre
§
Melhor interligação interligação com o PHP
§
Não tem limites no tamanho de registros
§
Melhores facilidades facilidades de administração administração (backup, recuperação recuperação de erros, etc)
Desvantagens : §
Não suporta transacções, roolbacks nem subselects
§
Ignora a integridade referencial, deixando nas mãos do programador e da aplicação
3.4 Linguagem HTM L Hyper Text Markup Language é uma linguagem de formatação de documentos de hipertexto. Sua finalidade é descrever a estrutura de um hiperdocumento. Essa linguagem tem como base a linguagem SGML (Standard Generalized Markup Language) usada para descrever a estrutura geral de vários tipos de documentos. Os documentos escritos em HTML são feitos no padrão ASCII e contém o texto do documento propriamente dito mais as “tags” (etiquetas) de marcação. As tags HTML são palavras-chave palavras-chave contidas entre parênteses angulares (“<” e “>”), e servem para indicar os elementos do documento, a estrutura, a formatação e os vínculos de hipertexto com outros documentos ou com médias incluídas. Utilizamos as tags para mudar o aspecto e tamanho das letras, publicar imagens e animações, inserir links (ligações com outras páginas). É possível aninhar várias tags, fechando-as na ordem inversa da abertura. Vejamos alguns exemplos de tags: TAG
DESCRISÃO
...
Início e fim fim do hiper documento
...
Início e fim do cabeçalho
...
Início e fim do título
...
Início e fim fim do cor po do texto
Cláudio Ângelo Nhancale
21
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
...
Início e fim do cabeçalho do 1º nível
...
Início e fim do cabeçalho do 2º nível
...
Início Início e fim fim de um pa r ágrafo ágra fo
Início e fim fim da tabela ta bela
Inserção de Figura
nome do
Hiperlink ( referência referência a um outr o
link
documento) Tabela 2 : Exemplo Exemplo de tags HTML
3.5 Linguagem PHP PH P Hypertex t Preprocessor Preprocessor . realmente, o produto foi originalmente chamado PHP significa: Hypertext
de “Personal Home Page Tools”; mas como se expandiu em escopo, um nome novo e mais apropriado foi escolhido por votação da comunidade PHP é uma linguagem de Programação executada ao lado do servidor. É suportado por todos os servidores web e sistemas operativos. Este tipo de código é incluido entre o código HTML – linguagem basica de criação de páginas Web. E os seus comandos são executados no servidor, ao contrario do Javascri Javascript, pt, que é executado no computador computador Developers que estao interessados cliente. Constitue uma alternativa atractiva para Web Developers
em criar códigos dinamicos de uma forma facil, rapida e bastante flexivel. (Pereira e Leite, 2002). PHP é uma linguagem que permite criar sites WEB dinâmicos cujo código pode ser embebido em código HTML permitindo efectuar determinadas operações, tais como, o acesso a informação armazenada na base de dados, possibilitando uma interacção com o usuário através de formulários, parâmetros da URL e links. A diferença de PHP com relação a linguagens semelhantes a Javascript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira é possível interagir com bancos bancos de dados e aplicações existentes existentes no servidor, com a vantagem de não expor o código fonte para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou qualquer tipo de informação confidencial. Cláudio Ângelo Nhancale
22
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
3.5.1 3.5.1 O que qu e pode ser feito feito com PHP? PH P? Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com PHP, como colectar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies . PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em um banco de dados tornase uma tarefa extremamente simples com PHP. 3.5.2 3.5.2 PHP e HTM L Segundo Pereira e Leite (2002) a parte mais interessante do HTML que afecta o PHP são os formulários, sendo estes a chave ch ave capaz de transferir os dados inseridos inseridos pelo utilizador u tilizador para o script PHP para processamento. Deste modo, a interacção com os Inputs do utilizador torna-se de primordial importância já que com esta possibilidade o PHP permite gerar código dinâmico de acordo com o pedido efectuado. O HTML é especialmente indicado para a formatação de páginas Web. É utilizado pelos programadores para descrever o conteúdo de páginas. Os formulários HTML permitem recolher dados dos utilizadores deixando-os preencher campos apropriados para o efeito. Estes formulários podem ser compostos por vários elementos tais como: botões, rádio buttons, selection list, input boxes, capazes de permitir um grau de interacção com o utilizador final suficientemente satisfatório. Todos estes elementos são indicados usando HTML tags, sendo possível haver mais que um formulário formulário por documento HTML. Para utilizar formulários no PHP é necessário existir dois ficheiros; o ficheiro “index.html” ( onde on de o utilizador efectuara os Inputs) e o ficheiro “script.php” que contem os comandos PHP que irão processar os dados inseridos no formulário. Mas, o ponto forte do PHP reside na possibilidade de efectuar conexões a base de dados. Ao interagir com bases de dados, vai permitir uma maior funcionalidade por parte de quem acede, pois consoante os Inputs dos utilizadores obter-se-ão respostas imediatas sobre a forma de páginas HTML. Pelo que sendo possível efectuar conexões a base de dados, poderemos interagir com esta de modo a criar páginas HTML instantâneas consoante o Cláudio Ângelo Nhancale
23
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
pedido do utilizador. Deste modo, o dinamismo requerido na criação deste tipo de páginas, poderá ser assim conseguido conseguido com recurso recurso a um cliente Web (browser), (browser), servidor Web (ex. Apche), servidor de base de dados ( Ex. MySQL), e uma ferramenta que permita ligar estes servidores (por exemplo o PHP). 3.5. 3.5.33 Arq uitectur uitecturaa e Funcionamento do PHP Em termos simples pode-se dizer que o PHP é o lado servidor de uma arquitectura conhecida como Cliente/Servidor. O código PHP ao ser embebido no código HTML tem que ser reconhecido pelo servidor. Para que o interpretador reconheça a existência de um Script PHP embebido, atribui-se a extensão “.php” ao ficheiro. A partir desse momento, o motor PHP correrá o Script automaticamente automaticamente sempre que for solicitado. Além de poder manipular o conteúdo de páginas HTML, o PHP também pode enviar Headers http. Desta forma é possível definir cookies, redimensionar utilizadores, e efectuar a sua autenticação. Além de fornecer uma conectividade excelente a base de dados, permite efectuar a integração com bibliotecas bibliotecas externas, capazes de tornarem quase ilimitado o âmbito da sua aplicação. aplicação. O diagrama apresentado a seguir da uma ideia de como como o PHP actua.
2
1 PHP PH P
Página Web 4
3
Servidor Servidor de de Base de Dados
Figura Figura 3 : Arquitectura do PHP (fonte: Pereira e Leite, 2002) Consideremos então a titulo ilustrativo o cenário hipotético onde se pretende obter resultados de uma base de dados e visualizá-los num Browser. 1. O cliente solicita a página a partir do browser ao servidor http. Este, verificando que o código HTML contem embebido um Script PHP chama o modulo modulo PHP para efectuar o processamento. processamento. Cláudio Ângelo Nhancale
24
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
2. se no script existirem comando que abrem uma ligação a uma base de dados, o PHP trata de efectuar essa ligação 3. os dados pretendidos são então extra e xtraídos ídos da base b ase de dados sendo enviados pelo PHP ao servidor http em formato formato HTML. HT ML. 4. o servidor Web envia os dados ao browser cliente sendo estes visualizados numa página HTML devidamente formatada. Deste modo ao visualizarmos no browser o “source” da página o código fica oculto, pois o que o servidor enviou foi o Output
devidamente devidamente processado, sendo este o resultado final visível. 3.5.4 3.5.4 Potencialida Potencialidade de do PHP A sua extensibilidade e portabilidade a varias plataformas (Linux, Unix, Windows), e acima de tudo a sua versatilidade e robustez conjugadas com as características e funcionalidades de uma linguagem moderna, vem tornar possível um conjunto de possibilidades de importância vital para o seu sucesso, tais como §
Embeber o código PHP no seio do HTML;
§
Processar dados provenientes de formulários; formulários;
§
Comunicar e interagir com base de dados de forma persistente, e
§
Efectuar cálculos complexos
3.5.5 3.5.5 A base de dados MySQL e o PHP Para o PHP interagir com uma base de dados d ados SQL, independentimente independentimente da base de dados, d ados, existem 3 comandos básicos que devem ser utilizados: §
O que faz a ligação com o servidor da base de dados
§
O que selecciona a base de dados a ser utilizada; e
§
O que executa um “query” SQL
- A ligação com o servidor de base de dados MySQL em PHP é feita atraves atraves do comando mysql_connect , que tem a
seguinte sintaxe
Mysql_connect(“endereço do servidor”,”utilizador”,”password”) Cláudio Ângelo Nhancale
25
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Os parametros são bastantes simples : o endereço do servidor , o nome do utilizador e a password para
a ligação. A função retorna um valor inteiro, que é o identifcadordas
ligação estabelecida. $conexão = mysql_connect(“$server”,”$username,”$password”) Se a ligação for bem sucedida , isto é, existir um servidor no endereço especificado que possua o utilizador com a password fornecida), o identificador da ligação fica armazenado armazenado na n a variável $conexão. - Para seleccionar a base de dados que se pretende utilizar, utiliza-se o comando mysql_select_db, que tem a seguinte sintaxe: Mysql_select_db(“nome da base de dados”, $conexão
Neste caso os parametros são : o nome da base de dados que se pretende utilizar e o identificador da conexão que retornado pela função anterior. O comando para executar uma query SQL é a seguinte: Mysql_query(“query que se pretende executar”)
3.6 3.6 Apache + PHP +MySQL, +MySQL, por p or que utilizar utilizar tr ês? ês? Respondendo Respondendo a essa questão Lozano Lozano (2001) apresentou os seguintes seguintes argumentos: §
Porque fornecem tudo o que é necessário para construir aplicações e sites Webs sofisticados, e de maneira mais simples do que outras alternativas.
§
Porque não trazem elevados custos de licença , por usuário
§
Porque fornecem produtividade, performance, escalabilidade, segurança e confiabilidade
§
E porque são softwares livres
O mesmo autor afirma que, tanto o Apache quanto o MySQL e o PHP funcionam nativamente nativamente em qualquer versão do Windows, Windows, Linux, Unix, Solares, etc.
Cláudio Ângelo Nhancale
26
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
A Figura abaixo mostra esquematicamente como funcionam estas três tecnologia quando associadas:
Navegador Web
P HP
Internet
Servidor Web (APACHE)
MySQL Figur Figuraa 4: Funcionamento Funcionamento das Tecnologias Apache + PHP + MySQL M ySQL (fonte: Lozano, 2000) O papel de cada um dos dos elementos da Figura é como se segue: segue: §
Naveg Navegador ador Web: Interface Interface com o usuário
§
Apache : conectividade, segurança e auditoria
§
PHP : Lógica de Aplicação Aplicação
§
MySQL : acesso e armazenamento armazenamento de informações
3.7 Modelação UML Almeida e Dalrot (2001) citado por Furlan (1998) escreveram que “ UML é a linguagem padrão para especificar, visualizar, documentar e construir artefactos de um sistema e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento desenvolvimento e através de difere d iferentes ntes tecnologias tecnologias de implementação. implementação. O objectivo da UML é descrever qualquer tipo de sistema, em termos de diagramas orientado a objectos. Naturalmente, o uso mais comum é para criar modelos de sistemas de software, mas a UML também é usada para representar sistemas mecânicos sem nenhum software ( Almeida e Dalrot, 2001).
Cláudio Ângelo Nhancale
27
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
3.8.1 Fases do Desenvolvimento de um Sistema em UML Existem cinco fases no desenvolvimento de sistemas de software: análise de requisitos, análise, design (projecto), programação e testes. Estas cinco fases não devem ser executadas na ordem descrita acima, mas concomitantemente de forma que problemas detectados numa certa fase modifiquem modifiquem e melhorem melhorem as fases desenvolvidas anteriormente anteriormente de forma que o resultado resultado global gere um produto de alta qualidade e perf p erformance. ormance. 3.8.1.1 3.8.1.1 Análise de Requisitos Req uisitos Requisitos são as necessidades apresentadas pelo cliente , as quais o produto deve atender para resolver. A especificação de requisitos é um documento que contem a descrição de cada funcionalidade e/ou necessidade do sistema, definido juntamente com o cliente ou beneficiário do sistema. A especificação de requisitos deve evitar ao máximo termos ambíguos ou duvidosos, podem ser no futuro ponto de discórdia ou controvérsia com o beneficiário beneficiário do sistema. Esta fase captura as intenções e necessidades necessidades dos usuários do sistema a ser desenvolvido através do uso de funções chamadas "use-cases". Através do desenvolvimento de "usecase", as entidades externas ao sistema (em UML chamados de "actores externos") que interagem e possuem interesse no sistema são modelados entre as funções que eles requerem, funções estas chamadas de "use-cases". 3.8.2.2 Análise A fase de análise está preocupada com as primeiras abstracções (classes e objectos) e mecanismos que estarão presentes no domínio do problema (Nuno & O’nell, 2004) As classes são modeladas e ligadas através de relacionamentos com outras classes, e são descritas no Diagrama de Classe. As colaborações entre classes também são mostradas neste diagrama para desenvolver os "use-cases" modelados anteriormente, estas colaborações são criadas através de modelos dinâmicos em UML. Nesta fase análise, só são modeladas classes que pertençam ao domínio principal do problema do software, ou seja, classes técnicas que gerenciem banco de dados, interface, comunicação, comunicação, concorrência e outros não estarão presentes neste diagram d iagrama. a. Cláudio Ângelo Nhancale
28
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
3.8.2.3 3.8.2.3 Design Design (Pr ojecto) Na fase de design, o resultado da análise é expandido em soluções técnicas. Novas classes serão adicionadas para prover uma infra-estrutura técnica: a interface do usuário e de periféricos, gerenciamento de banco de dados, comunicação com outros sistemas, dentre outros. As classes do domínio do problema modeladas na fase de análise são mescladas mescladas nessa nova infra-estrutura técnica tornando tornando possível alterar tanto o domínio do problema quanto a infra-estrutura. O design resulta no detalhamento das especificações para a fase de programação do sistema. 3.8.2.4 Programação Na fase de programação, as classes provenientes do design são convertidas convertidas para o código da linguagem orientada a objectos. Dependendo da capacidade da linguagem usada, essa conversão pode ser uma tarefa fácil ou muito complicada. No momento da criação de modelos de análise e design em UML, é melhor evitar traduzi-los mentalmente em código. Nas fases anteriores, os modelos criados são o significado do entendimento e da estrutura do sistema, então, no momento da geração do código onde o analista conclua antecipadamente sobre modificações em seu conteúdo, seus modelos não estarão mais demonstrando o real perfil do sistema. A programação é uma fase separada e distinta onde os modelos criados são convertidos em código. 3.8.2.5 Testes Na fase de teste executa-se executa-se o sistema construído construído afim de descobrir um erro. Testa-se cada rotina ou processo detalhadamente, bem como a integração de todos os processo e a aceitação. Um sistema normalmente é rodado em testes de unidade, integração, e aceitação. Os testes de unidade são para classes individuais ou grupos de classes e são geralmente testados pelo programador. Os testes de integração são aplicados já usando as classes e componentes integrados para se confirmar se as classes estão cooperando uma com as outras ou tras como especificado especificado nos modelos. Os testes te stes de aceitação observam o sistema como uma " caixa preta" e verificam se o sistema está funcionando como o especificado nos primeiros diagramas de "use-cases". Por fim, o sistema será testado pelo usuário final e verificará se os resultados mostrados estão realmente de acordo com as intenções intenções do usuário final. Cláudio Ângelo Nhancale
29
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
CAPÍTULO IV SISTEM SISTEMA A DE GE STÃO PEDA PE DAGÓG GÓGICA ICA ON-LINE O sistema de gestão Pedagógica On-line é um sistema com suporte via Web, concebido para facilitar os diversos processos referentes as actividades de gestão pedagógica tais como: registo de notas, cadastr c adastroo de estudantes e docentes no sistema, s istema, download download de textos de apoio, consulta de notas e pautas através da Internet. Estão previstos como utilizadores do sistema , os usuários cadastrados, quer sejam docentes, estudantes assim como administradores administradores do sistema. 4.1 DISPONIBILI DADE DADE DO SISTEMA SISTEM A O Sistema Estará disponível na Web de modo que seja possível aceder a partir de qualquer lugar, bastando para tal conectar-se a Internet, aceder ao Web Site da UP, e seleccionar a opção Gestão Pedagogica , Na página de acesso ao sistema, o usuário terá de introduzir seu Username e sua Password,
para aceder as informações que deseja e que estejam relacionadas com o
usuário em questão. 4.2 ESTRUTURA DO SISTEM A O website foi organizado organizado em três secções, uma para cada tipo de usuário que que faz uso uso do dele. Todas as funções e serviços oferecidos a um tipo de usuário estão contidos em sua secção, enquanto que as secções de outros tipos de usuários ficam ocultas. O sistema foi concebido concebido para p ara ser usado pelos p elos seguintes utilizadores: utilizadores: §
O(s) Administrador(es) do Sistema
§
Os Estudantes e,
§
Os Docentes
Cláudio Ângelo Nhancale
30
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
WEB-SITE
Login
Estudantes Estud antes
Docentes Docentes
Consultar Notas Consultar Pauta
Inserir e editar de Notas
Baixar Material
Lançamento de Pauta
Consultar Pauta de Recorrência
Upload de Material
Administrador Administr ador Cadastrar utilizadores Cadastrar Disciplinas Editar utilizador u tilizadores es Gerenciar o Sistema Emitir Relatóri R elatórios os
Alterar seus dados
Alterar seus dados
Cadastrar docente a uma Cadeira
Figura 5 Estrutura do Sistema 4.2.1 4.2.1 O Administra dor do Sistema Sistema O Administrador do sistema é responsável pela manutenção do sistema e , portanto, possui acesso a todos os menus do do sistema . Este usuário não participa participa activamente activamente nas actividades do sistema, intervindo sempre que necessário. Terá acesso a todas as funcionalidades do sistema. Será o usuário responsável por cadastrar novos usuários no sistema, quer sejam Professores, assim como Alunos, tendo cada um sua senha de entrada. O Administrador Administrador será o responsável responsável em realizar todas todas as outras tarefas de administração administração do portal.
Cláudio Ângelo Nhancale
31
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
4.2.2 4.2.2 Aos Estudantes Estuda ntes §
Consulta de Notas de testes , Pautas P autas
§
Acesso aos conteúdos programáticos e já ministrados, com área para realizar o download download de materiais materiais didácticos didácticos disponibilizados disponibilizados pelos professores. professores.
4.2.3 Aos Docentes O professor deverá identificar-se através através de uma login e password e poderá: §
Efectuar Registro e lançamento lançamento de notas dos Estudantes. Estudantes.
§
Consulta de informações informações sobre suas turmas,
§
Disponibilizar o material didáctico para uso dos estudantes como Brochuras, apresentações, listas de exercícios, trabalhos e bibliografia.
4.3 OPERACIONALIDADE DO SISTEMA Quanto à sua operação, o sistema devera atender aos seguintes pré-requisitos pré-requisitos §
Sua utilização deve ser simples e indistinguível do uso de um website qualquer, assim o conhecimento prévio de navegação na Web deverá ser pré-requisito suficiente para a utilização do sistema;
§
Não necessita de instalação de software no cliente remoto e ser independente de plataforma, plataforma, bastando possuir um navegador de Internet instalado e uma conexão;
§
A velocidade de acesso às informações deve ser confortável.
4.4 4.4 LOGIN LOG IN DO SISTEMA Para que os usuários acedam ao sistema deveram Introduzir o “ username”, o ” password ” e escolher a área onde pretende aceder, conforme mostra a Figura abaixo:
Figura Figura 6: Login do Sistema Cláudio Ângelo Nhancale
32
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Em caso do usuário não não digitar a senha ou o Password será emitida emitida uma mensagem mensagem pedindo que este digite o dado em falta: 4.5 DIAGRAMAS 4.5.1 4.5.1 Diagr Diagrama ama de Ca sos de Usos Usos O diagrama de Casos de Uso mostra atores (pessoas ou outros usuários do sistema), casos de uso (os cenários onde eles usam o sistema), e seus relacionamentos. Um diagrama de caso de uso permite mostrar para que serve o sistema (a utilidade do sistema), ignorando a forma como está organizado internamente. O Sistema proposto apresenta 3 actores , nomeadamente: nomeadamente: § § §
O Administrador O Docente e, O Estudante Actores §
Administrador
§ § § § § §
Docente
§ § §
§
Estudante
§ §
Processos Cadastrar estudante Cadastrar docentes; Cadastrar disciplinas; Cadastrar docentes a uma disciplina; Cadastrar estudante a uma disciplina; Gerar relatórios estatísticos Lançar notas Lançar material de apoio Alterar dados pessoais Consultar notas e pauta Alterar dados pessoais Consultar notas e pauta Fazer download de material
Tabela 3: Descrição dos Actores do sistema
Cláudio Ângelo Nhancale
33
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Caso P rincipa rincipall Consultar notas e pauta
Lançar notas Lançar material de apoio
Estudante Fazer download de material
Alterar dados pessoais Docente
<>
Cadastrar
<>
Efectuar Login
estudante Cadastrar disciplinas Administrador Cadastrar docentes a uma disciplina
Cadastrar docentes
Cadastrar docentes a uma disc discii lina ina
Figur Figuraa 7: Casos de uso principal
Cláudio Ângelo Nhancale
34
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
4.5.2 Diagrama de classes O diagrama de classes demonstra a estrutura estática das classes de um sistema onde estas representam as "coisas" que são gerenciadas pela aplicação modelada. Classes podem se relacionar com outras através de diversas maneiras: associação (conectadas entre si), dependência (uma classe depende ou usa outra classe), c lasse), especialização especialização (uma classe é uma especialização de outra classe), ou em pacotes (classes agrupadas por características similares). Todos estes relacionamentos são mostrados no diagrama de classes juntamente com as suas estruturas estruturas internas, que são os atributos atributos e operações.Um sistema normalmente possui alguns diagramas de classes, já que não são todas as classes que estão inseridas em um único diagrama e uma certa classes pode participar de vários diagramas diagramas de classes. classes. Para o sistema proposto a diagrama de classes fica o seguinte:
ESTUDANTE Codigo: int Nome: string contacto: int apelido:sting
NOTA
1
Codigodisciplina: int Nota: float Datalançamento: date 1..* Codigoestudante: int
Consultarnota:void Alterardados:void
CADEIRA
1..*
1
Cadastrarnota: void Consultarnota:void Alterarnota:void
Codigodisciplina: int Ano: String Semestre: Semestre: string descrisao: int Cadastradiscplina: void Consultardisciplina:void Alterardados:void
1..*
1 MATERIAL Id: int Ano: float Titulo: date Descrisao: int
DOCENTE 1..*
Inserirmaterial: void Consultaaterial:void Editar material:void
1
Codigodocente: int nome: string contacto: date Cadastrarnota: void Alterarnota:void
Figura Figura 8 : Diagrama de Classes
Cláudio Ângelo Nhancale
35
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
4.5.3 4.5.3 Diagram as de d e Sequência Um diagrama de sequência mostra a colaboração dinâmica entre os vários objectos de um sistema. O mais importante aspecto deste diagrama é que a partir dele percebe-se a sequência de mensagens enviadas entre os objectos. Ele mostra a interacção entre os objectos, alguma coisa que acontecerá em um ponto específico da execução do sistema. O diagrama de sequência consiste em um número de objectos mostrado em linhas verticais. O decorrer do tempo é visualizado observando-se o diagrama no sentido vertical de cima para baixo. As mensagens enviadas por cada objecto são simbolizadas por setas entre os objectos que se relacionam. relacionam. Diagramas de sequência possuem dois eixos: o eixo vertical, que mostra o tempo e o eixo horizontal, que mostra os objectos envolvidos na sequência de uma certa actividade. Eles também mostram as interacções para um cenário específico de uma certa actividade do sistema. Notas Diagrama Diagrama de d e sequencia para o caso de uso : Lan çar Notas de notas
sistema
as notas
5. preenche as notas
Figur Figur a 9: Diagrama Diagrama de sequencia sequencia para o caso de uso u so Lançar notas
4.6 Descrição Descrição das da s interfaces inter faces O interface entre o sistema e o resto do mundo ou seja os seus clientes é feito a partir de uma rede ou da Internet. Mais especificamente os clientes acedem ao servidor web através de um browser e o servidor por sua vez fornece-lhes fornece-lhes um feedback. Cláudio Ângelo Nhancale
36
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
4.6.1 Interfaces com outras máquinas A interface entre máquinas ou servidores é feita de forma automática pelos serviços que se encontram a correr nas mesmas, ou seja, o software está preparado para lidar automaticamente com serviços que se encontram a correr noutras máquinas. É no entanto necessário, para que tal aconteça, que os serviços de Apache, PHP e MySQL estejam correctamente configurados nas máquinas em que se encontram a correr. 4.6.2 Interfa Int erface ce com com o utilizador utilizador A nível de interface interface com o utilizad u tilizador, or, todas as funções funções que interessa que interajam com o utilizador serão disponibilizadas através de um interface simples que permita ou através de um simples click chamar a função ou através do preenchimento dos campos necessários para a execução da função bastando clicar no botão que então faz a chamada à função. Todas as funções que não interessa interagir com utilizador são chamadas por outras funções ou métodos. Pretende-se disponibilizar o máximo de funções possíveis mas que ao mesmo tempo não impeçam que o interface com o utilizador seja o mais simples possível, desde que isso não comprometa a funcionalidade do software. 4.6.2. 4.6.2.11 Lançamentos La nçamentos d e Notas Para o lançamento de notas o docente primeiramente devera seleccionar a cadeira a qual pretende inserir as notas, para tal será s erá mostrada a seguinte tela:
Figura. Figur a. 10 : Tela para selecção da cadeira Após ter seleccionado a cadeira, será mostrada a lista nominal da turma seleccionada conforme mostra a tela:
Cláudio Ângelo Nhancale
37
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Figura Figura 11: tela para lançamento de notas 4.6.2. 4.6.2.22 Inserção Inser ção de Mater Ma ter ia l de Apoio Apoio Para o docente inserir inserir material material de apoio ( Exercícios, fichas, etc ), este dever clicar na opção Material de apoio, em seguidas será mostrada a tela abaixo:
Figura 12: Lançamentos Lançamentos de Textos Te xtos de apoio 4.6.2. 4.6.2.33 Download Download de mat erial eria l de apoio ap oio Para efectuar o download de material de apoio (fichas, brochuras, exercícios, exercícios, correcção de testes, etc), o estudante deve clicar no link Material de Apoio, e em seguida aparecerá a tela seguinte:
Figur Figur a 13: Tela para download de arquivos Cláudio Ângelo Nhancale
38
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Para efectuar o download, bastara clicar no link Download do ficheiro que pretende obter, em seguida aparecera uma janela com opção para gravar o ficheiro em um directório. 4.6.2.4 Consulta de Notas Para consultar as notas, o estudante estudante deve deve clicar clicar no link Ver Notas, e em seguida aparecerá a tela seguinte:
Figur Figur a 14: Tela para Consulta de notas 4.6.2. 4.6.2.55 Consulta de Pauta Pa uta Para consultar consultar pauta, o estudante deve deve clicar no link link Pauta, e em seguida aparecerá a tela Pauta de Frequência seguinte:
Pauta de Exame
Pauta de Recorrência Recorrência
Figur Figur a 14: Tela para Consulta da Pauta 4.6. 4.6.2. 2.66 Cada stro d e um E studante Ao clicar no Link Cadastrar Estudante, será mostrada uma janela para a introdução dos dados referentes ao estudante.
Cláudio Ângelo Nhancale
39
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Figur Figur a 15: Tela para cadastro de um estudante estudante 4.6.2. 4.6.2.66 Cadastr Cad astr o de um Docente Docente Para cadastrar um docente a uma disciplina , o administrador deve clicar no link Cadastrar Cadastrar Docente, e em seguida aparecera a seguinte tela:
Figur Figur a 16: Cadastro de um Docente
Cláudio Ângelo Nhancale
40
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Os mesmos Procedimentos deveram ser seguidos para as restantes opções disponíveis no Menu do Sistema. 4.7 Cr itérios de validação Os tipos de testes que devem ser efectuados sobre esta ferramenta de são os seguintes: 4.7.1 Acesso §
Testar com vários browsers se ocorrem erros ao aceder ao portal
§
Verificar se a informação que está a ser exibida corresponde ao que é esperado
§
Verificar se o sistema de autenticação está a funcionar correctamente e responde ao nível de segurança que pretendemos pretendemos
4.7.2 Uso §
Verificar Verificar se os privilégios concedidos corresponde corresponde ao grau de d e acesso do utili u tilizador zador
§
Testar se a criação de utilizadores está a funcionar correctamente correctamente
§
Criar novas disciplinas e
§
Inserir noticias noticias (material de apoio) e verificar se estas ficam ficam disponíveis conforme o que é especificado especificado
4.7.3 4.7.3 Testes a r ealizar ealizar com o utilizad utilizador or §
Verificar Verificar se a capacidade dos servidores a que se destina a ferramenta ferramenta é adequada adequada ao funcionamento da mesma
§
Verificar Verificar se a largura de banda para transmissão dos dados é adequada à ferramenta
§
Observar a facilidade de adaptação dos utilizadores finais ao uso da ferramenta
§
Verificar se a ferramenta corresponde às expectativas do cliente
4.7.4 4.7.4 Resposta Resposta Esperada Esper ada do Softwar Softwar e Assim para os testes a efectuar enumerados no ponto acima, espera-se obter a seguinte segu inte resposta: Cláudio Ângelo Nhancale
41
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Teste a reali rea lizar zar
Trab alho de Licenciatur Licenciaturaa
Resultado esper esper ado
Acesso Testar com vários browsers se ocorrem
Observar que site é compatível com a grande
erros ao aceder ao portal
maioria dos browsers existentes e em particular com os mais utilizados globalmente e especificamente pelos que é conhecido que são mais usados u sados pelos utilizadores utilizadores finais finais
Verificar se a informação que está a ser
Verificar que a informação exibida no
exibida corresponde ao que é esperado
browser corresponde ao que é esperado
Verificar se o sistema de autenticação autenticação
Observar que o sistema de identificação identificação de
está a funcionar correctamente correctamente e
utilizadores está responder adequedamente e
responde ao nível de segurança segurança que
com segurança
pretendemos Uso Verificar se os privilégios concedidos
A cada difere d iferente nte tipo de utilizador só é
corresponde corresponde ao grau grau de acesso do
permitido aceder aos menus que foram
utilizador
especificado especificado sendo que os outros são invisíveis para ele caso não tenha privilégios para os usar
Testar se a criação de utiliz u tilizadores adores está a
Os utilizadores são criados com sucesso
funcionar correctamente Cadastrar Cadastrar novos n ovos Docentes, Estudantes,
Verificar se os cadastors fooam efectuados
e disciplinas, notas
com sucesso.
Efectuar Upload e Download de
Verificar se os Uploads, assim como os
material de apoio
Downloads, estão funcionando correctamente
Testes a r ealizar ealizar com o cliente cliente (usuár (usuár ios) ios) Verificar se a capacidad c apacidadee dos servidores servidores O tempo de resposta é adequado a que se destina a ferramenta é adequada ao funcionamento da mesma Verificar se a largura de banda para
O tempo de resposta é adequado mesmo com
transmissão transmissão dos dados d ados é adequada à
vários acessos simultâneos e sem que ocorram
ferramenta
timeouts
Cláudio Ângelo Nhancale
42
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Observar a facilidade de adaptação dos
O interface da aplicação é simples o suficiente
utilizadores utilizadores finais ao uso da ferramenta
para os utilizadores a que se destina
Verificar se a ferramenta corresponde
Verificar se o cliente está satisfeito satisfeito totalmente
às expectativas do cliente
em caso c aso de satisfação parcial acrescentar funcionalidades ou reformular alguns aspectos da ferramenta
Tabela 4 – Testes a realizar no sistema e resultado esperado esperado 4.8 Administra ção da Base de Dados Dados Remotamente Remotament e A administração remota da base de dados deverá de verá ser efectuada pelo Administrador(s) Administrador(s) do sistema, bastando para tal no Browser, dentificar o endereço do servidor seguido da palavra phpmyadmin ,como mostra a figura abaixo: O phpMyAdmin é uma excelente ferramenta para gerenciamento de servidores MySQL e que pode ser acessada de qualquer lugar a partir de um navegador WEB
Fig 17. Acesso ao servidor remotamente Após este passo, é nos pedido para introduzir a Senha e a Password correctamente, e seguidamente, seguidamente, é apresentada apresentada a tela que permit pe rmitee administrar a base de dados d ados remotamente, remotamente, conforme ilustra a figura abaixo:
Cláudio Ângelo Nhancale
43
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Fig 18. Administração Administração remota da base de dados d ados A administração remota usando o PhpMyAdmin permiti-nos efectuar todas as actividades de administração, como se estivéssemos estivéssemos no servidor. servidor.
Cláudio Ângelo Nhancale
44
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
CAPÍTULO V CONCLUSÃO Numa época em que os acontecimentos se sucedem a um ritmo nunca dantes imaginado, tornando o rítmo de vida muito agitado com o consequente aumento aumento da d a sua complexidade e dimensão, só com a detenção de informação adequada e disponibilizada dentro de “timings” “timings” razoáveis, é que se consegue enfrentar enfrentar tais desaf d esafios. ios. Assim, são os Sistemas de Informação e a respectiva Tecnologia de Informação e Comunicação associada, que nos permitem reduzir os níveis de incerteza incerteza com que nos deparamos diariamente, facilitandofacilitandonos a tarefa de aquisição, tratamento e armazenamento da informação que concerne a aprendizagem. Este trabalho demonstra a aplicabilidade de soluções informatizadas no apoio às instituições de ensino, e consequentemente ao processo de ensino e aprendizagem. O resultado da pesquisa mostra que apesar de muitas condições adversas, como a falta de recursos humanos, recursos materiais e financeiros de melhor qualidade, quando se faz um planejamento e com poucos recursos, é possível desenvolver e se aplicar sistemas de Informação que respondam as necessidades da instituição, quer sejam Universidades publicas assim como escolas publicas, e que os mesmos sistemas, com uma boa administração administração e manutenção manutenção podem durar du rar muito tempo a servirem as instituições para as quais foram concebidas conceb idas tornando assim, o PEA mais dinâmico. O sistema aqui propostos vem colmatar a grande dificuldade que actualmente a UP possuí no que concerne ao flexibilização na divulgação dos resultados académicos aos estudantes, assim como a disponibilização de material académicos disponibilizados pelos Docentes. O uso da interface web entretanto apresenta algumas desvantagens, quanto ao tempo de espera de processos complexos e conjunto limitado de controles visuais. Entretanto, verificou-se que essas limitações podem ser contornadas através do uso de estratégias de ergonomia no desenvolvimento desenvolvimento da interface, assim como a existência de um servidor com requisitos minímos (velocidade de processamento, capacidade de armazenamento e tamanho de memoria) em função do numero de usuários para a institui ção a qual se destina o sistema. Cláudio Ângelo Nhancale
45
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
5.1 5.1 RECOME RE COME NDAÇÕES NDAÇÕES Sendo Sistemas de Informação, um tema vasto, e não sendo possível abranger todos os aspectos em um único trabalho, trabalho, recomenda-se recomenda-se que se que elabore elabore mais trabalhos trabalhos relacionados, relacionados, e que abranjam outras áreas que não foram abrangidas no presente trabalho, trabalho, pois só assim se poderá contribuir contribuir para para o melhoramento melhoramento da qualidade qualidade ensino, bem como a qualida qu alidade de do funcionamento funcionamento das instituições de ensino. Este trabalho, de forma alguma, esgota, ou pretendeu esgotar, as investigações em relação ao modelo aqui proposto, pelo que recomenda-se que se criem condições para que o sistema proposto seja implementado e que se dê continuidade às investigações para validação e aperfeiçoamento aperfeiçoamento das interf in terfaces aces do sistema, assim como incorporação incorporação de mais serviços. Parte do gerenciamento de um sistema de Informaç Informação ão em rede consiste em monitorar a rede de dados afim de evitar problemas e, quando necessário, solucionar problemas que realmente acabem acontecendo. Pelo que uma recomendação importante é que exista um(ou vários)
Administradores Administradore s por forma forma a gerenciar o sistema, garantirem o
funcionamento funcionamento pleno do mesmo. Para que o sistema possa ser implementado, é necessário que a Instituição disponha de alguns requisitos básicos tais como: um Servidor Web para hospedar a página que será disponibilizada via web, um Servidor de Base de Dados que armazenara a base de dados MySQL. Sendo o sistema proposto um sistema que irá guardar informações importantes para a instituição em causa, faz-se necessária a implementação de fortes medidas de segurança, quer a nível lógico, quer a nível físico. Tal necessidade agrava-se pelo facto de ser um sistema que estará disponível na Web. Dentre estas medidas destacam-se: destacam-se: §
Proteger o servidor web através através de um u m firewall
§
Limitar o número de pessoas que possuem acesso de administrador ao servidor web;
§
Se a máquina precisa ser administrada remotamente, remotamente, estabelecer sempre conexões seguras.
Cláudio Ângelo Nhancale
46
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line §
Trab alho de Licenciatur Licenciaturaa
Utilizar softwares de detecção de intrusão que possam monitorar as conexões para o servidor;
§
Efectuar backups de informação informação regularmente regularmente
O servidor(es) onde estão a correr os serviços têm de ter uma capacidade de processamento suficientemente para lidar com a quantidade prevista de pedidos, tem de ter uma largura de banda que permita transferir os dados para o browser web com uma rapidez satisfatória e capaz de evitar timeouts e é necessário existir espaço suficiente em disco para guardar todos os dados necessários para o funcionamento tanto do portal como para os documentos gerados por ele e todos os outros dados que interessa guardar como notas dos alunos, estatística, etc.
Cláudio Ângelo Nhancale
47
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
5.2 GLOSSÁRIO A Advanced R esearch Projects Projects Agen cy Network ) ARPANET ARPANET ( Advanced
Rede de longa distância (WAN- Wide Area Network ) criada em 1969 pela Advanced Research Projects Agency (ARPA, actualmente Defense Advanced Projects Research Agency, ou DARPA) em consórcio com as principais principais universidades e centros de pesquisa
dos EUA, com o objectivo específico de investigar a utilidade da comunicação de dados em alta velocidade para fins militares. É conhecida como a Rede-Mãe da actual Internet e foi colocada fora de operação em 1990, dado que estruturas alternativas de redes já cumpriam o seu papel nos EUA. B Browser (Navegador/Vasculhador) Programa Programa de aplicação aplicação cliente que permite aceder, aceder, geralmente por meio de uma interface gráfica, de maneira aleatória ou sistemática, a informações diversas, contendo textos, imagens, gráficos, sons, etc. O acesso ao servidor remoto pode ser feito via rede local ou modem. C Gateway Interface) CGI (Common Gateway
Aplicação servidora utilizada geralmente para processar solicitações do navegador (browser) através de formulários HTML, enviando o resultado como páginas dinâmicas HTML. Pode ser utilizado para ligação (gateway) a outras aplicações e bases de dados do servidor. Exemplo de linguagens de programação, usadas geralmente na escrita de CGIs, são: Perl, C, C++, C++ , VBScript e JavaScript. Criptografia É a técnica técn ica de codificar (encriptar) uma mensagem ou mesmo um ficheiro utilizando um código secreto. Com o propósito de segurança, as informações nele contidas não podem ser utilizadas ou lidas até serem descodificadas. descodificadas.
Cláudio Ângelo Nhancale
48
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
D Download Processo de se transferir uma cópia de um ficheiro num computador remoto para outro computador computador através da rede; o ficheiro ficheiro recebido é grava g ravado do no disco do computador local. F Firewall “Parede de fogo ”. Dispositivo que controla o tráfego entre a Internet e um computador ligado à mesma. Impede que utilizadores não autorizados entrem neste computador, via Internet, ou que dados de um sistema caiam na Internet, sem prévia autorização. Assim, um firewall é um sistema que, em última análise, impede a violação dos dados numa Intranet. FTP (File Transfer Protocol) Protocolo padrão de transferência de ficheiros entre computadores, utilizado normalmente para transmitir ou receber ficheiros via Internet. H Home Page Página inicial de um sítio da Web, referenciada por um endereço electrónico. É a página de apresentação de uma empresa ou instituição. Escrita em HTML, pode conter textos, imagens, sons, ponteiros ou links para outras páginas ou outros servidores da Internet, etc. Hypertext Marku p Language ) HTML ( Hypertext
Linguagem padrão utilizada para escrever documentos para a Web. É uma variante da SGML (Standard Generalized Markup Language ), bem mais fácil de aprender e usar, possibilitando a preparação de documentos com gráficos e ligações para outros documentos, documentos, para visualização visualização em e m sistemas que utilizam u tilizam a Web. HyperText T ransfer Protocol Protocol ) HTTP ( HyperText
Este protocolo é o conjunto de regras que permite a transferência de informações informações na Web, permitindo que os autores de páginas de hipertexto incluam comandos que possibilitem ligações para recursos e outros documentos disponíveis em sistemas remotos, de forma transparente para o utilizador. Cláudio Ângelo Nhancale
49
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
L Ligações ou Hiperligações ( Links ou HiperLinks) São ponteiros ou palavras chaves destacadas num texto, que quando actuadas com o clique do rato nos levam para o assunto desejado, mesmo que esteja noutro ficheiro ou servidor. Linguagem Script São linguagens de programação cujo código fonte é interpretado pelo programa em tempo de execução. execução. Login O login é o nome digitado pelo utilizador para aceder ao servidor da rede. Para entrar na rede, é necessário digitar uma identificação ( login), seguida de uma senha ( password ). S Sítio (Site ) Conjunto de documentos (páginas HTML) Web interligados, alojados num ou mais computadores, no seio de uma instituição ou entidade. No mundo virtual, é um endereço cuja porta de entrada se designa por home page . U URL (Uniform Resource Locator ) Localizador de recursos universal. Sistema normalizado de atribuição de nomes, ou de endereçamento, endereçamento, para documentos e outros meios, acessíveis através da Internet. Internet. W Web (World Wide Web, WW W ) Literalmente, teia de alcance mundial. Baseada em hipertexto, integra diversos serviços da Internet que oferecem acesso, através de hiper-ligações, a recursos multimédia da Internet. Responsável pela popularização da rede, que agora pode ser acedida através de interfaces gráficos de uso intuitivo, como o Netscape Navigator ou o Microsoft Internet Explorer , a Web possibilita uma navegação mais fácil pelos recursos da Internet.
Cláudio Ângelo Nhancale
50
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
5.3 BIBLIOGRAFIA 1. ALMEIDA, Alexandre et all, Pesquisa e desenvolvimento em UML, Unisul – Universidade Universidade do sul, São paulo,200 p aulo,20011 2. AROCA, Rafael: Tutor ial MySQL, Apostilando.com, Apostilando.com, São Paulo, 2000 3. ARROYO, Alexandre dos Santos: Programação Para a Web Usando PHP , Centro de Computação Computação da Unicamp, campinas, campinas, 2002. 4. ABITEBOUL, Serge. Gerenc Ger enciando iando dados na web. Rio de Janeiro: Campus, Campus, 2000. 5. BARROS, Pablo. UML : Linguagem de Modelagem Unificada em Português , Disponível em http://cc.uso.edu/uml http://cc.uso.edu/uml 6. FIGUEIREDO, Bruno: Web Disign – Estrutura, concepção e Produção de sites Web. 2ª Edição actualizada, FCA Editora 2004 7. FIGUEIREDO, António. Aspectos de segurança na web. Revista de Informação e Tecnologia, Unicamp, Campinas, Campinas, v.1, n.6, set. 1999. 8. LOZANO, Fernando, Apache + PHP + M ySQL, ySQL, SEPJ, 2001 9. MAXFIELD, Wade. Aprendendo MySQL & PHP. São Paulo: Makron, 2001. 398p. 10. NUNES , Mauro & O’NELL Henrique, Fundamental de UML , 3ª Edição actualizada, FCA Editora, 2004 11. VICENTE, Luís Atilio: Desenvolvimento de Sites na Web em unidade de Informação, Biblioteca Central – UNICAMP, Campinas, 2000 12. “MySQL: The World's Most Popular Open Source Database”, MySQL AB, http://www.mysql.org/ Acesso: http://www.mysql.org/ Acesso: 18/10/2007 13. “Navegador Web – Wikipédia”, Wikipédia”, http://pt.wikipedia. http://pt.wikipedia.org/wiki/Browse org/wiki/Browserr 14. “MySQL – Wikipédia”, Wikipédia, - http://pt.wikipedia.org/wik http://pt.wikipedia.org/wiki/MySQL i/MySQL 15. “PHP: Hypertext Preprocessor”, Preprocessor”, PHP, http://www.php.net/ http://www.php.net/ Acesso: 11/06/2008 11 /06/2008
Cláudio Ângelo Nhancale
51
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
APÊNDICES 1- DESCRI DESCRI SÃO DAS DAS INTERFACE S §
Tela Tela Pr incipal incipal do Admnistr Admnistrador ador
Figur Figur a 19: 19: Tela Principal do Administrador §
Tela para Cadastro de um Docente a uma Disciplina
Figura Figura 20: Tela para cadastro de um Docente a uma Disciplina
Cláudio Ângelo Nhancale
52
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
§
Trab alho de Licenciatur Licenciaturaa
Tela Pr incipal do Docente: Docente:
Figur Figuraa 21 : Tela Principal do Docente §
Impress Imp ressão ão de uma uma Pa uta
Cláudio Ângelo Nhancale
53
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
Figur Figur a 22: 22: Tela Para Impressão de uma pauta Tela Tela pr p r incipal incipal do Estudant e
Figur Figur a 23: 23: Tela do estudante 2 -CÓDIGO §
Conexão com com a ba se de dados
54
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
echo "<script>javascript:alert('Erro: Não foi feita a conexão com o banco de dados. Tente novamente.');window.location='index.php';";} mysql_select_db($basedados,@$db ); ?> §
Verificação Verificação da senha e Password de um usuár u suár io ao fazer fazer o logi loginn
javascript:alert( "<script>javascript:alert('' Digite o Usuário');window.loc Usuário');window.location='inde ation='index.php';";exit; pt>";exit; }if($código }if($código == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite a Senha');window.l Senha');window.location='index. ocation='index.php';"; pt>"; exit;} $query = "SELECT * FROM estudante where login='$nome'"; $consulta = mysql_query($query); mysql_query($query); $row = mysql_fetch_object($consulta); $linhas = mysql_num_rows($consulta); if ($linhas>0) {if ($row-> senha == $código){ $código){ session_start(); session_s tart(); $_SESSION["nome"] $_SESSION[ "nome"] = $nome; $_SESSION["senha"] $_SESSION["senha"] = $código; $_SESSION["nome2"] = $row->nome; $_SESSION["apelido"] = $row->apelido; header("Location: frame.php");
Cláudio Ângelo Nhancale
55
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
}else{print "<script>javascript:alert('Senha não Confere');window.location='index.php';";}} else{print "<script>javascript:al "<script>javascript:alert('Usuário ert('Usuário não Confere');window.location='index.php';";} mysql_close(@$db); mysql_close(@$db); ?> §
Cadastr o de um estudante na ba se de dados
php require("config.php"); $nr = $_POST["nr_processo"]; $nome = $_POST["nome"]; $_POST["nome"]; $apelido = $_POST["apelido"]; $_POST["apelido"]; $email = $_POST["email"]; $_POST["email"]; $contacto $contacto = $_POST["contacto" $_POST["contacto"]; ]; $apelido = $_POST["apelido"]; $_POST["apelido"]; $ano = $_POST["ano"]; $turma = $_POST["turma"]; $_POST["turma"]; $login = $_POST["l $_ POST["login"]; ogin"]; $senha = $_POST["senha"]; $_POST["senha"]; $senha2 = $_POST["senha2"]; $_POST["senha2"]; if($nr == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite o Numero de Processo ');window.location='cadastro_estudante.php';"; exit;} else { $query = "SELECT "SELECT * FROM estudante where where nr_proc='$nr'"; nr_proc='$n r'"; $consulta = mysql_query$query); mysql_query$query); $linhas = mysql_num_rows($consulta); Cláudio Ângelo Nhancale
56
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
if ($linhas>0) {print "<script>javascript:alert(' "<script>javascript:alert(' Nr De Processo ja Existe');window.location='cadastro_estudante.php';"; exit;}}if($nome exit;}}if($nome == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite o Nome');window.location='cadastro_estudante.php';"; exit;}if($apelido == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite o Apelido');window.location='cadastro_estudante.php';"; exit;}if($ano exit;}if($ano == "n") { print "<script>javascript:ale "<script>javascript:alert(' rt(' Escolha o Ano');window.location='cadastro_estudante.php';"; exit;}if($turma exit;}if($turma == "n") { print "<script>javascript:ale "<script>javascript:alert(' rt(' Escolha a Turma');window.location='cadastro_estudante.php';"; exit;}if($login exit;}if($login == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite o Login');window.location='cadastro_estudante.php';"; exit;} if($senha == "") { print "<script>javascript:alert(' "<script>javascript:alert(' Digite a Senha');window.location='cadastro_estudante.php';"; exit;} else { if($senha != $senha2) { print "<script>javascript:alert(' Confirme a senha Correctamente');window.location='cadastro_estudante.php';";exit; }else { $query = "SELECT * FROM estudante where senha='$senha'"; senha='$senha '"; $consulta = mysql_query($query); mysql_query($query); Cláudio Ângelo Nhancale
57
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
$linhas = mysql_num_rows($consulta); if ($linhas>0) { print "<script>javascript:alert(' Senha ja Existe');window.location='cadastro_estudante.php';"; exit;}}} $sql = "insert into estudante (`nr_proc`,`nome` ,`apelido` ,`ano` ,`contacto` ,`e-mail` ,`turma` ,`login` ,`senha` ) values ('$nr','$nome','$apelido','$an ('$nr','$nome','$apelido','$ano','$conta o','$contacto','$email' cto','$email','$turma','$l ,'$turma','$login','$senha')"; ogin','$senha')"; $consulta = mysql_query($sql); mysql_query($sql); print "<script>javascript:a "<script>javascript:alert('Cad lert('Cadastro astro efectuado com Sucesso');window.location='cadastro_estudante.php';"; mysql_close(@$db); ?>
4- Tabelas Usa Usa das
Figur Figur a 24 : Tabelas Existentes na Base de dados
Cláudio Ângelo Nhancale
58
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
ÍNDICE
RESUMO ..................................................................................................................................1 LISTA DE SIGLAS E ABREVIATURAS ............................................................................2 LISTA DE FIGURAS ..............................................................................................................3 LISTA DE TABELAS .............................................................................................................4 CAPITULO I. INTRODUÇÃO ...............................................................................................5 1.1
Importancia do Tema ............................................. .................... .................................................. .................................................. .........................66
1.2
Formulação Do Problema............................................... ....................... ................................................. .........................................6 ................6
1.3
Hipóteses ............................................. .................... ................................................ ................................................ ..............................................7 .....................7
1.4
Justificativa Justificati va ............................................. .................... .................................................. .................................................. ........................................8 ...............8
1.5
Objectivos Do Trabalho ............................................. .................... ................................................ ............................................8 .....................8
1.6
Metodologias ........................................... ................. ................................................... .................................................. ........................................8 ...............8
1.7
Estrutura do trabalho ............................................. .................... .................................................. .................................................. .........................99
CAPÍTULO II. II. FUNDAMENTAÇÃO TEÓRICA ............................................................. 10 2.1 Sistemas de Informação .................................................................................................. 10 2.1.1 Perigos que ameaçam os Sistemas de Informação ............................................... 10 2.2 A Internet ......................................................................................................................... 12 2.2.1 Estrutura da Internet ............................................................................................... 12 2.2.2 Serviços Disponíveis na Internet ........................................................................... 13 2.3 O Ambiente WEB ........................................................................................................... 14 2.3.1 Funcionamento da WEB ........................................................................................ 15 2.3.2 Conexão com Banco de Dados .............................................................................. 16 2.3.3 Segurança de Dados na WEB ................................................................................ 16 CAPÍTULO III. DESCRIÇÃO DAS TECNOLOGIAS USADAS.................................... 18 3.1 Navegador Web ......................................................................................................... 18 3.2 Servidor Apache ........................................................................................................ 19 3.3 Base de dados MySQL .............................................................................................. 20 3.4 Linguagem HTML ..................................................................................................... 21 3.5 Linguagem PHP ......................................................................................................... 22 3.5.1 O que pode ser feito com PHP? .......................................................................... 23 Cláudio Ângelo Nhancale
59
Sistema de Gest Gest ão P edagógic edagógicaa On-Line On-Line
Trab alho de Licenciatur Licenciaturaa
3.5.2 PHP e HTML ....................................................................................................... 23 3.5.3 Arquitectura e Funcionamento do PHP .............................................................. 24 3.5.4 Potencialidade do PHP ........................................................................................ 25 3.5.5 A base de dados MySQL e o PHP ............................................... ...................... ............................................... ...................... 25 3.6 Apache + PHP +MySQL, por que utilizar três? ...................................................... 26 3.7 Modelação UML ........................................................................................................ 27 3.8.1 Fases do Desenvolvimento de um Sistema em UML ........................................ 28 CAPITULO IV. SISTEMA DE GESTÃO PEDAGÓGICA ON-LINE ............................ 30 4.1 Disponibilidade do Sistema ...................................................................................... 30 4.2 Estrutura do Sistema .................................................................................................. 30 4.3 Operacionalidade do Sistema .................................................................................... 32 4.4 Login do Sistema ....................................................................................................... 32 4.5 Diagramas .................................................................................................................. 33 4.5.1 Diagrama de Casos de Usos ................................................................................... 33 4.5.2 Diagrama de classes ............................................................................................... 35 4.5.3 Diagramas de Sequência ........................................................................................ 36 4.6 Descrição das interfaces ............................................................................................ 36 4.7 Critérios de validação ................................................................................................ 41 4.8 Administração da Base de Dados Remotamente ..................................................... 43 CAPÍTULO V. CONCLUSÃO ............................................................................................ 45 5.1 RECOMENDAÇÕES ..................................................................................................... 46 5.2 GLOSSÁRIO ................................................................................................................... 48 5.3 BIBLIOGRAFIA ............................................................................................................. 51 APÊNDICES ......................................................................................................................... 52
Cláudio Ângelo Nhancale
60