Page 165 -
P. 165
150 NGUYEN AND DILLON
Club is an entity in the Gymnastics System. A club and its members will need to be tracked.
At this stage, team appears to be a synonym for club. To clarify the role of club and team in
the system, return to the system function statement and identify the use cases involved in this
portion of the system. List each of the actions that must be taken to complete the use case.
Comment 5. Beyond the simplest concepts, the going can quickly get tough. Considerable effort
is needed in order to recognize potential hidden dangers and deal with them.
Use case: Register a club in a meet
1. Register the club in a meet.
2. For every competition in the meet, register the club members that are participating in
that competition.
Comment 6. The idea of using the relevant use case for clarification is sensible, but thinking in
terms of general collaboration does not seem to bring much benefit. It would be better to consider
some sample data showing a meet, a competition or two, a club, and some members of the clubs.
Using such examples, one can articulate the information content more easily.
Club, competition, and meet are collaborators in this scenario. When a club is registered
for a meet, must it enter all competitions? The answer is “no.” Must a club have the same
set of gymnasts entered in all competitions within a meet? Categorically “no,” or you could
not have men’s and women’s competitions. In fact, the club enters some of its members in
a competition. This subset is a team.
. . . Clearly, club and team are both abstractions in the Gymnastics Systems. (p. 34)
Comment 7. The concept of “team” is correctly identified in this context, but later it is confused
with other concepts of “team.”
The analysis continued in this fashion, and other candidate classes such as event, judge, and
the like were identified. One piece of reasoning, regarding the “judging panel,” appears to be
questionable:
Each event has a judging panel assigned to it. These people are qualified scorers for this
event. Each judge rates each gymnast on the event and reports the score to a score keeper.
The score keeper throws out the high and low scores and averages the rest. . . .
A judging panel is a collection of judges assigned to judge an event. Judge is the class
being collected and is a key abstraction. Judging panel is a relationship between event and
judge that identifies the judges assigned to score the event. (p. 36)
Comment 8. But it can be argued convincingly that “judging panel” is a key abstraction. It
makes perfect sense, for example, to ask: Who is on the judging panel for such and such event?
We may represent it as a relationship for some reason, but in the language of the problem domain,
it is an abstraction (a concept).
After about five pages of analysis, seven candidate classes (not counting “Season” and “League”) are
listed as resulting candidate classes: Competition, Event, Judge, Team, Gymnast, Club, and Meet.