Publicação
Archetype para Projetos Full-stack
| 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 |
| 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. |
|---|