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.
   160   161   162   163   164   165   166   167   168   169   170