A case-based approach for software architecture education and training

Bibliographic Details
Main Author: Oliveira, Brauner Roberto do Nascimento
Publication Date: 2024
Format: Doctoral thesis
Language: eng
Source: Biblioteca Digital de Teses e Dissertações da USP
Download full: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-11022025-151023/
Summary: Context: Software architecture education remains challenging for instructors, students, and software industry professionals. Several initiatives have been proposed to mitigate the inherent challenges, including games, supporting tools, collaborative courses, and hands-on projects. In addition to such initiatives, case-based approaches have been introduced for software architecture education and training, and its benefits are recognized. However, it is challenging to find, select, evaluate, and adapt cases to design instructions that are capable of achieving meaningful learning. Objective: In this sense, the main goal of this thesis is to provide the knowledge and means necessary to facilitate the employment of real cases for software architecture education and maximize the positive effects of such approach on students learning. Method: For that purpose, we employed a series of methods that comprises a literature review to understand and characterize the methods and approaches commonly employed to teach software architecture, and characterize the use of cases and real cases to support software architecture education, a mix of qualitative and quantitative methods to assess the perspective of students on the use of real cases in different ways and occasions, a mix of qualitative methods to develop a conceptual model, and action research to iteratively develop a case-based approach for software architecture education. Results: Besides providing a broad view of software architecture education, our results highlight the use of real cases as an important resource when teaching and learning software architecture concepts. The conceptual model in combination with our approach can support instructors in delivering a better overall experience with real cases. Conclusion: Using real cases to teach software architecture can be rewarding in several ways, both from the point of view of students and instructors. However, developing effective instruction based on such cases may require careful design and extra effort to achieve the desired learning objectives. In this sense, the use of a systematic approach is key to leverage the use of cases in software architecture education.
id USP_d3ea31ad0bfd3ad78bb121a43f9c6e37
oai_identifier_str oai:teses.usp.br:tde-11022025-151023
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling A case-based approach for software architecture education and trainingUma abordagem baseado em casos para o ensino e treinamento em arquitetura de softwareAprendizagem baseada em casosArquitetura de softwareCase-based learningEducação em arquitetura de softwareEducação em engenharia de softwareSoftware ArchitectureSoftware architecture educationSoftware engineering educationContext: Software architecture education remains challenging for instructors, students, and software industry professionals. Several initiatives have been proposed to mitigate the inherent challenges, including games, supporting tools, collaborative courses, and hands-on projects. In addition to such initiatives, case-based approaches have been introduced for software architecture education and training, and its benefits are recognized. However, it is challenging to find, select, evaluate, and adapt cases to design instructions that are capable of achieving meaningful learning. Objective: In this sense, the main goal of this thesis is to provide the knowledge and means necessary to facilitate the employment of real cases for software architecture education and maximize the positive effects of such approach on students learning. Method: For that purpose, we employed a series of methods that comprises a literature review to understand and characterize the methods and approaches commonly employed to teach software architecture, and characterize the use of cases and real cases to support software architecture education, a mix of qualitative and quantitative methods to assess the perspective of students on the use of real cases in different ways and occasions, a mix of qualitative methods to develop a conceptual model, and action research to iteratively develop a case-based approach for software architecture education. Results: Besides providing a broad view of software architecture education, our results highlight the use of real cases as an important resource when teaching and learning software architecture concepts. The conceptual model in combination with our approach can support instructors in delivering a better overall experience with real cases. Conclusion: Using real cases to teach software architecture can be rewarding in several ways, both from the point of view of students and instructors. However, developing effective instruction based on such cases may require careful design and extra effort to achieve the desired learning objectives. In this sense, the use of a systematic approach is key to leverage the use of cases in software architecture education.Contexto: O ensino e a aprendizagem de arquitetura de software continua a ser um desafio para instrutores, alunos e profissionais da indústria de software. Diversas iniciativas foram propostas para mitigar os desafios inerentes, incluindo jogos, ferramentas de apoio, cursos colaborativos e projetos práticos. Além dessas iniciativas, abordagens baseadas em casos foram introduzidas para ensinar arquitetura de software, e seus benefícios são reconhecidos. No entanto, é desafiador encontrar, selecionar, avaliar e adaptar casos para criar instruções capazes de alcançar um aprendizado significativo. Objetivo: Nesse sentido, o principal objetivo desta tese é fornecer o conhecimento e os meios necessários para facilitar o uso de casos reais na educação em arquitetura de software e maximizar os efeitos positivos dessa abordagem no aprendizado dos alunos. Método: Para isso, empregamos uma série de métodos que inclui uma revisão da literatura para entender e caracterizar os métodos e abordagens comumente utilizados para ensinar arquitetura de software e caracterizar o uso de casos e casos reais para apoiar a educação em arquitetura de software; uma combinação de métodos qualitativos e quantitativos para avaliar a perspectiva dos alunos sobre o uso de casos reais em diferentes formas e ocasiões; um método baseado em literatura, opiniões de especialistas e coding para desenvolver um modelo conceitual; e pesquisa-ação para desenvolver iterativamente uma abordagem baseada em casos para a educação em arquitetura de software. Resultados: Além de fornecer uma visão ampla da educação em arquitetura de software, nossos resultados destacam o uso de casos reais como um recurso importante no ensino e aprendizagem dos conceitos de arquitetura de software. O modelo conceitual, combinado com nossa abordagem, pode apoiar os instrutores na oferta de uma experiência melhor ao utilizar casos reais. Conclusão: Usar casos reais para ensinar arquitetura de software pode ser gratificante de várias maneiras, tanto do ponto de vista dos alunos quanto dos instrutores. No entanto, desenvolver instruções eficazes com base nesses casos pode exigir um planejamento cuidadoso e um esforço adicional para alcançar os objetivos de aprendizagem desejados. Nesse sentido, o uso de uma abordagem sistemática é fundamental para potencializar o uso de casos na educação em arquitetura de software.Biblioteca Digitais de Teses e Dissertações da USPNakagawa, Elisa YumiOliveira, Brauner Roberto do Nascimento2024-11-29info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-11022025-151023/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2025-02-11T17:20:02Zoai:teses.usp.br:tde-11022025-151023Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212025-02-11T17:20:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv A case-based approach for software architecture education and training
Uma abordagem baseado em casos para o ensino e treinamento em arquitetura de software
title A case-based approach for software architecture education and training
spellingShingle A case-based approach for software architecture education and training
Oliveira, Brauner Roberto do Nascimento
Aprendizagem baseada em casos
Arquitetura de software
Case-based learning
Educação em arquitetura de software
Educação em engenharia de software
Software Architecture
Software architecture education
Software engineering education
title_short A case-based approach for software architecture education and training
title_full A case-based approach for software architecture education and training
title_fullStr A case-based approach for software architecture education and training
title_full_unstemmed A case-based approach for software architecture education and training
title_sort A case-based approach for software architecture education and training
author Oliveira, Brauner Roberto do Nascimento
author_facet Oliveira, Brauner Roberto do Nascimento
author_role author
dc.contributor.none.fl_str_mv Nakagawa, Elisa Yumi
dc.contributor.author.fl_str_mv Oliveira, Brauner Roberto do Nascimento
dc.subject.por.fl_str_mv Aprendizagem baseada em casos
Arquitetura de software
Case-based learning
Educação em arquitetura de software
Educação em engenharia de software
Software Architecture
Software architecture education
Software engineering education
topic Aprendizagem baseada em casos
Arquitetura de software
Case-based learning
Educação em arquitetura de software
Educação em engenharia de software
Software Architecture
Software architecture education
Software engineering education
description Context: Software architecture education remains challenging for instructors, students, and software industry professionals. Several initiatives have been proposed to mitigate the inherent challenges, including games, supporting tools, collaborative courses, and hands-on projects. In addition to such initiatives, case-based approaches have been introduced for software architecture education and training, and its benefits are recognized. However, it is challenging to find, select, evaluate, and adapt cases to design instructions that are capable of achieving meaningful learning. Objective: In this sense, the main goal of this thesis is to provide the knowledge and means necessary to facilitate the employment of real cases for software architecture education and maximize the positive effects of such approach on students learning. Method: For that purpose, we employed a series of methods that comprises a literature review to understand and characterize the methods and approaches commonly employed to teach software architecture, and characterize the use of cases and real cases to support software architecture education, a mix of qualitative and quantitative methods to assess the perspective of students on the use of real cases in different ways and occasions, a mix of qualitative methods to develop a conceptual model, and action research to iteratively develop a case-based approach for software architecture education. Results: Besides providing a broad view of software architecture education, our results highlight the use of real cases as an important resource when teaching and learning software architecture concepts. The conceptual model in combination with our approach can support instructors in delivering a better overall experience with real cases. Conclusion: Using real cases to teach software architecture can be rewarding in several ways, both from the point of view of students and instructors. However, developing effective instruction based on such cases may require careful design and extra effort to achieve the desired learning objectives. In this sense, the use of a systematic approach is key to leverage the use of cases in software architecture education.
publishDate 2024
dc.date.none.fl_str_mv 2024-11-29
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-11022025-151023/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-11022025-151023/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1839839032383635456