Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2008 W

2. Übungsaufgabe

Themen:

Untertypbeziehungen, Aufwandsabschätzung, Programmiereffizienz

Termine:

Ausgabe: 16.10.2008
reguläre Abgabe: 23.10.2008, 12:45 Uhr
nachträgliche Abgabe: 30.10.2008, 12:45 Uhr

Abgabeverzeichnis:

Gruppe/Aufgabe2

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 56, Schwerpunkt auf Abschnitt 2.1

Aufgabe

Welche Aufgabe zu lösen ist:

Erweitern Sie die Messdatenerfassung aus der ersten Aufgabe so, dass sie zur Erfassung zahlreicher Parameter der Luftqualität herangezogen werden kann und in der Praxis tatsächlich verwendbar wird. Folgende Eigenschaften werden von zukünftigen Anwendern des Systems als wichtig angesehen:

Nach wie vor ist die Messdatenerfassung als Teil eines größeren Programmpaketes vorgesehen. Ihre Methoden werden von anderen Programmteilen verwendet, und Sie brauchen keine Benutzerschnittstelle entwickeln.

Alle Ausgaben (Fehlermeldungen genauso wie Ergebnisse von Auflistungen und Abfragen) sollen als Strings an den Aufrufer zurückgegeben (und nicht direkt 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 Messdatenerfassung 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 Messdatenerfassung getrennt sind, und dass Testergebnisse eindeutig erkennen lassen, welche Tests erfolgreich waren.

Wie die Aufgabe zu lösen ist:

Die von den zukünftigen Anwendern des Systems als wichtig angesehenen Eigenschaften sind viel zu umfangreich, als dass Sie diese in der vorgegebenen Zeit vollständig in das System integrieren und testen könnten. Die erste Teilaufgabe besteht also darin, die wichtigsten Eigenschaften zu identifizieren, die Sie innerhalb einer Woche entwickeln können. Beachten Sie dabei, dass es zwischen den einzelnen Punkten Überschneidungen gibt und kleine Änderungen die Brauchbarkeit des Systems kaum beeinflussen, die Implementierung aber vielleicht stark vereinfachen. Solche Änderungen sind nicht nur erlaubt sondern sogar erwünscht. Machen Sie Pläne, welches Gruppenmitglied welchen Teil entwickelt, und setzen Sie diese (eventuell nach Absprache mit dem Tutor) in die Tat um. Das Ziel besteht darin, möglichst viele der wichtigsten Eigenschaften so zu realisieren, dass die entsprechenden Programmteile fehlerfrei laufen und getestet sind. Es kommt eher auf die Funktionsfähigkeit als auf den Umfang an.

Bedenken Sie, dass die Entwicklung der Messdatenerfassung mit dieser Aufgabe voraussichtlich noch nicht abgeschlossen ist und die von Ihnen entwickelten Programmteile später erweitert werden sollen. Achten Sie daher auf Einfachheit und Erweiterbarkeit der Lösung, also vor allem auf Datenkapselung, gute Faktorisierung (Klassenzusammenhalt), leichte Änderbarkeit (Objektkopplung) und die gezielte Verwendung von Untertypbeziehungen.

Beachten Sie die allgemeinen Informationen zur Laborübung in der ersten Aufgabenstellung. Aufgrund des Umfangs der zweiten Aufgabe ist es erlaubt (aber nicht notwendig), dass Sie packages verwenden. Zu diesem Zweck dürfen Sie im Abgabeverzeichnis Gruppe/Aufgabe2 Unterverzeichnisse anlegen.

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
            OOP
               Laborübung
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
               9. Aufgabe
               Cacao
            Typsysteme
            Seminar
         LVAs 2008 S
         LVAs 2007 W
         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
vorige Aufgabe
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2008-10-16 (Puntigam)