Entwicklungsstadium (Software)

Ausprägungsstufe einer Software im Prozess der Softwareentwicklung
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Februar 2007 um 18:59 Uhr durch Avron (Diskussion | Beiträge) (Text nach Versionsnummer vesrchoben, aufgeräumt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Als Versionierung bezeichnet man in der Software-Entwicklung die Archivierung alternativer Dateiversionen. In diesem Zusammenhang kann es sich um eine alte Dateiversion, aber auch um eine alternative nahezu gleichwertige Dateiversion handeln, die beispielsweise Bestandteil eines neuen Entwicklungszweigs ist. Sinn und Zweck ist die Möglichkeit, vorige Versionsstände wiederherzustellen und Änderungen zurücknehmen zu können.

Verschiedene Stadien der Versionierung sind Alpha-Version, Beta-Version, Release Candidate (Freigabekandidat, Gamma-Version)

Alpha-Version

Die erste lauffähige Version eines Computerprogrammes wird oft Alpha-Version genannt. Obwohl der Begriff nicht exakt definiert ist, enthält in der Regel eine Alpha-Version bereits einige wichtige Bestandteile des Softwareprodukts – es ist aber fast unerlässlich, dass in späteren Versionen der Funktionsumfang noch erweitert wird.

Insbesondere enthalten Alpha-Versionen oftmals viele Programmfehler.

Beta-Version

Eine Beta-Version ist eine unfertige Version eines Computerprogramms, während dieser Zeit befindet sich das Programm in der Beta-Phase oder auch im Beta-Stadium.

Häufig sind Beta-Versionen die ersten Versionen eines Programms, die vom Hersteller zu Testzwecken veröffentlicht werden.

Der Begriff ist nicht exakt definiert, als Faustregel zur Abgrenzung einer Beta-Version von anderen Versionen gilt in der Regel, dass zwar alle wesentlichen Funktionen des Programms implementiert, aber noch nicht vollständig getestet sind und das Programm daher vermutlich noch Fehler enthält. Geht man davon aus, dass alle oder der größte Teil der Fehler beseitigt sind, wird die Software manchmal Release Candidate genannt.

Beta-Versionen von Programmen sind in der Regel an der 0 als Hauptversionsnummer – diese Variante gilt natürlich nur für die Beta-Versionen vor der ersten fertigen Version (1.0) – oder dem Namenszusatz Beta (bzw. β) zu erkennen, z. B. v0.12 β (siehe Versionsnummern).

Betatester

Betatester sind Personen, die eine Software, welche sich im Beta-Stadium befindet, auf Programmfehler überprüfen. Sie stehen dabei im Kontakt mit den Softwareherstellern, so dass die gefundenen Fehler vor dem Release beseitigt werden können.

Diese noch unvollständige Software bekommen in der Regel nur vom Softwarehersteller ausgewählte Personen. Zu deren Auswahl gibt es verschiedene Möglichkeiten:

  • Interessierte Anwender können sich per Internet für den Beta-Test anmelden, wobei aber nur eine bestimmte Zahl von Betatestern per Los bestimmt wird.
  • Der Softwarehersteller stellt die Betaversion einem kleinen Kreis von Anwendern, beispielsweise einzelnen Angestellten wichtiger Kunden, zur Verfügung.
  • Die Betatester sind ausschließlich Angestellte der Firma.

Der Nutzen eines Betatests für den Hersteller ist, dass Fehler, die typischerweise erst in der Praxis auftreten, wie zum Beispiel Konflikte mit anderen Programmen oder Probleme mit bestimmten Hardwarekomponenten, schon vor dem Release des Programms erkannt und behoben werden können.

Allerdings ist ein öffentlicher Beta-Test für den Softwarehersteller auch problematisch, da die Kontrolle über die (unerlaubte) Weitergabe von Betaversionen an weitere Personen nur schwer möglich ist und so bei einem größeren Kreis potenzieller Anwender ein falscher Eindruck von der Software entstehen kann. Kommerzielle Produkte werden daher in der Regel nicht für einen öffentlichen Betatest freigegeben.

Community Technology Preview

Auf der PDC 2005 kündigte Bill Gates im Rahmen eines sogenannten Community Technology Preview (CTP) speziell für das kommende Windows Vista eine zusätzliche neue Art von Testversionen an. Geplant ist eine in etwa monatlichen Abständen folgende CTP-Version, welche weniger als Testversion als solche gedacht ist, sondern vielmehr Softwareentwicklern die jeweils aktuelle Version von Windows Vista abliefern soll. Das erste Produkt, von dem Microsoft CTP-Versionen erzeugte, war Visual Studio 2005. Seitens Microsoft gibt es für CTP-Versionen keine Unterstützung.

Perpetual Beta

Ein Begriff, der beschreibt, dass sich in Bezug auf die ständige Entwicklung des Internets auch Websites und Software kontinuierlich weiterentwickeln und somit nie wirklich fertig sind. Somit ist ein immerwährender Entwicklungszustand eingetreten, das "Perpetual Beta". Entstanden als Schlagwort innerhalb des Web 2.0-Konzeptes, das dem Extreme Programming-Konzept Continuus Integration Rechnung trägt.

Release Candidate (auch Gamma Status genannt)

Ein Release Candidate (RC) oder Freigabekandidat ist eine abschließende Testversion einer Software. Darin sind alle Funktionen, die die endgültige Version der Software enthalten soll, schon verfügbar (sogenannter feature complete). Der Release Candidate wird vor der Veröffentlichung der endgültigen Version erstellt, um einen abschließenden Produkttest oder Systemtest durchzuführen. Dabei wird die Qualität der Software überprüft und nach verbleibenden Programmfehlern gesucht.

Treten gravierende Fehler auf oder wird auch nur eine Kleinigkeit geändert, muss ein weiterer Release Candidate erstellt werden und die Tests werden wiederholt. Die Release Candidates werden daher auch oft nummeriert (RC1, RC2, usw.). Erfolgen keine weiteruen Änderungen und hält ein Release Candidate schließlich die geforderten Qualitätsstandards ein, so wird der Suffix RCx entfernt und damit die Version als Release erklärt und veröffentlicht.

Release (auch Final)

Die fertige und veröffentlichte Version einer Software wird als Release oder auch Final bezeichnet. Damit geht ein Hochzählen der Versionsnummer einher.

Siehe auch: Release to Manufacturing, Gold-Status

Fehlerbehebung nach Veröffentlichung

Um Fehler in bereits veröffentlichter Software zu beheben, geben Softwarehersteller sogenannte Hotfixes, Patches und Service Packs heraus. Bei vielen modernen Anwendungen und Betriebssystemen können diese dann direkt in elektronischer Form über das Internet bezogen werden.

Versionierung im E-Business

Die Versionierung (hier meist Versioning genannt) gilt auch als eine Methode der Individualisierung (Produktdifferenzierung, Preisdifferenzierung usw.) im E-Business. Der Produzent bietet verschiedene Qualität/Versionen eines E-Produktes zu verschiedenen Preisen an. Dazu werden diejenigen Merkmale des Produktes herausgearbeitet, die von den Kunden hinsichtlich des Nutzens unterschiedlich bewertet werden. Entsprechend dieser Bedarfe und der Preisbereitschaften der Kundengruppen ergeben sich die optimalen Produktversionen, um das Ziel der Selbstselektion der Konsumenten nach ihrer Zahlungsbereitschaft zu erreichen.

Siehe auch