This document discusses metrics for evaluating object-oriented systems. It defines basic object-oriented programming concepts like objects, classes, cohesion, and coupling. It then presents properties that good metrics should satisfy, such as being non-coarse and accounting for design details. Six specific metrics are proposed: weighted methods per class, depth of inheritance tree, number of children, coupling between object classes, response for a class, and lack of cohesion in methods. Examples are given and it is noted that while these six metrics satisfy most properties, the last fails the property that interaction increases complexity. The document concludes that these metrics can help designers and managers evaluate design integrity.