1666893 Besucher [298 Heute]
Programmieren eines Email-Servers in Java
  • Informatik-Klausur (Jahrgang 13)
  • 2-stündig
  • Musterlösung vom Lehrer (15 Punkte)

 

Gearbeitet wird mit der Lernumgebung BlueJay (für dieses Programm ist die Lösung optimiert).


Aufgabe
Ein Java-Projekt zur Modellierung des Austausch von E-Mails soll erstellt werden. Dabei soll der E-Mail-Verkehr nach folgenden Prinzipien ablaufen: Ein Benutzer ist mit einem Server verbunden. Ihm kann er Nachrichten schicken, die für einen Empfänger bestimmt sind. Der Server bewahrt alle an ihn gegangenen Nachrichten so lange auf, bis der Empfänger sich bei ihm gemeldet hat, um evtl. eingegangene Nachrichten abzurufen.Wenn der Server dem Empfänger eine für ihn bestimmte Nachricht übergeben hat, wird sie in seinem Speicher gelöscht. a) Erstellen Sie die Klasse Nachricht. Eine Nachricht ist in diese Modell ein Tripel aus dem zu übermittelnden Text, dem Absendernamen und dem Empfängernamen. (Es ist nicht vorgesehen, dass eine Nachricht nach der Erzeugnung verändert wird.) Sie soll über folgende Methoden verfügen:


• String gibAbsender()
• String gibEmpfänger()
• String gibText()
• void ausgeben()


b) Erstellen Sie die Klasse Server. Sie soll in einer Sammlung vom Typ ArrayList die eingegangenen Nachrichten speichern. Folgende Methoden sollen verfügbar sein:


• int anzahlNachrichten(String client)
gibt die Anzahl der auf dem Server gespeicherten Nachrichten für einen bestimmten Benutzer zurück;


• Nachricht gibNächsteNachrichtFür(String client)
gibt die nächste Nachricht für einen bestimmten Benutzer zurück.


• nimmNachricht(Nachricht mail) übergibt dem Server eine Nachricht.

c) Erstellen Sie eine Klasse Benutzer zur Modellierung eines Menschen, der sowohl E-Mails versenden als auch empfangen kann. Der Mensch verfügt über einen Namen und einen E-Mail-Server aus der Klasse Server, der für ihn den E-Mail-Verkehr durchführt.
Der Benutzer verfügt über folgende Methoden:


• Nachricht gibNächsteNachricht()
hole vom Server die nächste für ihn bestimmte Nachricht


• void sendeNachricht(String Empfänger, String text) schicke an den Server eine Nachricht.

 

Hinweis:
Sie dürfen am Computer die Dokumentation der Java-Klassenbibliotheken einsehen, nicht aber die erstellten Programmteile austesten.

Kategorie: Informatik | Kommentare (1)