Modules X and Y operate on the same input and output, then the cohesion is
Communicational cohesion
Module cohesion is a measure of how closely related the elements within a module are. High cohesion is desirable in software design because it leads to modules that are easier to understand, maintain, and reuse. Low cohesion indicates that a module performs many unrelated tasks, making it more complex and fragile.
There are different types of cohesion, ordered from lowest (worst) to highest (best):
The question states that two modules, X and Y, operate on the same input and output. This specific condition is the key to identifying the type of cohesion.
Let's look at the provided options in the context of this condition:
When modules or elements within a module share the same input data or share producing the same output data, they exhibit Communicational cohesion. The question explicitly mentions operating on the "same input and output," which is the defining characteristic of Communicational cohesion.
Based on the definitions and the specific condition given in the question (operating on the same input and output), the cohesion type is Communicational cohesion.
| Cohesion Type | Description | Relationship to Shared Data |
|---|---|---|
| Logical | Grouped by logical category | Not necessarily related to shared data |
| Sequential | Output of one is input to next (internal) | Involves data flow, but typically internal to the module |
| Procedural | Grouped by order of execution | Not directly related to shared data access |
| Communicational | Operate on same input OR produce same output | Directly defined by shared data access (input or output) |
Therefore, if modules X and Y operate on the same input and output, their cohesion is Communicational cohesion.
| Cohesion Level (Worst to Best) | Type | Characteristics |
|---|---|---|
| 1 (Worst) | Coincidental | Random grouping |
| 2 | Logical | Logically categorized functions |
| 3 | Temporal | Executed at the same time |
| 4 | Procedural | Grouped by order of execution |
| 5 | Sequential | Output of one is input to the next |
| 6 | Communicational | Operate on same data (input/output) |
| 7 (Best) | Functional | Single, well-defined task |
Cohesion is a key principle in modular design, often discussed alongside coupling. While cohesion measures the strength of the relationships *within* a module, coupling measures the strength of the relationships *between* different modules.
The goal of good design is generally to achieve high cohesion and low coupling. Communicational cohesion is considered a relatively good level of cohesion, better than sequential, procedural, temporal, logical, or coincidental, but not as good as functional cohesion.
Software products need perfective maintenance for which of the following reasons?
Which of the following statement(s) is/are true regarding PERT chart in software project management?
I. PERT charts consists of a network of boxes and arrows.
II. In PERT chart, the boxes represent activities and the arrow represents task dependencies.
Statistical software quality assurance in software engineering involves _________
Software reliability is described with respect to
(A) Execution Time
(B) Calendar Time
(C) Clock Time
Choose the correct answer from the options given below:
Size and complexity are a part of