Object Oriented Software Engineering   View all facts   Glossary   Help
subject > criterion > quality > software quality > cohesion
Next measurementcoupling    Upmeasurement, software quality    Previous measurementavailability   

cohesion
subjectfact 
cohesionhas definition A measure of the extent to which related aspects of a system are kept together in the same module, and unrelated aspects are kept out2001-08-30 14:54:55.0
has precedence table
Cohesion typeComments
functional cohesionIf an aspect of a design can be achieved using a functionally cohesive module then it is normally best to do so.
layer cohesionLayer cohesion should typically have higher priority. Dividing systems into layers has been shown to considerably simplify systems.
communicational cohesionCommunicational cohesion, as embodied in the classes of an object oriented system, should have high priority. Here we list it below layer cohesion since modules may access the same kind of data in different layers.
sequential cohesionSequential cohesion is effectively a strong form of temporal cohesion, but is weaker than communicational cohesion since different data types may be involved in the different stages of a sequentially cohesive module.
temporal cohesionTemporal cohesion should typically be considered weaker than other types of cohesion. It is important, but only if the other types of cohesion have been achieved.
utility cohesionUtility cohesion is the weakest kind of cohesion since it serves to group together those parts of the system that do not seem to logically belong anywhere else.
2001-08-30 14:54:55.0
is a subtopic of 9.2 - Principles Leading to Good Design2001-08-30 14:54:55.0
is a kind of measurement2001-08-30 14:54:55.0
is a kind of software quality2001-08-30 14:54:56.0
software qualityis hard to assess2001-08-30 14:57:42.0

Kinds of cohesion :