Several software design patterns have been familiarized either in canonical or as variant solutions in order to solve a problem. Novice designers mostly adopt patterns without considering their ground reality and relevancy with design problems, which may cause to increase the development and maintenance efforts. In order to realize the ground reality and to automate the selection process, the existing automated systems for the selection of design patterns either need formal specification or precise learning through training the numerous classifiers. In order to address this issue, we propose an approach on the base of a supervised learning technique named 'Learning to Rank', to rank the design patterns with respect to text similarity with the description of the given design problems. Subsequently, we also propose an evaluation model in order to assess the effectiveness of the proposed approach. We evaluate the effectiveness of the proposed approach in the context of several design pattern collections and relevant design problems. The promising experimental results indicate the applicability of the proposed approach.
展开▼