Presentation
         Of
Software engineering
  Topic : Cohesion & Coupling




                   Jagnesh
                   Chawla(jagneshchawla@gmail.com)
Contents :
 Coupling
 Highly Coupled
 Loosely Coupled
 Uncoupled
 Types Of Coupling
 Cohesion
 Types Of Cohesion


                      Jagnesh
                      Chawla(jagneshchawla@gmail.com)
Coupling
 Coupling      is   measure      of    the
  independence of components.
 Coupling is related to cohesion.
 It is an indication the strength of inter
  connections between the components
  in a design .




                        Jagnesh
                        Chawla(jagneshchawla@gmail.com)
Highly coupled



   These types of systems have
    interconnections , with program units
    dependent on each other.




                            Jagnesh
                            Chawla(jagneshchawla@gmail.com)
Highly coupled:




                  Jagnesh
                  Chawla(jagneshchawla@gmail.com)
Loosely coupled


 Loosely coupled systems are made up
  of components which are independent
  or almost independent.
 In   this less dependences are
  available.


                     Jagnesh
                     Chawla(jagneshchawla@gmail.com)
Loosely coupled:




                   Jagnesh
                   Chawla(jagneshchawla@gmail.com)
Uncoupled



 Uncoupled components have
  interconnections at all.
 No Dependencies




                       Jagnesh
                       Chawla(jagneshchawla@gmail.com)
Uncoupled:




             Jagnesh
             Chawla(jagneshchawla@gmail.com)
The range of coupling
measures:



          Content coupling      High coupling
             Common
              coupling
                                 Loose
          Control coupling
          Stamp coupling
           Data coupling       Low
            Uncoupled
                             Jagnesh
                             Chawla(jagneshchawla@gmail.com)
Content coupling:
 When one component actually
  modifies another .
 Then the modified component is
  completely dependent on the
  modifying one.




                      Jagnesh
                      Chawla(jagneshchawla@gmail.com)
Jagnesh
Chawla(jagneshchawla@gmail.com)
Common coupling:
   We can reduce the amount of coupling
    somewhat by organizing our design so
    that data are accessible from a
    common data store.
                    Global:
                              A1
                              A2
                              A3
                 Variables:
                          V1
                          V2



    Component    Component
                                                 Component
        X            Y
                                                    Z
    Change V1    Increment                          T          T
                                                 V =V2+A
     To zero         V1

                                   Jagnesh
                                   Chawla(jagneshchawla@gmail.com)
Control coupling:
 When one component passes
  parameters to control the activity of
  another component.
 We say that there is control coupling
  between the two.




                        Jagnesh
                        Chawla(jagneshchawla@gmail.com)
Stamp coupling:


   When data structure is used to pass
    information from one component to
    another.




                         Jagnesh
                         Chawla(jagneshchawla@gmail.com)
Data coupling:



   If only data are passed, the
    components are connected by data
    coupling.




                       Jagnesh
                       Chawla(jagneshchawla@gmail.com)
Cohesion:



   The cohesion of a component is a
    measure of the closeness of the
    relationship between its components.




                          Jagnesh
                          Chawla(jagneshchawla@gmail.com)
Coincidental:


   The worst degree of cohesion,
    coincidental is found in a component
    whose parts are unrelated to one
    another.




                           Jagnesh
                           Chawla(jagneshchawla@gmail.com)
Logical cohesion:


   It is the next higher level of cohesion ,
    where several logically related functions
    or data elements are placed in same
    component.




                            Jagnesh
                            Chawla(jagneshchawla@gmail.com)
Temporal cohesion:

 Sometime a component is used to
  initialize a system or a set variables.
 Such a component performs several
  functions in sequence ,but the
  functions are related by the timing
  involved, so its cohesion is temporal.


                        Jagnesh
                        Chawla(jagneshchawla@gmail.com)
Procedurally cohesion:


   When function are grouped together in a
    component just to ensure this order the
    component is procedurally cohesive.




                           Jagnesh
                           Chawla(jagneshchawla@gmail.com)
Communicationally:


   Communicationally cohesion often
    destroys the modularity and functional
    independence of the design.




                           Jagnesh
                           Chawla(jagneshchawla@gmail.com)
Sequential cohesion:



   If the output from one part of a
    component is input to the next part the
    component has sequential cohesion.




                           Jagnesh
                           Chawla(jagneshchawla@gmail.com)
Thank you ……




       Jagnesh
       Chawla(jagneshchawla@gmail.com)

Cohesion & Coupling

  • 1.
    Presentation Of Software engineering Topic : Cohesion & Coupling Jagnesh Chawla(jagneshchawla@gmail.com)
  • 2.
    Contents :  Coupling Highly Coupled  Loosely Coupled  Uncoupled  Types Of Coupling  Cohesion  Types Of Cohesion Jagnesh Chawla(jagneshchawla@gmail.com)
  • 3.
    Coupling  Coupling is measure of the independence of components.  Coupling is related to cohesion.  It is an indication the strength of inter connections between the components in a design . Jagnesh Chawla(jagneshchawla@gmail.com)
  • 4.
    Highly coupled  These types of systems have interconnections , with program units dependent on each other. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 5.
    Highly coupled: Jagnesh Chawla(jagneshchawla@gmail.com)
  • 6.
    Loosely coupled  Looselycoupled systems are made up of components which are independent or almost independent.  In this less dependences are available. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 7.
    Loosely coupled: Jagnesh Chawla(jagneshchawla@gmail.com)
  • 8.
    Uncoupled  Uncoupled componentshave interconnections at all.  No Dependencies Jagnesh Chawla(jagneshchawla@gmail.com)
  • 9.
    Uncoupled: Jagnesh Chawla(jagneshchawla@gmail.com)
  • 10.
    The range ofcoupling measures: Content coupling High coupling Common coupling Loose Control coupling Stamp coupling Data coupling Low Uncoupled Jagnesh Chawla(jagneshchawla@gmail.com)
  • 11.
    Content coupling:  Whenone component actually modifies another .  Then the modified component is completely dependent on the modifying one. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 12.
  • 13.
    Common coupling:  We can reduce the amount of coupling somewhat by organizing our design so that data are accessible from a common data store. Global: A1 A2 A3 Variables: V1 V2 Component Component Component X Y Z Change V1 Increment T T V =V2+A To zero V1 Jagnesh Chawla(jagneshchawla@gmail.com)
  • 14.
    Control coupling:  Whenone component passes parameters to control the activity of another component.  We say that there is control coupling between the two. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 15.
    Stamp coupling:  When data structure is used to pass information from one component to another. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 16.
    Data coupling:  If only data are passed, the components are connected by data coupling. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 17.
    Cohesion:  The cohesion of a component is a measure of the closeness of the relationship between its components. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 18.
    Coincidental:  The worst degree of cohesion, coincidental is found in a component whose parts are unrelated to one another. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 19.
    Logical cohesion:  It is the next higher level of cohesion , where several logically related functions or data elements are placed in same component. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 20.
    Temporal cohesion:  Sometimea component is used to initialize a system or a set variables.  Such a component performs several functions in sequence ,but the functions are related by the timing involved, so its cohesion is temporal. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 21.
    Procedurally cohesion:  When function are grouped together in a component just to ensure this order the component is procedurally cohesive. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 22.
    Communicationally:  Communicationally cohesion often destroys the modularity and functional independence of the design. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 23.
    Sequential cohesion:  If the output from one part of a component is input to the next part the component has sequential cohesion. Jagnesh Chawla(jagneshchawla@gmail.com)
  • 24.
    Thank you …… Jagnesh Chawla(jagneshchawla@gmail.com)