Propostas atribuídas ano letico 2025/2026

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

Titulo Estágio

Suporte a protecção de software à pirataria, internacionalização e desenvolvimento multi-plataforma

Área Tecnológica

Informática Industrial

Local do Estágio

Parque Empresarial de Eiras, Lote 5, 3020-265 Coimbra

Enquadramento

A empresa Acontrol criou à 2 anos um núcleo de I&DT que actua nas áreas de software e electrónica industrial, nomeadamente no desenvolvimento de produtos de controle, aquisição e comunicação industrial. Anteriormente dispunha de 2 áreas de negócio:
    1) Instalações eléctricas
    2) Automação de sistemas e processos
Este tipo de empresas tem a denominação genérica de integradores de sistemas. Em termos de engenharia executamos trabalho em termos de programação de máquina e interligação dos diferentes sistemas existente no processo fabril. Devido à larga experiência nesta área, estamos a desenvolver soluções baseadas em necessidades dos nossos clientes encontradas pela equipa de engenharia (consideradas gerais a todo o mercado). Esta mesma equipa de automação está a aplicar os produtos nos nossos clientes, pelo que até ao momento não existiu uma necessidade de uma protecção forte aos nossos produtos nem uma forma de suporte à internacionalização de software.

Embora esta estratégia tenha resultado durante este curto espaço de tempo, pretendemos começar o estudo de alguns destes problemas.

Protecção de Software:
Estudo da melhor forma de protecção de software:
 - Password de instalação
 - Necessidade de registo on-line
 - Hasp key
 - etc
este estudo terá de ter considerações técnicas e económicas do mesmo, nomeadamente possibilidade de expandir para um processo automático de distribuição de software. Após o estudo serão feitos testes em aplicações exemplo que estagiário e em software com potencial de comercialização.

Internacionalização:
Actualmente os textos destinados a apresentação ao utilizador do software estão a ser guardados no código fonte da aplicação. Tal metodologia não é correcta se pretendemos fornecer o nosso software em várias línguas, pelo que a introdução de nova metodologia é necessária. Era preferível utilizarem-se ferramentas grátis, como a biblioteca open-source  "gettext", no entanto um estudo sobre este assunto terá de ser realizado. Após o estudo serão feitos testes em aplicações exemplo que estagiário e em software cujo desenvolvimento esteja a decorrer no momento.
Uma má introdução de técnicas de internacionalização irá introduzir um possível overhead na programação do software e consequentemente aumentando o custo de desenvolvimento, pelo que será muito importante tomar em atenção a opinião dos final dos programadores e alterar o método caso necessário.

As técnicas que são hoje utilizadas no desenvolvimento do código fonte têm em atenção um futuro suporte a multi-plataforma (windows, linux, etc). Hoje em dia utiliza-se o ambiente gráfico Gtk+ que permitirá transportar o código fonte de uma plataforma para outra e a resto do código é C++ standard. Entretanto falta igualmente os métodos de compilação do software de forma a minimizar o trabalho para todas as plataformas, podendo ser executado o estudo sobre compiladores multi-plataforma (GCC+MINGWIN) e ferramentas de suporte à compilação (autotools/CMake). Devido a alguns projectos não terem instaladores de fácil utilização, caso seja necessário criar instaladores de software livre o trabalho ficará a cargo do estagiário. A utilização de "IFNDEF clauses" ou outro método também terá de ser estudada para selecção de código especifico por plataforma, por existir consequências nefastas para compreensão de código fonte.
A conclusão e obtenção de resultados desta parte do trabalho far-se-à pela compilação de software de teste. Nos aspectos que alterem o modo de trabalho dos actuais programadores as opiniões serão tidas em conta, e alterações aos estudos iniciais serão feitos se necessário.

Objetivo

Este estágio tem como principal objectivo o estudo e teste de metodologias de suporte à protecção de software contra pirataria, internacionalização do software (i18n) e suporte ao desenvolvimento de software multi-plataforma. Em todos os tópicos de trabalho um estudo técnico e económico terá de ser executado, tomando em conta as várias tecnologias existentes no mercado. Os testes finais de cada tópico será executado em 2 partes: (i) pelo estagiário; (ii) pelos programadores na empresa. A opinião dos programadores actuais será muito importante para o decorrer deste trabalho.

Durante o trabalho é preferível que as ferramentas adoptadas sigam alinha de licenciamento open-source (LGPL, BSD, etc) para uma possível redução de custos, devendo o estagiário estar acostumado com este tipo de ferramentas. É importante que as ferramentas propostas tenham instaladores amigáveis, o que não acontece em algumas ferramentas open-source, devendo em alguns casos o estagiário cri-à-los (possíveis ferramentas: Inno Setup, ISTool).

Assim os objectivos genéricos do projecto são:
 - Estudo e implementação de métodos de protecção de software à pirataria.
 - Estudo e implementação de métodos de suporte à internacionalização (i18n) de software
 - Estudo e implementação de métodos com suporte ao desenvolvimento de software multi-plataforma.

Plano de Trabalhos - Semestre 1

 - Estudo de técnicas de protecção de software [mínimo 256h]
    - Análise de técnicas existentes
    - Proposta e exposição das melhores
    - Implementação e testes

Plano de Trabalhos - Semestre 2

 - Conclusão da implementação técnicas de protecção de software [mínimo 150h]

 - Estudo à técnicas de internacionalização de software [mínimo 290h]
    - Análise de técnicas existentes
    - Proposta e exposição das melhores
    - Implementação e testes

 - Estudo a técnicas de desenvolvimento de aplicações multi-plataforma [mínimo 200h]
    - Estudo e apresentação de técnicas e aplicações de suporte
    - Desenvolvimento de tutorial de instalação de aplicações
    - Criação de instaladores de software necessários

Condições

Os candidatos a este estágio deverão possuir conhecimentos nas seguintes áreas:
    * Programação de computadores
    * Linguagem de programação C/C++
    * Criação de executáveis de distribuição (windows, linux)

Para além destas aptidões, os candidatos deverão ainda ter:
    * Facilidade em elaboração de documentação em Inglês
    * Boas capacidades de comunicação e cumprimento de deadlines

O estágio não é remunerado, no entanto será fornecido o pagamento integral dos almoços quando em trabalho na empresa.

Orientador

Pedro Ângelo Morais de Sousa
pasousa@acontrol.pt 📩