SlideShare a Scribd company logo
Domain model: visualizing
concepts
Applying UML and Patterns
-Craig Larman
1
Domain Model Relationships
2
Domain Model
Use Case Model
Interaction Diagrams
Glossary
Design
Requirements
Business Model
Classes, attributes, associations
Domain
objects
Elaboration on some terms
A Domain Model
 illustrates meaningful conceptual classes in a problem
domain.
 is a representation of real-world concepts, not software
components.
 is NOT a set of diagrams describing software classes, or
software objects and their responsibilities.
 It may show:
 concepts
 associations between concepts
 attributes of concepts
3
Domain Model: UML Notation
 Illustrated using a set of class diagrams for
which no operations are defined.
4
 A Domain Model is a
description of things in the real
world.
 A Domain Model is not a
description of the software
design.
 A concept is an idea,
thing, or object.
A Domain Model is not a Software
Artifact
A Conceptual class:
5
Sale
Date
Time
Sales Database
Sale
Date
Time
Print()
Software Artifacts:
vs.
Identify Conceptual Classes by Noun
Phrase:
Identify Nouns and Noun Phrases in
textual descriptions of the domain.
Fully dressed Use Cases are good for this
type of linguistic analysis.
It’s not strictly a mechanical process:
Words may be ambiguous
Different phrases may represent the same
concepts.
6
Steps to create a Domain Model
Identify Candidate Conceptual classes
Draw them in a Domain Model
Add associations necessary to record the
relationships that must be retained
Add attributes necessary for information
to be preserved
7
Apply the Mapmaker Strategy
Use existing names for things, the
vocabulary of the domain
Exclude irrelevant features
Do not add things that are not there
8
UML: Associations
VideoVideoStore Stocks 
*1
association name multiplicity
-"direction reading arrow"
-it has no meaning except to indicate direction of
reading the association label
-optional
UML: Multiplicity
zero or more;
"many"
one or more
one to forty
exactly five
T
T
T
T
*
1..*
1..40
5
T
3, 5, 8 exactly three,
five or eight
Customer
Video
Rents 
*
One instance of a
Customer may be
renting zero or more
Videos.
One instance of a Video
may be being rented by
zero or one Customers.
0..1
GUIDELINES: Associations
 Only add associations for noteworthy relationships.
Literally, those for which making a “note” is worthy or
business motivated. Video
...Rents
Influenced-by 
1
1..*
1 Loan Policy
...
Customer
...
Important association.
Need to remember.
Low value association.
Possible, but so what?
UML and GUIDELINES: Attributes
 Show only “simple” relatively primitive types
as attributes.
 Connections to other concepts are to be
represented as associations, not attributes.
Payment
date : Date
time : Time
amount : Money
attributes
A Common Mistake - Classes as
Attributes
Rule: If we do not think of a thing as a
number or text in the real world, then it is
probably a conceptual class.
If it takes up space, then it is likely a
conceptual class.
Examples:
A Store is not an attribute of a Sale
A Destination is not an attribute of a flight
13
Specification or Description Conceptual
Classes
A Class that records information about an
item.
Even if all Instances of the item are sold
out, the description remains.
Avoids duplication of recording the
descriptive information with each instance
of the item.
14
Description of a Service Example
(Flight)
15
Airport
Name
vs.
Flight
Date
Time
Number
Flight
Date
Time
Flight Desc
Date
Time
Airport
Name
Flies-to
Described
-by
Describes
-flights-to
The NextGen POS (partial) Domain
Model
16
The NextGen POS (partial) Domain
Model
17
The NextGen POS (partial) Domain
Model
18

More Related Content

PPTX
Ooad static diagram
DOCX
Chapter 4: Enhanced Entity-Relationship and Object Modeling
PPT
Design Pattern For C# Part 1
PPT
Enhanced E-R diagram
PPT
Eer case study
PPTX
Let us understand design pattern
PDF
OO & UML
PPTX
Design pattern
Ooad static diagram
Chapter 4: Enhanced Entity-Relationship and Object Modeling
Design Pattern For C# Part 1
Enhanced E-R diagram
Eer case study
Let us understand design pattern
OO & UML
Design pattern

What's hot (20)

PPT
Executable UML and SysML Workshop
PPT
27 f157al5enhanced er diagram
PDF
ER Diagrams Simplified
PPT
Design Patterns (Examples in .NET)
PPT
ANP market share models
PDF
Sequence diagram- UML diagram
PDF
1869495 er diagrams
PPTX
Uml Diagrams for Web Developers
PPTX
Unified Modeling Language
PDF
ERD with complete knowledge
PDF
Darren galpin q4_2008_bristol
PPTX
Sequence diagrams in UML
PPTX
Database Modeling Using Entity.. Weak And Strong Entity Types
PPTX
Evolve Your Code
PDF
Gof design pattern
PDF
How to Design Services using UML and Enterprise Architect
PPTX
Presentation database about ERD
PPT
Design Patterns
PPT
Lecture08 examples
PPTX
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
Executable UML and SysML Workshop
27 f157al5enhanced er diagram
ER Diagrams Simplified
Design Patterns (Examples in .NET)
ANP market share models
Sequence diagram- UML diagram
1869495 er diagrams
Uml Diagrams for Web Developers
Unified Modeling Language
ERD with complete knowledge
Darren galpin q4_2008_bristol
Sequence diagrams in UML
Database Modeling Using Entity.. Weak And Strong Entity Types
Evolve Your Code
Gof design pattern
How to Design Services using UML and Enterprise Architect
Presentation database about ERD
Design Patterns
Lecture08 examples
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
Ad

Similar to Lecture9 domain model visualizing (20)

PPT
Ooa 1 Post
PPT
domain model.ppt
PPTX
Unit-2.pptx
PDF
Domain Modeling
PPTX
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
PDF
Design UML diagrams
PDF
Design UML diagrams
PPT
Introduction to UML, class diagrams, sequence diagrams
PPT
Relational Database Management Systems Concepts
PPT
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
PPT
Uml(unified modeling language) Homework Help
PPT
SE UML.ppt
PPTX
lecture8UML Diagrams.pptx
PPT
Ood Post1
PPTX
Understanding unified modelling language
DOC
Uml Interview Questions
PPTX
Object oriented analysis and design
PDF
GRASP_Designing Objects With Responsibilities.pdf
PDF
Object oriented modelling
Ooa 1 Post
domain model.ppt
Unit-2.pptx
Domain Modeling
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
Design UML diagrams
Design UML diagrams
Introduction to UML, class diagrams, sequence diagrams
Relational Database Management Systems Concepts
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Uml(unified modeling language) Homework Help
SE UML.ppt
lecture8UML Diagrams.pptx
Ood Post1
Understanding unified modelling language
Uml Interview Questions
Object oriented analysis and design
GRASP_Designing Objects With Responsibilities.pdf
Object oriented modelling
Ad

More from Shahid Riaz (20)

PPTX
Shimla deputation (1906)
PPTX
#Syed ahmad shaheed barailvi
PDF
How to program in c++ with 100 examples
PDF
Virtual private networks in theory and practice
PPT
Database systems administration week 1
PPTX
Database systems administration traning 02
PPTX
Database systems administration traning 02
PPTX
Database systems administration traning 01
PPTX
Database systems administration traning 0
PPTX
Database systems administration traning 04
PPTX
Managing people and organizing team
PPTX
Lec 1 intro to internet
PPT
Course guidlines course book it 3548
PPT
Lecture12 software design class diagram
PPT
Lecture11 use case sequence diagram
PPT
Lecture10 use case model operation contracts
PDF
Lecture8 system sequence
PDF
Lecture7 use case modeling
PDF
Lecture6 activity diagrams
PPTX
Lecture 5 defining the system
Shimla deputation (1906)
#Syed ahmad shaheed barailvi
How to program in c++ with 100 examples
Virtual private networks in theory and practice
Database systems administration week 1
Database systems administration traning 02
Database systems administration traning 02
Database systems administration traning 01
Database systems administration traning 0
Database systems administration traning 04
Managing people and organizing team
Lec 1 intro to internet
Course guidlines course book it 3548
Lecture12 software design class diagram
Lecture11 use case sequence diagram
Lecture10 use case model operation contracts
Lecture8 system sequence
Lecture7 use case modeling
Lecture6 activity diagrams
Lecture 5 defining the system

Recently uploaded (20)

PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
medical staffing services at VALiNTRY
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
history of c programming in notes for students .pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Upgrade and Innovation Strategies for SAP ERP Customers
Digital Strategies for Manufacturing Companies
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
Design an Analysis of Algorithms II-SECS-1021-03
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
medical staffing services at VALiNTRY
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How Creative Agencies Leverage Project Management Software.pdf
CHAPTER 2 - PM Management and IT Context
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Operating system designcfffgfgggggggvggggggggg
Softaken Excel to vCard Converter Software.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
history of c programming in notes for students .pptx

Lecture9 domain model visualizing

  • 1. Domain model: visualizing concepts Applying UML and Patterns -Craig Larman 1
  • 2. Domain Model Relationships 2 Domain Model Use Case Model Interaction Diagrams Glossary Design Requirements Business Model Classes, attributes, associations Domain objects Elaboration on some terms
  • 3. A Domain Model  illustrates meaningful conceptual classes in a problem domain.  is a representation of real-world concepts, not software components.  is NOT a set of diagrams describing software classes, or software objects and their responsibilities.  It may show:  concepts  associations between concepts  attributes of concepts 3
  • 4. Domain Model: UML Notation  Illustrated using a set of class diagrams for which no operations are defined. 4  A Domain Model is a description of things in the real world.  A Domain Model is not a description of the software design.  A concept is an idea, thing, or object.
  • 5. A Domain Model is not a Software Artifact A Conceptual class: 5 Sale Date Time Sales Database Sale Date Time Print() Software Artifacts: vs.
  • 6. Identify Conceptual Classes by Noun Phrase: Identify Nouns and Noun Phrases in textual descriptions of the domain. Fully dressed Use Cases are good for this type of linguistic analysis. It’s not strictly a mechanical process: Words may be ambiguous Different phrases may represent the same concepts. 6
  • 7. Steps to create a Domain Model Identify Candidate Conceptual classes Draw them in a Domain Model Add associations necessary to record the relationships that must be retained Add attributes necessary for information to be preserved 7
  • 8. Apply the Mapmaker Strategy Use existing names for things, the vocabulary of the domain Exclude irrelevant features Do not add things that are not there 8
  • 9. UML: Associations VideoVideoStore Stocks  *1 association name multiplicity -"direction reading arrow" -it has no meaning except to indicate direction of reading the association label -optional
  • 10. UML: Multiplicity zero or more; "many" one or more one to forty exactly five T T T T * 1..* 1..40 5 T 3, 5, 8 exactly three, five or eight Customer Video Rents  * One instance of a Customer may be renting zero or more Videos. One instance of a Video may be being rented by zero or one Customers. 0..1
  • 11. GUIDELINES: Associations  Only add associations for noteworthy relationships. Literally, those for which making a “note” is worthy or business motivated. Video ...Rents Influenced-by  1 1..* 1 Loan Policy ... Customer ... Important association. Need to remember. Low value association. Possible, but so what?
  • 12. UML and GUIDELINES: Attributes  Show only “simple” relatively primitive types as attributes.  Connections to other concepts are to be represented as associations, not attributes. Payment date : Date time : Time amount : Money attributes
  • 13. A Common Mistake - Classes as Attributes Rule: If we do not think of a thing as a number or text in the real world, then it is probably a conceptual class. If it takes up space, then it is likely a conceptual class. Examples: A Store is not an attribute of a Sale A Destination is not an attribute of a flight 13
  • 14. Specification or Description Conceptual Classes A Class that records information about an item. Even if all Instances of the item are sold out, the description remains. Avoids duplication of recording the descriptive information with each instance of the item. 14
  • 15. Description of a Service Example (Flight) 15 Airport Name vs. Flight Date Time Number Flight Date Time Flight Desc Date Time Airport Name Flies-to Described -by Describes -flights-to
  • 16. The NextGen POS (partial) Domain Model 16
  • 17. The NextGen POS (partial) Domain Model 17
  • 18. The NextGen POS (partial) Domain Model 18