Iteration ist der Vorgang des Wiederholens eines Prozesses, um eine Folge von Ergebnissen (möglicherweise unbegrenzt) zu erzeugen, mit dem Ziel, sich einem gewünschten Zweck oder Ergebnis zu nähern. Im Zusammenhang mit der Mathematik oder Informatik, Iteration (zusammen mit der verwandten Technik der Rekursion) ist ein Standard - Baustein - Algorithmen.
In der Computerprogrammierung ist die Iteration, die auch von der englischen Termschleife genannt wird, eine Steuerstruktur innerhalb eines Algorithmus, der ein gegebenes Problem löst und dem Computer befiehlt, eine Folge von Anweisungen wiederholt auszuführen, im Allgemeinen bis zum Auftreten von spezifische logische Bedingungen.
Es ist wichtig zu beachten, dass die Reihenfolge und Auswahl eine der drei Grundstrukturen für die algorithmische Lösung eines bestimmten Problems nach dem Böhm-Jacopini-Theorem bilden. Es gibt verschiedene Formen der Iteration. Am bekanntesten sind der MENTRE, der REPEAT und der PER. Man kann sagen, dass Iteration das starke Bindeglied der Programmierung ist, mit dem Sie die Leistung eines Prozesses automatisieren können, was nicht ausreicht, um einfach eine Folge von Anweisungen auszuführen.
Die sogenannte „Endlosschleife“ ist ein Fall von Iteration aufgrund eines Programmierfehlers, der die Ausführung des Programms stoppt, während in einigen Programmiertechniken, insbesondere mit Mikrocontrollern wird absichtlich zu iterieren stufenlos innerhalb des Programms verwendet.
In der Softwareentwicklung wird die Iteration verwendet, um einen heuristischen Planungs- und Entwicklungsprozess zu beschreiben, bei dem eine Anwendung in kleinen Abschnitten entwickelt wird, die als Iterationen bezeichnet werden. Jede Iteration wird vom Softwareteam und potenziellen Endbenutzern überprüft und kritisiert. Die Erkenntnisse aus der Kritik einer Iteration werden verwendet, um den nächsten Entwicklungsschritt zu bestimmen. Datenmodelle oder Sequenzdiagramme, die häufig zum Zeichnen von Iterationen verwendet werden, verfolgen, was versucht, genehmigt oder verworfen wurde, und dienen letztendlich als eine Art Blaupause für das Endprodukt.
Die Herausforderung bei der iterativen Entwicklung besteht darin, sicherzustellen, dass alle Iterationen kompatibel sind. Wenn jede neue Iteration genehmigt wird, können Entwickler eine als Backward Engineering bezeichnete Technik anwenden, bei der es sich um ein systematisches Überprüfungs- und Verifizierungsverfahren handelt, um sicherzustellen, dass jede neue Iteration mit den vorherigen kompatibel ist. Der Vorteil der iterativen Entwicklung besteht darin, dass der Endbenutzer in den Entwicklungsprozess involviert ist. Anstatt zu warten, bis die Anwendung ein Endprodukt ist und Änderungen nicht einfach vorgenommen werden können, werden Probleme in jeder Entwicklungsphase identifiziert und behoben. Iterative Entwicklung wird manchmal als zirkuläre oder evolutionäre Entwicklung bezeichnet.