Antwort 1:

Im iterativen Entwicklungsmodell durchlaufen wir die Idee und verbessern sie ständig, während wir verschiedene Versionen durchlaufen. Wie du

Wenn Sie von einer Version zur nächsten wechseln, entscheiden Sie (basierend auf dem Feedback), was in der neuen Version als bessere Option benötigt wird und was weggeworfen werden muss.

In einem inkrementellen Modell erstellen Sie die Gesamtlösung in Teilen, aber am Ende jeder Phase oder jedes Teils, die Sie nicht haben

alles, was überprüft oder Feedback gegeben werden kann. Sie müssen bis zur Endphase warten, bis der inkrementelle Prozess das Endprodukt liefert.

Es folgt ein visuelles Beispiel (aus dem Internet), das dies sehr gut darstellt (inkrementell oben und iterativ unten):


Antwort 2:

Der inkrementelle Ansatz ist eine Methode zur Softwareentwicklung, bei der das Modell schrittweise entworfen, implementiert und getestet wird (jedes Mal wird etwas mehr hinzugefügt), bis das Produkt fertig ist. Es beinhaltet sowohl Entwicklung als auch Wartung. Das Produkt gilt als fertig, wenn es alle Anforderungen erfüllt

Das iterative Design ist eine Designmethode, die auf einem zyklischen Prozess des Prototyping, Testens, Analysierens und Verfeinerns eines Produkts oder Prozesses basiert. Basierend auf den Testergebnissen der letzten Iteration eines Entwurfs werden Änderungen und Verfeinerungen vorgenommen. Dieser Prozess soll letztendlich die Qualität und Funktionalität eines Designs verbessern. Beim iterativen Entwurf wird die Interaktion mit dem entworfenen System als eine Form der Forschung zum Informieren und Entwickeln eines Projekts verwendet, wenn aufeinanderfolgende Versionen oder Iterationen eines Entwurfs implementiert werden.

Software wird in inkrementellen, schnellen Zyklen entwickelt. Jede Version wird gründlich getestet, um sicherzustellen, dass die Softwarequalität erhalten bleibt. Extreme Programming (XP) ist derzeit eines der bekanntesten agilen Entwicklungslebenszyklusmodelle. Agile Tests, die aus Kundensicht interessant sind.

Um mehr mit kostenlosen Videos zu erfahren, besuchen Sie: Software Testing Tutorials


Antwort 3:

Es gibt normalerweise einen kritischen Unterschied zwischen „regulärem“ Engineering und Software-Engineering. Da die Produkte des regulären Engineerings vor Beginn der Verwendung kurz vor der Fertigstellung stehen müssen, müssen die Spezifikationen normalerweise vor Baubeginn vorliegen. Es ist jedoch möglich, viele fertige Komponenten zu testen. Ein weiteres Detail in der „realen Welt“ ist, dass es sehr schwierig ist, verschiedene Komponenten zu testen, wenn sie nicht in ein Modell (eines Großteils) des fertigen Geräts integriert sind. Es gibt wirklich Zeiten, in denen Sie das Gizmo einschalten und beobachten müssen, was passiert. Bei sehr komplexen Systemen kann das Testen erst dann wirklich beginnen, wenn die erste Iteration (meistens) abgeschlossen ist.

Offensichtlich ist dies bei vielen Softwaresystemen nicht der Fall. Dies ist insbesondere dann der Fall, wenn es schwierig ist, einen Großteil des Systems zu fälschen, und das Verhalten unter Stress wirklich schwer oder unmöglich zu implementieren ist. Wir müssen also den Entwicklungsprozess glätten, damit das Konzept der Fertigstellung größtenteils unsichtbar ist. Die Vereinfachung eines großen Systems wie der Steuer- oder nationalen Flugsteuerung ist normalerweise nicht möglich, da Momente extremer Nachfrage sowohl schwer zu simulieren als auch unerwartet kompliziert sind.

Die Entwicklung der Softwareentwicklung kann leicht als eine Reihe von Versuchen angesehen werden, Ansätze zu entwickeln, die sowohl eine genau definierte Aufgabe erfüllen als auch dies unter unerwartet hohen Belastungen tun können. Der Nachweis einer Architektur zur erfolgreichen Erzeugung der richtigen Ausgabe aus verschiedenen Mischungen von Eingaben ist wahrscheinlich eine vollständige NP-Situation, in der ein Korrektheitsnachweis möglich ist, die Testphase jedoch aufgrund kombinatorischer Standardexplosionen die des Universums überleben würde.

Wir haben also eine Reihe von Überarbeitungen des Entwurfs des Entwicklungsprozesses gesehen, bei denen versucht wurde, Spezifikationen für kleine Teile des Auftrags zu erstellen, diese selbst zu testen und sie dann zu testen, wenn sie in einen größeren Teil der endgültigen Systeme integriert sind. In den letzten 50 Jahren haben die relativen Größen von Komponenten und der Grad der Systemtests weiter zugenommen.

Die gestellte Frage bezieht sich auf Techniken, die die durchschnittliche Komponentengröße und -komplexität verringern und die Einfachheit der Testverfahren erhöhen. Das Vergeben von Namen für aufeinanderfolgende Moden des Entwicklungsprozesses bietet eine nützliche Möglichkeit, auf sie zu verweisen, ist jedoch sehr einfach, die Namen der Prozesse auf verschiedene und komplexere Teile des Prozesses zu übertragen. Normalerweise gehen neue Namen nicht weit, um die Probleme zu lösen, die aufgrund der Verwendung des neuen Namens und seiner Techniken offensichtlich wurden.

Ich denke, es ist am besten, sich eine der (neueren) Techniken anzusehen und zu sehen, was ihre Anwendung bietet. Nimm Agile. Das tägliche Gedränge mit winzigen Verpflichtungen von Einzelpersonen hält das Projekt, wenn nicht auf den Schienen, zumindest in ihrer Nähe. Das religiöse Üben regressiver Tests (jeder Fehler, der zu irgendeinem Zeitpunkt entdeckt wird, wird zu einem weiteren Element in der Testsuite und wird täglich wiederholt) ist frustrierend, teuer und absolut notwendig. Die Lieferung erfolgt inkrementell, wobei die Reihenfolge eher von der Nützlichkeit für den Benutzer als von der Logik des Entwicklungsprozesses abhängt.

Solche Überlegungen erhöhen die Kosten des Projekts, indem sie unvermeidliche zukünftige Kosten in die Gegenwart verschieben. Geld gut ausgegeben.

Jede der gängigen Entwicklungstechniken trägt zur Entwicklung und Verbesserung von Prozessen bei. Aber keine Technik kann den Erfolg garantieren.

Wenn ich über die damit verbundenen Frustrationen nachdenke, finde ich es nützlich, die Marinearchitektur im Auge zu behalten. Bei U-Booten zum Beispiel, bei denen die meisten Geräte nicht durch die Vordertür passen, müssen Sie bei Änderungen wahrscheinlich das Fahrzeug aus dem Wasser holen, ein großes Loch bohren und das neue Getriebe installieren. Dann müssen Sie das Loch verschweißen und deutlich machen, dass die neu geflickte Oberfläche nicht leckt


Antwort 4:

Das iterative Modell ist das Modell, bei dem zuerst ein einfacher Prototyp mit wenigen Funktionen erstellt wird. Danach werden mit jedem Entwicklungszyklus Funktionen hinzugefügt. Im Falle eines inkrementellen Modells können Sie die Entwicklungsphase in einem sich vorwärts bewegenden Stil direkt von der Projektkonzeption über das Design bis hin zur Entwicklung usw. durchlaufen. Schließlich werden verschiedene Entwicklungsmodelle in die agile Entwicklung einbezogen und folgen dem iterativen Ansatz selbst. Wenn Sie mehr über die Entwicklungsmethode erfahren möchten, lesen Sie diesen Artikel.