108 lines
2.2 KiB
Markdown
108 lines
2.2 KiB
Markdown
```mermaid
|
|
classDiagram
|
|
class Person
|
|
<<abstract>> Person
|
|
Person : - name
|
|
Person : - adress
|
|
class Tourguide
|
|
Tourguide : - certifiedAdventurePackages <AdventurePackage*> vector
|
|
class Participant
|
|
class AdventurePackage
|
|
AdventurePackage : - title
|
|
AdventurePackage : - description
|
|
class Accommodation
|
|
Accommodation : - name
|
|
Accommodation : - adress
|
|
class Trip
|
|
Trip : - startingDate
|
|
|
|
class Booking
|
|
Booking : - payed
|
|
Booking : - dateOfBooking
|
|
|
|
Tourguide --|> Person
|
|
Participant --|> Person
|
|
Trip "1..*" o-- "1..*" AdventurePackage
|
|
Trip "*" o-- "1" Accommodation
|
|
Participant "1..*" -- "1..*" Trip: Booking
|
|
Participant "1..*" .. Booking
|
|
Booking "1..*" .. "1..*" Trip
|
|
Tourguide "1" --o "*" Trip
|
|
Tourguide "1..*" -- "1..*" AdventurePackage
|
|
```
|
|
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
actor Tom as Tom : Human
|
|
participant LibGui as libGUI
|
|
participant Lib as Lib
|
|
participant CTom as Tom : Customer
|
|
activate LibGui
|
|
|
|
Tom -) LibGui: name = "HP1"
|
|
|
|
LibGui ->>+ Lib: getEbook("HP1")
|
|
|
|
create participant EBook as HP1 : EBook
|
|
Lib -->>+ EBook: <<create>> EBook("HP1", 3.99)
|
|
note right of EBook: Im Konstruktor von EBook fehlt<br/>die Zuweisung des Preise.<br/>Hier ergänzt
|
|
|
|
EBook --)- Lib: return
|
|
Lib --)- LibGui: return
|
|
|
|
LibGui --)+ Tom: return
|
|
Tom -)- LibGui: clickBorrowButton
|
|
|
|
LibGui ->>+ Lib: getEbook("HP1")
|
|
Lib ->>+ CTom: borrow("HP1")
|
|
CTom ->>+ EBook: getPrice()
|
|
EBook --)- CTom: return 3.99
|
|
|
|
CTom ->> CTom: charge(3.99)
|
|
|
|
CTom --)- Lib: return
|
|
|
|
Lib --)- LibGui: return
|
|
|
|
LibGui ->>+ EBook: generateLink()
|
|
EBook --)- LibGui: return link
|
|
|
|
activate LibGui
|
|
LibGui ->> LibGui: showLink()
|
|
LibGui --)- LibGui: return
|
|
|
|
LibGui --) Tom: return
|
|
|
|
destroy EBook
|
|
LibGui -x EBook: <<destroy>>
|
|
|
|
destroy CTom
|
|
LibGui -x CTom: <<destroy>>
|
|
|
|
destroy Lib
|
|
LibGui -x- Lib: <<destroy>>
|
|
|
|
destroy LibGui
|
|
Tom --x LibGui: <<destroy>>
|
|
```
|
|
|
|
|
|
```mermaid
|
|
classDiagram
|
|
class Kreis{
|
|
<<abstract>>
|
|
- radius : ft
|
|
+ setRadius()
|
|
}
|
|
class Ellipse{
|
|
- breite : ft
|
|
- hoehe : ft
|
|
+ setBreite()
|
|
+ setHoehe()
|
|
}
|
|
|
|
Ellipse --|> Kreis
|
|
```
|
|
|