Software modeling is an integral practice for software engineers, especially as the complexity of software solutions increases. Unified Modeling Language (UML) is the industry standard for software modeling. however, it is often used incorrectly and misunderstood by novice software designers. This study is centered around understanding patterns of student proficiency of abstraction and systems thinking within a software modeling context. The participants of this study (n = 97) belonged to a systems analysis and design course that is primarily taken by second-year university students. The exam solutions to a case study from the course were evaluated for modeling proficiency. As evidence of proficiency in abstract thinking and systems thinking, we evaluated UML activity diagrams, class diagrams, and sequence diagrams and the alignment between these representations in terms of functions, structures, and behaviors. The results suggest students being proficient in modeling the functional aspects of an information system while facing some difficulty in capturing the structural and behavioral aspects of an information system. Clustering analysis revealed two groups within the sample, with one group displaying a significantly higher abstraction and systems thinking ability. Statistically significant correlations were also found between student proficiency of abstraction and their modeling proficiency in terms of functions, structures, and behaviors.
ACM Transactions on Computing Education (TOCE) – Association for Computing Machinery
Published: Jul 22, 2021
Keywords: Abstract thinking