Page 158 -
P. 158

DOMAIN  MODELING  OF  OBJECT-ORIENTED  INFORMATION  SYSTEMS     143
                    combination of both. The top-down approach derives the model from an “intimate understanding
                    of the nature of the business, rather than from any specific information requirements in computer
                    displays, reports, or business forms.” To help develop a model from this perspective, a number of
                    key questions are suggested. To identify classes, it is suggested that we ask: “What are the subjects/
                    objects of business?” “What types of people, places, things, and materials are used or interact in
                    this business?” “How many instances of each object may exist?” Similar sorts of questions are
                    suggested for identifying attributes, associations, aggregations, compositions, generalization, and
                    so on, including integrity rules and security controls. These authors also embrace the bottom-up
                    approach by “reviewing specific business documents—computer displays, reports, business
                    forms—handled within the system. These displays, reports, forms can be attached to the relevant
                    use case.” Thus, this approach can be broadly characterized as being both top-down and bottom-
                    up in perspective, and using text-analysis as the discovery technique.
                      Bennett, McRobb, and Farmer (2002) strongly advocate the identification of classes and rela-
                    tionships through analysis of use cases by (1) first trying to identify the actors and the classes (or
                    objects) that are involved, then (2) trying to sketch an initial collaboration diagram, and (3) from
                    there, trying to determine the relevance of the classes (identified earlier in the analysis of the use
                    case) and their relationships (Bennett et al., 2002, 176–195). Thus, the main approach these authors
                    recommend is bottom-up in perspective and uses collaboration analysis as the discovery technique.
                    However, they also take the view that it is feasible to develop a domain model that is “independent
                    of any particular use cases.” In addition, they advise that it helps to know what you are looking for
                    by keeping in mind (1) a set of categories of things and concepts that can be potential candidates
                    for representation (people, organizations, structures, physical things, etc.), and (2) some guidelines
                    to eliminate unsuitable candidates. Thus, the method is mainly, but not exclusively, bottom-up in
                    perspective and uses collaboration and text analysis as discovery techniques.
                      Object modeling technique (OMT; Rumbaugh et al., 1990) is largely top-down and text analysis
                    in character. As is common with text analysis approaches, two kinds of heuristics are provided to
                    help the analyst identify the appropriate concepts: (1) a set of categories of things to watch out for
                    as potential candidates, and (2) a set of guidelines to evaluate the suitability of a candidate concept.
                    The evaluation guidelines of OMT will be discussed in detail in a later part of the chapter.
                      The Responsibility-Driven approach (Wirfs-Brock, Wilkerson, and Wiener, 1990) places an
                    emphasis on behavior. The approach’s starting point is the perceived responsibilities of the system.
                    The tasks to be done by the system are considered in turn. And, for each task, the first question
                    is: Which class is responsible for carrying it out? The next question is: With which other classes
                    does this class have to collaborate in order to perform its duty? And so on. The classes and their
                    collaborations are usually recorded using the Class-Responsibility and Collaborator (CRC) cards
                    (Beck and Cummingham, 1989). This approach is thus bottom-up in perspective and uses col-
                    laboration analysis as the main discovery technique. Note that this approach still needs to initially
                    identify the relevant classes, and this is usually done by simple brainstorming or by some text
                    analysis technique.
                      The Unified Process or UP (Jacobson, Booch, and Rumbaugh, 1999) provides a general devel-
                    opment process framework that can be customized for specific projects. Judging by the published
                    literature on UP in relation to domain modeling, UP domain modeling can be broadly described
                    as embracing both the top-down and bottom-up approaches with text analysis and collaboration
                    analysis as its discovery techniques.
                      Extreme Programming or XP (Beck, 2000) advocates the writing of stories (scenarios, use cases)
                    and test cases, and possibly with a minimum amount of analysis, proceeding to programming—
                    relying on refactoring techniques to incorporate additional functionality and to cope with changes.
   153   154   155   156   157   158   159   160   161   162   163