McIlroy [1968] first stated the need for component-based systems in the field of SE.
According to McIlroy, such component-based systems should adopt manufacturing industry techniques,
such as the use of black boxing, subassemblies and variability.
Back boxing assures that a component has a well-defined interface and is built and
tested according to a specification that can be documented as part of a components
catalogue.
Subassemblies are collections of related components that can be used jointly.
Variability refers to the ease with which models or sizes of standard components can
be selected [Mørch et al. 2004].