Tag 16
Ausleihen​
actor "User"
participant ":Videothek"
participant ":Film"
participant ":Kunde"
participant ":StreamingServer"
activate "User"
"User" <- ":Videothek" : Anmeldung erfolgreich
"User" -> ":Videothek" : ausleihen(int kundenNr, String filmtitel)
activate ":Videothek"
":Videothek" -> ":Videothek" : getKunde(int kundenNr) : Kunde
":Videothek" -> ":Kunde" : getGuthaben() : double
activate ":Kunde"
":Videothek" <-- ":Kunde" : guthaben : getGuthaben()
deactivate ":Kunde"
":Videothek" -> ":Videothek" : getFilm(String filmTitel) : Film
":Videothek" -> ":Film" : getPreis() : double
activate ":Film"
":Videothek" <-- ":Film" : preis : getPreis()
deactivate ":Film"
":Videothek" -> ":Videothek" : ueberpruefung(double guthaben, double preis) : boolean
alt Guthaben reicht nicht
"User" <- ":Videothek" : Meldung "Guthaben ungenügend"
else Guthaben reicht
":Videothek" -> ":Kunde" : setGuthaben(double guthaben - double preis)
activate ":Kunde"
":Videothek" <-- ":Kunde" : result = setGuthaben(double guthaben - double preis)
deactivate ":Kunde"
":Videothek" -> ":StreamingServer" : linkGenerieren(Kunde kunde, Film film)
activate ":StreamingServer"
":Videothek" <-- ":StreamingServer" : link = linkGenerieren(Kunde kunde, Film film)
deactivate ":StreamingServer"
"User" -> ":Videothek" : anzeigen(String link)
end
deactivate ":Videothek"
deactivate "User"
class Videothek {
- kunden : ArrayList
- film : ArrayList
+ ausleihen(Kunde kunde, Film film) : void
+ anmelden(String kundenname, String passwort) : void
+ anzeigen(String link) : void
- getKunde(int kundennummer) : Kunde
- ueberpruefung(double guthaben, double preis) : boolean
}
class Kunde {
- kundennummer : int
- kundenname : String
- passwort : String
- guthaben : double
- filmeAusgeliehen : ArrayList
+ Kunde(int kundenname, int passwort)
+ getKundennummer() : int
+ getKundenname() : String
+ setKundenname(String kundenname) : void
+ getPasswort() : String
+ setPasswort(String passwort) : void
+ filmListe() : String
}
class Film {
- filmnummer : int
- filmname : String
- preis : double
+ Film(String filmname, double preis)
}
class StreamingServer {
- servernummer : int
- servername : String
+ linkGenerieren(Kunde kunde, Film film) : String
}
Videothek "1" o-- "0..*" Kunde
Videothek "1" o-- "0..*" Film
Videothek "1" --> "0..*" StreamingServer : nutzt mehrere