Propostas Submetidas

DEI - FCTUC
Gerado a 2024-04-24 05:26:37 (Europe/Lisbon).
Voltar

Titulo Estágio

Desenvolvimento de Software com Base em Modelos

Áreas de especialidade

Engenharia de Software

Sistemas de Informação

Local do Estágio

Coimbra

Enquadramento

Com a evolução tecnológica a que temos vindo a assistir, e sendo a tendência continuar a ritmos ainda maiores, é percetível que os mais diversos sistemas serão cada vez maiores e mais complexos aumentado assim o desafio tecnológico. Uma possível e facilmente enumerada forma de mitigar esse acréscimo de complexidade será a utilização de mais recursos (humanos e materiais) e mais tempo de desenvolvimento.
No entanto, é também percetível que a evolução está a acontecer a ritmos demasiado elevados pelo que colocar mais pessoas ou estender os períodos de desenvolvimento não será a melhor forma de endereçar tamanha evolução. Uma outra forma de mitigar que tem ganho muita popularidade e força nos últimos anos é o reuse de sistemas ou partes de sistemas em suporte á elaboração de novos sistemas. Por forma a permitir que esta reutilização aconteça o mais naturalmente possível é de imperativa necessidade que os sistemas sejam desenvolvidos com bastante modularidade possibilitando então a fácil reutilização de cada módulo de um sistema para outro.
Uma forma de influenciar e suportar um desenho de software com boas características modulares é optar pelo desenvolvimento de software com base em modelos. Esta abordagem tem evoluído bastante nos últimos anos havendo diversas ferramentas capazes de auxiliar na modelação de software, incluindo a geração de código automaticamente, sendo o mesmo já certificado para vários standards de indústria.
Para além da vantagem já mencionada, optar por desenvolvimento de software com base em modelos também reduz a necessidade de efetuar revisão de código caso se use uma ferramenta com gerador de código certificado o que permite investir mais esforços no desenho do software aumentando assim a sua qualidade, ou até mesmo reduzindo o custo total do desenvolvimento de código fonte.
Pretende-se com este estágio estudar diversas ferramentas de modulação de software por forma a determinar pontos fortes e fracos de cada uma bem como a elaboração de convenções de desenho de software com base em modelos de acordo com disciplinas existentes tais como MBSE (Model Based Systems Engineering) baseada em SysML ou outras que se apliquem ao problema em causa.
O objetivo primordial é estudar, avaliar e criar um processo de desenvolvimento de software a ser seguido pelas equipas de engenharia.

Objetivo

O objetivo deste projeto de dissertação passa pela análise do estado da arte no que diz respeito ao desenvolvimento de software com base em modelos, ferramentas e processos existentes. Existe bastante matéria focada nesta problemática, no entanto é necessário o estudo e avaliação de metodologias por forma a perceber a melhor estratégia a aplicar a toda uma panóplia de sistemas críticos desenvolvidos nas áreas de ASDT (Aeronáutica, Espaço, Defesa e Transportes), tipicamente altamente reguladas por normas internacionais. Um importante tópico a ter em conta é a necessidade que a avaliação das metodologias considere as normas das diferentes áreas ASDT mencionadas por forma a que o processo resultante seja passível de ser aplicado a todas elas.
O aluno deverá analisar o estado da arte e prosseguir para elaboração e detalhe de um processo de desenvolvimento de software com base em modelos para sistemas críticos pertencentes a áreas de ASDT. Este processo deve considerar técnicas de modelação propriamente ditas, mas também técnicas de verificação e teste aplicáveis a soluções desenvolvidas com base em modelos.
Além disso deve ser desenvolvida uma prova de conceito do processo definido. Uma aplicação de software deve ser desenvolvida seguindo o processo definido por forma a que possa ser avaliado o resultado final.

Plano de Trabalhos - Semestre 1

- T1: Analise do estado da arte.
- T2: Analise de ferramentas de suporte ao desenvolvimento orientado a modelos existentes.
- T3: Avaliação e definição de um processo de desenvolvimento de software com base em modelos;
- T4: Elaboração do relatório intermédio;

Plano de Trabalhos - Semestre 2

- T5: Desenvolvimento de uma aplicação de software para prova de conceito do processo de desenvolvimento.
- T6: Escrita da dissertação sobre os temas acima abordados, assim como a preparação de duas apresentações anexas, uma para a avaliação académica e outra, mais técnica, para apresentação interna na Critical Software.

Condições

Bolsa de dissertação
O presente projeto de dissertação prevê a atribuição de uma bolsa mensal de 450 euros (considerando tempo integral). Esta bolsa é paga mensalmente e pretende ser uma ajuda para as despesas de deslocação e alimentação do aluno durante este período.
De salientar que, em contexto de dissertação, o foco das mais-valias que o aluno poderá obter estão associadas à aquisição de conhecimentos científicos e desenvolvimento de competências inerentes à sua integração profissional.

Observações

Perfil do Estagiário
A Critical Software procura um aluno com formação base de engenharia informática ou similar e que apresente conhecimentos base engenharia de Software e Modelação, em particular bons conhecimentos de UML e SysML.
Na escolha do candidato, a CRITICAL Software tem em conta, não só as suas competências técnicas como as competências comportamentais, sendo que as duas categorias de competências são avaliadas com uma importância semelhante. Espera-se igualmente que o candidato esteja motivado para integrar o programa formativo e de acompanhamento proposto pela Critical Software.
Note-se que é condição para a atribuição do projeto de dissertação a realização de uma entrevista com os candidatos interessados, reservando a Critical Software o direito de escolha do candidato mais adequado ao projeto em questão.

Confidencialidade
A informação transmitida pela CRITICAL Software no âmbito do projeto de Dissertação, incluindo documentos técnicos ou de gestão, diagramas, código ou outra informação relevante deve ser tratada com a máxima confidencialidade. O candidato a quem for atribuído o projeto de Dissertação deve assinar um acordo de obrigação de confidencialidade(NDA, Non Disclosure Agreement).

Orientador

Vitor Hugo Simões Conceição
vhconceicao@criticalsoftware.com 📩