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.
Good designs have weak coupling.
Forces the decentralisation of system control and aids in identifying new classes of object . The responsibilities owned by the class are listed down the left side and the collaborators down the right side. Collaborator Class to which another class delegates, to aid in fulfilling its own responsibilities . Eventually, an object upon whose services another object depends. Component An encapsulated software object , described by its class interface, that may be reused as a whole in a software system.