Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2007 W

1. Übungsaufgabe

Themen:

Datenabstraktion, Klassenzusammenhalt, Objekt-Kopplung

Termine:

Ausgabe: 11.10.2007
reguläre Abgabe: 18.10.2007, 12:45 Uhr
nachträgliche Abgabe: 25.10.2007, 12:45 Uhr

Abgabeverzeichnis:

Aufgabe1

Programmaufruf:

java Test

Grundlage:

Erstes Kapitel des Skriptums

Aufgabe

Welche Aufgabe zu lösen ist:

Schreiben Sie in Java ein Programm für eine einfache Lagerverwaltung eines Supermarktes. Folgende Vorgänge sollen unterstützt werden:

Folgende Bedingungen sollen stets erfüllt sein, und ihre Einhaltung ist an geeigneten Stellen zu überprüfen:

Die gesamte Lagerverwaltung ist als Teil eines größeren Programmpaketes vorgesehen. Ihre Methoden werden von anderen Programmteilen (und nicht direkt von einer Person) verwendet. Daher brauchen Sie keine Benutzerschnittstelle entwickeln.

Zu Beginn des Programmlaufs ist das Lager leer. Bei Programmbeendigung können Daten verloren gehen, das heißt, die Daten brauchen nicht permanent gespeichert zu werden. Verwenden Sie zur Vermeidung von Rundungsfehlern ganze Zahlen (keine Fließkommazahlen). Geben Sie geeignete Fehlermeldungen aus, falls notwendige Bedingungen nicht erfüllt sind. Alle Ausgaben (Fehlermeldungen genauso wie Ergebnisse von Auflistungen und Abfragen) sollen in die Standardausgabe geschrieben werden.

Schreiben Sie eine Klasse Test zum Testen Ihrer Lösung. Durch Aufruf von java Test sollen alle wichtigen Teile der Lagerverwaltung zumindest einmal durchlaufen werden. Diese Tests sollen nicht interaktiv sein (das heißt, der Programmlauf soll keine Benutzereingaben verlangen). Sorgen Sie dafür, dass die Tests möglichst klar von der eigentlichen Lagerverwaltung getrennt sind.

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. Verwenden Sie (außer den Standardbibliotheken) keine vorgefertigten Programmteile.

Wie Account und Gruppen-Verzeichnis zu verwenden sind:

Bei der Anmeldung zur Lehrveranstaltung haben Sie (jeder Teilnehmer) einen eigenen Account auf dem Übungsrechner g0 bekommen. In diesem Account können Sie unabhängig von anderen Übungsteilnehmern (auch unabhängig von anderen Mitgliedern Ihrer Gruppe) arbeiten. Das Verzeichnis Gruppe gehört jedoch allen Gruppenmitgliedern gemeinsam. Legen Sie alle Daten, die von den Gruppenmitgliedern gemeinsam (und nicht nur von Ihnen persönlich) verwendet werden, in diesem Verzeichnis ab. Das gilt insbesondere für Lösungen von Aufgaben. Es kann pro Gruppe und Aufgabe nur eine gemeinsame Lösung geben, auf die sich die Gruppenmitglieder einigen müssen. Die Einigung auf eine gemeinsame Lösung ist Teil der Aufgabe. Es bleibt der Gruppe überlassen, wie die Arbeit aufgeteilt wird, solange die Aufteilung einigermaßen gerecht ist (wird beim Abgabegespräch überprüft).

Was im Hinblick auf die Abgabe zu beachten ist:

Schreiben Sie Ihre Lösung in das bereits existierende Verzeichnis Gruppe/Aufgabe1. Das Programm soll von diesem Verzeichnis aus durch java Test aufrufbar sein; das heißt, die Methode main soll in der Klasse Test in der Datei Test.java (die Sie selbst schreiben) stehen. Schreiben Sie nicht mehr als eine Klasse in jede Datei. Das Verzeichnis soll zum Zeitpunkt der Abgabe und der nachträglichen Abgabe 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 Verzeichnissen innerhalb von Gruppe/Aufgabe1. Stellen Sie sicher, dass ein Aufruf von javac *.java in Gruppe/Aufgabe1 keine Fehlermeldungen liefert, da Lösungen mit Syntaxfehlern in der Regel nicht beurteilt werden.

Wie Sie Kontakt mit dem Tutor aufnehmen:

Bitte wählen Sie ein Mitglied Ihrer Gruppe zur Kontaktperson. Die Kontaktperson soll so bald wie möglich (jedenfalls noch vor dem Abgabetermin) eine Mail an die Tutorin bzw. den Tutor (siehe Gruppe/TUTOR) schicken und Folgendes mitteilen: 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 kann natürlich jedes Gruppenmitglied konkrete Fragen an die Tutorin oder den Tutor richten.
Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
            OOP
               Laborübung
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
            Typsysteme
            Seminar
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Laborübung
Tutoren
Skriptum
Folien
Aufgaben
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2007-10-11 (Puntigam)