Zum Inhalt springen

SEO Analyse » SEO Lexikon » e » Entwicklungsstadium

EntwicklungsstadiumEine Software wird in verschiedenen Phasen erstellt. Der Software-Lebenszyklus umfasst diese Meilensteine, die von der Spezifikation bis zur Freigabe für den Markt bzw. für die firmeninterne Verwendung reichen. Eine andere Sicht auf den Softwareentwicklungsprozess ist das Entwicklungsstadium (Software), in Englisch auch der „Software release life cycle“ genannt. Dieser „Software release life cycle“ definiert seine eigenen Meilensteine, mit denen die Phasen der Programmierung abgeschlossen werden. Dabei steht zu jedem Meilenstein eine Version der Software zur Verfügung – mehr oder weniger ausgereift.

Der Softwarelebenszyklus – vom Entwurf bis zum Einsatz

Eine Software führt Funktionen aus. Doch was genau das zu entwickelnde Programm können soll, wird in der Planungsphase des Entwicklungsprozesses bestimmt. Im Pflichtenheft werden alle Anforderungen an die Software festgelegt. Der Planungsphase folgen die Analyse der Prozesse und Systeme sowie der Entwurf der Softwarearchitektur. In der Programmierungsphase wird das Konzept in der gewählten Programmiersprache implementiert. Dabei unterscheiden sich die Vorgehensmodelle der normierten, der strukturierten, der objektorientierten und der funktionalen Programmierung.

Nach Fertigstellung der Codierung des Programms wird in der Phase der Validierung und Verifikation der Prototyp der Software getestet. Dabei wird das Programm sowohl technisch als auch inhaltlich überprüft. Sind Funktionen fehlerhaft, fehlen sie ganz oder teilweise oder finden sich Mängel im Pflichtenheft, geht der Lebenszyklus in die entsprechende Phase der Programmierung bzw. der Planung zurück. Ist alles wie gewünscht, kann die Software eingeführt – das heißt dem Markt oder den Benutzern des Unternehmens -zur Verfügung gestellt werden. Nach der Inbetriebnahme wird die Software gewartet und gepflegt.

Der Software Release Life Cycle (Entwicklungsstadium (Software)), umfasst alle Phasen des klassischen Software-Lebenszyklus, klassifiziert die einzelnen Meilensteine jedoch nach der Phase, in der sich das Programmcoding befindet. Im Software Release Life Cycle (Entwicklungsstadium (Software)) kann das Softwareprodukt zu einem bestimmten Zeitpunkt etwa als Beta-Version vorliegen oder als Release für die Freigabe vorgesehen sein. Doch auch bei klassischer Betrachtung des Software-Lebenszyklus, treten spätestens in den Phasen der Softwareeinführung und der Wartungs- und Pflegephase die dem Entwicklungsstadium (Software) typischen Meilensteine in den Vordergrund.

Neue Features und der letzte Schliff im Entwicklungsstadium

Im Entwicklungsstadium (Software) wird das Produkt – das Programm – weiter verfeinert, verbessert und ausgebaut. Jede zusätzliche Entwicklung oder Änderung am Quellcode des Programms geht zurück in die Anfangsphasen des Software-Lebenszyklus und erfordert ein Pflichtenheft, das die Anforderungen der neuen Softwareversion spezifiziert.

Die Phasen bzw. Meilensteine im Lebenszyklus des Programms sind:

  • pre-Alpha (die entwicklerischen Freigaben der Version, Nightly Builds)
  • Alpha
  • Beta
  • Release Candidate (auch Gamma oder Delta Versionen)
  • Release (Release to Manufacturing, Release to Marketing)
  • GA (Allgemeine Verfügbarkeit)
  • Gold (Produktive Version im Unternehmen oder auf dem Markt etablierte Software, auch „Live Release“ genannt, oder auch produktive Lösung).

Wird eine neue Version einer Software erstellt, etwa um neue Funktionen hinzuzufügen oder eine andere Benutzeroberfläche bereitzustellen, so beginnt der Entwicklungszyklus erneut, und auch diese neue Version setzt ihren ersten Meilenstein mit der Fertigstellung der pre-Alpha-Version.

Aller Anfang ist schwer – die pre-Alpha-Version

Unter Pre-Alpha wird alles zusammengefasst, was zur Entwicklung gehört. Die Pre-Alpha-Version ist der Meilenstein für den ersten Entwurf der Software, der – zumindest in einigen Funktionen – getestet werden kann. Zur pre-Alpha-Entwicklung zählen allerdings auch auch die Anforderungen, die Analyse, das Design, die Entwicklung der Software sowie Tests der ersten Funktionen und Module. Die pre-Alpha-Version muss nicht alle Features der Entwicklung beinhalten. Die pre-Alpha-Version kann den zukünftigen Benutzern der Software einen ersten Eindruck vom Produkt vermitteln.

Die Alpha-Version wird kritisch betrachtet

Die Weiterentwicklung der pre-Alpha-Version zu einer Version, die bereits die wesentlichen Funktionen des Endprodukts enthält, wird auch Alpha-Version genannt. Die Alpha-Version kann bereits von Nicht-Entwicklern getestet werden, selbst wenn auch wichtige Funktionen noch vollständig fehlen können. Der Test der Alpha-Version soll insbesondere helfen, die Programmierfehler zu beseitigen, aber auch um die vorhandene Funktionalität zu beurteilen.

Mit dem Ende der Alpha-Phase erfolgt gleichzeitig ein „Feature Freeze„. Damit ist der Funktionsumfang des zukünftigen Softwareprodukts endgültig bestimmt und weitere Funktionalität kann nicht mehr aufgenommen werden.

Die mit der Null – die Beta-Version

Die Beta-Version der entwickelten Software ist meist noch immer nicht die 100-prozentige Abdeckung aller Anforderungen. Auch enthält sie unter Umständen noch gravierende Fehler. Doch die wichtigen Funktionen sind in der Beta-Version implementiert. Damit steht die Beta-Version für intensive Tests zur Verfügung. Die ersten anonymen Fremdtester nehmen die Beta-Version unter die Lupe und auch die Anwender versuchen erste Schritte im Umgang mit der Software. Gefundene Programmfehler, die auch schwerwiegender Art sein können, werden an die Entwicklungsabteilung zurückgemeldet. Die Versionsnummer einer Beta-Version enthält nach dem Dezimalpunkt meist eine 0 – zum Beispiel 1.0, 2.0 usw. Alternativ kann sie auch mit dem Zusatz „Beta“ veröffentlicht werden.

Der Beta-Test beinhaltet mehr als die reine Funktionalität des Programms. Es soll ein echter Praxistest sein, bei dem auch Konflikte mit anderen Programmen oder mit Hardwarekomponenten aufgedeckt werden. Auch wenn sie vor der endgültigen Freigabe des Releases nicht mehr behoben werden können, so werden die „Bugs“ (Fehler) doch dokumentiert und in einer der folgenden Versionen „gefixt“ (ausgebessert).

Da eine Software eigentlich niemals wirklich „fertig“ wird, sondern ständig mit neuen und erweiterten Funktionen ausgestattet werden muss, um so neue Hardwareentwicklungen, Treiber oder auch an neue Plattformen im Internet in die eigene Software zu integrieren, beschreibt der Ausdruck „Perpetual Beta“ dieses immer wiederkehrende Beta-Release einer Software.

Die volle Funktion – im Release Candidate

Der RC (Release Candidate) bzw. der Freigabekandidat enthält alles, was die Software leisten soll. Sämtliche Funktionen sind implementiert („feature complete„) und alle bekannten Fehler sind behoben. Dieses Pre-Release wird die Grundlage bilden für den abschließenden Produkt- und Systemtest, bei dem sowohl die Softwarequalität sichergestellt wird, aber auch weiter nach Fehlern gesucht wird.

Mit jeder Änderung am RC muss ein neuer RC erstellt werden, mit dem alle Tests wiederholt werden müssen. So entstehen die „Versionen“ des RC, die als RC1, RC2 usw. benannt werden. Wurde schließlich eine Version in der gewünschten Qualität fertiggestellt, wird das Suffic RCx entfernt und die erste zu veröffentlichende Version der entwickelten Software steht bereit. Manchmal gehen auch Gamma-Versionen aus dem Entwicklungsprozess hervor. Diese sind zwar verbesserte Beta-Versionen, aber noch nicht so umfassend getestet wie der Release Candidate.

Endlich – das Release

Mit ihrer Veröffentlichung im Unternehmen bzw. mit dem Eintreten der Marktreife wird die Software zum Release, was so viel wie „Freigabe“ bedeutet. Die Freigabe für die Benutzer oder für den Markt ist das Endergebnis des Entwicklungsprozesses, nicht jedoch das Ende des Software-Lebenszyklus bzw. des Entwicklungsstadiums (Software). Mit dem Freigeben der Software, dem Erstellen des Releases, wird die Versionsbezeichnung entsprechend angepasst. Die releaste Version der erstellten Software kann auch im Praxistest noch immer Fehler aufzeigen. Bei dringenden Fehlern, die nicht bis zum nächsten Release warten können, werden von den Herstellern Patches, Hotfixes oder Service Packs bereit gestellt.

Die General Availablity (GA, allgemeine Verfügbarkeit) macht die Software für den umfassenden und uneingeschränkten Praxiseinsatz bereit. Das Gegenteil der GA ist die kundenspezifische Version einer Software.
Die Gold-Version ist ein in der Praxis bewährtes Produkt, das kontinuierlich gepflegt wird und den Kunden in regelmäßigen Abständen mit zusätzlichen Features zur Verfügung gestellt wird.

Auch nach dem Kauf – der Support

Besonders bei Software, die erfolgreich auf dem Markt vertrieben wird, kann der Support des Herstellers Service Releases oder Service Packs herausgeben, die teilweise auch „interim releases„, übersetzt etwa Zwischenreleases, genannt werden. Für die 32-Bit-Version von Windows XP wurden etwa drei große Service Packs herausgegeben, die nicht nur Fehler behoben, sondern auch ganz neue Funktionen integrierten. Eine Software, die traditionell nach dem Verkauf einen umfangreichen Service bietet, ist die Anti-Virensoftware.

Zusammenfassung

Die Erstellung einer Software durchläuft mehrere Phasen und Meilensteine, die im Software-Lebenszyklus und Entwicklungsstadium definiert sind. Von der Planung und Spezifikation bis zur Markteinführung wird die Software in verschiedenen Stadien wie Pre-Alpha, Alpha, Beta und Release Candidate entwickelt und getestet.

Die Planungsphase bestimmt die Funktionen und Anforderungen der Software, die im Pflichtenheft festgelegt werden. Die Softwarearchitektur wird entworfen und die Implementierung erfolgt in der Programmierphase. Verschiedene Programmieransätze wie objektorientierte oder funktionale Programmierung können zum Einsatz kommen.

Nach der Programmierung folgt die Phase der Validierung und Verifikation, in der die Software sowohl technisch als auch inhaltlich getestet wird. Fehler oder Mängel führen zu einer Rückkehr in die vorherige Phase der Entwicklung. Ist die Software fehlerfrei und vollständig, erfolgt ihre Einführung und später ihre regelmäßige Wartung.

Im Laufe der Zeit werden neue Features hinzugefügt oder bestehende verbessert. Diese Änderungen erfordern ein aktualisiertes Pflichtenheft und beginnen einen neuen Lebenszyklus der Softwareentwicklung.

Ein fertiges Produkt ist selten endgültig; vielmehr handelt es sich um einen fortlaufenden Prozess, der Updates und Support erfordert. Hersteller bieten häufig Service-Releases oder Patches an, um Fehler zu beheben oder neue Funktionen hinzuzufügen.

Häufige Fragen und Antworten

Was ist der Softwarelebenszyklus?

Der Softwarelebenszyklus umfasst die verschiedenen Phasen der Softwareentwicklung, von der Spezifikation bis zur Freigabe für den Markt oder für die unternehmensinterne Verwendung.

Was ist das Entwicklungsstadium einer Software?

Das Entwicklungsstadium einer Software, auch „Software release life cycle“ genannt, beschreibt die verschiedenen Meilensteine und Phasen der Programmierung, in denen eine Version der Software verfügbar ist.

Welche Phasen umfasst das Entwicklungsstadium?

Das Entwicklungsstadium einer Software umfasst verschiedene Phasen wie Pre-Alpha, Alpha, Beta, Release Candidate und Release. Jede Phase repräsentiert einen bestimmten Entwicklungsstand der Software.

Bildnachweis: iStock.com/alvarez


Zurück zur Hauptseite: e
Alle Marken, Warenzeichen, Unternehmens- und Produkt-Bezeichnungen sind mit, aber auch ohne definitive Kennzeichnung, Eigentum des Inhabers der Rechte. Alle aufgeführten Elemente dienen lediglich der informativen Beschreibung.