Objektorientierte Programmiertechniken
LVA 185.A01, VU, 3 Ects, 2013/2014 W

8. Übungsaufgabe

Themen:

Annotationen, Reflexion

Termine:

Ausgabe: 04.12.2013
Abgabe: 18.12.2013, 12:00 Uhr

Abgabeverzeichnis:

Aufgabe8

Programmaufruf:

java Test

Grundlage:

Skriptum, Schwerpunkt auf Abschnitt 4.3

Aufgabe

Welche Aufgabe zu lösen ist:

Beim kranichkirchener Kürbiszucht-Programm tut sich wieder etwas. Man möchte mehr Flexibilität in die Konfiguration der Software bringen und untersucht, ob Annotationen dafür einen geeigneten Ansatz bieten. Helfen Sie dabei mit, indem Sie ein Java-Programm schreiben um den Umgang mit Annotationen über Reflexion zu testen.

Auf den ersten Blick ist die Aufgabe sehr einfach: Es soll mindestens drei Sorten von Kürbissen geben, die jeweils durch eigene Klassen dargestellt sind, sowie einen gemeinsamen Obertyp davon. Alle Kürbisse sollen mindestens drei Methoden unterstützen, etwa um Reaktionen auf Umwelteinflüsse wie Regen, Sonnenschein oder Sturm hervorzurufen. Diese Methoden sollen in jeder Kürbissorte anders implementiert sein. Es kommt nicht darauf an, was diese Methoden machen, sondern nur darauf, dass man beim Testen leicht unterscheiden kann, welche Methode in welcher Kürbissorte ausgeführt wurde. Beim Testen sollen

Die Schwierigkeit besteht darin, dass die Testfälle über Annotationen bestimmt werden sollen. Das heißt, die Arten der Sammlungen, die Sorten der Kürbisse und die auf den Kürbissen auszuführenden Methoden und deren Parameter sollen ausschließlich als Annotationen beschrieben sein. Es bleibt Ihnen überlassen, an welche Elemente des Java-Programms die Annotationen angeheftet werden. Zur Laufzeit müssen die Annotationen über Reflexion (Reflection) ausgelesen und die entsprechenden Aktionen gesetzt werden.

Beschreiben Sie wie gewohnt die Aufteilung der Arbeiten auf die einzelnen Gruppenmitglieder. Diesmal soll das aber nicht über Kommentare erfolgen, sondern über Annotationen an den Programmstellen, an denen die Gruppenmitglieder mitgearbeitet haben. Sammeln Sie diese Informationen zur Laufzeit und geben Sie sie am Ende des Testlaufs aus.

Warum die Aufgabe diese Form hat:

Offensichtlich geht es um das Üben des Umgangs mit Annotationen und Reflexion. So viel wie möglich soll über Annotationen festgelegt und zur Laufzeit über Reflexion bearteitet werden. Dies macht einen eher dynamischen Programmierstil nötig. Sie sollen erkennen, wie ein dynamischer Programmierstil mit restriktiven Typüberprüfungen zusammenarbeiten kann.

Was im Hinblick auf die Beurteilung zu beachten ist:

Die insgesamt 100 für diese Aufgabe erreichbaren Punkte sind folgendermaßen auf die zu erreichenden Ziele aufgeteilt:

Annotationen und Reflexion wie vorgeschrieben und sinnvoll eingesetzt 50 Punkte
Untertypbeziehungen richtig und sinnvoll eingesetzt 10 Punkte
Zusicherungen richtig und sinnvoll eingesetzt 10 Punkte
Sichtbarkeit auf so kleine Bereiche wie möglich beschränkt 10 Punkte
Geforderte Funktionalität vorhanden 10 Punkte
Geforderte Funktionalität sinnvoll getestet 10 Punkte

Was im Hinblick auf die Abgabe zu beachten ist:

Die Verwendung von junit und ähnlichen Technologien ist unbedingt zu vermeiden.
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
            PK
            OOP
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
               9. Aufgabe
            Typsysteme
         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
         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:
Tutoren
Lehrunterlagen
vorige Aufgabe
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2013-12-04 (Puntigam)