Skip to content

Commit 953eb7a

Browse files
authored
Merge pull request nus-cs2103-AY2526S1#123 from Cheeden/update-UML-model
Update UML model
2 parents 225ba60 + 97c517b commit 953eb7a

4 files changed

Lines changed: 30 additions & 7 deletions

File tree

docs/diagrams/BetterModelClassDiagram.puml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,22 @@ skinparam classBackgroundColor MODEL_COLOR
77
AddressBook *-right-> "1" UniquePersonList
88
AddressBook *-right-> "1" UniqueTagList
99
UniqueTagList -[hidden]down- UniquePersonList
10-
UniqueTagList -[hidden]down- UniquePersonList
1110

1211
UniqueTagList -right-> "*" Tag
1312
UniquePersonList -right-> Person
1413

1514
Person -up-> "*" Tag
1615

1716
Person *--> Name
18-
Person *--> Phone
17+
Person *--> "0..1" Contact
18+
Person *--> "0..1" NOKContact
1919
Person *--> Address
20+
Person *--> SubjectLevel
21+
Person *--> DayTime
22+
Person *--> Cost
23+
24+
note right of Person
25+
{At least one of Contact or
26+
NOKContact must be non-null}
27+
end note
2028
@enduml

docs/diagrams/ModelClassDiagram.puml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,17 @@ Class UserPrefs
1414

1515
Class UniquePersonList
1616
Class Person
17+
note right
18+
{At least one of Contact or
19+
NOKContact must be non-null}
20+
end note
1721
Class Address
1822
Class Name
19-
Class Phone
23+
Class Contact
24+
Class NOKContact
25+
Class SubjectLevel
26+
Class DayTime
27+
Class Cost
2028
Class Tag
2129
Class "<<interface>>\nPredicate<Person>" as Predicate
2230
note right of Predicate: Used by FindCommand\nto filter persons by\nname, tag, or lesson day
@@ -39,16 +47,23 @@ UserPrefs .up.|> ReadOnlyUserPrefs
3947
AddressBook *--> "1" UniquePersonList
4048
UniquePersonList --> "~* all" Person
4149
Person *--> Name
42-
Person *--> Phone
50+
Person *--> "0..1" Contact
51+
Person *--> "0..1" NOKContact
4352
Person *--> Address
53+
Person *--> SubjectLevel
54+
Person *--> DayTime
55+
Person *--> Cost
4456
Person *--> "*" Tag
4557

4658
Person -[hidden]up--> I
4759
UniquePersonList -[hidden]right-> I
4860

49-
Name -[hidden]right-> Phone
50-
Phone -[hidden]right-> Address
51-
Address -[hidden]right-> Email
61+
Name -[hidden]right-> Contact
62+
Contact -[hidden]right-> NOKContact
63+
NOKContact -[hidden]right-> Address
64+
Address -[hidden]right-> SubjectLevel
65+
SubjectLevel -[hidden]right-> DayTime
66+
DayTime -[hidden]right-> Cost
5267

5368
ModelManager --> "~* filtered" Person
5469
@enduml
10 KB
Loading

docs/images/ModelClassDiagram.png

7.45 KB
Loading

0 commit comments

Comments
 (0)