diff --git a/images/class-diagram.png b/images/class-diagram.png new file mode 100644 index 0000000..b5a0681 Binary files /dev/null and b/images/class-diagram.png differ diff --git a/images/class-diagram.puml b/images/class-diagram.puml new file mode 100644 index 0000000..134115c --- /dev/null +++ b/images/class-diagram.puml @@ -0,0 +1,205 @@ +@startuml + +!define IMPLEMENTED_COLOR cornsilk +!define OUT_OF_SCOPE_COLOR lightsteelblue + +skinparam legendBackgroundColor black + +class Category #OUT_OF_SCOPE_COLOR { + -uid: Int + -name: String + -description: String + +getUid(): String + +setUid(uid: String): void + +getName(): String + +setName(name: String): void + +getDescription(): String + +setDescription(description: String): void +} + +class MasterRecord #OUT_OF_SCOPE_COLOR { + -properties: List + -mitgliedsnummer: Int + -fe_user: fe_user + +getProperties(): List + +setProperties(properties: List): void + +getMitgliedsnummer(): Int + +setMitgliedsnummer(nmr: Int): void + +getFeUser(): fe_user + +setFeUser(feUser: fe_user): void +} + +class Address #OUT_OF_SCOPE_COLOR { + -street: String + -zip: String + -name: String + -city: String + +getStreet(): String + +setStreet(street: String): void + +getZip(): String + +setZip(zip: String): void + +getName(): String + +setName(name: String): void + +getCity(): String + +setCity(city: String): void +} + +class Property #OUT_OF_SCOPE_COLOR { + -addresses: List
+ +getAddresses(): List
+ +setAddresses(addresses: List
): void +} + +class Winery #OUT_OF_SCOPE_COLOR { + -name: String + +getName(): String + +setName(name: String): void +} + +class Grape #IMPLEMENTED_COLOR { + -uid: Int + -name: String + -description: String + +getUid(): Int + +setUid(uid: Int): void + +getName(): String + +setName(name: String): void + +getDescription(): String + +setDescription(description: String): void +} + +class Vinesite #IMPLEMENTED_COLOR { + -uid: Int + -name: String + -description: String + +getUid(): Int + +setUid(uid: Int): void + +getName(): String + +setName(name: String): void + +getDescription(): String + +setDescription(description: String): void +} + +class Participant #IMPLEMENTED_COLOR { + -uid: Int + -masterRecord: MasterRecord + +getUid(): Int + +setUid(uid: Int): void + +getMasterRecord(): MasterRecord + +setMasterRecord(masterRecord: MasterRecord): void +} + +class WineProperty #IMPLEMENTED_COLOR { + -uid: Int + -name: String + -description: String + +getUid(): Int + +setUid(uid: Int): void + +getName(): String + +setName(name: String): void + +getDescription(): String + +setDescription(description: String): void +} + +class Wine #IMPLEMENTED_COLOR { + -uid: Int + -name: String + -participant: Participant + -grapeVariety: Grape + -vinesite: Vinesite + -category: Category + -vintage: int + -quality: int + -taste: String + -properties: List + -ap_nr: String + -acidity: float + -sugar: float + -alc: float + -price: float + -status: String + +getUid(): Int + +setUid(uid: Int): void + +getName(): String + +setName(name: String): void + +getParticipant(): Participant + +setParticipant(participant: Participant): void + +getGrapeVariety(): Grape + +setGrapeVariety(grapeVariety: Grape): void + +getVinesite(): Vinesite + +setVinesite(vinesite: Vinesite): void + +getCategory(): Category + +setCategory(category: Category): void + +getVintage(): int + +setVintage(vintage: int): void + +getQuality(): int + +setQuality(quality: int): void + +getTaste(): String + +setTaste(taste: String): void + +getProperties(): List + +setProperties(properties: List): void + +getApNr(): String + +setApNr(ap_nr: String): void + +getAcidity(): float + +setAcidity(acidity: float): void + +getSugar(): float + +setSugar(sugar: float): void + +getAlc(): float + +setAlc(alc: float): void + +getPrice(): float + +setPrice(price: float): void + +getStatus(): String + +setStatus(status: String): void +} + +class Jahresauswahlprobe #IMPLEMENTED_COLOR { + -allowedVinesites: List + -allowedCategories: List + -allowedGrapes: List + -participatingWines: List + -name: String + -description: String + -dateAllowRegistration_start: Date + -dateAllowRegistration_end: Date + -dateAllowShow_start: Date + -dateAllowShow_end: Date + +getAllowedVinesites(): List + +setAllowedVinesites(allowedVinesites: List): void + +getAllowedCategories(): List + +setAllowedCategories(allowedCategories: List): void + +getAllowedGrapes(): List + +setAllowedGrapes(allowedGrapes: List): void + +getParticipatingWines(): List + +setParticipatingWines(participatingWines: List): void + +getName(): String + +setName(name: String): void + +getDescription(): String + +setDescription(description: String): void + +getDateAllowRegistrationStart(): Date + +setDateAllowRegistrationStart(dateAllowRegistrationStart: Date): void + +getDateAllowRegistrationEnd(): Date + +setDateAllowRegistrationEnd(dateAllowRegistrationEnd: Date): void + +getDateAllowShowStart(): Date + +setDateAllowShowStart(dateAllowShowStart: Date): void + +getDateAllowShowEnd(): Date + +setDateAllowShowEnd(dateAllowShowEnd: Date): void +} + +MasterRecord "1" --> "1" Participant +MasterRecord "1" --> "*" Property +Property "1" --> "*" Address +Property <|-- Winery +Category "1" --> "*" Wine +Grape "1" --> "*" Wine +Vinesite "1" --> "*" Wine +Participant "1" --> "*" Wine +WineProperty "1" --> "*" Wine +Jahresauswahlprobe "*" --> "*" Wine + +legend right + Legend: + To implement + Part of existing system +end legend + +@enduml