FAROL : a lightweight framework for decision-making in software architecture
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFPE |
dARK ID: | ark:/64986/00130000093jj |
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/55286ark:/64986/00130000093jjSoftware 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 |
dc.identifier.dark.fl_str_mv |
ark:/64986/00130000093jj |
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. ark:/64986/00130000093jj |
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_ |
1815172765539368960 |