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