Refining the Themes
Now that we have an initial set of themes, we can look at the theme-relationship view.
Figure 8-1 shows the relationship view with the new theme
Figure 8-1. Theme-relationship view (requirements expanded).
There are also four themes that didn't have an obvious group, and so weren't clustered in Figure 8-1:
mute, audio-pause, audio-save
. These are all more or less
Looking at Figure 8-1, you'll notice that three of the clusters (Media Player, Game, and Menu) have only one main theme that
In the end, we
Table 8-3. Themes and Their Subthemes
Identifying Crosscutting Themes
There are three shared requirements in the set: R1, R5, and R6. They are expanded in Figure 8-2. We now look at each requirement, applying the heuristics for deciding whether they reveal aspect behavior.
Figure 8-2. Grouped themes, shared requirements expanded.
The menu consists of several options: make a voice call, write an
, use the media player, play a game
. The first thing to consider is whether the requirement can be split. Since the requirement lists the
When alerts and rings occur, other audio (media player, voice call, game sounds) is momentarily muted, but not
When a voice call occurs, other activities (media player,
Figure 8-3 shows the crosscutting view of the system. You can see the five concept-sharing (or base) themes and the crosscutting theme preempt .
Figure 8-3. Crosscutting view.