Blackbox / Whitebox

Blackbox design focuses on defining system behavior without worrying about the internal workings, which is ideal for modularity and testing. On the other hand, Whitebox design involves considering the internal structure and ensuring that components fit together seamlessly.

Creates a Top-Down hierarchy of building blocks. There are multiple types of boxes:

  • Blackbox
    displays external (ex- and importing) interfaces of a block.It describes the block from the point of view of a caller and realizes the information hiding principle by hiding the internal components from an external view. It describes the functionality of a block as a whole.
  • Greybox
    enriches the blackbox view by required technical interfaces of components, such as configurable interfaces, which are required during runtime.
  • Whitebox
    displays internal components, dependencies and workflows from a developer perspective of the affected block. Internal building blocks are blackboxes.
\"\"\"\"