Coincidental cohesion
A module has coincidental cohesion if its elements have no
meaningful relationship to one another.
The manager tells his chief programmer to restructure the FORTRAN program (which is a one large subprogram) into modules. He's gonna get those benefits.
The chief programmer, who thinks he has better uses for his time, decides the fastest way to make modules out of the program is to take a ruler, measure down every 6 inches in the program listing and draw a line. At each line, he inserts a call to a new subprogram, and after that call creates the header for the new subprogram.
These "modules" exhibit ultimate coincidental cohesion.
Logical cohesion
A logically cohesive module is one whose elements perform
similar activities and in which the activities to be executed
are chosen from outside the module.
Diagram
Temporal cohesion
A temporally cohesive module is one whose elements are functions
that are related in time.
Procedural cohesion
A procedurally cohesive module is one whose elements are involved
in different activities, but the activities are sequential.
Diagram
Communicational cohesion
A communicationally cohesive module is one whose elements
perform different functions, but each function references the same
input information or output.
Diagram
Sequential cohesion
A sequentially cohesive module is one whose functions are
relaed such that output data from one function serves as input
data to the next function.
Diagram
Functional cohesion
A functionally cohesive module is one in which all of the
elements contribute to a single, well-defined task.
Object-oriented languages tend to support this level of
cohesion better than earlier languages do.