skip to main content
10.1145/3593663.3593670acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecseeConference Proceedingsconference-collections
research-article

Tool-Based Software Engineering Education for Software Design Patterns and Software Architecture Patterns - a Systematic Literature Review

Published: 19 June 2023 Publication History

Abstract

This paper aims to gather tools from the scientific literature that can be used to teach software design patterns and software architecture patterns. The underlying procedure is a systematic literture review based on Kitchenham’s methodology. In order to improve categorization and clarify the objectives and focus, this systematic literature review was classified according to Cooper’s taxonomy. The presentation of the results following the underlying research questions of the tools found and listed includes the general description, the presentation of the functionalities, the support of the tools in teaching as well as a classification of the functionalities into the five areas: description, detection, selection, application, and implementation.

References

[1]
K.S.Y. Al-Tahat, A.N. Al-ahmad, N.B. Kallajo, and W.B. Al-Jayyousi. 2006. A Design Pattern Management Tool for Educational Purposes. Institute of Electrical and Electronics Engineers (IEEE), 31–35. https://doi.org/10.1109/ictta.2006.1684340
[2]
Christopher Alexander, Sara Ishikawa, and Murray Silverstein. 1977. A Pattern Language: Towns, Buildings, Construction. Oxford University Press. http://www.amazon.fr/exec/obidos/ASIN/0195019199/citeulike04-21
[3]
Apostolos Ampatzoglou, Sofia Charalampidou, and Ioannis Stamelos. 2013. Research state of the art on GoF design patterns: A mapping study. Journal of Systems and Software 86 (2013), 1945–1964. Issue 7. https://doi.org/10.1016/j.jss.2013.03.063
[4]
Muhammad Zeeshan Asghar, Khubaib Amjad Alam, and Shahzeb Javed. 2019. Software Design Patterns Recommendation : A Systematic Literature Review. 2019 International Conference on Frontiers of Information Technology (FIT), 167–1675. https://doi.org/10.1109/FIT47737.2019.00040
[5]
Zain Azimullah, Young Sun An, and Paul Denny. 2020. Evaluating an interactive tool for teaching design patterns. ACE 2020 - Proceedings of the 22nd Australasian Computing Education Conference, Held in conjunction with Australasian Computer Science Week, 167–176. https://doi.org/10.1145/3373165.3373184
[6]
B. Bafandeh Mayvan, A. Rasoolzadegan, and Z. Ghavidel Yazdi. 2017. The state of the art on design patterns: A systematic mapping of the literature. Journal of Systems and Software 125 (2017), 93–118. https://doi.org/10.1016/j.jss.2016.11.030
[7]
M. Boskovic, D. Gasevic, and V. Devedzic. 2005. PatternGuru: an educational system for software patterns. Fifth IEEE International Conference on Advanced Learning Technologies (ICALT’05) 2005, 650–654. https://doi.org/10.1109/ICALT.2005.218
[8]
Violeta Bozhikova, Mariana Stoeva, Bozhidar Georgiev, and Dimitrichka Nikolaeva. 2017. Improving the software quality — an educational approach. 2017 XXVI International Scientific Conference Electronics (ET), 1–4. https://doi.org/10.1109/ET.2017.8124337
[9]
Pearl Brereton, Barbara A. Kitchenham, David Budgen, Mark Turner, and Mohamed Khalil. 2007. Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software 80 (4 2007), 571–583. Issue 4. https://doi.org/10.1016/j.jss.2006.07.009
[10]
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Wiley. https://www.safaribooksonline.com/library/view/pattern-oriented-software-architecture/9781118725269/
[11]
Sherrie Campbell and Ann E. Kelley Sobel. 2008. Supporting the Formal Analysis of Software Systems. 2008 International Conference on Computer Science and Software Engineering 2, 776–779. https://doi.org/10.1109/CSSE.2008.1301
[12]
Lianipng Chen, Muhammad Ali Babar, and He Na Zhang. 2010. Towards an Evidence-Based Understanding of Electronic Data Sources. https://doi.org/10.14236/ewic/EASE2010.17
[13]
Harris M. Cooper. 1988. Organizing knowledge syntheses: A taxonomy of literature reviews. Knowledge in Society 1 (3 1988), 104–126. Issue 1. https://doi.org/10.1007/BF03177550
[14]
Organizers J Coplien. 1996. Software Patterns.
[15]
Siamak Farshidi, Slinger Jansen, and Jan Martijn van der Werf. 2020. Capturing software architecture knowledge for pattern-driven design. Journal of Systems and Software 169 (11 2020), 110714. https://doi.org/10.1016/j.jss.2020.110714
[16]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc.
[17]
Michael Gusenbauer and Neal R. Haddaway. 2020. Which academic search systems are suitable for systematic reviews or meta‐analyses? Evaluating retrieval qualities of Google Scholar., and 26 other resources. Research Synthesis Methods 11 (3 2020), 181–217. Issue 2. https://doi.org/10.1002/jrsm.1378
[18]
Florian Huber and Georg Hagel. 2022. Tool-supported teaching of UML diagrams in software engineering education - A systematic literature review. 2022 45th Jubilee International Convention on Information, Communication and Electronic Technology (MIPRO), 1404–1409. https://doi.org/10.23919/MIPRO55190.2022.9803560
[19]
Z. Jeremic and V. Devedzic. 2004. Design pattern ITS: student model implementation. IEEE International Conference on Advanced Learning Technologies, 2004. Proceedings., 864–865. https://doi.org/10.1109/ICALT.2004.1357693
[20]
Zoran Jeremic, Jelena Jovanovic, and Dragan Gasevic. 2009. Semantically-Enabled Project-Based Collaborative Learning of Software Patterns. 2009 Ninth IEEE International Conference on Advanced Learning Technologies, 569–571. https://doi.org/10.1109/ICALT.2009.106
[21]
Zoran Jeremic, Jelena Jovanovic, and Dragan Gasevic. 2011. An Environment for Project-Based Collaborative Learning of Software Design Patterns. International Journal of Engineering Education 27 (3 2011). https://www.researchgate.net/publication/267990964_An_Environment_for_Project-Based_Collaborative_Learning_of_Software_Design_Patterns
[22]
Zoran Jeremić and Vladan Devedžić. 2004. Student Modeling in Design Pattern ITS., 299-305 pages. https://doi.org/10.1007/978-3-540-30132-5_44
[23]
Zoran Jeremić, Jelena Jovanović, and Dragan Gašević. 2008. Towards a Semantic-Rich Collaborative Environment for Learning Software Patterns., 155-166 pages. https://doi.org/10.1007/978-3-540-87605-2_18
[24]
Z. Jeremić, J. Jovanović, and D. Gašević. 2012. Student modeling and assessment in intelligent tutoring of software patterns. Expert Systems with Applications 39 (1 2012), 210–222. Issue 1. https://doi.org/10.1016/j.eswa.2011.07.010
[25]
Zoran Jeremić, Taiyu Lin, Kinshuk, and Vladan Devedžić. 2005. Synergy of Performance-Based Model and Cognitive Trait Model in DP-ITS., 407-411 pages. https://doi.org/10.1007/11527886_54
[26]
Greg Kearsley and Ben Shneiderman. 1998. Engagement Theory: A Framework for Technology-Based Teaching and Learning.Educational Technology archive 38 (1998), 20–23.
[27]
Barbara Kitchenham. 2004. Procedures for Performing Systematic Reviews. https://www.researchgate.net/publication/228756057
[28]
Barbara Kitchenham. 2007. Guidelines for performing Systematic Literature Reviews in Software Engineering. https://www.researchgate.net/publication/302924724
[29]
Janet L Kolodner, C Crismond, Jackie Gray, Jennifer Holbrook, and Sadhana Puntambekar. 1998. Learning by Design from Theory to Practice. https://www.cc.gatech.edu/projects/lbd/htmlpubs/lbdtheorytoprac.html
[30]
Ludwik Kuzniarz and Luiz Eduardo G. Martins. 2016. Teaching Model-Driven Software Development. Proceedings of the 2016 ITiCSE Working Group Reports, 45–56. https://doi.org/10.1145/3024906.3024909
[31]
Dimitrichka Nikolaeva, Violeta Bozhikova, and Mariana Stoeva. 2019. A simple approach to design patterns identification in programming code. 2019 IEEE XXVIII International Scientific Conference Electronics (ET), 1–4. https://doi.org/10.1109/ET.2019.8878506
[32]
Brauner R. N. Oliveira, Lina Garcés, Kamila T. Lyra, Daniel S. Santos, Seiji Isotani, and Elisa Y. Nakagawa. 2022. An Overview of Software Architecture Education. Anais do XXV Congresso Ibero-Americano em Engenharia de Software (CIbSE 2022), 76–90. https://doi.org/10.5753/cibse.2022.20964
[33]
James H. Paterson and John Haddow. 2004. A proposed design patterns extension for the blueJ IDE. Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education, 279–279. https://doi.org/10.1145/1007996.1008117
[34]
James H. Paterson, John Haddow, and Michael Nairn. 2006. A design patterns extension for the BlueJ IDE. Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education, 280–284. https://doi.org/10.1145/1140124.1140199
[35]
Alan Ramírez‐Noriega, Yobani Martínez‐Ramírez, Samantha Jiménez, Jesús Soto‐Vega, and J. Francisco Figueroa‐Pérez. 2021. inDev: A software to generate an MVC architecture based on the ER model. Computer Applications in Engineering Education 30 (9 2021), 259–274. Issue 1. https://doi.org/10.1002/cae.22455
[36]
Tobias Reischmann and Herbert Kuchen. 2016. Towards an E-assessment tool for advanced software engineering skills. Proceedings of the 16th Koli Calling International Conference on Computing Education Research, 81–90. https://doi.org/10.1145/2999541.2999550
[37]
Tobias Reischmann and Herbert Kuchen. 2018. An Interactive Learning Environment for Software Engineering Design Patterns. Proceedings of the 18th Koli Calling International Conference on Computing Education Research, 1–2. https://doi.org/10.1145/3279720.3279896
[38]
Tobias Reischmann and Herbert Kuchen. 2019. A web-based e-assessment tool for design patterns in UML class diagrams. Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing Part F147772, 2435–2444. https://doi.org/10.1145/3297280.3297520
[39]
Adrian Rusu, Robert Russell, Remo Cocco, and Spence DiNicolantonio. 2011. Introducing object oriented design patterns through a puzzle-based serious computer game. 2011 Frontiers in Education Conference (FIE), F1H–1–F1H–6. https://doi.org/10.1109/FIE.2011.6143048
[40]
Ben Shneiderman. 2000. Creating creativity. ACM Transactions on Computer-Human Interaction 7 (3 2000), 114–138. Issue 1. https://doi.org/10.1145/344949.345077
[41]
George A. Sielis, Aimilia Tzanavari, and George A. Papadopoulos. 2017. ArchReco: a software tool to assist software design based on context aware recommendations of design patterns. Journal of Software Engineering Research and Development 5 (12 2017), 2. Issue 1. https://doi.org/10.1186/s40411-017-0036-y
[42]
Ann E.K. Sobel and Sherrie Campbell. 2007. Supporting the Formal Analysis of Software Designs. 20th Conference on Software Engineering Education and Training (CSEET’07), 123–132. https://doi.org/10.1109/CSEET.2007.50
[43]
Claudia Susie, C Rodrigues, and Claudia M L Werner. 2008. Software Architecture Teaching: A Systematic Review. https://www.semanticscholar.org/paper/Software-Architecture-Teaching-:-A-Systematic-Rodrigues-Werner/d45313abc77a7fadb9b9c5e1ea7425c8f99107e0
[44]
Jane Webster and Richard T Watson. 2002. ANALYZING THE PAST TO PREPARE FOR THE FUTURE: WRITING A LITERATURE REVIEW. Issue 2. http://www.misq.org/misreview/announce.html

Cited By

View all
  • (2024)Cluster Analysis in the Identification of Patterns in Software Development with Agile Methodologies: A Systematic Literature Review2024 12th International Conference in Software Engineering Research and Innovation (CONISOFT)10.1109/CONISOFT63288.2024.00028(147-155)Online publication date: 28-Oct-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECSEE '23: Proceedings of the 5th European Conference on Software Engineering Education
June 2023
264 pages
ISBN:9781450399562
DOI:10.1145/3593663
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Design Pattern
  2. Education
  3. Software Architecture Pattern
  4. Software Design Pattern
  5. Systematic Literature Review

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ECSEE 2023

Acceptance Rates

Overall Acceptance Rate 11 of 16 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)97
  • Downloads (Last 6 weeks)6
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Cluster Analysis in the Identification of Patterns in Software Development with Agile Methodologies: A Systematic Literature Review2024 12th International Conference in Software Engineering Research and Innovation (CONISOFT)10.1109/CONISOFT63288.2024.00028(147-155)Online publication date: 28-Oct-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media