PROG1 Semesterprojekt (Intro3_data+funct)

Semesterprojekt-Baustelle

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.

Dabei wird besonderer Wert auf die Team- und Gruppenkommunikation gelegt. Lösungsvorschläge zur Orientierung werden in der Vorlesung (und auf youtube YouTube ) vorgestellt und können für die eigene Software mit verwendet werden.

Erfahrungsgemäß ist im 1. Semester PROG1 die häufigste Frage zum Semesterprojekt: „Wie fangen wir überhaupt mit dem Semesterprojekt an?

Haben sich die bisherigen Übungen mit konkreten Java-Daten- und Algorithmus-Bausteinen befasst, so werden jetzt all diese Konzepte in einem Anwendungsprogramm zusammen zum Einsatz kommen, da ist die Frage schon berechtigt, womit begonnen werden soll!

Natürlich ist der hier vorgestellte Einstieg nicht die einzige Möglichkeit. Wenn Sie Ihre eigenen Überlegungen implementieren, können Sie diese mit der hier gezeigten vergleichen und weitere Lehren daraus ziehen.

Was sich bisher ereignete

In der Version v00 unseres Semesterprojekts wird in der main()-Methode innerhalb einer „Dauerschleife“ die Menübehandlung aufgerufen, in der Methode main_menu(): hier wir das Menü ausgegeben und die Menüeingabe des Benutzers behandelt. Wir haben auch gesehen, daß durch zusätzliche Ausgaben von entsprechenden Variablen der korrekte Ablauf des Programm mit leicht verfolgt werden kann.

Die vom User eingegebene und vom Programm abgeholte Zahl wird uns als Eingabebehandlung auf eine switch-case-Konstruktion führen. Wobei ind den zuständigen cases die relevanten Methoden aufgerufen werden. Wir schauen uns das in den ersten 7 Minuten des Videos (youtube ) nochmals an.

Was sich im Video 03_Intro_data+funct ereignet

Dann klären wir ein grundsätzliches Problem: mit unserer Applikation wollen wir Personendaten aufnehmen und verwalten. Für diesen Zweck brauchen wir noch eine geeignete Datenstruktur. Um die Einzel- und Gesamtdaten im Hauptspeicher zu puffern, verwenden wir

a) ein eindimensionales String-Array: String myNewPerson[] (wird die Daten für eine Person enthalten, die gerade erfasst wird) und

b) ein zweidimensionales String-Array: String myPersons[][] (wird die Daten von max 10 Personen enthalten. Unser Programm muss nur 10 Personen erfassen können.)

Den Einbau der Array betrachten wir ab youtube Videozeitpunkt Minute 00:07:00 (ca).

Semesterprojekt kopieren – umbenennen und erweitern

Um die bisherigen Ergebnisse durch die geplanten Änderungen/Erweiterungen nicht Gefahr zu bringen, kopieren wir unser Semesterprojekt in Eclipse und arbeiten dann mit der Kopie weiter. abyoutube Videozeitpunkt Minute 00:10:00 (ca).

Später machen wir dieses „Sichern“ des bisherigen Projektstandes nicht so „umständlich“, wir werden dafür das Versionsverwaltungssystem „Git“ verwenden. Um PROG1 im ersten Semester nicht zu überfrachten, verzichten wir hier auf diese Werkzeug und konzentrieren uns auf JAVA und ECLIPSE.

Semesterprojekt neues einbauen

Der Einbau notwendiger Daten int persCounter und die oben genannten Arrays in das Semesterprojekt erfolgt abyoutube Videozeitpunkt Minute 19:00 (ca).

Semesterprojekt-Baustelle
Auch beim Softwarebau gilt: Projektziel erreicht nur, wer zupackt!

Danach wir die switch-case-Konstruktion eingebaut ab youtubeVideozeitpunkt Minute 00:28:00 (ca) und vorgesehenen Methoden werden vorbereitet und eingebaut ab youtube Videozeitpunkt Minute 00:32:00 (ca).

Zu guter Letzt wird wieder getestet ab  Videozeitpunkt Minute 00:42:36 (ca). Wir können immerhin schon die Aufrufbeziehung zwischen den Methoden testen.

Sicherlich haben Sie das Prinzip jetzt durchschaut. Viel Spaß beim weitermachen!

Nehmen Sie das Semesterprojekt selbst in die Hand! Versuch und Irrtum und erneuter Versuch treiben die Erkenntnis voran.

Wie immer Kommentare direkt beim Video erlaubt und erwünscht! So läßt sich auch die Diskussion in der Liveveranstaltung beleben!

Schreibe einen Kommentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.