V.5 Building Block View
This section describes the decomposition of DokChess into modules. These are also reflected in the package structure of the Java source code. In DokChess, we call modules of the first decomposition level's subsystems. The building block view level 1 presents them, including their interfaces. For the Engine subsystem, this overview also includes a more detailed breakdown into level 2 ( refer V.6.1 Move Determination Walkthrough contains an example of the interaction between the subsystems at runtime).
5.1 Building Block View-Level 1
DokChess breaks down into four subsystems, as presented in the following figure.
Figure 5.14: Building block view, level 1 of DokChess
The dashed arrows represent logical dependencies between the subsystems (x -> y for x depends on y). The squared boxes on the membrane of the system are interaction points (ports) with the outside world (refer V.3.2 Deployment Context):