Modularization
is a technique to divide a software system into multiple discrete and
independent modules, which are expected to be capable of carrying out task(s)
independently. These modules may work as basic constructs for the entire
software. Designers tend to design modules such that they can be executed
and/or compiled separately and independently.
Modular
design unintentionally follows the rules of ‘divide and conquer’
problem-solving strategy this is because there are many other benefits attached
with the modular design of a software.
Advantage of modularization:
● Smaller
components are easier to maintain
● Program
can be divided based on functional aspects
● Desired
level of abstraction can be brought in the program
● Components
with high cohesion can be re-used again
● Concurrent
execution can be made possible
● Desired
from security aspect