Melhorias no processo de desenvolvimento de software em contexto empresarial

Detalhes bibliográficos
Autor(a) principal: Vinhal, Hugo Monteiro
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.22/21045
Resumo: 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.
id RCAP_7bf9ced944de40c75fdd5c88e5ac16df
oai_identifier_str oai:recipp.ipp.pt:10400.22/21045
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Melhorias no processo de desenvolvimento de software em contexto empresarialmicrosserviçosMonolíticoProcessosTecnologiasMicroservicesMonolithProcessesTechnologiesA 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.Ferreira, Nuno Alexandre CastroRepositório Científico do Instituto Politécnico do PortoVinhal, Hugo Monteiro2023-07-25T00:32:09Z20222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/21045TID:203086627porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-26T01:49:11Zoai:recipp.ipp.pt:10400.22/21045Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:41:08.113640Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Melhorias no processo de desenvolvimento de software em contexto empresarial
title Melhorias no processo de desenvolvimento de software em contexto empresarial
spellingShingle Melhorias no processo de desenvolvimento de software em contexto empresarial
Vinhal, Hugo Monteiro
microsserviços
Monolítico
Processos
Tecnologias
Microservices
Monolith
Processes
Technologies
title_short Melhorias no processo de desenvolvimento de software em contexto empresarial
title_full Melhorias no processo de desenvolvimento de software em contexto empresarial
title_fullStr Melhorias no processo de desenvolvimento de software em contexto empresarial
title_full_unstemmed Melhorias no processo de desenvolvimento de software em contexto empresarial
title_sort Melhorias no processo de desenvolvimento de software em contexto empresarial
author Vinhal, Hugo Monteiro
author_facet Vinhal, Hugo Monteiro
author_role author
dc.contributor.none.fl_str_mv Ferreira, Nuno Alexandre Castro
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Vinhal, Hugo Monteiro
dc.subject.por.fl_str_mv microsserviços
Monolítico
Processos
Tecnologias
Microservices
Monolith
Processes
Technologies
topic microsserviços
Monolítico
Processos
Tecnologias
Microservices
Monolith
Processes
Technologies
description 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.
publishDate 2022
dc.date.none.fl_str_mv 2022
2022-01-01T00:00:00Z
2023-07-25T00:32:09Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.22/21045
TID:203086627
url http://hdl.handle.net/10400.22/21045
identifier_str_mv TID:203086627
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799131499418615808