Modular Design is a design approach that distributes the component parts to the system out into semi-autonomous modules that can then be combined and recombined into different configurations within different systems; thus enabling reusability, autonomy and a degree of flexibility in the systems architecture. A primary advantage of this approach is that it enables the independent development of components that can then be plugged together.