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

Detalhes bibliográficos
Autor(a) principal: SILVA, Fagner Fernandes Candido da
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
Texto Completo: 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 2221
spelling SILVA, Fagner Fernandes Candido dahttp://lattes.cnpq.br/9151681217843442http://lattes.cnpq.br/6613487636748832GARCIA, Vinícius Cardoso2024-02-29T12:21:11Z2024-02-29T12:21:11Z2023-10-31SILVA, 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/55286Software 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.engUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessLinguagens de programação e Engenharia de softwareTomada de decisãoFramework de tomada de decisãoArquitetura de softwareDesign de softwareDecisões arquiteturaisFAROL : a lightweight framework for decision-making in software architectureinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPELICENSElicense.txtlicense.txttext/plain; charset=utf-82362https://repositorio.ufpe.br/bitstream/123456789/55286/3/license.txt5e89a1613ddc8510c6576f4b23a78973MD53ORIGINALDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdfDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdfapplication/pdf5302874https://repositorio.ufpe.br/bitstream/123456789/55286/1/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf47dcedf69ecccfe98b544c338d03fc45MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/55286/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52TEXTDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdf.txtDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdf.txtExtracted texttext/plain243736https://repositorio.ufpe.br/bitstream/123456789/55286/4/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf.txtb83f994414e03f670fba2266e2735553MD54THUMBNAILDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdf.jpgDISSERTAÇÃO Fagner Fernandes Candido da Silva.pdf.jpgGenerated Thumbnailimage/jpeg1195https://repositorio.ufpe.br/bitstream/123456789/55286/5/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf.jpga60c5f4c1cb0e0bd7f4e1b805063df78MD55123456789/552862024-03-01 02:24:07.163oai:repositorio.ufpe.br:123456789/55286VGVybW8gZGUgRGVww7NzaXRvIExlZ2FsIGUgQXV0b3JpemHDp8OjbyBwYXJhIFB1YmxpY2l6YcOnw6NvIGRlIERvY3VtZW50b3Mgbm8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRQoKCkRlY2xhcm8gZXN0YXIgY2llbnRlIGRlIHF1ZSBlc3RlIFRlcm1vIGRlIERlcMOzc2l0byBMZWdhbCBlIEF1dG9yaXphw6fDo28gdGVtIG8gb2JqZXRpdm8gZGUgZGl2dWxnYcOnw6NvIGRvcyBkb2N1bWVudG9zIGRlcG9zaXRhZG9zIG5vIFJlcG9zaXTDs3JpbyBEaWdpdGFsIGRhIFVGUEUgZSBkZWNsYXJvIHF1ZToKCkkgLSBvcyBkYWRvcyBwcmVlbmNoaWRvcyBubyBmb3JtdWzDoXJpbyBkZSBkZXDDs3NpdG8gc8OjbyB2ZXJkYWRlaXJvcyBlIGF1dMOqbnRpY29zOwoKSUkgLSAgbyBjb250ZcO6ZG8gZGlzcG9uaWJpbGl6YWRvIMOpIGRlIHJlc3BvbnNhYmlsaWRhZGUgZGUgc3VhIGF1dG9yaWE7CgpJSUkgLSBvIGNvbnRlw7pkbyDDqSBvcmlnaW5hbCwgZSBzZSBvIHRyYWJhbGhvIGUvb3UgcGFsYXZyYXMgZGUgb3V0cmFzIHBlc3NvYXMgZm9yYW0gdXRpbGl6YWRvcywgZXN0YXMgZm9yYW0gZGV2aWRhbWVudGUgcmVjb25oZWNpZGFzOwoKSVYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIG9icmEgY29sZXRpdmEgKG1haXMgZGUgdW0gYXV0b3IpOiB0b2RvcyBvcyBhdXRvcmVzIGVzdMOjbyBjaWVudGVzIGRvIGRlcMOzc2l0byBlIGRlIGFjb3JkbyBjb20gZXN0ZSB0ZXJtbzsKClYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIFRyYWJhbGhvIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28sIERpc3NlcnRhw6fDo28gb3UgVGVzZTogbyBhcnF1aXZvIGRlcG9zaXRhZG8gY29ycmVzcG9uZGUgw6AgdmVyc8OjbyBmaW5hbCBkbyB0cmFiYWxobzsKClZJIC0gcXVhbmRvIHRyYXRhci1zZSBkZSBUcmFiYWxobyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvLCBEaXNzZXJ0YcOnw6NvIG91IFRlc2U6IGVzdG91IGNpZW50ZSBkZSBxdWUgYSBhbHRlcmHDp8OjbyBkYSBtb2RhbGlkYWRlIGRlIGFjZXNzbyBhbyBkb2N1bWVudG8gYXDDs3MgbyBkZXDDs3NpdG8gZSBhbnRlcyBkZSBmaW5kYXIgbyBwZXLDrW9kbyBkZSBlbWJhcmdvLCBxdWFuZG8gZm9yIGVzY29saGlkbyBhY2Vzc28gcmVzdHJpdG8sIHNlcsOhIHBlcm1pdGlkYSBtZWRpYW50ZSBzb2xpY2l0YcOnw6NvIGRvIChhKSBhdXRvciAoYSkgYW8gU2lzdGVtYSBJbnRlZ3JhZG8gZGUgQmlibGlvdGVjYXMgZGEgVUZQRSAoU0lCL1VGUEUpLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gQWJlcnRvOgoKTmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRlIGF1dG9yIHF1ZSByZWNhZW0gc29icmUgZXN0ZSBkb2N1bWVudG8sIGZ1bmRhbWVudGFkbyBuYSBMZWkgZGUgRGlyZWl0byBBdXRvcmFsIG5vIDkuNjEwLCBkZSAxOSBkZSBmZXZlcmVpcm8gZGUgMTk5OCwgYXJ0LiAyOSwgaW5jaXNvIElJSSwgYXV0b3Jpem8gYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIGEgZGlzcG9uaWJpbGl6YXIgZ3JhdHVpdGFtZW50ZSwgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkIChhcXVpc2nDp8OjbykgYXRyYXbDqXMgZG8gc2l0ZSBkbyBSZXBvc2l0w7NyaW8gRGlnaXRhbCBkYSBVRlBFIG5vIGVuZGVyZcOnbyBodHRwOi8vd3d3LnJlcG9zaXRvcmlvLnVmcGUuYnIsIGEgcGFydGlyIGRhIGRhdGEgZGUgZGVww7NzaXRvLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gUmVzdHJpdG86CgpOYSBxdWFsaWRhZGUgZGUgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGUgYXV0b3IgcXVlIHJlY2FlbSBzb2JyZSBlc3RlIGRvY3VtZW50bywgZnVuZGFtZW50YWRvIG5hIExlaSBkZSBEaXJlaXRvIEF1dG9yYWwgbm8gOS42MTAgZGUgMTkgZGUgZmV2ZXJlaXJvIGRlIDE5OTgsIGFydC4gMjksIGluY2lzbyBJSUksIGF1dG9yaXpvIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgUGVybmFtYnVjbyBhIGRpc3BvbmliaWxpemFyIGdyYXR1aXRhbWVudGUsIHNlbSByZXNzYXJjaW1lbnRvIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgcGFyYSBmaW5zIGRlIGxlaXR1cmEsIGltcHJlc3PDo28gZS9vdSBkb3dubG9hZCAoYXF1aXNpw6fDo28pIGF0cmF2w6lzIGRvIHNpdGUgZG8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRSBubyBlbmRlcmXDp28gaHR0cDovL3d3dy5yZXBvc2l0b3Jpby51ZnBlLmJyLCBxdWFuZG8gZmluZGFyIG8gcGVyw61vZG8gZGUgZW1iYXJnbyBjb25kaXplbnRlIGFvIHRpcG8gZGUgZG9jdW1lbnRvLCBjb25mb3JtZSBpbmRpY2FkbyBubyBjYW1wbyBEYXRhIGRlIEVtYmFyZ28uCg==Repositó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.pt_BR.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.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/9151681217843442
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6613487636748832
dc.contributor.author.fl_str_mv SILVA, Fagner Fernandes Candido da
dc.contributor.advisor1.fl_str_mv GARCIA, Vinícius Cardoso
contributor_str_mv GARCIA, Vinícius Cardoso
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.issued.fl_str_mv 2023-10-31
dc.date.accessioned.fl_str_mv 2024-02-29T12:21:11Z
dc.date.available.fl_str_mv 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.citation.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.
dc.identifier.uri.fl_str_mv 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.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
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
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/55286/3/license.txt
https://repositorio.ufpe.br/bitstream/123456789/55286/1/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf
https://repositorio.ufpe.br/bitstream/123456789/55286/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/55286/4/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/55286/5/DISSERTA%c3%87%c3%83O%20Fagner%20Fernandes%20Candido%20da%20Silva.pdf.jpg
bitstream.checksum.fl_str_mv 5e89a1613ddc8510c6576f4b23a78973
47dcedf69ecccfe98b544c338d03fc45
e39d27027a6cc9cb039ad269a5db8e34
b83f994414e03f670fba2266e2735553
a60c5f4c1cb0e0bd7f4e1b805063df78
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310670493941760