Up to this point in the design of our game, we concentrated on ensuring that we have modularized the designs for each of the concerns (themes) of the game. Most of these themes were identified during the Theme/Doc process (Chapter 4), with some arising from detailed design (Chapter 5). We then designed each theme individually without including direct reference to any other theme. Just to remind you of why we did this, we revisit our rationale: we want to avoid scattering and tangling properties that negatively impact modularization and wreak corresponding havoc on good software engineering. In this chapter, we look at specifying how all your themes relate to each other and how they should be composed into a single, coherent application. |