Klassenhierarchie - UML Diagramm erstellen

JAVAsk

Mitglied
In dieser Aufgabe wird eine Software zum Verwalten von beliebig vielen Serverfarmen betrachtet.
(1) Eine Serverfarm enthält beliebig viele Rechner.
(2) Jeder Rechner hat eine eindeutige MAC-Adresse (repräsentiert durch einen String), welche für die IPVergabe
verwendet wird.
(3) Die meisten Rechner in einer Serverfarm sind Server.
(4) Einige Rechner sind jedoch Terminals zur Kontrolle der Server.
(5) Alle fernwartbaren Rechner können neu gestartet werden.
(6) Alle fernwartbaren Rechner stellen eine Funktion bereit, die angibt, ob der Rechner abgestürzt ist.
(7) Eine Serverfarm stellt die Funktionalität bereit, alle ihre abgestürzten, fernwartbaren Rechner neu zu
starten.
(8) Server und Terminals sind immer fernwartbar. Wie die Fernwartung implementiert ist, hängt von der
Rechnerart ab.
(9) Bei Servern ist vor allem die Anzahl der CPUs und die zur Verfügung stehende Menge an RAM interessant.
(10) Servicetechniker haben kleine Diagnoserechner, welche nicht fernwartbar sind.
(11) Datenbankserver sind Server, bei denen vor allem das Volumen der Festplatte relevant ist.
(12) Es gibt keine sonstigen Rechner.

a) Entwerfen Sie unter Berücksichtigung der Prinzipien der Datenkapselung eine geeignete Klassenhierarchie für die Serverfarm. Notieren Sie keine Konstruktoren, Getter und Setter. Sie müssen nicht markieren, ob Attribute final sein sollen. Achten Sie darauf, dass gemeinsame Merkmale in Oberklassen bzw. Interfaces zusammengefasst werden. Welche Objekte realisieren Sie als Klasse und welche als Interface? Begründen Sie ihre Antwort.

Bitte dringend um Hilfe!
Vielen Dank für eure Antworten!
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Wobei genau brauchst du Hilfe? Ich könnte dir jetzt so ein Diagramm erstellen aber damit wäre dir nicht geholfen.
 

Saheeda

Top Contributor
Warum erbt Rechner von Serverfarm?
Warum erbt IFernwartbar von Rechner?
Warum haben Terminal und Server nur eine Beziehung zum Interface, aber sonst nirgendwohin?
Wo wird deutlich, dass eine Farm aus vielen verschiedenen Rechnern besteht?
 
Zuletzt bearbeitet:

JAVAsk

Mitglied
Ich dachte, dass Serverfarm die Oberklasse sein soll, weil eine Serverfarm mehrere Rechner enthalten kann. Dadurch kann man die Methode restartAll() in der Oberklasse aufrufen, um alle Rechner neu starten zu können...
Fernwertbar habe ich als Interface gewählt, weil es zwei Methoden von zwei Klassen zusammenfasst (restart() und abgestuertzt() von den Klassen Server und Terminal)
Fernwartbar soll die Unterklasse von Rechner sein, weil Server und Terminal irgendwie von Rechner erben müssen.

Kann sein, dass ich falsch denke...
Bitte dringend um Hilfe! Vielen Vielen Dank!
 

Saheeda

Top Contributor
Deine Begründungen sind nah dran, aber die Schlussfolgerungen sind falsch.


- Serverfarm braucht eine List<Rechner>
- Interfaces können nicht von Klassen erben, nur von anderen Interfaces
Ich würde daher Terminal und Server direkt von Rechner erben und zusätzlich das Interface implementieren lassen.


Außerdem: laut Aufgabe sollen sich nur die fernwartbaren Rechner neu starten lassen, nicht alle (7).
 

Neue Themen


Oben