It is likely resulting from modularization of code that has already been written - by converting multiple occurrences of a random sequence of statement to form a module. E.g., create a module to contain the same sequence of statements appeared in different places of a program. The module does not perform a cohesive function, but instead a random collection of processing elements. It is the lowest of seven levels of cohesion used to describe a module whose processing elements have no constructive relationship to one another. An example of an initialization module whose jobs included opening two files, setting a counter to zero, and setting the elements of two arrays to zero.
Temporal cohesion is stronger than logical cohesion for reasons implicit in the above discussion.
Time-relatedness relates the processing elements more strongly, because of its process orientation and relationship to essential properties of programs. Given a choice, a temporally cohesive module is preferable to a logically cohesive module, and both are preferable to coincidentally cohesive module. A module is said to be temporally cohesive if all occurrences of all processing elements in the module occur within the same limited period of time during the execution of the system. Procedural cohesion associates processing elements on the basis of their procedural or algorithmic relationships. It commonly results when modular structure is derived from flowcharts or other models of procedure, such as Nassi-Schneiderman charts.