8.1 Fundamental Design and Construction Methods
8.1.1 Introduction
Software design techniques can be split into three major groups – monolithic, independent, and modular. These, in reality, are not mutually exclusive. Many programmers use combinations of these when writing source code – which probably says more about the rigor and discipline of software design as practiced rather than preached. The concepts behind these methods can be grasped fairly easily by looking at a simple DIY task – the design and build of a kit-car.
Method 1, "monolithic," is illustrated in Figure 8.1. The work begins by producing an all-embracing design plan. That is, the problem is considered as consisting of a single design task. Once the design is complete, the car can be built to the plan's specifications and instructions.
Method 2, "modular," tackles the problem in a different way at the design stage (Figure 8.2). An overall design plan is produced...