Modularity
Modularity in software development is a top-down design approach where an independent task, function, or class that is developed in a module can be reused in other applications and tested in memory as a separate component. Parnas 5 defined a module as an independent task assignment and also introduced the concept of information hiding in a module. In information hiding, the details of a program module are hidden and communications with the module are accomplished through a defined interface. Sometimes the terms “information hiding” and “encapsulation” are used to denote the same concept.
An important element of modular design is the ability to decompose the implementation into independent modules that can be tested and can run in parallel. Following successful testing, software modules can then be integrated with other modules to implement the desired program functionality.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access