Static Detection of Design Patterns in Class Diagrams

Autor: van Doorn, Ed, Stuurman, Sylvia, van Eekelen, Marko, Rahimi, Ebrahim, Stikkolorum, Dave
Přispěvatelé: Rahimi, E., RS-Research Line Learning (part of LIRS program), Department Computer Science, Academic Field Technology, RS-Research Line Resilience (part of LIRS program), Rahimi, Ebrahim, Stikkolorum, Dave
Rok vydání: 2019
Předmět:
Zdroj: Rahimi, E. (ed.), CSERC '19: Proceedings of the 8th Computer Science Education Research Conference Larnaca Cyprus November, 2019, pp. 79-88
Rahimi, E. (ed.), CSERC '19: Proceedings of the 8th Computer Science Education Research Conference Larnaca Cyprus November, 2019, 79-88. New York : ACM
STARTPAGE=79;ENDPAGE=88;TITLE=Rahimi, E. (ed.), CSERC '19: Proceedings of the 8th Computer Science Education Research Conference Larnaca Cyprus November, 2019
CSERC
CSERC '19: Proceedings of the 8th Computer Science Education Research Conference
ISSUE=1;TITLE=CSERC '19
van Doorn, E, Stuurman, S & van Eekelen, M 2019, Static Detection of Design Patterns in Class Diagrams . in E Rahimi & D Stikkolorum (eds), CSERC '19 : Proceedings of the 8th Computer Science Education Research Conference . 1 edn, Association for Computing Machinery (ACM), New York, NY, pp. 79–88, 8th Computer Science Education Research Conference (CSERC'19), Larnaca, Cyprus, 18/11/19 . https://doi.org/10.1145/3375258.3375268
DOI: 10.1145/3375258.3375268
Popis: Teaching Object-Oriented design on the class diagram level is often a cumbersome effort. Requiring the use of specific design patterns helps the students in structuring their design properly. However, checking whether students used the right design pattern can be a very time-intensive task due to the variety of possibilities of creating structure using design patterns on the high-level class diagrams. For the same reason, it is hard for students to check for themselves whether their solution fulfills the basic requirements that are required by the instructor with respect to the use of design patterns. Efficiency and the quality of design pattern education can be improved by automatic detection of design patterns in \textsc{UML} class diagrams. We introduce a new method to detect design patterns in class diagrams, together with a prototype of a tool that uses this new method. Using this tool, an instructor needs less effort to review solutions of design exercises since the tool can check the basic class requirements automatically. Consequently, an instructor can focus on the more high-level requirements that were set in the exercise and students can easier check for themselves whether their design satisfies the basic required properties on the pattern level. The method offers static decidability for those design patterns, that are identified by structural properties e.c. the names of the classes and their associations. It is non-duplicating. That is a specific occurrence of a design pattern is not reported multiple times. The method not only detects all 16 static Gang of Four design patterns without false positives or false negatives, but also it can detect redundant relations. Our tool contributes tto the quality and efficiency of design pattern education, both for students and instructors.
Databáze: OpenAIRE