1、首先来看两款常见的软件的版本是什么样的。QQ6.9(13791),这就是目前我正在使用的QQ的版本,“QQ”是产品(软件)名字或代号,“6.9”是主版本号,“13791”是次版本号。关于版本是如何命名的,一会儿下面我会讲到。
2、再来看Outlook,“Microsoft Outlook 2013(15.0.4711.1000傧韭茆鳟) MSO(15.0.4711.1000)32位”,其中“Microsoft”和“Outlook”是软件(产品)的名字,“2013”是根据年限命名,“15.0.4711.10000”这一串是完整的版本号,“15是主版本”、后面的“0.4711.10000”则是次版本。每一款软件(产品)不同的命名方式由不同的公司决定,但都殊途同归,目的只有一个:方便软件(产品)开发和项目进度管理。
3、下面具体讲讲通用的软件(或者叫产品)的版本生成规则。首先看一个总图:
4、软件版本号由五部分组成,第一部分为软件产品名字,第二部分为主版本号(Version),第三部分为修订版本号(FixedbugsVersion),第四部分为发布版本号(分别为内侧版-Alpha,公测版-Beta,正式发布版Release,和紧急发布HotRelease)
5、软件版本号各阶段说明:· ProductName:软件名称,指XX公司所研发生产的软件的名称。软件名字和logo千奇百怪
6、· Version:此版本表示该软件的主版本号,通常包括所有的功能和页面布局,且页面中的功能都有完整的实现,是做为软件整体的一个基础架构。
7、测试和发布版本号又分为Alpha测试(内部测试)版本、beta测试(公开测试、公测)版本诋危族枧;发布版本分为release版本(正式版)、hotrelease叵萤茆暴(紧急发布版)。· Alpha: 软件的内部测试版本,表示该软件在此阶段以实现软件功能为主,通常只在软件研发测试内部交流,一般而言,该版本软件的Bug较多,需要继续修改,是测试版本。测试人员提交Bug经开发人员修改确认之后,发布到测试网址让测试人员测试,此时可将软件版本标注为alpha版。· Beta:软件的公测版本,此版本主要的待测版本在实验局。该版本相对于Alpha版已经有了很大的进步,消除了严重错误,但还需要经过多次测试来进一步消除。修改的Bug经测试人员测试确认后可发布到外网上,此时可将软件版本标注为beta版。· Release:该版本已经相当成熟了,基本上不存在导致错误的Bug,该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式的版本,是最终交付用户使用的一个版本。该版本有时也称标准版。· HotRelease:该版本是临时紧急交付用户使用的一个版本。该版本也许没有经过完整测试。
8、版本号修改规则:· (1)主版本号:当功能模块有较大的变动,比如增加模块或是整体架构发生变化。此版本号由项目决定是否修改。· (2)修订版本号:一般是Bug的修复或是一些小的变动或是一些功能的扩充,要经常发布修订版,修复一个严重Bug即可发布一个修订版。此版本号由项目经理决定是否修改。· (3)发布版本号:此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。
9、版本发布周期:· (1)非紧急情况:首先由测试人员测试并提交Bug,其次开发人员会尽量在当起修复Bug并在第二期发布该版本的alpha版,然后由测试人员测试验证关闭Bug之后在第三期会发布该版本的beta版。· 紧急情况:如果Bug比较紧急可跳过一般流程,由开发人员尽快修复Bug,测试确认之后直接发布该版本的beta版。
10、版本号修改举例说明:· 如有一个版本号为:dyc 外狒芙梨V001F085B ,则此时“B”为“beta”,是公开测试版本阶段。· (1)开发人员修复了测试人员提交的bug并经测试人乜蓑笤漶员测试验证关闭bug之后,发布到外网时,此时就进入了软件的下一个阶段,版本号“B(beta)”可改为“R(release)”:dyc V001F085R。· (2)如果修复了一些重大Bug并按照流程发布到测试网时就可发布一个修订版(F85->F86),如dyc V001F086B,日期为发布的当前日期。· (3)当功能模块有较大变动,增加模块或整体架构发生变化时要修改主版本号,如新增加了退款功能,则版本号(V001 -> V002)要改为:dyc V002F000B(上一级有变动时,下级要归零)。