Case-Based Reasoning for Design Patterns Searching System
patterns are graceful solutions to specific software design problems. However, choosing proper design patterns for given software design problems might not be an easy task especially for novice developers. The design patterns searching tools are therefore needed to solve the problem. One major problem of the existing researches in this field is the indexing problem. This paper aims to solve the problem by presenting an elegant design pattern searching model that combines Case Based Reasoning (CBR) and Formal Concept Analysis (FCA) techniques. This model proposes a newly refinement technique. The technique allows experts to organize indexes to gain more complete software problem description in order to retrieve more appropriate design patterns. The indexes and cases similarity is calculated using FCA. The learning model to store new knowledge for retention process is also provided. Mean Average Precision (MAP) is used to assess the performance of the model. The preliminary experimental results show that the presented model has more retrieval ability in term of MAP comparing to the traditional model of CBR.