| Software-Version | |||||
|
Bei der Softwareentwicklung werden verschiedene Versionen festgehalten und zum Testen rausgegeben. In den unterschiedlichen Entwicklungsstadien bis zum marktreifen Produkt durchläuft eine Software meist folgende Versionen: Alphaversion, Betaversion, Release Candidate (RC) und Final. Der Versionsstand wird auch als "Build" bezeichnet, die Veröffentlichung nennt man "Release". Eine Versionsnummer setzt sich im Allgemeinen wie folgt zusammen: Hauptversionsnummer . Nebenversionsnummer . Revisionsnummer - Buildnummer oder in Englisch: major_release . minor_release . patch level - build number, also beispielsweise 3.1.2-021 bedeutet, dass es sich um die Dritte Version mit der ersten Nebenversion und der zweiten Fehlerkorrektur bei Build 021 handelt. Die Archivierung verschiedener (Datei-)Versionen wird als Versionierung bezeichnet. Um im Software-Entwicklungsprozess die Kontrolle zu behalten werden die verschiedenen Versionsstände erfasst und mit einer Zeitsignatur und dem Entwickler-Name gekennzeichnet. Wichtig ist, dass die Entwickler auf der aktuellen Version arbeiten und dass bei paralleler Entwicklung an verschiedenen Modulen der Software alles korrekt zusammengeführt werden kann und Doppelentwicklungen vermieden werden. Bei grösseren Software-Projekten empfiehlt sich eine Versionsverwaltungssoftware: Version Control System (VCS) bzw. Source Code/Control Managementsystem (SCM). VCS-Systeme verwalten die Daten oft mit einem eigenen Dateiformat bzw. in einer Datenbank. Der zentrale Aufbewahrungsort wird als Repository bezeichnet. Bei jedem Archivierungsvorgang werden dabei nur die Änderungen zur Vorgängerversion gespeichert um Speicherplatz zu sparen. Jedoch ist der Zugriff auf den Quellcode dann nur über das VCS möglich. Solche Systeme sind dann oft als Client-Server-Systeme aufgebaut um den Zugriff über ein Netzwerk zu ermöglichen. VCS-Systeme haben unterschiedliche Speicher- und Freigabe-Philosophien: Lock-Modify-Write: die zu bearbeitenden Dateien werden vor den Änderungen durch den Benutzer gesperrt und danach wieder freigegeben. Damit wird verhindert, dass 2 Entwickler gleichzeitig an einer Datei arbeiten bzw. dass ein Entwickler nicht auf der aktuellen Version aufsetzt. Dieser Modus wird auch als Lock Modify Unlock bezeichnet. Die Methode nennt man Pessimistic Revision Control (Pessimistische Versionskontrolle). Die Methode Copy-Modify-Merge erlaubt es mehreren Entwicklern gleichzeitig an einer Datei zu arbeiten. Die Ergebnisse werden anschliessend zusammengeführt (Merge). Diese Methode erlaubt ein reibungsfreieres Arbeiten und funktioniert nach der Philosophie: Optimistic Revision Control (Optimistische Versionskontrolle). Vertreter dieser Methode ist das Concurrent Versions System (CVS). |
|||||
| Siehe auch: Alphaversion Beta-Version Release-Candidate software Repository Final | |||||