\documentclass{bschlangaul-aufgabe} \bLadePakete{uml} \begin{document} \bAufgabenMetadaten{ Titel = {Hotel-Verwaltung}, Thematik = {Hotel-Verwaltung}, Referenz = 46116-2012-F.T2-TA2-A1, RelativerPfad = Examen/46116/2012/03/Thema-2/Teilaufgabe-2/Aufgabe-1.tex, ZitatSchluessel = examen:46116:2012:03, ZitatBeschreibung = {Thema 2 Teilaufgabe 2 Aufgabe 1 (leicht verändert)}, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Klassendiagramm}, EinzelpruefungsNr = 46116, Jahr = 2012, Monat = 03, ThemaNr = 2, TeilaufgabeNr = 2, AufgabeNr = 1, } \section{Hotel-Verwaltung \index{Klassendiagramm} \footcite[Thema 2 Teilaufgabe 2 Aufgabe 1 (leicht verändert)]{examen:46116:2012:03}} Erstellen Sie zu der folgenden Beschreibung eines Systems zur Organisation eines Hotels ein Klassendiagramm, das Attribute und Assoziationen mit Kardinalitäten sowie Methoden enthält. Setzen Sie dabei das Konzept der Vererbung sinnvoll ein. \begin{itemize} \item Ein \textbf{Hotel} besteht aus genau einer Küche und mehreren Gästezimmern. \item Es hat einen Namen, eine Adresse und kann Werbeaktionen durchführen. \item Alle Mitarbeiter, sowohl Servicekräfte als auch Küchenmitarbeiter, sind Angestellte des Hotels. \item Die Küche kann geöffnet oder geschlossen sein. \item Gästezimmer haben eine Nummer und eine bestimmte Anzahl an Betten, die ausgegeben werden kann. \item In diesen Gästezimmern wohnen Gäste, die von einer oder mehreren Servicekräften umsorgt werden. \item Servicekräfte sind nur für die ihnen zugeordneten Gästezimmer verantwortlich. \item Jede Servicekraft hat einen Namen und eine Personalnummer sowie einen Vorgesetzten, der auch eine Servicekraft ist. \item In der Küche arbeiten Küchenmitarbeiter, die einen Namen haben und ein Gehalt bekommen. \item Küchenmitarbeiter sind entweder Köche oder Aushilfen. Köche können zudem Sterneköche sein, also mit einem oder mehreren Sternen dekoriert sein. \item Aushilfen bauen die Büffets für die Mahlzeiten auf. \item Gäste können sich unterhalten. Jeder Gast hat einen Namen und eine Adresse und ist seinem Zimmer zugeordnet. \end{itemize} \begin{tikzpicture}[scale=0.7, transform shape] \umlclass[type=abstrakt,x=1.5,y=8]{Angestellter}{- namen : String}{} \umlclass[below left=1cm and 0.5cm of Angestellter,anchor=north]{Servicekraft}{- persNr : int}{} \umlassoc[arg=hat Chef,angle1=-90,angle2=150,loopsize=3cm]{Servicekraft}{Servicekraft} \umlclass[below right=1cm and -1cm of Angestellter,type=abstrakt,x=4,y=5]{Küchenmitarbeiter}{- gehalt : double}{} \umlVHVinherit{Servicekraft}{Angestellter} \umlVHVinherit[arm1=1.5cm]{Küchenmitarbeiter}{Angestellter} \umlclass[below left=1cm and -1cm of Küchenmitarbeiter,x=4,y=5]{Koch}{- istSternekoch : bool }{} \umlclass[below right=1cm and -1cm of Küchenmitarbeiter,x=4,y=5]{Aushilfe}{}{+ baueBüffetauf()} \umlVHVinherit{Koch}{Küchenmitarbeiter} \umlVHVinherit{Aushilfe}{Küchenmitarbeiter} \umlclass[x=8.5,y=8]{Hotel}{- namen : String \\ - adresse : String}{ + führeWerbeaktionDurch() } \umlclass[below left=1cm and -2cm of Hotel]{Küche}{- geöffnet : boolean}{} \umlclass[below right=1cm and -1.5cm of Hotel]{Gästezimmer}{- nummer : int \\ anzahlBetten : int }{ + gibBettenAnzahl()} \umlVHVcompo[mult1=1,mult2=1,pos1=0.5,pos2=2.6,arm1=-1.5cm]{Hotel}{Küche} \umlVHVcompo[mult1=1,mult2=1..*,pos1=0.5,pos2=2.6,arm1=-1.5cm]{Hotel}{Gästezimmer} \umlclass[x=7]{Gast}{- name : String\\- adresse : String}{ + unterhalten() } \umlassoc[mult1=1..*,pos1=0.1,mult2=1,pos2=0.9,arg2=,name=Angestellter-Hotel]{Angestellter}{Hotel} % \node [above left=0.1cm and -0.7cm of angestellter-1] {ist angestellt \bLeserichtungRechts}; \bUmlLeserichtung[pos=below left,dir=down,distance=0cm]{Angestellter-Hotel} \umlHVassoc[mult1=1..*,mult2=1,pos2=1.9]{Gast}{Gästezimmer} \umlVHassoc[anchor1=-140,mult1=1..*,mult2=1..*,pos2=1.9, arg=betreut, name=Servicekraft-Gast] {Servicekraft}{Gast} \bUmlLeserichtung[pos=below left,dir=down,distance=0cm]{Servicekraft-Gast} \umlVHVassoc[arm1=5cm,anchor1=-140,mult1=1..*,mult2=1..*,pos2=1.9, arg=reinigt,name=Servicekraft-Gästezimmer] {Servicekraft}{Gästezimmer} \bUmlLeserichtung[pos=below left,dir=down,distance=0cm]{Servicekraft-Gästezimmer} \umlVHVassoc[anchor1=40,anchor2=125,arm1=0.5cm,arg=arbeitet in,pos=1.5,name=Küchenmitarbeiter-Küche]{Küchenmitarbeiter}{Küche} \bUmlLeserichtung[pos=below left,dir=down,distance=0cm]{Küchenmitarbeiter-Küche} \end{tikzpicture} \end{document}