Towards a case-based learning approach to support software architecture education Brauner R. N. Oliveira1and Elisa Y. Nakagawa1

2025-05-06 0 0 322.68KB 8 页 10玖币
侵权投诉
Towards a case-based learning approach to
support software architecture education
Brauner R. N. Oliveira1and Elisa Y. Nakagawa1
¹University of São Paulo, São Carlos, SP, Brazil
brauner@usp.br, elisa@icmc.usp.br
Abstract. Software architecture education remains challenging for in-
structors, students, and software industry professionals. Several initia-
tives have been proposed to mitigate the inherent challenges, including
games, supporting tools, collaborative courses, and hands-on projects.
Case-based learning has been introduced in software architecture, and its
benefits are recognized. However, choosing the right cases that cover the
stated learning objectives and developing learning activities to achieve
high-order learning are also challenging. The main goal of this paper is
to present a case-based learning approach that guides the development
of learning objectives, the finding and selection of real-world software
architecture cases, and the design of instructional activities. We applied
our approach in software architecture related courses during the past
few years. The results show that it can leverage the ways to adequately
explore cases for educational purposes while also motivating instructors
and students to the software architecture education.
Keywords: Software architecture education ·Case-based learning ·Teach-
ing.
1 Introduction
Several initiatives and experiences of teaching software architecture have been
published pointing out to what can be considered a consensus: Teaching software
architecture is a challenging task [1,2,3,4,5,6,7,8]. Several factors can explain it,
including the existing gap between low-level courses (e.g., programming and
data structures) and architecture [9], the difficulty to precisely define what soft-
ware architectures are exactly due to several existing definitions and notions
available1, and the high-order cognitive tasks and knowledge involved in archi-
tectural activities [4]. Moreover, students have difficulties with solving a given
problem when many ways exist to solve that problem, i.e., there is no single
best solution [2,4]; this is the case for software architecture design. In turn,
the architectural design process is difficult to be performed with confidence due
to many aspects to be considered when making architectural decisions, which
are sometimes made along with the software development [5]. In general, the
1What is your definition of software architecture?
arXiv:2210.04794v1 [cs.CY] 12 Sep 2022
2 Oliveira, B. R. N. and Nakagawa, E. Y.
desired skills of architects are mostly developed or gained through experience
over many years designing software architectures [3,5,8]. Otherwise, instructors
have usually a small amount of time during courses to address software architec-
ture topics that students further face in industry and also to teach those topics
in an adequate way that ease the path throughout their career. Other reasons
that make teaching software architecture too difficult are deeply discussed in
[4]. Without appropriate directions for teaching software architecture, designing
suitable architectures for particular problems becomes challenging for software
architects.
To overcome the inherent and challenging nature of teaching software ar-
chitecture, many initiatives were already proposed, as summarized in [10]. This
study reported several initiatives, including types of experience in software ar-
chitecture education, software architecture topics considered relevant for the
learning process, categories of learning objectives, and educational approaches.
For instance, [8] proposed a card game to support the learning process regarding
architectural decision making. Similarly, [5] developed a card game that leverages
the learning of ADD (Attribute-Driven Development). A project-based learning
approach was designed and applied to teach architectural design process in agile
projects [7]. Case-based learning has also been explored in different occasions
and ways to achieve simple to high-order learning objectives, including in soft-
ware architecture [6,11,12,13]. Whereas the use of cases for learning purposes has
benefits [14,15,16], the adoption of a case-based approach is not an easy task.
Instructors have had diverse inherent difficulties, such as the finding, selection,
and development of cases, design of instructional material, design of in-class ac-
tivities based on cases, and assurance that the learning objectives are achieved
appropriately, as also previously presented in [17]. Hence, the research question
that motivated the conduction of this work was: How is it possible to adequately
use case-based learning for software architecture education?
The main goal of this paper is to present CBSAE, a case-based learning
approach that explores the use of cases for software architecture education. In
short, CBSAE encompasses the definition of learning objectives, selection of cases
(i.e., finding and assessment of cases as well as conduction of case studies), and
design of instructional material and activities. For that, we used Design Science
as a research method and conducted three evaluations to verify the relevance of
adopting cases and the viability of our approach. As a result, we observe that
CBSAE is useful for leveraging software architecture education.
The remainder of this paper is organized as follows. Section 2 presents
CBSAE. Section 3 presents results of the preliminary evaluations, whereas
Section 4 discusses the results and future work, and Section 5 presents the
final remarks.
2 CBSAE: A Case-Based Learning Approach
CBSAE is composed of three main activities, as shown in Figure 1.1. Defini-
tion of Topics and Learning Objectives aims at establishing the learning
摘要:

Towardsacase-basedlearningapproachtosupportsoftwarearchitectureeducationBraunerR.N.Oliveira1andElisaY.Nakagawa1¹UniversityofSãoPaulo,SãoCarlos,SP,Brazilbrauner@usp.br,elisa@icmc.usp.brAbstract.Softwarearchitectureeducationremainschallengingforin-structors,students,andsoftwareindustryprofessionals.Se...

展开>> 收起<<
Towards a case-based learning approach to support software architecture education Brauner R. N. Oliveira1and Elisa Y. Nakagawa1.pdf

共8页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:图书资源 价格:10玖币 属性:8 页 大小:322.68KB 格式:PDF 时间:2025-05-06

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 8
客服
关注