SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
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
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
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
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
Í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
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
Í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
Í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
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
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
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
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
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
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
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
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
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
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
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
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
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
2.Fundamentos Teóricos




Figura 2-3 Tecnologia Clinte Servidor ASP.Net


                                                                   12
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola
Relatorio Abracar@Escola

Mais conteúdo relacionado

Destaque

02. infrastructura
02. infrastructura02. infrastructura
02. infrastructuraecoiote
 
Elaboracion de la cerveza
Elaboracion de la cervezaElaboracion de la cerveza
Elaboracion de la cervezadimejo19
 
Club de Ajedrez 5
Club de Ajedrez 5Club de Ajedrez 5
Club de Ajedrez 5Kimmi64
 
Missa 20.06.10 Os seguidores de Jesus
Missa 20.06.10 Os seguidores de JesusMissa 20.06.10 Os seguidores de Jesus
Missa 20.06.10 Os seguidores de JesusRosiane Paes
 
Parque de la-salette_espécies_vegetais
Parque de la-salette_espécies_vegetaisParque de la-salette_espécies_vegetais
Parque de la-salette_espécies_vegetaisJosé Rosa
 
Smart Homes Magazine Maart 2014
Smart Homes Magazine Maart 2014Smart Homes Magazine Maart 2014
Smart Homes Magazine Maart 2014smartiesNL
 
Puntos Encuentro Hoya de Huesca
Puntos Encuentro Hoya de HuescaPuntos Encuentro Hoya de Huesca
Puntos Encuentro Hoya de HuescaTrek2.0
 
Vinicius de-moraes-livro-de-sonetos
Vinicius de-moraes-livro-de-sonetosVinicius de-moraes-livro-de-sonetos
Vinicius de-moraes-livro-de-sonetosjcmucuge
 
Oficina vivenciando nossas raízes
Oficina vivenciando nossas raízesOficina vivenciando nossas raízes
Oficina vivenciando nossas raízesSMEC PANAMBI-RS
 
A filosofia antiga clássica greco_romana
A filosofia antiga clássica greco_romanaA filosofia antiga clássica greco_romana
A filosofia antiga clássica greco_romanaAldenei Barros
 

Destaque (17)

02. infrastructura
02. infrastructura02. infrastructura
02. infrastructura
 
Mensageiro 2
Mensageiro 2Mensageiro 2
Mensageiro 2
 
Elaboracion de la cerveza
Elaboracion de la cervezaElaboracion de la cerveza
Elaboracion de la cerveza
 
Club de Ajedrez 5
Club de Ajedrez 5Club de Ajedrez 5
Club de Ajedrez 5
 
Trabalho mara
Trabalho maraTrabalho mara
Trabalho mara
 
Missa 20.06.10 Os seguidores de Jesus
Missa 20.06.10 Os seguidores de JesusMissa 20.06.10 Os seguidores de Jesus
Missa 20.06.10 Os seguidores de Jesus
 
Parque de la-salette_espécies_vegetais
Parque de la-salette_espécies_vegetaisParque de la-salette_espécies_vegetais
Parque de la-salette_espécies_vegetais
 
Smart Homes Magazine Maart 2014
Smart Homes Magazine Maart 2014Smart Homes Magazine Maart 2014
Smart Homes Magazine Maart 2014
 
Puntos Encuentro Hoya de Huesca
Puntos Encuentro Hoya de HuescaPuntos Encuentro Hoya de Huesca
Puntos Encuentro Hoya de Huesca
 
01 santosab 103106 (1)
01 santosab 103106 (1)01 santosab 103106 (1)
01 santosab 103106 (1)
 
Vinicius de-moraes-livro-de-sonetos
Vinicius de-moraes-livro-de-sonetosVinicius de-moraes-livro-de-sonetos
Vinicius de-moraes-livro-de-sonetos
 
Oficina vivenciando nossas raízes
Oficina vivenciando nossas raízesOficina vivenciando nossas raízes
Oficina vivenciando nossas raízes
 
18deagosto2012 oexpresso
18deagosto2012 oexpresso18deagosto2012 oexpresso
18deagosto2012 oexpresso
 
Revista Abinee - edição 65
Revista Abinee - edição 65Revista Abinee - edição 65
Revista Abinee - edição 65
 
A filosofia antiga clássica greco_romana
A filosofia antiga clássica greco_romanaA filosofia antiga clássica greco_romana
A filosofia antiga clássica greco_romana
 
Abacaxi tour
Abacaxi tour Abacaxi tour
Abacaxi tour
 
Binder5-5
Binder5-5Binder5-5
Binder5-5
 

Semelhante a Relatorio Abracar@Escola

Ferramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoFerramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoAnabela Protásio
 
Segurança, meio ambiente e saúde
Segurança, meio ambiente e saúdeSegurança, meio ambiente e saúde
Segurança, meio ambiente e saúdeJonatas Ferreira
 
Monografia - Titao Yamamoto
Monografia - Titao YamamotoMonografia - Titao Yamamoto
Monografia - Titao YamamotoTitao Yamamoto
 
Relatorio projecto tracking_glove
Relatorio projecto tracking_gloveRelatorio projecto tracking_glove
Relatorio projecto tracking_gloveJosé Fonseca
 
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...Utilização do computador para a aprendizagem da matemática no ensino pré-esco...
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...Luis Borges Gouveia
 
E-learning : estudo sobre as componentes mais usadas pelos intervenientes
E-learning : estudo sobre as componentes mais usadas pelos intervenientesE-learning : estudo sobre as componentes mais usadas pelos intervenientes
E-learning : estudo sobre as componentes mais usadas pelos intervenientesJoao Vagarinho
 
Ectoparasitas e animais peçonhentos (2011).
Ectoparasitas e animais peçonhentos (2011).Ectoparasitas e animais peçonhentos (2011).
Ectoparasitas e animais peçonhentos (2011).Juliana Lima
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadoresJoka Luiz
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadoresAmadeo Santos
 
Materiais contrucao
Materiais contrucaoMateriais contrucao
Materiais contrucaoCludioSuente
 
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...lucianagrof1
 
Novos Saberes Professores
Novos Saberes ProfessoresNovos Saberes Professores
Novos Saberes ProfessoresJorge Borges
 
Relatório de estágio de joão areias
Relatório de estágio de joão areiasRelatório de estágio de joão areias
Relatório de estágio de joão areiasJoão Areias
 
Monografia-Diogo Magalhaes Martins e Bruno Lirio
Monografia-Diogo Magalhaes Martins e Bruno LirioMonografia-Diogo Magalhaes Martins e Bruno Lirio
Monografia-Diogo Magalhaes Martins e Bruno LirioDiogo Magalhães Martins
 

Semelhante a Relatorio Abracar@Escola (20)

Ferramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoFerramentas da web ao serviço da formação
Ferramentas da web ao serviço da formação
 
Segurança, meio ambiente e saúde
Segurança, meio ambiente e saúdeSegurança, meio ambiente e saúde
Segurança, meio ambiente e saúde
 
Monografia - Titao Yamamoto
Monografia - Titao YamamotoMonografia - Titao Yamamoto
Monografia - Titao Yamamoto
 
Relatorio projecto tracking_glove
Relatorio projecto tracking_gloveRelatorio projecto tracking_glove
Relatorio projecto tracking_glove
 
Economia rural
Economia ruralEconomia rural
Economia rural
 
BrochuraQIM
BrochuraQIMBrochuraQIM
BrochuraQIM
 
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...Utilização do computador para a aprendizagem da matemática no ensino pré-esco...
Utilização do computador para a aprendizagem da matemática no ensino pré-esco...
 
E-learning : estudo sobre as componentes mais usadas pelos intervenientes
E-learning : estudo sobre as componentes mais usadas pelos intervenientesE-learning : estudo sobre as componentes mais usadas pelos intervenientes
E-learning : estudo sobre as componentes mais usadas pelos intervenientes
 
Ectoparasitas e animais peçonhentos (2011).
Ectoparasitas e animais peçonhentos (2011).Ectoparasitas e animais peçonhentos (2011).
Ectoparasitas e animais peçonhentos (2011).
 
Manutenção e montagem de computadores
Manutenção e montagem de computadoresManutenção e montagem de computadores
Manutenção e montagem de computadores
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
 
081112 manut mont
081112 manut mont081112 manut mont
081112 manut mont
 
Montagem e Manutenção de Computadores
Montagem e Manutenção de ComputadoresMontagem e Manutenção de Computadores
Montagem e Manutenção de Computadores
 
Materiais contrucao
Materiais contrucaoMateriais contrucao
Materiais contrucao
 
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...
Trabalho Monográfico de Conclusão de Curso - "Design Instrucional do Curso Vi...
 
Pfap relatorio final
Pfap relatorio finalPfap relatorio final
Pfap relatorio final
 
Instalações Industriais
Instalações IndustriaisInstalações Industriais
Instalações Industriais
 
Novos Saberes Professores
Novos Saberes ProfessoresNovos Saberes Professores
Novos Saberes Professores
 
Relatório de estágio de joão areias
Relatório de estágio de joão areiasRelatório de estágio de joão areias
Relatório de estágio de joão areias
 
Monografia-Diogo Magalhaes Martins e Bruno Lirio
Monografia-Diogo Magalhaes Martins e Bruno LirioMonografia-Diogo Magalhaes Martins e Bruno Lirio
Monografia-Diogo Magalhaes Martins e Bruno Lirio
 

Relatorio Abracar@Escola

  • 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. 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. 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. 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. Í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. 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. Í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. Í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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 2.Fundamentos Teóricos Figura 2-3 Tecnologia Clinte Servidor ASP.Net 12
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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