Most design recovery approaches start from analysing source code. Nonetheless, it is very difficult to get adequate design information only depending on source code. Additional available information is required and Feature Oriented Analysis (FOA) is a way to reach this aim. FOA addresses the understanding of features in software systems and defines mechanisms for carrying a feature from the problem domain into the solution domain. Using feature as the first-class entity for software evolution can improve program comprehension and design recovery. In this paper, an approach is proposed to recover software design based on the feature model, which is a kind of legacy system knowledge. The features will first be located and mapped to the implementation module so that feature-oriented components can be identified and retrieved, and then, through the analysis of the feature relations, the design model of legacy system can be recovered and used for the future evolution.