May be expressed as an invariant, or as a precondition or postcondition on one of the object's methods . Behaviour-Centred Modelling approach based on considering the external behaviour of each object in a system, forming class hierarchies on the basis of common public methods . Contrasts with attribute-centred modelling. A discovery procedure for establishing the limits of system requirements. The ordering of classes in a hierarchy, according to their similarities and differences.
Cohesion Describes how strongly a collection of parts belong together.
A set of attributes storing the name, age and sex of a Person are highly cohesive, whereas a method which performs two unrelated tasks has low cohesion. Good designs have high cohesion. Coupling Describes how strongly two classes are interdependent. If one calls many of the other's methods , they are strongly coupled. If there are few interactions between them, they are weakly coupled.