Page 159 -
P. 159

144     NGUYEN  AND  DILLON
                    Any domain modeling engaged in by XP could be said to be bottom-up and text analysis (at least
                    in identifying classes).
                      Recognizing the challenge of domain modeling for data-intensive systems, the use of analysis
                    patterns, such as those proposed in Fowler (1977), has been seen as a way to improve productiv-
                    ity. Works on analysis patterns seek to describe commonly recurring analysis situations and their
                    associated solutions, forming an explicit, shareable knowledge-base. Analysis patterns are a form
                    of knowledge reuse, which derives its inspiration from the influential works on design patterns
                    (Gamma et al., 1995). Despite being analogous to design patterns, the impact of analysis patterns has
                    been quite moderate. Most likely, this lack of impact is due to the fact that in practice we encounter
                    a great variety of situations, which, after all, reflects the great variety of human activities.
                      Quite distinct from the approaches mentioned so far is the fact-based modeling approach,
                    formally known as Object-Role Modeling (Halpin, 2001). The fact-based approach captures
                    information structure in terms of elementary fact types and the constraints on these fact types. In
                    simple terms, elementary fact types are types of sentences that allow us to describe the state of
                    the application domain (often referred to as the universe of discourse). The elementary fact types
                    effectively form a well-defined ontology. This ontology, in turn, allows the analyst to precisely
                    express, as logical statements, the constraints (invariants) on the possible states of the universe
                    of discourse. A distinguishing feature of ORM is that its key abstraction mechanism is attribute-
                    free. Though in ORM parlance elementary fact types are about “objects” playing roles, objects in
                    ORM can correspond to both objects and attributes in object-oriented models. This attribute-free
                    property is the key factor that allows ORM to be used effectively to construct the domain models
                    in an incremental and stable manner. ORM strongly advocates the bottom-up approach, working
                    with user views of the data (reports, forms, etc.) rather than with the general description of the
                    application domain. The practice of working with user views of data can naturally be adopted to
                    work with use cases, as will be shown. Thus, ORM can be characterized as being bottom-up in
                    its perspective and fact-based in its discovery technique.
                      Another well-known attribute-free approach is that proposed by Embley (1998). While ORM
                    is concerned more or less exclusively with the information structure, Embley’s method includes
                    the dynamic aspect of the system.
                      Though it is not normally regarded as being in the field of domain modeling, Resource Descrip-
                    tion Framework or RDF (Beckett, 2004), is closely related to ORM. RDF expresses information
                    in terms of RDF triples, which consist of a subject, a predicate, and an object. The “subjects” and
                    “objects” of RDF closely correspond to “objects” of ORM, and RDF triples are a form of ORM
                    binary fact type.
                      Given the important role played by natural language in the modeling process, techniques
                    developed for natural language processing, such as part-of-speech tagging, pronoun resolution,
                    sentence normalization, and so on, have been applied to facilitate object-oriented modeling (e.g.,
                    see Delisle, Barker, and Biski, 1999; Overmyer, Lavoie, and Rambow, 2001; Rayson et al., 2000).
                    These tools use as their major input various sorts of textual descriptions about the domain and
                    the system, such as requirements statement, use case descriptions (or task scripts), transcripts
                    of interviews, and so on. The tools can annotate the textual descriptions with part-of-speech
                    tags, and extract and present the analyst with sets of content words in context, which helps the
                    analyst determine candidate elements for the domain model. The combination of the techniques
                    of tagging, pronoun resolution, and sentence transformation can produce descriptions made up
                    of sentences that clearly indicate the information structure (e.g., customer/NN has/VBZ ID/NN)
                    or various kinds of relevant behavior (e.g., customer/NN can/MD reserve/VBZ ticket/NN). The
                    treatment of attributes may be more complicated. The consideration of adjectives for attributes
   154   155   156   157   158   159   160   161   162   163   164