Versionierung von Software

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Die Versionierung einer Software kann man ja folgendermaßen aufbauen:

<Hauptversionsnummer>.<Nebenversionsnummer>.<Revisionsnummer>.<Buildnummer>

2.3.5.0041

bedeutet z.B., dass es sich um die 2. Version eines Programms, in der 3. Nebenversion mit der 5. Fehlerkorrektur, Build 0041 handelt.

Mir ist nun nicht so klar, was mit der vierten Stelle 0041 (dem Build) gemeint ist. Hierzu ein paar Fragen.

1.)
Wann wird das BUILD nach oben gezählt? Immer dann, wenn der Code neu compiliert wird? Streng genommen müßte ja dann bei jedem Compiliervorgang von Eclipse das BUILD nach oben gezählt werden. Wenn ich Eclipse so eingestellt habe, dass immer dann wenn gespeichert wird auch compiliert wird, dann würde das BUILD ja ständig nach oben gezählt. Ist das so korrekt?

2.)
Mal angenommen ich füge der Version 2.3.5.0041 eine neues features hinzu. Wird die Version dann auf 2.4.0.0 oder auf 2.4.0.0041 gesetzt. Wird der BUILD überhaupt zurückgesetzt oder wird dieser immer nur nach oben gezählt?
 

HLX

Top Contributor
Mit dem Kompilieren des Codes hat das nichts zu tun. Du kannst deinen Code z.B. in Eclipse auch automatisch kompilieren lassen. Ein BUILD ist eine verwendbare Zusammenstellung deines Softwareproduktes, in deinem Fall mit der Version 2.3.5. Stellst du in diesem BUILD beim Testen noch Fehler fest, korrigierst du es und erstellst neues BUILD und inkrementierst die BUILD-Nummer. Auf BUILD-Ebene werden i.d.R. keine Features hinzugefügt sondern nur noch Korrekturen durchgeführt. Ein neues Feature geht bei dir in die 2.3.6.0001 oder 2.4.0.0001 (BUILD-Nummern werden nicht von der Vorgängerversion übernommen).
 
G

Guest

Gast
Laut wikipedia ist das aber anders. Da wird erklärt, dass das BUILD nie zurückgesetzt wird:

* Eine Hauptversionsnummer (major release) indiziert meist äußerst signifikante Änderung am Programm – z. B. wenn das Programm komplett neu geschrieben wurde (z. B. GIMP 1.x nach 2.x) oder sich bei Bibliotheken keine Schnittstellenkompatiblität aufrechterhalten lässt.

* Eine Nebenversionsnummer (minor release) bezeichnet meistens die funktionelle Erweiterung des Programms.

* Eine Revisionsnummer (patch level) enthält meist Fehlerbehebungen.

* Die Buildnummer (build number) kennzeichnet in der Regel den Fortschritt der Entwicklungsarbeit in Einzelschritten, wird also z. B. bei 0001 beginnend mit jedem Kompilieren des Codes um eins erhöht. Version 5.0.0-3242 stünde also für das 3242. Kompilationsprodukt einer Software.
 

tfa

Top Contributor
Da steht "meist", "meistens", "in der Regel". Es gibt kein Gesetz, das die Versionierungsnummern vorschreibt. Das kann jedes Projekt halten wie es will - hauptsache es ist irgendwo beschrieben. In meinem Projekt gibt es z.B. überhaupt keine veröffentlichte Build-Nummer.
 

ms

Top Contributor
Die Buildnummer hängt nicht direkt mit der Versionsnummer zusammen. Sie beschreibt den Buildvorgang selbst.
Die Versionsnummer dagegen beschreibt die implementierten Features oder gefixten Bugs.
Als Buildnummer kann auch ein Timestamp verwendet werden, damit man zwei Builds voneinander unterscheiden kann.
Die Versionsnummer wird eigentlich unabhängig vom Build vergeben. Zb wird festgelegt, dass in Version 2.4.0 diese und jene Features implementiert werden. Es könnte ein SVN-Branch für diese Version gezogen werden um nur dort die Features zu implementieren. Damit existiert diese Version schon bevor irgendwas compiliert wird.
Zugeordnet wird die Versionsnummer zu einem Build logischerweise nach dem Build zB. als Tag im CVS/SVN.
In meinem aktuellen Projekt gibt es auch keine Buildnummer.

ms
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Eclipse Versionierung - SVN nachfrage Java Basics - Anfänger-Themen 2
R Versionierung Java Basics - Anfänger-Themen 2
I Kommunikation "normaler PC" mit lokaler Software an "Cloud Service" und umgekehrt Java Basics - Anfänger-Themen 15
H software entwicklung Java Basics - Anfänger-Themen 139
B Email Client in der eigenen Software einbauen Java Basics - Anfänger-Themen 3
M JDK installieren Welche Software bei XP? Java Basics - Anfänger-Themen 5
S3CR3T Architektur der Software Java Basics - Anfänger-Themen 6
Mxxxt UML Software Java Basics - Anfänger-Themen 2
B Serial Key - Prüfung ob Software gekauft Java Basics - Anfänger-Themen 1
D Software per ssh downloaden und installieren Java Basics - Anfänger-Themen 2
A Software zum Umrechnen römischer Zahlen Java Basics - Anfänger-Themen 10
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
B Allgemein Frage zur Software Entwicklung Java Basics - Anfänger-Themen 3
OnDemand Software-Design Java Basics - Anfänger-Themen 1
B [Projekt] CyberCafé Software Java Basics - Anfänger-Themen 13
F Gültigkeitszeitraum von Software beschränken Java Basics - Anfänger-Themen 17
J Hosting Software Java Basics - Anfänger-Themen 2
A Welche UML Software benutzt ihr / ist empfehlenswert? Java Basics - Anfänger-Themen 2
F software engeneering --> dokumentation??! Java Basics - Anfänger-Themen 6
J Software problem unter VISTA Java Basics - Anfänger-Themen 3
K GUI Builder Software ? Java Basics - Anfänger-Themen 6
G Java Software Tuner Java Basics - Anfänger-Themen 6
G Software Updates in Eclipse Java Basics - Anfänger-Themen 11
E software concept erstellen! Java Basics - Anfänger-Themen 4
N software die sich als hardware ausgibt? Java Basics - Anfänger-Themen 6
M Java-Software so anbieten, dass sie leicht zu starten ist Java Basics - Anfänger-Themen 16
D Java Software zeigen nichts mehr an Java Basics - Anfänger-Themen 2
A Good articles about software component technology? Java Basics - Anfänger-Themen 2
X Java Versionen und Software-Paketnamen Java Basics - Anfänger-Themen 4
N Welche software hab ich eigentlich ? Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben