Selecting the right components to design a software system involve some deep thoughts and difficult decisions to make. In this paper, we present a model to ease the decision making process. The model is based on Commercial Off-The-Shelf (COTS) paradigm. COTS techniques aim to reduce development time and hence decrease cost compared to a traditional system development. First, an identification of components from the application requirements is made. Then, for each component, we specify a formal model, which is called the ideal-component. A structured first order predicate calculus is used as a tool to formalize application requirements and obtain these formal models. The evaluation of a possiblecomponent, from a vendor, begins with understanding the features and then an acceptance indicator is calculated. The acceptance equation combines three key factors: requirements and features match, vendor-viability and maintainability. Maintainability is a costly phase in any software system and this model caters for this issue during the evaluation process. The model is being investigated in small-scale systems with successful results.