Levels of Cohesion

There are seven levels of cohesion:

1. Coincidental Cohesion

2. Logical Cohesion

3. Temporal Cohesion

4. Procedural Cohesion

5. Communicational Cohesion

6. Sequential Cohesion

7. Functional Cohesion

1. Coincidental Cohesion: The worst degree of  cohesion  is coincidental which is placed at the  lowest  level. It occur when  there is no  meaningful relationship exist among the elements of a module. so a  module perform the tasks which are loosely related or  almost unrelated to each other. It can  occur if an existing   program is modularized by breaking it into pieces and making  different pieces of   module. if  a module is created to save duplicate code by combing some part of code which  occurs  at many  different places that module is likely to have coincidental cohesion. So the  statements  of the module do not  any relationship  with each  other. For  example  a module  that checks a user security classification  and also  prints this  week  payroll is coincidentally cohesive.

2. Logical Cohesion: Logical  cohesion is the next higher level of cohesion where several logically related functions or data  elements  are placed in the  same component. For  one module  may  read all  kinds of inputs ( from tape disk etc.) regardless of where the input is coming  from or how it  will be used input is the glue that holds this module together. Although more reasonable than confidential one, the elements of a logically cohesive module are not  related functionally. In our  example since the input can have different purposes for different modules, we perform many unrelated functions in one  place.

3. Temporal Cohesion: Temporal  cohesion is same  as logical  cohesion, except that  here the elements are related with time  and executed  together. So the time concern  is associated here. When  a module performs tasks that must be executed with  same  duration of time, that  module is called a logically  cohesive module. elements  of the  modules in this case are time related. Temporal cohesion in higher than logical cohesion because the elements  are executed simultaneously.

4. Procedural Cohesion: When elements are grouped together  in a module just to  follow a sequential order, the  component  is procedurally cohesive. So the elements of a module are evaluated with  each other and must be executed in a specific order,  and belong  to a common procedural unit. For  example a loop  of decision  statements in a module may be combined to form a separate module. procedurally  cohesive modules often occur when modular structure is determined from some form  of flow  chart.

5. Communicational Cohesion: Communicational cohesive has elements that are related by  a reference to the same input or output data. Here  the elements concentrate on one  area of a data structure. In a communication bound module the elements are together because they operate on the same  input or output. Such  modules may perform more than one  function. This cohesion  is sufficiently high and generally acceptable if  alternative structures with  higher cohesion cannot be easily identified. However, communicational  cohesion often destroys the modularity and functional independence of the design. 

6. Sequential Cohesion: If the output  from  one part of a module is input to the next part the module has sequential cohesion. So  all the  elements are related in such a way in a modules  so that  the output of one  forms the input to another. But the sequential cohesion does not  provide any guidelines  on how  combine elements of a module. a sequentially bound module may contain several function or parts of different  function.

7. Functional Cohesion: Our  ideal is the  functional cohesion which is  the  strongest cohesion. Here all the  elements of the  module are related to  perform a single whole sole function. In this  cohesion  every processing  elements is essential to the performance of a single function and all essential  components are contained  in one module. 

For an example to find factorial of the  number can be  considered as a single  function  to be  performed.

Fig 5.14. shown the example  of various types of cohesion.

1972_Degree of Cohesion Homework Help.jpg

Steven et al. Has provided some  simple guidelines for determining  the degree of cohesion :

A useful technique  in determining  whether a module is functionally  bound  is writing  a sentence, describing  the function of the  module and then examining the sentence. The following  tests can  be made:

  • If the sentence has to be a compound sentence, contains a common or contains more than one verb the module is probably performing more than one function therefore it probably has sequential or communicational binding.
  • If the sentence contains words relating to time such as first next then after when start etc. Then the module probably has sequential or temporal binding.
  • If the predicate of the sentence do not contain a single specific object following the verb the module is probably logical bound. For example edit all data has logical binding. Edit source statement may have functional binding.
  • Words such initialize cleanup etc. Imply temporal binding.

Functionally  bound modules can always be  described by  way  their  elements using  a compound sentence. But if  the above language is in a voidable  while still  completely describing  the module function the module is probably  no functionally bound.

So it is better to strive for high  cohesion.

Latest technology based Software Engineering Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Levels of Cohesion homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Levels of Cohesion, project ideas and tutorials. We provide email based Levels of Cohesion homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Levels of Cohesion. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Software Engineering homework help and assignment help services. They use their experience, as they have solved thousands of the software engineering assignments, which may help you to solve your complex issues of Levels of Cohesion. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.

©TutorsGlobe All rights reserved 2022-2023.