Propostas atribuídas ano letico 2025/2026

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

Titulo Estágio

Plataforma de Gestão de Actualizações de Software

Área Tecnológica

Engenharia de Software

Local do Estágio

PONTOC

Enquadramento

Ao longo de 11 anos de actividade, a Ponto.C foi naturalmente aumentando o seu leque de produtos. Tendo como objectivo o fornecimento de uma linha de produtos, isto é, produtos distintos, complementares e totalmente integrados, o grau de complexidade das soluções desenvolvidas é considerado elevado, tendo em conta a interdependência dos vários módulos e a necessidade de manter o código em constante evolução, com actualizações diárias e, sobretudo, a focalização estratégica na personalização das soluções, criando uma diversidade de versões.

 

A Ponto.C pretende assim optimizar o seu sistema de gestão de actualizações de Software, tendo em conta o aumento do número de sistemas desenvolvidos, a complexidade destes sistemas incluindo o aumento de número de dependências, a necessidade de customização de instalações e o aumento do número de Clientes. Esta optimização irá permitir a diminuição do tempo de fornecimento de novas soluções aos Clientes – time to market - e o aumento de Qualidade do código desenvolvido, nomeadamente com a diminuição de taxas de erros.

 

Após ter analisado um conjunto de sistemas existentes no mercado, optou, em 2008, pelo desenvolvimento de uma solução proprietária que estivesse integrada com um sistema de controlo de versões (utilizado o CVS). Esta opção por desenvolvimento próprio tem em conta as especificidades dos sistemas desenvolvidos (por exemplo, o suporte de múltiplas base de dados e a estrutura Web das suas aplicações) pretendendo ainda a Ponto.C uma integração completa com outros sistemas existentes na empresa e disponíveis no mercado.

 

Algumas componentes deste sistema estão já em utilização, nomeadamente o agente de actualizações (update agent), instalado no computador do Cliente, e responsável por todo o processo de actualizações no Cliente, isto é, a transferência e instalação de módulos. É já possível a um Cliente Ponto.C, de forma semi-automática, actualizar o código que diz respeito unicamente à sua instalação, consultando (via Web Services) um servidor de actualizações disponível na Internet (update agent Internet server). Esta plataforma detecta, avisa e instala as actualizações disponíveis. Esta é uma ferramenta, semelhante a muitas existentes no mercado, mas incluindo opções multi-empresa e outras funcionalidades específicas.

 

Foi também desenvolvido pela Ponto.C uma ferramenta (Update Agent Organizer), que se encontra em fase experimental, que define a meta-informação do código existente na empresa, isto é, os projectos, módulos, dependências, instalações, versões e outra informação, estando totalmente integrada com o sistema de versões CVS. Esta ferramenta permite assim uma interface com o CVS de forma transparente e utilizando os conceitos normalmente utilizados pelos programadores e testers.

 

O passo seguinte, âmbito deste projecto, é o desenvolvimento de todas as restantes componentes desta plataforma que lidam com o controlo de versões, diversidade de ambientes, estrutura de código, impacto de alterações e disponibilização automática no servidor de actualizações. É necessário ainda uma análise detalhada das restantes componentes do sistema, que permitirão, entre outras funcionalidades, a integração com a meta informação existente (grafo de componentes), o histórico de actualizações, a identificação de impactos de actualizações, a integração com o sistema de testes, identificando e disponibilizando, de forma automática, as actualizações existentes para um determinado projecto/Cliente.

 

Actualmente, a plataforma está assente em bases de dados MS SQL Server e/ou Oracle, agentes e interfaces C#, sendo a disponibilização das actualizações desenvolvida com Web Services.

Objetivo

Objectivos e resultados esperados:

 

Pretende-se uma análise detalhada da plataforma actualmente existente, partindo não só das características técnicas das soluções em utilização, como dos problemas concretos identificados pelos seus utilizadores (programadores, testers, técnicos de sistema, formadores e Clientes), servindo esta análise de base para uma nova iteração do processo de melhoria. O primeiro resultado será assim o “estado da arte”, posicionando a plataforma no leque de soluções existentes e identificando, com detalhe e de forma sustentada, melhorias e alternativas ao desenvolvimento em curso.

 

A segunda tarefa consiste no desenvolvimento de novas funcionalidades, já identificadas, na componente “update-agent”, tendo em conta que o sistema deverá estar apto a passar nos testes da Microsoft (certified for). Esta tarefa implica alterações ao agente e, potencialmente, alterações ao módulo de Internet que disponibiliza os Web Services.

 

A terceira tarefa, mais complexa, consiste na análise e desenvolvimento de funcionalidades do “update agent organizer”. Neste módulo será necessário um conhecimento profundo da arquitectura das soluções da Ponto.C (soluções Web) de forma a identificar alternativas para o “build” automático das distribuições de um determinado Cliente. Na prática, será necessário responder à questão: “face ao código estável já inserido em CVS, que actualizações têm de ser construídas e para que Clientes?”. Para responder a esta questão será necessário aceder a toda a meta informação existente, identificando dependências e impactos, com base na estrutura existente.

 

Plano de Trabalhos - Semestre 1

-Análise da plataforma actualmente existente (update agent e update agent Internet Server) – mês 1

-Identificação de soluções alternativas – mês 2,3 (resultado: estado da arte que pode influenciar alguns desenvolvimentos propostos)

-Análise das restrições e condicionantes para a certificação Microsoft – mês 4 (resultado: relatório técnico)

-Alterações update agent tendo em conta o relatório técnico, estando integrado com a equipa de desenvolvimento responsável pelas alterações propostas – mês 4,5,6 (resultado: sistema passa com sucesso nos testes MS)

Plano de Trabalhos - Semestre 2

Análise do update agent organizer – meta informação e integração CVS – mês 7

- Proposta de solução para o “build” automático – mês 7 (resultado: especificação técnica)

- Desenvolvimento da solução proposta, integrado com equipa de desenvolvimento – mês 8-10 (resultado: código e documentação, com passagem nos testes de sistema executados na Ponto.C)

 

Condições

Local de trabalho: Aveiro – sede da Ponto.C.

O estagiário terá à sua disposição todos os recursos necessários ao desenvolvimento da plataforma.

O estágio é remunerado.

Selecção . Entrevista

Observações

Observações ou Elementos Adicionais:
Conhecimentos de programação em C#.

Conhecimentos de Oracle PL/SQL e/ou MS Transact SQL.

Excelente relacionamento interpessoal.

Preferencialmente com residência em Aveiro (segundo semestre).

Flexibilidade de horário no primeiro semestre.

Gosto por todos os tópicos da engenharia de Software.

Aspectos inovadores da proposta:

Integração de soluções já existentes com inclusão de meta informação.

Sistema adaptável e com outputs ajustados a vários intervenientes no processo, desde o programador ao Cliente.

Análise de impactos de alterações ao código.

Orientador

António Rodrigo Vieira Dias
adias@pontoc.pt 📩