Abstract
Background
Despite the potential benefits of software modelling, developers have shown a considerable reluctance towards its application. There is substantial existing research studying industrial use and technical challenges of modelling. However, there is a lack of detailed empirical work investigating how students perceive modelling.
Aim
We investigate the perceptions of students towards modelling in a university environment.
Method
We conducted a multiple case study with 5 cases (5 courses from 3 universities) and two units of analysis (student and instructor). We collected data through 21 semi-structured interviews, which we analysed using in-vivo coding and thematic analysis.
Results
Students see some benefits of modelling, e.g., using models for planning and communicating within the group. However, several factors negatively influence their understanding of modelling, e.g., assignments with unclear expectations, irregular and insufficient feedback on their models, and lack of experience with the problem domains.
Conclusions
Our findings help in understanding better why students struggle with software modelling, and might be reluctant to adopt it later on. Our recommendations on modelling education could help to improve education and training in software modelling, both at university and in industry. Specifically, we recommend that educators try to provide feedback beyond syntactical issues, and to consider using problem domains that students are knowledgeable about.
Similar content being viewed by others
Data Availability
We publish 13 out of the 21 anonymised interview transcripts on Zenodo, https://doi.org/10.5281/zenodo.6913780. We did not receive consent to publish the remaining 8 transcripts.
Notes
We used Konch (https://www.konch.ai/) and Go Transcript (https://gotranscript.com/).
References
Agner LTW, Soares IW, Stadzisz PC, Simão JM (2013) A brazilian survey on UML and model-driven practices for embedded software development. J Syst Softw 86(4):997–1005. SI : Software Engineering in Brazil: Retrospective and Prospective Views
Agner LT, Lethbridge TC, Soares IW (2019) Student experience with software modeling tools. Softw Syst Model 18(5):3025–3047. https://doi.org/10.1007/s10270-018-00709-6
Akayama S, Demuth B, Lethbridge TC, Scholz M, Stevens P, Stikkolorum DR (2013) Tool use in software modelling education. In: EduSymp@ MoDELS
Anda B, Hansen K, Gullesen I, Thorsen HK (2006) Experiences from introducing uml-based development in a large safety-critical project. Empir Softw Eng 11:555–581
Baker P, Loh S, Weil F (2005) Model-driven engineering in a large industrial context-motorola case study. In: International conference on model driven engineering languages and systems, Springer, pp 476–491
Bernonville S, Kolski C, Beuscart-Zephir MC (2005) Contribution and limits of uml models for task modelling in a complex organizational context: case study in the healthcare domain. In: Internet and information technology in modern organizations: challenges & answers, proceedings of The 5th international business information management association conference, IBIMA, pp 119–127
Burgueño L, Vallecillo A, Gogolla M (2018) Teaching uml and ocl models and their validation to software engineering students: an experience report. Comput Sci Educ 1–19 10.1080/08993408.2018.1462000
Chakraborty S, Liebel G (2022) Dataset: we do not understand what it says – studying student perceptions of software modelling. https://doi.org/10.5281/zenodo.6913780
Ciccozzi F, Taentzer G, Vallecillo A, Wimmer M, Famelis M, Lambers L, Mosser S, Paige R, Pierantonio A, Rensink A, Salay R (2018) How do we teach modelling and model-driven engineering? a survey. In: Proceedings of the 21st ACM/IEEE international conference on model driven engineering languages and systems: companion proceedings, pp 122–129
Dobing B, Parsons J (2008) Dimensions of uml diagram use: a survey of practitioners. J Database Manag (JDM) 19(1):1–18
Falessi D, Juristo N, Wohlin C, Turhan B, Münch J, Jedlitschka A, Oivo M (2018) Empirical software engineering experts on the use of students and professionals in experiments. Empir Softw Eng 23. https://doi.org/10.1007/s10664-017-9523-3
Forward A, Badreddin O, Lethbridge TC (2010) Perceptions of software modeling: a survey of software practitioners. In: 5th workshop from code centric to model centric: evaluating the effectiveness of MDD (C2M: EEMDD)
Garzón MA, Aljamaan H, Lethbridge TC (2015) Umple: a framework for model driven development of object-oriented systems. In: 2015 ieee 22nd international conference on software analysis, evolution, and reengineering (saner), IEEE, pp 494–498
Gilson F (2018) Teaching software language engineering and usability through students peer reviews. In: Proceedings of the 21st ACM/IEEE international conference on model driven engineering languages and systems: companion proceedings, pp 98–105
Gonnord L, Mosser S (2018) Practicing domain-specific languages: from code to models. In: Proceedings of the 21st ACM/IEEE international conference on model driven engineering languages and systems: companion proceedings, pp 106–113
Gorschek T, Tempero E, Angelis L (2014) On the use of software design models in software development practice: An empirical investigation. J Syst Softw 95:176–193
Hammouda I, Burden H, Heldal R, Chaudron MR (2014) Case tools versus pencil and paper. In: ACM/IEEE 17th Int. Conf. on model driven engineering languages and systems–educators symposium
Hiller J (2016) Epistemological foundations of objectivist and interpretivist research. Barcelona Publishers
Hutchinson J, Whittle J, Rouncefield M (2014) Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Sci Comput Program 89:144–161. Special issue on Success Stories in Model Driven Engineering. https://doi.org/10.1016/j.scico.2013.03.017
Hutchinson J, Rouncefield M, Whittle J (2011a) Model-driven engineering practices in industry. In: 2011 33rd International conference on software engineering (ICSE), pp 633–642. https://doi.org/10.1145/1985793.1985882
Hutchinson J, Whittle J, Rouncefield M, Kristoffersen S (2011b) Empirical assessment of mde in industry. In: 2011 33rd International Conference on Software Engineering (ICSE), pp 471–480. https://doi.org/10.1145/1985793.1985858
Kirstan S, Zimmermann J (2010) Evaluating costs and benefits of model-based development of embedded software systems in the car industry–results of a qualitative case study. In: Workshop C2M: EEMDD from code centric to model centric: evaluating the effectiveness of MDD
Kolovos DS, Cabot J (2016) Towards a corpus of use-cases for model-driven engineering courses. In: EduSymp/OSS4MDE@ MoDELS, pp 14–18
Kopach-Konrad R, Lawley M, Criswell M, Hasan I, Chakraborty S, Pekny J, Doebbeling BN (2007) Applying systems engineering principles in improving health care delivery. J Gen Intern Med 22(3):431–437
Krajcik JS, Blumenfeld PC (2006) Project-based learning. na
Lethbridge TC, Mussbacher G, Forward A, Badreddin O (2011) Teaching uml using umple: applying model-oriented programming in the classroom. In: 2011 24th IEEE-CS conference on software engineering education and training (CSEE &T), IEEE, pp 421–428
Liebel G, Marko N, Tichy M, Leitner A, Hansson J (2018a) Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Softw Syst Model 17(1):91–113. https://doi.org/10.1007/s10270-016-0523-3
Liebel G, Tichy M, Knauss E (2018b) Use, potential, and showstoppers of models in automotive requirements engineering. Softw Syst Model. https://doi.org/10.1007/s10270-018-0683-4
Liebel G, Badreddin O, Heldal R (2017) Model driven software engineering in education: a multi-case study on perception of tools and uml. In: 2017 IEEE 30th Conference on software engineering education and training (CSEE T), pp 124–133. https://doi.org/10.1109/CSEET.2017.29
Liebel G, Heldal R, Steghöfer JP .: Impact of the use of industrial modelling tools on modelling education. In: 2016 IEEE 29th International conference on software engineering education and training (CSEET), pp 18–27. https://doi.org/10.1109/CSEET.2016.18
Mohagheghi P, Gilani W, Stefanescu A, Fernandez MA, Nordmoen B, Fritzsche M (2013) Where does model-driven engineering help? experiences from three industrial cases. Softw Syst Model 12(3):619–639
Mohagheghi P, Dehlen V (2008) Where is the proof? - a review of experiences from applying mde in industry. In: Schieferdecker I, Hartman A (eds) Model driven architecture - foundations and applications, lecture notes in computer science, Springer Berlin Heidelberg, vol 5095 pp 432–443
Moody DL (2010) The ”physics” of notations: a scientific approach to designing visual notations in software engineering. In: 2010 ACM/IEEE 32nd International conference on software engineering, vol 2, pp 485–486. https://doi.org/10.1145/1810295.1810442
Oliveira K, Regina A, Rocha C, Travassos G, Menezes C (2000) Using domain-knowledge in software development environments. Tech. rep., CiteSeerX. https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.2007
Paige RF, Polack FA, Kolovos DS, Rose LM, Matragkas ND, Williams JR (2014) Bad modelling teaching practices. In: EduSymp@ MoDELS, pp. 1–12
Pascale CM (2010) Cartographies of knowledge: exploring qualitative epistemologies. Sage Publications
Petersen K, Gencel C (2013) Worldviews, research methods, and their relationship to validity in empirical software engineering research. In: 2013 joint conference of the 23rd international workshop on software measurement and the 8th international conference on software process and product measurement, IEEE, pp 81–89
Raistrick C (2004) Applying mda and uml in the development of a healthcare system. In: International conference on the unified modeling language, Springer, pp 203–218
Reuter R, Stark T, Sedelmaier Y, Landes D, Mottok J, Wolff C (2020) Insights in students’ problems during uml modeling. In: 2020 IEEE Global engineering education conference (EDUCON), pp 592–600. https://doi.org/10.1109/EDUCON45650.2020.9125110
Rugaber S (2000) The use of domain knowledge in program understanding. Ann Softw Eng 9(1):143–192
Runeson P (2003) Using students as experiment subjects - an analysis on graduate and freshmen student data.Proc 7th Int Conf Empir Assess Softw Eng
Runeson P, Höst M, Rainer A, Regnell B (2012) Case study research in software engineering – guidelines and examples. John Wiley & Sons Inc. https://doi.org/10.1002/9781118181034
Saldaña J (2015) The coding manual for qualitative researchers. SAGE Publications
Salman I, Mısırlı AT, Juristo N (2015) Are students representatives of professionals in software engineering experiments? In: 2015 IEEE/ACM 37th IEEE International conference on software engineering, vol 1, pp 666–676. https://doi.org/10.1109/ICSE.2015.82
Schmidt A, Kimmig D, Bittner K, Dickerhof M (2014) Teaching model-driven software development: revealing the" great miracle" of code generation to students. Proceedings of the sixteenth Australasian computing education conference-vol 148:97–104
Siau K, Loo PP (2006) Identifying difficulties in learning uml. Inf Syst Manag 23(3):43–51
Sjöberg DI, Anda B, Arisholm E, Dyba T, Jorgensen M, Karahasanovic A, Koren EF, Vokác M (2002) Conducting realistic experiments in software engineering. In: Proceedings international symposium on empirical software engineering, IEEE, pp 17–26
Stikkolorum DR, Ho-Quang T, Chaudron MR (2015) Revealing students’ uml class diagram modelling strategies with webuml and logviz. In: 2015 41st Euromicro conference on software engineering and advanced applications, pp 275–279. https://doi.org/10.1109/SEAA.2015.77
Stol KJ, Fitzgerald B (2018) The abc of software engineering research. ACM Trans Softw Eng Methodol (TOSEM) 27(3):1–51
Störrle H (2017) How are conceptual models used in industrial software development? a descriptive survey. In: Proceedings of the 21st international conference on evaluation and assessment in software engineering, pp 160–169
Torchiano M, Tomassetti F, Ricca F, Tiso A, Reggio G (2013) Relevance, benefits, and problems of software modelling and model driven techniques-a survey in the italian industry. J Syst Softw 86(8):2110–2126
Walderhaug S, Stav E, Mikalsen M (2008) Experiences from model-driven development of homecare services: uml profiles and domain models. In: International conference on model driven engineering languages and systems, Springer, pp 199–212
Westphal B (2019) Teaching software modelling in an undergraduate introduction to software engineering. In: 2019 ACM/IEEE 22nd International conference on model driven engineering languages and systems companion (MODELS-C), pp 690–699. https://doi.org/10.1109/MODELS-C.2019.00105
Whittle J, Hutchinson J, Rouncefield M (2014) The state of practice in model-driven engineering. IEEE Softw 31(3):79–85. https://doi.org/10.1109/MS.2013.65
Whittle J, Hutchinson J (2011) Mismatches between industry practice and teaching of model-driven software development. In: International conference on model driven engineering languages and systems, Springer, pp 40–47
Whittle J, Hutchinson J, Rouncefield M, Burden H, Heldal R (2013) Industrial adoption of model-driven engineering: Are the tools really the problem? In: International conference on model driven engineering languages and systems, Springer, pp 1–17
Wohlin C (2021) Case study research in software engineering-it is a case, and it is a study, but is it a case study? Inf Softw Technol 133:106514. https://doi.org/10.1016/j.infsof.2021.106514
Acknowledgements
We would like to thank the interviewees for participating in the study.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Competing Interests
The authors declare that they have no conflict of interest.
Additional information
Communicated by: Marco Torchiano.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix
A Interview Guides
We present two interview guides in this section used for students and instructors. We scheduled 40 minutes for student interviews and 30 minutes for instructor interviews. Interviews were recorded with permission from the interviewees.
1.1 A.1 Student Interview Guide
The interview starts with a small introduction of 5 minutes presented by the interviewer which consists the following points:
-
Asking permission to record the interview.
-
Introduction of the interviewer.
-
Explain the purpose of the study, the research questions.
-
Explain the rules of the interview.
Following the introduction, the interview starts. It has two parts, first the Introductory Questions. The duration of this part is 10 minutes.
-
1.
I1: Which degree are you currently pursuing? (in which major?)
-
2.
I2: Have you worked in industry? If yes, what role/domain?
-
3.
I3: Do you have any experience with modelling? What kind of experience do you have with modelling?
-
4.
I4: Go in detail with the experience, ask about syntax, diagrams that they had used before.
In the second part, Modelling Questions we go in detail with the modelling challenges and the duration is a maximum of 25 minutes. Before going into the modelling questions, the interviewer explains software modelling and her research interest in software modelling. The reason is to make sure that the interviewee has a clear idea and can give concrete answers.
- 1.:
-
M1: What experience do you have in software modelling?
- 2.:
-
M2: What did you like from your experience?
- 3.:
-
M3: What challenges did you face during your experience?
- 4.:
-
M4: In your opinion what are the reasons behind these challenges?
- 5.:
-
(If needed): When you are using a modelling notation what typically troubles you?
- 6.:
-
M5: How was your experience with modelling tools? Tell me about the tools you have used in the past.
- 7.:
-
M6: What did you like and dislike about each of those tools?
- 8.:
-
M7: For which purposes/in which situations (in SE) do you think modelling is useful? When is this not the case?
- 9.:
-
M8: In your case can you tell me of an experience where you found modelling useful?
- 10.:
-
M9: What advantages and disadvantages do you see in modelling?
- 11.:
-
M10: Did you get enough knowledge about modelling from the courses you have taken on the topic?
- 12.:
-
M11: What was missing from those courses?
- 13.:
-
M12: How would the perfect modelling course look like?
- 14.:
-
M13: Do you have any comments or suggestions?
1.2 A.2 Instructor Interview Guide
-
1.
Could you shortly describe which topics you cover in your course?
-
2.
Regarding modelling, what are you covering in the course?
-
1.
Are you teaching modelling notation (e.g., UML diagrams)?
-
2.
Are you teaching how to draw those models (example: identify nouns/verbs in a text to draw class diagrams)?
-
3.
Are you teaching how the models relate to code?
-
4.
Are you teaching semantics of modelling notations?
-
1.
-
5.
Roughly how much time is spent on modelling in your course?
-
6.
Regarding modelling, what is covered in assignments or exam?
-
7.
How do you think students perceive the modelling part of the course?
-
8.
What do you think are the things that students struggle with (with respect to modelling)?
-
9.
What challenges are you facing when teaching modelling?
-
10.
How do you think this could be improved?
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Chakraborty, S., Liebel, G. We do not understand what it says – studying student perceptions of software modelling. Empir Software Eng 28, 149 (2023). https://doi.org/10.1007/s10664-023-10404-w
Accepted:
Published:
DOI: https://doi.org/10.1007/s10664-023-10404-w