Klassische Modelle der Softwareentwicklung

Die unter dieser Überschrift zusammengefassten Modelle zur Realisierung von Softwareprodukten beinhalten sowohl gegenwärtig gängige wie auch bereits sehr ausgereifte Verfahren der Softwareentwicklung. Klassisch versteht sich in diesem Zusammenhang auf den Schwerpunkt von Vorgehensmodellen bzw. Entwicklungsplänen und meint die Aufteilung des gesamten Entwicklungsprozesses in klar überschaubare, zeitlich meist abgegrenzte Phasen mit jeweils unterschiedlichen Aktivitäten. Übergeordnetes Ziel des Phasencharakters ist dabei das effektive Steuern der Softwareentwicklung sowie das Minimieren von Komplexität. Durch das Verwenden von klassischen Modellen können Softwaretechniker und Programmierer den Vorgang der Code Implementierung weitestgehend sicher verwalten und beherrschen.

WARUM KLASSISCHE VORGEHENSMODELLE

Die klassischen Vorgehensmodelle, wie Wasserfall- oder Spiralmodell, entsprechen am ehesten der Idee eines Entwicklungsplanes für das Erstellen eines Programms. Mit ihrer Hilfe gelingt im Normalfall die Zerlegung in einzelne Arbeitsgänge dann, wenn die Software im Ganzen für Entwickler nicht mehr überschaubar ist und dabei keine allzu großen Abnormalitäten aufweist. Anders als etwa bei einer Kurzgeschichte, die der Autor ausgemalt in seinem Kopf hält und über einen Zeitraum von wenigen Wochen niederschreiben kann, benötigt das Erstellen von Software stabile Entwicklungsmodelle für das Ausgestalten von komplexen Zuständen und Operationen. Ein Code & Fix2 Ansatz (1. Schreibe das Programm, 2. Finde und behebe Fehler) funktioniert daher nur bedingt und am ehesten noch bei eigenen Ideen, die über kurze Zeiträume entwicklet werden. Was bei einem kleinen Skript, einer HTML Seite oder einem Java Tool noch gelingt, funktioniert für das menschliche Gehirn nicht mehr, wenn zu viele Variablen ins Spiel geraten und die Komplexität einer Anwendung das Abstraktionenvermögen des Individuums Mensch – oder auch die Rolle seiner Verantwortung – übersteigt.

Klassische Vorgehensmodelle leisten hier entscheidende Vorarbeit und erlauben die Abstraktion und Aufteilung der Programmierabschnitte in für die Softwareentwicklung typische Teilschritte. Die Kunst in Ausarbeitung und Anwendung der hier vorgestellten Modelle, ist demnach die Ausprägung von einzelnen Phasen, die jeweils von eigenen erkenntnistheoretischen Ideen gefasst und getragen werden können. Die aufeinanderfolgenden Phasen kapseln dabei meist einzelne stabile Mini-Workflows, die in ihrer Abfolge dann das Gesamtwerk einer zusammenhängenden Software Applikation ergeben.

DAS WASSERFALLMODELL DER SOFTWAREENTWICKLUNG

Dieses Modell folgt unmittelbar auf die „Try and Error“-Metapher und stellt dem Entwicklungsprozess eine minimale Systematik eines Vorgehensmodells zur Verfügung. Das Wesen des Wasserfallsmodells ist gekennzeichnet durch eine top-down Verfahrenweise, die durch das Weiterreichen von Fach-Dokumenten zwischen jeweils zwei Entwicklungsphasen geprägt ist. Die Starrheit des Modells bedingt dabei, dass ein Austausch nur über und entlang der einzelnen Stufen des Verfahrens erfolgen kann. Das minimiert die Fehleranfälligkeit entscheidend Flexibilität in der Entwicklung oder ein komfortables Redesign sind dadurch aber kaum gewährleistet. Aufgrund seiner einfachen Anwendbarkeit ist das Wasserfallmodell sehr verbreitet und existiert in vielen Abwandlungen.

DAS SPIRALMODELL DER SOFTWAREENTWICKLUNG

Vorgehensmodelle wie das Spiralmodell brechen die Starrheit des Wasserfalls auf und gestalten den Phasencharakter der Softwareentwicklung als einen iterativen Prozess. Die sequenzielle Arbeitsweise seines Vorgängers ist beim Spiralmodell nicht mehr gegeben und erlaubt eine Verfahrensweise, bei der das Kommunizieren der Entwicklungsphasen nacheinander durchlaufen wird und sich dann fortsetzend so lange wiederholt bis alle vorhandenen Probleme mit der Software gelöst sind. Da die Iterationen nicht auf eine rückschauende Denkweise des Wiederholens gebunden sind, wie etwa bei der Sequenzialität des Wassermodells, können die Rahmenbedingungen zukünftiger Iterationen leicht an Veränderungen und wechselnde Erwartungen angepasst werden. Das Spiralmodell – obwohl seit 1980 im Gebrauch – kann flexibel eingesetzt werden und beschreibt in seiner modernen Fassung von Pomerger und Pree bereits ein einfachen Metamodell2

KLASSISCHE VORGEHENSMODELLE – PRO UND KONTRA

Von Konzeption bis Inbetriebnahme leisten die klassischen Vorgehensmodelle an sich hervorragende Arbeit und stehen ganz klar für eine notwendige Unabdingbarkeit des modernen Software Engineerings. Ein mehrwöchiges Softwareprojekt ohne Vorgehensmodell anzugehen ist nach heutigem Verständnis nicht vertretbar und spätestens dann, wenn mehr als 3 Programmierer – oder wechselnde Akteure – über einen längeren Zeitraum Programmcode entwickeln und Probleme an der Implementierung und am Design diskutieren oder entscheiden sollen, geht es ohne ein Vorgehensmodell oftmals erst gar nicht voran. Die starre Sequenzialität und fehlende Rückkopplungen mit dem Projektmanagement lassen die Arbeit mit den klassischen Vorgehensmodellen zwar durchaus etwas streng erscheinen, dennoch wird an Hand gerade dieser Modelle die grundlegende Disziplin vorgegeben, die der Aufbau komplexer Software-Systeme verlangt.

IT erscheint Ihnen kompliziert?

Wir helfen gerne

Sie müssen nicht verstehen, was eine Programmiersprache ist, um erfolgreich im Web zu sein. Wir helfen gerne bei der Technik. Sie konzentrieren sich auf Ihr Business.

Wir haben die Profis

Das eLancer-Team vereinigt junge Profis aus allen Bereichen der IT und des Online-Marketing. Sie müssen nicht länger suchen, wir vermitteln Ihnen bezahlbare Freelancer, die für Ihr Projekt passen.

Wir geben gratis Tipps

Beschreiben Sie uns doch kurz Ihren Bedarf. Hinterlassen Sie bitte auch Ihre Telefonnummer. Wir rufen Sie zurück, wann immer Sie Zeit haben. Fragen zu Aufwand und Komplexität eines Projektes beantworten wir natürlich kostenlos.