• Keine Ergebnisse gefunden

Übung 01: Klassen Abgabetermin: 15. 3. 2018, 10:15

N/A
N/A
Protected

Academic year: 2022

Aktie "Übung 01: Klassen Abgabetermin: 15. 3. 2018, 10:15"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übung Softwareentwicklung 2 SS 2018

Übung 01: Klassen

Abgabetermin: 15. 3. 2018, 10:15

Name: Matrikelnummer:

Informatik:

G1(Prähofer) G2(Weninger) G3(Prähofer) G4 (Weninger) G5 (Löberbauer)

WIN:

G1 (Khalil) G2 (Hummel) G3 (Khalil) G4 (Löberbauer)

Aufgabe Punkte abzugeben schriftlich abzugeben elektronisch korr. Punkte

Übung 1 24 Java-Programm,

Ausgabe eines Testlaufs

Java-Programm

Übung 01: Speiseplanverwaltung (24 Punkte)

Implementieren Sie die Speiseplanverwaltung für eine Mensa.

 Das Programm soll für die Wochen in einem Jahr die Speisepläne der einzelnen Wochen verwalten können.

Man kann Wochenpläne anfügen und bei diesen dann die Menüs definieren (anfänglich soll der gesamte Jahresplan leer sein und die Wochenpläne sollen explizit angefügt werden).

 Jede Woche ist gekennzeichnet durch die Wochennummer (Woche im Jahr). Im Wochenplan sind für die Wochentage Montag bis Freitag entweder zwei, ein oder kein Menü definiert (z.B. an Feiertagen gibt es kein Menü).

 Ein Menü besteht aus einer Suppe und einem Hauptgericht (beide sind durch einfache Zeichenketten dargestellt).

Schritt 1) Öffentliche Schnittstelle

Gestalten Sie die öffentliche Schnittstelle (API) für die Speiseplanverwaltung. Überlegen Sie zuerst, welche Klassen öffentlich sichtbar sein und welche Datenzugriffe diese bereitstellen sollen. Dokumentieren Sie die öffentliche Schnittstelle in einem Textdokument. Dieses Dokument ist schriftlich abzugeben.

Hinweise:

 Öffentlich werden wohl Klassen für Menü, für Wochenplan und für die Speiseplanverwaltung sein.

 Überlegen Sie genau, welche Zugriffe Sie bereitstellen und die Schnittstellen dieser Methoden.

 Halten Sie diese Klassen einfach.

Schritt 2) Implementierung

Überlegen Sie erst im zweiten Schritt die internen Strukturen zur Implementierung der Speiseplanverwaltung.

Überlegen Sie dann, wie die öffentliche Schnittstelle mittels der Implementierungsstrukturen umgesetzt werden kann. Achten Sie darauf, dass die internen Implementierungsstrukturen nicht öffentlich sichtbar sind.

Hinweise:

 Überlegen Sie günstige Strukturen zur Repräsentation der Menüs für eine Woche und der Wochenpläne in der Speiseplanverwaltung.

 Der Speiseplan kann die Wochenpläne für eine ganzes Jahr verwalten. Damit ist die Anzahl der Wochen fix und Sie können z.B. ein Array verwenden. Sie können aber auch mit einer dynamischen verketteten Liste von Wochenplänen arbeiten (vergleiche Musterbeispiel PhoneBook).

 Arbeiten Sie mit package und private Sichtbarkeit und, wo möglich, mit final Feldern.

(2)

Übung Softwareentwicklung 2 SS 2018

Schritt 3) Testdaten und Testausgaben

In der Datei MenuSchedule.txt sind Testdaten enthalten. Lesen Sie die Testdaten und bauen Sie daraus einen Speiseplan mit den definierten Wochen 1 bis 4 auf.

Hinweise:

 Im Download finden Sie eine Klasse menus.app.MenuApp mit einer main-Methode und einer Methode readSchedule, die die Daten aus der Datei unter Verwendung der Klasse In einliest. Es fehlen aber die Aufrufe zum Aufbau des Speiseplans. Sie können diese Methode verwenden oder sich daran orientieren.

Schreiben Sie dann eine Methode zum Ausgeben eines Wochenplans auf der Konsole. Verwenden Sie diese Methode, um die Wochenpläne bestimmter Wochen auszugeben (Einlesen der Wochennummern im Hauptprogramm). Zum Beispiel könnte ein Dialog mit einer Ausgabe des Wochenplans für Woche 2 wie folgt aussehen:

--- Nummer Woche eingeben (Ende mit 0): 2

Woche 2, 2018 Montag:

Menu 1: Bärlauchcremesuppe

Spaghetti Pomodoro mit Parmesan und Salat Dienstag:

Menu 1: Erdäpfelcremesuppe mit Pilzen

Germknödel mit Powidlfülle dazu Vanillesauce und Kompott Mittwoch:

Menu 1: Klare Hühnersuppe mit Profiterolen

Gebackenes Karfiol-Käselaibchen mit Tzatziki, Petersilerdäpfeln und Salat Donnerstag:

Menu 1: Gemüsesuppe 'Asia'

Pikante Wursthörnchen mit Salat von Roten Rüben Freitag:

Menu 1: Klare Gemüsesuppe mit Nudeln

Cremiger Rahmspinat mit Rührei und Rösti

--- Nummer Woche eingeben (Ende mit 0): 7

Kein Wochenplan für Woche 7 vorhanden

--- Nummer Woche eingeben (Ende mit 0): 0

Ende

Abzugeben ist:

 Kurze Prosabeschreibung der öffentlichen Schnittstelle

 Java-Programm

 Ausgabe eines repräsentativeren Testlaufs

Referenzen

ÄHNLICHE DOKUMENTE

Implementieren Sie eine Basisklasse Account und Spezialisierungen für Girokonten (Klasse GiroAccount ), Sparkonten (Klasse SavingsAccount) und Kreditkonten

a) Ein Konstruktor, mit dem Sie ein Spiel mit einem gegebenen Feld (Field) initialisieren können. b) Eine Property-Methode zur Abfrage, ob das Spiel noch läuft. c)

Es wird dann des Weiteren zwischen Quellcode- Dateien (Klasse SourceFile) und vom Compiler erzeugten Binär-Dateien (Klasse BinaryFile) unterschieden. Zwei

Die Seiten an den Klebeflächen zu einem Panoramabild zusammenkleben, und nach Belieben mit Bunt- oder Filzstiften ausmalen.. Das Wimmelbild-Frühling läßt sich auf drei

Die Seiten an den Klebeflächen zu einem Panoramabild zusammenkleben und eigene Motive mit Bunt- oder Filzstiften in das Bild malen.. Die Seiten 9 bis

Schreiben Sie eine C-Funktion, die f¨ur einen Punkt mit kartesischen Koordi- naten x, y den Winkel berechnet, den der Punkt mit der x-Achse einschließt. Definieren Sie dazu

this instruction 1S used to implement ASSIGi~ea GW's and branches beyond the range of a relative syllable. fhe first operand i5 a literal syllable denotinq the

Wenn Klassen, die als Oberklassen verwendet werden, neue Unterklassen bekommen, erhalten deren virtuelle Klassen eben- falls neue Oberklassen.