Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de...

55
SAGA-CET Sistema de Apoio à Gestão Administrativa dos Cursos de Especialização Tecnológica Luís Miguel Barata Dias Luís Filipe Freitas de Carvalho Coelho Instituto Superior de Engenharia de Coimbra Departamento de Engenharia Informática e de Sistemas Setembro de 2012

Transcript of Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de...

Page 1: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

SAGA-CET

Sistema de Apoio à Gestão Administrativa

dos Cursos de Especialização Tecnológica

Luís Miguel Barata Dias

Luís Filipe Freitas de Carvalho Coelho

Instituto Superior de Engenharia de Coimbra

Departamento de Engenharia Informática e de Sistemas

Setembro de 2012

Page 2: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

ii

SAGA-CET

Sistema de Apoio à Gestão Administrativa

dos Cursos de Especialização Tecnológica

Luís Miguel Barata Dias

Luís Filipe Freitas de Carvalho Coelho

Orientadores

Ana Rosa Pereira Borges (Professora Adjunta do DEIS-ISEC)

Fernanda Maria dos Reis Brito e Rodrigues Correia Barbosa

(Professora Adjunta do DEIS-ISEC)

Francisco Fernando Vasconcelos Barbosa Barros Leite (Assistente Convidado do DEIS-ISEC)

Relatório submetido como requisito parcial para obtenção do grau de licenciado em Engenharia Informática

Instituto Superior de Engenharia de Coimbra

Departamento de Engenharia Informática e de Sistemas

Setembro de 2012

Page 3: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

iii

DEDICATÓRIA

Dedicamos este trabalho às nossas famílias, pela inesgotável paciência e apoio ao longo de

todo o curso.

Page 4: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

iv

RESUMO

O presente texto é o relatório do trabalho desenvolvido no âmbito da disciplina de Projeto do

curso de Engenharia Informática e tem como finalidade descrever todo o processo que

decorreu desde a análise de requisitos até à implementação da aplicação web Sistema de

Apoio à Gestão Administrativa dos Cursos de Especialização Tecnológica (SAGA-CET).

A aplicação web desenvolvida permite gerir os Cursos de Especialização Tecnológica (CET)

lecionados no Departamento de Informática e de Sistemas do Instituto Superior de Engenharia

de Coimbra.

Pretende-se que esta gestão seja o mais abrangente possível (desde a fase da admissão até ao

final de cada um dos cursos), constituindo um instrumento facilitador da gestão dos processos

administrativos para os diversos formadores e para os seus administradores (administrador,

coordenador, responsáveis de componentes de formação).

Após um longo percurso, considera-se que o resultado final foi, em grande parte, de encontro

aos objetivos inicialmente estipulados.

Page 5: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

v

AGRADECIMENTOS

Este trabalho não ficaria completo sem agradecer a todos os que ajudaram a concretizá-lo.

Neste contexto, queremos agradecer aos orientadores deste projeto, a Doutora Ana Rosa

Pereira Borges, a Engenheira Fernanda Maria dos Reis Brito e Rodrigues Correia Barbosa e o

Engenheiro Francisco Fernando Vasconcelos Barbosa Barros Leite, pela sua orientação,

disponibilidade e apoio.

Page 6: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

6

Índice

1 Introdução............................................................................................................................ 8

2 Requisitos .......................................................................................................................... 11

2.1 Requisitos Funcionais ................................................................................................ 11

2.2 Requisitos Operacionais ............................................................................................ 17

2.3 Estrutura da Interface com o Utilizador ..................................................................... 18

2.4 Conceção da Interface com o Utilizador .................................................................... 20

3 Tecnologias de Suporte ..................................................................................................... 22

4 Base de dados .................................................................................................................... 25

5 Segurança .......................................................................................................................... 30

6 Visão Geral do Projeto ...................................................................................................... 35

6.1 Arquitetura Física ...................................................................................................... 35

6.2 Arquitetura lógica ...................................................................................................... 36

6.3 Perfis de utilizadores .................................................................................................. 38

7 Exemplos de Utilização ..................................................................................................... 40

8 Melhoramentos futuros ..................................................................................................... 46

9 Conclusões ........................................................................................................................ 47

Anexo A Modelo E-R ............................................................................................................... 51

Anexo B Modelo Físico ............................................................................................................ 52

Anexo C Resumo Requisitos .................................................................................................... 53

Page 7: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

7

Índice de Figuras

Figura 1: Estrutura das páginas ................................................................................................ 19

Figura 2: Página de Autenticação ............................................................................................. 20

Figura 3: Página de gestão de cursos ........................................................................................ 21

Figura 4 : Camadas do Entity Data Model .............................................................................. 23

Figura 5: Fluxo da Autenticação baseada em Forms Authentication ....................................... 30

Figura 6: SqlMembershipProvider ........................................................................................... 33

Figura 7: Arquitetura física ..................................................................................................... 36

Figura 8 : Arquitetura geral ...................................................................................................... 37

Figura 9: Permissões por utilizador .......................................................................................... 42

Figura 10: Gestão de Horários .................................................................................................. 44

Figura 11: Preenchimento de sumário ...................................................................................... 45

Page 8: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

8

1 Introdução

O presente projeto surge na sequência de uma proposta elaborada no âmbito da unidade

curricular de Projeto do 3º ano curricular da Licenciatura em Engenharia Informática do

Departamento de Engenharia e de Sistemas do Instituto Superior de Engenharia de Coimbra

(DEIS-ISEC). A proposta tem, na sua génese, o diagnóstico de um conjunto de divergências

concretas, que apontava para a necessidade de melhorar a gestão do conjunto de processos

administrativos relativos aos diversos Cursos de Especialização Tecnológica lecionados pelo

DEIS-ISEC.

Os CET (Cursos de Especialização Tecnológica) são cursos de formação pós-secundária, mas

não superior, que atribuem o nível 5 de formação profissional. De acordo com o Decreto-Lei

n.º 88/2006 de 23 de Maio, o CET carateriza-se por ser uma formação técnica de alto nível

mas que não exige domínio dos fundamentos científicos das diferentes áreas em causa.

Contudo, a sua qualificação inclui conhecimentos e capacidades que pertencem ao nível

superior, permitindo assumir, de forma geralmente autónoma ou de forma independente,

responsabilidades de conceção e ou de direção e ou de gestão.

O plano de formação de um CET integra as componentes de formação geral e científica, de

formação tecnológica e de formação em contexto de trabalho. Esse plano compõe-se de

diversas unidades de formação, ou seja, unidades de ensino, com objetivos próprios e cuja

avaliação se traduz numa classificação final. Cada unidade de formação está englobada numa

área de competência específica, por exemplo, línguas estrangeiras ou ciências informáticas.

A gestão das diferentes fases de um Curso de Especialização Tecnológica, desde a admissão

dos candidatos, até ao final do estágio, para um conjunto de formandos com diferentes níveis

de formação secundária, lecionado por um conjunto reduzido de docentes (ou formadores

externos), não é uma tarefa difícil. No entanto, quando se pretende gerir não um, mas um

conjunto de vários cursos, com interligação de um maior numero de docentes (ou formadores

externos) aos diferentes cursos, e para um maior número de formandos, a gestão

administrativa destes cursos começa a ser, relativamente, mais falível, per si, e, como tal,

mais aconselhável a ser efetuada de uma forma mais geral, uniforme e centralizada, evitando-

se assim uma maior probabilidade na existência de inconsistências, perda de informações,

atrasos de comunicação e redundância nos processos administrativos.

Page 9: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

9

De modo a minimizar estas divergências, propôs-se o desenvolvimento, de uma forma

evolutiva, de uma aplicação web que permitisse e facilitasse a gestão administrativa do

conjunto de Cursos de Especialização Tecnológica lecionados no DEIS-ISEC. Neste contexto,

este projeto pretendeu atingir os seguintes objetivos:

• Os utilizadores (devidamente autorizados) devem poder interagir com a aplicação web

a partir de qualquer lugar, desde que, para tal, possuam acesso à internet. O acesso e a

gestão administrativa da informação serão diferenciados, tendo em consideração os

diferentes tipos de utilizador que podem interatuar com a aplicação.

• Fazer a gestão de todas as informações referentes às unidades de formação das

diversas componentes dos diferentes cursos.

• Fazer a gestão de toda a informação referente a cada um dos docentes (ou formadores

externos).

• Fazer a gestão de toda a informação referente a cada um dos formandos.

• Apoiar a atribuição das diferentes (aulas das) unidades formação aos docentes (ou

formadores exteriores).

• Produzir documentos; por exemplo, listagem da afetação do serviço docente por curso,

por docente (ou formador exterior), por unidade de formação, listagem dos formandos

por curso.

Enquadrando-se a formação profissional e a experiência curricular de um dos alunos que

desenvolveu este projeto, afigurou-se como muito pertinente a sua realização, potenciando as

mais-valias pessoais para a sua conceção e perspetivando a criação de uma ferramenta

adaptada à prática concreta, exequível e de utilização simplificada.

O documento que se segue está estruturado do seguinte modo. No capítulo 2 é feita uma

descrição da análise de requisitos realizados no início do projeto. No Capítulo 3 descreve-se

resumidamente as várias tecnologias de suporte utilizadas no desenvolvimento deste projeto,

tendo sido dado uma especial atenção à Entity Framework visto ser uma tecnologia nova para

os autores deste projeto. As tecnologias de suporte utilizadas são basicamente todas

disponibilizadas pela empresa Microsoft ao abrigo do acordo entre o ISEC e a Microsoft

(MSDN Academic Alliance Software Center). No capítulo 4 descreve-se de uma forma

resumida os elementos do modelo físico da base de dados. Este modelo e o ER que lhe deu

origem podem ser consultados nos anexos. No capítulo 5 descreve-se os mecanismos de

Page 10: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

10

segurança utilizados no desenvolvimento da aplicação Web. No Capitulo 6 dá-se uma visão

geral do projeto, onde se descreve a implementação em três camadas e as vantagens na sua

utilização. No Capitulo 7 é dada uma breve descrição do layout da página principal. No

Capitulo 8 são descritos alguns exemplos de utilização. No Capitulo 9 encontram-se descritos

alguns tópicos propondo algumas alterações e novas funcionalidades que poderiam melhorar a

qualidade da aplicação web desenvolvida. Por fim, no capítulo 10, apresentam-se as

conclusões retiradas durante o desenvolvimento deste projeto.

Page 11: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

11

2 Requisitos

2.1 Requisitos Funcionais

A natureza do desenvolvimento de uma aplicação web para a gestão de processos

administrativos não é significativamente diferente da natureza do desenvolvimento de um

outro qualquer tipo de aplicação web. O primeiro objetivo no processo de desenvolvimento de

uma aplicação web é delinear um modelo com o qual se possa descrever adequadamente o

domínio do problema, ou uma parte dele, para o qual a aplicação web é uma solução.

Descrever adequadamente significa que o modelo construído contém um número suficiente e

necessário de elementos que representam, de forma não ambígua, as características do

domínio do problema e que são relevantes para a sua compreensão. A construção, a escolha, a

crítica e o aperfeiçoamento do modelo, com o objetivo de definir de forma não ambígua o que

a aplicação deve ser e fazer, constituem um conjunto de atividades essenciais no seu

desenvolvimento sendo usualmente identificadas, no seu todo, como a fase de compreensão

do problema e identificação, ou a análise, dos seus requisitos.

A importância desta fase está na necessidade de dominar e controlar toda a complexa rede de

pormenores que envolve, em geral, a compreensão de um problema real. De facto, a

necessidade da análise de requisitos torna-se particularmente válida em áreas em que o

conhecimento do domínio do problema é considerado um aspeto crítico. Neste contexto,

mediante o início do programa de trabalhos, a primeira atividade realizada foi a análise de

requisitos da aplicação, estabelecidos por forma a cumprir os objetivos constantes na proposta

de projeto. Vários destes requisitos foram cumpridos, outros foram revistos ao longo das

diversas fases de desenvolvimento da aplicação.

Com base na análise do problema foram identificadas os seguintes grupos de funcionalidades

a implementar:

• Gestão de Formandos.

• Gestão de Utilizadores.

• Gestão de Cursos.

• Gestão de Aulas.

• Gestão de Horários.

Page 12: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

12

• Gestão de Estágios.

• Gestão de Avaliações.

• Produção de Relatórios em PDF.

No Anexo C, estão descritas, num conjunto de tabelas, para cada um dos grupos de

funcionalidades a implementar, as funcionalidades específicas a cada um dos grupos e, entre

estas, as que foram implementadas neste projecto.

Ao identificar a estrutura do problema, é igualmente necessário definir uma estrutura para a

sua solução, procurando identificar a melhor resposta (entre várias soluções possíveis) que se

pode definir a partir da estrutura do problema e que comporta um conjunto de opções e

restrições. Em termos gerais, pretende-se que a aplicação web utilize uma arquitetura

cliente/servidor, recorrendo a um servidor de base de dados para aceder/colocar a informação

necessária à utilização da aplicação. Deverá ter um layout simples e agradável e evidenciar na

página principal um conjunto de ligações que permitam o acesso, de forma intuitiva, a todas

as funcionalidades da aplicação. Para permitir futuras evoluções, esta deve estar estruturada

de uma forma modular, permitindo facilmente a adição de novas funcionalidades.

Com este conceito de módulo pretende dizer-se, não que a estrutura desta aplicação funcione

em partes independentes, mas que está estruturada por operações ou grupos de ações,

correlacionados e interdependentes, facilitando a sua consulta e utilização e sendo visível

apenas nos perfis de utilizador autorizados. Cada módulo permite tornar a operação acessível

ao utilizador e manipular os dados das tabelas associadas à ação em causa. Neste pressuposto,

definiram-se os seguintes nove módulos a implementar:

1. Gestão de Formandos

2. Gestão de Utilizadores

3. Gestão de Cursos

4. Gestão de Aulas

5. Gestão de Horários

6. Gestão de Estágios

7. Gestão de Avaliações

8. Produção de Relatórios em PDF

Page 13: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

13

1 - Gestão de Formandos

O módulo de gestão de formandos deverá permitir, na mesma página, todas as operações

passíveis de executar relativamente à informação dos formandos:

• Inserir novos formandos.

• Inscrever formandos nas unidades de formação.

• Pesquisar determinada informação relativa aos formandos existentes. Deve permitir a

pesquisa de um formando através de um conjunto variado de padrões de pesquisa (por

exemplo, formandos de determinado CET).

• Após a definição do padrão de pesquisa, deve ser apresentada uma listagem com a

informação dos formandos que satisfazem essas condições.

• Aceder ao registo de determinado formando, a partir da listagem apresentada

anteriormente.

• Permitir o acesso dos formandos a informação do seu interesse (avaliações, faltas,

horários, informações genéricas dos CET.)

• Aceder ao registo do conjunto de faltas dos formandos, em uma ou mais unidades de

formação.

O registo de faltas e avaliações é efetuado nos módulos referentes à gestão de aulas e gestão

de avaliações, respetivamente.

2 - Gestão de Utilizadores

O módulo de gestão de utilizadores deve permitir, na mesma página, todas as operações

passíveis de executar relativamente à informação dos utilizadores. A inserção / edição de

utilizadores tem algumas restrições, dependendo do tipo de utilizador que está a utilizar a

aplicação. Deverá ser possível:

• Criar utilizadores.

• Listar utilizadores.

• Ativar, desativar e desbloquear um utilizador.

Page 14: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

14

• Atribuir/alterar o nome de autenticação (login) a um utilizador.

• Definir o tipo de utilizador.

3 - Gestão de Cursos

O módulo de gestão de cursos deve permitir, na mesma página, todas as operações passíveis

de executar relativamente à informação dos cursos. Só o administrador é que poderá criar

CET, assim como a atribuição da coordenação. Todas as tarefas de gestão poderão ser

executadas pelo coordenador e responsáveis de componente, exceto a atribuição dos

responsáveis de componente (só autorizada ao administrador e coordenador).Este módulo

permitirá:

• Inserir um novo CET.

• Atribuir um conjunto de unidades de formação aos CET.

• Atribuir um Coordenador e os diversos responsáveis de área de formação a cada

um dos CET.

• Atribuir formadores às unidades de formação.

• Alterar os dados de um determinado CET.

• Alterar o formador de determinada unidade de formação.

• Criar a calendarização prevista para os CET.

• Inserir interrupções (previstas ou extraordinárias) para os CET.

• Listar informações relativamente aos cursos:

o Formandos existentes.

o Unidades de Formação (com horas já lecionadas e previstas).

o Formadores de determinado CET.

4 - Gestão de Aulas

Page 15: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

15

O módulo de gestão de aulas deverá permitir, na mesma página, todas as operações passíveis

de executar relativamente às aulas. Só o formador de cada aula é que poderá inserir ou editar

sumários, bem como marcar e justificar faltas dos formandos. As operações serão:

• Gerar uma folha de sumário, com um conjunto de elementos pré-definidos.

• Escrever o sumário.

• Registar as faltas dos formandos.

• Mostrar o número de horas totais já lecionadas na unidade de formação.

5 - Gestão de Horários

O módulo de gestão de horários deverá permitir, na mesma página, todas as operações

passíveis de serem executadas, relativamente ao horário. A inserção e edição de horários só

serão permitidas aos responsáveis de componente e coordenador dos CET. A gestão de

horários permitirá:

• Inserir e editar horários.

• Definir o intervalo de datas em que os horários estão em vigor.

• Listar o horário, por curso, dentro de determinadas datas.

• Gerar as aulas previstas a partir dos horários inseridos.

6 - Gestão de Estágios

O módulo de gestão de estágios deve permitir, na mesma página, todas as operações passíveis

de serem executadas, relativamente ao estágio. A afetação de formandos em estágios só pode

ser executada pelo responsável dos estágios de cada CET. Deverá ser permitido:

• Registar as informações das empresas de acolhimento.

• Afetar formandos a um estágio.

• Inserir informações relativas a um estágio (datas, horas diárias).

Page 16: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

16

7 - Gestão de Avaliações

A aplicação deverá permitir todas as operações a nível de registo e consulta das avaliações

dos alunos. Avaliar um aluno é uma tarefa só acessível ao responsável da unidade de

formação, sendo a consulta permitida a todos os intervenientes em cada CET. No global este

módulo deve permitir:

• Inserir a avaliação formativa e sumativa dos formandos.

• Aprovar/reprovar formandos nas unidades de formação.

• Visualizar as avaliações dos formandos por unidade de formação ou por formando.

8 - Produção de Relatórios em PDF

Os utilizadores deverão ter a possibilidade de exportar para PDF a informação mais pertinente

existente na aplicação, nomeadamente:

• Listagem de formandos por CET.

• Listagem de avaliações dos formandos:

o Por formando.

o Por unidade de formação.

• Relatório com aulas previstas e ministradas:

o Por formador.

o Por CET.

• Listagem das faltas num intervalo de datas:

o Por formando.

o Por unidade de formação.

• Relatório com os horários:

o Por CET.

o Num intervalo de datas.

• Relatório com a folha de sumário, com os elementos já preenchidos.

Page 17: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

17

2.2 Requisitos Operacionais

Os requisitos operacionais referem-se à facilidade de uso (usabilidade), confiabilidade,

confidencialidade, integridade, autenticidade e autorização de acesso.

Facilidade de Uso. A aplicação deve ser de uso fácil por parte dos seus utilizadores. A

aplicação só será útil se for de fácil aprendizagem e permitir que a sua utilização seja possível

sem necessidade de recurso a equipamento muito específico. Neste sentido, pretende-se que

esta aplicação seja de fácil aprendizagem e para isso a aplicação deve ter uma interface

simples e intuitiva. Todos os elementos apresentados devem ser claros e a informação

disponibilizada deve ser de fácil leitura. A navegação ao longo das suas diversas

componentes deverá permitir ao utilizador aceder rapidamente a qualquer página da

aplicação.

Confiabilidade – A confiabilidade representa a garantia do correto funcionamento da

aplicação. A aplicação deve funcionar de forma robusta, sem perda de informações, tornando-

se confiável perante os seus utilizadores. Fortemente relacionados com este princípio são os

princípios da confidencialidade e da integridade.

Confidencialidade e Integridade - A confidencialidade é a ausência de divulgação não

autorizada de informação. A integridade diz respeito à ausência de alterações não autorizadas

à aplicação, ou à informação nela existente. A aplicação deve ter a capacidade de detetar e

rejeitar qualquer tentativa de intrusão de agentes externos, ou internos, não autorizados, com o

intuito de modificar a aplicação, ou a informação nela existente, e comprometer os objetivos a

que se destina.

Autenticidade e Autorização de Acesso – A autenticação consiste na validação das

credenciais de um utilizador. Autenticar um indivíduo é o meio pelo qual a identificação de

um utilizador é validada, ou seja, é verificado se o utilizador é quem diz ser. A autorização

consiste em verificar se um utilizador autenticado possui, ou não, acesso a um determinado

recurso. A autorização é um requisito fundamental para que se cumpram os requisitos de

confidencialidade e de integridade do sistema.

Page 18: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

18

2.3 Estrutura da Interface com o Utilizador

Para a criação da interface foram seguidas as seguintes linhas orientadoras.

• Não devem existir elementos supérfluos.

• Todas as ações executadas pelos utilizadores devem ser passíveis de serem

revertidas.

• Devem existir avisos para alertar os utilizadores sobre a ação tomada em cada

momento.

• Os nomes dos menus devem ser claros por forma a não gerar ambiguidade

entre os diversos nomes.

• A interação deve ter uma sequência lógica e facilmente entendível, por parte

dos utilizadores.

Tendo como base estas linhas orientadoras, foi elaborado a seguinte estrutura para as diversas

paginas:

Page 19: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

19

Figura 1: Estrutura das páginas

A estrutura da página é composta por 7 elementos (Figura 1). Na parte superior (1) encontra-

se o símbolo (logótipo) da aplicação. O menu principal (2) foi colocado no topo da página

para facilitar o acesso às suas diferentes opções. As opções a constar no menu principal vão

diferir por tipo de utilizador. Na parte lateral esquerda (5) é a zona para colocação dos

submenus de cada uma das opções do menu principal. Os menus e submenus devem estar

sempre presentes em cada página, permitindo assim que o utilizador possa navegar

rapidamente entre as diversas páginas.

Existe uma zona reservada (4) para a colocação da informação da opção do menu em que o

utilizador se encontra em cada momento. Para identificar qual o utilizador que está com uma

sessão iniciada, e que também permite ao utilizador sair da aplicação, foi incluída uma zona

específica. Nesta zona (3), o utilizador também poderá editar os seus dados pessoais. A zona

(6) está reservada ao conteúdo relativo a cada página. Por último, a zona (7) está reservada à

informação relativa aos autores e ao nome da aplicação.

Note-se que ao longo das diversas páginas da aplicação a sua estrutura não é alterada: o topo e

o rodapé mantêm-se, existindo alterações nas diversas opções do menu e dos submenus, bem

como do conteúdo central.

Page 20: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

20

2.4 Conceção da Interface com o Utilizador

Após a conceção da estrutura da interface com o utilizador, foi elaborado um modelo,

seguindo as linhas orientadoras indicadas na secção 2.3. A fonte de inspiração para o modelo

do layout utilizado na aplicação foi retirado da seguinte página web:

http://www.netdreams.co.uk/index.php/blog/2010/02/18/free-admin-skin-available-for-download/

Embora o modelo citado tenha servido de fonte de inspiração, todos os componentes e folha

de estilos (CSS) utilizadas, foram especificamente construídas para esta aplicação.

Página de Autenticação

Nesta página o utilizador pode introduzir as suas credenciais de autenticação na aplicação e

tem acesso à página de recuperação de palavra-chave.

Figura 2: Página de Autenticação

Page 21: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

21

Página Principal

Na página principal foram seguidos os seguintes pressupostos: existe sempre a identificação

da opção do menu principal que foi selecionada pelo utilizador e para o sub-menu essa

identificação é conseguida por um destaque visual dado ao elemento selecionado. Esse

destaque do sub-menu é conseguido através da alteração da cor do fundo, que passa da cor

verde para a cor cinza. Na imagem seguinte é possível verificar que o utilizador selecionou a

opção Gestão do menu principal e que selecionou a opção CURSOS do sub-menu (vertical-

esquerda). Este destaque é de extrema importância para que a interação do utilizador com a

aplicação seja, per si, mais intuitiva. Com base neste modelo de sinalização da interação, o

utilizador é informado, de uma maneira simples e rápida, da zona de trabalho em que se

encontra. Note-se que, o conteúdo central é sempre atualizado com os dados referentes às

opções selecionadas pelo utilizador. Na figura 3 é mostrado, como exemplo de utilização, o

horário preparado para um determinado CET.

Figura 3: Página de gestão de cursos

Page 22: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

22

3 Tecnologias de Suporte

Para o desenvolvimento desta aplicação utilizou-se a ferramenta de desenvolvimento Visual

Studio 2010. Optou-se pela utilização da .NET Framework 4 por ser a plataforma mais recente

disponibilizada pela Microsoft. Das ferramentas disponibilizadas pelo ambiente integrado de

desenvolvimento (IDE) utilizou-se a ASP.NET 4, a linguagem de programação C# e CSS2.1 .

Como plataforma de acesso a dados utilizou-se a Entity Framework. Para armazenamento de

dados foi utilizado Microsoft SQL Server 2008 Express Edition e como complemento ao

desenvolvimento da aplicação, foi utilizado o ASP.NET AJAX Control Toolkit.

Visual Studio 2010: O Microsoft Visual Studio 2010 é um Ambiente Integrado de

Desenvolvimento (IDE) que permite o desenvolvimento de aplicações para web, Windows e

Windows phone.

.NET Framework 4: A .NET Framework é a plataforma que oferece a base necessária para

compilar e correr aplicações baseadas na tecnologia. Todo e qualquer código gerado para

.NET pode ser executado em qualquer dispositivo ou plataforma que contenha a Framework.

ASP.NET 4: A ASP.NET é uma plataforma da Microsoft para o desenvolvimento de

aplicações Web. É um componente do IIS que permite através de uma linguagem de

programação integrada na Framework .NET criar páginas dinâmicas.

Linguagem C#: A linguagem C# é uma linguagem de programação orientada por objetos,

criada pela Microsoft, baseada na linguagem C++ e JAVA. É uma linguagem desenvolvida

especialmente para integração na Framework .NET e consequentemente com vantagens ao

nível da integração com as suas outras componentes.

Cascading Style Sheets (CSS): O CSS é uma ferramenta que permite a construção de layouts

dos sites web. O seu principal benefício é promover a separação entre o formato e o conteúdo

de um documento HTML.

Entity Framework: A Entity Framework é uma tecnologia que permite aos programadores

focarem-se mais nos modelos e regras de negócio das suas aplicações e menos nos detalhes

diretamente relacionados com as bases de dados, respetivos acessos e manutenções. Esta

tecnologia permite aos programadores trabalhar com os dados na forma de objetos específicos

Page 23: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

23

do domínio, como alunos, cursos, sumários entre outros, sem ser necessário relacioná-los com

as tabelas da base de dados. Não é necessário realizar consultas sobre um schema de uma base

de dados, antes efetua-se consultas sobre um schema que reflete as regras de negócio. Quando

os dados são devolvidos eles já são devolvidos como objetos, não é necessário efetuar

nenhuma conversão. Quando é preciso guardar as alterações na base de dados guardam-se

também os objetos. Na Entity Framework tudo gira em torno de um EDM (Entity Data

Model). A representação do EDM é efetuada através de um ficheiro EDMX que é repartido

por um conjunto de ficheiros XML.

O Entity Data Model (EDM) é definido pelos seguintes arquivos de modelo e mapeamento:

1. Arquivo de definição de schema conceptual (csdl) - define o modelo

conceptual.

2. Arquivo de especificação de mapeamento (msl) - Define o mapeamento entre

os modelos conceptual e de armazenamento.

3. Arquivo de definição de schema de armazenamento (ssdl) - Define o modelo

de armazenamento, também chamado de modelo lógico.

Figura 4 : Camadas do Entity Data Model

(Fonte: http://www.code-magazine.com/article.aspx?quickid=0711051)

Page 24: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

24

Existem três tipos de abordagens quando utilizamos Entity Framework 4.0:

1. Database-first, na qual são criadas as nossas entidades (classes) usando uma

base de dados já existente (abordagem seguida pelos autores deste projeto);

2. Model-first, em que é criado o modelo conceptual e, com base nele, é gerado

um script para a criação da base de dados;

3. Code-first, em que é utilizado POCO (Plain Old Code CRL) para criação

manual de toda a lógica de entidades e ligação, não perdendo, no entanto, todas

as vantagens da utilização da Entity Framework.

Page 25: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

25

4 Base de dados

Como sistema de gestão de Base dados utilizou-se o Microsoft SQL Server 2008 Express

Edition. É um produto gratuito que utiliza o mesmo motor do SQL Server 2008. Esta edição

tem algumas limitações, pois só suporta no máximo de 50 instâncias na mesma máquina,

estando limitada ao uso de apenas um processador físico, de 1 GB de memória e de 10 GB de

armazenamento, não tendo, contudo, limitações ao nível do número de utilizadores em

simultâneo.

A escolha deste sistema de Gestor de Base de dados por parte dos autores deste projeto deveu-

se também à escolha da plataforma de desenvolvimento utilizada, o Visual Studio. Para

implementação deste projeto aconselha-se a utilização do SQL Server 2008 Web Edition

devido a não ter limitações tão restritivas em termos de utilização de memoria e espaço de

armazenamento.

Desde muito cedo os autores tentaram construir uma base de dados que desse resposta a todas

as necessidades previstas na análise de requisitos. Como auxilio para a construção da base de

dados, foi usada a aplicação Sybase PowerDesigner V15 (versão Trial) para desenhar o

modelo entidade relacionamento (Pode ser consultado no Anexo A). A partir do modelo

entidade relacionamento, usando a mesma aplicação, gerou-se o modelo físico da base de

dados (Pode ser consultado no Anexo B). Este modelo físico é composto por 26 tabelas.

Destas tabelas, todas cujo nome inicia por “aspnet_” foram geradas automaticamente em

virtude da utilização do Membership da plataforma ASP.NET.

Descrição das tabelas utilizadas:

• AREA_COMPETENCIA

Contém as áreas de competência possíveis para os módulos.

• CURSO

Guarda os nomes dos CET.

• CET

Guarda as informações genéricas relativamente a um CET, desde a calendarização até o

horário de funcionamento.

Page 26: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

26

• FALTAS

Mantém o registo dos formandos que faltaram às aulas, sendo possível marcar faltas

“parciais” (por exemplo: o aluno faltar á primeira hora e assistir à segunda)

• NOMES_UNIDADE_FORM

Guarda os nomes das unidades de formação que os CET poderão conter.

• UNIDADE_FORM_CET

Mantém o registo das afetações dos NOMES_UNIDADE_FORM aos CET. Poderá dizer-se

que nesta tabela é que estão representadas as unidades de formação, com todas as suas

características, como por exemplo a duração.

• AULA

Guarda todos os dados de determinada aula, incluindo o sumário. Esta tabela tem um campo

(tagAula) que está a “0” ou “1” dependendo se o sumário já foi feito ou não. Não é possível

editar um registo para aulas que vão ocorrer em datas futuras.

• AVALIACAO_FINAL

Guarda a nota do formando obtida na unidade de formação. No caso de ter sido ultrapassado o

número de faltas, o aluno não tem aprovação.

• NOTA_FORMATIVA

Guarda as classificações possíveis que se podem atribuir a cada parâmetro da avaliação

formativa (Não Satisfaz, Satisfaz Pouco, Satisfaz, Satisfaz Bem, Satisfaz Muito Bem). Nesta

tabela não é possível inserir ou alterar registos.

• PARAMETROS_FORMATIVA

Guarda quais os parâmetros existentes para efectuar a avaliação formativa de um a formando

(Aquisição de Conhecimentos, Aplicação dos Conhecimentos, Progressão na Aprendizagem,

Pontualidade e Assiduidade, Interesse e Motivação).

Nesta tabela não é possível inserir ou alterar registos.

• AVALIACAO_FORMAL

Guarda os dados referentes à avaliação formal dos alunos.

Page 27: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

27

• HORARIO

Nesta tabela fica registado em que dia da semana, em que horas e em que sala vão ocorrer as

aulas de uma unidade de formação. Também fica registado o formador que irá ministrar esta

aula.

• CALENDARIO_HORARIO

Guarda o período de tempo em que os HORARIOS estão em vigor.

• CANDIDATOS

Guarda os dados pessoais dos alunos. Ao ser inserido um candidato obrigatoriamente tem o

estado “Admitido” relativamente a um CET.

• CANDIDATURA

Armazena a nota de candidatura com que um candidato foi admitido no CET. Um registo só é

inserido se o utilizador preencher a nota de admissão.

• CONTA_EMAIL

Guarda as definições da conta de email que a aplicação utiliza para enviar os credenciais de

acesso aos utilizadores. Esta tabela só tem um registo, podendo ser modificada apenas por um

utilizador que tenha a regra “administrador”.

• EMPRESA

Guarda os dados de entidades de acolhimento dos estágios.

• ESTADO

Contém os estados de um candidato num CET (admitido, não admitido, matriculado, repetente, anulou matricula, concluído, estágio). Esta tabela já está pré-preenchida, não sendo possível inserir novos registos.

• ESTADO_CANDIDATO_CET

Guarda o estado de um aluno relativamente a um CET e a data em que ocorreu (por exemplo:

ao inserir um novo aluno, nesta tabela é inserido um novo registo para esse aluno com o

estado “Admitido” e a data de admissão).

Page 28: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

28

• ESTAGIO

Guarda os dados relativamente a um estágio.

• FORMADOR_CET

Guarda as afetações de utilizadores a unidades de formação.

• UNIDADE_FORM_ESTADO

Contém os estados possíveis que um aluno pode ter relativamente a um módulo (“inscrito”,

“aprovado”, “creditação”).

Não é possível alterar ou acrescentar registos nesta tabela.

• INSCRICOES_UNIDADE_FORM

Regista a que módulos o aluno está inscrito e em que estado está a inscrição (estados

possíveis na tabela UNIDADE_FORM_ESTADO)

• INTERRUPCOES

Guarda o registo de interrupções que poderão existir.

• INTERROMPE_EM

Guarda os CET é afetados pelas interrupções existentes na tabela INTERRUPCOES.

• SALAS

Guarda a descrição das salas existentes.

• TIPO_UNIDADE_FORM

Contem os tipos de unidades de formação possíveis: “Geral e específica”, “Tecnológica”,

“Contexto de Trabalho”.

Nesta tabela não é possível inserir ou alterar registos.

• UTILIZADORES

Guarda os dados pessoais de todos os utilizadores da aplicação.

• aspnet_Users

Contém os registos dos utilizadores.

Page 29: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

29

• aspnet_Membership

Contém os dados introduzidos pelos utilizadores aquando do registo na aplicação.

• aspnet_Roles

Identifica as regras disponibilizadas pela aplicação

• aspnet_UserInRoles

Identifica as regras de cada Utilizador. Cada utilizador pode ter mais que uma regra.

Page 30: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

30

5 Segurança

Segurança é um dos pontos mais importantes no desenvolvimento de aplicações,

especialmente de aplicações web. A segurança em ASP.NET tem dois conceitos essenciais:

Autenticação e Autorização. O processo de autenticação identifica o utilizador e o processo de

autorização é que determina se o utilizador tem acesso, ou não, a determinado recurso

existente na aplicação web.

Autenticação por Forms Authentication

A autenticação implementada na aplicação desenvolvida é baseada em Forms Authentication.

Este tipo de autenticação é baseado em cookies, ou seja, depois de um utilizador estar

autenticado, as suas credenciais são armazenadas em cookies válidos para aquela sessão.

Quando o utilizador não está autenticado e requisita uma página que requer autorização, é

direcionado para a página de autenticação da aplicação.

A seguinte figura ilustra o fluxo da autenticação baseado em Forms Authentication.

Figura 5: Fluxo da Autenticação baseada em Forms Authentication

Page 31: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

31

(Fonte: http://www.asp.net/web-forms/tutorials/security/introduction/security-basics-and-asp-net-support-cs)

1. O browser efetua o pedido de uma página .aspx protegida.

2. Se o pedido não contém um cookie válido, o ASP.NET redireciona o pedido para a

página de autenticação (indicada no ficheiro de configuração web.config), onde são

pedidas as credenciais do utilizador.

3. ASP.NET verifica se o pedido contém um cookie de autenticação válido. Se existe,

significa que as credenciais do utilizador já foram verificadas. Então ASP.NET efectua

o teste de autorização, comparando as credenciais contidas no cookie de autorização

recebido no pedido com as regras de autorização existentes no ficheiro web.config.

4. Se a autorização tem sucesso o acesso à página segura é permitido.

5. Se a autorização falha, o utilizador é redirecionando novamente para a página de

autenticação.

De seguida apresenta-se a configuração no arquivo web.config para o modo de autenticação:

Autorização

O ASP.NET inclui duas formas para determinar se um utilizador tem autorização para aceder

a um arquivo ou pasta específica: URL authorization ou File authorization.

A File authorization é activada quando a aplicação está configurada para utilizar Windows

Authentication e a URL authorization quando esta configurada para utilizar Forms

Authentication.

É no ficheiro web.config que se pode permitir ou negar a permissão de aceder a um recurso

URL (ficheiro ou pasta) para um utilizador ou grupos de utilizadores (regras).

<authentication mode="Forms">

<forms name="AppNameCookie"

timeout="10"

requireSSL="false"

cookieless="UseCookies"

loginUrl="login.aspx"

defaultUrl="paginas/home.aspx"/>

</authentication>

Page 32: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

32

A autorização, tal como a autenticação, é especificada no arquivo web.config da aplicação. De

seguida apresenta-se a configuração no arquivo web.config dos parâmetros de autorização da

aplicação desenvolvida:

Providers

Na plataforma .Net a autenticação e autorização é implementada pela utilização de Providers.

Os Providers são classes que contêm métodos estáticos que possibilitam a autenticação e

autorização dos utilizadores de uma aplicação. Este tipo de serviço necessita de

armazenamento persistente de dados (por exemplo em bases de dados, ficheiros XML, etc.) e

não comunicam directamente com a camada de acesso a dados, mas sim com o Provider. A

vantagem de utilização de Providers é a não necessidade de escrever código para a gestão de

utilizadores na aplicação, ficando esta responsabilidade para o Provider. Para utilizar os

serviços do Provider basta apenas configurar o ficheiro web.config da aplicação web.

O Provider escolhido para a aplicação foi o SqlMembershipProvider. Por omissão, este

Provider aponta para uma base de dados denominada por ASPNETDB.MDF (colocada na

directoria App_Data, da aplicação). Como se pretende configurar tudo o que é necessário para

utilizar o Membership na base de dados criada para a aplicação, foi necessário recorrer a

ferramenta aspnet_regsql.exe, disponibilizada pela framework.

<location path="paginas/Gerir">

<system.web>

<authorization>

<allow roles="administrador"/>

<allow roles="coordenador"/>

<allow roles="responsavel"/>

<deny users="*"/>

</authorization>

</system.web>

</location>

<location path="paginas/Outros">

<system.web>

<authorization>

<allow roles="Administrador"/>

<deny users="*"/>

</authorization>

</system.web>

</location>

<location path="Styles”>

<system.web>

<authorization>

<allow users="?"/>

</authorization>

</system.web>

</location>

<location path="imagens">

<system.web>

<authorization>

<allow users="?"/>

</authorization>

</system.web>

</location>

Page 33: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

33

O modo de funcionamento do Provider é representado na figura seguinte:

Figura 6: SqlMembershipProvider

(Fonte: http://www.asp.net/web-forms/tutorials/security/introduction/security-basics-and-asp-net-support-cs)

1. O utilizador coloca as suas credenciais na página de autenticação.

2. A classe Membership consulta o ficheiro de configuração (web.config) para validar

qual o Provider que deve utilizar.

3. A classe Membership acciona o Provider especificado no ficheiro de configuração.

4. O Provider executa uma interrogação (query) na base de dados para verificar se as credenciais do utilizador são válidas. O resultado desta operação é passado para a classe Membership e, dependendo do valor passado, é permitido o acesso ou não, a aplicação.

Page 34: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

34

De seguida apresenta-se a configuração do arquivo web.config para os parâmetros de configuração do Provider:

<membership>

<providers>

<clear/>

<add connectionStringName="ApplicationServices"

enablePasswordRetrieval="false"

enablePasswordReset="true"

requiresQuestionAndAnswer="false"

requiresUniqueEmail="true"

maxInvalidPasswordAttempts="5"

minRequiredPasswordLength="5"

minRequiredNonalphanumericCharacters="0"

passwordAttemptWindow="10"

applicationName="MyApplication"

Page 35: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

35

6 Visão Geral do Projeto

6.1 Arquitetura Física

Um dos requisitos definidos para este projeto era que os seus utilizadores pudessem aceder à

aplicação a partir de qualquer lugar, desde que, para tal possuíssem acesso à internet. Esta

solução traz as seguintes vantagens:

1. Os utilizadores podem aceder de uma forma fácil à aplicação a partir de qualquer

computador pessoal, desde que para isso possuam uma ligação à Internet.

2. Não é necessário instalar nenhuma aplicação nos computadores clientes, somente

necessitam de possuir um browser instalado.

3. Facilita as tarefas de manutenção do sistema, visto que as atualizações são refletidas

para todos os utilizadores.

Para a concretização deste projecto é necessário recorrer a uma infra-estrutura informática

para alojar a aplicação desenvolvida e a base de dados. É necessário um servidor web para

permitir o acesso às páginas ASP.NET e HTML criadas, por parte dos browsers das máquinas

cliente. Como estamos a trabalhar com ferramentas na sua maioria Microsoft, também se

deverá até por uma questão de compatibilidade utilizar o Servidor Web da Microsoft,

chamado IIS (Internet Information Services). Para alojamento da base de dados, também é

necessário um servidor. Este servidor será desnecessário caso a organização onde seja

implementada esta aplicação opte pela colocação do servidor Web e servidor de base de dados

dentro da mesma máquina física. Relativamente ao servidor de base de dados propõem-se a

utilização do SQL Server Web Edition. Na figura seguinte é ilustrado o modelo da arquitetura

física.

Page 36: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

36

Figura 7 - Arquitetura física

A arquitetura baseia-se numa arquitetura típica de modelo cliente/servidor onde vários

clientes podem aceder a plataforma em simultâneo. Quando um cliente acede ao servidor web

através de um computador ligado à internet, o servidor web processa esse pedido interagindo

com o sistema gestor de base de dados e posteriormente retorna a informação solicitada ao

cliente.

6.2 Arquitetura lógica

Ao nível da arquitetura lógica, optou-se por uma arquitetura em três camadas. Este padrão de

design de software tem vantagens relativamente a outros padrões assentes nesta arquitetura

cliente/servidor. Neste modelo existe uma separação de camadas, tornando-o mais flexível

pela sua facilidade na reutilização e atualização de código. Além da vantagem anteriormente

descrita, as funcionalidades da camada de negócio e camada de dados podem ser divididas em

classes, promovendo então uma modelação orientada a objetos. Esta modularidade da

aplicação torna-a mais fácil de manter e evoluir.

Page 37: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

37

Entidades

Figura 8 - Arquitetura geral

1. Camada de Dados: é a responsável pela ligação com a base de dados e aqui não foi

colocado qualquer validação de dados, apenas o código necessário para acesso aos

dados. Esta camada é responsável por inserir, atualizar, eliminar e consultar os dados

existentes nas tabelas.

2. Camada de negócio: Aqui que foi implementada toda a lógica de negócio. Esta

camada também é utilizada para passagem de informação entre a camada de dados e a

camada de apresentação.

3. Camada de apresentação: Esta camada corresponde a componente de interface com os

utilizadores, interage com a camada de negócio, nunca interage diretamente com a

camada de dados. Nesta camada utiliza-se algum tipo de validação inicial, de forma a

evitar comunicações desnecessárias com o servidor sempre que o utilizador introduz

alguma informação incorreta. Como exemplo: Quando um utilizador, num

Page 38: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

38

determinado formulário, introduz uma data inferior a data atual como validade para

um determinado documento.

4. Entidades: Esta camada é transversal a toda a aplicação e é a única camada que é

visível por todas as outras. Esta camada contém todas classes básicas (Ex: Cursos) que

representam a base de dados da aplicação.

6.3 Perfis de utilizadores

A aplicação foi desenvolvida tendo como base a possibilidade de existência dos seguintes

perfis:

Administrador

O Administrador representa a pessoa responsável por coordenar toda a gestão dos CET. Esta

pessoa pode executar todas as tarefas de gestão, sendo as mais importantes as de gerir cursos e

utilizadores. O administrador é o único que pode criar cursos e criar novos utilizadores

administradores. O administrador pode consultar toda a informação relativa aos CET.

Coordenador

Cada CET tem uma pessoa responsável pela sua coordenação. Esta pessoa pode executar

todas as tarefas de gestão relacionadas com a gestão dos CET para os quais é coordenador. O

principal papel de um coordenador será atribuição dos responsáveis de área do CET que é

responsável. O coordenador pode criar utilizadores dos tipos responsável e formador.

Responsável

O responsável representa a pessoa responsável por uma ou varias componentes de cada CET.

Estas componentes podem ser a geral, científica ou formação em contexto de trabalho.

Este tipo de utilizador pode criar utilizadores do tipo formador. Como qualquer um dos

anteriores perfis, este também tem a possibilidade de inserir os alunos admitidos a cada um

dos CET.

Page 39: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

39

Formador

O Formador representa a pessoa responsável pela marcação de faltas, escrever sumários e

lançar as notas dos alunos. Pode visualizar toda a informação dos alunos aos quais dá aulas.

Aluno

O perfil de aluno pode visualizar toda a sua informação, tais como os seus dados pessoais, as

suas notas, faltas aos diversos módulos e os horários do seu curso.

Page 40: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

40

7 Exemplos de Utilização

Neste capítulo pretende ilustrar-se como utilizar algumas das funcionalidades da aplicação,

tendo sido escolhidos exemplos das que os autores julgam mais relevantes.

Caso 1: Criar um novo CET

Só os administradores podem criar e atribuir a coordenação de CET:

(Menu principal) Gestão->(Submenu)Cursos

Nesta janela surge a lista de todos os CET, sendo possível editar um CET ou, clicando no

botão laranja “*Novo”, introduzir os dados de um novo CET no painel que surge.

No separador “Geral”, escolhe-se o nome do CET que se pretende criar, selecionando um

item da caixa de combinação “CET”. Esta caixa está carregada com a lista de nomes de CET

já existentes. Se for pretendido um nome novo, basta clicar no botão “*novo” e preencher o

pop-up. Quer seja novo ou não, a caixa “Edição” é preenchida automaticamente pela

aplicação.

Ao escolher o nome, no caso de já existir um CET com o mesmo nome que tenha sido criado

anteriormente, surge um pop-up onde se pode “aproveitar” os dados desse CET (por exemplo,

os módulos).

Escolhe-se então o coordenador da aplicação, selecionando um dos nomes existentes na caixa

de combinação “Coordenador”, que está carregada com os nomes de utilizadores da

aplicação (exceto utilizadores do tipo “aluno”).

Se o utilizador clicar em “Ok”, o CET é criado.

Excluindo a atribuição dos responsáveis de componente, (que poderá ser feita pelo

coordenador), a partir desta fase a gestão de todo o CET poderá ser feita pelo coordenador ou

pelos responsáveis de componente.

No separador “Calendário” define-se a calendarização do CET, desde a fase de candidaturas

até à fase dos estágios.

Page 41: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

41

No separador “Módulos”, são escolhidos as unidades de formação do CET. Estes itens

poderão já estar pré-preenchidos, no caso de se ter optado por utilizar dados de um CET

anterior no momento da criação do curso.

Clicando no botão “+”, abre-se o painel da unidade de formação. Pode escolher-se um nome

de um módulo, selecionando um dos elementos da caixa de combinação “Módulo”. No caso

de se pretender atribuir um módulo cujo nome ainda não exista, deve clicar-se no botão à

direita da caixa (“*base”). No pop-up, deve preencher-se o nome e o diminutivo pretendido e

clicar em “ok”.

A atribuição da “Área de competência” é executada de forma similar à atribuição do nome do

módulo (se não existir na caixa, deve clicar-se no botão “A.C” e preencher o pop-up).

De seguida, clicando em “Inserir” conclui-se a associação da unidade de formação ao CET.

Nesta fase, é mostrada a janela com a listagem de unidades de formação, na qual é possível

repetir o processo anterior para criar uma nova, ou editar uma já existente.

Só depois da unidade de formação criada é que é possível associar-lhe os formadores e

respetivo responsável.

Editando uma unidade de formação, surge uma janela de edição, já com as opções de

atribuição de formadores e responsável ativas.

Para atribuir formadores, deve clicar-se no botão laranja “*” e escolher um utilizador da lista

apresentada. Ao fazer esta escolha, o sistema adiciona a regra “formador” ao utilizador, se

ainda não a tiver.

Ao clicar em “Ok” no pop-up apresentado, o utilizador escolhido é afeto a essa unidade de

formação.

Só depois de pelo menos um formador estar associado é que é possível atribuir o responsável,

pois a caixa “Responsável” é carregada com os formadores afetos à unidade de formação.

Clicando em “Guardar” são guardadas as alterações.

Page 42: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

42

Na imagem seguinte estão representadas as opções que cada tipo de utilizador tem ao

criar/editar um CET

Figura 9: Permissões por utilizador

Caso 2: Inserir horários

Só é permitido inserir horários relativos a um CET, se já estiverem definidas as datas de início

e fim do período letivo, o horário em que vão decorrer as aulas e se a data atual for inferior à

data de fim do período de aulas.

Esta operação pode ser executada pelo administrador, pelo coordenador e pelos responsáveis

de componente.

(Menu principal) Gestão->(submenu) Horários

Escolhendo o curso da lista de cursos disponíveis, a caixa de combinação no topo é carregada

com as datas dos horários existentes para esse CET. Se ainda não houver horários para esse

curso, a caixa de combinação é carregada com a data de início e fim das aulas do CET.

administrador

• Criar novo CET • Atribuir coordenador

coordenador

• Atribuir responsáveis de componente

responsável:

• Dados gerais do CET • Calendarização • Inserir/editar módulos • Inserir/editar formadores

Page 43: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

43

Carregando em “Editar”, surge um pop-up com as datas de início e de fim preenchidas de

acordo com o selecionado inicialmente, que podem ser alteradas, garantindo o sistema que

não se alteram horários de datas passadas.

Clicando em “Ok” os botões da tabela desbloqueiam, ficando esta disponível para edição. A

tabela é construída com base no período em que vão ocorrer as aulas (por exemplo: das 16:00

às 23:00).

Carregando no botão verde correspondente ao dia da semana e hora de início pretendidos,

surge um pop-up com os elementos de escolha em caixas de combinação:

• Módulo: caixa carregada com os módulos do CET;

• Formador: caixa carregada com os formadores do módulo escolhido;

• Hora início: depende da linha que está a ser editada. Por exemplo, se foi escolhida a

linha das 18:00, a caixa é preenchida com 18:00 e 18:30.

• Hora fim: depende da hora de início. O valor mínimo é uma hora a mais do que a hora

de início, indo os restantes valores até um máximo de 4 horas, mediante intervalos de

30 minutos.

• Sala: lista de salas existentes. No caso de não existir a sala pretendida, o utilizador

pode acrescentar uma clicando no botão laranja “*”.

Depois de escolhidos os elementos, confirma-se a operação clicando em “Ok”.

Ao fazer alterações nos horários, o sistema vai criando e eliminando aulas, mantendo-se

sempre o registo das aulas previstas para os horários indicados. Estas aulas são geradas com

base no horário introduzido, as interrupções previstas e a duração da unidade de formação em

horas. Por exemplo, se uma unidade de formação com um total de 60 horas for colocada num

horário que tem a validade de 6 meses, mas se nesses 6 meses o total de horas

(correspondentes ao horário) for 100 horas, só são criadas aulas até às 60 horas.

Page 44: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

44

Na imagem abaixo ilustra-se a janela de gestão de horários.

Figura 10: Gestão de Horários

Caso 3: inserir um sumário com marcação e justificação de faltas:

Esta é uma ação exclusiva do formador de cada aula, apesar de todos os envolvidos nesse

CET poderem visualizar a totalidade da informação relativa às aulas.

(Menu principal) Sumários

Esta janela tem 2 submenus. O submenu “Todos” dá acesso a todos os cursos e, nessa

sequência, a todas as aulas. O submenu “Meus Sumários” mostra apenas os cursos a que o

utilizador está afeto (e módulos desse utilizador, onde ele pode editar as suas aulas). O

submenu “Meus Sumários” pode assim ser visto como um filtro para aceder apenas às aulas

que o utilizador pode editar.

Ambas as opções permitem filtrar as aulas sob vários critérios para mais facilmente chegar à

opção pretendida:

• Módulo: caixa de combinação que contém todas as unidades de formação pertencentes

ao CET selecionado.

• Seleção: caixa de combinação que permite escolher por períodos temporais (Hoje,

Antigos, Todos e Restantes)

• Formador: caixa de combinação que permite filtrar por formador.

Page 45: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

45

Estes filtros são cumulativos. No entanto, se selecionar “Meus Sumários”, o filtro

“Módulos” apenas será carregado com módulos do utilizador, ficando o filtro “Formador”

bloqueado com o nome do utilizador.

Ao clicar no editar da aula pretendida, surge a folha de sumário que contém também a

listagem de alunos para registo de faltas. Para inserir as faltas, existe uma tabela com os

alunos e o número de colunas correspondentes à duração da aula. Existem ainda mais duas

colunas no final da tabela para assinalar se o aluno faltou à aula toda e se a falta é justificada

ou não.

Para uma aula ser considerada sumariada, o utilizador tem obrigatoriamente de escrever algo

no sumário. Quando clicar em “Ok”, esta aula é atualizada e são adicionados os registos das

faltas que sejam marcadas.

Na imagem abaixo, coloca-se um exemplo da janela de preenchimento de sumário:

Figura 11 - Preenchimento de sumário

Page 46: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

46

8 Melhoramentos futuros

Embora a aplicação desenvolvida seja ainda uma versão inicial, apresenta desde já um grande

potencial como ferramenta para gestão dos Cursos de especialização tecnológica.

Existem diversas funcionalidades que poderão ser implementadas para melhorar globalmente

a aplicação.

Uma dessas funcionalidades a implementar, e que seria uma mais valia para a aplicação, seria

a importação dos dados dos alunos já seriados directamente dos ficheiros provenientes da

secretaria. Com esta funcionalidade os dados dos alunos são inseridos de forma automática,

reduzindo assim o tempo de carregamento dos dados dos alunos, além de que existe também

uma enorme diminuição da possibilidade de erros no carregamento desses mesmos dados.

Por forma a melhorar a interação formando - formador, deveria existir a possibilidade dos

formandos poderem enviar e-mails directamente da plataforma para os formadores dos

respectivos módulos. O formador também deveria ter possibilidade de enviar mensagens para

todos os formandos de um determinado modulo ou para um formando específico.

A dificuldade que muitos formadores têm em associar os nomes dos formandos a pessoa

poderia ser colmatada com inserção da possibilidade da aplicação permitir a inclusão da foto

de cada formando. Desta forma formadores conseguiriam reconhecer mais facilmente os seus

formandos.

Para uma mais fácil avaliação do estado de cada um dos cursos por parte dos coordenadores e

responsáveis de componente, deveria existir um módulo de estatística que lhes permitisse

consultar em qualquer momento os mais diversos dados estatísticos. Como exemplo, os dados

estáticos a retirar da aplicação poderiam ser: percentagem de aprovações por curso,

percentagem de faltas, médias finais para os diferentes cursos, evolução das notas nas várias

edições de cada CET.

Page 47: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

47

9 Conclusões

Este projecto, devido a sua complexidade, mostrou aos autores uma realidade diferente da

sentida durante o percurso académico, onde a complexidade dos trabalhos é menor. Surgiram

algumas dificuldades que serão normais nesta fase, tais como: Gestão de versões,

cumprimento de prazos, divisão de tarefas. Também foram sentidas algumas dificuldades

iniciais em parte das ferramentas utilizadas, mas considera-se que a utilização destas

ferramentas, que não fazem parte do plano de estudos do curso enriquecerá percurso

profissional futuro dos autores.

Este trabalho implicou o desenvolvimento de uma aplicação, desde a fase de levantamento e

análise de requisitos até a sua implementação. Ficou claro que um bom planeamento inicial e

um levantamento de requisitos o mais detalhado possível é essencial para o correcto

desenvolvimento de aplicações.

Ao desenvolver esta aplicação, foi fulcral a realização de uma implementação o mais modular

possível, para que a mesma seja mais facilmente mantida ou melhorada futuramente sem a

necessidade de refazer grande parte do código. Relativamente à escolha das tecnologias web

utilizadas, nomeadamente a framework ASP.NET, considera-se uma decisão correcta porque

permitiu um desenvolvimento célere e eficaz da aplicação.

Foi dada uma especial atenção à interface gráfica da aplicação, por forma a tornar a sua

utilização o mais amigável possível. Considera-se que ficou com um aspecto simples,

moderno e eficiente, faltando todavia alguns pormenores, tais como avisos visuais aos

utilizadores nas tarefas mais demoradas, compatibilização com os diversos browsers do

mercado e ajustes da aplicação a diferentes resoluções de ecrãs.

Nem todos os requisitos iniciais foram cumpridos, mas foi definido como meta implementar

as funcionalidades essenciais para a aplicação poder ser utilizada. Por outro lado, algumas

mudanças foram surgindo ao longo do período de desenvolvimento do projeto, o que levou a

que fossem idealizadas e implementadas soluções não previstas inicialmente. Como em todos

os trabalhos de desenvolvimento, estas aplicações são tarefas inacabadas e abertas a melhorias

e adaptações às necessidades emergentes.

Page 48: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

48

Page 49: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

49

Referências

Bilal Haidar (2008). Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB. Wrox.

Julia Lerman (2009). Programming Entity Framework Building Data Centric Apps with the ADO.NET Entity Framework. O’Reilly.

Decreto Lei nº 99/2006 de 23 de Maio. Diário da República I Série A.

Microsoft: Building Secure ASP.NET Applications - Authentication, Authorization, and Secure

Communication

http://www.microsoft.com/en-us/download/details.aspx?id=19032

(Verificado a Outubro de 2011)

Microsoft: Asp.Net Web Page – Entity Framework Tutorials

http://www.asp.net/web-forms/tutorials/getting-started-with-ef

http://www.asp.net/web-forms/tutorials/continuing-with-ef

(Verificado a Outubro de 2011)

Modelo de layout do site

http://www.netdreams.co.uk/index.php/blog/2010/02/18/free-admin-skin-available-for-download/

(Verificado a Maio de 2011)

Exemplos vários de código

http://www.codeproject.com

(Verificado regularmente)

Razões para usar o linq

http://www.linhadecodigo.com.br/artigo/2321/dez-razoes-para-adotar-o-linq-nas-aplicacoes-net.aspx

(Verificado a Junho de 2011)

Microsoft: 101 LINQ Samples

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

(Verificado a Junho de 2011)

Css para AJAX Calendar Extender

http://www.aspdotnet-suresh.com/2010/07/customized-css-styles-for-ajax-calendar.html

(Verificado a Maio de 2011)

Mudar CSS em runtime

http://stackoverflow.com/questions/628115/dynamically-changing-css-style-in-c

(Verificado a Junho de 2011)

Css para ajax TabContainer

http://www.ezineasp.net/post/ASP-Net-AJAX-Tab-Extender-CSS-Class-Styles.aspx

(Verificado a Junho de 2011)

Menus com submenus

http://www.videoaulasbrasil.com.br/tableless/criando-menu-com-submenu-na-horizontal-css-parte-1/

(Verificado a Junho de 2011)

Directrizes de layout HTML

http://msdn.microsoft.com/pt-br/library/95xdeeha(v=vs.90).aspx

(Verificado a Junho de 2011)

Page 50: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

50

Vídeos vários sobre asp.net

http://www.asp.net/web-forms/videos

(Verificado regularmente)

Adicionar handler a controlos criados dinamicamente

http://forums.asp.net/t/1286956.aspx/1

(Verificado a Abril de 2012)

Adicionar linhas e colunas dinamicamente

http://msdn.microsoft.com/en-us/library/7bewx260.aspx

(Verificado a Abril de 2012)

Posicionar rodapé

http://maujor.com/tutorial/rodape-embaixo-da-janela.php

(Verificado a Junho de 2011)

Gerar CSS para menus

www.cssmenubuilder.com

(Verificado a Junho de 2011)

Page 51: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

51

Anexo A

Modelo E-R

Page 52: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

52

Anexo B

Modelo Físico

Page 53: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

53

Anexo C

Resumo Requisitos

Page 54: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

54

Neste anexo estão descritas, através de um conjunto de tabelas, para cada um dos grupos de

funcionalidades, as funcionalidades específicas identificadas em cada um dos grupos e, entre

estas, as que foram implementadas neste projecto.

Gestão de Formandos Implementação

Inserir novos formandos �

Inscrever formandos nas unidades de formação �

Escolher as unidades de formação em que os formandos são inscritos

Listar formandos por CET �

Editar dados do formando �

Visualizar a assiduidade nas unidades de formação �

Visualizar notas dos formandos �

Visualizar estado do formando relativamente ao CET �

Permitir que o formando consulte informação do seu interesse

Gestão de Utilizadores Implementação

Criar utilizadores �

Listar utilizadores �

Bloquear/desbloquear utilizadores �

Atribuir/alterar o nome de autenticação (login) a um utilizador.

Definir o tipo de utilizador �

Gestão de CET Implementado

Criar novo CET �

Atribuir a calendarização dos CET �

Inserir interrupções previstas ou ocasionais aos CET

Atribuir o coordenador e os diversos responsáveis de área de formação a cada um dos CET

Atribuir formadores às unidades de formação �

Alterar os dados dos CET �

Alterar formadores afetos às unidades de formação �

Listar formandos existentes nos CET �

Listar unidades de formação (com horas previstas e já lecionadas)

Listar formadores por CET com horas previstas e lecionadas.

Page 55: Saga report V0-10 -Professor - files.isec.ptfiles.isec.pt/DOCUMENTOS/SERVICOS/BIBLIO/Trabalhos de alunos e... · Departamento de Engenharia e de Sistemas do Instituto Superior de

55

Gestão de Aulas Implementação

Gerar folha de sumário com um conjunto de elementos pré-preenchidos

Escrever o sumário �

Registar e justificar faltas dos formandos �

Mostrar o total de horas já lecionadas na unidade de formação

Listar aulas utilizando vários critérios �

Gestão de Horários Implementação

Inserir horários �

Editar horários �

Definir em que intervalo de datas os horários estão em vigor

Gerar as aulas previstas a partir dos horários inseridos �

Visualizar os horários �

Gestão de Estágios Implementação

Registar as informações das empresas de acolhimento

Criar estágios

Afetar formandos aos estágios

Listar estágios utilizando vários critérios

Gestão das Avaliações Implementação

Inserir as avaliações formativa e sumativa dos formandos.

Aprovar/reprovar formandos as unidades de formação. �

Visualizar as avaliações dos formandos por unidade de formação.

Produção de Relatórios em PDF Implementação

Listagem de utilizadores. �