Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2006 W
1. Übungsaufgabe
Themen:
Datenabstraktion, Klassenzusammenhalt, Objekt-Kopplung
Termine:
| Ausgabe: |
12.10.2006 |
| reguläre Abgabe: |
19.10.2006, 12:45 Uhr |
| nachträgliche Abgabe: |
27.10.2006, 12:45 Uhr |
Abgabeverzeichnis:
Aufgabe1
Programmaufruf:
java EinAus
Grundlage:
Erstes Kapitel des
Skriptums
Aufgabe
Welche Aufgabe zu lösen ist:
Schreiben Sie in Java ein Programm für eine einfache
Einnahmen/Ausgaben-Rechnung (= Verbuchung von Einzahlungen in und Auszahlungen
aus einer Kassa). Folgende Vorgänge sollen unterstützt werden:
- Verbuchung einer Einzahlung: Dabei wird der eingezahlte Betrag, der
Name des Einzahlers, der Zahlungsgrund und das Datum eingetragen.
- Verbuchung einer Auszahlung: Dabei wird der ausgezahlte Betrag, der
Name des Empfängers, der Zahlungsgrund und das Datum eingetragen.
Eine Auszahlung ist nur möglich, wenn die Kassa genug Geld enthält.
Das soll bei der Verbuchung der Auszahlung überprüft werden.
- Abfrage des aktuellen Betrages in der Kassa.
- Auflistung aller verbuchten Einnahmen und Ausgaben.
Zu Beginn des Programmlaufs ist die Kassa immer leer. Sie wird durch
Verbuchung einer Einzahlung gefüllt. Bei Programmbeendigung können
Daten verloren gehen, das heißt, die Daten brauchen nicht permanent
gespeichert werden. Verwenden Sie zur Vermeidung von Rundungsfehlern
ganze Zahlen (statt Fließkommazahlen). Achten Sie auf Vollständigkeit
der Buchungen und geben Sie geeignete Fehlermeldungen aus, falls
Daten fehlen oder Buchungen nicht möglich sind. Zur Bedienung reicht
eine einfache interaktive ASCII-Benutzerschnittstelle (bitte keine
grafische Oberfläche). Sorgen Sie dafür, dass die Benutzerschnittstelle
von der eigentlichen Funktionalität des Programms klar getrennt ist
und auch von jemandem, der das Programm nicht geschrieben hat, bedient
werden kann. Details der Benutzerschnittstelle und des Programmablaufs
bleiben Ihnen überlassen.
Wie die Aufgabe zu lösen ist:
Lesen Sie das erste Kapitel des Skriptums. Achten Sie besonders auf
Datenabstraktion: Alles was zusammen gehört soll in einem Objekt
gekapselt sein. Auf Daten soll nur über dafür vorgesehene Methoden
zugegriffen werden. Unnötige Zugriffe und unnötige Zugreifbarkeit
von Daten und Methoden sind zu vermeiden. Achten Sie auch auf hohen
Klassenzusammenhalt und schwache Objektkopplung. Die Lösung soll
möglichst einfach sein und keine unnötige Funktionalität haben.
Was im Hinblick auf die Abgabe zu beachten ist:
Schreiben Sie Ihre Lösung in den bereits existierenden Ordner
Aufgabe1
in Ihrem Verzeichnis auf dem Übungsrechner b3. Das Programm soll von
diesem Ordner aus durch
java EinAus
aufrufbar sein; das heißt, die
Methode
main
soll in der Klasse
EinAus
in der Datei
EinAus.java
(die Sie selbst schreiben) stehen. Schreiben Sie nicht mehr als eine
Klasse in jede Datei. Der Ordner soll zum Zeitpunkt der Abgabe
(19.10.2006, 12:45 Uhr) und der nachträglichen Abgabe (27.10.2006,
12:45 Uhr) alle
.java
-Dateien enthalten, die Sie für Ihre Lösung
benötigen. Bitte entfernen Sie alle
.java
-Dateien, die nicht zur Abgabe
gehören. Dateien mit anderen Endungen werden bei der Beurteilung nicht
berücksichtigt. Verzichten Sie auf die Verwendung von Ordnern innerhalb
von
Aufgabe1
.
Betreuung durch Tutor:
Bitte setzen Sie sich möglichst bald mit Ihrer Tutorin bzw. Ihrem Tutor
in Verbindung und teilen Sie ihr oder ihm die Antworten auf folgende Fragen
mit:
- Wie gut schätzen Sie Ihre eigenen Programmierfähigkeiten in Java
ein? Gibt es diesbezüglich in der Gruppe große Unterschiede?
- Eine wie intensive Betreuung durch den Tutor wünschen Sie vor allem
bei der Lösung der zweiten Aufgabe?
Wählen Sie zwischen diesen Alternativen:
- Verzichten Sie auf Betreuung und möchten Sie Ihre Lösung nur
nach der Abgabe vom Tutor beurteilen lassen?
- Möchten Sie im Wesentlichen nur Rückmeldungen zu Ihrem ersten
Entwurf der Lösung erhalten, und fühlen Sie sich dann in der
Lage, den Rest der Aufgabe alleine zu lösen?
- Wünschen Sie wöchentliche oder öftere Rückmeldungen
zu bisheringen Lösungen per Mail?
- Wünschen Sie wöchentliche oder öftere Treffen mit der
Tutorin oder dem Tutor zur Besprechung der bisherigen Lösungen?
- Sind Probleme hinsichtlich der Zusammenarbeit in der Gruppe absehbar?
Durch Beantwortung dieser Fragen helfen Sie der Tutorin oder dem Tutor, Sie
richtig einzuschätzen. Die genaue Form der Betreuung wird nur durch die
Tutorin oder den Tutor bestimmt. Unabhängig von der Form der Betreuung
können Sie natürlich jederzeit konkrete Fragen an die Tutorin oder
den Tutor richten.