zusammenfassungen/Writerside/topics/OOAD/Praktikum3_Diagramme.md
David Schirrmeister 5d0ad57e2e update
2024-06-09 21:47:55 +02:00

2.2 KiB

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..*" *-- "1..*" AdventurePackage
    Trip "*" *-- "1" Accommodation
    Participant "1..*" -- Booking
    Booking "1..*" -- "1..*" Trip
    Tourguide "1" --* "*" Trip
    Tourguide "1..*" -- "1..*" AdventurePackage
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

    LibGui ->>+ CTom: showLink()
    CTom --)- 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>>
classDiagram
    class Kreis{
        <<abstract>>
        - radius : ft
        + setRadius()
    }
    class Ellipse{
        - breite : ft
        - hoehe : ft
        + setBreite()
        + setHoehe()
    }
    
    Ellipse --|> Kreis