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.

Get Web Commerce Security Design and Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.