L09 Domain Models

Domain Models - Summary

Overview of Domain Models

  • Domain models represent important concepts in a given domain, providing a visual dictionary of concepts and relationships.

  • These models serve as inspiration for software objects in a class diagram and are also referred to as conceptual or analysis models.

Key Characteristics of Domain Models

  • Depict objects, attributes, and associations, without detailing operations.

  • Serve as a simplified representation for user understanding, emphasizing main concepts over complex structures.

Creation Process

  • Model should align with current requirements and stay within scope.

  • Identify conceptual classes via guidelines, drawing them as classes with associations and attributes in UML diagrams.

  • Changes in requirements may lead to frequent updates of the model.

Conceptual Class Structure

  • Conceptual classes include a symbol, intension (definition), and extension (applicability examples).

Differentiation from Data Models

  • Domain models differ from data models; not all object attributes are persistent, and some objects may not have attributes.

Relationships in Domain Models

  • Associations indicate meaningful relationships between classes, described semantically.

  • Multiplicity defines the quantity relationship between instances of the classes involved, with possible values indicating constraints or requirements.

Importance of Associations

  • Associations preserve the semantic relationships among instances, ensuring that integrity is maintained in the model.

  • Complex concepts should be expressed as associations rather than attributes.

Partial Models

  • Examples of partial models illustrate how the various elements connect within a domain, such as an initial NextGen POS scenario or a Monopoly game scenario.

Model Accuracy and Limitations

  • No single correct domain model exists; all models are approximations meant for understanding and communication.

  • It is important to avoid extensive, overly complex models, focusing on clarity and key concepts instead.

Artifacts by Phase

  • Various modeling artifacts are produced throughout different phases of development, including Business Domain Models, Use Cases, and Design Models.