Titulo Estágio
xGen: Desenvolvimento ágil de software com implementação de padrões de segurança
Áreas de especialidade
Engenharia de Software
Local do Estágio
Coimbra
Enquadramento
A geração de código tem evoluído de forma consistente nos últimos anos, tendo as ferramentas de desenvolvimento incorporado capacidades de geração de código mais evoluídas e de mais alto nível. Além disso têm surgido cada vez mais ferramentas de muito alto nível, que permitem a criação de aplicação de forma mais rápida e com menor necessidade de conhecimentos técnicos por parte do utilizador, como por exemplo o Kony ou Mendix. A xGen é uma plataforma RAD (Rapid Applications Development) que tem capacidade para gerar aplicações para várias arquiteturas, nomeadamente Web e Mobile. Possui como caraterística distintiva o facto de a partir da mesma configuração base ter a capacidade de gerar aplicações em várias tecnologias, e suporta arquiteturas distintas.
Objetivo
O presente estágio tem como objetivos a conceção e desenvolvimento de
características específicas da plataforma xGen para a geração de
aplicações web que respeitam por omissão os padrões de segurança
recomendados e do desenvolvimento de templates para a criação de
aplicações seguras por omissão. Para tal o estagiário vai-se focar em
analisar de forma crítica os padrões de desenvolvimento de software
seguro com o intuito de definir os requisitos de segurança padrão que
devem ser implementados aquando da geração das aplicações. Para esta
análise deverá ter-se em consideração as recomendações de
desenvolvimento e a mitigação das vulnerabilidades mais comuns
identificadas por entidades reconhecidas na indústria como a OWASP (ex:
OWASP Top Ten e OWASP Application Security Verification Standard 4.0).
Uma vez que o desenvolvimento de software seguro recorre tipicamente ao
uso de ferramentas de análise estática de código e produção e execução
de testes, é expectável que sejam analisadas também as boas práticas
nestes âmbitos para que sejam produzidos templates compatíveis com as
ferramentas identificadas e que seja produzida a
implementação/configuração necessária para a execução dos respetivos
testes.
Pretende-se deste modo que esta ferramenta promova uma cultura de
desenvolvimento de software seguro dentro das comunidades que usem a
xGen. Assim como incrementar a velocidade de desenvolvimento do software
sem diminuir o investimento dos programadores na implementação dos
requisitos de segurança.
Plano de Trabalhos - Semestre 1
Durante o 1º semestre, o projeto será composto pelas seguintes fases de desenvolvimento:
F1 – Análise do estado da arte (40% do semestre) – Análise de
soluções, boas práticas e as tecnologias a usar no projeto. É esperado
que sejam analisados outros projetos já desenvolvidos e em
desenvolvimento de modo a identificar pontos de melhoria.
F2 – Levantamento de requisitos (30% do semestre) – esta tarefa
consiste no levantamento de requisitos dos padrões a respeitar e módulos
a desenvolver.
F3 – Desenho (30% do semestre) – Desenho de arquitetura das aplicações a gerar e definição da hierarquia de templates.
Nota: o relatório para defesa intermédia do estágio deverá ser escrito ao longo do semestre.
Plano de Trabalhos - Semestre 2
Durante o 2º semestre, o projeto será composto pelas seguintes fases:
F4 – Implementação (70% do semestre) – Implementação dos requisitos
especificados em F2, seguindo as decisões arquiteturais tomadas em F3. O
desenvolvimento deverá seguir uma framework de desenvolvimento ágil,
com a implementação de testes unitários e de integração.
F5 – Testes (20% do semestre) – Desenvolvimento de testes funcionais
aos templates, para verificação dos requisitos. Implementação de
correções aos erros detetados.
Nota: o relatório para defesa final do estágio deverá ser escrito ao longo do semestre.
Condições
O local de trabalho será no Laboratório de Informática e Sistemas do
Instituto Pedro Nunes (IPN), caso a situação pandémica o permita.
Este trabalho será integrado num projeto de investigação internacional. O
estudante poderá candidatar-se a uma bolsa de investigação para
licenciado, durante um período de 6 meses, eventualmente renovável, com o
valor de 875,98 € / mês.
Orientador
Alcides Manuel de Almeida Marques
alcides.marques@ipn.pt 📩