updates
This commit is contained in:
83
uml/classdiagram7.dot
Normal file
83
uml/classdiagram7.dot
Normal file
@@ -0,0 +1,83 @@
|
||||
digraph "Reservation System - Account Load" {
|
||||
// General graph settings
|
||||
graph [
|
||||
rankdir="TB",
|
||||
splines=ortho,
|
||||
nodesep=1.0,
|
||||
ranksep=1.0,
|
||||
fontname="Arial",
|
||||
fontsize=12,
|
||||
label="Reservation System - Account Loading"
|
||||
];
|
||||
|
||||
// General node and edge settings
|
||||
node [
|
||||
shape=record,
|
||||
style=filled,
|
||||
fillcolor=lightyellow,
|
||||
fontname="Arial",
|
||||
fontsize=10
|
||||
];
|
||||
edge [
|
||||
fontname="Arial",
|
||||
fontsize=9
|
||||
];
|
||||
|
||||
// Packages
|
||||
subgraph cluster_reservationsystem {
|
||||
label="lodge.reservationsystem";
|
||||
style=filled;
|
||||
color=lightgrey;
|
||||
|
||||
AccomodationManager [label="{AccomodationManager|+ AccomodationManager(home: String)\l+ newAccount(phone: String, addr: Address, email: EmailAddress): Account\l+ AddAccount(acct: Account)\l+ UpdateAccount(acct: Account)\l+ showAccountList()\l}"];
|
||||
DataRepository [label="{DataRepository (Singleton)|- directoryPath: String\l- instance: DataRepository\l|+ getInstance(): DataRepository\l+ setDataStoreRoot(path: String)\l+ getPath(): String\l+ LoadAccount(file: Path): Account\l}"];
|
||||
}
|
||||
|
||||
subgraph cluster_datamodel {
|
||||
label="lodge.datamodel";
|
||||
style=filled;
|
||||
color=lightblue;
|
||||
|
||||
Account [label="{Account|+ Account()\l+ Account(phone: String, mailAddr: Address, email: EmailAddress)\l+ Write(acct: Account)\l+ checkValid()\l}"];
|
||||
AccountList [label="{AccountList|+ add(acct: Account)\l+ save(acct: Account)\l+ find(account_number: String): Account\l+ showAccountList()\l}"];
|
||||
Address [label="{Address|+ Address(street: String, city: String, state: String, zip: String)\l}"];
|
||||
EmailAddress [label="{EmailAddress|+ EmailAddress(email: String)\l}"];
|
||||
DuplicateObjectException [label="<<exception>>\nDuplicateObjectException"];
|
||||
IllegalArgumentException [label="<<exception>>\nIllegalArgumentException"];
|
||||
}
|
||||
|
||||
subgraph cluster_test {
|
||||
label="lodge (Test)";
|
||||
style=filled;
|
||||
color=honeydew;
|
||||
TestAccountLoad [label="{TestAccountLoad|+ main(args: String[])\l- Test_AddAccount(mgr: AccomodationManager, acct: Account)\l}"];
|
||||
TestAccountLoad_getRepositoryConfig [label="{getRepositoryConfig|+ getPath(): String\l}"];
|
||||
}
|
||||
|
||||
// Class Relationships
|
||||
TestAccountLoad -> AccomodationManager [label="uses"];
|
||||
TestAccountLoad -> Account [label="uses"];
|
||||
TestAccountLoad -> Address [label="creates"];
|
||||
TestAccountLoad -> EmailAddress [label="creates"];
|
||||
TestAccountLoad -> TestAccountLoad_getRepositoryConfig [style=dashed, arrowhead=open, label="has inner"];
|
||||
|
||||
AccomodationManager -> AccountList [arrowhead=diamond,label="manages 1"];
|
||||
AccomodationManager -> DataRepository [label="uses"];
|
||||
AccomodationManager -> Account [label="creates/updates"];
|
||||
|
||||
AccountList -> Account [arrowhead=odiamond, label="0..*"];
|
||||
|
||||
Account -> Address [label="has mailing"];
|
||||
Account -> EmailAddress [label="has"];
|
||||
Account -> DataRepository [label="uses for persistence"];
|
||||
|
||||
DataRepository -> Account [label="loads"];
|
||||
|
||||
// Exception Relationships
|
||||
edge [color=red, style=dashed, arrowhead=open];
|
||||
AccomodationManager -> Exception [label="<<throws>>"];
|
||||
AccountList -> DuplicateObjectException [label="<<throws>>"];
|
||||
Account -> IllegalArgumentException [label="<<throws>>"];
|
||||
Account -> IOException [label="<<throws>>"];
|
||||
DataRepository -> IOException [label="<<throws>>"];
|
||||
}
|
||||
Reference in New Issue
Block a user