| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 5.79 MB | Adobe PDF | |||
| 1.74 KB | License |
Advisor(s)
Abstract(s)
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.
The modern concept of agile software development was introduced in the 1990s. Since its conception, this concept has dominated the industry due to the advantages it presents over previous development models. However, for agile development to be effectively applied, the company must have a well-optimized workflow. The start of a new software project is usually a time when teams lose some time. In addition to the definition and structuring of all the concepts that involve the project, it is also necessary to address all the “technical bureaucracies”. These bureaucracies include tasks such as creating the repositories where the code will be hosted and where version control will be done, defining the file structures for these repositories, among many others. This process requires some caution since it involves some decisions that will accompany the project from that moment forward. However, it is also usually a process that’s mostly manual, where mistakes can be made. The solution described in this document aims to help teams in these phases of project initiation, by automatically generating a skeleton for the entire project, with code templates for the backend and front-end components, as well as pipelines and Continuous Integration, Continuous Delivery (CI/CD) mechanisms to make the project deploy-ready. Thus, this solution would provide teams with an automatic way to carry out various tasks that are normally done manually, thus giving them the opportunity to use that time to start the project development immediately and avoid potential lapses resulting from human error. This thesis project was carried out for the company Critical TechWorks, which is a joint venture between Critical Software and the BMW Group. The solution described here was designed for the Infotainment & Interactivity Services area, whose objective is to develop services for the infotainment system of BMW cars.
The modern concept of agile software development was introduced in the 1990s. Since its conception, this concept has dominated the industry due to the advantages it presents over previous development models. However, for agile development to be effectively applied, the company must have a well-optimized workflow. The start of a new software project is usually a time when teams lose some time. In addition to the definition and structuring of all the concepts that involve the project, it is also necessary to address all the “technical bureaucracies”. These bureaucracies include tasks such as creating the repositories where the code will be hosted and where version control will be done, defining the file structures for these repositories, among many others. This process requires some caution since it involves some decisions that will accompany the project from that moment forward. However, it is also usually a process that’s mostly manual, where mistakes can be made. The solution described in this document aims to help teams in these phases of project initiation, by automatically generating a skeleton for the entire project, with code templates for the backend and front-end components, as well as pipelines and Continuous Integration, Continuous Delivery (CI/CD) mechanisms to make the project deploy-ready. Thus, this solution would provide teams with an automatic way to carry out various tasks that are normally done manually, thus giving them the opportunity to use that time to start the project development immediately and avoid potential lapses resulting from human error. This thesis project was carried out for the company Critical TechWorks, which is a joint venture between Critical Software and the BMW Group. The solution described here was designed for the Infotainment & Interactivity Services area, whose objective is to develop services for the infotainment system of BMW cars.
Description
Keywords
Archetype Scaffolding Full-stack Automação Desenvolvimento Software
