0
1.9kviews
Explain cohesion and explain its use in software development process.

Subject: Software Engineering

Topic: Design Engineering

Difficulty: High

1 Answer
0
36views

Cohesion can be defined as the degree of the closeness of the relationship between its components. In general, it measures the relationship strength between the pieces of functionality within a given module in the software programming. It is an ordinal type of measurement, which is described as low cohesion or high cohesion.

In a good module, the various parts having high cohesion is preferable due to its association with many desirable traits of the software such as reliability, re-usability, robustness and understand-ability. On the other hand, a low cohesion is associated with the undesirable traits, including difficulty in maintaining, reusing and understanding. If the functionalities embedded in a class have much in common, then the cohesion will be increased in a system.

  • High cohesion leads to the increased module reusability because the developers of the application will easily find the component they look for in the cohesive set of operations offered by the module.

  • The system maintainability will be increased due to logical changes in the domain effecting fewer modules.

enter image description here

The module complexity also reduces, when there is a high cohesion in the programming.

1.Functional Cohesion: It is best type of cohesion, in which parts of the module are grouped because they all contribute to the module’s single well defined task.

2.Sequential Cohesion: When the parts of modules grouped due to the output from the one part is the input to the other, then it is known as sequential cohesion.

3.Communication Cohesion: In Communication Cohesion, parts of the module are grouped because they operate on the same data. For e.g. a module operating on same information records.

4.Procedural Cohesion: In Procedural Cohesion, the parts of the module are grouped because a certain sequence of execution is followed by them.

5.Logical Cohesion: When the module’s parts are grouped because they are categorized logically to do the same work, even though they are all have different nature, it is known as Logical Cohesion. It is one of the worst type of the cohesion in the software engineering.

Please log in to add an answer.