Publicação

Archetype para Projetos Full-stack

Ver documento

Detalhes bibliográficos
Resumo:O conceito moderno de desenvolvimento ágil de software foi introduzido nos anos 90. Desde a sua conceção, este conceito tem dominado a indústria devido às vantagens que apresenta em relação a modelos anteriores de desenvolvimento (Hoda, Salleh e Grundy 2018). Contudo, para o desenvolvimento ágil ser eficazmente aplicado, a empresa tem de possuir um fluxo de trabalho bem otimizado. O começo de um novo projeto de software é, normalmente, um momento onde as equipas perdem algum tempo. Para além da definição e estruturação de todos os conceitos que envolvem o projeto, é também necessário tratar de todas as “burocracias técnicas”. Essas burocracias incluem tarefas como criar os repositórios onde o código vai estar alojado e onde será feito o controlo de versões, definir as estruturas de ficheiros para esses repositórios, entre muitas outras. Esse processo exige algum cuidado, uma vez que envolve algumas decisões que vão acompanhar o projeto daí para a frente. Contudo, é também, habitualmente, um processo maioritariamente manual, onde erros podem ser cometidos. A solução descrita neste documento tem como objetivo ajudar as equipas nessas fases de início de projetos, gerando automaticamente um esqueleto para todo o projeto, com templates de código para as componentes back-end e front-end, assim como pipelines e mecanismos de Continuous Integration, Continuous Delivery (CI/CD) para tornar o projeto deploy-ready. Assim, esta solução iria proporcionar às equipas uma forma automática de realizar várias tarefas que são normalmente efetuadas de forma manual, dando-lhes assim a oportunidade de utilizarem esse tempo para começarem imediatamente o desenvolvimento dos projetos e evitando potenciais lapsos provenientes de erro humano. Este projeto de tese foi realizado para a empresa Critical TechWorks, que é uma joint venture entre a Critical Software e o Grupo BMW. A solução aqui descrita foi idealizada para a área de Infotainment & Interactivity Services, cujo objetivo é desenvolver serviços para o sistema de infoentretenimento dos carros da BMW.
Autores principais:Ferreira, Telmo José Guedes Alpoim
Assunto:Archetype Scaffolding Full-stack Automação Desenvolvimento Software
Ano:2021
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Instituto Politécnico do Porto
Idioma:português
Origem:Repositório Científico do Instituto Politécnico do Porto
Descrição
Resumo:O conceito moderno de desenvolvimento ágil de software foi introduzido nos anos 90. Desde a sua conceção, este conceito tem dominado a indústria devido às vantagens que apresenta em relação a modelos anteriores de desenvolvimento (Hoda, Salleh e Grundy 2018). Contudo, para o desenvolvimento ágil ser eficazmente aplicado, a empresa tem de possuir um fluxo de trabalho bem otimizado. O começo de um novo projeto de software é, normalmente, um momento onde as equipas perdem algum tempo. Para além da definição e estruturação de todos os conceitos que envolvem o projeto, é também necessário tratar de todas as “burocracias técnicas”. Essas burocracias incluem tarefas como criar os repositórios onde o código vai estar alojado e onde será feito o controlo de versões, definir as estruturas de ficheiros para esses repositórios, entre muitas outras. Esse processo exige algum cuidado, uma vez que envolve algumas decisões que vão acompanhar o projeto daí para a frente. Contudo, é também, habitualmente, um processo maioritariamente manual, onde erros podem ser cometidos. A solução descrita neste documento tem como objetivo ajudar as equipas nessas fases de início de projetos, gerando automaticamente um esqueleto para todo o projeto, com templates de código para as componentes back-end e front-end, assim como pipelines e mecanismos de Continuous Integration, Continuous Delivery (CI/CD) para tornar o projeto deploy-ready. Assim, esta solução iria proporcionar às equipas uma forma automática de realizar várias tarefas que são normalmente efetuadas de forma manual, dando-lhes assim a oportunidade de utilizarem esse tempo para começarem imediatamente o desenvolvimento dos projetos e evitando potenciais lapsos provenientes de erro humano. Este projeto de tese foi realizado para a empresa Critical TechWorks, que é uma joint venture entre a Critical Software e o Grupo BMW. A solução aqui descrita foi idealizada para a área de Infotainment & Interactivity Services, cujo objetivo é desenvolver serviços para o sistema de infoentretenimento dos carros da BMW.