Abstract
Design phase is considered one of the most important phases of software development process. Considering design quality is a significant indicator to guarantee a good product. Despite the fact that this phase is more important, it takes less effort in processing but it can take a large part of the total effort consumed in correcting earlier issues that resulted from bad design decisions. If the design quality of a product wasn't previously considered, the cost of fixing bad design issues after software delivery will be very high. Recently researchers have introduced several object oriented metrics for identifying design problems and avoiding such issues at earlier development phases. This paper initiates a survey regarding object-oriented metrics and their quality attributes. Also it shows the relationship between internal and external quality attributes and identify a group of practical and common used metrics which having a significant impact on design quality.