FAROL : a lightweight framework for decision-making in software architecture

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: SILVA, Fagner Fernandes Candido da
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/55286
Resumo: Software development is a multifaceted activity. This makes architectural decision making a challenging matter. In the early stages, professionals often navigate a complex maze of considerations, leaving them on the brink of making critical decisions. These decisions have a high potential to impact the life cycle of the system and may even make it unfeasible. Therefore, how to choose a candidate software architecture proposal without losing critical aspects, respecting the specificity and purpose of the software? A lightweight architectural decision framework (FAROL) is proposed in this work to fill this knowledge gap. The motivation and research problem highlight the complexity of this type of decision, the impact of the lack of structured processes and the need for decision logic. The research questions in this work address these questions and examine practitioners’ reasoning about decisions, influencing factors, documentation practices, and principles considered. The literature review analyzes software architecture concepts and their relationship with decision making. It differentiates architecture and design, explains styles, and patterns, and covers theories of dual cognition. Decision techniques and documentation methods, such as records of architectural decisions, are explored. Nine principles for decision reasoning are described. The methodology surveys Brazilian IT experts to gain insights into current decision practices. The questions address confidence in the process, documentation, challenges, principles, factors that influence decision making. Threats to validity are analyzed. Comparison with existing structures highlights the possibility of customization in the use of the framework. Case studies demonstrate the application of FAROL to select architectures. Limitations include the need for more empirical assessments across contexts and the reliance on practitioner experience. However, FAROL provides a comprehensive methodology to promote informed decisions and continuous improvement. Ultimately, FAROL aims to bring systematic rigor to the ambiguous process of architectural choice. It offers practical guidance anchored in multidisciplinary theories and adapted for real- world projects. By elucidating the complex decision landscape, FAROL allows teams to navigate architectural tradeoffs.
id UFPE_21b91b68636359d285276bdd5216712e
oai_identifier_str oai:repositorio.ufpe.br:123456789/55286
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling FAROL : a lightweight framework for decision-making in software architectureLinguagens de programação e Engenharia de softwareTomada de decisãoFramework de tomada de decisãoArquitetura de softwareDesign de softwareDecisões arquiteturaisSoftware development is a multifaceted activity. This makes architectural decision making a challenging matter. In the early stages, professionals often navigate a complex maze of considerations, leaving them on the brink of making critical decisions. These decisions have a high potential to impact the life cycle of the system and may even make it unfeasible. Therefore, how to choose a candidate software architecture proposal without losing critical aspects, respecting the specificity and purpose of the software? A lightweight architectural decision framework (FAROL) is proposed in this work to fill this knowledge gap. The motivation and research problem highlight the complexity of this type of decision, the impact of the lack of structured processes and the need for decision logic. The research questions in this work address these questions and examine practitioners’ reasoning about decisions, influencing factors, documentation practices, and principles considered. The literature review analyzes software architecture concepts and their relationship with decision making. It differentiates architecture and design, explains styles, and patterns, and covers theories of dual cognition. Decision techniques and documentation methods, such as records of architectural decisions, are explored. Nine principles for decision reasoning are described. The methodology surveys Brazilian IT experts to gain insights into current decision practices. The questions address confidence in the process, documentation, challenges, principles, factors that influence decision making. Threats to validity are analyzed. Comparison with existing structures highlights the possibility of customization in the use of the framework. Case studies demonstrate the application of FAROL to select architectures. Limitations include the need for more empirical assessments across contexts and the reliance on practitioner experience. However, FAROL provides a comprehensive methodology to promote informed decisions and continuous improvement. Ultimately, FAROL aims to bring systematic rigor to the ambiguous process of architectural choice. It offers practical guidance anchored in multidisciplinary theories and adapted for real- world projects. By elucidating the complex decision landscape, FAROL allows teams to navigate architectural tradeoffs.O desenvolvimento de software é uma atividade multifacetada. Isso faz com que a tomada de decisão arquitetural seja uma questão desafiadora. Nas fases iniciais, os profissionais muitas vezes navegam num complexo labirinto de considerações, ficando à beira da tomada de decisões críticas. Essas decisões possuem um elevado potencial de impactar no ciclo de vida do sistema, podendo até mesmo, inviabilizá-lo. Sendo assim, como escolher uma proposta candidata de arquitetura de software sem perder aspectos críticos, respeitando a especificidade e a finalidade do software? Um framework de decisão arquitetural leve (FAROL) é proposto neste trabalho para preencher esta lacuna de conhecimento. A motivação e o problema de pesquisa destacam a complexidade desse tipo de decisão, o impacto da falta de processos estruturados e a necessidade de lógica de decisão. As perguntas de pesquisa desse trabalho abordam essas questões e examinam o raciocínio dos praticantes sobre decisões, fatores de influência, práticas de documentação e princípios considerados. A revisão de literatura analisa conceitos de arquitetura de software e sua relação com a tomada de decisão. Ele diferencia arquitetura e design, explica estilos e padrões e cobre teorias de cognição dual. Técnicas de decisão e métodos de documentação, como registros de decisões arquitetônicas, são explorados. Nove princípios para o raciocínio de decisão são descritos. A metodologia pesquisa especialistas brasileiros em TI para obter insights sobre as práticas de decisão atuais. As perguntas abordam a confiança no processo, documentação, desafios, princípios, fatores que influenciam à tomada de decisão. Ameaças à validade são analisadas. A comparação com as estruturas existentes destaca a possibilidade de personalização no uso do framework. Estudos de caso demonstram a aplicação do FAROL para selecionar arquiteturas. As limitações incluem a necessidade de mais avaliações empíricas em contextos e a dependência da experiência do profissional. No entanto, FAROL fornece uma metodologia abrangente para promover decisões informadas e melhoria contínua. Por fim, o FAROL visa trazer rigor sistemático ao processo ambíguo de escolha arquitetônica. Ele oferece orientação prática ancorada em teorias multidisciplinares e adaptada para projetos do mundo real. Ao elucidar o complexo cenário de decisões, o FAROL permite que as equipes naveguem pelos tradeoffs arquiteturais.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoGARCIA, Vinícius Cardosohttp://lattes.cnpq.br/9151681217843442http://lattes.cnpq.br/6613487636748832SILVA, Fagner Fernandes Candido da2024-02-29T12:21:11Z2024-02-29T12:21:11Z2023-10-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfSILVA, Fagner Fernandes Candido da. FAROL: a lightweight framework for decision-making in software architecture. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.https://repositorio.ufpe.br/handle/123456789/55286engAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2024-03-01T05:24:07Zoai:repositorio.ufpe.br:123456789/55286Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212024-03-01T05:24:07Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv FAROL : a lightweight framework for decision-making in software architecture
title FAROL : a lightweight framework for decision-making in software architecture
spellingShingle FAROL : a lightweight framework for decision-making in software architecture
SILVA, Fagner Fernandes Candido da
Linguagens de programação e Engenharia de software
Tomada de decisão
Framework de tomada de decisão
Arquitetura de software
Design de software
Decisões arquiteturais
title_short FAROL : a lightweight framework for decision-making in software architecture
title_full FAROL : a lightweight framework for decision-making in software architecture
title_fullStr FAROL : a lightweight framework for decision-making in software architecture
title_full_unstemmed FAROL : a lightweight framework for decision-making in software architecture
title_sort FAROL : a lightweight framework for decision-making in software architecture
author SILVA, Fagner Fernandes Candido da
author_facet SILVA, Fagner Fernandes Candido da
author_role author
dc.contributor.none.fl_str_mv GARCIA, Vinícius Cardoso
http://lattes.cnpq.br/9151681217843442
http://lattes.cnpq.br/6613487636748832
dc.contributor.author.fl_str_mv SILVA, Fagner Fernandes Candido da
dc.subject.por.fl_str_mv Linguagens de programação e Engenharia de software
Tomada de decisão
Framework de tomada de decisão
Arquitetura de software
Design de software
Decisões arquiteturais
topic Linguagens de programação e Engenharia de software
Tomada de decisão
Framework de tomada de decisão
Arquitetura de software
Design de software
Decisões arquiteturais
description Software development is a multifaceted activity. This makes architectural decision making a challenging matter. In the early stages, professionals often navigate a complex maze of considerations, leaving them on the brink of making critical decisions. These decisions have a high potential to impact the life cycle of the system and may even make it unfeasible. Therefore, how to choose a candidate software architecture proposal without losing critical aspects, respecting the specificity and purpose of the software? A lightweight architectural decision framework (FAROL) is proposed in this work to fill this knowledge gap. The motivation and research problem highlight the complexity of this type of decision, the impact of the lack of structured processes and the need for decision logic. The research questions in this work address these questions and examine practitioners’ reasoning about decisions, influencing factors, documentation practices, and principles considered. The literature review analyzes software architecture concepts and their relationship with decision making. It differentiates architecture and design, explains styles, and patterns, and covers theories of dual cognition. Decision techniques and documentation methods, such as records of architectural decisions, are explored. Nine principles for decision reasoning are described. The methodology surveys Brazilian IT experts to gain insights into current decision practices. The questions address confidence in the process, documentation, challenges, principles, factors that influence decision making. Threats to validity are analyzed. Comparison with existing structures highlights the possibility of customization in the use of the framework. Case studies demonstrate the application of FAROL to select architectures. Limitations include the need for more empirical assessments across contexts and the reliance on practitioner experience. However, FAROL provides a comprehensive methodology to promote informed decisions and continuous improvement. Ultimately, FAROL aims to bring systematic rigor to the ambiguous process of architectural choice. It offers practical guidance anchored in multidisciplinary theories and adapted for real- world projects. By elucidating the complex decision landscape, FAROL allows teams to navigate architectural tradeoffs.
publishDate 2023
dc.date.none.fl_str_mv 2023-10-31
2024-02-29T12:21:11Z
2024-02-29T12:21:11Z
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 SILVA, Fagner Fernandes Candido da. FAROL: a lightweight framework for decision-making in software architecture. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
https://repositorio.ufpe.br/handle/123456789/55286
identifier_str_mv SILVA, Fagner Fernandes Candido da. FAROL: a lightweight framework for decision-making in software architecture. 2023. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.
url https://repositorio.ufpe.br/handle/123456789/55286
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1856041911646683136