Kaskadierende und iterative Modelle der Software- und Anwendungsentwicklung

Iterative Anwendungsentwicklung

 

Bei der iterativen Anwendungsentwicklung handelt es sich um einen Softwareentwicklungsprozess, der in kleinen Schritten abläuft, bei dem die erzielten Zwischenergebnisse analysiert, neue Anforderungen gestellt und die vorherigen Schritte korrigiert werden.

Der Projektlebenszyklus bei der iterativen Entwicklung ist in eine Abfolge von Iterationen unterteilt, von denen jede eigentlich ein Miniaturprojekt ist, d.h. sie umfasst alle Softwareentwicklungsprozesse (Anforderungserhebung und -analyse, Entwicklung der Anforderungsspezifikation, direkte Implementierung, Testen und Inbetriebnahme), aber innerhalb einer Iteration wird nicht das gesamte Projekt entwickelt, sondern nur eine Version oder ein separater Teil davon.

In der Regel besteht das Ziel jeder Iteration darin, eine Version der Anwendung zu erreichen, die sowohl neue oder verbesserte Funktionen, die während der aktuellen Iteration implementiert wurden, als auch die Funktionalität aller vorherigen Iterationen enthält. Das Ergebnis der letzten Iteration enthält dagegen alle erforderlichen Funktionen des Produkts.

Das Budget und der Zeitrahmen für die Umsetzung der endgültigen Version sind in der Regel nicht im Voraus festgelegt, da der gesamte Arbeitsumfang nicht definiert ist und die Anforderungen erst während der Umsetzung entstehen.

Iterative, iterative, inkrementelle und evolutionäre Entwicklung sind in der Tat synonym.

Iterativ (Iteration, "Wiederholung") bezieht sich in diesem Fall auf einen aufgabenbasierten Ansatz innerhalb von "Miniprojekten", inkrementell (Inkrement, "Steigerung") auf die sequentielle Hinzufügung von Funktionen zu dem zu entwickelnden Produkt, und evolutionär (evolutio, "Entwicklung") auf einen Produktentwicklungsprozess, der der natürlichen Entwicklung biologischer Arten ähnelt.

 

Kaskadierende und iterative Modelle der Software- und Anwendungsentwicklung

Metaphorisch wird der Vergleich zwischen kaskadierenden und iterativen Entwicklungsmodellen oft am Beispiel der Fahrzeugentwicklung beschrieben.

Im Falle des Kaskadenmodells werden zunächst die erforderlichen Fahrzeugeigenschaften beschrieben und dann die Konstruktionsunterlagen auf der Grundlage dieser Anforderungen erstellt. Nach der Entwicklung der Konstruktionsunterlagen werden die einzelnen Fahrzeugkomponenten zusammengebaut und ineinander integriert. Die so entstandene Baugruppe wird dann gemäß den Konstruktionsunterlagen geprüft, bevor das fertige Fahrzeug an den Kunden übergeben wird. All diese Schritte nehmen viel Zeit in Anspruch, und erst ganz zum Schluss erhält der Kunde ein brauchbares Produkt.

Der iterative Ansatz ist etwas anders. Die Aufgabe, das Fahrzeug zu bauen, wird zu Beginn gestellt. Und das Ergebnis der ersten Iteration könnte eine Variante eines solchen Fahrzeugs sein - zum Beispiel ein Roller. Es braucht keinen Verbrennungsmotor und kann Dutzende Male schneller montiert werden als ein Auto. Ja, der Roller ist dem Auto in vielerlei Hinsicht unterlegen, aber er ist immer noch effizienter als ein Fußmarsch. Eine zweite Iteration könnte zu einem Roller mit Elektromotor führen. In der dritten Version könnte der Roller größere Räder haben und ein E-Bike werden. In der vierten Variante könnte das Elektrofahrrad mit einem Verbrennungsmotor ausgestattet werden und sich in ein Motorrad verwandeln.

Mit jeder Iteration erhöht sich der Funktionsumfang. Und während die Verfechter des Wasserfallkonzepts warten, bis das Fahrzeug fertig ist, nutzen diejenigen, die den iterativen Ansatz lieben, diesen bereits. Und Sie werden vielleicht feststellen, dass das resultierende Motorrad ein besseres Geschäftsergebnis ist.

Die wichtigsten Vorteile des iterativen Anwendungsentwicklungsmodells sind Risikominimierung - frühzeitige Erkennung von Konflikten zwischen Anforderungen, Modellen und Projektdurchführung; verstärkte Konzentration auf Schlüsselaufgaben; dynamische Anforderungserstellung und -verwaltung.

Organisation eines effektiven Feedbacks des Projektteams an den Kunden, das zu einem Produkt führt, das die Bedürfnisse des Kunden tatsächlich erfüllt.

Schnelle Veröffentlichung eines MVP (Minimum Value Product) und die Möglichkeit, das Produkt viel früher auf den Markt zu bringen und zu nutzen.

Die wichtigsten Nachteile des iterativen Anwendungsentwicklungsmodells sind Architekturprobleme und Gemeinkosten - bei chaotischen Anforderungen und ohne einen kohärenten Gesamtplan kann die Anwendungsarchitektur darunter leiden, und es können zusätzliche Ressourcen erforderlich sein, um sie in die richtige Form zu bringen. Die Möglichkeit, Anforderungen während der Entwicklung zu ändern, hat so oder so ihren Preis.

Es gibt kein festes Budget und keine feste Frist, und der Kunde muss in hohem Maße in den Prozess einbezogen werden - für einige Kunden sind dies inakzeptable Bedingungen für die Zusammenarbeit mit einem Entwickler, die besser für ein Kaskadenmodell geeignet sind.

 

Kaskadenmodell der Anwendungsentwicklung

 

Das Kaskadenmodell der Softwareentwicklung (Wasserfall) ist ein Entwicklungsprozess, bei dem die Phasen der Anforderungserfassung und -analyse, des Entwurfs und der Prototypisierung, der Implementierung, des Testens, der Integration und des Supports nacheinander ablaufen.

Nach dem Kaskadenmodell gehen die Entwickler streng sequentiell von einem Prozess zum nächsten. Zunächst wird die Phase der Anforderungserhebung vollständig abgeschlossen - es wird eine Liste der ermittelten Softwareanforderungen erstellt. Erst nachdem die Anforderungen gesammelt und erfasst wurden, wird der Entwurfsprozess fortgesetzt, in dessen Verlauf eine Programmspezifikation erstellt wird, die die von den Programmierern auszuführenden Aufgaben sowie die Implementierungsmethoden und die damit verbundenen Einschränkungen beschreibt. Sobald der Entwurf vollständig ist, führen die Programmierer das Projekt entsprechend dem Umfang der Anforderungen aus - im Beispiel der Erstellung einer Website wird der Entwurf gezeichnet, das Layout erstellt und die Programmierung vorgenommen. Nach Abschluss der Entwurfsphase wird das entwickelte Produkt getestet und debuggt: In dieser Phase werden alle Fehler identifiziert und entsprechend dem Umfang der Anforderungen beseitigt. Anschließend wird das Projekt gestartet und Support geleistet, um die Funktionsfähigkeit und Fehlerbehebung zu gewährleisten.

Das Kaskadenmodell geht davon aus, dass der Übergang von einer Produktentwicklungsphase zur nächsten erst dann erfolgt, wenn die vorhergehende Phase abgeschlossen ist, und dass es keine Rückläufe oder Überschneidungen gibt.

Bei der Entwicklung von Software oder Anwendungen nach diesem Modell können strenge Budgets und Fristen eingehalten werden. Die Arbeit nach diesem Modell kann jedoch nur dann effektiv sein, wenn der Kunde die Ziele des zu erstellenden Produkts genau kennt und in der Lage ist, sie zu formulieren. Das liegt daran, dass auch der Arbeitsumfang festgelegt ist - wenn etwas nicht in der Aufgabenstellung steht, wird es höchstwahrscheinlich nicht innerhalb des vereinbarten Budgets und der vereinbarten Frist fertig gestellt werden. Auch die Durchführung von Änderungen in Wasserfallprojekten ist recht problematisch. Für wirklich große Projekte und die Schaffung von etwas Innovativem ist dieses Modell also nicht geeignet.

Eine Alternative zum Wasserfallmodell ist das iterative Entwicklungsmodell (z. B. verschiedene "agile" Methoden).

Die iterative Entwicklung eignet sich hervorragend für große Projekte, für Projekte mit unsicheren Anforderungen und für Softwareprodukte, die innovativ sind und auf Geschäftshypothesen basieren, die getestet werden müssen.

 

 

Möchten Sie eine Zusammenarbeit mit Python Software House beginnen, das spezielle Webanwendungen, spezielle mobile Anwendungen und kundenspezifische Websites erstellt?

Sie suchen ein Softwarehaus, das die Erstellung von dedizierten Webanwendungen unter Verwendung von Python, Django und Flask im Angebot hat?

Wir sind ein Python-Softwarehaus, das seit 20 Jahren auf dem Markt ist und in seinem Portfolio dedizierte Web- und Desktop-Anwendungen und kundenspezifische Software sowie fortschrittliche IT-Systeme hat. Wir entwickeln digitale Tools und Lösungen, die Daten nicht nur visualisieren, sondern auch in reguläre Geschäftsprozesse integrieren. Wir erstellen datengesteuerte, vollwertige, dedizierte Mobil- und Webanwendungen, die Daten für das gesamte Unternehmen leichter zugänglich machen.

Vielleicht möchten Sie Lösungen, die auf Algorithmen der künstlichen Intelligenz, maschinellem Lernen oder Deep Learning basieren, in Ihrem Unternehmen einsetzen?

Die Informationstechnologie hat sich von einer Dienstleistung für Unternehmen zu deren Grundlage entwickelt. Wir bauen digitale Kompetenzen im Bereich Ihrer Interessen auf und helfen Ihnen, neue Modelle für Ihr Unternehmen zu finden. Das ist unser Auftrag.

 

 

 Schreiben Sie uns!

 

Unser Standort

Interaktive Agentur Softwarehaus
Web Wizard.com   seit 2000


Polen, 52-220 Wrocław, ul. Gen. Grota-Roweckiego 8/10
Steuernummer:   PL 899-142-54-65

Call between the hours of 8.30 a.m. - 16.30 p.m.

Telefon    +48 71 346 29 73 
Handy  +48 502 387 145

CEST UTC+2  CET UTC+1   IANA Europe/ Warsaw

Kontaktformular

Sie sind nur einen Schritt davon entfernt, mit uns in Kontakt zu treten, was der Beginn einer langjährigen Zusammenarbeit sein kann.
Mit Sicherheit werden Sie den Inhalt der übersandten Korrespondenz schnell vergessen, aber Sie werden es für immer in Erinnerung behalten, wie Sie sich während der Zusammenarbeit mit uns gefühlt haben.

Fangen wir an?

 

*

Durchsuchen Sie Datei hinzufügen

Die Angabe der obigen Daten ist freiwillig, wobei die Angabe der E-Mail-Adresse für den Erhalt der Antwort notwendig ist. Der betroffenen Person steht das Recht zu, den Inhalt ihrer personenbezogenen Daten einzusehen und diese korrigieren oder löschen zu lassen.

Der Verantwortliche für die personenbezogenen Daten ist die Interaktive Agentur Web Wizard.com Iwona Koptewicz mit Sitz in Breslau, ul. Gen. Grota-Roweckiego 8/10, 52-220 Breslau, die eine wirtschaftliche Tätigkeit auf der Grundlage der Eintragung in das Gewerberegister Nr. 1661331 vom 13.03.2003 führt, REGON: 932899803, E-Mail: biuro@webwizard.com.pl führt.

Die im obigen Formular enthaltenen personenbezogenen Daten werden verarbeitet, um Ihnen eine Antwort auf die übersandte Frage erteilen zu können. Ausführliche Informationen finden Sie in den Datenschutzbestimmungen.