Page 139 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 139

Unit 6: Functional Design



               2.  It starts with the lowest level component of the hierarchy and proceeds through   Notes
                 progressively higher levels.
               3.  It works with layers of abstraction.
               4.  Starting from the very bottom, operations that provide a layer of abstraction are
                 implemented, until the stage is reached where the operations supported by the layer are
                 those desired by the system.

               5.  It is suitable if a system is to be built from an existing system.
               6.  It is suitable if an iterative enhancement type of process is being followed.

            6.7 Coupling

            Couplings are mechanical devices used to attach together two shafts to broadcast power.
            Coupling can have many functions, but their main purpose is to attach shafts of units that are
            manufactured unconnectedly and rotating  such as motor and generator.  They, however, do
            permit some end movement or misalignment for flexibility and also provide easy disconnection
            of  the  two  separate  devices  for  repairs  or  modifications.  They  also  reduce  the  shock  that  is
            transmitted from one shaft to another, protect against overloads and can alter the amount of
            vibration a rotating unit experiences.
            There are many various types of couplings in the industry today. The two most common ones
            are the rigid and flexible couplings. A rigid coupling has all the functions of a regular coupling
            alongside  with  some  additional  advantages.  Using  rigid  couplings  allow  for  more  accurate
            alignment and a secure hold. With this precise alignment and firm hold, rigid couplings are
            able to maximize the performance of a machine. Rigid couplings further have two basic types
            of designs; the sleeve-style and clamped or compression styles couplings. Sleeve-style couplings
            are basically tubes that have an inner diameter that is the same as the size of the shafts. They can
            be easily slipped over the shaft and screws can be tightened into it to secure the shaft inside the
            coupling and ensure that the shaft does not pass all the way through it. The clamped couplings
            come in two separate parts that can be fitted together onto a shaft. These couplings allow more
            flexibility as they can be fitted onto shafts that are fixed in place.

            In coupling or dependency is the degree to which each program module relies on each one of
            the other modules. Coupling is usually contrasted with cohesion. Low coupling often correlates
            with high cohesion, and vice versa. The software quality metrics of coupling and cohesion were
            invented by Larry Constantine, an original developer of Structured Design. Who was also an
            early proponent of these concepts? Low coupling is often a sign of a well-structured computer
            system and a good design, and when combined with high cohesion, supports the general goals
            of high readability and maintainability.
            6.7.1 Types of Coupling

            Content Coupling (high): Content coupling (also known as Pathological coupling) is when one
            module modifies or relies on the internal workings of another module (e.g., accessing local data
            of another module). Therefore changing the way the second module produces data (location,
            type, timing) will lead to changing the dependent module. (See Figure 6.4)
            Common Coupling: Common coupling (also known as global coupling) is when two modules
            share the same global data  (e.g., a  global variable).  Changing the shared resource implies
            changing all the modules using it.

            External Coupling: External coupling occurs when two modules share an externally imposed data
            format, communication protocol, or device interface. This is basically related to the communication
            to external tools and devices.



                                             LOVELY PROFESSIONAL UNIVERSITY                                   133
   134   135   136   137   138   139   140   141   142   143   144