Managing Domain Architecture Evolution Through Adaptive Use Case and Business Rule Models (1998 262p 1708K PDF)
The areas of domain engineering, vertical application frameworks, and business objects have generated considerable interest in industry and the research community during the last few years. In order for systems to be successfully implemented from such application frameworks, there are two major concerns that must be addressed: how to maintain non-interfering applications and how to minimize bias towards any individual application in developing the domain model. As we add new applications, we need to ensure that they are not destructive to each other. We also need to make certain that as we expand the domain model to accommodate new applications, that these future applications are not unnecessarily constrained or complex. Most of the related work to date has focused on defining the architectural structure of application frameworks or on maintaining structural and behavioral consistency. Methodologies have primarily focused on the definition of a domain model rather than its evolution.
This thesis develops a conceptual framework for integrating various techniques to facilitate managing the evolution of a business domain architecture. As part of this conceptual framework, domain normal forms and normalization operations are defined. An adaptive use case model is proposed as an extension to the Unified Modeling Language (UML) specification. A business rule pattern language and meta-model are also developed that describes how parameterized business rules can be integrated with adaptive use cases to mange domain model evolution. All of these models are synthesized into a domain evolution architectural transformation (DEAT) process model. Although considerable work remains, this thesis demonstrates the feasibility of utilizing the prescribed models for guiding performance of operations on a domain model. Through fit assessment and change cost analysis, new applications may be developed from the domain architecture with minimal bias and interference resulting in a more stabile and resilient domain model.
Domain Model Normalization: Towards a Foundation for Managing Business Domain Architecture Evolution (1997 25p 170K PDF)
Domain engineering is concerned with the development of an architecture for implementing a family of related applications. We need to make certain that as we evolve and expand the domain model to accommodate new applications, that these future applications are not unnecessarily constrained or complex. This paper presents a foundation for managing the evolution of a business domain-specific architecture though the concept of 'domain model normalization'. Domain model normalization is presented as an extrapolation of data model normalization through the addition of process, policy, and context normalization concepts. Basic operations and properties that can be applied to a domain model architecture are described.
A Survey of Approaches for Describing and Formalizing Use Cases (1997 47p 392K PDF)
A use case is an object-oriented modeling construct that is used to define the behavior of a system. Interactions between the user and the system are described through a prototypical course of actions along with a possible set of alternative courses of action. Primarily, use cases have been associated with requirements gathering and domain analysis. However, with the release of the Unified Modeling Language (UML) specification version 1.1, the scope of use cases has broadened to include modeling constructs at all levels. Due to this expanded scope, the representation of use cases has taken on increasing importance. Accordingly, this paper presents a survey of approaches to describing and formalizing use cases. Key aspects are presented from various approaches that have appeared in trade journals, conference proceedings, white papers, and product literature. The major elements of each approach are classified from two perspectives. The first perspective is the format of how the use case is represented. The primary representation format categories are textual, graphical, and dynamic. The second perspective is use case focus. The primary focus categories are static, dynamic, policy, and process.
The Three R's of Use Case Formalisms: Realization, Refinement, and Reification (1997 12p 99K PDF)
Version 1.1 of the Unified Modeling Language (UML) includes a behavioral elements subpackage devoted to use cases. This paper identifies three primary mechanisms for expressing use cases in design models: realization, refinement, and reification. A use case is typically realized in terms of collaborating objects belonging to classes. A use case may be refined through a collaboration of use cases that provide the specification for each of the elements of the entity specified by the superordinate use case. A use case is reified through a use case instance that constitutes the performance of the sequence of actions specified in a scenario of the use case. This paper describes the full set of semantics for use cases. Diagrams of UML model elements tailored for expressing these three use case mechanisms are developed. Using the graphical models and semantics presented, the relationships among these three models are explored to derive guidelines for appropriate representations of use cases when developing a doma in model.