Programmieren 2: Lösung ADRELI_4_GUI geleakt?

Adreli_4_Personen

Wie Sie schon festgestellt habven: von Projekt zu Projekt werden die Adreli-Projekte umfangreicher, was die Code-Zeilen angeht, kurz LOC genannt (LOC=Lines of Code). Natürlich bauen die Projekte aufeinander auf, so das zu einem gewissen Teil Code-Sequenzen aus dem Vorgängerprojekt mitgenommen werden können, also nur ein gewisses Delta dazukommt, weil wir neue Features und Java-Klassen in das bisherige Projekt einbauen.

Dieses Delta ist aber beim Projekt 4 „ADRELI_4_GUI“ besonders umfangreich. Das lässt sich schon am Script „Programmieren-2“ erkennen: Die GUI-Kapitel sind die umfangreichsten. Woran liegt das? Nun, bei der GUI-Programmierung gibt es viele Details zu regeln.

Details, ohne Ende?

Dies ist einerseits der Grund, warum bei kommerziellen, industriellen Programmier-Projekten Tools (GUI-Builder) eingesetzt werden, um die Produktivität hochzutreiben. Im Kurs „Programmieren_2“ ist genau das verboten, weil wir bewußt das kennenlernen wollen, was auf der Java-Ebene exakt zu tun ist! Um das kennenzulernen, stellen wir die GUI-Lösung „hand crafted“ her – ohne GUI-Builder. (Ein Analog-Beispiel aus dem „echten Leben“: der gelernte Koch kann nicht nur Tütensuppe kochen!)

Andererseits nimmt die Komplexität dadurch zu, weil ADRELI immer anspruchsvoller und mächtiger wird! Das hat natürlich auch seinen Preis: in den ersten drei Adreli-Lösungen haben wir uns auf den Model-View-Contoller-Ansatz „eingeschossen“.  Jetzt krempelt das GUI-typische Programmierparadigma „Event-Handling“ unseren Fahrplan um! Wir müssen das MVC-Modell neu denken.

JavaFX – auch erlaubt. Hier darf der Scenebuilder verwendet werden

Hinzukommt, dass Sie bei diesem Projekt neben AWT und Swing auch JavaFX verwenden können (aber bitte dran denken: Prüfungsstoff ist und bleibt AWT).

Natürlich lernen Sie nicht nur für die Prüfung! So gab es in den letzten Semestern immer wieder Studierenden, die „es wissen“ wollten und die Lösung mit AWT / Swing aber auch mit JavaFX implementiert haben. Chapeau!

Mit Blick auf Script

Um sich effektiver und effizienter in die GUI-Programmierung hineinfuchsen zu können gibt es ab sofort eine CaseStudy, die mit Blick auf das Skript gebaut wurde: das Zip-File „zz_Adreli_LSG_4_GUI_2_Sue_Leika“ enthält eine lauffähige, vollständige Implementierung von ADRELI_4_GUI“, an der Sie sich orientieren können und in der die geforderten Features implementiert sind (hand-coded, wie in der Aufgabenstellung gefordert).

Die ADRELI-Server-GUI
Die ADRELI-Server-GUI der SueLeicka-CaseStudy
Die ADRELI-Server-GUI
Die ADRELI-Server-GUI der SueLeicka-CaseStudy

Die Server_GUI ist von Hause aus etwas einfacher als die Client_GUI. Wesentliche Funktionen für die User sind „Server beenden“, „Datenbasis wählen“ und „Server-Logfile“ anzeigen.

 

 

 

Solange der Client-Puffer noch leer ist (d.h. es wurden noch keine Daten erfasst), werden auch nicht alle Client-Funktionen angeboten. In diesem Zustand machen nur „Neue Personendaten anlegen„, „Laden“ und „Löschen“ Sinn.

Check it out

Fassen wir zusammen: ab Sommersemester 2017/Wintersemester 17/18 sind die ersten drei ADRELI-Projekt genau definiert (so wie bisher). ADRELI_4_GUI kann entweder

a) der Projektbeschreibung folgend mit AWT handcrafted implementiert werden. Oder.

b) Implementierung ohne AWT mit JavaFW (und SceneBuilder). Oder

c) Frisieren („grooving“) der SUPPORTED-SueLeicka-Version von ADRELI_4_GUI. Diese Version hat einige kleinere Mängel, die es zu beseitigen gilt. Die Mängel suchen, finden und beseitigen Sie!

Mit den drei Übungslösungsstrategien werden drei verschiedene „Leidenschaften“ angesprochen. Im Fall a) liegt die Leidenschaft im Kennenlernen verschiedener Java-Klassen und ihrer technischen Leistungsfähigkeit. (Im Grunde ist im Prog2-Skript alles beschrieben). Im Fall b) liegt die Leidenschaft im Fachgebiet Design und Entwurf von Programm-Konstruktionen und GUI-Oberflächen. (Dazu ist im Prog2-Skript weniger zu finden, mehr findet man in „Mupples-Forum“->“Wirtschaftsinformatik“->“Prog II“->“Design“). Hier ist also eine ganze Portion Neugierde und Forschungsleidenschaft erforderlich. Im Fall c) werden die Analytiker zufriedengestellt: sie analysieren und fixen die SUPPORTED-SueLeicka-Version von ADRELI_4_GUI. Die SueLeicka-Version ist fest mit dem Prog2-Skript verbunden und hängt eng mit dem Ansatz a) zusammen. Gestartet wird aber mit der lauffähigen SueLeicka-GUI-Version von Adreli_4.

Wer die Wahl hat, hat die Qual. Der soeben beschriebene Praktikums-Projektansatz wird auch beim letzten Projekt ADRELI_5_JDBC zum Einsatz kommen. Mehr dazu, wenn es soweit ist.

Happy Coding!

Thank You
Thank You. Have fun storming the castle.

Schreibe einen Kommentar