This paper addresses the fulfillment of requirements related to case-based reasoning (CBR) processes for system design. Considering that CBR processes are well suited for problem solving, the proposed method concerns the definition of an integrated CBR process in line with system engineering principles. After the definition of the requirements that the approach has to fulfill, an ontology is defined to capitalize knowledge about the design within concepts. Based on the ontology, models are provided for requirements and solutions representation. Next, a recursive CBR process, suitable for system design, is provided. Uncertainty and designer preferences as well as ontological guidelines are considered during the requirements definition, the compatible cases retrieval, and the solution definition steps. This approach is designed to give flexibility within the CBR process as well as to provide guidelines to the designer. Such questions as the following are conjointly treated: how to guide the designer to be sure that the requirements are correctly defined and suitable for the retrieval step, how to retrieve cases when there are no available similarity measures, and how to enlarge the research scope during the retrieval step to obtain a sufficient panel of solutions. Finally, an example of system engineering in the aeronautic domain illustrates the proposed method. A testbed has been developed and carried out to evaluate the performance of the retrieval algorithm and a software prototype has been developed in order to test the approach. The outcome of this work is a recursive CBR process suitable to engineering design and compatible with standards. Requirements are modeled by means of flexible constraints, where the designer preferences are used to express the flexibility. Similar solutions can be retrieved even if similarity measures between features are not available. Simultaneously, ontological guidelines are used to guide the process and to aid the designer to express her/his preferences.