diff --git a/sdd/Software_Detail_Design.docx b/sdd/Software_Detail_Design.docx index 1a53fe2..9025210 100644 Binary files a/sdd/Software_Detail_Design.docx and b/sdd/Software_Detail_Design.docx differ diff --git a/uml/classdiagram1.dot b/uml/classdiagram1.dot index 7828047..ac76ee3 100644 --- a/uml/classdiagram1.dot +++ b/uml/classdiagram1.dot @@ -83,7 +83,7 @@ digraph ClassDiagram { // Composition / Aggregation AccomodationManager -> AccountList [arrowhead=diamond, label="has a"]; - AccountList -> Account [arrowhead=diamond, label="0..*"]; + AccountList -> Account [arrowhead=odiamond, label="0..*"]; Account -> AccountReservationList [arrowhead=diamond, label="has a"]; AccountReservationList -> IReservation [arrowhead=diamond, label="0..*"]; Account -> Address [arrowhead=odiamond, label="mailing"]; diff --git a/uml/classdiagram1.svg b/uml/classdiagram1.svg index 404bebb..236dcd6 100755 --- a/uml/classdiagram1.svg +++ b/uml/classdiagram1.svg @@ -1,323 +1,317 @@ - - - - - - -ClassDiagram - - - -IReservation - -interface -IReservation - -+ ReservationType(): String -+ checkValid(): boolean -+ calculatePrice(): float -+ getReservation_number(): String -+ getPhysical_address(): Address -+ getAccountNumber(): String - - - -Reservation - -Reservation - - - -Reservation->IReservation - - -implements - - - -DataRepository - -DataRepository - - - -Reservation->DataRepository - - -uses for Write() - - - -Address - -Address - -+ Address(String, String, String, String) - - - -Reservation->Address - - -physical/mailing - - - -ReservationStatusEnum - -enum -ReservationStatusEnum - - - -Reservation->ReservationStatusEnum - - -uses - - - -AccomodationManager - -AccomodationManager - -+ AccomodationManager(String) -+ loadAll(): void -+ retrieveAccount(String): Account -+ retrieveLoadedAccounts(): AccountList -+ newAccount(String, Address, EmailAddress): Account -+ AddAccount(Account): void -+ UpdateAccount(Account): void -+ addReservation(Account, Reservation): boolean -+ showReservationList(): void - - - -AccomodationManager->DataRepository - - -uses - - - -Account - -Account - - - -AccomodationManager->Account - - -manages - - - -AccountList - -AccountList - -+ add(Account): boolean -+ find(String): Account -+ save(Account): void - - - -AccomodationManager->AccountList - - -has a - - - -Account->DataRepository - - -uses for Write() - - - -AccountReservationList - -AccountReservationList - -+ add(IReservation): boolean -+ find(String): Reservation - - - -Account->AccountReservationList - - -has a - - - -Account->Address - - -mailing - - - -EmailAddress - -EmailAddress - -+ EmailAddress(String) - - - -Account->EmailAddress - - - - - -AccountList->Account - - -0..* - - - -AccountReservationList->IReservation - - -0..* - - - -HotelReservation - -HotelReservation - -+ HotelReservation(Address) -+ calculatePrice(): float - - - -HotelReservation->Reservation - - -extends - - - -CabinReservation - -CabinReservation - -+ CabinReservation(Address) -+ calculatePrice(): float - - - -CabinReservation->Reservation - - -extends - - - -HouseReservation - -HouseReservation - -+ HouseReservation(Address) -+ calculatePrice(): float - - - -HouseReservation->Reservation - - -extends - - - -TestReservations - -TestReservations - - - -TestReservations->AccomodationManager - - -uses - - - -TestReservations->Account - - -uses - - - -TestReservations->HotelReservation - - -creates - - - -TestReservations->CabinReservation - - -creates - - - -TestReservations->HouseReservation - - -creates - - - -TestReservations.getRepositoryConfig - -TestReservations.getRepositoryConfig - - - -TestReservations->TestReservations.getRepositoryConfig - - -uses - - - -TestReservations->Address - - -creates - - - -TestReservations->EmailAddress - - -creates - - - -DuplicateObjectException - -exception -DuplicateObjectException - - - -TestReservations->DuplicateObjectException - - -catches - - - + + + + + + + + + +interface +IReservation + ++ ReservationType(): String ++ checkValid(): boolean ++ calculatePrice(): float ++ getReservation_number(): String ++ getPhysical_address(): Address ++ getAccountNumber(): String + + + + + +Reservation + + + + + + +implements + + + + + +DataRepository + + + + + + +uses for Write() + + + + + +Address + ++ Address(String, String, String, String) + + + + + + +physical/mailing + + + + + +enum +ReservationStatusEnum + + + + + + +uses + + + + + +AccomodationManager + ++ AccomodationManager(String) ++ loadAll(): void ++ retrieveAccount(String): Account ++ retrieveLoadedAccounts(): AccountList ++ newAccount(String, Address, EmailAddress): Account ++ AddAccount(Account): void ++ UpdateAccount(Account): void ++ addReservation(Account, Reservation): boolean ++ showReservationList(): void + + + + + + +uses + + + + + +Account + + + + + + +manages + + + + + +AccountList + ++ add(Account): boolean ++ find(String): Account ++ save(Account): void + + + + + + +has a + + + + + + +uses for Write() + + + + + +AccountReservationList + ++ add(IReservation): boolean ++ find(String): Reservation + + + + + + +has a + + + + + + +mailing + + + + + +EmailAddress + ++ EmailAddress(String) + + + + + + + + + + + + +0..* + + + + + + +0..* + + + + + +HotelReservation + ++ HotelReservation(Address) ++ calculatePrice(): float + + + + + + +extends + + + + + +CabinReservation + ++ CabinReservation(Address) ++ calculatePrice(): float + + + + + + +extends + + + + + +HouseReservation + ++ HouseReservation(Address) ++ calculatePrice(): float + + + + + + +extends + + + + + +TestReservations + + + + + + +uses + + + + + + +uses + + + + + + +creates + + + + + + +creates + + + + + + +creates + + + + + +TestReservations.getRepositoryConfig + + + + + + +uses + + + + + + +creates + + + + + + +creates + + + + + +exception +DuplicateObjectException + + + + + + +catches + + + \ No newline at end of file