Programmieren 1: Semesterprojekt, eine Sommer-Episode

Das Semesterprojekt läuft. Wir sprechen Dienstags darüber. Und vorher schon hier und auf YouTube. Primär geht es zunächst mal darum, wie die Aufgabenstellung zu verstehen ist. Wenn das Verständnis nicht stimmt – stimmt in der Folge alles weitere nicht. Das Verständnis-Fundament muss alles andere tragen. Wie eben beim Haus auch: stimmt das Fundament nicht, so wird das Gebäude darüber einstürzen – eines der häufigsten Probleme bei Softwareprojekten: “Die Programmierer/innen haben den Auftraggeber nicht richtig verstanden!”. Wir vermeiden das, weil wir über das Projekt sprechen.

Die Episode 1

YouTubeTalk-about-it-1:  youtubeJAVA_1_Semesterprojekt.

Es geht um einige Erläuterungen, die das Verständnis vertiefen. Dass im Video vom WS1617 die Rede ist, stört Sie nicht. Der Inhalt gilt auch für das WS1718.

Java1_Semesterprojekt_01
Java1_Semesterprojekt_01

Dass alle Termine für das WS1718 aktuell den Aushängen und dem Felix zu entnehmen sind, wissen Sie. Insgesamt handelt es sich hier um die erste Episo deyoutubeJAVA_Semesterprojekt_01_Intro” aus einer Serie von Videos zu diesem Semesterprojekt.

Die zweite Episode dürfen Sie sich auch gleich “reinziehen”:

Die Episode 2

YouTubeTalk-about-it-2:  youtubeJAVA_1_Semesterprojekt.

In diesem Video sehen Sie im Part 1 (in den ersten 10 Minuten), wie ein laufende friends-Programm aussieht und funktioniert.

Java1_Semesterprojekt_02
Java1_Semesterprojekt_02

Im Part 2 sehen Sie den Einstieg in die Entwicklung. Machen Sie sich die Tipps aus der zweiten EpisodeJAVA_Semesterprojekt_02_Intro” zu eigen – Sie werden Ihr Projekt effizienter realisieren können.

Die Episode 3

Im Part 3 ist die Entwicklung praktisch schon in vollem Gange. Wir kümmern uns in der dritten Episode um den Einbau von Arrays als Puffer und Container “JAVA_Semesterprojekt_03_Intro_data+funct“. Neben den ersten Methoden sind nun auch die ersten Daten eingerichtet.

Episode_3
Episode_3: Die Semesterprojekt-Architektur ist fertig

Die Episode 4

In der Interimsversion v00 haben wie die Spec besprochen und das Projekt in Eclipse eingerichtet. Die wichtigsten Programmschritte waren die Menü-Dialog-Schnittstelle in der Methode main_menu() zu programmieren und dann diese Methode im main() einzubauen. Damit hatten wir eine sehr embryonale Interimslösung, übersetzbar und testbar.
In der darauf folgenden Interimslösung v01 haben wir begonnen die Daten zu modellieren und in einer switch-case-Konstruktion die User-Reaktion abzufangen und mit adäquaten Methoden darauf zu reagieren. Na ja, wir haben die Methoden vorbereitet. Auch diese Interimslösung ist übersetzbar und testbar.
Jetzt, in der Interimslösung v02 implementieren wir die Methoden funct_1(), funct_2() und pers_append(). Damit haben wir 50% aller benötigten Methoden implementiert.

Episode 4 youtube Das Semesterprojekt ist jetzt zur Hälfte fertig

Die Episode 5

Erfahrungsgemäß die kritischsten Operationen: Personenrecords in die Datei sichern und aus der Datei laden. Hier sieht man wie’s geht.

Episode 5 youtube Das Dateihandling wird fast fertig gestellt.

Die Episode 6

Die letze File-Operation ist eingebaut: das Löschen der Datenbasis-Datei personenDB.csv als funct_5(). Damit ist das Semesterprojekt so gut wie fertig! Das Grooming fehlt noch.

Episode 6 youtube Das Dateihandling ist fertig gestellt.

Damit ist das Semesterprojekt so gut wie fertig! Das Grooming fehlt noch, dazu gehört z.B. das Umbenennen der Methoden. Wir hatten von Anfang an etwas synthetische Dateinamen, die nicht wirklich sprechend ware.

Insgesamt haben wir damit eine Semester-Projekt-Lösung, die von mir so geplant war, dass wir mit einer einzigen Klasse auskommen. Mehr wie eine Klasse gibt die Aufgabenstellung nicht her: wir haben zwei sehr bedeutungsvolle Datenkonstrukte und ein halbes Dutzend Methoden – genug für eine Klasse. Mehr Klassen für diese kleine Anwendung zu erfinden, wäre nicht wirklich sinnvoll.

PROG1 Semesterprojekt (Intro1 + Intro2)

Die Teilnehmer sollen mit dem Semesterprojekt in den Softwareentwicklungsprozess „hineinschnuppern“ und so Erfahrungen bei der Umsetzung einer etwas komplexeren Team-Übungsaufgabe und der Entwicklung und Realisierung einer etwas umfangreichen Programm-Logik sammeln.

„PROG1 Semesterprojekt (Intro1 + Intro2)“ weiterlesen