Functional Decomposition
Structured programming allows modules to be recursively decomposed into provable units, which in turn means that modules can be functionally decomposed.
You can take a large-scale problem statement and decompose it into high-level functions. Each of those functions can then be decomposed into lower-level functions, ad infinitum. Moreover, each of those decomposed functions can be represented using the restricted control structures of structured programming.
Building on this foundation, disciplines such as structured analysis and structured design became popular in the late 1970s and throghout the 1980s. Ed Yourdon, Larry Constantine, Tom DeMarco, and Meilir Page-Jones promoted and popularized these techniques.
By following thse disciplines, programmers could break down large proposed systems into modules and components that could be further broken down into tiny provable functions.