Softwareversionierung

Wenn du schon einmal ein neues Programm auf deinem Computer installiert hast, sind dir bestimmt schon einmal die kryptischen Nummern hinter dem Programmnamen aufgefallen, z. B. 3.0.5.

Aber was bedeuten diese Nummern, die in der Fachwelt als Versionsnummern von Software bezeichnet werden? Was versteht man unter Versionen von Software und welche Informationen gibt die Versionsnummer über sie? Und welche Rolle spielen die Zusätze alpha und beta, die gelegentlich hinter den Nummern auftauchen?

simpleclub erklärt dir den Begriff Version, den Aufbau von Versionsnummern und wie du Änderungen zwischen zwei Versionen nachvollziehen kannst.

Softwareversionierung einfach erklärt

Während deiner Schulzeit oder in der Ausbildung hast du dir bestimmt schon öfter Bücher gekauft. In diesem Zusammenhang war es auch wichtig, welche Auflage des jeweiligen Buches die aktuellste ist. In einer neuen Auflage eines Buches werden Fehler in der vorherigen Auflage ausgebessert oder das ein oder andere Kapitel hinzugenommen. Manchmal werden Bücher sogar komplett neu überarbeitet, indem z. B. der Aufbau umgestellt und Kapitel neu angeordnet werden.

Genauso läuft es bei der Veröffentlichung von Software: Werden z. B. Fehler behoben, neue Funktionalitäten hinzugenommen oder sogar komplett neu geschrieben (z. B. in einer anderen Programmiersprache), veröffentlichen die Entwickler eine neue Version der Software. Um unterschiedliche Softwareversionen unterscheiden zu können, werden diese mit Versionsnummern versehen. Sie geben auf den ersten Blick an, wie signifikant die Änderungen in der neuen Version sind.

Kyra balanciert auf ihren Händen einen Stapel Bücher und einen Laptop, auf dessen Bildschirm ein Monitor zu sehen ist.

Definition Softwareversionierung

Als Softwareversion wird eine Ausführung einer Software genannt, bei der alle Komponenten vollständig entwickelt sind. Üblicherweise führen Fehlerkorrekturen oder die Hinzunahme neuer Funktionalitäten zur Veröffentlichung neuer Softwareversionen. Sie werden durch Versionsnummern voneinander unterschieden.

Die Vergabe von Versionsnummern wird als Versionierung bezeichnet.


Erklärung Softwareversionung

Aufbau von Versionsummern

Versionsnummern werden dazu verwendet, Softwareversionen zu benennen. Je neuer die Version, desto höher ist die Versionsnummer. Dadurch ist es möglich, den Verlauf der Veränderung von Software nachzuvollziehen.

Sie bestehen aus unterschiedlichen Stellen, welche durch einen Punkt oder Strich voneinander getrennt sind. Die Vergabe von Versionsnummern folgt einem eindeutigen Regelwerk, welches „semantische Versionierung“ (englisch Semantic Versioning) bezeichnet wird. Um eine Versionsnummer als solche zu kennzeichnen, wird sie oftmals durch „v." eingeleitet.

Eine Versionsnummer ist folgendermaßen aufgebaut:

Eine Versionsnummer besteht aus drei Teilen: Der Hauptversion, der Unterversion und der Patchversion. Optional kann sie noch ergänzt werden, z. B. durch die Begriffe Alpha, Beta, RC, Release und Patch.

Die Haupt-, Unter- und Patchversionsstellen der Nummer bestehen aus ein oder mehreren Ziffern. Werden sie bei der Veröffentlichung einer neuen Version erhöht bedeutet dies jeweils unterschiedlich starke Veränderungen:

Stelle

Beschreibung

  1. Hauptversion (englisch Major)

Sehr starke Veränderungen in der Software, z. B. da der Code neu geschrieben wurde oder Schnittstellen zu anderen Programmen nicht mehr funktionieren.

  1. Unterversion (englisch Minor)

Kleinere Änderungen durch Hinzunahme neuer Funktionalitäten.

  1. Patchversion (auch Patch, deutsch Flicken)

Sehr kleine Änderungen, meist Fehlerbehebungen oder kleine Funktionalitätserweiterungen.

  1. Ergänzungen

Optionale Ergänzungen zur genaueren Beschreibung der Version.

Typische Ergänzungen sind beispielsweise:

  • Alpha: Die Software befindet sich noch in einem sehr frühen Stadium der Entwicklung
  • Beta: Die Version ist nur zum Testen vorgesehen und kann nur von einem begrenzten Anwenderkreis genutzt werden.
  • Release: Die letzte Version innerhalb einer Haupt- oder Unterversion. Bei der nächsten Version wird die Haupt- oder Unterversion erhöht
  • Release Kandidat (RC): Die letzte Version innerhalb einer Beta-Version. Die nächste Version wird für alle Anwender zur Verfügung gestellt.
  • Patchlevel: Ist in der Regel eine vom Nutzer dringend benötigte Fehlerbehebung, die viel kleiner als die Korrekturen in der Patchversion sind.

Bei der Veröffentlichung einer neuen Version wird die entsprechende Stelle der Versionsnummer um eins erhöht. Die obige Versionsnummer 2.05.08 sagt also aus, dass innerhalb der zweiten Hauptversion fünf Unterversionen veröffentlicht wurden. In der fünften Unterversion wurden acht Patches eingeführt.

Beim Hochzählen der Stellen gibt es zwei Besonderheiten zu beachten:

  • Wird eine Stelle erhöht, werden alle Stellen rechts davon wieder auf 0 gesetzt. Wird beispielsweise nach der Version 2.3.4 eine neue Hauptversion veröffentlicht, ist die Nummer der neuen Version 3.0.0.
  • Erwarten die Entwickler die Veröffentlichung vieler Unter- und Patchversionen, ist es üblich, diese Stellen zweistellig zu besetzen. Beispielsweise folgen nach der (einstelligen) 0 in der Patchversion 01, 02 und so weiter. Nach 09 folgen 10, 11 und so fort. Ansonsten sind einstellige Stellen die Regel.
Tippe auf die Pfeile, um die Versionsnummer hochzuzählen.

Grundsätzlich können die Stellen einer Versionsnummer beliebig oft hochgezählt werden. Eine Beschränkung wie im obigen Beispiel existiert also nicht.

Changelog

Änderungen zwischen zwei Versionen werden im Changelog (deutsch Änderungsprotokoll) festgehalten. Du kannst dir das vorstellen wie bei einer neuen Auflage eines Buches, bei dem im „Vorwort zur neuen Auflage“ Änderungen aufgezählt werden. Im üblicherweise englischsprachigen Changelog werden mittels Signalwörtern die Änderungen erfasst:

Signalwort

Beschreibung

Added (deutsch hinzugefügt)

Neue Funktionen wurden hinzugenommen.

Changed (deutsch geändert)

Funktionen wurden geändert.

Fixed (deutsch behoben)

Fehler wurden korrigiert.

Deprecated (deutsch veraltet)

Warnung, dass bestimmte Funktionen in zukünftigen Versionen entfernt werden.

Removed (deutsch entfernt)

Veraltete Funktionen wurden aus dieser Version entfernt.

Security (deutsch Sicherheit)

Sicherheitskritische Probleme sind aufgedeckt oder behoben worden.

In einer Liste werden die Änderungen, die mit jeder neuen Version eingeführt wurde, festgehalten. Die neueste Version steht dabei ganz oben.

Softwareversion vs. Prototyp

Vielleicht sind dir zwischen der Version und dem Prototypen einer Software ein paar Parallelen aufgefallen: Bei beiden werden nach und nach Fehler behoben, Funktionen hinzugefügt oder Teile der Software neu geschrieben. Das kann auf den ersten Blick eine Verwechslungsgefahr bergen.

Allerdings unterscheiden sich die beiden Begriffe in paar Punkten fundamental:

Softwareversion

Prototyp

Für den Einsatz und Installation bei Kunden gedacht.

Nur für interne Zwecke im Entwicklerteam, z. B. um Kunden gewisse Funktionalitäten vorzuführen.

Alle vorgesehenen Funktionalitäten sind in der Regel vollständig implementiert. Ergänzungen sind aber möglich.

Es werden bewusst nur bestimmte Funktionalitäten implementiert, um die grobe Funktionsweise der Software zu zeigen.


Beispiele von Versionsnummern

Versionsnummern sind für die Vermarktung von Software nicht besonders attraktiv, da nicht jeder die Bedeutung der Stellen kennt oder meist auch nur die Hauptversion von Interesse ist. Daher haben sich Firmen verschiedene Wege einfallen lassen, wie sie stattdessen unterschiedliche Versionen öffentlich kennzeichnen.

Statt technisch motivierten Versionsnummern werden beispielsweise folgende Versionsbezeichnungen verwendet:

  • Zeitpunkte der Veröffentlichung, wie Jahreszahlen oder Kombinationen aus Jahr und Monat, z. B. Microsoft Office 2000 oder Ubuntu-Linux 6.04 (für April 2006)
  • Kombinationen aus Zahlen und Buchstaben, z. B. Adobe Photoshop CS2
  • Codenamen, z. B. Mac OS X Panther oder Windows Vista
  • Systematisches Überspringen von Versionsnummern, z. B. Sprung von Windows 8 auf Windows 10, um eine deutliche Weiterentwicklung zu unterstreichen.

Zusammenfassung Softwareversionierung

Eine Ausführung einer Software wird in der Fachsprache als Softwareversion bezeichnet. Um unterschiedliche Versionen unterscheiden zu können, werden sie mit Versionsnummern versehen. Diese bestehen aus verschiedenen Stellen, welche folgendermaßen lauten:

  1. Hauptversion
  2. Unterversion
  3. Patchversion
  4. Ergänzung (optional)

Wird eine neue Version veröffentlicht, wird eine der Stellen hochgezählt. Welche Stelle hochgezählt wird, hängt von der Stärke der Veränderung ab.

Änderungen zwischen zwei Versionen werden im Changelog festgehalten.

Aus Marketinggründen werden Versionen offiziell nicht immer mit der technisch motivierten Versionsnummer versehen. Stattdessen werden beispielsweise Datumsangaben oder Codenamen verwendet.

No items found.

simpleclub ist am besten in der App.

Mit unserer App hast du immer und überall Zugriff auf: Lernvideos, Erklärungen mit interaktiven Animationen, Übungsaufgaben, Karteikarten, individuelle Lernpläne uvm.

Jetzt simpleclub Azubi holen!

Mit simpleclub Azubi bekommst du Vollzugang zur App: Wir bereiten dich in deiner Ausbildung optimal auf deine Prüfungen in der Berufsschule vor. Von Ausbilder*innen empfohlen.

Jetzt simpleclub Azubi holen