重工电子论坛

?找回密码
?立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1347|回复: 3
打印 上一主题 下一主题

[经验] 关于软件版本命名规则

[复制链接]

16

主题

75

帖子

859

积分

版主

Rank: 7Rank: 7Rank: 7

积分
859
QQ
跳转到指定楼层
楼主
发表于 2017-5-25 11:45:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
关于软件版本命名规则

1.0? ? ? ? 版本控制介绍
通常版本控制是编程人员使用的,管理的是程序的代码,所以版本库首先就是个代码库。其次,每当代码有了修改,编程人员就会把修改后的代码再次提交到版本库中。一次一次的,版本库就记录下了整个项目的代码是如何一步步演化的。如果编程人员想看某段代码以前的样子,那么通过版本库,编程人员可以从中找到曾经这段代码的每一个演化步骤。
目前使用较多的版本控制工具有SVN和Git。SVN较Git要简单许多,没有复杂的命令,Git对分支和合并有更好的支持,不过想能更好使用它,需要花点时间。
版本控制也不仅仅是针对程序源码,一般的文件都可以使用版本控制工具来控制版本。
每次版本更替都必须准确地记录日期、作者、版本号和更改记录。

1.1? ? ? ? 版本命名规范
软件版本号有五部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版
本号,第四部分为希腊字母版本号,分别为alpha、beta 、RC 、 release,第五部分为存储版本号,如图1所示。
图 1版本号命名


1.2? ? ? ? 软件版本阶段说明
? ? ? ? 1.? ? ? ? alpha :软件的初级版本,表示该软件在此阶段以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改,是测试版本。测试人员提交Bug经开发人员修改确认之后,发布让测试人员测试,此时可将软件版本标注为alpha版。
? ? ? ? 2.? ? ? ? beta :该版本相对于Alpha 版已经有了很大的进步,消除了严重错误,但还需要经过多次测试来进一步消除,此版本主要的修改对象是软件。修改的Bug 经测试人员测试确认后可发布,此时可将软件版本标注为 beta版。
? ? ? ? 3.? ? ? ? RC:该版本已经相当成熟了,基本上不存在错误,与即将发行的正式版本相差无几,但是需要到用户端确认,例如算法是否适用等,此时可以标注为RC版。
? ? ? ? 4.? ? ? ? release:该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式的版本,是最终交付用户使用的一个版本。该版本有时也称标准版。

1.3? ? ? ? 版本号修改规则
? ? ? ? 1.? ? ? ? 主版本号:当功能模块有较大的变动,比如增加模块或是整体架构发生变化。此版本号由项目决定是否修改。
? ? ? ? 2.? ? ? ? 次版本号:相对于主版本号而言,次版本号的升级对应的只是局部的变动,但该局部的变动造成程序和以前版本不能兼容,或者对该程序以前的协作关系产生了破坏,或者是功能上有大的改进或增强。此版本号由项目决定是否修改。
? ? ? ? 3.? ? ? ? 修订版本号:一般是Bug 的修复或是一些小的变动或是一些功能的扩充,要经常发布修订版,修复一个严重 Bug 即可发布一个修订版。此版本号由项目经理决定是否修改。
? ? ? ? 4.? ? ? ? 希腊字母版本号:此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。
? ? ? ? 5.? ? ? ? 存储版本号:当软件需要保存,又不需要更替其他版本号的时候,可使用次版本号进行更替。此版本号由程序员决定是否修改。

1.4? ? ? ? 版本号修改举例说明
? ? ? ? 1.? ? ? ? 如此时版本号为:1.0.0_alpha ,起始存储版本号可以没有,此时为内部测试阶段,如果测试发现修复bug1,但仍然还有其他bug,版本号可改为1.0.0_alphaA。
? ? ? ? 2.? ? ? ? 开发人员修复了测试人员提交的bug并经测试人员测试验证关闭bug之后,发布时,此时就进入了软件的下一个阶段,版本号可改为:1.0.0_beta ,如在更改过程中,当前日期跟上一个版本号的功能有区别,版本号可改为:1.0.0_betaA。
? ? ? ? 3.? ? ? ? 如果修复了一些重大Bug 并按照流程发布时就可发布一个修订版,如1.0.1_beta。
? ? ? ? 4.? ? ? ? 如果对软件进行了一些功能上的改进或增强,进行了一些局部变动的时候要修改次版本号,如:1.1.0_beta(上一级有变动时,下级要归零)。
? ? ? ? 5.? ? ? ? 当功能模块有较大变动,增加模块或整体架构发生变化时要修改主版本号,则版本号要改为:2.0.0_beta 。
? ? ? ? 6.? ? ? ? 经过确认可以发布到客户端,则将版本号改为2.0.0_release,并存档发布。
? ? ? ? 7.? ? ? ? 若算法仍需要去到客户端确认,则将版本号改为2.0.0_RC,发布给客户并关注。

1.5? ? ? ? 特殊版本号
若需要专业针对某客户更改某些功能,正式版本却不能更改此功能的时候,开发者可根据实际需求,在当前正式版本号后添加一些与更改原因相关的字符串,大小写与正式版本号区别开。

15

主题

24

帖子

379

积分

学生管理组

Rank: 8Rank: 8

积分
379
沙发
发表于 2017-5-25 15:36:22 | 只看该作者
这个好??对于一些工程周期较长的项目来说,我的天,我的版本控制简直差得不忍直视,永远都是V1 V2

16

主题

75

帖子

859

积分

版主

Rank: 7Rank: 7Rank: 7

积分
859
QQ
板凳
?楼主| 发表于 2017-5-26 10:08:07 | 只看该作者
刘鑫-15电子 发表于 2017-5-25 15:36
这个好??对于一些工程周期较长的项目来说,我的天,我的版本控制简直差得不忍直视,永远都是V1 V2

百度的自己稍微改了下,有什么不同意见可以提出来一起探讨

14

主题

69

帖子

465

积分

学生管理组

Rank: 8Rank: 8

积分
465
QQ
地板
发表于 2018-1-3 20:45:23 | 只看该作者
赞一个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号 )?

GMT+8, 2019-10-23 11:57 , Processed in 0.138650 second(s), 32 queries .

Powered by Discuz! X3.1

? 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表