Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-08-31 18:17:55 (Europe/Lisbon).
Voltar

Titulo Estágio

ListCloud (muitas vistas para a mesma lista, numa nuvem computacional)

Área Tecnológica

Sistemas de Informação (Aplicações Web, Computação Distribuída, etc.)

Local do Estágio

PT INOVAÇÃO

Enquadramento

É muito frequente na PT Inovação e em qualquer ambiente de desenvolvimento de software ter que listar as tarefas a executar, atribuir-lhe prioridades e datas objectivo de término. Existem já no mercado algumas ferramentas destas, mas nenhuma integra a visualização desta informação em:

§         uma lista de tarefas, como em Ta-Da List ;

§         um gráfico de Gantt;

§         um calendário, como no GCal ;

§         um time line, com detalhes de cada tarefa a serem mostrados (por exemplo, com Cover Flow);

Se tudo isto for guardado e acedido na nuvem (Google App Engine ), ou até desligado dela (Google Gears), passa a ser muito maior o poder de se gerir uma projecto de desenvolvimento de software com equipas distribuídas geograficamente.

Consideramos ser fundamental para as empresas como a PT Inovação serem capazes de poder oferecer aos operadores de telecomunicações que são seus clientes a possibilidade de usarem recursos computacionais que se localizam na nuvem (cloud), em vez de investirem nos seus próprios data centers.

Pretendemos assim usar esta pequena aplicação para podermos apreender alguns dos aspectos mais interessantes deste tipo de tecnologia. A aplicação será desenvolvida usando a linguagem de programação Python, a primeira (embora já não a única) a ter sido disponibilizada pela Google para se trabalhar com a Framework AppEngine, e uma Framework  de desenho de aplicações Web (por exemplo, DJango). Desta forma pretende-se que o aluno coloque muito rapidamente em funcionamento um protótipo, que poderá ser experimentado com as tarefas do próprio projecto, e vai sendo refinado quer em termos funcionais quer em termos de usabilidade.

Para alem destes aspectos internos, pretende-se que a aplicação possua um elevado grau de usabilidade e bom design, que atraia potenciais utilizadores. Pretende-se ainda ter disponível um conjunto de estatísticas que possibilitem a avaliação da utilização da aplicação, quer para um utilizador em particular, um grupo de utilizadores ou um administrador.

Objetivo

Os objectivos desta proposta de estágio são os seguintes:

§         aumentar o conhecimento da PT Inovação na área de Cloud Computing, em particular do Google AppEngine;

§         explorar a linguagem de programação Python, como linguagem Dinâmica e de desenvolvimento rápido de aplicações, e das frameworks de apoio desta linguagem;

Os resultados esperados com esta proposta de estágio são os seguintes:

§         a aplicação, de acordo com a definição de requisitos acordada;

§         a documentação de todo o processo, por forma a servir de base à difusão do conhecimento.

Plano de Trabalhos - Semestre 1

No primeiro semestre pretende-se executar as seguintes tarefas:

§         preparação da infra-estrutura de suporte à comunicação de todo o projecto (blog, twitter, etc.), durante Setembro de 2009, resultando na publicação dos endereços do blog/twitter e na publicação de conteúdos (frequência de posts a definir);

§         breve estudo das tecnologias envolvidas, sempre numa perspectiva prática, de Setembro a Outubro de 2009, com posts no respectivo blog;

§         definição de requisitos, desenho e documentação da primeira versão da aplicação, durante Novembro de 2009, com a disponibilização do documento de Especificação de Requisitos e o Relatório de Concepção respectivo;

§         implementação e execução de testes unitários da primeira versão (apenas gestão de listas, com a forma tradicional de visualização) da aplicação, de Dezembro de 2009 a Janeiro de 2010, com a demonstração da primeira versão da aplicação;

§         escrita do Manual de Utilização e Administração da primeira versão da aplicação, em Fevereiro de 2010, com a publicação desses manuais.

Plano de Trabalhos - Semestre 2

No segundo semestre pretende-se executar as seguintes tarefas:

§         definição de requisitos, desenho e documentação da segunda versão da aplicação (incluindo outras formas de visualização das listas, refinamentos de usabilidade e desempenho), durante Março de 2010, com a disponibilização do documento de Especificação de Requisitos e o Relatório de Concepção respectivo;

§         implementação e execução de testes unitários da segunda versão da aplicação, de Abril a Maio de 2010, com a demonstração da segunda versão da aplicação;

§         escrita do Manual de Utilização e Administração da segunda versão da aplicação, em Junho de 2010, com a publicação desses manuais.

Condições

O local de trabalho poderá ser Porto ou Aveiro, podendo ainda favorecer-se, numa fase avançada do trabalho em que a comunicação esteja estabelecida, o tele-trabalho. Poderão ser cedidos os recursos computacionais necessários. O estágio poderá ser remunerado (decisão a tomar).

Observações

Referências bibliográficas:

§         Google App. Engine, http://code.google.com/appengine/

§         Linguagem de Programação Python, http://python.org/

§         Framework aplicacional DJango, http://www.djangoproject.com/

Observações ou Elementos Adicionais:

É fundamental para nós que o alunos revele um grau de autonomia elevado, para poder trabalhar de forma autónoma. Para se poder pôr em prática os aspectos de tele-trabalho referidos acima (c.f., Condições), é fundamental que o aluno possua muito boa capacidade de comunicação (este aspectos também será valorizado mesmo que o estágio seja completamente feito nas instalações da PT Inovação). É ainda desejável que o aluno possua noções de desenho na Web (cores, fontes, espaço, etc.) e o bom gosto inerente a quem é capaz de desenhar e publicar uma página que transmita de forma inequívoca uma mensagem.

Aspectos inovadores da proposta:

O aspecto mais inovador desta proposta é a utilização de Cloud Computing (neste caso da Google, http://code.google.com/appengine/) para implementar uma aplicação empresarial. Existem ainda outros aspectos inovadores a realçar, como sejam a linguagem de programação Python, as frameworks de desenvolvimento de aplicações Web, a metodologia de desenvolvimento ágil/faseada e a estratégia de comunicação que se pretende seja seguida.

 

Orientador

José Maria Bonnet Pereira Afonso
jbonnet@ptinovacao.pt 📩