0% found this document useful (0 votes)
4 views

Modularization

Modularization involves dividing a software system into independent modules, enhancing system understanding, maintenance, and reusability. Coupling and cohesion are critical concepts, where low coupling minimizes interdependence between modules, and high cohesion ensures that elements within a module work towards a single purpose. Striving for low coupling and high cohesion leads to improved maintainability, scalability, and reliability of software systems.

Uploaded by

saggumaan125
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Modularization

Modularization involves dividing a software system into independent modules, enhancing system understanding, maintenance, and reusability. Coupling and cohesion are critical concepts, where low coupling minimizes interdependence between modules, and high cohesion ensures that elements within a module work towards a single purpose. Striving for low coupling and high cohesion leads to improved maintainability, scalability, and reliability of software systems.

Uploaded by

saggumaan125
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

MODULARIZATION

Modularization is the process of dividing a software system into multiple indepen-


dent modules where each module works independently. There are many advan-
tages of Modularization in software engineering. Some of these are given below:
• Easy to understand the system.
• System maintenance is easy.
• A module can be used many times as their requirements. No need to write it
again and again.

What is Coupling and Cohesion?


Coupling refers to the degree of interdependence between software modules.
High coupling means that modules are closely connected and changes in one
module may affect other modules. Low coupling means that modules are inde-
pendent, and changes in one module have little impact on other modules.

Cohesion refers to the degree to which elements within a module work together
to fulfill a single, well-defined purpose. High cohesion means that elements are
closely related and focused on a single purpose, while low cohesion means that
elements are loosely related and serve multiple purposes.

Both coupling and cohesion are important factors in determining the maintainabil-
ity, scalability, and reliability of a software system. High coupling and low cohe-
sion can make a system difficult to change and test, while low coupling and high
cohesion make a system easier to maintain and improve.

Advantages of low coupling


• Improved maintainability: Low coupling reduces the impact of changes in
one module on other modules, making it easier to modify or replace individ-
ual components without affecting the entire system.
• Enhanced modularity: Low coupling allows modules to be developed and
tested in isolation, improving the modularity and reusability of code.
• Better scalability: Low coupling facilitates the addition of new modules and
the removal of existing ones, making it easier to scale the system as
needed.
Advantages of high cohesion
• Improved readability and understandability: High cohesion results in clear,
focused modules with a single, well-defined purpose, making it easier for de-
velopers to understand the code and make changes.
• Better error isolation: High cohesion reduces the likelihood that a change in
one part of a module will affect other parts, making it easier to
• Improved reliability: High cohesion leads to modules that are less prone to
errors and that function more consistently,
• leading to an overall improvement in the reliability of the system.

it’s good for software to have low coupling and high cohesion. Low coupling
means the different parts of the software don’t rely too much on each other,
which makes it safer to make changes without causing unexpected problems.
High cohesion means each part of the software has a clear purpose and sticks to
it, making the code easier to work with and reuse. Following these principles
helps make software stronger, more adaptable, and easier to grow.

You might also like