Cohesion is one of the term used in the field of Software Engineering.I would like to describe what is Cohesion and the types of Cohesion.
Cohesion:
A Module with cohesion represents how the lightly bound the Internal elements of the module are to one another.Whenever the Cohesion is greater,the coupling between the modules are lower.The internal Cohesion of a module is measured in terms of the strength of the hiding of the elements within the modules itself.
There are many different levels of Cohesion are used in several levels of an module.
Coincidental Cohesion:
It is one level of cohesion.It occurs when the elements within a given module have no apperent relationship to each other.It occurs when an existing program is making different pieces of modules.
Logical Cohesion:
A Module has Logical Cohesion only if there is some Logical relationship between the elements of the module.The elements of the module perform functions which fall in the same logical class.
Temporal Cohesion:
This level cohesion is same as logical cohesion, the only differents is that the elements are also related in time and are executed at the same time.
Procedural Cohesion:
This level Cohesion contains the elements which belongs to a common procedural unit.Procedural Cohesion often cuts across functional lines.
Communicational Cohesion:
A Module which contains Communicational Cohesuion has the elements that are related by a refrence to the same input or output data.
Sequential Cohesion:
These Cohesion occurs only when the output of one element is the input for the next element.
Functional Cohesion:
This level Cohesion is the strongest cohesion when compared to other levels.In a functionally bound module,all the elements of the module are related to performing a single function.
I think this article may be useful engineering students.
Regards
Vijay