0% found this document useful (0 votes)
135 views

Domain Model PDF

1. A domain model describes real-world concepts rather than software objects or data models. It acts as a visual dictionary of the domain. 2. Conceptual classes are identified by analyzing documents, use cases, and conversations to find important nouns that represent real-world concepts. 3. Associations between conceptual classes are included to show relationships but many are not implemented in software. Attributes define properties of conceptual classes but focus on conceptual rather than technical qualities.

Uploaded by

Bakhtawr Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views

Domain Model PDF

1. A domain model describes real-world concepts rather than software objects or data models. It acts as a visual dictionary of the domain. 2. Conceptual classes are identified by analyzing documents, use cases, and conversations to find important nouns that represent real-world concepts. 3. Associations between conceptual classes are included to show relationships but many are not implemented in software. Attributes define properties of conceptual classes but focus on conceptual rather than technical qualities.

Uploaded by

Bakhtawr Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Chapter 9.

Domain Models

Objectives
Introduction

[1] Use cases are an important requirements analysis artifact, but are not object-oriented. They emphasize an activity view.

[View full size image]

[View full size image]


9.1. Example

[View full size image]


Guideline
9.2. What is a Domain Model?

[2] They
are also related to conceptual entity relationship models, which are capable of showing purely conceptual views of domains, but that have
been widely re-interpreted as data models for database design. Domain models are not data models.

Definition

[3] Capitalization
of "Domain Model" or terms is used to emphasize it as an official model name defined in the UP, versus the general well-known
concept of "domain models."

Definition: Why Call a Domain Model a "Visual Dictionary"?


Definition: Is a Domain Model a Picture of Software Business Objects?

[4] In object modeling, we usually speak of responsibilities related to software objects. And methods are purely a software concept. But, the

domain model describes real-situation concepts, not software objects. Considering object responsibilities during design work is very
important; it is just not part of this model.

Definition: What are Two Traditional Meanings of "Domain Model"?


Definition: What are Conceptual Classes?

[View full size image]


Definition: Are Domain and Data Models the Same Thing?
9.3. Motivation: Why Create a Domain Model?

Motivation: Lower Representational Gap with OO Modeling

[View full size image]


9.4. Guideline: How to Create a Domain Model?
9.5. Guideline: How to Find Conceptual Classes?

What are Three Strategies to Find Conceptual Classes?

Method 2: Use a Category List


Method 3: Finding Conceptual Classes with Noun Phrase Identification

[5] Linguistic analysis has become more sophisticated; it also goes by the name natural language modeling. See [Moreno97] for example.

Guideline
9.6. Example: Find and Draw Conceptual Classes

Case Study: POS Domain


Case Study: Monopoly Domain
9.7. Guideline: Agile ModelingSketching a Class Diagram
9.8. Guideline: Agile ModelingMaintain the Model in a Tool?
9.9. Guideline: Report ObjectsInclude 'Receipt' in the Model?
9.10. Guideline: Think Like a Mapmaker; Use Domain Terms

Guideline
9.11. Guideline: How to Model the Unreal World?
9.12. Guideline: A Common Mistake with Attributes vs. Classes

Guideline
9.13. Guideline: When to Model with 'Description' Classes?

Motivation: Why Use 'Description' Classes?


Guideline: When Are Description Classes Useful?

Guideline

Example: Descriptions in the Airline Domain


9.14. Associations

Guideline: When to Show an Association?


Guideline

Guideline: Why Should We Avoid Adding Many Associations?

Perspectives: Will the Associations Be Implemented In Software?

Applying UML: Association Notation


Caution

Guideline: How to Name an Association in UML?

Guideline
Applying UML: Roles

Applying UML: Multiplicity


[View full size image]
Applying UML: Multiple Associations Between Two Classes

Guideline: How to Find Associations with a Common Associations List


9.15. Example: Associations in the Domain Models

Case Study: NextGen POS

[View full size image]

Case Study: Monopoly


9.16. Attributes

Guideline: When to Show Attributes?

Applying UML: Attribute Notation

More Notation
[View full size image]

Guideline: Where to Record Attribute Requirements?

Derived Attributes
[View full size image]

Guideline: What are Suitable Attribute Types?

Focus on Data Type Attributes in the Domain Model


Guideline

Guideline

Data Types

[6] In Java, for example, a value test is done with the equals method, and an identity test with the == operator.
Perspectives: What About Attributes in Code?

Guideline: When to Define New Data Type Classes?


Applying UML: Where to Illustrate These Data Type Classes?

[View full size image]


Guideline: No Attributes Representing Foreign Keys

[View full size image]

Guideline: Modeling Quantities and Units


[View full size image]
9.17. Example: Attributes in the Domain Models

Case Study: NextGen POS

[View full size image]


Case Study: Monopoly
9.18. Conclusion: Is the Domain Model Correct?
9.19. Process: Iterative and Evolutionary Domain Modeling

Guideline

Domain Models Within the UP


Inception

Elaboration

The UP Business Object Model vs. Domain Model


9.20. Recommended Resources

You might also like