Page 166 -
P. 166
DOMAIN MODELING OF OBJECT-ORIENTED INFORMATION SYSTEMS 151
From the extracts and comments above, we can make a number of observations. First, the
process is quite labor-intensive. Effectively, we have to consider each of the nouns we encounter,
even the ones that we may immediately discard. For other nouns, we may have to engage in some
heavy reasoning as recorded above.
Second, the process can be unsystematic and, on occasions, chaotic. While engaging in this
process, it is hard to determine whether we are really making progress toward our final goal. Results
are not building up in a steady manner. At any moment, there may occur a new understanding that
can profoundly disrupt the whole picture. Some of our reasonings may be tentative or based on
shaky grounds (e.g., the reasoning about “contest”), and they need to be followed up. The neces-
sary follow-ups and subsequent resolutions are not something that can be easily planned for in a
systematic manner.
Third, the method is error-prone. Because the method relies mainly on the analyst’s intuitive
understanding of the application domain, and because of the unsystematic nature of the analysis
process, it is easy to make mistakes.
Note: Regarding the above shortcomings—and others as well—natural language processing tools
can be very helpful. Tools such as LIDA (Overmyer, Lavoie, and Rambow, 2001) and REVERE
(Rayson et al., 2000), for example, can handle large amounts of textual information, extract and
present keywords in context, analyze sentences and transform and present them in standard forms,
and exhibit links between the elements of the domain model to textual information to facilitate
insights and validations, and so on.
Going back to the case study, it can be seen that the domain class model given in White
(1994) contains some serious inconsistencies. These inconsistencies are caused by what
we call the problem of mutating concepts. This problem arises in situations where several
concepts in the same application domain are referred to (by the domain experts) by the same
term. Thus, in one part of the problem description (or an interview), the term is used with
one particular meaning, and then often without warning, in another part of the description it
is used with another meaning. This type of problem is very common. It is likely to occur in
most nontrivial applications. We coin the term “mutating concept” to draw attention to the
potential dangers. 1
How does the problem of mutating concepts arise in the Gymnastics case study? Some of the
terms, such as “club” and “gymnast,” have a single meaning and do not pose any problem. In
contrast, other terms such as “competition,” “event,” and “team”—as it turns out—have multiple
meanings and must be handled very carefully. For example, a careful reading of the problem
statement reveals two concepts of “competition”:
• One refers to the “competition type” (such as “Women’s Senior Team”);
• The other refers to the “competition in a meet” (such as “Women’s Senior Team” in the
“Town Invitational Meet”).
The two meanings of the term refer to two different—though closely related—concepts. The
fact that the concepts are closely related actually increases the danger of confusion.
The concept of “team” requires even greater care. As explained in White (1994):
When a club enters a meet, must it enter all the competitions in the meet? The answer is “no.”
Must a club have the same set of gymnasts entered in all competitions of a meet? Categori-
cally “no,” or you could not have men’s and women’s competitions. In fact, the club enters
some subset of its members for a competition. This subset is a team. (White, 1994, p. 34)