Page 236 - DCAP405_SOFTWARE_ENGINEERING
P. 236

Unit 13: Building the Analysis Model




          Requirements Domain Analysis                                                          Notes

          When there is sufficient confidence that a stream of products can be produced, one may want to
          factor out the commonalities in the multiple analyses that must be done for each product. Thus
          one may want to do a conceptual domain analysis that yields ordinary ground for each specific
          analysis. OO analysis notions lend themselves for capturing generic concepts at multiple levels
          of granularity. Ensembles, subensembles, classes, and generic relationships are all candidates
          for describing an application domain.
          While we  can use the notions and notations from an OO analysis method for requirements
          domain analysis, we have to adjust the process dimension. We cannot rely on a system-specific
          requirements document as input to the process. Instead, we have to take in any relevant features
          from the documentation that explains the commonality of the products. Experts and customers
          may be tapped, as suggested in the generic diagram. Though, the situation differs from the
          diagram in that people have to be primed for more specific and  detailed information.  The
          output side differs as well because the process stops earlier; no  model is to be  constructed.
          Instead, generic classes, relationships, ensembles, etc., are produced. These may be organized
          into one or more OO frameworks that may be specialized to the needs of particular systems.


                 Example: Many of the ATM examples in previous units are not geared to any specific
          system. To the extent to which these descriptions are realistic, they are contributions to an OO
          domain analysis of “ATMs for banks”.
          Our model of the OOA process in unit represents an even better instance of this form of domain
          analysis. This  model abstracted across different development styles  and contexts. It did not
          culminate in a particular target model, but only those model components forming a basis for
          any OOA process.

          Domain Engineering

          A requirements domain analysis may lead to an OO domain engineering effort. This entails the
          construction of design fragments of the generic elements identified by a requirements domain
          analysis. These designs can be implemented and added to a domain-specific code library.

          Generator Domain Analysis

          When a stable domain serves as the basis of a product line or market segment, one may consider
          constructing a generator for a particular domain. This generator may then be used to automatically
          build (parts of) any of a series of related products. Relational database systems are an example
          of a mature, stable domain where it is quite conceivable to perform a generator type domain
          analysis. The query language, platform, operating system and windowing environment would
          be main parameters for such a relational database builder.

          The analysis performed for the construction of such a meta-program may be seen as a third
          version of the notion of domain analysis. One may assume for such an enterprise not only that
          the domain is stable and well understood, but also that domain specific design and/or code
          libraries are available. One may even step one level higher. ‘


                 Example: The Rose system (Reuse of Software Elements) was an experimental meta-
          meta-program that assisted  in capturing domain knowledge  and design know-how for  the
          domain.






                                           LOVELY PROFESSIONAL UNIVERSITY                                   229
   231   232   233   234   235   236   237   238   239   240   241