标题：软件版本号
命名风格和管理策略
1.GNU 风格主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] 
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 
示例 : 1.2.1, 2.0, 5.0.0 build-13124 
管理策略：
1．项目初版本时，版本号可以为 0.1 或 0.1.0, 也可以为 1.0 或 1.0.0，如果你为人很低调，我想你会选择那个主版本号为 0 的方式； 
2．当项目在进行了局部修改或 bug 修正时，主版本号和子版本号都不变，修正版本号加 1； 
3. 当项目在原有的基础上增加了部分功能时，主版本号不变，子版本号加 1，修正版本号复位为 0，因而可以被忽略掉； 
4．当项目在进行了重大修改或局部修正累积较多，而导致项目整体发生全局变化时，主版本号加 1； 
5．另外，编译版本号一般是编译器在编译过程中自动生成的，我们只定义其格式，并不进行人为控制。 2.Windows 风格主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]] 
Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]] 
示例: 1.21, 2.0 
管理策略：
1．项目初版时，版本号为 1.0 或 1.00； 
2. 当项目在进行了局部修改或 bug 修正时，主版本号和子版本号都不变，修正版本号加 1； 
3. 当项目在原有的基础上增加了部分功能时，主版本号不变，子版本号加 1，修正版本号复位为 0，因而可以被忽略掉； 
4. 当项目在进行了重大修改或局部修正累积较多，而导致项目整体发生全局变化时，主版本号加 1； 
5. 另外 , 编译版本号一般是编译器在编译过程中自动生成的，我们只定义其格式，并不进行人为控制。 
另外，还可以在版本号后面加入 Alpha、Beta、Gamma、Current、RC (Release Candidate)、Release、Stable 等后缀，在这些后缀后面还可以加入1 数字的版本号。对于用户来说，如果某个软件的主版本号进行了升级，用户还想继续那个软件，则发行软件的公司一般要对用户收取升级费用；而如果子版本号或修正版本号发生了升级，一般来说是免费的。 3..Net Framework 风格主版本号.子版本号[.编译版本号[.修正版本号]] 
Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]] 
版本号由二至四个部分组成：主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选的；内部版本号和修订号是可选的，但是如果定义了修订号部分，则内部版本号就是必选的。所有定义的部分都必须是大于或等于 0 的整数。 应根据下面的约定使用这些部分： 
Major ：具有相同名称但不同主版本号的程序集不可互换。例如，这适用于对产品的大量重写，这些重写使得无法实现向后兼容性。 
Minor ：如果两个程序集的名称和主版本号相同，而次版本号不同，这指示显著增强，但照顾到了向后兼容性。例如，这适用于产品的修正版或完全向后兼容的新版本。 
Build ：内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。 Revision ：名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。 [1]
测试版与演示版
α版此版本表示该软件仅仅是一个初步完成品，通常只在软件开发者内部交流，也有很少一部分发布给专业测试人员。一般而言，该版本软件的bug较多，普通用户最好不要安装。β（beta）版该版本相对于α版已有了很大的改进，消除了严重的错误，但还是存在着一些缺陷，需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布，用户可从相关的站点下载。通过一些专业爱好者的测试，将结果反馈给开发者，开发者们再进行有针对性的修改。该版本也不适合一般用户安装。γ版该版本已经相当成熟了，与即将发行的正式版相差无几，如果用户实在等不及了，尽可以装上一试。RC版（发布候选版）Release Candidatem,含义是"发布候选版"，它不是最终的版本，而是最终版(RTM=Release To Manufacture)之前的最后一个版本。广义上对测试有三个传统的称呼：alpha、beta、gamma，用来标识测试的阶段和范围。alpha 是指内测，即现在说的CB，指开发团队内部测试的版本或者有限用户体验测试版本。beta 是指公测，即针对所有用户公开的测试版本。然后做过一些修改，成为正式发布的候选版本时叫做gamma，现在叫做RC（Release Candidate）。trial（试用版）试用版软件在最近的几年里颇为流行，主要是得益于互联网的迅速发展。该版本软件通常都有时间限制，过期之后用户如果希望继续使用，一般得交纳一定的费用进行注册或购买。有些试用版软件还在功能上做了一定的限制。unregistered未注册版与试用版极其类似，只是未注册版通常没有时间限制，在功能上相对于正式版做了一定的限制，例如绝大多数网络电话软件的注册版和未注册版，两者之间在通话质量上有很大差距。还有些虽然在使用上与正式版毫无二致，但是动不动就会弹出一个恼人的消息框来提醒你注册，如看图软件acdsee、智能陈桥汉字输入软件等。demo版也称为演示版，在非正式版软件中，该版本的知名度最大。demo版仅仅集成了正式版中的几个功能，颇有点像unregistered。不同的是，demo版一般不能通过升级或注册的方法变为正式版。 
以上是软件正式版本推出之前的几个版本，α、β、γ可以称为测试版，大凡成熟软件总会有多个测试版，如windows 98的β版，前前后后将近有10个。这么多的测试版一方面为了最终产品尽可能地满足用户的需要，另一方面也尽量减少了软件中的bug。而trial、unregistered、demo有时统称为演示版，这一类版本的广告色彩较浓，颇有点先尝后买的味道，对于普通用户而言自然是可以免费尝鲜了。
正式版
不同类型的软件的正式版本通常也有区别。release该版本意味“最终释放版”，在出了一系列的测试版之后，终归会有一个正式版本，对于用户而言，购买该版本的软件绝对不会错。该版本有时也称为标准版。一般情况下，release不会以单词形式出现在软件封面上，取而代之的是符号?，如windows nt? 4.0、ms-dos? 6.22等。registered很显然，该版本是与unregistered相对的注册版。注册版、release和下面所讲的standard版一样，都是软件的正式版本，只是注册版软件的前身有很大一部分是从网上下载的。standard这是最常见的标准版，不论是什么软件，标准版一定存在。标准版中包含了该软件的基本组件及一些常用功能，可以满足一般用户的需求。其价格相对高一级版本而言还是“平易近人”的。deluxe顾名思义即为“豪华版”。豪华版通常是相对于标准版而言的，主要区别是多了几项功能，价格当然会高出一大块，不推荐一般用户购买。此版本通常是为那些追求“完美”的专业用户所准备的。reference该版本型号常见于百科全书中，比较有名的是微软的encarta系列。reference是最高级别，其包含的主题、图像、影片剪辑等相对于standard和deluxe版均有大幅增加，容量由一张光盘猛增至三张光盘，并且加入了很强的交互功能，当然价格也不菲。可以这么说，这一版本的百科全书才能算是真正的百科全书，也是发烧友们收藏的首选。professional专业版是针对某些特定的开发工具软件而言的。专业版中有许多内容是标准版中所没有的，这些内容对于一个专业的软件开发人员来说是极为重要的。如微软的visual foxpro标准版并不具备编译成可执行文件的功能，这对于一个完整的开发项目而言显然是无法忍受的，若客户机上没有foxpro将不能使用。如果用专业版就没有这个问题了。enterprise（企业版）企业版是开发类软件中的极品（相当于百科全书中的reference版）。拥有一套这种版本的软件可以毫无障碍地开发任何级别的应用软件。如著名的visual c++的企业版相对于专业版来说增加了几个附加的特性，如sql调试、扩展的存储过程向导、支持as/400对ole db的访问等。而这一版本的价格也是普通用户无法接受的。如微软的visual studios 6.0 enterprise中文版的价格为23000元。其他版本除了以上介绍的一些版本外，还有一些专有版本名称。 
update（升级版）
升级版的软件是不能独立使用的，该版本的软件在安装过程中会搜索原有的正式版，如果不存在，则拒绝执行下一步。如microsoft office 2000升级版、windows 9x升级版等等。 
oem版 
oem版通常是指捆绑在硬件中而不单独销售的版本,将自己的产品交给别的公司去卖，保留自己的著作权，双方互惠互利，一举两得。 
单机（网络）版 
网络版在功能、结构上远比单机版复杂，如果留心一下软件的报价，你就会发现某些软件单机版和网络版的价格相差非常大，有些网络版甚至多一个客户端口就要加不少钱。 
普及版 
该版本有时也会被称为共享版，其特点是价格便宜（有些甚至完全免费）、功能单一、针对性强（当然也有占领市场、打击盗版等因素）。与试用版不同的是，该版本的软件一般不会有时间上的限制。当然，如果用户想升级，最好还是去购买正式版。
软件版本号订定规则
软件版本编号订定是指为软件设定版本号码的方式。通常，版本号码会以数字订定，但亦有不同的方式。1 小数这是最常用的一种订定方式。大部份软件的版号都是用此方法去计算。一个以此方式来订定编号的例子如：2.4。通常订定规则为：major.minor(.build)
major是最大的版本编号，minor为其次，某些软件可能再细分作build，为更小的版本编号。
通常，正式版的版本编号为“1.0”。1.0以下的版本（0.x）为测试版，代表仍有一些重大错误（bugs），未正式推出。
在新版本推出时，应更新major、minor或是build（如有）的版号，决定于变更的大小。当有极大的更新时，会增加major的版号。而当有大更新，但不至于更新major时，会更新minor的版号。若更新比较小，例如只是除虫（bug fixing），则会更新build的版号。以下是一个例子：
1.0→1.0.1→1.0.2→1.1→1.1.1→2.0→2.1→2.1.1→3.0→…以上例子中，1.0至1.0.1至1.0.2、1.1至1.1.1、2.1至2.1.1都是小更新；1.0.2至1.1、2.0至2.1都是较大的更新；而1.1.1至2.0和2.1.1至3.0则是重大更新。
有时，小数版本号码后面会有“a”、“b”、“rc”等字样，代表某版本的测试版。“a”、“b”、“rc”分别代表“alpha”、“beta”和“release candidate”。例如“2.0a”是2.0的alpha测试版，接着可能发布“2.0b”，是2.0的beta测试版。跟着，又可能出现“2.0b2”，代表2.0的第2个beta测试版。当beta测试完结后，又可能推出“2.0rc1”、“2.0rc2”两个版本，分别代表2.0的第一和第二个release candidate测试版。当一切测试结束后，就会有“2.0”正式版。1.1 实例只有major和minor的软件有如MediaWiki。当MediaWiki发布1.9版本后，下一个版本是1.10。
Mozilla Firefox的3.x版本有major、minor和build。例如其中两个版本为3.0和3.0.1。而Firefox的2.x版本更有四个数字，此时版本结构改为major.minor.maintenance.build。例如Firefox 2.x的其中一个版本为2.0.0.14。2 日期除了依照版本发布次序逐个数以外，软件版本编号亦有可能使用日期。例如版本“20080101”代表该版本于2008年1月1日发布。通常日期的排列方法会是“YYYY-MM-DD”，因为这样做的好处是，当电脑排序时，可以自动分辨哪个是较旧或较新的版本。有时候，版本编号更会由小数和日期结合，即是类以1.5.20080101等方式。。。2.1 实例使用小数和日期结合的版本编号软件，例如Firefox的其中一个扩充套件“IE Tab”的其中一个版本编号为1.5.20080823。
而Ubuntu亦是采用日期的订定版本编号方式，但却看起来像以普通小号订定。例如Ubuntu 8.04版本代表该版本于2008年4月发布。事际上，由于Ubuntu并非每个月发布，因此版本编号会跳序。而一年只有12个月，所以亦没有像6.13这样的版本。3 年份有些软件，尤其不会在一年中出版两次的软件会使用年份作版本编号。例如2003版代表该软件于2003年发布。有时软件亦采用两字的年份缩写，例如以04代表2004年。3.1 实例微软的很多产品都以此方式订定版本编号。例如Windows 95、Windows 2000、Microsoft Office 2007等。
MATLAB通常一年中释出两个版本，自2006年后以“R”+四位年份+“a”或“b”的方式区分。例如MATLAB R2011a、MATLAB R2011b等。4 数学常数有些软件采用数学常数来进行订定版本编号。具体方法为先选定一个数学常数，每个新版本都距离该数学常数更近。例如选用圆周率的软件，其版本应为3、3.1、3.14、3.141、……4.1 实例TeX选定的数学常数为π。而METAFONT选定的数学常数则为e。5 英文缩写有些软件采用英文缩写来为版本制定编号。5.1 实例Macromedia于2004年推出Flash MX。Adobe收购Macromedia后，为其推出之后续版本为Flash CS2，当中“CS”代表Creative Suite。
Windows有两个版本采用英文缩写作版本编号，分别是Windows Me和Windows XP。“Me”代表“Millennium”（千禧年）或“me”（自己）；“XP”代表“experience”（体验），当读出experience时，读音像读出x和p。
Ubuntu于2008年4月推出8.04 LTS版本。Ubuntu将长期为8.04版本提供技术支持。支持时间最少为三年。LTS是Long Term Support的英文缩写，意为长期支持。6 特别注意事项有一些特别要注意的地方6.1 混合使用有些软件会混合使用各种版本编号订定方式，即不同的版本分别采用不同的订定方式。
例如Windows，曾采用普通小数方式（Windows 1.0至Windows 3.11），年份（Windows 95、Windows 98、Windows 2000），缩写（Windows Me、Windows XP）和英文字（Windows Vista）。6.2 两个版本编号有些软件会同时拥用两个版本编号，即是以两种不同的订定方式，赋予同一个版本两个编号。
例如Windows：Windows 95亦即Windows 4.0，Windows 98亦即Windows 4.10，Windows Me亦即Windows 4.90，Windows 2000亦即NT 5.0，Windows XP亦即NT 5.1，Windows Vista亦即NT 6.0，Windows 7亦即NT 6.1。6.3 小数版本序号跳序有些软件的小数版本序号可能会出现跳序。此处“跳序”是指同一个软件，两个相邻的使用小数版本序号的版本，并不是major、minor或build其中一个值相差1。
例如Simutrans自2005年的major版本序号为86.x、88.x、89.x、99.x、100.x。当中86至88和89至99出现了跳序。
除此以外，还有软件会因为“不幸运数字”（例如4、13）的原因而跳序。