Systems theory can affect the architecture of any large program that you create. It deals with how the various parts of the system interact and how changing one aspect of one subsystem can affect the rest of the system.