Modularization

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