Relatorio Abracar@Escola

1.302 visualizações

Publicada em

Tese final Licenciatura

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.302
No SlideShare
0
A partir de incorporações
0
Número de incorporações
37
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Relatorio Abracar@Escola

  1. 1. IPV- Instituto Politécnico de Viseu ESTV - Escola Superior de Tecnologia de Viseu Departamento de Informática Relatório de Projecto/Estágio da Licenciatura em Engenharia Informática Sistema de Gestão de Agrupamento de Escolas - Projecto Abraçar@Escola Realizado em Agrupamento de Escolas de Abraveses por António Manuel Costa Nascimento Nuno Miguel Mendes Marques Orientadores ESTV – Engenheiro José António Oliveira Entidade – Professor José Adriano de Almeida Agnelo Viseu, 2007
  2. 2. IPV- Instituto Politécnico de Viseu ESTV - Escola Superior de Tecnologia de Viseu Departamento de Informática Relatório de Projecto/Estágio da Licenciatura em Engenharia Informática Sistema de Gestão de Agrupamento de Escolas - Projecto Abraçar@Escola 2007 Realizado em Agrupamento de Escolas de Abraveses de 15-02-2007 a 06-07-2007 Por António Manuel Costa Nascimento Nuno Miguel Mendes Marques Orientadores ESTV – Engenheiro José António Oliveira Entidade - Professor José Adriano de Almeida Agnelo Viseu, 2007
  3. 3. Agradecimentos Gostaríamos de agradecer a todas as pessoas que nos ajudaram e apoiaram no desenvolvimento deste projecto ao longo de vários meses. Queríamos agradecer especialmente a ajuda dos nossos orientadores tanto o da Instituição acolhedora como o do Instituto Politécnico de Viseu. Não nos poderíamos esquecer também dos nossos pais, namorada, amigos que com muita paciência nos ajudaram nos momentos mais difíceis, para assim podermos concluir este trabalho. Durante a aprendizagem das linguagens e ferramentas usadas não nos podemos esquecer do grande contributo e ajuda do professor José Agnelo. I
  4. 4. Resumo Este projecto propõe desenvolver um sistema de gestão de conteúdos, através de um portal, que tem como principal objectivo a disseminação, partilha e acesso à informação entre os vários actores do universo da Escola, tais como, os Alunos, Professores, Encarregados de Educação e sociedade em geral. Pretende-se de certa maneira promover o trabalho colaborativo e a aplicação das novas tecnologias de informação e comunicação, por toda a comunidade escolar. Este projecto consiste numa solução on-line, alojada num servidor próprio. A construção deste espaço de partilha e divulgação de informação está relacionada com a gestão do próprio agrupamento, bem como o apoio às actividades desenvolvidas no mesmo. O portal Abraçar@Escola irá conter três funcionalidades principais, um Sistema de INews dinâmico, que vai permitir fazer toda a gestão de conteúdos do site, uma agenda de eventos, com as funcionalidades de eventos enviados para o e-mail e impressão de modelos, para uma futura impressão. Por fim haverá o Help-Desk que terá a funcionalidade básica de um fórum, onde pode ser colocada informação e também um local onde os professores poderão tirar dúvidas aos alunos e ou encarregados de Educação. O projecto Abraçar@Escola consiste numa solução baseada no modelo Application Service Provider, podendo adoptar uma arquitectura distribuída, uni ou multi-instância, e sendo suportada por tecnologias abertas e acessíveis em larga escala, preferencialmente via web. Palavras-chave: Gestão de Conteúdos escolares, e-Learning, disseminação, partilha e acesso à informação, trabalho colaborativo. II
  5. 5. Índice Agradecimentos ...........................................................................................................................I Resumo ...................................................................................................................................... II Índice ........................................................................................................................................III Índice de Tabelas ....................................................................................................................... V Índice de Figuras ......................................................................................................................VI 1. Introdução...........................................................................................................................1 1.1. Problema.....................................................................................................................1 1.2. Nota Introdutória ........................................................................................................2 1.3. Enquadramento...........................................................................................................3 1.4. Objectivos e Contribuições.........................................................................................4 1.5. Organização do relatório ............................................................................................5 2. Fundamentos Teóricos........................................................................................................6 2.1. Linguagens Utilizadas ................................................................................................7 2.1.1. Linguagem HTML ..............................................................................................7 2.1.2. ASP.NET ............................................................................................................9 2.1.3. Linguagem SQL SERVER ...............................................................................16 2.1.4. Linguagem AJAX.............................................................................................19 2.1.5. Linguagem VB ..................................................................................................20 2.2. Ferramentas Utilizadas .............................................................................................21 2.2.1. Visual Studio .NET ..........................................................................................21 2.2.2. Internet Information Service.............................................................................23 2.2.3. Microsoft SQL Server ......................................................................................23 2.2.4. Adobe Photoshop..............................................................................................24 3. Estudo da Usabilidade ......................................................................................................26 3.1. Princípios de Design.................................................................................................26 3.1.1. Proximidade......................................................................................................26 3.1.2. Alinhamento .....................................................................................................26 3.1.3. Repetição ..........................................................................................................27 3.1.4. Contraste...........................................................................................................27 3.2. Perguntas de Heurística ............................................................................................28 3.2.1. Público-alvo......................................................................................................28 3.2.2. Objectivo do site...............................................................................................28 3.2.3. O que o Público-alvo espera do portal..............................................................29 3.2.4. A atitude a imprimir ao portal ..........................................................................30 3.2.5. A sensação a transmitir ao utilizador................................................................30 3.2.6. As cores dominantes.........................................................................................31 4. Análise e Requisitos .........................................................................................................32 4.1. Requisitos Não Funcionais .......................................................................................32 4.1.1. Usabilidade .......................................................................................................32 4.1.2. Desempenho e escalabilidade...........................................................................33 4.1.3. Independência do local e do tipo de acesso......................................................33 4.1.4. Privacidade e confidencialidade .......................................................................33 4.1.5. Abertura e integração com outros sistemas ......................................................33 4.1.6. Avisos/Alertas segundo múltiplas formas ........................................................34 4.2. Requisitos Funcionais...............................................................................................34 III
  6. 6. 4.2.1. Actores principais .............................................................................................35 4.2.2. Casos de uso principais ....................................................................................36 4.3. Modelo Entidade Relacionamento............................................................................39 4.3.1. Diagrama ER ....................................................................................................39 4.3.2. Tabela Pessoas..................................................................................................41 4.3.3. Relação Pessoas – Pessoas_Cargos – Cargos...................................................41 4.3.4. Relação Pessoas_Cargos – Pessoas_Orgaos - Orgaos......................................42 4.3.5. Relação Pessoas_Orgaos – Eventos – Pessoas_Eventos ..................................43 4.3.6. Relação Pessoas_Orgaos – Noticias .................................................................43 4.3.7. Relação Menus – Submenus – Noticias ...........................................................44 4.3.8. Tabela Históricos..............................................................................................45 4.3.9. Tabela Citações ................................................................................................45 5. Desenvolvimento e Disposição do Portal.........................................................................47 5.1. Interface Gráfica .......................................................................................................47 5.1.1. Página Principal do Portal ................................................................................47 5.1.2. Página Notícias .................................................................................................48 5.1.3. Página Eventos .................................................................................................49 5.1.4. Página do Fórum...............................................................................................50 5.2. Painel Administrativo ...............................................................................................51 5.2.1. Funcionalidades do Painel Administrativo.......................................................51 5.2.2. Zona de gestão utilizadores ..............................................................................52 5.2.3. Zona de gestão de Cargos.................................................................................54 5.2.4. Zona de Gestão de Órgãos................................................................................55 5.2.5. Zona de gestão de notícias................................................................................58 5.2.6. Zona de gestão de eventos ................................................................................59 5.2.7. Zona de Gestão de Citações .............................................................................62 5.2.8. Zona de gestão de menus e sub menus .............................................................62 5.2.9. Zona de gestão de Históricos............................................................................63 6. Conclusões........................................................................................................................65 6.1. Validação dos Objectivos Originais .........................................................................65 6.2. Principais Contribuições...........................................................................................65 6.3. Trabalho Futuro ........................................................................................................65 6.4. Conclusão .................................................................................................................66 Referências ...............................................................................................................................67 Bibliografia...............................................................................................................................68 7. Anexo A – Application Code ...........................................................................................69 8. Anexo B – Scripts da Base de Dados .............................................................................103 IV
  7. 7. Índice de Tabelas Tabela 2-1 Estrutura do cabeçalho num documento HTML ......................................................8 Tabela 2-2 Estrutura do corpo num documento HTML ............................................................9 Tabela 2-3 - Ficheiros de uma Aplicação Web ........................................................................13 V
  8. 8. Índice de Figuras Figura 1-1 Visão global do projecto Abraçar@Escola...............................................................3 Figura 2-1 Estrutura de um documento HTML..........................................................................7 Figura 2-2 Visão global da framework .NET............................................................................10 Figura 2-3 Tecnologia Clinte Servidor ASP.Net......................................................................12 Figura 2-4 Exemplo de código de um ficheiro .aspx vazio ......................................................13 Figura 2-5 Estrutura de Pastas de uma aplicação Web.............................................................14 Figura 2-6 Páginas Code-Behind..............................................................................................14 Figura 2-7 Ligação de Código de Páginas Code-Behind .........................................................15 Figura 2-8 Configurar a segurança de acesso ao código ASP.NET .........................................15 Figura 2-9 Modelo Clássico com e sem AJAX .........................................................................20 Figura 2-10 - Criação Projecto Visual Studio...........................................................................21 Figura 2-11 Aspecto visual do ambiente do Visual Studio. NET .............................................22 Figura 2-12 Criação de uma Base de dados no SQL Server.....................................................24 Figura 2-13 - Exemplo de uma imagem aberta com o Photoshop ...........................................25 Figura 4-1 Vários Actores intervenientes do projecto Abraçar@Escola .................................36 Figura 4-2 Casos de Uso - Cargos e Utilizadores.....................................................................37 Figura 4-3 Casos de Uso - Criação de Órgãos..........................................................................37 Figura 4-4 Casos de uso - Gerir Noticias .................................................................................38 Figura 4-5 Casos de uso Fórum................................................................................................38 Figura 4-6 Casos de Uso - Eventos ..........................................................................................39 Figura 4-7 Modelo Entidade Relacionamento Abraçar@Escola..............................................40 Figura 4-8 Constituição de tbl_Pessoas....................................................................................41 Figura 4-9 Relação Pessoas – Pessoas_Cargos – Cargos .........................................................42 Figura 4-10 Relação Pessoas_Cargos – Pessoas_Orgaos - Orgaos..........................................43 Figura 4-11 Relação Pessoas_Orgaos – Eventos – Pessoas_Eventos ......................................43 Figura 4-12 Relação Pessoas_Orgaos – Noticias .....................................................................44 Figura 4-13 Relação Menus – Submenus – Noticias................................................................45 Figura 4-14 Tabela Históricos ..................................................................................................45 Figura 4-15 Tabela Citações.....................................................................................................46 Figura 5-1 - Aspecto visual do Portal Abraçar@Escola...........................................................47 Figura 5-2 Aspecto visual do módulo de Notícias ...................................................................48 Figura 5-3 Aspecto visual do módulo de Eventos....................................................................49 Figura 5-4 - Aspecto Visual do Fórum Abraçar@Escola.........................................................50 Figura 5-5 Aspecto Visual do Painel Administrativo Abraçar@Escola ..................................51 Figura 5-6 Ícones situados no topo do Painel de Administração, correspondentes ás funcionalidades.........................................................................................................................51 Figura 5-7 Tabela de Utilzadores com acesso ..........................................................................52 Figura 5-8 - Opções e Datalist de Utilizadores.........................................................................52 Figura 5-9 Formulário para criação de um utilizador...............................................................52 Figura 5-10 Atribuição de Cargos a um certo número de utilizadores.....................................53 Figura 5-11 Envio de dados por SMS e Correio electrónico aos utilizadores..........................54 Figura 5-12 Tabela de Cargos ..................................................................................................54 Figura 5-13 Opções e Datalist de Cargos .................................................................................55 Figura 5-14 Preenchimento de um novo cargo.........................................................................55 Figura 5-15 Tabela Órgãos .......................................................................................................55 VI
  9. 9. Figura 5-16 Opções e Datalist de Órgãos.................................................................................56 Figura 5-17 Criação de um Órgão ............................................................................................56 Figura 5-18 Atribuição de Utilizadores a Órgãos.....................................................................57 Figura 5-19 Atribuições de Utilizadores a um Orgão ..............................................................57 Figura 5-20 Tabela de Notícias ................................................................................................58 Figura 5-21 Opções e Datalist das Notícias .............................................................................58 Figura 5-22 Preenchimento do formulário Notícias .................................................................59 Figura 5-23 Tabela de Eventos.................................................................................................59 Figura 5-24 Opções de Datalist de Eventos .............................................................................60 Figura 5-25 Preenchimento do Formulário Eventos ................................................................60 Figura 5-26 Atribuição de utilizadores a eventos e possibilidade de enviar notificações........61 Figura 5-27 Opções da tabela Citações ....................................................................................62 Figura 5-28 Preenchimento de Citações...................................................................................62 Figura 5-29 - Opções de Menus e Sub Menus..........................................................................62 Figura 5-30 Criação de um novo menu ....................................................................................63 Figura 5-31 Criação de um Sub menu ......................................................................................63 Figura 5-32 Tabela de Históricos .............................................................................................63 Figura 5-33 Opções de Históricos ............................................................................................64 Figura 5-34 Histórico de utilizadores .......................................................................................64 Figura 5-35 Histórico de Notícias ............................................................................................64 Figura 5-36 Histórico de Eventos.............................................................................................64 Figura 7-1 Ficheiro clsCalendario.vb .......................................................................................69 Figura 7-2 Ficheiro clsCargos.vb – parte 1/3 ...........................................................................70 Figura 7-3 Ficheiro clsCargos.vb – parte 2/3 ...........................................................................70 Figura 7-4 Ficheiro clsCargos.vb – parte 3/3 ...........................................................................71 Figura 7-5 Ficheiro clsCitacoes.vb...........................................................................................71 Figura 7-6 Ficheiro clsEmail.vb ...............................................................................................72 Figura 7-7 Ficheiro clsEncriptar.vb- parte 1/2 .........................................................................73 Figura 7-8 Ficheiro clsEncriptar.vb- parte 2/2 .........................................................................74 Figura 7-9 Ficheiro clsEventos.vb – parte 1/8..........................................................................75 Figura 7-10 Ficheiro clsEventos.vb – parte 2/8........................................................................76 Figura 7-11 Ficheiro clsEventos.vb – parte 3/8........................................................................76 Figura 7-12 Ficheiro clsEventos.vb – parte 4/8........................................................................77 Figura 7-13 Ficheiro clsEventos.vb – parte 5/8........................................................................78 Figura 7-14 Ficheiro clsEventos.vb – parte 6/8........................................................................79 Figura 7-15 Ficheiro clsEventos.vb – parte 7/8........................................................................80 Figura 7-16 Ficheiro clsEventos.vb – parte 8/8........................................................................81 Figura 7-17 Ficheiro clsHistorico.vb – parte 1/13....................................................................81 Figura 7-18 Ficheiro clsHistorico.vb – parte 2/13....................................................................82 Figura 7-19 Ficheiro clsHistorico.vb – parte 3/13....................................................................83 Figura 7-20 Ficheiro clsHistorico.vb – parte 4/13....................................................................83 Figura 7-21 Ficheiro clsHistorico.vb – parte 5/13....................................................................84 Figura 7-22 Ficheiro clsHistorico.vb – parte 6/13....................................................................85 Figura 7-23 Ficheiro clsHistorico.vb – parte 7/13....................................................................85 Figura 7-24 Ficheiro clsHistorico.vb – parte 8/13....................................................................86 Figura 7-25 Ficheiro clsHistorico.vb – parte 9/13....................................................................87 Figura 7-26 Ficheiro clsHistorico.vb – parte 10/13..................................................................87 Figura 7-27 Ficheiro clsHistorico.vb – parte 11/13..................................................................88 Figura 7-28 Ficheiro clsHistorico.vb – parte 12/13..................................................................89 Figura 7-29 Ficheiro clsHistorico.vb – parte 13/13..................................................................89 Figura 7-30 Ficheiro clsPessoas.vb – parte 1/8 ........................................................................90 VII
  10. 10. Figura 7-31Ficheiro clsPessoas.vb – parte 2/8 .........................................................................90 Figura 7-32 Ficheiro clsPessoas.vb – parte 3/8 ........................................................................91 Figura 7-33 Ficheiro clsPessoas.vb – parte 4/8 ........................................................................92 Figura 7-34 Ficheiro clsPessoas.vb – parte 5/8 ........................................................................92 Figura 7-35 Ficheiro clsPessoas.vb – parte 6/8 ........................................................................93 Figura 7-36 Ficheiro clsPessoas.vb – parte 7/8 ........................................................................93 Figura 7-37 Ficheiro clsPessoas.vb – parte 8/8 ........................................................................94 Figura 7-38 Ficheiro clsSms.vb................................................................................................95 Figura 7-39 Ficheiro clsMenus.vb– parte 1/2...........................................................................96 Figura 7-40 Ficheiro clsMenus.vb– parte 2/2...........................................................................97 Figura 7-41 Ficheiro clsNoticias.vb– parte 1/5 ........................................................................98 Figura 7-42 Ficheiro clsNoticias.vb– parte 2/5 ........................................................................99 Figura 7-43 Ficheiro clsNoticias.vb– parte 3/5 ......................................................................100 Figura 7-44 Ficheiro clsNoticias.vb– parte 4/5 ......................................................................101 Figura 7-45 Ficheiro clsNoticias.vb– parte 5/5 ......................................................................102 VIII
  11. 11. 1.Introdução 1. Introdução 1.1. Problema As sociedades actuais encontram-se em plena era da informação. Neste contexto a educação é considerada como sendo uma importante área estratégica de desenvolvimento, riqueza e prosperidade. Portugal tem vindo a concretizar progressivamente nas últimas décadas um esforço muito significativo na aposta do e-government, que consiste em propôr e discutir formas de gestão desburocratizadas, participadas e eficientes suportadas por arquitecturas de sistemas de informação, não só na área da educação mas também em sistemas de logística, transporte, turismo, entre outras [1,2,3]. O sistema de ensino tem vindo a ser alvo de várias tentativas de adaptação às novas tecnologias, de tentativas de desburocratização, de tentativas de aceleração dos processos envolvidos. O problema tem sido que são os processos que são adaptados e não as tecnologias que são inteiramente aproveitadas. Tal como uma grande empresa, o sistema de ensino é composto por vários departamentos, muitos recursos humanos, materiais e processos de workflow complexos e distribuídos. Mas ao contrário de uma grande empresa, não tem um departamento de Tecnologias de Informação que estuda estes processos e os tenta resolver a um nível global. As escolas existem como ilhas isoladas, distintas e com uma forte falta de intercomunicação. Uma escola é constituída pelas mais diversas entidades, tais como: equipamento físico (escola, salas, refeitório, biblioteca, espaços desportivos, enfermaria, etc.), funcionários do conselho executivo (presidente, dois vice presidentes, vogais, etc.), funcionários da secretaria (chefe, administrativos, etc.), docentes, discentes, encarregados de educação e funcionários não docentes. Uma escola tem como objectivos leccionar e avaliar os seus alunos, proporcionar-lhes actividades extracurriculares, participar resultados ao Ministério da Educação, entre outros, contando para isso com todas as entidades atrás referidas. A visão do Abraçar@Escola está numa solução que possa não só resolver os problemas de uma escola, mas de todo o sistema de ensino e facilitar e modernizar os processos envolventes. 1
  12. 12. 1.Introdução 1.2. Nota Introdutória O projecto “Abraçar@Escola” consiste em desenvolver um sistema de informação que tem como objectivo uniformizar, facilitar e suportar a gestão de conteúdos programáticos de ensino, e gestão de Eventos realizados no sector escolar. De salientar que este projecto está orientado ao sistema educativo público Português. O sistema desenvolvido terá de suportar as seguintes funcionalidades: a gestão de escolas, alunos, órgãos, professores, turmas e mecanismos de suporte ao e-learning, entre outras. Adicionalmente, tem como missão facilitar a disseminação, partilha e acesso à informação entre os vários actores do universo da educação, tais como alunos, professores, administrativos, encarregados de educação e técnicos do Ministério da Educação. O Abraçar@Escola adopta parcialmente o modelo Application Service Provider (ASP) e consiste numa arquitectura distribuída-federada, multi-instância, sendo acessível a partir de qualquer Web Browser, o que dispensa a instalação de componentes de software nas máquinas dos utilizadores. O conceito da arquitectura distribuída-federada diz respeito ao facto de, para além de existir uma instância única Abraçar@Escola, designada como global/nacional, se poder vir a instalar instâncias do Abraçar@Escola locais/regionais a um ou mais agrupamentos de escolas, ou nas próprias escolas, podendo as várias instâncias funcionar com um razoável nível de autonomia. O Abraçar@Escola é um sistema desenvolvido exclusivamente com tecnologia Microsoft, tirando particular vantagem da infra-estrutura .NET e das seguintes tecnologias: SQL Server, C# e ASP.NET. O sistema de gestão do agrupamento de escolas de Abraveses assenta sobre a plataforma de um portal, com três grandes funcionalidades. O portal vai suportar gestão de conteúdos dinamicamente, de notícias, de agenda de eventos e do fórum. As funcionalidades de notícias e eventos, irão ser mostradas de forma hierárquica, consoante o seu órgão ou cargos, para assim tornar a gestão de conteúdos mais optimizada. Espera-se que deste modo os vários intervenientes no agrupamento de escolas de Abraveses possam através da Internet na escola ou em suas casas, interagir com o sistema, criando notícias, adicionando eventos, participando activamente nos fóruns no caso de terem permissões para tal. 2
  13. 13. 1.Introdução 1.3. Enquadramento Este projecto final de curso foi desenvolvido no âmbito do projecto Abraçar@Escola que está a cargo do Professor José Agnelo da Escola E.B 2,3 Azeredo Perdigão. Na Figura 1-1 é possível ver as actividades que foram e estão a ser desenvolvidas no âmbito do projecto. Figura 1-1 Visão global do projecto Abraçar@Escola A primeira componente, “Gestão Organizacional”, tem como objectivo garantir o suporte modular e extensível de aspectos gerais de um sistema típico de ASP. Entre outros, este componente garante o suporte de conceitos como serviços, pessoas, órgãos, cargos, secções e menus. Adicionalmente, suporta conceitos gerais tais como: utilizadores, permissões, e controlos de acesso. A segunda componente, “Gestão Operacional”, tem como objectivo providenciar um conjunto específico de serviços de gestão do ensino. Concretamente, encontram-se definidos as seguintes funcionalidades: gestão de notícias, gestão de eventos, gestão de utilizadores, fórum digital e suporte ao e-Learning. O objectivo deste trabalho foi realizar esta componente do projecto Abraçar@Escola. Ao longo deste relatório irá ser descrito todo o trabalho realizado no âmbito desta componente. Consideramos esta componente, como a parte fundamental do nosso projecto, pois é aqui que estão implementadas as funcionalidades que melhor podem servir interesses tanto por parte do corpo docente da escola, como dos alunos e seus encarregados de educação. 3
  14. 14. 1.Introdução Por fim, a terceira componente, “Disseminação e Acesso à Informação” tem como objectivo a produção e disseminação de informação das escolas do agrupamento de Abraveses. Adicionalmente, esta informação será publicada e ou disseminada automaticamente segundo diferentes aproximações, desde publicação de informação em locais electrónicos apropriados da escola, até ao envio dessa informação via EMail ou SMS; passando por uma integração mais coesa com base em Web Services apropriados. 1.4. Objectivos e Contribuições O projecto pretende que ao longo do segundo semestre do ano lectivo 2006/2007, seja construído um espaço na Web de partilha e divulgação de informação relacionada com a gestão do agrupamento de escolas de Abraveses, bem como o apoio às actividades desenvolvidas no mesmo. A construção do espaço na Web, será um projecto colaborativo entre alunos, professores, órgãos do agrupamento e encarregados de educação. Os objectivos inerentes ao projecto em questão são os seguintes: ‒ Dinamizar a comunicação entre os diferentes intervenientes do processo educativo do agrupamento; ‒ Compilação de conteúdos educativos genéricos; ‒ Informação institucional e promocional; ‒ Plataforma para gestão de conteúdos, ‒ Fomentar a partilha de conteúdos disciplinares; ‒ Fomentar a transparência do processo educativo; ‒ Promover a educação para a sociedade do conhecimento; ‒ Promover a literacia digital dos agentes educativos; ‒ Desenvolver um espírito colaborativo entre as escolas do agrupamento; ‒ Aumentar a abertura da escola à comunidade em que se insere; 4
  15. 15. 1.Introdução ‒ Fomentar a aplicação das T.I.C. na prática pedagógica dos professores; ‒ Fomentar nos alunos a utilização pedagógica das T.I.C., designadamente a Internet, como instrumento de aprendizagem; ‒ Promover aprendizagens no âmbito disciplinar independentemente do espaço físico da escola; ‒ Fomentar o uso educativo do computador; 1.5. Organização do relatório Este relatório está dividido em capítulos e sub-capítulos, de modo a utilização deste, seja mais fácil, a sua compreensão do conteúdo e o seu desenvolvimento lógico. No capítulo dois iremos falar sobre as linguagens e ferramentas usadas no nosso projecto. No capítulo três falamos sobre aspectos de usabilidade e heurísticas do nosso portal. No capítulo quatro falamos sobre requisitos funcionais, não funcionais, actores, casos de uso e por fim do nosso modelo entidade relacionamento. Por fim no capítulo cinco apresentamos a estrutura do nosso portal, quer para a aplicação Web para cliente, quer para a aplicação Web para administrador. 5
  16. 16. 2.Fundamentos Teóricos 2. Fundamentos Teóricos O projecto Abraçar@Escola está a ser desenvolvido recorrendo a ferramentas e tecnologias da Microsoft, nomeadamente a plataforma de desenvolvimento .NET, para efectuar o seu desenvolvimento. Recorremos ao uso de páginas ASP.NET, com uso intensivo de Web Controls que permitem a replicação e o aproveitamento de código e funcionalidades comuns, de forma a acelerar o processo de desenvolvimento da aplicação através das classes providenciadas pela framework. Visto todas as interacções entre o sistema e os utilizadores se efectuarem no contexto da Internet, tornou-se necessário a utilização de um servidor Web para disponibilizar os serviços aos utilizadores, o servidor escolhido foi o IIS (Internet Information Service), este servidor permite uma fácil integração com a plataforma de desenvolvimento .NET e com o SQL Server. De início instalámos o IIS nos nossos computadores pessoais para efectuarmos os testes necessários, mas após isso passámos toda a aplicação para o servidor que o Instituto Politécnico de Viseu nos cedeu. Para tal tivemos que recorrer a várias pesquisas sobre como poderíamos configurar a nossa aplicação no servidor que nos tinha sido cedido. Relativamente aos dados que o sistema terá de manipular, estes são mantidos e geridos por uma base de dados SQL Server, permitindo um fácil escalonamento, backup e replicação ou sincronização de dados. Essa base de dados fica a cargo do servidor do IPV, ao qual necessitamos de pedir uma conta para alojar a nossa base de dados. Uma vez criada a conta para a base de dados, teríamos que aceder a um interface online, o SQL Management, onde podemos inserir as tabelas, procedimentos, vistas e correr scripts em código SQL. Foram seleccionadas estas ferramentas e tecnologias devido aos seguintes factores: • A existência de um protocolo de licenças para desenvolvimento e ensino entre a Microsoft e o Instituto Politécnico de Viseu; • A plataforma de desenvolvimento .NET ser relativamente recente, por este motivo existe um interesse em explorar esta plataforma e as tecnologias nela presentes; • A constatação da qualidade, fiabilidade e produtividade das ferramentas Microsoft. 6
  17. 17. 2.Fundamentos Teóricos 2.1. Linguagens Utilizadas 2.1.1. Linguagem HTML A linguagem HTML (acrónimo para a língua inglesa: HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto) é uma linguagem de marcação utilizada para produzir páginas na Web. Os documentos em HTML, podem ser interpretados por todos os browers [4]. Todos os documentos HTML apresentam etiquetas, elementos entre parênteses angulares (sinais de maior e menor) (< e >). Estes Elementos são os comandos de formatação da linguagem. A maioria das etiquetas tem o seu fecho correspondente. Se por exemplo abrir um elemento (<etiqueta>), terei que o fechar também (</etiqueta>). Isto é necessário porque as etiquetas servem para definir a formatação de uma porção do documento, e assim marcamos onde começa e termina o texto com a formatação específica. Alguns elementos são chamados vazios pois não marcam uma região de texto, apenas inserem algum elemento no documento. Uma etiqueta é formada por comandos, atributos e valores. Os atributos modificam os resultados padrões dos comandos e os valores caracterizam essa mudança. Temos o seguinte exemplo, <HR color =”RED”>, onde HR é o comando que desenha uma linha, o comando color é um atributo que especifica uma cor diferente da cor padrão (preto) e o RED é o valor do atributo color, que é a linha que será desenhada. Cada comando tem seus atributos possíveis e seus valores. Um exemplo, é o atributo size que pode ser usado com o comando FONT, com o HR mas que não pode ser usado com o comando BODY. Isso quer dizer que devemos saber exactamente quais os atributos e valores possíveis para cada comando. Figura 2-1 Estrutura de um documento HTML As etiquetas não são sensíveis ao tamanho (case sensitive), portanto tanto faz escrever <HTML>, <Html>, <html> ou <HtMl>. As etiquetas básicas de HTML, cuja presença é altamente recomendável nas páginas são o <html>, que define o início de um documento 7
  18. 18. 2.Fundamentos Teóricos HTML e indica ao navegador que todo conteúdo posterior deve ser tratado como uma série de códigos HTML, o <head>, que define o cabeçalho de um documento HTML, que traz informações sobre o documento que está sendo aberto e o <body> que define o conteúdo principal, o corpo do documento. Esta é a parte do documento HTML que é exibida no navegador. No corpo podem-se definir propriedades comuns a toda a página, como cor de fundo, margens, e outras formatações, como se pode verificar na Tabela 2-1 e na Tabela 2-2. Tabela 2-1 Estrutura do cabeçalho num documento HTML Cabeçalho Comando Descrição <title> Define o título da página, que é exibido na barra de título dos browsers. <style> Define formatação em CSS. <script> Define programação de certas funções em página com scripts, podendo adicionar funções de JavaScript. <meta> Define propriedades da página, como codificação de caracteres descrição da página, autor, etc. São meta informações sobre documento. Tais campos são muitos usados por motores de busca para obterem mais informações sobre o documento, afim de classificá-lo melhor. Por exemplo, pode-se adicionar o código <meta name="description" content="descrição da sua página" /> no documento HTML para indicar ao motor de busca que texto de descrição apresentar junto com a ligação para o documento. <link> Define ligações da página com outros arquivos como feeds, CSS, scripts, etc. As tags <input> podem ser de vários tipos, dependendo do que especificarmos no atributo. ‒ <input type=”text”> -É usado quando queremos um campo de texto; ‒ <input type=”password”> -É usado quando queremos um campo de password, o que quer que escrevamos aparece apenas em “*”; ‒ <input type=”hidden”> -É usado quando queremos um campo de oculto, para enviar alguma informação adicional.; ‒ <input type=”radio”> -É usado quando queremos que o utilizador escolha uma opção entre as que lhes são mostradas; ‒ <input type=”checkbox”> -Através desta opção o utilizador está livre para escolher várias alternativas entre as são mostradas; ‒ <input type=”submit”> -Este tipo de input é usado para submeter o formulário para ao servidor. 8
  19. 19. 2.Fundamentos Teóricos ‒ <input type=”reset”> -Este tipo de input é usado para limpar todos os campos do formulário. Tabela 2-2 Estrutura do corpo num documento HTML Corpo Comando Descrição <h1>, <h2>,... <h6> Cabeçalhos e títulos no documento em diversos tamanhos. <p>: Novo parágrafo. <br>: Quebra de linha. <table>: Cria uma tabela (linhas são criadas com <TR> e novas células com <TD>. Já os cabeçalhos de coluna são criados com a etiqueta <TH>.) <div>: Determina uma divisão na página a qual pode possuir variadas formatações. <font>: Forma um texto (fonte, cor e tamanho) de um trecho do texto. <b>, <i>, <u> e <s>: Negrito, itálico, sublinhado e riscado, respectivamente <img>: Imagem. <a>: Hiper-ligação para um outro local, seja uma página, um e-mail ou outro serviço <textarea>: Caixa de texto (com mais de uma linha); estas caixas de texto são muito usadas em blogs, elas podem ser auto seleccionáveis e conter outros códigos a serem distribuídos. <acronym>: Acrónimo (sigla) <cite>: Citação <adress>: Endereço 2.1.2. ASP.NET O ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web, e é o sucessor da tecnologia Active Server Pages (ASP). É um componente do IIS (Internet Information Services) que permite através de uma linguagem de programação integrada na framework .NET, criar páginas dinâmicas. Não é nem uma linguagem de programação como o VBScript, PHP, nem um servidor Web como IIS ou o Apache. O ASP.NET é baseado no framework .NET herdando todas as suas características, por isso, como qualquer .NET, as aplicações para essa plataforma podem ser escritas em várias linguagens, como o C# e o Visual Basic .NET. 9
  20. 20. 2.Fundamentos Teóricos Embora se possa já desenvolver aplicações ASP.NET, utilizando somente o bloco de notas e o compilador .NET, o ambiente mais comum das aplicações é o Visual Studio .NET, que já possui algumas características que facilitaram o nosso trabalho em termos de programação, através de componentes visuais para a criação de formulários para as páginas Web [4]. Uma aplicação Web desenvolvida com tecnologia ASP.NET pode reutilizar código de qualquer outro projecto escrito para a plataforma .NET, mesmo que em uma linguagem diferente. Uma página ASP.NET escrita em VB.NET pode chamar componentes escritos em C# ou WebServices escritos em C++, por exemplo. Ao contrário da tecnologia ASP, as aplicações ASP.NET são compiladas antes da execução, trazendo sensível ganho no desempenho. As aplicações Web ASP.NET necessitam da framework .NET e do servidor IIS, para executar, pelos menos na plataforma Windows. Figura 2-2 Visão global da framework .NET A plataforma .Net é um conjunto de tecnologias que foi projectado para mudar o conceito de desenvolvimento de aplicações para a Internet. A plataforma .NET contempla o desenvolvimento de aplicações escaláveis e distribuídas, fornecendo novas possibilidades para construir aplicações baseadas em Web Service, suportando a infra-estrutura da Internet, incluindo HTTP e XML. 10
  21. 21. 2.Fundamentos Teóricos A plataforma .NET basicamente inclui: • .NET framework • .NET Building Block Services • Visual Studio .Net • .Net Enterprises Services(2003 family) A .NET framework é constituída por duas partes principais: a CLR - Common Language Runtime e a .NET Framework class library. A primeira é a responsável pela independência de linguagem de programação e a segunda disponibiliza os principais recursos de programação, além de incluir os três principais componentes: ASP.NET, Windows Forms e o ADO.NET. O coração da plataforma .NET é o CLR (Common Language Runtime), que é uma aplicação similar a uma máquina virtual que se encarrega de providenciar a execução das aplicações para ela escritas. São oferecidos a estas aplicações numerosos serviços que facilitam o seu desenvolvimento e manutenção que favorece confiança e segurança. O CLR é o verdadeiro responsável pela interoperabilidade entre as linguagens suportadas pela plataforma .Net. O compilador de cada linguagem segue uma série de padrões (Common Language Specification) para compilar seus códigos, por isso as outras linguagens conseguem "entender" as classes e os métodos, dentre outras informações, que essa linguagem definiu. Por exemplo, quando se escreve uma classe em SmallTalk.Net e se compila, o compilador de SmallTalk não irá compilá-la da mesma forma que compilaria fora da plataforma, esse vai compilar segundo uma série de especificações que o IL (Intermediate Language) vai gerar. Quando essa classe tiver que ser acedida por uma outra, escrita em C#, por exemplo, a plataforma .Net encarrega-se de ler a IL gerada e expor a classe que foi criada. No desenvolvimento do software, uma framework é uma estrutura de suporte definida em que um outro projecto de software pode ser organizado e desenvolvido. Uma framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para ajudar a desenvolver e juntar diferentes componentes de um projecto de software. Frameworks são projectados com a intenção de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando nas exigências do software do que com detalhes de baixo nível do sistema. 11
  22. 22. 2.Fundamentos Teóricos Figura 2-3 Tecnologia Clinte Servidor ASP.Net 12
  23. 23. 2.Fundamentos Teóricos Na Figura 2-3 podemos ver de como a tecnologia Cliente/Servidor ASP.NET funciona. Cria- se um projecto no Visual Studio .NET, editando os ficheiros remotamente ou directamente do nosso computador. Uma vez que a pasta da aplicação esteja no servidor, o código ASP.NET é corrido unicamente no servidor, e aos browsers de quem está a visitar a aplicação só chegará código HTML. Podemos ver ainda que durante este processo o servidor pode efectuar transacções com o servidor da base de dados. Aquando a criação de um novo projecto de uma aplicação Web, é necessário saber que ficheiros essa aplicação vai ter, e qual a estrutura que esses ficheiros disponibilizam. Para tal é importante saber com que tipos de ficheiros nos regemos aquando a criação de uma aplicação Web no Visual Studio .NET. A Tabela 2-3 mostra os tipos de ficheiros existentes de uma aplicação Web. Tabela 2-3 - Ficheiros de uma Aplicação Web Tipo de Ficheiro Extensão Ficheiro de Solução de Projecto .snl ou .suo Ficheiros de Projecto .vbproj ou .csproj Formulários - .aspx Serviços Web- .asmx Ficheiros da Aplicação Web Classes ou code-behind - .vb ou .cs Classes Globais Aplicação - .asax Ficheiro Configuração - Web.config Componentes do Projecto Ficheiros - .dll Figura 2-4 Exemplo de código de um ficheiro .aspx vazio 13
  24. 24. 2.Fundamentos Teóricos Na Figura 2-4 podemos ver um ficheiro de aplicação Web do tipo .aspx, que normalmente é onde construímos os nossos formulários. Todos estes ficheiros são guardados de uma forma estruturada, quer no servidor, quer no disco rígido de um computador normal. De seguida, na Figura 2-5 mostramos a estrutura dos ficheiros de uma aplicação Web num computador normal á esquerda, e num servidor à direita. Figura 2-5 Estrutura de Pastas de uma aplicação Web Existem três maneiras de implementarmos código no ASP.NET. Podemos simplesmente misturar código HTML com Visual Basic (VB) no mesmo ficheiro .aspx, podemos implementar no mesmo ficheiro, mas separar o código por secções, distinguindo o código HTML do VB, e por fim e na nossa opinião, a melhor forma é termos um ficheiro separado com as funções de VB, ficando com o mesmo nome do ficheiro .aspx, mas com uma extensão diferente (.aspx.vb). Na Figura 2-6 podemos ter uma ideia de como funcionam as páginas com Code-Behind. Figura 2-6 Páginas Code-Behind 14
  25. 25. 2.Fundamentos Teóricos De maneira a compreendermos como trabalham as páginas Code-Behind, precisamos de saber que têm que se criar ficheiros separados para a interface e para a lógica de negócio. Podemos fazer isto usando a directiva @Page para ligar os dados aos ficheiros. Figura 2-7 Ligação de Código de Páginas Code-Behind De seguida vamos explicar como configurar a segurança de acesso ao código de ASP.NET. Por norma, as aplicações Web que funcionam com confiança total não têm qualquer restrição de permissões. Para modificar os níveis de confiança da segurança de acesso ao código no ASP.NET, é necessário estabelecer um parâmetro no Machine.config ou no Web.config e configurar a aplicação como esta sendo parcialmente de confiança. O elemento <trust> em Machine.config controla se a segurança de acesso ao código vai ser activada ou não para uma aplicação Web. Deve-se abrir o ficheiro Machine.config, e procurar por "<trust>", como está representado na Figura 2-8 Configurar a segurança de acesso ao código ASP.NET Figura 2-8 Configurar a segurança de acesso ao código ASP.NET Com o nível de confiança definido como "Full", a segurança de acesso ao código é efectivamente desactivada porque nenhuma exigência de permissões fica no caminho das tentativas de acesso aos recursos. Esta é a única opção para as aplicações Web ASP.NET criadas na .NET Framework versão 2.0. Descendo na lista de "Full" até "Minimal", cada nível retira mais permissões, restringindo ainda mais a capacidade da nossa aplicação aceder a recursos protegidos e realizar operações privilegiadas. Conforme o nível, maior será o isolamento da aplicação. 15
  26. 26. 2.Fundamentos Teóricos 2.1.3. Linguagem SQL SERVER Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para bases de dados relacionais (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional. O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose, dentro do projecto System R, que tinha por objectivo demonstrar a viabilidade da implementação do modelo relacional proposto por E. F. Codd. O nome original da linguagem era SEQUEL, acrónimo para "Structured English Query Language" (Linguagem de Consulta Estruturada em Inglês), vindo daí o facto de, até hoje, a sigla, em inglês, ser normalmente pronunciada "síquel". A linguagem SQL é um grande padrão de bases de dados. Isto deve-se à sua simplicidade e facilidade de uso. O SQL diferencia-se das outras linguagens de consulta a bases de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. O SQL é uma linguagem declarativa, em oposição a outras linguagens procedimentais. Isto reduz o ciclo de aprendizagem daqueles que se iniciam na linguagem. Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialectos" desenvolvidos por outros produtores. Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987. O SQL foi revisto em 1992 e a esta versão foi dada o nome de SQL-92. Foi revisto novamente em 1999 e 2003 para se tornar SQL1999 (SQL3) e SQL2003, respectivamente. O SQL1999 usa expressões regulares de emparelhamento, queries recursivas e triggers. Também foi feita uma adição controversa de tipos não-escaláveis e algumas características de Object Oriented. O SQL 2003 introduz características relacionadas ao XML, sequências padronizadas e colunas com valores de auto-generalização (inclusive colunas-identidade). DML - Linguagem de Manipulação de Dados 16
  27. 27. 2.Fundamentos Teóricos Primeiro há os elementos da DML (Data Manipulation Language - Linguagem de Manipulação de Dados). A DML é um subconjunto da linguagem usada para seleccionar, inserir, actualizar e apagar dados. • SELECT é o normalmente mais usado do DML, comanda e permite ao utilizador especificar uma query como uma descrição do resultado desejado. A questão não especifica como os resultados deveriam ser localizados. • INSERT é usada para somar uma fila (formalmente um tuplo) a uma tabela existente. • UPDATE para mudar os valores de dados numa fila de tabela existente. • DELETE permite remover filas existentes de uma tabela. • BEGIN WORK (ou START TRANSACTION, dependendo do dialecto SQL) pode ser usado para marcar o começo de uma transacção de bases de dados que pode ser completada ou não. • COMMIT envia todos os dados das mudanças permanentemente. • ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas. COMMIT e ROLLBACK interagem com áreas de controlo como transacção e alocação. Ambos terminam qualquer transacção aberta e liberam qualquer cadeado ligado a dados. Na ausência de um BEGIN WORK ou uma declaração semelhante, a semântica de SQL é dependente da implementação. DDL - Linguagem de Definição de Dados O segundo grupo é a DDL (Data Definition Language - Linguagem de Definição de Dados). Uma DDL permite ao utilizador definir tabelas novas e elementos associados. A maioria das bases de dados de SQL comerciais tem extensões proprietárias no DDL. Os comandos básicos da DDL são: • CREATE cria um objecto (uma Tabela, por exemplo) dentro da base de dados. 17
  28. 28. 2.Fundamentos Teóricos • DROP apaga um objecto do banco de dados. Alguns sistemas de bases de dados usam o comando ALTER, que permite ao utilizador alterar um objecto, por exemplo, adicionando uma coluna a uma tabela existente. Outros comandos DDL: • ALTER TABLE • CREATE INDEX • ALTER INDEX • DROP INDEX • CREATE VIEW • DROP VIEW DCL - Linguagem de Controle de Dados O terceiro grupo é o DCL (Data Control Language - Linguagem de Controle de Dados). DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Duas palavras-chaves da DCL: • GRANT - autoriza ao utilizador a executar ou configurar operações. • REVOKE - remove ou restringe a capacidade de um utilizador executar operações. Outros comandos DCL: • ALTER PASSWORD • CREATE SYNONYM 18
  29. 29. 2.Fundamentos Teóricos 2.1.4. Linguagem AJAX AJAX (acrónimo em língua inglesa de Asynchronous Javascript And XML) é o uso sistemático de tecnologias providas por browsers, como Javascript e XML, para tornar páginas mais interactivas com o utilizador, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações Web mais dinâmicas e criativas. AJAX não é uma tecnologia, são realmente várias tecnologias trabalhando juntas, cada uma fazendo a sua parte, oferecendo novas funcionalidades. O AJAX incorpora no seu modelo.: Apresentação baseada em padrões, usando XHTML e CSS; Intercâmbio e manipulação de dados usando XML e XSLT; Recuperação assíncrona de dados usando o objecto XMLHttpRequest, e JavaScript unindo todas elas em conjunto. O modelo clássico de aplicação Web trabalha assim: A maioria das acções do utilizador na interface dispara uma solicitação HTTP para o servidor Web. O servidor processa algo, recuperando dados, realizando cálculos, conversando com vários sistemas legacy , e então retorna uma página HTML para o cliente. É um modelo adaptado do uso original da Web como um agente de hiper texto, porém o que faz a Web boa para hipertexto, não necessariamente a faz boa para aplicações de software. Esta aproximação possui muito dos sentidos técnicos, mas não faz tudo que um utilizador experiente poderia fazer. Enquanto o servidor está a fazer o seu trabalho, o que é que o utilizador está a fazer? O que é certo, é que ele esteja a esperar. E a cada etapa numa tarefa, o utilizador aguarda mais uma vez. Obviamente, se nós estivéssemos a projectar a Web a partir do zero para aplicações, não faríamos com que os utilizadores esperassem sem alcançar nada. Uma vez que a interface está carregada, porque é que a interacção do utilizador deveria parar a cada vez que a aplicação precisasse de algo do servidor? Na realidade, é porque o utilizador deveria ver a aplicação e recorrer ao servidor várias vezes? A maior vantagem das aplicações AJAX é que elas correm no próprio browser. Então, para estar apto a executar aplicações AJAX, bastar possuir algum dos browsers modernos, ou seja, 19
  30. 30. 2.Fundamentos Teóricos lançados após 2001. São eles: Mozilla Firefox, Internet Explorer 5+, Opera, Konquero e Safari. Figura 2-9 Modelo Clássico com e sem AJAX 2.1.5. Linguagem VB Visual Basic.NET é uma linguagem de programação totalmente orientada a objectos e com suporte total a UML, criada pela Microsoft e distribuída com o Visual Studio .NET (Versão seguinte ao Visual Basic 6.0), embora hoje já haja o Visual Basic 2005. O Visual Basic.NET é um produto extremamente diferente do antigo Visual Basic 6.0, não podendo ser considerada uma versão seguinte. Não apenas a maneira de programar foi alterada, mas todo conceito de orientação a objectos trouxe poder para a linguagem. A Microsoft simplesmente descontinuou o antigo Visual Basic 6.0 tornando o produto parecido com as demais linguagens do Visual Studio, parecido em questões de recursos e portabilidade pois o Visual Basic.NET ainda é muito diferentes de linguagens como o Visual C++, C#, etc. Porém esta nova versão aproximou o Visual Basic.NET das grandes linguagens de programação, aumentando a aceitação dos programadores Java e até mesmo C++, embora 20
  31. 31. 2.Fundamentos Teóricos programadores Java caso tenham que migrar para plataforma Microsoft preferem o C#. Apesar da linguagem ser parecida com o antigo Visual Basic 6.0 a migração destes programadores para a nova plataforma e utilização do Visual Basic.NET é mais fácil para programadores que utilizam linguagens orientada a objecto por causa da grande diferença. Os programadores do antigo Visual Basic 6.0 acostumados com a orientação a eventos encontram dificuldades para utilizar o Visual Basic.NET. 2.2. Ferramentas Utilizadas 2.2.1. Visual Studio .NET A ferramenta mais utilizada durante o projecto, foi sem dúvida o Visual Studio 2005 da Microsoft. O Microsoft Visual Studio é um pacote de programas da Microsoft, para desenvolvimento de software, especialmente dedicado, ao framework .NET e às linguagens Visual Basic, C ,C++, C# e J#. Também é um grande produto de desenvolvimento na área web, usando a plataforma do ASP.NET. As linguagens com maior frequência nessa plataforma são: VB.NET e o C#. O Microsoft Visual Studio .NET é uma ferramenta de desenvolvimento que surgiu no final de 2001. O seu surgimento revolucionou a maneira de se programar, principalmente para a Web e dispositivos móveis, por ser uma ferramenta que facilitou o que antes era bastante complexo de fazer. De seguida iremos mostrar como se cria um novo projecto para uma aplicação Web. Figura 2-10 - Criação Projecto Visual Studio 21
  32. 32. 2.Fundamentos Teóricos Figura 2-11 Aspecto visual do ambiente do Visual Studio. NET Legenda: 1- Explorador de Servidores 2- Caixa de Ferramentas 3- Editor / Navegador 4- Explorador de Soluções 5- Propriedades 6- Navegador de Objectos 22
  33. 33. 2.Fundamentos Teóricos 2.2.2. Internet Information Service O IIS (Internet Information Services) é um servidor web criado pela Microsoft para os sistemas operativos deservidores. A primeira versão foi introduzida com o Windows NT Server versão 4, e passou por várias actualizações. Uma das suas características mais utilizadas é a gestão de páginas HTML dinâmicas, que diferentemente de outros servidores web, usa tecnologia proprietária, o ASP (Active Server Pages), mas também se podem usar outras tecnologias com adição de módulos de terceiros. Depois do lançamento da plataforma .NET em 2002 o IIS ganhou também a função de fazer a gestão do ASP.NET. Este é formado basicamente por dois tipos de aplicações: • Páginas Web: Tradicionais acedidas por utilizadores, que contém a extensão ASPX • Web Services: Funções disponibilizadas pela rede, chamada por aplicações de ASMX. O ASP.NET, assim como o seu concorrente directo, o JSP é compilado antes da execução. Esta característica traz vantagens sobre as opções interpretadas, como o ASP e o PHP. 2.2.3. Microsoft SQL Server O SQL Server (versão 2000) é um SGBD - Sistema de Gestão de Bases de dados da Microsoft (originalmente o projecto do SQL Server foi desenvolvimento pela Sybase) que pode ser instalado no Windows NT/2000 e Win9x e que possui as seguintes características. É fácil de usar (se comparado com outros SGBD). Oferece escalabilidade, ou seja, podemos começar a desenvolver num computador pessoal, e de seguida migrar a nossa base de dados para sistemas de multiprocessamento, embora com algumas dificuldades, respeitantes aos scripts de código SQL gerado. Implementa o datawarehouse , através do Analysis Services. É relativamente barato (comparado com outros SGBD). Geralmente dizemos que o SQL Server é um SGBD cliente/Servidor pois comporta diferentes tipos de plataformas e possui funcionalidades divididas entre clientes e servidores, onde o cliente fornece uma ou mais interfaces que vão ser usadas para requerer uma solicitação ao servidor (SGBD). Este por sua vez, processa a solicitação e devolve o resultado ao cliente. 23
  34. 34. 2.Fundamentos Teóricos Figura 2-12 Criação de uma Base de dados no SQL Server O SQL Server possui uma linguagem relacional chamada de Transact-SQL que é um dialecto da linguagem SQL - Structured Query Language. A principal característica da linguagem SQL é ter sido projectada para trabalhar com conjuntos de registros de dados, enquanto que as linguagens tradicionais (C++, VB, Delphi,..) podem tratar apenas um registo de cada vez. Além disto o SQL não precisa descrever em detalhe como realizar uma tarefa, este apenas descreve o que o utilizador final deseja. O SQL divide-se em dois subconjuntos de linguagem: • A linguagem de Definição de Dados - DDL - que usa instruções para descrever o esquema das tabelas da base de dados • A linguagem de Manipulação de Dados - DML - que usa instruções para manipular os dados. 2.2.4. Adobe Photoshop O Adobe Photoshop é um software caracterizado como editor de imagens bidimensionais do tipo raster (possuindo ainda algumas capacidades de edição típicas dos editores vectoriais) desenvolvido pela Adobe Systems. É considerado o líder no mercado dos editores de imagem profissionais, assim como o programa de facto para edição profissional de imagens digitais e trabalhos de pré-impressão. Apesar de ter sido concebido para edição de imagens para impressão em papel, o Photoshop está a ser cada vez mais usado também para produzir imagens destinadas à World Wide Web. As versões mais recentes incluem um segundo programa, o Adobe ImageReady, muito 24
  35. 35. 2.Fundamentos Teóricos semelhante ao Photoshop, que em conjunto com o Photoshop, é utilizado para a edição e criação de imagens e animações para a web. Figura 2-13 - Exemplo de uma imagem aberta com o Photoshop 25
  36. 36. 3.Estudo da Usabilidade 3. Estudo da Usabilidade 3.1. Princípios de Design 3.1.1. Proximidade Segundo o princípio da proximidade, itens relacionados entre si devem ser agrupados e aproximados uns dos outros, para que sejam vistos como um conjunto coeso. Itens ou conjuntos de informações que não estão relacionados entre si não deveriam estar próximos; isso oferece ao leitor uma pista visual imediata da organização e do conteúdo da página. O propósito básico da proximidade é o de organizar, tornando a leitura e a memorização mais fácil. Como resultado da organização da comunicação, também se criam brancos (espaços negativos) mais atraentes e mais organizados. Quando vários itens estão próximos entre si, eles tornam-se uma unidade visual e não várias unidades separadas. Quando os elementos similares são agrupados numa unidade, a página fica mais organizada. É possível saber por onde começar a leitura e onde terminá-la. Além disso, o espaço em branco também fica mais organizado. 3.1.2. Alinhamento Segundo o princípio do alinhamento, nada deve ser colocado arbitrariamente numa página. Cada item deve ter uma conexão visual com algo na página. O propósito básico do alinhamento é o de unificar e organizar a página. Normalmente, é um alinhamento marcante que cria uma aparência sofisticada, formal. O princípio do alinhamento obriga as pessoas a serem mais conscientes: já não se pode simplesmente pôr as coisas na página nos lugares onde houver espaço. Quando os itens são alinhados na página, há uma unidade coesa, mais forte. Mesmo quando os elementos estiverem fisicamente separados uns dos outros, se estiverem alinhados, haverá uma linha invisível que os liga, tanto em relação aos seus olhos quanto à sua mente. 26
  37. 37. 3.Estudo da Usabilidade Devemos utilizar apenas um alinhamento de texto por página, ou seja, o texto deve ser todo alinhado à esquerda, alinhado à direita ou centralizado. Às vezes, é possível utilizar os alinhamentos à direita e à esquerda na mesma página, mas com uma certa regra. Quando colocarmos outros itens na página, é importante que cada um deles tenha um alinhamento visual com outro item da página. 3.1.3. Repetição O princípio da repetição afirma que algum aspecto do design deve repetir-se no material inteiro. O elemento repetitivo pode ser uma fonte em negrito, uma linha grossa, algum sinal de tópico, um elemento do design, algum formato específico, etc. Pode ser qualquer item que o leitor reconheça visualmente. O propósito básico da repetição é unificar e acrescentar interesse visual. Não podemos subestimar o interesse visual de uma página, pois se ela for interessante, a sua leitura será mais agradável e provavelmente mais lida. A repetição ajuda a organizar as informações. Ela ajuda a guiar o leitor pelas páginas e a unificar partes distintas do design. Mesmo que o documento tenha apenas uma página, a repetição dos elementos estabelece uma continuidade sofisticada. Se criarmos vários documentos de uma única página que façam parte de um pacote unificado, é extremamente importante usar a repetição. 3.1.4. Contraste Segundo o princípio do contraste, se dois objectos não são exactamente do mesmo tipo, então devem ser visualmente muito diferentes. Em todas as artes, o contraste é uma poderosa ferramenta de expressão, o meio para intensificar o significado e, portanto, para simplificar a comunicação. O contraste é uma contra-força à tendência do equilíbrio absoluto. Ele desequilibra, sacode, estimula e atrai a atenção.[5] Os objectivos básicos do contraste são criar interesse sobre uma página e auxiliar na organização das informações. O leitor deve ser capaz de compreender instantaneamente a 27
  38. 38. 3.Estudo da Usabilidade maneira através da qual as informações são estruturadas, o fluxo lógico de um item para outro. Os elementos contrastantes nunca devem confundir o leitor ou criar um foco que não seja o correcto. 3.2. Perguntas de Heurística 3.2.1. Público-alvo Este portal é dedicado à comunidade escolar, que abrange alunos, professores, encarregados de educação, administrativos e funcionários. Serve várias escolas dentro do agrupamento em questão, e poderá expandir-se a outras comunidades. 3.2.2. Objectivo do site O objectivo deste portal e motivar a comunidade de ensino a utilizar diariamente um sistema de gestão de conteúdos, através de um portal, promovendo assim a disseminação, partilha e acesso à informação entre os vários actores do universo da escola, tais como, os alunos, professores, encarregados de educação e sociedade em geral. Pretende-se de certa maneira promover o trabalho colaborativo e a aplicação das novas tecnologias de informação e comunicação, por toda a comunidade escolar. Este projecto consiste numa solução on-line, alojada num servidor próprio. A construção deste espaço de partilha e divulgação de informação está relacionada com a gestão do próprio agrupamento, bem como o apoio ás actividades desenvolvidas no mesmo. Os objectivos que deverão estar presentes são: ‒ Dinamizar a comunicação entre os diferentes intervenientes do processo educativo do agrupamento; ‒ Compilação de conteúdos educativos genéricos; ‒ Informação institucional e promocional; ‒ Plataforma para gestão de conteúdos, ‒ Fomentar a partilha de conteúdos disciplinares; 28
  39. 39. 3.Estudo da Usabilidade ‒ Fomentar a transparência do processo educativo; ‒ Promover a educação para a sociedade do conhecimento; ‒ Promover a literacia digital dos agentes educativos; ‒ Desenvolver um espírito colaborativo entre as escolas do agrupamento; ‒ Aumentar a abertura da escola à comunidade em que se insere; ‒ Fomentar a aplicação das T.I.C. na prática pedagógica dos professores; ‒ Fomentar nos alunos a utilização pedagógica das T.I.C., designadamente a Internet, como instrumento de aprendizagem; ‒ Promover aprendizagens no âmbito disciplinar independentemente do espaço físico da escola; ‒ Fomentar o uso educativo do computador; 3.2.3. O que o Público-alvo espera do portal Pensamos que o público-alvo espera encontrar um portal com funcionalidades que se adeqúem ao quotidiano deles, quer para professores alunos, administrativos e funcionários. De certa maneira pensamos que vão querer essencialmente participar activamente nos conteúdos que o portal suporta, pois são as notícias e os eventos sobre que eles se regem no dia a dia. Tem que haver também uma motivação acrescida porque várias faixas etárias (alunos e professores) vão estar a usar este portal, por isso esperam que este portal seja algo atractivo e que ao mesmo tempo seja capaz de responder a todos os intervenientes. Falando agora das funcionalidades, na parte que toca às notícias, o público deve querer percorrer todo o leque de notícias de maneira fácil, de uma maneira orientada em que o utilizador não se perca à procura da zona que espera ver. Ainda na parte das notícias estas vão estar desenvolvidas com categorias para que os utilizadores possam passar directamente para a zona temática pretendida. Na zona de eventos espera-se dinamismo, pois os professores necessitam das informações atempadamente. De nada serve inserir um evento de uma reunião, se esse não puder ser visto 29
  40. 40. 3.Estudo da Usabilidade a tempo de este se realizar, quer dizer que o objectivo falhou. Sendo assim tem que haver uma certa facilidade em inserir eventos, bem como os divulgar. A questão dos SMS e os e-mails veio acrescentar uma forte motivação, pois impedem aos utilizadores de estarem sempre preocupados em ir à escola, ou telefonarem para saber quando há reuniões, permitindo desta forma minimizar os custos feitos por professores/escolas. O fórum, uma das funcionalidades mais utilizadas hoje em dia pelos utilizadores na Internet, é mais um dos componentes que esperamos que vá agradar a comunidade de ensino do agrupamento de escolas, pois aqui o nível de permissões é mais baixo e será aberto para todos, havendo assim uma grande variedade de temas que poderão surgir. A nível da administração pensamos que é essencial que qualquer administrador consiga reconhecer as funcionalidades disponíveis para a gestão do portal. Espera-se que haja um processo iterativo na criação de utilizadores, seguidos de cargos, seguidos de órgãos, órgãos esses que irão facultar um certo número de notícias e eventos. Um administrador espera que a página inicial se possa alterar, pois poderá haver links que de um ano para o outro que deixam de fazer sentido, e como tal o administrador espera poder apagar esses links e personalizar a seu gosto. 3.2.4. A atitude a imprimir ao portal Com a disponibilização deste portal online, a atitude que este deverá imprimir é ser uma aplicação Web super dinâmica onde notícias e eventos possam ser inseridos o mais rapidamente possível. 3.2.5. A sensação a transmitir ao utilizador A sensação que o site deve transmitir aos utilizadores é a de uma ferramenta necessária, para se manter actualizado na comunidade onde está inserido. Ao entrar é como que se imaginasse numa famosa página de notícias online, onde este sabe que vai encontrar algo relacionado consigo. Este portal deve ir de encontro aos temas mais importantes para a comunidade de ensino. 30
  41. 41. 3.Estudo da Usabilidade 3.2.6. As cores dominantes No nosso portal usámos duas cores dominantes, os cinzentos contrastados no fundo branco do browser e o vermelho cor de vinho, para dar maior ênfase às funcionalidades do utilizador. Estas cores foram escolhidas entre o orientador da Escola Azeredo Perdigão e os alunos que desenvolveram o projecto. Em todos os ícones simbolizando as funcionalidades do portal, a cor vermelha está presente, para que haja uma homogeneidade do design do portal. Os vários tons de cinzentos remetem para a separação de certos formulários, para que estes sejam fáceis de distinguir do resto das opções. Para o texto utilizámos quatro cores. A cor preta simboliza o texto no corpo da notícia. A cor azul remete-nos para links activos. A cor laranja é usada para alterar a cor azul dos links para que se note uma certa interactividade. Por fim temos textos, a uma cor cinza clara que denotam alguma informação relativa ao portal. 31
  42. 42. 4.Desenvolvimento e Disposição do Portal 4. Análise e Requisitos No início deste capítulo é dada uma visão geral sobre o domínio do ensino no Agrupamento de Escolas de Abraveses. De seguida são apresentados os requisitos gerais que o projecto Abraçar@Escola deverá providenciar de forma a suportar os seus objectivos. Identificam-se dois grupos principais de requisitos: Os requisitos funcionais, que correspondem aos casos de utilização disponibilizados por um sistema e representam concretamente as funcionalidades a apresentarem por esse mesmo sistema. Os requisitos não funcionais, que correspondem a necessidades comuns que o sistema deverá satisfazer independentemente das suas funcionalidades. São depois apresentados os actores envolvidos no sistema, os casos de uso a desenvolver no âmbito deste trabalho, e por fim é apresentado o modelo de entidade relacionamento que foi desenvolvido. 4.1. Requisitos Não Funcionais Requisitos não funcionais têm a ver com aspectos gerais do sistema tais como: desempenho, robustez, fiabilidade, distribuição, segurança, integração com a Internet, abertura, ou suporte de standards. Foram identificados neste projecto, os seguintes requisitos não funcionais. 4.1.1. Usabilidade Pelo facto de grande parte das pessoas que trabalham nas escolas, assim como os próprios professores, não terem uma preparação significativa para trabalharem com aplicações informáticas, o Abraçar@Escola terá de apresentar uma interface simples, consistente e fácil de utilizar. (A possibilidade de envio de avisos de eventos e/ou alertas aos professores por SMS é disto um exemplo.) 32
  43. 43. 4.Desenvolvimento e Disposição do Portal 4.1.2. Desempenho e escalabilidade Tendo em conta o universo significativo de escolas e consequentemente do número de alunos, professores e encarregados de educação envolvidos, o sistema deverá tratar eficientemente pedidos em picos de carga da ordem das centenas de acessos ou transacções, nomeadamente nas épocas de inscrições, matrículas, e avaliações, que é quando vai haver mais notícias e eventos no portal Abraçar@Escola. 4.1.3. Independência do local e do tipo de acesso O Abraçar@Escola deverá ser acedido a partir de qualquer cliente Web (e.g., Mozzila, Microsoft Internet Explorer), independente do fabricante, e a partir de qualquer local geográfico (e.g., na secretaria da escola, na casa do professor, na casa do aluno), salvaguardando-se a existência de uma ligação à Internet. 4.1.4. Privacidade e confidencialidade Apesar da informação gerida pelo sistema de ensino não ser particularmente crítica em termos do seu conteúdo, o Abraçar@Escola deverá garantir que a privacidade e confidencialidade da informação seja mantida nos seus respectivos níveis de acesso. Por exemplo, as chaves de utilizador uma vez criadas, serão encriptadas na base de dados. No caso de um utilizador se esquecer da chave, este terá que enviar um e-mail para o administrador e será enviado um e- mail ou um SMS com os dados. 4.1.5. Abertura e integração com outros sistemas De forma que o Abraçar@Escola possa ser usado e integrado com outros sistemas de informação (existentes ou futuros) e participante em workflows e processos administrativos à escala regional e nacional, é importante a definição e exposição de um conjunto essencial de serviços do Abraçar@Escola de forma aberta, independente do fabricante e da tecnologia, e acessível através de protocolos e tecnologias comuns da Internet. 33
  44. 44. 4.Desenvolvimento e Disposição do Portal 4.1.6. Avisos/Alertas segundo múltiplas formas Conforme tenha sido previamente configurado por e para cada interveniente, o Abraçar@Escola deverá suportar um mecanismo de avisos e de alertas segundo múltiplas formas, nomeadamente, por: correio electrónico e SMS. 4.2. Requisitos Funcionais Identificam-se de seguida e sumariamente os papéis ou funções e respectivas funcionalidades providenciadas pelo sistema: • Administrador: Corresponde aos utilizadores responsáveis pela operação e gestão do Abraçar@Escola. São responsáveis designadamente pela: ▪ Gestão de órgãos, cargos e de utilizadores do Agrupamento de Escolas de Abraveses; ▪ Gestão e divulgação de módulos aplicativos a disponibilizarem ao longo do tempo; ▪ Gestão de temas existentes, através dum sistema de gestão de conteúdos, com criação, alteração de menus e sub menus. ▪ Gestão do módulo das Notícias, em termos de criação, alteração e remoção. Definição de formatos a inserir nas colunas de Notícias, bem como os ficheiros que poderão ser inseridos em cada notícia. ▪ Gestão do módulo de Eventos. Para que a informação possa chegar a todos os intervenientes, o Administrador gere o modo como os eventos são mostrados, inseridos, alterados e apagados. Também nesta área os administradores podem enviar SMS ou e-mails para um determinado grupo de utilizadores. ▪ Gestão de Citações inseridas para aparecem aleatoriamente quando se entra no portal Abraçar@Escola. ▪ Gestão de Histórico de intervenções que consiste em registar todas as intervenções feitas pelos utilizadores com acesso à parte de administração, a nível de inserção, remoção de notícias, eventos, cargos e órgãos. 34
  45. 45. 4.Desenvolvimento e Disposição do Portal • Utilizadores pertencentes ao Órgão de Notícias: Correspondente a alunos, professores directores de turma, serviços de secretaria e outros órgãos que lhes sejam atribuídos permissões para escrever noticias. • Utilizadores presidentes de Órgãos: Estes utilizadores têm permissões para criar eventos, alterar e apagar. Estes são responsáveis pela notificação dos eventos, podendo utilizar as funcionalidades de envio de SMS e e-mails. Para que tal aconteça estes presidentes, ao criarem um evento, se quiserem convocar utilizadores de um dado órgão, que estejam associados a esse evento, terão que os seleccionar para estes poderem ser notificados. 4.2.1. Actores principais Após uma análise conjunta com o orientador da instituição, foram identificados os vários actores participantes do sistema educativo do Agrupamento de Escolas de Abraveses. Os mesmos estão representados na Figura 4-1. Na nossa opinião achamos que não se justifica que o número de actores numa escola seja como o da escala representada em baixo, mas por uma questão de igualdade decidimos mostrar todos os actores. 35
  46. 46. 4.Desenvolvimento e Disposição do Portal Figura 4-1 Vários Actores intervenientes do projecto Abraçar@Escola 4.2.2. Casos de uso principais De seguida são apresentados os casos de uso que pertencem aos módulos que foram desenvolvidos no âmbito deste trabalho. O primeiros módulos a serem desenvolvidos no nosso trabalho foram os de gestão de utilizadores, cargos e órgãos. Estes módulos são importantes para perceber o funcionamento de gestão de informação neste site, visto que estes são os principais componentes nesta aplicação Web. 36
  47. 47. 4.Desenvolvimento e Disposição do Portal Figura 4-2 Casos de Uso - Cargos e Utilizadores Figura 4-3 Casos de Uso - Criação de Órgãos O módulo das Notícias, vai ser o que mais interacção vai fazer com o sistema, visto que o portal usa um tipo de gestão de conteúdos de informação que estará a ser alterada a todas horas. Neste caso de uso apresentamos os actores principais que vão interagir com o pacote das notícias, onde é possível desde inserir imagens, ficheiros e links para outras páginas. As notícias vão estar organizadas por categorias e na página principal vão ser mostradas conforme forem atribuídas a um certo menu e sub menu. 37
  48. 48. 4.Desenvolvimento e Disposição do Portal Figura 4-4 Casos de uso - Gerir Noticias Com este módulo dos Fóruns de Discussão pretende-se facilitar a comunicação entre os diferentes utilizadores do sistema, e efectuar de uma forma fácil a partilha e disseminação de informação entre os mesmos. Visto já existirem vários sistemas com módulos semelhantes a este no mercado foi efectuada uma pesquisa na Internet na tentativa de se encontrarem sistemas donde fosse possível retirar algumas ideias sobre a forma de como implementar este módulo. Depois desta pesquisa decidiu-se basear parte do módulo no projecto “Aspnetforums”, este é um projecto open-source que implementa uma aplicação para criar e gerir fóruns de discussão, em particular foi utilizada a camada de apresentação do mesmo e foram utilizados certos aspectos do modelo do domínio. Figura 4-5 Casos de uso Fórum 38
  49. 49. 4.Desenvolvimento e Disposição do Portal Figura 4-6 Casos de Uso - Eventos 4.3. Modelo Entidade Relacionamento 4.3.1. Diagrama ER O diagrama de entidade relacionamento, foi o componente que mais tempo nos ocupou no desenvolvimento deste projecto. Foram várias as intervenções que fizemos neste diagrama, desde à alteração de campos que assim o justificavam, como a remoção e a inserção de alguns. Consideramos que este componente é um dos pontos altos no nosso projecto pois não contávamos com a complexidade de um sistema de ensino em Portugal, e para tal tivemos que fazer uma grande análise, adiar pontos de verificação dos nossos planeamentos, para que este mesmo diagrama pudesse ficar de acordo com os objectivos definidos inicialmente. De seguida na Figura 4-7, vamos poder ver as tabelas e as respectivas ligações que compõem o sistema de gestão do agrupamento de escolas de Abraveses. 39
  50. 50. 4.Desenvolvimento e Disposição do Portal Figura 4-7 Modelo Entidade Relacionamento Abraçar@Escola A tabela Pessoas, contem a informação relativa a todas as pessoas que têm acesso à área reservada do portal. Podem ser alunos, encarregados de educação, professores e administradores do sistema. Um professor, pode ter um ou mais cargos e pertencer a um ou mais órgãos. Ao fazer parte de um órgão, poderá ser ou não presidente desse órgão e poderá criar e editar novos eventos, ou apenas visualizar eventos existentes. Relativamente aos eventos, é registado quem os cria e cada pessoa só pode editar ou remover os eventos associados a ela própria. O mesmo acontece para as noticias, apenas membros do órgão notícias podem criar notícias e só podem alterar ou remover as notícias associadas a elas mesmas. As notícias estão entre ligadas com os menus do site, que são links para as notícias que os utilizadores criam. A tabela histórico regista alguns pontos específicos de actividade e regista também intervenções de um administrador perante a criação e remoção de utilizadores, eventos e notícias. 40

×