Logiciel versioning
Le logiciel de versioning est le processus d'assigner les noms uniques de version de ou les nombres de version uniques de aux états uniques du logiciel . Dans une catégorie donnée de nombre de version (commandant, mineurs), ces nombres sont généralement assignés dans l'ordre croissant et correspondent aux nouveautés dans le logiciel. À un niveau à grain fin, la commande de révision de est employée souvent pour maintenir incrémentalement différentes versions de données informatisées, si cette information est réellement logiciel.
Arrangements versioning de logiciel
Une série d'arrangements de numérotation de version ont été créés pour maintenir différentes versions d'un morceau de logiciel. L'ubiquité des ordinateurs a également mené à ces arrangements étant employés dans les contextes en dehors du calcul.
Numérique
Dans l'arrangement versioning du logiciel le plus commun, les différents dégagements importants du logiciel chacun reçoivent une marque numérique unique. Ceci est typiquement exprimé en tant que trois nombres, séparés par des périodes, telles que la version 2. Une structure très généralement suivie pour ces nombres est :Dans la plupart de logiciel commercial, la première version libérée d'un logiciel a la version 1. Nombres en-dessous de 1 alpha moyen ou versions du bêtas , c., versions pour l'essai ou l'utilisation interne, ou les versions qui ne sont pas assez stables pour le déploiement général ou pratique. En principe, dans les dégagements suivants, le nombre du commandant de est augmenté quand il y a des sauts significatifs dans la fonctionnalité, le le nombre que mineur de est incrémenté quand seulement des dispositifs mineurs ou les difficultés significatives ont été ajoutés, et le nombre de la révision de est incrémenté quand les bogues mineurs sont fixes. Un produit typique pourrait employer les numéros 0.9 (pour le bêta logiciel), 0. peut parfois sauter (par exemple) la version 5.5 pour indiquer que des dispositifs significatifs ont été ajoutés, mais pas asse'à la garantie incrémentant le nombre de version principal.
Il y a parfois un quatrième, le nombre non publié qui dénote la construction de logiciel (comme employé par Microsoft ). Quelques compagnies incluent également la date de construction. Les nombres de version peuvent également inclure des lettres et d'autres caractères, tels que le dégagement 1a du lotus 1-2-3 .
Une approche différente est d'employer le commandant de et le mineur numérote, avec une corde alphanumérique dénotant le type de dégagement, bêta » ou « de dégagement candidat » c. de « alpha », « . Un train de dégagement using cette approche pourrait ressembler à 0.0b2 (avec quelques difficultés), (avec plus de difficultés) le == 1.0rc1 (qui, si c'est stable assez de ).0rc1 s'avère avoir des bogues qui doivent être fixes, il se transforme en 1.0rc2, et ainsi de suite. La caractéristique importante de cette approche est que la première version (bêta, RC, production) d'un de niveau donné doit être le identique de à la dernière version du dégagement au-dessous de elle : vous ne pouvez apporter aucune modifications du tout du bout bêtas au premier RC, ou du dernier RC à la production. Si vous faites, vous devez dérouler un autre dégagement à ce niveau plus bas.
C'est de permettre à des utilisateurs (ou à des adopteurs potentiels) d'évaluer combien d'essai réel une construction donnée de code a subi réellement. Si des modifications sont apportées entre par exemple 1.3rc4 et le dégagement de production de 1.3, alors ce dégagement, qui affirme qu'il a eu un niveau de production-catégorie de l'essai dans le monde réel, contient en fait les changements qui n'ont pas été nécessairement examinés dans le de monde réel à tout le . Cette approche permet généralement le niveau de la numérotation (" ; change" ;), mais n'applique pas ce niveau de rigueur aux changements de ce nombre : 1.
Il y a deux écoles de pensée concernant la façon dont des nombres de version numériques sont incrémentés : La plupart des paquets du logiciel gratuit traitent des nombres comme jet continu, donc un produit de logiciel gratuit ou de source ouverte peut avoir les numéros de version 1. Un exemple d'un tel progiciel est MediaWiki . Cependant, une petite minorité de programmes, en particulier programmes de fermé-source pour Windows ou d'autres plates-formes, des nombres de version de festin d'une autre manière, et peut avoir des nombres de version tels que 1. quoique que le numéro 91 de 1.91 est 90 nombres à partir du numéro 9 dans 1.9, dans des progiciels using cette manière de la numérotation 1.91 est la prochaine version après 1. Le nombre de programmes de logiciel gratuit ou de source ouverte using cette deuxième manière de la numérotation de version est petit.
Il y a également deux variations de la façon dont le quatrième nombre (construction) est séparé du reste de la corde de version. Dans la plupart des projets de logiciel, les versions entrent comme 2. (un exemple est Iceweasel / Firefox ), où la construction est séparée par un point juste comme les autres nombres. Cependant, une petite minorité de programmes ne séparent pas la construction du tout, ayant pour résultat des cordes comme 1. Un exemple de cette numérotation particulière de version est concepteur d'Umbrello UML de et l'utilité de compression du 7zip .
Là existent quelques projets qui emploient des nombres de version négatifs. Un exemple est le compilateur de smalleiffel qui a commencé à partir de -1.0 et compte vers le haut à 0.0, et est actuellement à -0.77
L'arrangement de numérotation standard de version de GNU est major.revision, mais le Emacs emploie notamment un autre arrangement où la 1 version principale a été abandonnée et un " ; site" d'utilisateur ; la révision a été ajoutée qui est met toujours dedans les paquets originaux d'emacs mais a été augmentée par des distributeurs. Un autre exemple est le CMS de FarCry.
Date
Le projet du vin a employé un arrangement versioning de date, qui emploie l'année suivie du mois suivi du jour du dégagement ; par exemple, " ; Vin 20040505" ;. Le vin est maintenant sur un " ; standard" ; libérer la voie ; la version la plus en cours en date du 14 septembre , 2007, est 0.45 utilisation du Linux d'Ubuntu de par arrangement-Ubuntu versioning semblable 7.04, par exemple, a été libéré l'avril 2007.En employant des dates dans par exemple des noms versioning de dossier, employer l'arrangement d'OIN : YYYY-MM-DD, en tant que ceci est facilement corde assortie à l'ordre croissant. Vous pouvez omettre les traits d'union.
Le nombre de la construction de Microsoft est réellement une date codée.
Année de dégagement
D'autres exemples, identifiant des versions par année (illustrateur 88 d'Adobe de , bureau WordPerfect 2003 de )
Codes alphanumériques < ! -- expliquer ? -->
Exemples :MX instantané de Macromedia
Adobe Photoshop CS2
TeX
Le TeX a un système de numération idiosyncratique de version. Depuis la version 3, des mises à jour ont été indiquées en ajoutant un chiffre supplémentaire à l'extrémité, de sorte que le asymptotiquement de nombre de version approche le π . La version en cours est 3. C'est une réflexion du fait que TeX est maintenant très écurie, et seulement des mises à jour mineures sont prévues. Le Donald Knuth de réalisateur de TeX a déclaré que le " ; " absolument final de changement (être fait après ma mort) ; être de changer le nombre de version en π, lequel au point tous les bogues restants deviendront les dispositifs permanents.D'une manière semblable, le nombre de version du METAFONT approche asymptotiquement le e .
Apple
Apple a une structure formalisée de nombre de version basée autour du struct de NumVersion, qui spécifie un ou une version principale à deux chiffres, une version mineure à un chiffre, une version à un chiffre de « bogue » (c. révision), un indicateur d'étape (tiré le développement d'ensemble/du prealpha, de l'alpha, de bêta et finale/dégagement), et un un-byte (c. ayant des valeurs dans la gamme 0-255) pré-libèrent la version, qui est seulement employée aux étapes avant la finale. En écrivant ces nombres de version comme cordes, la convention est d'omettre toutes les pièces après la version mineure dont la valeur sont zéro (le « final » étant considéré l'étape zéro), ainsi l'écriture 1.
D'autres arrangements
Quelques arrangements d'utilisation de producteurs de logiciel différents pour dénoter des dégagements de leur logiciel. Par exemple, le Microsoft Windows du système d'exploitation a été marqué la première fois avec des nombres de version numériques standard ( Windows 1.11 ), puis par les années (Windows 95 , Windows 98 , Windows 2000 ), ensuite qui using des codes alphanumériques ( Windows je , Windows Xp ), et maintenant using des noms ( Windows Vista ). Le projet de Debian emploie arrangement versioning important/mineur pour des dégagements de son du système d'exploitation, mais emploie des noms de code du Toy Story de film pendant le développement pour se rapporter aux dégagements d'écurie, instables et d'essai. < ! -- FIXME avec plus d'informations exactes et de noms de code réels de Debian -->
Nombres de version internes
Le logiciel peut avoir un " ; internal" ; le nombre de version qui diffère du nombre de version montré dans le nom de produit (et ce qui suit typiquement la numérotation de version ordonne plus uniformément).0, par exemple, a le nombre de version interne de 1.0, et les versions de Windows de 95 dessus ont continué les versions numériques standard intérieurement : Windows 95 est Windows 4.
Pré-libérer les versions
En même temps que les divers arrangements versioning énumérés ci-dessus, un système pour dénoter pré-libèrent des versions est généralement employé, car le programme fait sa voie par les étapes du cycle de vie de révision de logiciel . Des programmes qui sont à une partie s'appellent souvent le " ; alpha" ; logiciel, après la première lettre dans l'alphabet grec. Après qu'ils mûrissent mais ne soient pas encore prêts pour le dégagement, ils peuvent s'appeler le " ; beta" ; logiciel, après la deuxième lettre dans l'alphabet grec. Le logiciel d'alpha et de bêta-version est souvent donné les versions numériques plus moins de 1 (tel que 0.9), pour suggérer leur approche vers un " public ; 1. Cependant, si pré-libérer la version est pour un progiciel existant (par exemple version 2.5), puis un " ; a" ; ou " ; alpha" ; peut être apposé au nombre de version. Ainsi l'alpha version du dégagement 2.5 pourrait être identifiée comme 2. Les progiciels qui doivent bientôt être libérés comme version particulière peuvent porter que l'étiquette de version a suivi du " ; rc-#" ; , indiquant le nombre du candidat de dégagement. Quand la version est libérée réellement, le " ; rc" ; l'étiquette disparaît.
Modifications au système numérique
Versions impaires pour des dégagements de développement
Vers le haut de jusqu'à la série 2.x, le grain du Linux a employé des nombres de version mineurs impairs du pour dénoter des dégagements de développement et des nombres de version mineurs du même pour dénoter des dégagements d'écurie. Par exemple, le Linux 2.3 était une famille de développement de la deuxième conception de commandant du grain de Linux, et le Linux 2.4 était la famille stable de dégagement dans laquelle le Linux 2. Après que le nombre de version mineur au grain de Linux soit le nombre de dégagement, dans l'ordre croissant ; par exemple, Linux 2. Encore autre, un nombre de version insignifiant a été ajouté à 2.1 qui a dénoté une modification très mineure. Ce quatrième nombre a été rendu standard depuis 2.
Apple
Apple a eu leur propre torsion sur cette habitude pendant l'ère du MaOS classique : bien qu'il y ait eu les dégagements mineurs, ils ont rarement dépassé 1, et quand ils ont fait, ils deux fois ont sauté directement à 5, suggérant un changement d'intermédiaire de grandeur entre un dégagement important et mineur (ainsi, 8.5 vraiment moyens « huit et une moitié », et 8.6 est « huit et demi de point un "). L'ordre complet des versions (négligeant des dégagements de révision) est 1.Le Mac de OS x a opposé cette tendance, étant allé plus par convention de 10.5, un dégagement mineur à la fois. Cependant, noter que la mise à jour du 10.10 oppose l'approche précédent-indiquée de avoir un " ; une ou principale version à deux chiffres, une version mineure à un chiffre, un à un chiffre " de version de « bogue » (c. Bogue-fixer la valeur n'est pas un indicateur décimal, mais est une valeur entière par accroissement ; tandis qu'on ne le prévoit pas, il n'y aurait rien empêchant un " d'éloigné-futur ; 10.321" ; dégagement.
Signification politique des nombres de version
Version 1.0 comme étape importante
De programmateurs de logiciel le début commercial souvent à la version 1 pour le premier dégagement d'un programme et incrémentent le nombre de version principal avec chaque réécriture, signifiant qu'un programme peut atteindre la version 3 dans quelques mois du développement, avant qu'on le considère même stable ou fiable.Contrairement à ceci, la communauté du libre-logiciel tend à employer la version 1.0 comme étape importante importante, indiquant que le logiciel est " ; complete" ; , cela il a tous les dispositifs importants, et est considéré assez fiable pour le dégagement général.
Dans cet arrangement, le nombre de version approche lentement 1.0 pendant que de plus en plus les bogues sont fixes en vue du dégagement 1. Les réalisateurs du MAME ne prévoient pas pour libérer une version 1.0 de leur programme d'émulateur. L'argument est que ce ne sera vraiment jamais " ; finished" ; parce qu'il y aura toujours plus de version 0.99 des jeux électroniques a été simplement suivie de la version 0.100 (version mineure 100 > 99).
Pour décrire l'histoire de programme
Le Winamp a libéré une architecture entièrement différente pour la version 3 du programme. En raison du manque de la compatibilité ascendant avec des connexions et d'autres ressources de la version 2 principale, on a publié une nouvelle version qui était compatible avec la version 2 et 3. La nouvelle version a été placée à 5 (2+3), sautant version 4.Une chose semblable s'est produite avec UnixWare 7, qui était la combinaison d'UnixWare 2 et d'OpenServer 5.
Suivre des concurrents
Il y a une habitude commune dans l'industrie commerciale de logiciel (habituellement, bien que pas toujours, jeté par les programmeurs non-commerciaux) pour faire des sauts de commandant dans des nombres de version importants ou mineurs numériques pour les raisons qui ne semblent pas (à beaucoup de membres de l'assistance du programme) mériter le " ; marketing" ; nombres de version.Ceci peut être vu dans plusieurs produits de Microsoft et d'America Online, aussi bien que Sun Solaris et numérotation de machine virtuelle de Java, des nombres de version de SCO Unix, et mot de Corel parfait, aussi bien que le progiciel de rad de DB de filePro, qui est allé de 2.0, et est sur le point d'aller à 5.6, sans le dégagement intervenant. Une version légèrement différente peut être vue dans le logiciel de client du PC d'AOL, qui tend à avoir seulement les dégagements importants (5. De même, le Microsoft Access a sauté de la version 2.0, pour assortir le nombre de version de Microsoft Word .
Microsoft a également été la cible du « rattrapage » versioning, avec la version sautante du navigateur de Netscape 5 6, en conformité avec le Internet Explorer de Microsoft, mais également parce que la version héritée 5 de progiciel d'application de Mozilla dans sa corde de l'agent d'utilisateur pendant le développement pre-1.x a été établie sur la base du code de Mozilla.
Le Java de Sun a parfois eu un système hybride, où le nombre de version réel a toujours été 1. X mais deux fois a été lancé sur le marché par la référence seulement au X :
JDK 1.0 (" ; Java 2" ;) par 1.0 (" ; Java 5" ;)
Java 1.0 (" ; Java 6" ;)
Sun a également laissé tomber le premier chiffre pour le Solaris, où le Solaris 2.9) désigné sous le nom du Solaris 8 (ou 9) en matériaux de vente.
Un autre exemple de suivre des concurrents est quand le Linux de Slackware a sauté de la version 4 à la version 7 de 1999. (FAQ de Slackware)
Superstition
Le dégagement stable courant du Microsoft Office a la version le numéro interne 12. La prochaine version du logiciel sera la version 14, due aux raisons superstitieuses entourant le le numéro 13 .
Surmonter des difficultés perçues de vente
Dans le milieu des années 90, le rapidement croissant CMMS , Maximo , déplacé de la série 3 de Maximo directement à la série 5, aux séries sautantes 4 dues aux difficultés perçues de la vente de ce nombre sur le marché chinois, où prononciation du numéro 4 (四 ) dans des rimes chinoises avec la « mort » ou « échec ». Ceci, cependant, n'a pas arrêté la version 4.0 de la série 5 de Maximo étant libérée. (Il devrait noter le " ; Series" ; on a depuis laissé tomber versioning, remettant à zéro effectivement des nombres de version après que le dégagement de la version 1.)
Signification dans la technologie de la programmation
Des nombres de version sont employés en pratique par le consommateur, ou le client , en pouvant comparer leur copie du logiciel contre une autre copie, telle que la plus nouvelle version libérée par le réalisateur. Pour l'équipe ou la compagnie de programmeur, versioning est employé souvent sur une base de dossier-par-dossier, où différentes parties ou secteurs de l'intégrer dans le logiciel sont comparés et contrastés à de plus nouvelles ou plus anciennes révisions, souvent dans un système de contrôle de collaboration de version de . Il n'y a aucun schéma absolu et défini de version de logiciel ; il peut souvent varier du genre de logiciel au genre, et est très généralement basé sur la préférence personnelle du programmeur.
Signification dans le support technique
Les nombres de version permettent des personnes fournissant l'appui pour s'assurer le exactement quel code un utilisateur court, de sorte qu'elles connaissent quels bogues pourraient affecter un problème, et semblable. Ceci se produit quand un programme a une communauté d'utilisateur substantielle, particulièrement quand cette communauté est assez grande que les personnes fournissant le support technique sont le pas les personnes qui ont écrit le code.
Nombres de version pour des dossiers et des documents
Quelques systèmes de fichier électronique de , tel que le système de fichiers d'OpenVMS de , gardent également des versions pour des dossiers.Versioning parmi des documents est relativement semblable à la routine utilisée avec des ordinateurs et la technologie de la programmation, où avec chaque petit changement de la structure, le contenu, ou les conditions, le nombre de version est incrémenté par 1, ou une plus petite ou plus grande valeur, encore selon la préférence personnelle de l'auteur et la taille ou l'importance des modifications apportées.
Systèmes de commande de nombre de version
Les nombres de version évoluent très rapidement des nombres entiers simples (1.2,…) aux nombres raisonnables (2.10) et puis au " non-numérique ; numbers" ; comme le 4:3. Ces nombres de version complexes donc mieux sont traités comme chaînes de caractères. Les logiciels d'exploitation qui incluent des équipements de gestion de paquet (tels que tout le Linux non trivial ou distributions de schéma ) emploieront un algorithme distribution-spécifique pour comparer des nombres de version de différents progiciels. Par exemple, les algorithmes de commande de Red Hat et des distributions dérivées diffèrent à ceux du Debian-comme des distributions.Comme exemple du comportement de commande étonnant d'exécution de nombre de version, dans le Debian , de principaux zéros sont ignorés dans les morceaux, de sorte que 5.5 soient considérés comme égale, et le 5. Ceci peut confondre des utilisateurs ; les outils corde-correspondants peuvent pour trouver un nombre de version donné ; et ceci peut causer les bogues subtiles dans la gestion de paquet si l'utilisation de programmeurs corde-indexait des structures de données telles que les tables de brouillage répertoriées parnombre.
Afin de soulager assortissant, quelques progiciels représenteront chaque composant de l'arrangement du major.release avec une largeur fixe. Le Perl représente ses nombres de version pendant qu'un nombre à point mobile, par exemple, dégagement du 5.7 du Perl peut également être représenté comme 5. Ceci permet à une version théorique de 5.10 d'être représentée en tant que 5. D'autres progiciels emballeront chaque segment dans une largeur fixe de peu, par exemple, le 5.7 pourrait être représenté dans 24 bits : ( 5 << 16 | 8 << 8 | 7 ). L'arrangement à point mobile décomposera le cas échéant le segment du nombre de version dépasse 1.000 ; un arrangement emballer-binaire utilisant 8 bits la pièce après 256.
Utilisation dans d'autres médias
des nombres de version de Logiciel-modèle peuvent être employés dans d'autres médias, jouant sur des associations des nombres de version avec la technologie. Les exemples incluent :Le DVD d'édition spéciale de Deux-Disque des X-Hommes de a été libéré comme X-Hommes de 1.
libres de phase de ou meurent dur ont été libérés comme meurent dur 4.0 en dehors de l'Amérique du Nord.
Le titre du Tron de de jeu d'ordinateur 2.0 implique que les jeux électroniques) de cinéma (ou précédents le Tron de était la version 1.
Le groupe de rock album de s deuxième d'ordures le le 'est autorisé la version de 2.
La version révisée de de David Gerrold de de son original de quand HARLIE était un était la version intitulée 2.
Magiciens des cachots et des dragons libérés par côte 3.5 de pour démontrer que les changements cruciaux de règles s'étaient produits, mais pas aussi significatifs qu'un nombre de nouvelle édition a été justifié. Ceci a fait se rapporter rétroactivement beaucoup au " ; Books" noir ; de la 2ème édition cachots et dragons avancés comme version 2.0 se rapportant à l'Internet comme utilisé dans des projets de collaboration tels que le Wikis et les sites Web sociaux de gestion de réseau de
Voir également
Cycle de vie de révision de logiciel Commande de révision de
Gestion de cycle de vie de produit de
Technologie de la programmation
.
| Random links: | Martini (cocktail) | L'Armée de l'Air du Bangladesh | Screwtinized | 310th Aile de bombe | Software_versioning |