• Nenhum resultado encontrado

Sistema de Apoio aos Delegados

N/A
N/A
Protected

Academic year: 2021

Share "Sistema de Apoio aos Delegados"

Copied!
96
0
0

Texto

(1)

Sistema de Apoio aos Delegados

Plataforma de Question ´arios sobre Durac¸ ˜ao dos Elementos de Avaliac¸ ˜ao

Filipe Rafael Soares

Dissertac¸ ˜ao para obtenc¸ ˜ao do Grau de Mestre em

Engenharia Inform ´atica e de Computadores

Orientadores: Prof. Jo ˜ao Carlos Serrenho Dias Pereira

Prof. Nuno Jo ˜ao Neves Mamede

J ´

uri

Presidente: Prof. Rui Filipe Fernandes Prada

Orientador: Prof. Jo ˜ao Carlos Serrenho Dias Pereira

Vogal: Prof. Lu´ıs Jorge Br ´as Monteiro Guerra e Silva

(2)
(3)

Agradecimentos

Nesta sec¸ ˜ao quero agradecer `as pessoas que, n ˜ao s ´o me apoiaram na concec¸ ˜ao desta tese, como tamb ´em tornaram poss´ıvel toda a minha experi ˆencia acad ´emica e me apoiaram ao longo destes anos, ajudando-me a ser a pessoa que sou hoje e a atingir v ´arios marcos importantes na minha vida.

Ao professor Nuno Mamede e ao professor Jo ˜ao Pereira, por terem acreditado na import ˆancia desta tese e pela sua disponibilidade e paci ˆencia ao longo da realizac¸ ˜ao da mesma, como tamb ´em pelo seu apoio ao longo da fase de projeto.

Ao meu colega Jorge Sim ˜ao Goulart, pela sua disponibilidade para me esclarecer e explicar aspetos t ´ecnicos relacionados com a framework inicial, mas acima de tudo, explicar-me como uma plataforma ´e concebida. Ao meu amigo R ´uben Filipe Martins Marques, pelo incentivo pela mudanc¸a de ferramenta, apoio e motivac¸ ˜ao para o t ´ermino desta tese.

`

A Direc¸ ˜ao-Geral do Ensino Superior (DGES), por ao longo destes anos ter-me apoiado economi-camente, permitindo-me n ˜ao s ´o concluir os meus estudos, como tamb ´em a suportar o meu agregado familiar. Gostava ainda de salientar o grande apoio prestado pela Dr.ª Cec´ılia Almeida, que sempre que surgiram problemas, foi bastante paciente e atenciosa, acreditando na minha pessoa e valorizando o meu esforc¸o dada as circunst ˆancias.

`

A minha fam´ılia materna, que ao longo da minha vida apoiou-me e guiou-me pelas mais diversas adversidades, incentivando-me a ir mais longe todos dias e ser sempre melhor pessoa. Um obrigado mais especial `a minha m ˜ae pela sua dedicac¸ ˜ao para garantir que um dia eu fosse algu ´em, mas que acima de tudo fosse um homem com bons princ´ıpios e educado, pelo seu esforc¸o para garantir que tivesse as melhores condic¸ ˜oes para estudar dentro dos seus poss´ıveis. Por ´ultimo um obrigado especial ao meu tio Francisco Soares, pelo seu apoio e sugest ˜oes.

Aos meus colegas do IST, que ao longo da minha vida acad ´emica, apoiaram-me e acreditaram em mim para os representar como Delegado e como membro do Conselho Pedag ´ogico, mas tamb ´em confiaram em mim para os apoiar academicamente e pessoalmente, fazendo-me ser uma pessoa mais respons ´avel, observadora, atenta e sens´ıvel para diversos aspetos acad ´emicos e da vida.

Ao IST por ter uma organizac¸ ˜ao que permite a alunos envolverem-se em decis ˜oes da instituic¸ ˜ao, oferecendo aos alunos a oportunidade de expandir o conhecimento noutras ´areas e criarem h ´abitos e cuidados profissionais.

(4)
(5)

Abstract

Fenix is the information management system - at Instituto Superior Tecnico (IST) - that process the infor-mation regarding the University degrees. It collects inforinfor-mation about courses being studied , students and the teachers. Within this system, the element ‘course’ is represented by the object curricular unit that is subsequently compose by three domains: evaluation, students and teachers. The organisation of the academic year requires that the number of hours associated with the evaluation of the different curricular units does not to exceed a certain limit. The Fenix does not have any tools to question about the number of hours used by the different elements. This requires the use of external mechanisms like google forms that allow to question and therefore get student feedback about overload, positive aspects or anything that needs to be improved regarding evaluation element’s and or course. The identification of this gap about data collection with a specific criterion led to the development of this dissertation. Its goal is the development of a platform able to question students about the duration of the courses eva-luation elements. In order to make easy to expand, the platform was build on a modular fashion, using the Django e FenixEdu Application Program Interface (API) for the backend; bootstrap e jinja for the frontend. The platform was subsequently put to user tests which lead to the conclusion that it was fit for purpose and is overall user friendly apart of certain aspects at its onset. This platform is operational and running since November 2019

Keywords

Questionnaire; Evaluation Elements; Curricular Unit; European Credit Transfer System (ECTS); Soft-ware Engineering; Full stack development

(6)
(7)

Resumo

O sistema de informac¸ ˜ao do Instituto Superior Tecnico (IST) – Fenix – ´e respons ´avel pela gest ˜ao dos dados relativos aos cursos, disciplinas, docentes e alunos. Neste, a entidade disciplina ´e representada pelo objeto Unidade Curricular (UC), sendo este composto por tr ˆes objetos: elementos de avaliac¸ ˜ao, alunos e docentes. Um elemento de avaliac¸ ˜ao tem um tipo associado, podendo este ser: testes, exa-mes, projetos, laborat ´orios e exerc´ıcios. Dada a organizac¸ ˜ao de um ano letivo, ´e importante garantir que a carga total associada aos v ´arios elementos de avaliac¸ ˜ao das UCs n ˜ao ultrapassem um certo limite. O Fenix, n ˜ao possui funcionalidades que permitam questionar acerca do tempo dispensado para cada elemento, sendo necess ´ario recorrer a mecanismos externos como google forms, de modo a conce-ber question ´arios para avaliar se houve sobrecarga e que UCs est ˜ao a sobrecarregar mais os alunos.

´

E ainda poss´ıvel recolher informac¸ ˜oes sobre aspetos positivos e a melhorar relativos ao elemento de avaliac¸ ˜ao e/ouUC. Dada a necessidade de recolher a informac¸ ˜ao mencionada, com um conjunto es-pec´ıfico de requisitos, surge esta tese, cujo objetivo ´e o desenvolvimento de uma plataforma capaz de questionar os alunos sobre a durac¸ ˜ao dos elementos de avaliac¸ ˜ao. Esta plataforma foi desenvolvida de forma modular para f ´acil expans ˜ao, recorrendo a Django e FenixEdu Application Program Interface (API) para o backend; bootstrap e jinja para frontend. A plataforma foi colocada `a prova atrav ´es de testes com utilizadores, onde se conclui que esta respondia `as necessidades e que no geral ´e intuitiva, havendo alguns aspetos que n ˜ao s ˜ao intuitivos ao in´ıcio. A plataforma encontra-se operacional desde novembro de 2019.

Palavras Chave

Question ´arios; Elementos de avaliac¸ ˜ao; Unidade Curricular (UC); European Credit Transfer System (ECTS); Engenharia de software; Full stack development

(8)
(9)

Conte ´

udo

1 Introduc¸ ˜ao 1

1.1 Motivac¸ ˜ao . . . 3

1.2 Problema e soluc¸ ˜ao atual . . . 6

1.3 Organizac¸ ˜ao do documento . . . 7

2 Levantamento de Requisitos 9 2.1 Requisitos a cumprir . . . 11

2.1.1 Recolha de Informac¸ ˜ao . . . 11

2.1.2 Gestor de Question ´arios. . . 12

2.1.3 Processamento de Informac¸ ˜ao . . . 15

2.2 Principais desafios . . . 16

2.3 Identificac¸ ˜ao de Utilizadores e suas func¸ ˜oes. . . 17

2.3.1 Gest ˜ao de Utilizadores e Conte ´udo . . . 18

2.3.2 Gest ˜ao de Respostas e Question ´arios . . . 19

3 Trabalho relacionado 23 3.1 Google Forms . . . 25 3.2 Moodle . . . 27 3.3 F ´enix . . . 28 3.4 Resumo . . . 29 4 Implementac¸ ˜ao 31 4.1 Arquitetura do sistema . . . 33

4.1.1 Gest ˜ao de Utilizadores e Conte ´udo . . . 36

4.1.2 Gest ˜ao de Respostas e Question ´arios . . . 37

4.2 Registo WebAPP/CAS . . . 38

4.3 Observac¸ ˜oes . . . 40

5 Validac¸ ˜ao 45 5.1 Requisitos cumpridos . . . 47

(10)

6 Conclus ˜oes 57

6.1 Resumo . . . 59 6.2 Trabalho futuro . . . 60

A Como criar um novo question ´ario? 65

(11)

Lista de Figuras

1.1 Curr´ıculo do 2º ano, 1º semestre da LEIC-T com informac¸ ˜ao da carga de trabalho. . . 4

1.2 Somat ´orio das horas de esforc¸o de todas `as UCs do 3º ano 1º semestre do ano letivo 2017/2018, ao longo do semestre. . . 5

1.3 LEIC-T 1º semestre 2017/2018, tempo previsto pelos docentes face o mencionado pelos alunos e mais informac¸ ˜ao.. . . 6

2.1 Diagrama de casos de Uso referente ao m ´odulo Gest ˜ao de Utilizadores e Conte ´udo. . . . 19

2.2 Diagrama de casos de Uso referente ao m ´odulo Gest ˜ao de Respostas e Question ´arios. . 21

3.1 Resumo visual de respostas no Google forms. . . 26

3.2 Documentac¸ ˜ao/Tutorial de como criar um question ´ario no Moodle. . . 28

4.1 Arquitetura em camadas da plataforma desenvolvida. . . 33

4.2 Vis ˜ao simplificada do UML do problema. . . 41

4.3 Pop up de registo da WebApp. . . 42

4.4 M ´aquina de estados finitos, do objeto ”Quiz”. . . 43

5.1 Numero de cliques por tarefa. . . 54

5.2 Durac¸ ˜ao da realizc¸ ˜ao com sucesso por tarefa. . . 54

5.3 Ecr ˜a da selec¸ ˜ao da UC, para criar um elemento de avaliac¸ ˜ao. . . 55

A.1 Nova classe para a base de dados.. . . 67

A.2 Alterac¸ ˜ao `a classe ”Answer”. . . 67

A.3 Novo formul ´ario para recolha de respostas. . . 68

A.4 Alterac¸ ˜ao `a classe ”ManageQuiz”, ao m ´etodo ”build information” . . . 68

A.5 Alterac¸ ˜ao `a classe ”ManageQuiz”, ao m ´etodo ”build information” . . . 68

A.6 Alterac¸ ˜ao `a classe ”ManageQuiz”, ao m ´etodo ”build information” . . . 69

(12)

B.1 Google Form primeira p ´agina do inqu ´erito atual. . . 72

B.2 Google Form segunda p ´agina do inqu ´erito atual (caso postivo). . . 73

B.3 Google Form primeira p ´agina do inqu ´erito atual (caso negativo). . . 74

B.4 Google Form terceira p ´agina do inqu ´erito atual. . . 75

B.5 Google Form quarta p ´agina do inqu ´erito atual. . . 76

(13)

Lista de Tabelas

3.1 Resumo das opc¸ ˜oes fase alguns requisitos mais relevantes. 0 – N ˜ao garante; 1 – Garante

mal; 2 – Garante bem; 3 – Garante muito bem . . . 29

5.1 Estado dos requisitos do grupo ”Recolha de Informac¸ ˜ao”. . . 48

5.2 Estado dos requisitos do grupo ”Gestor de Question ´arios”(Parte 1 de 3).. . . 49

5.3 Estado dos requisitos do grupo ”Gestor de Question ´arios”(Parte 2 de 3).. . . 50

5.4 Estado dos requisitos do grupo ”Gestor de Question ´arios”(Parte 3 de 3).. . . 51

5.5 Estado dos requisitos do grupo ”Processamento de Informac¸ ˜ao”. . . 52

5.6 An ´alise dos resultados obtidos aos testes de utilizadores (n ´umero de cliques esperado diz respeito ao n ´umero de cliques m´ınimos para completar a tarefa). . . 53

(14)
(15)

Listagens

(16)
(17)

Acr ´

onimos

UC Unidade Curricular

ECTS European Credit Transfer System

LEIC-T Licenciatura em Engenharia Inform ´atica e de Computadores - Taguspark

DGES Direc¸ ˜ao-Geral do Ensino Superior

UML Unified Modeling Language

API Application Program Interface

(18)
(19)

1

Introduc¸ ˜ao

Conte ´

udo

1.1 Motivac¸ ˜ao. . . . 3

1.2 Problema e soluc¸ ˜ao atual. . . . 6

(20)
(21)

Qual a diferenc¸a entre question ´ario1e inqu ´erito2? Do ponto vista lingu´ıstico, um question ´ario consiste numa s ´erie de perguntas acerca de um tema, que permite questionar um grupo de indiv´ıduos e entender a opini ˜ao destes com base nas respostas dadas. Das respostas obtidas, ´e poss´ıvel ter um parecer por cada pergunta, que em suma contribuem para um parecer geral acerca do foco do question ´ario. Enquanto que um inqu ´erito ´e por norma associado `a investigac¸ ˜ao cujo objetivo consiste em averiguar determinados factos. Martyn Denscombe refere no seu livro [1, p. 166], que existem diversos tipos de question ´arios, no entanto, um question ´ario de ˆambito de pesquisa, deve seguir os seguintes tr ˆes crit ´erios:

1. Deve ser concebido de modo a recolher informac¸ ˜ao que pode ser usada para uma an ´alise; 2. Deve consistir numa lista de perguntas escritas, sendo ocasional a utilizac¸ ˜ao de figuras; 3. Deve recolher informac¸ ˜ao perguntando diretamente sobe os aspetos alvo.

Do que depende o sucesso de um question ´ario? De acordo com Martyn Denscombe [1, p. 167], o sucesso de um question ´ario est ´a dependente de tr ˆes aspetos, sendo o assegurar destes, essencial para que os resultados do question ´ario sejam completos e v ´alidos. Os aspetos s ˜ao:

1. R ´acio de respostas - quantas repostas foram obtidas;

2. R ´acio de respostas completas - quantas perguntas foram respondidas face o total; 3. Validade das respostas - Qu ˜ao honestas ou precisas s ˜ao as respostas.

1.1

Motivac¸ ˜ao

O Instituto Superior Tecnico (IST) tem como miss ˜ao contribuir para o desenvolvimento da sociedade, tra-balhando para atingir essa miss ˜ao atrav ´es de diversas ´areas acad ´emicas, como por exemplo investigac¸ ˜ao, p ´os-graduac¸ ˜ao, desenvolvimento e inovac¸ ˜ao. Contribui ainda promovendo um ensino superior ao n´ıvel dos mais elevados padr ˜oes internacionais.

NoIST, o ensino prestado diz respeito `as ´areas da Arquitetura, Engenharia e Ci ˆencias e Tecnologia, estando diversos Cursos assegurados nas respetivas ´areas cient´ıficas. Cada Curso ´e composto por um conjunto de Unidades Curriculares (UCs), respons ´aveis por lecionar um determinado conte ´udo e assegurar que os alunos inscritos na mesma, adquiriram um determinado n´ıvel de conhecimento, atrav ´es de elementos de avaliac¸ ˜ao que podem ser de caracter pr ´atico, como laborat ´orios e projetos, e/ou te ´orico, atrav ´es de exames ou testes.

1https://dicionario.priberam.org/questionario 2https://dicionario.priberam.org/inquerito

(22)

A umaUC ´e associada uma carga de trabalho, cujo somat ´orio de todas UCs de um Curso resulta na carga de trabalho esperada no Curso. Atualmente, a carga de trabalho ´e medida pela European Credit Transfer System (ECTS), sendo esta m ´etrica complexa e subjetiva na comunidade acad ´emica. Esta unidade de medida contabiliza a frequ ˆencia da UC, realizac¸ ˜ao de trabalhos pr ´aticos, projetos e est ´agios, bem como o tempo de estudo e de avaliac¸ ˜ao.

NoIST, 1ECTS ´e equivalente a 28 horas de trabalho3e, no geral, a durac¸ ˜ao dos ciclos de estudo ´e

definida em torno desta m ´etrica, sendo por exemplo o 1º ciclo necess ´ario 180ECTS(28 horas × 180 ECTS= 5040 horas). No entanto, o valor de horas de trabalho pode variar de faculdade para faculdade, havendo opini ˜oes distintas entre docentes, gerando desentendimento e subjetividade na avaliac¸ ˜ao de sobrecarga de trabalho, pois este valor pode variar entre 25 e 28 horas.

A Figura1.1corresponde ao 2º ano, 1º Semestre da Licenciatura em Engenharia Inform ´atica e de Computadores - Taguspark (LEIC-T). Tome-se por exemplo, aUCde Programac¸ ˜ao com Objectos para demonstrac¸ ˜ao do c ´alculo deECTS.

Figura 1.1: Curr´ıculo do 2º ano, 1º semestre da LEIC-T com informac¸ ˜ao da carga de trabalho.

Como observ ´avel na Figura 1.1, `a UC mencionada espera-se que tenha uma carga de trabalho correspondente a 6.0 cr ´editos - outra designac¸ ˜ao paraECTS- sendo de esperar, com base nos c ´alculos anteriores, uma carga total (T) de 168 horas. Nesta mesma figura observa-se que existe uma divis ˜ao desta carga total, em carga hor ´aria de contacto (C) e trabalho aut ´onomo (TA). Assim sendo, um aluno tem de dispensar 63 horas para C (correspondendo `as aulas te ´oricas e pr ´aticas) e 105 horas para TA (tempo dedicado para pesquisa, estudo, elaborac¸ ˜ao individual ou coletiva de trabalhos, etc.), sendo esta ´ultima considerada excessiva, quando o trabalho exigido pelos docentes numaUC, faz com que

(23)

um aluno tenha de dispensar mais que 105 horas.

A carga de trabalho aut ´onomo, resulta de uma estimativa dada pelo corpo de docentes (o res-pons ´avel daUC), com base no que espera lecionar e avaliar no semestre em que se encontra. Esta estimativa pode conter alguma subjetividade, que quando errada por ser em excesso, pode colocar a UCou outras que se encontram em simult ˆaneo, em risco, proporcionando um excesso de trabalho coletivo, devido ao acumular de trabalho distribu´ıdo pelas restantes UCs do semestre. Observe-se a Figura1.2que mostra o esforc¸o previsto de trabalho por semana, dito pelos regentes, para o 3º ano - 1º semestre, onde a linha tracejada vermelha corresponde a 40 horas. Segundo o sistema de educac¸ ˜ao portugu ˆes, n ˜ao deveria de haver momentos superiores a este tracejado, algo que na imagem acontece durante v ´arias semanas.

Figura 1.2: Somat ´orio das horas de esforc¸o de todas `as UCs do 3º ano 1º semestre do ano letivo 2017/2018, ao

longo do semestre.

Que raz ˜oes podem levar a umaUCa acusar excesso de trabalho? Para al ´em de um planeamento incorreto daUC, o desleixo/desorganizac¸ ˜ao dos alunos tem tamb ´em um peso neste aspeto. Por vezes estes deixam o estudo para o projeto e o desenvolvimento do mesmo para a ´ultima da hora, no qual, em conjunto com as Leis de Murphy, faz com que estes sintam que foi tudo muito em cima ou pouco tempo. No entanto, mesmo com o referido, a maioria dos alunos acaba por referir um tempo perto daquele que os docentes previam (a Figura1.3confirma o mencionado).

Assim sendo, de forma a tentar prevenir problemas de excesso de trabalho, isto ´e, evitar mais semanas acima das 40 horas, ´e necess ´ario criar um mecanismo que permita validar o esforc¸o dos elementos de avaliac¸ ˜ao. Com esse intuito os delegados daLEIC-T, criaram como soluc¸ ˜ao question ´arios manualmente geridos.

Como ´e poss´ıvel concluir, a recolha da informac¸ ˜ao acerca da percec¸ ˜ao dos alunos face `a complexi-dade dos elementos de avaliac¸ ˜ao, ´e um aspeto crucial para garantir que o n ´umero deECTSsentidos naUC, semestre e curso, s ˜ao justos e equilibrados e assim assegurar um ano letivo sem sobrecarga de trabalho.

(24)

Figura 1.3: LEIC-T 1º semestre 2017/2018, tempo previsto pelos docentes face o mencionado pelos alunos e mais

informac¸ ˜ao.

1.2

Problema e soluc¸ ˜ao atual

De momento o procedimento para recolha da informac¸ ˜ao sobre a carga associada a cada projeto ´e ma-nual, e os question ´arios s ˜ao concebidos recorrendo ao Google Forms, sendo os resultados registados numa folha de Excel. Estes ficam na Google Drive de um dos delegados (por norma no de ciclo/curso), organizados numa hierarquia de pastas estruturada/dividida pelo ano e semestre4.

De seguida, o delegado tem a responsabilidade de, no fim de cada entrega, redigir um email sen-sibilizando os colegas para a import ˆancia dos question ´arios, colocando neste email um short link do Google Form a preencher.

Quando o n ´umero de respostas se encontra estabilizado, o delegado respons ´avel pelo question ´ario extrai o Excel da Google Drive e trabalha-o localmente. Caso este n ´umero seja baixo, o delegado volta a enviar para todos os alunos da disciplina um email semelhante ao anterior, de modo a tentar

(25)

incentivar o preenchimento. De seguida, verifica se existem IST-ID inv ´alidos, duplicados (mantendo o mais recente), se os questionados est ˜ao realmente inscritos e filtram repostas indevidas (como por exemplo com linguagem impr ´opria), havendo uma an ´alise exaustiva de todas respostas. Ap ´os esta filtragem procede-se a uma an ´alise simples, vendo o tempo m ´aximo, m´ınimo e m ´edia.

Dada a filtragem e a anonimizac¸ ˜ao da informac¸ ˜ao recolhida, os dados s ˜ao enviados para o coorde-nador (e, por vezes, aos regentes), que ir ´a realizar a sua an ´alise e, posteriormente, a apresentar ´a no relat ´orio de fecho do semestre.

Conclui-se que, ao longo deste processo, existem os seguintes problemas:

• O tempo despendido para a construc¸ ˜ao de question ´arios para cada elemento de avaliac¸ ˜ao e o seu envio;

• A gest ˜ao do espac¸o privado da Google Drive usado para fins institucionais, isto ´e, quando o delegado respons ´avel pela pasta abandone o cargo, tem de passar a pasta para outro delegado e este partilha-la com futuros delegados;

• O n ´umero de respostas ser baixo - n ˜ao haver mecanismos autom ´aticos de lembranc¸a para o preenchimento ou de reenvio exclusivo para os que n ˜ao preencheram;

• N ˜ao haver mecanismos de autenticidade, nas respostas dadas.

1.3

Organizac¸ ˜ao do documento

Este documento encontra-se dividido em seis cap´ıtulos, sendo o primeiro relativo `a Introduc¸ ˜ao e os restantes cap´ıtulos e respectivos conte ´udos s ˜ao:

• Capitulo2- Levantamento de requisitos e os desafio que residem em alguns deles;

• Capitulo3- Trabalho relacionado. Uma vis ˜ao do que ´e feito atualmente com o Google Form, uma explicac¸ ˜ao do que a plataforma Moodle ´e capaz e como seria se estivesse inserido no F ´enix. Reflex ˜ao das tr ˆes alternativas apresentadas;

• Capitulo4- A arquitetura da soluc¸ ˜ao. Apresentac¸ ˜ao da soluc¸ ˜ao que melhor responde aos requi-sitos, ap ´os uma reflex ˜ao dos aspectos positivos e negativos das soluc¸ ˜oes abordadas na cap´ıtulo 3;

• Capitulo5- Avaliac¸ ˜ao realizada `a plataforma, referindo as m ´etricas usadas;

• Capitulo 6 - Reflex ˜ao sobre os resultados da avaliac¸ ˜ao feita e uma analise do processo da concec¸ ˜ao da plataforma.

(26)
(27)

2

Levantamento de Requisitos

Conte ´

udo

2.1 Requisitos a cumprir . . . 11

2.2 Principais desafios . . . 16

(28)
(29)

Nesta secc¸ ˜ao ´e exposto o objetivo da plataforma, sendo apresentados os requisitos que a plataforma deve cumprir e o desafio que reside em alguns.

2.1

Requisitos a cumprir

A plataforma implementada tem como objetivo principal questionar os alunos inscritos numaUC, sobre a durac¸ ˜ao dos elementos de avaliac¸ ˜ao da mesma, de modo o mais automatizado poss´ıvel e posterior-mente, deve processar as respostas como ´e adiante explicado. O question ´ario, no caso de avaliac¸ ˜oes de projetos, pode ainda questionar sobre o agrado dos alunos sobre a tem ´atica do mesmo.

Os requisitos levantados para esta plataforma podem ser agrupados em 3 grupos, sendo estes: • Recolha de Informac¸ ˜ao;

• Gestor de Question ´arios; • Processamento de Informac¸ ˜ao.

De seguida s ˜ao apresentados os requisitos levantados, separados pelos respetivos grupos.

2.1.1

Recolha de Informac¸ ˜ao

Estes requisitos referem-se `a informac¸ ˜ao que deve ser recolhida quando ´e preenchido um question ´ario, `a anonimizac¸ ˜ao e `a autenticidade. Os requisitos s ˜ao:

1. A plataforma deve recolher a seguinte informac¸ ˜ao acerca dos questionados, quer de forma au-tom ´atica ou manual:

(a) Tempo investido pelo grupo (manual e obrigat ´orio); (b) Tempo investido individual (manual e obrigat ´orio);

(c) Curso, unidade curricular e n ´umero de inscric¸ ˜oes (preferencialmente autom ´atico e obrigat ´orio); (d) Nota que espera obter no trabalho realizado face o submetido (manual e obrigat ´orio);

(e) Pontos fortes, pontos a melhorar e coment ´arios/sugest ˜oes (manual e opcional).

A recolha dos tempos despendidos pelo aluno e pelo grupo s ˜ao o foco deste projeto. O curso, unidade curricular e n ´umero de inscric¸ ˜oes permite caracterizar melhor os questionados, assim como fazer uma an ´alise mais pormenorizada. A recolha da nota esperada, quando comparada com a nota real, permite perceber a perspetiva dos alunos face ao submetido, sendo poss´ıvel comentar se a unidade curricular tinha os crit ´erios demasiado rigorosos ou se os inquiridos n ˜ao

(30)

tinham consci ˆencia do submetido. Pontos fortes, pontos a melhorar e coment ´arios/sugest ˜oes s ˜ao campos que mais tarde auxiliam o delegado a preencher os QUCs e permitem, tamb ´em, transmitir uma melhor informac¸ ˜ao do que se passa/passou.

2. A plataforma deve assegurar que os questionados s ˜ao estudantes inscritos na unidade curricular foco do question ´ario;

´

E importante assegurar que os alunos que respondem aos question ´arios s ˜ao realmente os alunos que est ˜ao inscritos `a unidade curricular, assim como assegurar que estes respondem no m ´aximo uma vez.

3. A plataforma deve garantir a anonimidade dos questionados:

(a) Na eventualidade de o n ´umero de respostas permitir a identificac¸ ˜ao de um inquirido, as res-postas devem ser agrupadas.

A anonimidade dos quesitonados ´e um aspeto essencial, para a obtenc¸ ˜ao de coment ´arios e feed-back honestos.

4. A plataforma deve assinalar quando o n ´umero de respostas n ˜ao garante representatividade (por exemplo, com a f ´ormula da representatividade aplicada pelo Conselho Pedag ´ogico);

Apesar de n ˜ao ter o n ´umero necess ´ario para representar a unidade curricular, considera-se a informac¸ ˜ao, ainda que pouca, importante e deve ser apresentada, assinalando apenas que n ˜ao tem representatividade.

2.1.2

Gestor de Question ´arios

Estes requisitos dizem respeito `a gest ˜ao dos question ´arios, como por exemplo a gest ˜ao relativa aos estados de um question ´ario ou o envio de notificac¸ ˜ao sobre os mesmos. Os requisitos s ˜ao:

1. Um question ´ario pode estar em um dos tr ˆes seguintes estados:

(31)

(b) Aberto – Estado que permite que os utilizadores respondam; i. Este estado fica ativo quando:

1 No dia da entrega; 2 Na semana da entrega;

3 Um dia estipulado pelo delegado; 4 Manualmente.

(c) Fechado – Os utilizadores ficam impossibilitados de responder. i. Este estado fica ativo quando:

1 Duas semanas ap ´os a abertura; 2 Um dia estipulado pelo delegado; 3 Manualmente.

A passagem de um question ´ario para o estado Aberto ou Fechado s ˜ao dois aspetos bastante importantes, pois atribuem `a plataforma um certo grau de automatizac¸ ˜ao, sem retirar a liberdade ao delegado de gerir o processo de uma forma mais manual.

2. A plataforma deve conter informac¸ ˜ao acerca da data de encerramento de projetos ou laborat ´orios, preferencialmente de forma autom ´atica, mas deve permitir que o delegado possa inserir esta informac¸ ˜ao caso seja necess ´ario. Tamb ´em deve permitir que este introduza informac¸ ˜ao sobre outros poss´ıveis elementos de avaliac¸ ˜ao que devam ser alvo de question ´arios:

(a) No caso de projeto, a data de encerramento corresponde `a data de entrega;

(b) No caso de laborat ´orios, a data de fim corresponde ao fim da semana onde decorreu a avaliac¸ ˜ao;

(c) No caso de outros elementos, a data de fim deve ser uma das poss´ıveis hip ´oteses acima mencionadas.

A obtenc¸ ˜ao ou a introduc¸ ˜ao das datas dos elementos de avaliac¸ ˜ao em que se justifique a execuc¸ ˜ao dos question ´arios, torna o sistema mais automatizado e remove o trabalho que recai sob o dele-gado. A exist ˆencia de uma parte manual neste processo ´e essencial, pois nem todas as unidades curriculares t ˆem as datas no F ´enix (ver secc¸ ˜ao3.3) e nem todos os elementos de avaliac¸ ˜ao t ˆem uma data no F ´enix (laborat ´orios, por exemplo).

(32)

3. A plataforma deve notificar os alunos alvo do question ´ario sobre a exist ˆencia do mesmo quando no estado aberto por preencher:

(a) Envio de um e-mail a informar que o question ´ario de uma dada UC j ´a se encontra acess´ıvel. Este e-mail pode ser modificado pelo delegado, mas deve garantir que o link para o preen-chimento est ´a presente;

(b) Se poss´ıvel, quando iniciada a sess ˜ao no F ´enix, apresentac¸ ˜ao de uma mensagem sobre todos os question ´arios que este utilizador ainda n ˜ao preencheu. Quando n ˜ao houver ques-tion ´arios para preencher, esta mensagem n ˜ao ser ´a apresentada.

Os mecanismos de divulgac¸ ˜ao s ˜ao essenciais e um foco do projeto, pois pretende-se com estes reduzir o n ´umero de abstenc¸ ˜oes e manter uma taxa de respostas constante e alta ao longo do semestre.

4. A plataforma deve permitir ao delegado o reenvio peri ´odico de um e-mail como est´ımulo ao pre-enchimento do question ´ario:

(a) Este reenvio deve-se restringir apenas `as pessoas que ainda n ˜ao o preencheram;

(b) O e-mail pode ser livre ou baseado num formato, mas deve sempre conter o question ´ario.

Relacionado com o t ´opico anterior, pretende-se com o proposto reduzir o n ´umero de abstenc¸ ˜oes de respostas. Existem momentos em que os question ´arios s ˜ao pouco preenchidos, pelo que acredita-se que com algum relembrar do assunto, o n ´umero de respostas seja mais constante ao longo do semestre.

5. A plataforma, quando o estado dos question ´arios ´e aberto, deve mostrar aos utilizadores (delega-dos, alunos ou docentes) apenas o n ´umero de respostas, a data de fecho e quanto tempo resta at ´e `a data de fecho.

Este ponto complementa o anterior, fornecendo ao delegado um dashboard. Deste modo, per-mite aos utilizadores mencionados ter uma noc¸ ˜ao de quantos question ´arios j ´a foram preenchidos, podendo o delegado enviar o email a reforc¸ar o preenchimento, ou ao docente durante as aulas reforc¸ar a import ˆancia do preenchimento dos question ´arios, ou at ´e mesmo os pr ´oprios alunos pe-direm aos restantes que preencham.

(33)

2.1.3

Processamento de Informac¸ ˜ao

Estes requisitos correspondem ao processamento da informac¸ ˜ao que deve ser feita quando conclu´ıda a recolha de respostas, isto ´e, quando o estado do question ´ario passa a fechado. Estes s ˜ao:

1. A plataforma, quando o estado do question ´ario ´e fechado, deve realizar um sum ´ario dos dados, mostrando:

(a) N ´umero de respostas face ao n ´umero de questionados, m´ınimos, m ´aximos, desvio padr ˜ao, m ´edia (total e sem 5% dos extremos).

Permite uma vis ˜ao r ´apida sobre os aspetos recolhidos.

2. A plataforma deve permitir a extrac¸ ˜ao de toda a informac¸ ˜ao recolhida quando o estado do ques-tion ´ario ´e fechado, em formato Excel (.xls)

Cont ´em toda a informac¸ ˜ao recolhida e anonimizada, possibilitando outras an ´alises.

3. A plataforma deve notificar todas as partes e permitir a visualizac¸ ˜ao das respostas quando o estado do question ´ario ´e fechado:

(a) O coordenador deve ter acesso ao resultado de todos os question ´arios realizados no curso que coordena, organizado por ano e semestre;

(b) O regente e os docentes devem ter acesso ao resultado dos question ´arios realizados `as unidades curriculares que lecionam;

(c) O delegado deve ter acesso ao resultado dos question ´arios do ano de que ´e respons ´avel. O delegado de ciclo deve ter acesso a todos os resultados no curso, organizado por ano e semestre;

(d) O estudante deve ter acesso ao resultado dos question ´arios a que respondeu.

A notificac¸ ˜ao do fecho de um question ´ario ´e essencial, pois permite ter uma ideia do sucedido na respetiva entrega e permite ao delegado, regente e coordenador intervirem ainda em tempo de aulas, algo que nem sempre ´e poss´ıvel por ocorr ˆencia de atrasos.

(34)

2.2

Principais desafios

Durante a concec¸ ˜ao da tese n ˜ao s ´o foram confirmados alguns dos desafios mencionados na fase de projeto, como tamb ´em foram identificados outros novos, sendo de seguida todos mencionados. Quando confirmada a impossibilidade de a plataforma estar inserida no F ´enix, alguns dos requisitos anteriores tornaram-se imposs´ıveis de realizar, como por exemplo o requisito3bna secc¸ ˜ao2.1.2.

Quanto aos endpoints1 - pontos de acesso para obtenc¸ ˜ao de informac¸ ˜ao - quando aprofundado

o conhecimento sobre os dados poss´ıveis de se obter, conclui-se que n ˜ao seria poss´ıvel obter-se o n ´umero de inscric¸ ˜oes de forma autom ´atica, tal como desejado na secc¸ ˜ao2.1.1, ponto(c). A informac¸ ˜ao poss´ıvel de obter atrav ´es dos mesmo em relac¸ ˜ao aos elementos de avaliac¸ ˜ao de uma UC, estaria condicionada pela organizac¸ ˜ao dada pelo docente e dependente do elemento de avaliac¸ ˜ao, tornando pouco eficaz a obtenc¸ ˜ao das datas de forma automatizada.

Outro desafio j ´a mencionado durante a fase do projeto, era o de tentar assegurar o n ´umero de respostas ao longo de semestre. Da apresentac¸ ˜ao do projeto, por sugest ˜ao do professor Lu´ıs Guerra e Silva, colocou-se atributos que permitissem atribuir pontuac¸ ˜oes aos alunos de forma a criar uma competic¸ ˜ao pelo n ´umero de inqu ´eritos respondidos. No entanto, esta competic¸ ˜ao teria de ter algum benef´ıcio de forma a atrair os alunos, algo que teria de ser melhor abordado do que foi nesta tese. Relembrando que a proposta anterior era de um pop-up no abrir F ´enix, algo que n ˜ao ´e conceb´ıvel.

Estando a plataforma alojada num site separado do F ´enix, torna o processo de preenchimento dos inqu ´eritos algo menos c ´omodo, como tamb ´em pode amedrontar alguns alunos pelo pop-up de ced ˆencia de informac¸ ˜ao, fazendo com que haja menos respostas/participantes.

Como ser ´a vis´ıvel mais adiante, numa fase inicial da tese, a framework eleita para desenvolver da plataforma seria a BennuFramework. Esta decis ˜ao inicial resultou num desafio de implementac¸ ˜ao elevado, uma vez que existe uma forte falta de documentac¸ ˜ao e suporte. O colega Jorge Goulart, que trabalhou com a ferramenta na sua tese, foi essencial para explicar como ´e que se montava e criava um projeto recorrendo `a framework, no entanto, ´e importante salientar que existiam aspetos na tese do colega que j ´a se encontravam desatualizados e n ˜ao funcionavam, sendo necess ´ario atualiza-los. Se n ˜ao fosse o profundo conhecimento do colega sobre a ferramenta, seria imposs´ıvel trabalhar com esta. Esta framework veio mais tarde a ser substitu´ıda pela Django framework, que envolveu um redesenhar da arquitetura.

Como dito na secc¸ ˜ao anterior, um dos objetivos importantes ´e garantir a autenticidade dos alunos, ou seja, que s ˜ao realmente os alunos inscritos na UC que respondem ao question ´ario. Este aspeto ´e assegurado pelo mecanismo de autenticac¸ ˜ao do IST `as aplicac¸ ˜oes que necessitem de autenticac¸ ˜ao pelo CAS. No entanto n ˜ao existe forma de garantir que apenas alunos que fazem o projeto s ˜ao os que respondem. A colocac¸ ˜ao do campo se est ´a ou n ˜ao a fazer o projeto, pode resultar em alunos que n ˜ao

(35)

queiram responder ao inqu ´erito, a preench ˆe-lo erradamente. Este aspeto ´e um desafio que apenas tem como soluc¸ ˜ao o bom senso por parte dos alunos.

Por ´ultimo, continua a existir o problema do suporte e manutenc¸ ˜ao `a plataforma, pois existe a neces-sidade de atualizar os delegados, coordenadores, docentes e importar os cursos todos os anos letivos .

2.3

Identificac¸ ˜ao de Utilizadores e suas func¸ ˜

oes

Dado o ˆambito do projeto, os objetivos pretendidos, a tecnologia utilizada e os desafios anteriores, a lista de utilizadores e as suas func¸ ˜oes na plataforma ´e a seguinte:

• Administrador – Entidade que assegura a manutenc¸ ˜ao da plataforma, mantendo a informac¸ ˜ao dos cursos, UCs, Coordenadores, Docentes, Delegados e Alunos atualizada;

• Coordenador – Entidade que consegue visualizar o estado e os resultados dos question ´arios do curso que ´e respons ´avel e ainda extrair a informac¸ ˜ao bruta;

• Docente – Consegue visualizar o estado e os resultados dos question ´arios das UCs que ´e res-pons ´avel e ainda extrair a informac¸ ˜ao bruta;

• Aluno – Entidade que, no caso de haver um question ´ario por preencher, o preenche. Caso contr ´ario pode verificar resultados de question ´arios fechados em que tenha participado;

• Delegado – Entidade que ap ´os verificar os dados dos elementos de avaliac¸ ˜ao, prepara os ques-tion ´arios para serem depois enviados aos Alunos. Na eventual necessidade de reforc¸ar o preen-chimento de um dado question ´ario, pode mudar o estado deste (se necess ´ario) e enviar um email aos alunos. Pode ainda encerrar os question ´arios e obter os resultados num ficheiro. Cont ´em tamb ´em as func¸ ˜oes do Aluno.

Com recurso a Diagramas de Caso de Uso, ´e poss´ıvel transmitir de forma mais visual a func¸ ˜ao de cada utilizador em cada um dos m ´odulos que existem na plataforma. Os m ´odulos nesta plataforma s ˜ao:

• Gest ˜ao de Utilizadores e Conte ´udo; • Gest ˜ao de Respostas e Question ´arios.

De seguida, cada subsecc¸ ˜ao, apresenta de forma mais percet´ıvel as funcionalidades disponibiliza-das aos utilizadores em cada um dos m ´odulos mencionados.

(36)

2.3.1

Gest ˜ao de Utilizadores e Conte ´

udo

Este m ´odulo ´e respons ´avel pela gest ˜ao/inserc¸ ˜ao da informac¸ ˜ao relativa aos cursos, UCs, docentes e alunos. ´E respons ´avel pela atribuic¸ ˜ao de um docente a um curso (coordenador de curso), assim como atribuir o cargo de delegado a um aluno (delegado de curso). Como vis´ıvel na Figura2.1, apenas existe um utilizador capaz de manipular esta informac¸ ˜ao que ´e o administrador. Todas as funcionalidades de gest ˜ao s ˜ao compostas por duas funcionalidades, sendo elas adicionar ou modificar, onde modificar tanto pode ser editar ou apagar. De seguida ´e melhor explicado cada um dos casos presente na figura mencionada.

1. Gerir Curso: Introduzindo o ano letivo desejado, acede aos endpoints do F ´enix para carregar

informac¸ ˜ao relativa a qualquer um dos cursos doISTde forma autom ´atica.

2. Gerir Coordenador: O administrador deve ser capaz de atribuir um ou mais coordenadores a

um curso. Ap ´os a inserc¸ ˜ao dos cursos, este pode selecionar os cursos e importar o respetivo coordenador, que se encontrem dispon´ıveis nos endpoints.

3. Gerir UC: Selecionando um curso, o administrador importa todas as UCs que se encontram

acess´ıveis atrav ´es dos endpoints.

4. Gerir Docente: O administrador ´e capaz de ver todos os docentes que se encontram na

plata-forma, assim como atribuir a responsabilidade de outras UCs que n ˜ao tenham vindo dos end-points, ou atribuir um curso como respons ´avel.

5. Gerir Aluno: Permite ao administrador ter uma vis ˜ao de todos os alunos que j ´a acederam `a

plataforma, podendo nesta ´area atribuir o cargo de delegado a um aluno, ou corrigir informac¸ ˜ao que o aluno desejar.

6. Gerir Delegado: O administrador deve ser capaz atribuir e remover o cargo de delegado a um

aluno, sendo esta funcionalidade manual, sem recurso a endpoints, por n ˜ao haver informac¸ ˜ao dos de delegados atrav ´es dos endpoints.

(37)

Figura 2.1: Diagrama de casos de Uso referente ao m ´odulo Gest ˜ao de Utilizadores e Conte ´udo.

2.3.2

Gest ˜ao de Respostas e Question ´arios

Este m ´odulo assegura que cada um dos utilizadores (com excec¸ ˜ao do administrador) ´e capaz de de-sempenhar as func¸ ˜oes mencionadas anteriormente. Este pode ser considerado como o m ´odulo ope-racional de toda plataforma, uma vez que permite a gest ˜ao dos question ´arios, responder aos mesmos, visualizac¸ ˜ao das respostas e mais. Como ´e vis´ıvel na Figura 2.2, neste m ´odulo tem como foco os delegados, alunos, coordenadores e docentes. No entanto, o administrador da plataforma consegue re-alizar algumas das operac¸ ˜oes listadas adiante, como as das operac¸ ˜oes 1, 2 e 4, pois este tem acesso ao dom´ınio da plataforma.

Passando a explicar cada caso:

1. Gerir question ´ario: Esta funcionalidade ´e de acesso exclusivo ao delegado, dando-lhe a

possi-bilidade de criar, modificar/apagar ou reforc¸ar question ´arios, atrav ´es de cada um dos respetivos casos presentes na Figura2.2.

(38)

2. Visualizar resultados dos question ´arios do curso: O delegado consegue ter uma vis ˜ao sobre

todos os question ´arios que se encontram no seu curso, tendo uma vis ˜ao sum ´aria, do estado de cada question ´ario, n ´umero de respostas e ainda uma breve estat´ıstica se poss´ıvel. Caso o estado do question ´ario o permita, este pode ainda extrair os resultados do mesmo.

3. Responder question ´ario: Permite ao aluno responder aos question ´arios que lhe digam respeito,

caso o estado desses o permita.

4. Visualizar resultados dos question ´arios das respectivas UC: Permite ao aluno visualizar os

resultados resumidos caso o estado do question ´ario o permita e caso o tenha preenchido. 5. Gerir inscric¸ ˜ao ao question ´ario: Por norma, todos os alunos quando ligados `a plataforma est ˜ao

inscritos/subscritos a todas as notificac¸ ˜oes das UCs, o que faz com que recebam os emails au-tom ´aticos. No entanto, caso o aluno n ˜ao pretenda ser incomodado por esses emails, pode remo-ver a sua subscric¸ ˜ao, podendo mais tarde voltar a subscreremo-ver.

6. Visualizar resultados dos question ´arios das UC respons ´aveis: Esta funcionalidade tem um

comportamento id ˆentico ao caso 4, mas exclusivamente focada para docentes, uma vez que acrescenta a funcionalidade de extrac¸ ˜ao da informac¸ ˜ao.

7. Visualizar resultados dos question ´arios do respectivo curso: Este caso ´e id ˆentico ao caso 2,

(39)
(40)
(41)

3

Trabalho relacionado

Conte ´

udo

3.1 Google Forms . . . 25 3.2 Moodle . . . 27 3.3 F ´enix . . . 28 3.4 Resumo . . . 29

(42)
(43)

Com o intuito de analisar caracter´ısticas em sistemas/plataformas de question ´arios, procedeu-se a uma pesquisa sobre ferramentas deste g ´enero, tendo-se destacado o Google Forms e o Moodle por poderem ser inseridas num ˆambito institucional. Durante a pesquisa foram encontradas outras ferramentas que n ˜ao ser ˜ao aqui mencionadas, uma vez que ou n ˜ao cumpriam os requisitos desejados, ou tinham um limite di ´ario, havendo custos de utilizac¸ ˜ao.

Neste cap´ıtulo pretende-se ver em que medida cada uma das ferramentas mencionadas cumpre com os requisitos mencionados, referindo por ´ultimo uma vis ˜ao da potencialidade de uma ferramenta que produza o desejado, inserida no F ´enix. Por ´ultimo, s ˜ao apresentados coment ´arios e uma vis ˜ao geral sobre o assunto abordado.

3.1

Google Forms

O Google Forms1´e uma ferramenta presente na Google Drive, que permite aos utilizadores constru´ırem

question ´arios atrav ´es de uma interface intuitiva. Esta, em conjunto com a funcionalidade do F ´enix de enviar emails para os alunos de acordo com aUC, ´e a metodologia atual seguida pelos delegados da LEIC-T, onde estes realizam o processo descrito na subcap´ıtulo1.2.

O Google Forms permite aos utilizadores constru´ırem question ´arios com um elevado grau de com-plexidade, com um diverso leque de hip ´oteses para o tipo de quest ˜oes/repostas e ainda possibilita um fluxo condicionado por respostas selecionadas. Os tipos de quest ˜oes/respostas s ˜ao:

• Resposta curta; • Par ´agrafo; • Escolha M ´ultipla; • Caixa de verificac¸ ˜ao; • Pendente;

• Carregar Ficheiro;

• Escala Linear;

• Grelha de escolha m ´ultipla; • Grelha de caixas de verificac¸ ˜ao; • Data;

• Hora.

Sendo uma ferramenta da Google Drive, esta trabalha em conjunto com outras, nomeadamente a Google Spreadsheets. Esta ferramenta corresponde a uma folha de Excel onde s ˜ao armazenadas as respostas dadas nos question ´arios. ´E com base nesta folha que ´e gerado um breve sum ´ario do formul ´ario, como ´e poss´ıvel ver na Figura3.1.

Outro aspeto da ferramenta aqui descrita ´e o facto de existir uma comunidade ativa a desenvolver plugins para esta, oferecendo a todos os utilizadores um conjunto de funcionalidades sobre os

(44)

tados e sobre os question ´arios, como por exemplo, envio de documentos, notificac¸ ˜ao de submiss ˜ao, mails personalizados na submiss ˜ao de question ´arios, etc., expandido assim o seu potencial.

No que diz respeito a autenticidade, o Google Forms tamb ´em possibilita a identificac¸ ˜ao dos utili-zadores, sendo necess ´ario que todos os utilizadores possuam uma conta Google. Contudo, para que fosse poss´ıvel a identificac¸ ˜ao de alunos de uma dada UC, seria necess ´ario o cruzamento de informac¸ ˜ao da conta Google com o IST ID do aluno. N ˜ao havendo tal cruzamento, a autenticidade n ˜ao ´e garantida. Por ´ultimo, esta ferramenta cria formul ´arios reativos a qualquer plataforma (PC ou mobile), sendo gratuita, sem qualquer limite para o n ´umero de question ´arios que se possa criar, embora possa haver alguns plugins pagos.

(45)

3.2

Moodle

O Moodle ´e um software open-source usado no ensino como uma plataforma de gest ˜ao de recursos online, permitindo a transmiss ˜ao e a organizac¸ ˜ao de conte ´udos program ´aticos entre outras funcionalida-des. Neste operam, principalmente, tr ˆes tipos de utilizadores e que executam as seguintes operac¸ ˜oes2:

• Administrador

• gerir utilizadores;

• definir modelos de autenticac¸ ˜ao;

• programar c ´opias de seguranc¸a

au-tom ´aticas;

• gerir disciplinas e as suas categorias; • gerir idiomas;

• gerir m ´odulos (atividades e blocos);

• gerir p ´agina inicial; • gerir apar ˆencia do site; • aceder a relat ´orios;

• instalar novos blocos de atividades; • editar apar ˆencia dos temas;

• atualizar a vers ˜ao do Moodle.

• Professor

• configurac¸ ˜ao da disciplina; • gest ˜ao de alunos;

• gest ˜ao de grupos;

• gest ˜ao de c ´opias de seguranc¸a; • an ´alise de relat ´orios;

• gest ˜ao de escala de notas; • an ´alise de notas dos alunos;

• gest ˜ao de sistema de arquivos/ficheiros; • acesso a f ´orum de professores;

• acesso a tarefas efetuadas pelos alunos.

• Aluno

• recursos; • atividades;

• bloco administrac¸ ˜ao.

O mais semelhante ao que se pretende com este documento ´e a ferramenta de question ´arios pre-sente no lado do professor, no entanto, o question ´ario tem uma gest ˜ao e um comportamento diferente do desejado, sendo que tamb ´em a responsabilidade ´e para ser do lado do delegado e n ˜ao do profes-sor. Esta diferenc¸a influencia o fluxo, algo que ´e importante num question ´ario e um aspeto positivo no Google Forms.

(46)

No que diz respeito `a anonimidade dos alunos face `as suas respostas3, existe um campo na criac¸ ˜ao do question ´ario que permite ativar ou n ˜ao a identificac¸ ˜ao dos alunos alvos (Figura3.2). Esta informac¸ ˜ao tamb ´em pode ser recolhida e tem uma funcionalidade que permite obter um breve sum ´ario.

Figura 3.2: Documentac¸ ˜ao/Tutorial de como criar um question ´ario no Moodle.

Sendo um software open-source e havendo uma comunidade forte em volta deste, existe uma boa documentac¸ ˜ao acerca do mesmo. No entanto, este software como soluc¸ ˜ao ao problema seria algo bastante complexo, pois para al ´em de ter bastantes funcionalidades que n ˜ao seriam usadas, envolve uma replicac¸ ˜ao exaustiva da informac¸ ˜ao presente no F ´enix (na p ´agina da cadeira). Esta replicac¸ ˜ao proveniente do F ´enix teria alguma alterac¸ ˜ao, pois recordando que a funcionalidade dos question ´arios ´e exclusivo dos docentes, os delegados neste software teriam de ter um perfil de professores.

3.3

F ´enix

No que diz respeito ao F ´enix, este pode ser visto como um Moodle, mas com menos funcionalidades e uma comunidade menos ativa. O F ´enix apesar de n ˜ao permitir a construc¸ ˜ao de question ´arios como o Google Forms ou o Moodle, tem uma ferramenta que tem um comportamento semelhante ao desejado – question ´arios `a Qualidade das Unidades Curriculares do IST (QUC).

Os question ´arios QUC cumprem com parte dos requisitos desejados neste projeto, garantindo por exemplo a autenticac¸ ˜ao, anonimidade, representatividade e a ades ˜ao. Este ´e programado para durante um per´ıodo de tempo depois do fim do semestre, estar acess´ıvel aos alunos, sendo que estes s ˜ao “obrigados” a preencher para se poderem inscrever no semestre seguinte. Para al ´em desta “obriga-toriedade”, sempre que um aluno acede ao F ´enix, ´e relembrado com um pop-up para responder ao question ´ario, incentivando os alunos ao preenchimento.

Um dos problemas dos question ´arios QUC, ´e a flexibilidade de edic¸ ˜ao, pois relembrando, n ˜ao ´e um question ´ario como seria criado no Google Forms ou no Moodle, sendo o c ´odigo escrito na plataforma e apresentado a alunos. A mudanc¸a no formato ou o editar do question ´ario seria algo bastante com-plexo. Para al ´em disso, sendo uma plataforma que abrange toda a Universidade de Lisboa (UL), existe

(47)

todo um processo burocr ´atico complexo que complica a edic¸ ˜ao de funcionalidades na plataforma ou o acrescentar de novas dentro da mesma.

Tal como as outras opc¸ ˜oes, este cumpre com algumas das funcionalidades desejadas, sendo im-portante de salientar que em termos de manutenc¸ ˜ao, mecanismos de lembretes/incentivos ao preen-chimento, a recolha de informac¸ ˜ao para automatizac¸ ˜ao ´e a melhor opc¸ ˜ao.

3.4

Resumo

Em suma, nenhuma das opc¸ ˜oes cumpre na totalidade os requisitos mencionados no cap´ıtulo2e, como tal, surge a necessidade de uma plataforma que v ´a de encontro ao desejado. Pretende-se, ent ˜ao, recolher as melhores caracter´ısticas de cada opc¸ ˜ao e replic ´a-las (melhorando-as se poss´ıvel) de modo a cumprir o objetivo do projeto.

A Tabela3.1 ´e uma avaliac¸ ˜ao perceptual, que se foca em alguns dos requisitos mais relevantes de modo a torn ´a-la menos exaustiva. No que diz respeito `a automatizac¸ ˜ao, manutenc¸ ˜ao, autenticac¸ ˜ao, mecanismo de lembrete e divulgac¸ ˜ao, o F ´enix ´e a melhor opc¸ ˜ao, enquanto que a construc¸ ˜ao de ques-tion ´arios, extrac¸ ˜ao e an ´alise das respostas o Google Forms ´e superior. O Moodle pode ser considerado um meio termo, mas tendo em conta todas as funcionalidades que tem, continua a ser uma soluc¸ ˜ao ”pesada”.

Google Forms Moodle F ´enix Criac¸ ˜ao de question ´arios 3 2 0

Autenticidade 1 2 3

Anonimidade 3 3 3

Facilidade de obtenc¸ ˜ao de informac¸ ˜ao para automatizac¸ ˜ao 1 2 3 Divulgac¸ ˜ao dos question ´arios 1 2 3

Mecanismo de lembrete 0 2 3

Facilidade de extrac¸ ˜ao de respostas 3 2 0 Sum ´ario das respostas obtidas 3 2 0

Manutenc¸ ˜ao 1 1 2

Tabela 3.1: Resumo das opc¸ ˜oes fase alguns requisitos mais relevantes. 0 – N ˜ao garante; 1 – Garante mal; 2 –

(48)
(49)

4

Implementac¸ ˜ao

Conte ´

udo

4.1 Arquitetura do sistema . . . 33 4.2 Registo WebAPP/CAS . . . 38 4.3 Observac¸ ˜oes . . . 40

(50)
(51)

Neste cap´ıtulo ´e descrito o sistema que satisfaz a maioria dos requisitos que constam no cap´ıtulo2, sendo que aqueles que n ˜ao s ˜ao cumpridos, s ˜ao no cap´ıtulo5abordados.

4.1

Arquitetura do sistema

Como referido no cap´ıtulo 2, na secc¸ ˜ao 2.3, esta plataforma ser ´a composta por 2 m ´odulos. Cada m ´odulo ´e composto pelo seu dom´ınio e servic¸os, que culminam na concretizac¸ ˜ao dos casos de uso anteriormente ditos. A Figura4.1, mostra a organizac¸ ˜ao por camadas da plataforma implementada.

Figura 4.1: Arquitetura em camadas da plataforma desenvolvida.

Por ordem ascendente (comec¸ando de baixo para cima), as camadas s ˜ao:

1. Django Framework1– Permite o desenvolvimento fullstack de aplicac¸ ˜oes web, recorrendo `a

lin-guagem de programac¸ ˜ao python. Este ´e respons ´avel pela persist ˆencia da informac¸ ˜ao na plata-forma, assim como parte da seguranc¸a da autenticac¸ ˜ao (sendo a restante assegurada pelo CAS do IST) e da sanitizac¸ ˜ao das respostas dadas, salvaguardando o bem-estar da base dados e da ferramenta. Possui ainda mecanismos de envio de emails, formac¸ ˜ao de grupos com permiss ˜oes de adicionar, ver, modificar e apagar elementos dos diversos dom´ınios e criac¸ ˜ao de p ´aginas de apresentac¸ ˜ao din ˆamicas (atrav ´es de Jinja e da p ´agina administrativa);

2. Celery2 – Escalonador utilizado em projetos concebidos em Django, respons ´avel pelo

agenda-mento e execuc¸ ˜ao das tarefas ass´ıncronas;

3. Fenix Python SDK3– Respons ´avel por aceder aos endpoints do sistema de informac¸ ˜ao do IST

(F ´enix);

1Docoumentac¸ ˜ao: https://docs.djangoproject.com/en/2.2/ 2Documentac¸ ˜ao: https://docs.celeryproject.org/en/stable/ 3https://github.com/FenixEdu/fenixedu-python-sdk

(52)

4. GUC – M ´odulo que permite a gest ˜ao de utilizadores e conte ´udo. Mais detalhes na secc¸ ˜ao2.3.1; 5. GRQ – M ´odulo que permite a gest ˜ao de respostas e question ´arios. Mais detalhes na secc¸ ˜ao

2.3.2;

6. WebApp – Corresponde `a camada de apresentac¸ ˜ao, com a qual o utilizador interage. Esta ´e a

combinac¸ ˜ao de p ´aginas administrativas com p ´aginas criadas de raiz de modo din ˆamico, recor-rendo a Jinja4e Bootstrap5.

Como referido no in´ıcio da enumerac¸ ˜ao anterior, o processo de autenticac¸ ˜ao da plataforma resulta num dividir de responsabilidades entre o Django e o CAS, sendo que a maior parte da responsabilidade

recai sobre o CAS. Sendo o CAS um mecanismo que permite a qualquer pessoa com um IST-ID6

v ´alido, usufruir dos servic¸os do IST (como por exemplo, email e F ´enix), este ser ´a respons ´avel, atrav ´es da Fenix Python SDK, garantir que se trata de uma pessoa do IST invocando o url de autenticac¸ ˜ao. Caso o processo de autenticac¸ ˜ao tenha sucesso, ´e de seguida criado um objeto User na base de dados, com informac¸ ˜ao relativa ao utilizador7. A informac¸ ˜ao recolhida neste processo diz respeito ao

primeiro e ´ultimo nome, o seu IST-ID e o seu papel (aluno ou docente) dentro da faculdade.

Sendo o processo de autenticac¸ ˜ao assegurado pelo CAS e sendo uma ac¸ ˜ao insegura e incorreta guardar a informac¸ ˜ao de log in (IST-ID e palavra-chave), ´e criado no lado da aplicac¸ ˜ao um ”remote user”8, sendo respons ´avel pela sess ˜ao de utilizador na plataforma, com a informac¸ ˜ao referida

anteri-ormente. Consoante o papel do utilizador, ´e posteriormente criado um docente ou aluno, sendo de seguida acedido/preenchido o resto da informac¸ ˜ao que ´e pedida na secc¸ ˜ao 4.2 (como por exemplo, plano curricular e curso).

Dado que um aluno ou um docente podem ter alterac¸ ˜oes no seu plano curricular em qualquer ins-tante, como por exemplo, ficar a lecionar uma nova UC(docente ou aluno-docente), ou inscrever-se noutra UC (aluno), ´e necess ´ario consultar a informac¸ ˜ao nos respetivos endpoints e atualiz ´a-la caso haja necessidade. Para que n ˜ao seja atualizada constantemente a informac¸ ˜ao sempre que um utiliza-dor fac¸a log in, foi programado para que a cada 15 dias ap ´os ´ultimo log in, seja feita uma comparac¸ ˜ao da informac¸ ˜ao nos endpoints, com a que consta na base dados e caso seja d´ıspar, atualiz ´a-la. Esta vari ´avel encontra-se no ficheiro “choices.py”, com o nome “UPDATE DAYS”.

Relembrando os utilizadores que constam na secc¸ ˜ao2.3, n ˜ao ´e feita a refer ˆencia nem a funcion ´arios, nem aos alunos Alumni9. Uma vez que para o endpoint do aluno, ser Alumni ´e uma propriedade, n ˜ao basta verificar se ´e aluno e recolher a informac¸ ˜ao do mesmo. Caso este seja Alumni, ´e necess ´ario

4Gerador de templates usado no django - https://jinja.palletsprojects.com/en/2.11.x/

5Framework utilizada para desenvolvimento de componentes da interface do frontend - https://getbootstrap.com/ 6Identificador ´unico atribu´ıdo a estudantes, professores e funcion ´arios da faculdade

7Atrav ´es do endpoint https://fenix.tecnico.ulisboa.pt/api/fenix/v1/person 8https://docs.djangoproject.com/en/3.0/howto/auth-remote-user/

(53)

redirecion ´a-lo e condicionar o seu acesso `a plataforma, pois esta ´e uma plataforma para docentes e alunos que ainda estejam inscritos e frequentem a faculdade com UCs. Caso um funcion ´ario tente aceder `a plataforma, este ser ´a igualmente redirecionado. Esta detalhe que pode visto como uma falha de seguranc¸a ´e encontrado em outras plataformas desenvolvidas para o IST, que apenas verificam se s ˜ao alunos, como por exemplo a aplicac¸ ˜ao de reservas do shuttle, possibilitando a Alumni usufruir das reservas.

No que diz respeito ao Fenix Python SDK, este foi pela ´ultima vez atualizado em 2015, tendo perma-necido com erros. De modo a que a arquitetura apresentada fosse execut ´avel, foi necess ´ario proceder `a correc¸ ˜ao local deste SDK, tendo colocado os endpoints a aceder corretamente ao ano acad ´emico inserido, em vez de aceder sempre ao instante atual. Foi ainda corrigido a chamada a func¸ ˜oes com os devidos par ˆametros. Este problema surgiu duas vezes, uma durante a fase local e outra quando colocada a ferramenta em modo de produc¸ ˜ao. A correc¸ ˜ao ao SDK encontra-se num ficheiro .rar, em conjunto com o c ´odigo. Do conjunto de endpoints existentes10estes foram os principais utilizados e os

respetivos campos acedidos:

1. GET /degrees11- ’acronym’, ’name’, ’id’, ’academicTerm’, ’teachers’ e ’type’;

2. GET /degrees/{id}12- ’teachers’ (’{id}’ refere-se ao id do curso);

3. GET /degrees/{id}/courses13- ’acronym’, ’name’, ’id’ e ’academicTerm’ (’{id}’ refere-se ao id do

curso);

4. GET /course/{id}/students14- ’enrolmentCount’, ’attendingCount’ e ’students’ (’{id}’ refere-se ao id da disciplina);

5. GET /person15- [PRIVADO] ’username’, ’name’ e ’institutionalEmail’;

6. GET /person/curriculum16- [PRIVADO] ’start’, ’end’, ’degree’ e ’acronym’;

7. GET /person/courses17- [PRIVADO] ’name’ e ’acronym’.

10Lista dos endpoints: https://fenixedu.org/dev/api/ 11https://fenixedu.org/dev/api/#get-degrees 12https://fenixedu.org/dev/api/#get-degreesid 13https://fenixedu.org/dev/api/#get-degreesidcourses 14https://fenixedu.org/dev/api/#get-coursesidstudents 15https://fenixedu.org/dev/api/#get-person 16https://fenixedu.org/dev/api/#get-personcurriculum 17https://fenixedu.org/dev/api/#get-personcourses

(54)

4.1.1

Gest ˜ao de Utilizadores e Conte ´

udo

Como referido previamente na secc¸ ˜ao2.3.1, este m ´odulo/camada ´e respons ´avel pela gest ˜ao/importac¸ ˜ao da informac¸ ˜ao relativa aos cursos, UCs, docentes e alunos. Atrav ´es dos endpoints enumerados ante-riormente, ´e poss´ıvel construir o dom´ınio principal da plataforma, obtendo-se o diagrama em Unified Modeling Language (UML) [3] conforme a Figura4.2.

Na Figura 4.2. ´e poss´ıvel visualizar-se o que foi referido neste cap´ıtulo relativamente ao “remote user”, sendo apresentado na imagem como o objeto “DjangoUser”. Por sua vez este tem uma relac¸ ˜ao “one-to-one” com o objeto “Person”, garantindo desta forma que uma pessoa (“Person”) aceda `a plata-forma, se for um Aluno ou docente da comunidade doIST.

No papel de administrador, este ´e capaz de importar toda a informac¸ ˜ao relativa aos cursos (“De-gree”) que existem noIST. Posteriormente, este pode importar todas UCs (“Course”), que s ˜ao perten-centes aos respetivos cursos. ´E importante destacar que algumas UCs, s ˜ao partilhadas entre cursos, tendo o mesmo nome e URL. Ou seja, a mesmaUC, pode pertencer a um ou mais cursos. Este as-peto faz com que n ˜ao possa haver uma reac¸ ˜ao de “cascade” quando eliminado um curso, pois aUC tem que se manter caso pertenc¸a a outro curso. Por esta raz ˜ao, na Figura4.2 ´e vista a cardinalidade entre “Degree” e “Course” como zero ou mais, possibilitando deste modo a exist ˆencia independente de ambos os objetos.

O objeto “Person” ´e respons ´avel por conter a informac¸ ˜ao relativa ao primeiro e ´ultimo nome, assim como o IST-ID. Como ´e observado na Figura 4.2, existe uma relac¸ ˜ao de hierarquia, pois tanto um “Teacher”, como um “Student”, s ˜ao “Person”.

Durante a concec¸ ˜ao da plataforma, observou-se que um docente (“Teacher”), pode coordenar zero ou mais cursos, assim como um Curso (“Degree”), pode ter mais que um coordenador, algo que foi contra a modelac¸ ˜ao inicial e resultou em problemas na primeira implementac¸ ˜ao.

Um aluno (“Student”), est ´a associado a um conjunto de UCs ao qual est ´a inscrito, sendo vis´ıvel na Figura 4.2, pela ligac¸ ˜ao representada por “Classes”. No entanto, uma vez que a plataforma ir ´a enviar emails aos alunos das UCs e estes podem n ˜ao querer ser incomodados pelas notificac¸ ˜oes da plataforma, estes podem ou n ˜ao estar subscritos `as notificac¸ ˜oes, sendo que inicialmente, todos os alunos est ˜ao subscritos a todas as UCs a que est ˜ao inscritos.

Um aluno pode conter duas responsabilidades adicionais dentro doIST. Este pode ser um delegado (representado por um booleano) ou ser um aluno-docente. Caso este seja um aluno-docente, ter ´a uma relac¸ ˜ao semelhante `a dos docentes, referente `as UCs que ´e respons ´avel, denominada “Teaching”.

Cada UC pode conter ou n ˜ao elementos de avaliac¸ ˜ao (“Evaluation”). Quando esta tem um ele-mento de avaliac¸ ˜ao, ´e automaticamente criado um question ´ario correspondente ao tipo do eleele-mento de avaliac¸ ˜ao. Na Figura 4.2, ´e poss´ıvel observar-se dois rect ˆangulos verdes, que dizem respeito a duas enumerac¸ ˜oes, uma para o tipo de avaliac¸ ˜oes que existem (“EvaluationType”) e outra para o estado do

(55)

question ´ario (“QuizStatus”). Acrescentado o estado de ”Finalizado”ao restantes estados referido na secc¸ ˜ao 2.1.2, no que diz respeito ao c ´odigo, estes podem ser visto no ficheiro ”choices.py”, vari ´avel ”QUIZ STATES”. A restante modelac¸ ˜ao ´e melhor explicada na secc¸ ˜ao4.1.2.

4.1.2

Gest ˜ao de Respostas e Question ´arios

Como referido na secc¸ ˜ao2.3.2, este m ´odulo permite a gest ˜ao dos v ´arios elementos de avaliac¸ ˜ao e consequentemente a gest ˜ao dos diversos question ´arios. Nesta camada ´e feita uma relac¸ ˜ao com os objetos “Evaluation” e “Quiz” presentes no m ´odulo QUC, permitindo deste modo a realizac¸ ˜ao dos casos de uso presentes na Figura2.2.

´

E de salientar que o objeto “Quiz” n ˜ao tem um tipo associado, isto ´e, por exemplo, n ˜ao ´e um ques-tion ´ario do tipo exame ou projeto. Este, est ´a associado ao objeto “Evaluaques-tion”, que por sua vez tem um tipo associado. O objeto “Quiz” contem informac¸ ˜ao relativa ao estado do question ´ario, alunos que devem responder (sendo todos os alunos inscritos `a disciplina) e a data de quando alterar o seu estado para “Fechado”. O tipo associado ao elemento de avaliac¸ ˜ao, influ ˆencia a resposta dada ao question ´ario, sendo neste caso respons ´avel pelos objetos “BasicAnswer” e “SpecificAnswer”. O objeto “BasicAnswer” ´e respons ´avel por recolher a informac¸ ˜ao relativa ao curso do aluno, n ´umero de inscric¸ ˜oes, e se partici-pou ou n ˜ao naquele elemento de avaliac¸ ˜ao. Caso tenha participado no elemento de avaliac¸ ˜ao, ´e ent ˜ao apresentado as quest ˜oes relevantes para cada tipo de elemento de avaliac¸ ˜ao, ficando a cargo do ob-jeto “SpecificAnswer”, recolher essa informac¸ ˜ao. De momento, os tipos de avaliac¸ ˜ao e as respetivas perguntas s ˜ao:

1. Teste:

(a) Tempo Suficiente;

(b) Perguntas relacionadas com as pr ´aticas/te ´oricas; (c) Erros no enunciado;

(d) Coment ´arios. 2. Laborat ´orios:

(a) Tempo investido por mim; (b) Tempo investido pelo grupo; (c) Nota esperada;

(d) Tempo de laborat ´orio suficiente; (e) Tempo de laborat ´orio ´util/produtivo;

(56)

(g) Coment ´arios. 3. Projetos:

(a) Tempo investido por mim; (b) Tempo investido pelo grupo; (c) Nota esperada;

(d) Pontos fortes; (e) Pontos a melhorar;

(f) Coment ´arios.

Os ficheiros respons ´aveis pela implementac¸ ˜ao dos respetivos formul ´arios e os dom´ınios das per-guntas, s ˜ao respetivamente “forms.py” e “choices.py”. A criac¸ ˜ao de novos tipos de elementos de avaliac¸ ˜ao e os seus respetivos question ´arios, ´e simples, havendo apenas a necessidade de criar a base de dados para o novo tipo e modificar/acrescentar alguns aspetos que se encontram no Anexo Adeste documento. Devido ao facto de o Django ser fullstack, recorrendo ao Jinja e ao bootstrap, a parte de visualizac¸ ˜ao/apresentac¸ ˜ao do formul ´ario n ˜ao requer muita atenc¸ ˜ao. Com tudo, estes detalhes encontram-se no anexo mencionado.

4.2

Registo WebAPP/CAS

Como referido na secc¸ ˜ao4.1, o CAS ´e respons ´avel por garantir a autenticidade do utilizador que acede a aplicac¸ ˜ao. Para que seja poss´ıvel usufruir deste servic¸o, ´e necess ´ario registar a aplicac¸ ˜ao web no F ´enix.

Para registar a aplicac¸ ˜ao no F ´enix, ap ´os realizar log in, deve: 1. Aceder ao separador “Pessoal”18;

2. Nas opc¸ ˜oes do lado esquerdo (final da p ´agina em modo compacto), selecionar “Gerir Aplicac¸ ˜oes”; 3. De seguida clicar na opc¸ ˜ao “Criar”, surgindo um pop-up como o da Figura4.3. Neste deve indicar o nome da aplicac¸ ˜ao, uma breve descric¸ ˜ao da aplicac¸ ˜ao, o URL para redirecionar (em modo desenvolvimento e caso n ˜ao esteja alojado ser ´a http://localhost:8000) e por ´ultimo selecionar a informac¸ ˜ao que pretende aceder.

Ap ´os o registo, ´e poss´ıvel ver detalhes do registo, onde ser ´a vis´ıvel informac¸ ˜ao relativa ao “client id” e “client secret”, que ´e crucial para que possa ser usado a camada “Fenix Python SDK” e o CAS, uma

(57)

vez que o ficheiro “fenixedu.ini”, deve conter essa informac¸ ˜ao. No fim o ficheiro “fenixedu.ini” deve ter ser semelhante `a Listagem4.1.

O procedimento de registo e utilizac¸ ˜ao do servic¸o CAS para autenticidade, s ˜ao aspetos comum `as outras teses de desenvolvimento de plataformas que requerem reconhecimento dos utilizador e acesso a Endpoints. Um exemplo do referido at ´e ao instante ´e o trabalho de mestrado realizado pelo colega Jorge Sim ˜ao Madeira Cordeiro de Arag ˜ao Goulart [2].

No caso da aplicac¸ ˜ao desenvolvida, a informac¸ ˜ao que ´e poss´ıvel ter acesso ´e:

(a) Gest ˜ao planos curriculares de alunos (b) Gest ˜ao de Delegados

(c) Pagamentos

(d) Informac¸ ˜ao (e) Avaliac¸ ˜oes

(f) Curricular

Dos acessos pedidos, a linha (b), n ˜ao foi poss´ıvel aceder, pois ou n ˜ao se encontra documenta ou n ˜ao ´e de acesso publico. A informac¸ ˜ao relativa `a linha (c) e linha (e), seriam para tornar o ecr ˜a principal do aluno mais atrativo e informativo, sendo a informac¸ ˜ao relativa ao pr ´oximo teste e a pagamentos em falta. Devido `a falta de documentac¸ ˜ao do que ´e acess´ıvel em cada “scope” (Figura4.3) n ˜ao ´e clara a diferenc¸a entre linha (a) e a linha (f).

Listagem 4.1: Exemplo do conteudo do ficheiro ”fenixedu.ini”.

1 # O v e r w r i t e y o u r app c r e d e n t i a l s 2 3 [ f e n i x e d u ] 4 c l i e n t _ i d =# # # # # # # # # 5 c l i e n t _ s e c r e t =# # # # # # # # 6 r e d i r e c t _ u r i = h t t p :// l o c a l h o s t :8 0 0 0/ m a i n _ p a g e / 7

8 # C h a n g e t h i s o n l y if you k n o w w h a t you're doing !! 9 [ D E F A U L T ]

10 b a s e _ u r l = h t t p s :// f e n i x . t e c n i c o . u l i s b o a . pt / 11 a p i _ e n d p o i n t = api / f e n i x /

(58)

4.3

Observac¸ ˜

oes

Como referido na secc¸ ˜ao 4.1, o Django possui mecanismos de envio de emails e de formac¸ ˜ao de grupos com permiss ˜oes de adicionar, ver, modificar e apagar elementos do dom´ınio. Para que fosse poss´ıvel o envio de email, foi necess ´ario configurar-se o backend de modo a enviar emails recorrendo a SMTP19. Esta configurac¸ ˜ao fez com que fosse criada uma conta gmail (ist.delegados@gmail.com) para o envio dos emails. No entanto, a forma como ´e enviado o email, faz com que caso um aluno fac¸a responder, este envie um email para o delegado e n ˜ao para email criado. Os templates de email enviados encontram-se no ficheiro “templates mails.py”.

No que diz respeito `a formac¸ ˜ao dos grupos e as suas permiss ˜oes, ´e importante que quando insta-lada a ferramenta, sejam criados os seguintes grupos, com as respetivas permiss ˜oes:

1. Delegados

(a) GRQ — Gestor de Avaliac¸ ˜ao — Can view manage evaluation (b) GRQ — Gestor de Question ´ario — Can change manage quiz (c) GRQ — Gestor de Question ´ario — Can delete manage quiz (d) GRQ — Gestor de Question ´ario — Can view manage quiz (e) GUC — evaluation — Can change evaluation

(f) GUC — quiz — Can change quiz 2. Docentes

(a) GRQ — Gestor de Question ´ario — Can view manage quiz

Como referido na secc¸ ˜ao4.1.1, reforc¸ado na secc¸ ˜ao4.1.2 e vis´ıvel na Figura4.2, o objeto “Quiz” ´e associado a um conjunto finito de estados (Figura4.4). Consoante o estado em que o question ´ario se encontra, como referido no cap´ıtulo2, existe um conjunto de operac¸ ˜oes associado. Este comporta-mento ´e semelhante ao comportacomporta-mento associado ao padr ˜ao de desenho “State” [3, p. 353], uma vez que objeto tem certos comportamentos diferentes, quando o seu estado interno ´e alterado.

(59)
(60)
(61)

Referências

Documentos relacionados

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

O presente trabalho quantifica a ocorrência ao longo do ano da batuíra-de-bando na Ilha Comprida, e evi- dência a importância da Ilha como ponto de parada durante a rota

e l final de Una Política Pública : análisis del ciclo Político del Proyecto destinos indUctores Para el desarrollo tUristico regional (didtr) – b rasil ...496 María Belén

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

adiante designado abreviadamente por CROS, é o serviço com funções de acompanhamento, coordenação e comando operacional das operações de socorro realizadas pelos

General: Knowing the conceptual and methodological foundations of the main projective methods; Identify and understand the operational concepts of projection and distress; Identify

Quando a temperatura ambiente alcançar a temperatura definida para o modo de aquecimento, o abastecimento de capacidade por parte da unidade de exterior parou e a unidade de

Positiv o Matéria B 02/03/ 21 NoMinuto.c om Site Natal R N Entidades do comércio pedem medidas para minimizar impactos da pandemia no turismo Positiv o Matéria A 02/03/