Page 181 -
P. 181

166     NGUYEN  AND  DILLON
                    Comparing the Underlying Perspectives


                    We have seen that, by being aware of the information about the application domain that the system
                    must maintain, we can eliminate many of the issues arising from the text analysis approach. Let
                    us pursue this point a little further.
                      It is clear that whether or not a concept expressed by a noun can be a class depends on the kind
                    of information it carries and the kinds of relationships it has with other concepts. In other words,
                    a noun derives its meaning from the context in which it is found. Its significance depends on the
                    relationships it has with other concepts in a network of concepts. It is very similar to the way a
                    concept derives its meaning from the semantics network in which the concept occurs.
                      It can be observed that the text analysis approach generally does not effectively exploit the
                    interrelation upon which the significance of the concept is based. In contrast, the fact-based
                    approach seeks to exploit that valuable source of interrelations, and does so effectively, with
                    a clear focus. All we ask consistently is: “What are the facts about the application domain
                    that the system is expected to maintain?” (And we would answer that question by examining
                    the problem statement, or more effectively, by examining the user views such as input/output
                    screens, reports, etc.)
                      Questions regarding facts and fact types are much more fundamental and much easier to
                    answer. Consider, for the sake of argument, a concept or a noun “X”; instead of asking “Is X
                    a class?” or “Is X an attribute?” we simply ask, “Do we need to maintain some information
                    about X?” or “Are there any fact types involving X?” To take an example, if “X” is “Customer,”
                    then we do not have to ask “Is ‘customer’ a class?” or “Is it an attribute?” or “Is it a role?”
                    We ask, “What is the information we maintain for a customer?” or “Does ‘customer’ appear
                    in any fact type?” These questions, being directly related to matters of information, are more
                    to the point. They are also easier to answer. Clearly, if we cannot answer the latter questions
                    (“Can we have a fact type with ‘customer’ in it?”), we would have no hope of answering the
                    former ones (“Is ‘customer’ a class?” or “Is ‘customer’ an attribute?” etc.). In fact, with ORM,
                    in most cases, we do not have to consciously ask such questions; by working with the user’s
                    data views (reports, forms, screens), we can read the facts or fact types off the user views. The
                    fact-oriented viewpoint of ORM allows us to work directly with the information content aspect
                    of the application domain.
                    SUMMARY


                    In this chapter, we have examined in detail the text analysis approach to class and relationship
                    discovery, and pointed out several problems with it. We have also shown how, with the use of the
                    fact-based approach, we can eliminate or effectively handle these problems. We have illustrated
                    how the fact-based analysis can be incorporated into the overall object-oriented domain model-
                    ing process. In particular, we have demonstrated (a) how the order of data entry dependency can
                    be used in identifying and organizing the fact types; (b) how the conceptual schema (that is, the
                    fact-type model) can be validated in several simple but effective ways; and (c) how to convert the
                    conceptual schema into a domain class model.
                      In addition, we have delved deeper into the issue and examined the basic premises of the text
                    analysis and the fact-based approach. We have pointed out that the significance of a concept depends
                    on its relationships with other concepts in a semantic network (expressed in terms of fact types)
                    and that the fact-based approach is one that effectively exploits these all-important relationships
                    with a clear and consistent focus.
   176   177   178   179   180   181   182   183   184   185   186