Planning for Design


To this point, we've been looking at the relationships between themes and trying to minimize the overlap between them in order to be able to move to design. Now that they have been isolated (except for crosscutting and postponement relationships), you may want to see each theme individually so that you can see what you've got and how to move forward to design.

To do this, you use the individual-theme view. This view provides a depiction of the requirements associated only with one theme. It shows not only the overarching themes that were displayed in the relationship view, but also all the subthemes that you grouped under more major themes. Unified themes, however, remain unified in this view. In the case of crosscutting themes, the individual view also shows which elements of the theme are abstract and where crosscutting might occur as well as the "things" that are described in the requirements.

Identify the Objects

In Chapter 3, we identified a list of "things" as nearly the first step in our Theme/Doc analysis process. That would have worked fine, but actually, you don't need to single out the things (which are likely to become design-level objects) until you are planning for design.

You can look for objects in whatever order you would like: on a theme-by-theme basis or by reading the original requirements document again and looking for all the object-worthy keywords. These keywords are then used to identify objects when forming the individual theme views.

Here, we look at two themes: enter-location and track-energy, and pick out objects. By the end of our association phase, enter-location winds up with only two requirements associated with it: R61 (When two players meet upon entering a location, they perform a duel of rock, paper, scissors), which was eventually postponed, and R38 (If a player enters a location that has no player or character in it, they may pick up any crystals or magical items they see). From these requirements, we can identify objects such as location, player, crystal, and magical item.

In the track-energy theme, we identify unit, point (those are synonyms that can be unified in the same way as themes can be unified), location, crystal, and player. The requirements for track-energy are shown in Table 4-2.

Some of these objects, such as player and crystal, appear in both themes. That's fine. In Chapter 5, we go over how themes can include design elements to represent concepts that may also be represented in other themes without causing any problems, and in Chapter 6 we talk about how to resolve and compose design elements that represent the same concepts (or requirements-level things).

Viewing Base Themes

Base themes are made up of the requirements associated with a theme, the list of things identified for that theme, and all the behaviors associated with the theme.

Figure 4-15 shows the individual-theme view for the enter-location theme. Object nodes, which are particular to the individual view, are shown as boxes. R61, which is shared between enter-location and duel, has been postponed, so its outline is shown as dashed. The duel and meet-player themes, which R61 also mentions, are shown in this view.

Figure 4-15. Enter-location individual view.


Viewing Aspect Themes

Individual views for aspects are the same as those for base themes, except they have a little more information. Before the theme view is constructed, a check is performed to see whether elements to be used in the view are also found in other themes. If they are, those elements are grayed out. Figure 4-16 shows the track-energy individual-theme view. You can see that none of the lose, gain, unit, point, and energy nodes are in gray. This is because they are all unique to this theme. There is no other theme that mentions these concepts. The rest of the nodes, such as crystal, enter, challenge, and location are all found in other themes (such as enter-location in Figure 4-15)and so are grayed out here. The point of the graying is to help you keep in mind that these are concepts that might be modeled abstractly in the design. The nongray elements can be modeled directly.

Figure 4-16. Track-energy individual view.


You might also have noticed that there are crosscutting arrows present in this view. These are the crosscuts that you specified when looking at the relationship view in the "Make the Association" section. In the relationship view in Figure 4-16, you can see that track-energy crosscuts challenge, start, and enter-location. You can also see a link between start and begin, showing that they have been grouped. The diamond at the start end of the link denotes that begin has been grouped under start.



Aspect-Oriented Analysis and Design(c) The Theme Approach
Aspect-Oriented Analysis and Design: The Theme Approach
ISBN: 0321246748
EAN: 2147483647
Year: 2006
Pages: 109

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net