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 📩