Das Projekt

Der Begriff

Ein Projekt wird ist gekennzeichnet durch:
  • ein einmaliges Vorhaben
  • mit einer individuellen Aufgabenstellung
  • die Projektabgabe erfolgt zu einem definierten Zeitpunkt
  • es gibt weitere Vorgaben wie Budget, Personal, Material
In diese Kategorie kann man die Programmierung oder besser noch “Entwicklung einer Software” ebenfalls einordnen. Sie ist einmalig mit einer individuellen Aufgabenstellung, weil jede Software erfüllt einen festgelegten Zweck. Es gibt ein Zeitfenster, innerhalb dessen die Software fertig werden muss. Und wir alle wissen, besser gestern als heute und daher reift vermehrt Software beim Anwender. Wir haben weitere Vorgaben, die die Entwicklung beeinflussen, wie die Fähigkeiten unserer Entwickler (Anfänger oder Fortgeschrittener / Junior- or Senior-Developer) und die technische Ausstattung. Jedes Projekt benötigt aufgrund dieser Rahmenbedingungen ein Management. Wir müssen die Gesamtaufgabe in einzelne, überschaubare Einheiten zerlegen. Die Arbeitsaufgaben lassen sich grundsätzlich in 4 Phasen einordnen.(die 5. Phase ist die Inbetriebnahme: die Installation der Software beim Endanwender)

Phase 1: Analyse der Aufgabenstellung

Wenn ein Programmierer eine Aufgabenstellung bekommt, dann spielen nicht nur die für die Software geforderten Funktionen eine wichtige Rolle. Die Funktionen stehen sicherlich im Mittelpunkt, weil jede Software einen Endanwender bei einer Tätigkeit (wie Fahrrad-Miete, Navigation in unbekanntem Gelände, Organisation der Einkäufe) unterstützen soll. Daraus ergeben sich aber weitere Punkte, die ebenfalls erörtert werden sollen:

1. Wie sieht das User Interface (die Benutzeroberfläche aus)
  • ist es eine grafische Oberfläche
  • soll ein Dialog als Konsolenanwendung genutzt werden
  • welche Eingabegeräte werden verwendet (Tastatur, Maus, Touchscreen ..)
2. Welcher Anwendungstyp soll es sein?
  • Ist ein ein Dienst?
  • Ist es eine Desktop-Anwendung mit grafischer Oberfläche?
  • Ist es eine Konsolenanwendung?
  • Ist es eine App
  • usw.
3. Welche Hardware ist erforderlich?
  • Einzelplatzrechner mit technischer Ausstattung wie CPU, RAM
  • Client/Server-Anwendungen
  • Smartphone mit GPS/Kamera
4. Welche Systemsoftware ist erforderlich? Dazu gehört in erster Linie das Betriebssystem. Es kann aber auch sein, dass die Software in eine größere Konfiguration eingebettet wird, so dass auch Schnittstellen zu anderen Softwarekomponenten definiert werden müssen.

Phase 2: Entwurf der Software

Wie wir sehen, gibt es viele Baustellen, die wir beachten müssen, wenn eine Software erstellt werden soll. Um hier nicht den Überblick zu verlieren, bietet sich im Vorfeld der Erstellung des Quellcodes der Entwurf der Software an. Es gibt verschiedene Methoden und Techniken. So können wir einen grafischen Entwurf gestalten. Das hat den Vorteil, dass wir mit genormten Symbolen den Sachverhalt darlegen können. Häufig wird aber auch eine textuelle Beschreibung bevorzugt.

Für die Gestaltung von Programmabläufen, die von einem Rechner abgearbeitet werden können, bieten sich als grafische Varianten der PAP (Programmablaufplan) und das Struktogramm (auch Nassi-Shneiderman oder Blockdiagramm) an. Beide bilden die Grundlage für unsere Programmabläufe.

Alternativ – und von vielen Programmierern bevorzugt – ist der Entwurf mittels Pseudocode. Dieser ist nicht genormt: Hier wird in Anlehnung an eine beliebige Programmiersprache der Programmablauf frei formuliert.

Phase 3: Implementierung

Die Implementierung beinhaltet das Schreiben des Quellcodes. Ohne den gibt es ja kein Programm.

Viele Programmierer vernachlässigen – je nach Kenntnisstand – die Phase des Entwurfs und setzen sich gleich an den Rechner. Abhängig von Kenntnisstand aber auch Umfang der Aufgabe kann das auch zielführend sein. Aber wenn man sich auf unbekanntem Terrain bewegt, sollte eine Planung bzw. hier der Entwurf schon etwas ausführlicher besprochen werden.

Generell ist die Idee der Trennung von Implementierung und Entwurf:

  • im Entwurf erfolgt der Denksport/die kreative Leistung betreffend Kombination von Befehlen zur Gestaltung eines Programmablaufs
  • in der Implementierung nehmen wir den Entwurf und übersetzen diesen “nur” noch in einen Quellcode entsprechend der ausgewählten Programmiersprache.

 

Phase 4: Test der Software

Der Test einer Software wird hier in der Reihenfolge als 4. Phase aufgelistet. Es wäre allerdings kontraproduktiv, mit dem Testen erst dann anzufangen, wenn die Software implementiert und damit fertig ist.
Getestet wird sowohl im Entwurf als auch in der Implementierung als auch danach.

Es gibt verschiedene Verfahren. So unterscheiden wir zwischen einem White-Box-Test und einem Black-Box-Test.

Beim White-Box-Test liegt der Entwurf vor oder der Quellcode offen (wir sehen, was wir geschrieben haben).
Beim Entwurf geht es darum, zu prüfen, ob der von uns gestaltete Programmablauf zum Ziel bezogen auf die Aufgabenstellung führt. Man spricht auch von einem Schreibtischtest.

Ein White-Box-Test in der Implementierung (also Prüfen Quellcode) wird gemacht, um sicherzustellen, dass die Software die Hardwareressourcen des Rechners nicht zu sehr beansprucht. Man nennt das auch Laufzeit/Speicherverhalten.

Die Black-Box-Testverfahren sind vielfältig und werden anhand der vorliegenden Software durchgeführt. Es muss auch nicht die ganze Software fertig sein. So wird in der Phase der Implementierung immer wieder getestet; jedesmal, wenn ein paar Zeilen geschrieben wurden, muss geprüft werden, ob das funktioniert. Dann interessiert nicht der Quellcode, sondern nur die Funktionalität des Programms (richtige Berechnung, korrektes Abfangen von fehlerhaften Eingaben usw.)

Cookie Consent Banner von Real Cookie Banner