Knowee
Questions
Features
Study Tools

Explain different types of cohesion and coupling in system design

Question

Explain different types of cohesion and coupling in system design

🧐 Not the exact question you are looking for?Go ask a question

Solution

Cohesion and coupling are two key characteristics that are used to evaluate the efficiency of a program structure in terms of its manageability, understandability, and changeability.

Cohesion refers to the degree to which the elements of a module belong together. In other words, it measures the strength of relationship between the module's responsibilities. There are seven types of cohesion, listed from worst to best:

  1. Coincidental Cohesion: Elements within a module have no significant relationship.
  2. Logical Cohesion: Elements perform similar activities, selected from outside module.
  3. Temporal Cohesion: Elements are related in time and are executed together.
  4. Procedural Cohesion: Elements contribute to a common activity.
  5. Communication Cohesion: Elements contribute to a common activity and share information.
  6. Sequential Cohesion: Output from one part of a module serves as input to another part.
  7. Functional Cohesion: All elements contribute to a single, well-defined task.

Coupling, on the other hand, refers to the degree of interdependence between modules. It measures how closely the modules in a system or a program are linked or connected to each other. There are five types of coupling, listed from best to worst:

  1. Data Coupling: Modules share data through, for example, parameters.
  2. Stamp Coupling: Data structure shared between modules.
  3. Control Coupling: One module controlling the flow of another.
  4. Common Coupling: Two modules share the same global data.
  5. Content Coupling: One module uses the content of another module.

In system design, the goal is to maximize cohesion and minimize coupling. High cohesion within modules and low coupling between modules leads to high readability and maintainability, and makes the system more flexible, modular, and predictable.

This problem has been solved

Similar Questions

Discuss 2 reasons as to why low Coupling and high Cohesion result in systems that are easier to reuse and maintain. One to two sentences for each reason.

Choose the most accurate answer: Cohesion describes...1 pointdecomposability.how changes do not cross boundaries of modules.loose coupling.how well everything within a module fits together.

Stack operations representsOptions :common couplingProcedural Cohesionstamp couplingCommunicational Cohesion

High coupling, low cohesion

Why is low coupling and high cohesion desirable in software design?Options :It makes the code longerIt facilitates maintainability and understandabilityIt increases code complexityIt hinders code reuse

1/3

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.