A Consolidated Approach for Design Pattern Recommendation
Ufuk Celikkan, Dilara Bozoklar
Abstract
Ufuk Celikkan, Dilara Bozoklar
Abstract
Software design patterns are standard solutions to common problems found in software development and design. Among many other benefits, they enable the creation of reusable, extensible and easy-to-maintain software systems. However, the complexity of comprehending design patterns hinders software designer's ability to adapt software design patterns in software design and development. For novice developers, choosing the most appropriate pattern for a given design context and situation becomes a challenging task. For this reason, a design pattern recommendation system can be of great help, especially for novice designers and developers, to instantiate the right pattern in their design problems. This paper proposes a consolidated approach and presents a tool which combines text-based, case-based and question-based recommendations to suggest an adequate pattern to a design problem. The effectiveness of the tool has been tested on several scenarios used in a design pattern course. Our preliminary evaluation shows that in majority of the cases, the correct design pattern is placed in the top three.
OpenAlex reports 6 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Software design patterns are standard solutions to common problems found in software development and design. Among many other benefits, they enable the creation of reusable, extensible and easy-to-maintain software systems. However, the complexity of comprehending design patterns hinders software designer's ability to adapt software design patterns in software design and development. For novice developers, choosing the most appropriate pattern for a given design context and situation becomes a challenging task. For this reason, a design pattern recommendation system can be of great help, especially for novice designers and developers, to instantiate the right pattern in their design problems. This paper proposes a consolidated approach and presents a tool which combines text-based, case-based and question-based recommendations to suggest an adequate pattern to a design problem. The effectiveness of the tool has been tested on several scenarios used in a design pattern course. Our preliminary evaluation shows that in majority of the cases, the correct design pattern is placed in the top three.
Key concepts: Software design pattern, Computer science, Design pattern, Structural pattern, Software design, Software engineering, Software, Software development