Raus aus der Schublade: Das Softwareprojekt

So könnte das Aussehen, wenn ich einen Teil von mir programmieren müsste, wenn auch sehr simpel. Wieso programmieren? Ja… ich frage mich auch gerade wie ich auf diesen Gedankengang gekommen bin. Anscheinend bin ich in einem Paralleluniversum gefangen, in der wir alles programmieren anstatt es einfach zu machen. Programmiersprachen überall um mich herum. Was zum Teufel ist los? Ach, Softwareprojekt, das ist los. Und bevor ich innerlich explodiere, mach ich euch mal ein Türchen zu der Welt der angehenden InformatikerInnen auf, um euch zu zeigen, wo Wahnsinn und Logik einher gehen.

Wahnsinnig werden, irgendwie logisch

Der logische Wahnsinn, eine Begrifflichkeit, die uns in diesen Artikel begleiten wird. Denn eigentlich müsste dieser Code funktionieren. Es ist doch ganz logisch… es müsste doch…. Okay, bevor ich euch gleich mit Programmierpudding beschmiere, will ich euch erstmal erklären worum es eigentlich geht. Wir InformatikerInnen machen in unseren lieblichen Studiengang ein Softwareprojekt, welches ein Semester andauert. Wir müssen in diesem Semester eine Software entwickeln. Und das passiert im ganz typischen Sinne einer Softwareentwickelnden Firma. Wir bekommen einen Auftrag von einem Kunden und müssen ein Kundengespräch führen. Schon hier sind viele Methoden anzuwenden, die uns im Studium vermittelt werden. Was will der Kunde? Was habe ich verstanden? Was mache ich dann daraus? Was kommt noch dazu, was wir als Feature verkaufen? In unserem Falle wollte gerne der Herr Hölscher von der Firma MeIndAu ein Eventmanagmentsystem, dass Partys und Feierlichkeiten verwalten kann. Seine MitarbeiterInnen würden zu unkoordiniert einkaufen und es würden zu viele Reste bleiben. Unser Programm soll Abhilfe schaffen und Eventplanung sinnvoll für seine Mitarbeiter möglich machen. Na dann….

 

Auf die Plätze, fertig, los!!

Du machst das Oberflächendesign, ich mach schonmal irgendwie den Server. Du kannst ja schonmal schauen ob du die Artikel in eine Liste zwischenspeichern kannst! Am Ende schmeißen wir alles zusammen! Nene, liebe Freunde. So geht das nicht. Viele der InformatikerInnen sind recht pragmatisch und wie kleine Hunde freudig erregt, wenn es darum geht, ans Werk zu gehen. Doch das Informatikstudium vermittelt uns, wie wichtig es ist, ein Programm von Anfang an strukturiert aufzubauen. Insebesonders müssen wir sicher gehen, alles vorher genaustens zu spezifizieren. Wir haben im Semester zuvor erlernt, welche Dokumente angelegt werden müssen. In einer sogenannten Anforderungsspezifikation führen wir eine Ist- und Soll Analyse aus und bewerten die uns gegebenen Kriterien, um uns ein Bild für eine softwaretechnische Lösung zu machen. Wir können nicht einfach drauflosprogrammieren, auch wenn es die meisten gerne täten. Ausserdem dient die Anforderungsspezifikation auch für die Kommunikation mit dem Kunden, da wir hier genaustens drauf achten müssen, ob wir die Kundenwünsche auch wirklich umsetzen. Sobald wir dann genügend Review mit dem Kunden gehalten haben, können wir nun all die Spezifikationen von Programmvorgängen weiter verarbeiten, indem wir verschiedene Architektursichten anwenden, um diese auf ihren funktionalen Kontext zu untersuchen. Hier können wir bereits unsere Ideen soweit spezifizieren, sodass wir unsere Diagramme und Grafiken schon relativ einfach in Programmiercode umsetzen können. Man hat also einen fließenden Übergang von Planung und Spezifikation bishin zur Architektur des Programms und der anschliessenden Umsetzung in Javacode. Dabei enstehen dann gerne bis zu 300 und mehr Seiten. Diese Dokumente jedoch entwickeln sich stehts weiter und stellen eine Basis zwischen Kunde und EntwicklerInnen und zwischen EntwicklerInnen und dem Code dar.

 

Enthusiasmus reicht hier nicht aus…

So da bin ich nun. Stefan vs. Code. Das ist mindestens so episch wie Piraten vs. Ninjas. Ich möcht euch nun an dieser Stelle ein wenig von meiner persönlichen Arbeit berichten. Ich habe mich dem Oberflächendesign verschrieben und arbeite daran, dass die Oberfläche des Programms eingermaßen gut aussieht, und dass die Oberflächenelemente auch funktionieren. Heißt, dass wenn ihr auf Speichern drückt, dass dann das Programm auch wirklich mit dem Server kommuniziert, speichert und euch eine Bestätigung ausgibt. Aber wir alle raufen uns die Haare. Stunden um Stunden arbeiten wir am Code und an jeder Ecke will etwas nicht funktionieren, obwohl es nach der Logik her funktionieren müsste. So programmiere mein Oberflächenelement und möchte dass es breiter nach rechts ausgedehnt wird. Stattdessen geht das ganze Layout flöten, na Toll! Aber von der Logik her….. Ich verstehe das nicht. Und während ich dann am Rande das Wahnsinns stehe kommt ein anderes Gruppenmitglied daher mit folgenden Satz „Aber schau mal, das ist doch ganz logisch!“ Und das läuft dann solange, bis der Dozent mit der Flagge schwenkt und wir endlich alle aufatmen können. Abgabetermin, eine Erlösung. Haben wir dann ein fertiges Programm? Aber ja! Durch die gute Planung und Dokumenterstellung lief das Programmieren sehr strukturiert und effizient ab und die Studierende wenrden für den Fleiß belohnt. Aber hey, Augen auf. Das Softwareprojekt stellt eine anstrengende und schwierige Hürde im Studium dar und es sind wirklich nicht wenige, die beim Softwareprojekt scheitern. Einige versuchens erneut, andere hatten mit dem Softwareprojekt die beste Möglichkeit herauszufinden, dass Informatik später im Berufsleben nichts für sie ist. Denn ein wesentlicher Bestandteil der Arbeit später könnte genau so aussehen.

3 Kommentare
  1. carlmarx
    carlmarx sagte:

    Ich bin einverstanden. Entwicklung finde ich sehr wichtig. Schade, dass das nicht alle Schüler gut verstehen. Sie denken nur, dass man hier wenig lernen und gutes Geld verdienen kann.

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert