of 16
8/10/2019 0035-domain-modeling1.ppt
1/16
IntellAgi le
www.craiglarman.comCopyright 2002 Craig Larman. All rights reserved.
VisualizingConcepts with
aDomainModel
8/10/2019 0035-domain-modeling1.ppt
2/16
IntellAgile
2
Overview
A Domain Model visualizes noteworthy concepts or
objects in the domain.
You will be able to:
Read and write the UML class diagram notation
for a Domain Model
Create a Domain Model
Apply guidelines Relate it to other artifacts
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
3/16
IntellAgile
3
DEFINITION & MOTIVATION: Domain Model
A Domain Modelvisualizes, using UML class
diagram notation, noteworthy concepts or objects.
It is a kind of visual dictionary.
Nota picture of software classes.
It helps us identify, relate and visualize important
information.
It provides inspiration for later creation of softwaredesign classes, to reduce representational gap.
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
4/16
IntellAgile
4
EXAMPLE: Partial Domain Model
Video
ID
Stocks4
Rents4
Rents-from4
11..*
1 *1
*
VideoStore
address
name
phoneNumber
Customer
address
name
phoneNumber
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
5/16
IntellAgile
5
GUIDELINES: Finding Domain Concepts
Candidate lists (see text, p. 134)
Abbott Analysis; AKA Linguistic Analysis
Most simply, pick out the nouns
Existing analysis patterns:
use cases sys. sequence diagrams domain models operation contract
http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0201895420/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0932633293/reader/2/002-3439525-68424078/10/2019 0035-domain-modeling1.ppt
6/16
IntellAgile
6
UML: Associations
VideoVideoStoreStocks4
*1
association name multiplicity
-"direction reading arrow"
-it has no meaning except to indicate direction of
reading the association label
-optional
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
7/16
IntellAgile
7
UML: Multiplicity
zero or more;
"many"
one or more
one to forty
exactly five
T
T
T
T
*
1..*
1..40
5
T3, 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
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
8/16
IntellAgile
8
GUIDELINES: Associations
Only add associations for noteworthyrelationships. Literally,
those for which making a note is worthy or business
motivated.Video
...Rents4
Influenced-by4
1
1..*
1 Loan Policy
...
Customer
...
Important association.
Need to remember.
Low value association.
Possible, but so what?
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
9/16
IntellAgile
9
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
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
10/16
IntellAgile
10
GUIDELINES: Attributes
Why??
Video
...Rents
41 1..*Customer
...Better
Video
renter : Customer
Customer
rentedVideos: List of VideoWorse
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
11/16
IntellAgile
11
EXAMPLE: Domain Model
Catalog
VideoDescription
titlesubjectCategory
VideoRental
dueDatereturnDate
returnTime
CashPayment
amount : Money
Video
ID
Stocks4
Rents4
Rents-from4
Pays-for 4
Initiates4
Owns-a4
Described-by
Membership
ID
startDate
1
1
1..*
1
1
1
1..*
1
1
*
1
1
1
*
1*
Pays-for-overdue-charges 4
RentalTransaction
date
LoanPolicy
perDayRentalChargeperDayLateCharge
Determines-rental-charge4
1
Defines
1..*
*
1..*
1
1
* *
VideoStore
address
namephoneNumber
Customer
address
namephoneNumber
1
1
1..*
Records-rental-of
0..1
1
Has Maintains
*
1
1
Notice how this can
be viewed as a
visual dictionary.
It illustratesconcepts, words,
things in a domain.
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
12/16
IntellAgile
12
1. In small teams at the whiteboard, draw a partial
Domain Model, limited to the Main Success
Scenario of the Process Saleuse case, andassuming iteration 1 simplifications.
Use the texts use case as the basis. p. 50
Apply the guidelines
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
13/16
8/10/2019 0035-domain-modeling1.ppt
14/16
IntellAgile
14
Recommended Resources
use cases sys. sequence diagrams domain models operation contract
http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0139055975/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0201895420/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0932633293/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0471353485/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0471380237/reader/2/002-3439525-68424078/10/2019 0035-domain-modeling1.ppt
15/16
IntellAgile
15
1. Without notes, draw all UP disciplines and
artifacts discussed, and relate them.
use cases sys. sequence diagrams domain models operation contract
8/10/2019 0035-domain-modeling1.ppt
16/16
IntellAgile
16
1. Objectives assessment. Can you:
Read and write the UML class diagram
notation for a Domain Model
Create a Domain Model
Apply guidelines
Relate it to other artifacts
use cases sys sequence diagrams domain models operation contract