Konzept: Erstellung einer Referenzversion
Das Erstellen eines Referenzversion ist der Prozess, bei dem eine 'Momentaufnahme' einer Version eines Arbeitsergebnisses gespeichert wird, um einen Referenzpunkt zu haben, auf dem nachfolgende basieren und an dem nur autorisierte Änderungen vorgenommen werden können.
Beziehungen
Hauptbeschreibung

Definition

Eine Referenzversion ist eine 'Momentaufnahme', die von einer Version jedes Arbeitsergebnisses im Projekt-Repository gespeichert wird. Sie stellt einen offiziellen Standard dar, auf der alle nachfolgenden Arbeiten basieren und an der nur autorisierte Änderungen vorgenommen werden können. Nach der Erstellung einer ersten Referenzversion werden alle nachfolgend an einer Referenzversion vorgenommenen Änderungen als Delta aufgezeichnet, bis die nächste Referenzversion gespeichert wird.

Entwickler, die in ein Projekt einsteigen, füllen ihre Arbeitsbereiche mit Versionen von Verzeichnissen und Dateien, die von einer Referenzversion dargestellt werden. Im weiteren Arbeitsverlauf werden die Arbeiten, die Entwickler seit der Erstellung der letzten Referenzversion geliefert haben, in eine Referenzversion aufgenommen. Nachdem Änderungen in eine Referenzversion aufgenommen wurden, definieren Entwickler die neue Referenzversion als Basis, um mit den Änderungen im Projekt auf dem Laufenden zu sein. Beim Definieren der neuen Referenzversion werden Dateien aus dem Integrationsarbeitsbereich in den Entwicklungsarbeitsbereich gemischt.

Erläuterung

Die drei Hauptgründe für das Erstellen von Referenzversionen sind Reproduzierbarkeit, Rückverfolgbarkeit und Berichterstellung.

Reproduzierbarkeit ist die Fähigkeit, in der Zeit zurückzugehen und ein bestimmtes Release eines Softwaresystems oder eine Entwicklungsumgebung aus einem früheren Stadium des Projekts zu reproduzieren. Mit Rückverfolgbarkeit wird die Vorgänger/Nachfolger-Beziehung zwischen Arbeitsergebnissen eines Projekts hergestellt. Auf diese Weise wird sichergestellt, dass das Design die Anforderungen erfüllt, dass der Code das Design implementiert und dass die ausführbaren Programme aus dem richtigen Code erstellt werden. Die Berichterstellung basiert auf einem Vergleich der Inhalte von Referenzversionen. Der Vergleich von Referenzversionen hilft beim Debugging und beim Generieren von Release-Informationen.

Wenn Referenzversionen erstellt werden, müssen alle einzelnen Elemente und Referenzversionen so gekennzeichnet werden, dass sie eindeutig identifizierbar und reproduzierbar sind.

Das Erstellen von Referenzversionen hat mehrere Vorteile:

  • Eine Referenzversion stellt einen stabilen Ausgangspunkt dar und ist eine Momentaufnahme der entwickelten Arbeitsergebnisse.
  • Referenzversionen stellen einen stabilen Ausgangspunkt dar, auf dessen Basis neue Projekte erstellt werden können. Das neue Projekt kann als gesonderter Zweig damit von allen nachfolgenden Änderungen, die am Originalprojekt (Hauptzweig) vorgenommen werden, isoliert werden.
  • Einzelne Entwickler können Elemente aus der Referenzversion als Basis für Aktualisierungen in ihren eigenen isolierten Arbeitsbereichen verwenden.
  • Eine Referenzversion bietet einem Team die Möglichkeit, Änderungen rückgängig zu machen, falls die Aktualisierungen sich als instabil oder fehlerverdächtig erweisen.
  • Eine Referenzversion ist eine Möglichkeit, berichtete Programmfehler zu reproduzieren, sofern Sie die Konfiguration nach dem Build eines bestimmten Release neu erstellen können.

Verwendung

Referenzversionen sollten in regelmäßigen Abständen erstellt werden, um sicherzustellen, dass die Arbeiten der einzelnen Entwickler miteinander synchronisiert werden. Im Verlauf des Projekts sollten Referenzversionen jedoch routinemäßig am Ende von Iterationen (untergeordnete Meilensteine) und bedeutenden Meilensteinen am Ende der Lebenszyklusphasen erstellt werden:

  • Meilenstein 'Zielsetzungen des Lebenszyklus' (Konzeptionsphase)
  • Meilenstein 'Architektur des Lebenszyklus' (Ausarbeitungsphase)
  • Meilenstein 'Erste Betriebsbereitschaft' (Konstruktionsphase)
  • Meilenstein 'Produkt-Release' (Übergangsphase)


Weitere Informationen