D.2.10 Explain the advantages of modularity in program development.
Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
Modular design, or "modularity in design", is a design approach that subdivides a system into smaller parts called modules or skids, that can be independently created and then used in different systems.
The idea behind modularity is the splitting up of the problem into a series of self-contained modules.
In practice it is advised that a module should not exceed 100 or so lines and preferably be short enough to fit on a single page
Improves Readability and Understandability
Improves Maintainability (Simplifies modifications, Facilitates Trouble-shooting)
Allows for Re-usability
Within the program
From program to program
Reduces Development time
Improves Reliability
Increase standardization of software development process
Break task down into smaller tasks or processes
Stop when a process will not break down further
Write functions for lowest level process