Propostas com alunos

DEI - FCTUC
Gerado a 2024-11-21 15:06:50 (Europe/Lisbon).
Voltar

Titulo Estágio

Desenho e implementação de um modelo de dados relacional apoiado em Postgres para o Sakai Learning Management System (LMS)

Áreas de especialidade

Engenharia de Software

Local do Estágio

Remote

Enquadramento

O Sakai LMS é um projecto de código aberto patrocinado pela Apereo Foundation com uma implementação alargada um pouco por todo o mundo. Através do Sakai, milhares de professores e alunos estruturam a sua aprendizagem em meios digitais de forma a conseguir mais e melhores resultados escolares.

O Sakai LMS tem-se mantido actual e relevante no panorama actual das plataformas de apoio ao ensino, sempre numa perspectiva de se adaptar às infra-estruturas das instituições e universidades que o adoptam. Em consequência deste factor, as bases de dados suportadas actualmente são o mySQL / MariaDB e Oracle.

É neste contexto que o projecto procura alargar o espectro de bases de dados de forma a funcionar com PostgreSQL, fazendo as adaptações necessárias ao nível da modelação de dados e/ou arquitectura para o fazer.

Objetivo

Os objectivos do estágio focam-se na adaptação e implementação do modelo dados e da camada que lhes acede que lhes acede para que se torne compatível com PostgreSQL.

Mais concretamente, pretende-se não apenas que o Sakai LMS passe a funcionar com mais uma base de dados, como também consiga tirar partido das funcionalidades únicas que o PostgreSQL oferece em termos de modelação, armazenamento, optimização e tratamento de dados. Em cima deste trabalho, será necessário dotar o Sakai LMS de meios para interagir com PostgreSQL nomeadamente ao nível da camada de acesso a dados e respectivas abstracções.

Os deliverables previstos são:

- Estudo e análise do modelo de dados conceptual
- Desenho e implementação do modelo de dados adaptado a Postgres
- Documentação associada à adaptação do modelo de dados a Postgres
- Implementação da camada de acesso a dados do Sakai de forma a suportar PostgreSQL
- Documentação associada à implementação e suporte a Postgres
- Testes automatizados e inclusão destes no sistema de continuous testing

O trabalho será realizado em coordenação com o fundador e director do Sakai (dr Charles Severance) e todos os resultados serão "abertos" à comunidade, na medida em que o projecto é de código aberto.

Plano de Trabalhos - Semestre 1

No primeiro semestre o objectivo passa por analisar o projecto, o seu contexto, audiência e arquitectura actual, de forma a refinar objectivos e propor um conjunto concreto de resultados e processos a adoptar no segundo semestre.

Os resultados esperados nesta fase incluem:

Fase 1 - Revisão da bibliografia e Estado da Arte
Fase 2 - Familiarização com o âmbito do projecto Sakai LMS, o seu estado actual, audiência e objectivos e constrangimentos (em termos de arquitectura e base de dados)
Fase 3 - Definição de um conjunto refinado de resultados e processos e/ou metodologias para os atingir, com base no ponto anterior
Fase 4 - Elaboração da proposta de dissertação.

Plano de Trabalhos - Semestre 2

No segundo semestre o estagiário deverá implementar o plano traçado no semestre anterior no sentido de concretizar os objectivos gerais do estágio. Assim sendo, e já na posse de toda a informação de contexto do projecto, objectivos e constrangimentos, esperam-se os seguintes resultados:

Fase 5 - Modelação dos dados adaptado a Postgres e respectiva implementação
Fase 6 - Implementação da camada de dados na plataforma de forma a usar a nova base de dados
Fase 7 - Implementação de testes automatizados e configuração do mecanismo de continuous testing
Fase 8 - Disponibilização de documentação com informação auxiliar e complementar ao software desenvolvido
Fase 9 - Escrita da dissertação

A calendarização destes objectivos está dependente de factores externos como a prioritização por parte dos stakeholders assim como de alguns factores internos tal como o próprio estado de desenvolvimento da plataforma, pelo que não é possível estabelecer, nesta fase, um calendário credível para a concretização destes resultados.

Condições

O estágio deverá ser desenvolvido remotamente em coordenação e contacto regular com o coordenador e chefe de equipa. O estagiário tem liberdade para definir o seu horário e método de trabalho desde que isso não coloque em causa os resultados e a sua avaliação.

Os recursos computacionais estão a cargo do estagiário, ainda que possa haver complementos pontuais se necessário (p.e. alojamento e versionamento de materiais).

O estágio é remunerado no segundo semestre até ao valor de 800€ mensais em regime de trabalho independente, sendo esta a forma mais fácil de estabelecer uma ligação contratual entre duas partes em países diferentes.

Algum detalhe omitido aqui poderá ser colocado à consideração com a Apereo Foundation através do orientador do estágio.

Observações

A Apereo Foundation é uma organização internacional com membros em todos os continentes e, como tal, todos os seus membros trabalham remotamente. Este estágio também o é. O que isto significa, na prática, é uma dose extra de responsabilidade assumida de forma a que os resultados sejam atingidos com exigência, brio e determinação que se esperaria de um trabalho on-site.

Trabalhar remotamente tem os seus desafios e é esperado do estagiário que saiba contorná-los, impondo auto-disciplina, organização e método, contando sempre com o apoio da restante equipa (residente em Coimbra).

Há reuniões diárias virtuais de acompanhamento com a equipa (stand-up meetings) e reuniões virtuais de coordenação com os stakeholders a cada duas semanas, nas quais é esperado que o estagiário participe activamente desde que o trabalho desenvolvido o justifique.

Orientador

Charles Severance
csev@umich.edu 📩