Repository logo
 
No Thumbnail Available
Publication

Melhorias no processo de desenvolvimento de software em contexto empresarial

Use this identifier to reference this record.
Name:Description:Size:Format: 
DM_HugoVinhal_2022_MEI.pdf7.59 MBAdobe PDF Download

Abstract(s)

A constante evolução tecnológica associada ao desenvolvimento de software tem cada vez mais levado a alterações significativas relativamente aos processos utilizados de forma a atingir os objetivos propostos. É cada vez maior o número de ferramentas e tecnologias que permitem não só facilitar a execução de tarefas repetitivas, mas também acelerar o tempo que as leva a realizar. Este trabalho é realizado em contexto empresarial (Critical Techworks) e nele são abordados os principais processos utilizados durante o desenvolvimento de software de um conjunto de aplicações de gestão interna da empresa. São apresentadas soluções para a automatização dos mesmos de forma a reduzir o tempo desperdiçado na sua execução e estudadas e avaliadas as tecnologias a utilizar durante o processo de desenvolvimento. É também efetuada uma proposta daquela que apresenta os maiores benefícios tendo em conta o contexto em que este trabalho se insere. Associados aos processos, muitas vezes as decisões tomadas relativamente aos estilos arquiteturais a utilizar são executadas precipitadamente dada a popularidade que os mesmos podem tomar. Dada a constante evolução arquitetural, cada vez mais é visto como uma boa prática a utilização de uma arquitetura orientada a microsserviços. Esta popularidade deve-se não só por esta apresentar um conjunto de vantagens quando comparada com outros estilos arquiteturais, mas também por, paralelamente, se assistir progressivamente a uma implantação de aplicações na cloud. Embora tipicamente considerada como uma arquitetura superior, quando comparada, por exemplo, com a arquitetura monolítica, variáveis como o contexto, maturidade da equipa desenvolvimento e vantagens/desvantagens associadas a ambas devem ser ponderadas. Posto isto, neste documento ambos os estilos arquiteturais são estudados, assim como os conceitos relacionados. Através da integração com um caso prático real, propostas de decomposição de um sistema monolítico são identificadas e é estudada uma possível migração para uma arquitetura orientada a microsserviços. Conceitos como automatização de processos existentes, melhorias na qualidade do código, aplicação de boas práticas de desenvolvimento de software e o estudo de tecnologias a utilizar são abordados em conjunto com o estudo realizado, de forma a assegurar que problemas existentes no sistema atual são eliminados.
The constant technological evolution associated with software development has increasingly led to significant changes in the processes used to achieve the proposed objectives. There is an increasing number of tools and technologies that not only facilitate the execution of repetitive tasks, but also accelerate the time it takes to perform them. This work is carried out in a business context (Critical Techworks), and it addresses the main processes used during the software development of a set of internal management applications of the company. Solutions are presented for their automation in order to reduce the time wasted in their execution and the technologies to be used during the development process are studied and evaluated. A proposal is also made of the one that presents the greatest benefits, considering the context in which this work is inserted. Associated with the processes, the decisions taken regarding the architectural styles to be used are often carried out hastily given the popularity they can take. Given the constant architectural evolution, it is increasingly seen as a good practice to use a microservices-oriented architecture. This popularity is due not only to the fact that it presents a set of advantages when compared to other architectural styles, but also because, in parallel, there is a progressive deployment of applications in the cloud. Although typically considered as a superior architecture, when compared, for example, with the monolithic architecture, variables such as the context, maturity of the development team and advantages/disadvantages associated with both must be considered. That said, in this document both architectural styles are studied, as well as related concepts. Through the integration with a real practical case, proposals for decomposing a monolithic system are identified and a possible migration to a microservices-oriented architecture is studied. Concepts such as automation of existing processes, improvements in code quality, application of good software development practices and the study of technologies to be used are approached together with the study carried out, in order to ensure that existing problems in the current system are eliminated.

Description

Keywords

microsserviços Monolítico Processos Tecnologias Microservices Monolith Processes Technologies

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License