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. Module PREP is temporally cohesive. The DFD of a program can serve as an objective means for determining if the elements in a module are communicationally associated.
Data flow graph with two communicationally associated partitionings superimposed.
A sequential module may contain more than one function, only part of a function, or parts of more than one function. It occurs when every processing element in an integral part of, and essential to, the performance of a single function. The following three viewgraphs illustrate a variety of partitioning of the same problem, corresponding to different levels of cohesion. Because the DFD is inherently nonprocedural, it is somewhat difficult to illustrate temporal and procedural cohesion in relation to it. Both levels of cohesion are based on time, procedure, sequence-oriental associative principles.