Modularization: Modularization is the process of dividing a software system into multiple independent modules where each module works independently.
Desirable properties are:-
- Every module is a well defined subsystem useful to others.
- Every module has a well defined single purpose.
- Modules can be separately compiled and kept in library.
- Modules can use other modules.
- Modules should be simpler to use than build.
- Modules should have a easy interface.