UP4-cd-최종DCD.txt
1 |
@startuml |
---|---|
2 |
|
3 |
scale 3 |
4 |
hide circle |
5 |
|
6 |
class Store { |
7 |
address: Address |
8 |
name: Text |
9 |
addSale() |
10 |
} |
11 |
|
12 |
class Register { |
13 |
makeNewSale() |
14 |
enterItem() |
15 |
endSale() |
16 |
makePayment() |
17 |
} |
18 |
|
19 |
class ProductCatalog { |
20 |
getSpecification(itemID): ProductSpecification |
21 |
} |
22 |
|
23 |
class ProductSpecification { |
24 |
description: Text |
25 |
price: Money |
26 |
itemID: itemID |
27 |
} |
28 |
|
29 |
class Sale { |
30 |
date: Date |
31 |
isComplete: Boolean |
32 |
time: Time |
33 |
|
34 |
becomeComplete() |
35 |
makeLineItem() |
36 |
makePayment() |
37 |
getTotal() |
38 |
} |
39 |
|
40 |
class SalesLineItem { |
41 |
quantity: Integer |
42 |
getSubtotal(): Money |
43 |
} |
44 |
|
45 |
class Payment { |
46 |
amount: Money |
47 |
} |
48 |
|
49 |
Store -r-> ProductCatalog : uses |
50 |
Store -d-> Register: houses |
51 |
Store -d-> Sale: logs-completed |
52 |
|
53 |
Register -u-> ProductCatalog: looks-in |
54 |
Register -r-> Sale : captures |
55 |
|
56 |
ProductCatalog -r-> "1..*" ProductSpecification: contains |
57 |
|
58 |
Sale -r-> "1..*" SalesLineItem: contains |
59 |
Sale "1" -r--> "1" Payment |
60 |
|
61 |
SalesLineItem "*" -u-> "1" ProductSpecification: described-by |
62 |
|
63 |
Register .u.> ProductSpecification |
64 |
Sale .u.> ProductSpecification |
65 |
|
66 |
@enduml |