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: |
Structure (mathematical logic)
Software engineering business.industry Computer science Design pattern 020207 software engineering Design patterns 02 engineering and technology Machine learning computer.software_genre Task (project management) Unified Modeling Language Software design pattern 0202 electrical engineering electronic engineering information engineering False positive paradox 020201 artificial intelligence & image processing Class diagram Artificial intelligence Digital Security business Set (psychology) computer computer.programming_language |
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 |
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 |
Externí odkaz: |