Академический Документы
Профессиональный Документы
Культура Документы
Association
Person
first name : String
last name : String
salary
+employee
+employer
1..*
name
0..1
Role
+owner
<<Rule>>
If a person is not employed by a
company then they do not have a car.
Car
type
name
Company
Domain class
Domain classes?
Each domain class denotes a type of object. It is a
descriptor for a set of things that share common
features. Classes can be:o Business objects - represent things that are
manipulated in the business e.g. Order.
o Real world objects things that the business keeps
track of e.g. Contact, Site.
o Events that transpire - e.g. sale and payment.
Identifying attributes ?
A domain class sounds like an attribute if: o It relies on an associated class for its identity
e.g. order number class associated to an order
class. The order number sounds suspiciously like
an attribute of order.
o It is a simple data type e.g. order number is a
simple integer. Now it really sounds like an
attribute!
Example
Router
Name
*
N/W Service
1
FreePort
Location
Name
DedicatedTo
ValidIPRange
ConnectivityType
*
FreePlug
Switch/Hub
Location
Name
*
RackTypes
Dimensions
SlotNumber
MachineDimensions
1
H/W Warranty
*
Maintainer
StartDate
EndDate
0..1
*
1
Machine
SerialNumber
HostName
IPAddress
Administrator
SwitchPlug
Memory
LocationInRack
Maintainer
Warranty
0..1
Manufacturer
Rack
FreeSlot
Name
LocationInRack
1
1
Location
1..*
Hardware Component
Model
Mario Rack
19" Rack
Manufacturer
Model
1 *
Hard Disk
Monitor
Room
Building
X
Y
1
1
0..1
Graphics Card
Sound Card
DVD
CD
CPU
Router
Name
1
*
N/W Service
Name
DedicatedTo
ValidIPRange
ConnectivityType
*
Switch/Hub
Name
*
1
*
Machine
1
Network Interface Card
MAC Address
InterfaceType
SerialNumber
HostName
IPAddress
Administrator
SwitchPlug
Memory
LocationInRack
Maintainer
Warranty
0..1
0..1
Rack
Name
Mario Rack
19" Rack
References
Business Modelling with UML Penker
Analysis patterns Fowler
These books provide patterns for domain
models.