关于版本号的总结

简介:

版本号(version number)是版本的标识号。每一个操作系统(或广义的讲,每一个软件)都有一个版本号。版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。 每一个版本号可以分为主版本号与次版本号两部分。

命名格式

例如:DOS4.0,主版本号是4,次版本号是0。
版本控制比较普遍的 3 种命名格式 :

 

GNU 风格版本号

主版本号 . 子版本号 [. 修正版本号 build- [编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例1:1.2
示例2:1.2.0
示例3:1.2.0 build-1234


Windows 风格版本号

主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例1:1.2.0.1234


Net Framework 风格版本号

主版本号.子版本号[.编译版本号[.修正版本号]]
英文对照: Major_Version_Number.Minor_Version_Number[.Build_Number[.Revision_Number]]


版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号主版本号和次版本号是必选的内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的

所有定义的部分都必须是大于或等于 0 的整数。
应根据下面的约定使用这些部分:
Major :具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性。
Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。
Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。
程序集的只有内部版本号或修订号不同的后续版本被认为是先前版本的修补程序 (Hotfix) 更新。

 

管理策略
GNU 风格的版本号管理策略

1.项目初版本时,版本号可以为 0.1 或 0.1.0,也可以为 1.0 或 1.0.0,如果你为人很低调,我想你会选择那个主版本号为 0 的方式 ;
2.当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1;
3.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉 ;
4.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1;
5.另外,编译版本号一般是编译器在编译过程中自动生成的,我们只定义其格式,并不进行人为控制 .
Window 下的版本号管理策略

1.项目初版,版本号为 1.0 或 1.00;
2.当项目在进行了局部修改或 bug 修正时,主版本号和子版本号都不变,修正版本号加 1;
3.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加 1,修正版本号复位为 0,因而可以被忽略掉 ;
4.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1;
5.另外,编译版本号一般是编译器在编译过程中自动生成的,我们只定义其格式,并不进行人为控制 .
另外,还可以在版本号后面加入 Alpha,Beta,Gamma,Current,RC (Release Candidate),Release,Stable 等后缀,在这些后缀后面还可以加入 1 位数字的版本号 .
对于用户来说,如果某个软件的主版本号进行了升级,用户还想继续那个软件,则发行软件的公司一般要对用户收取升级费用 ; 而如果子版本号或修正版本号发生了升级,一般来说是免费的 .

 

版本命名规范

  软件版本号由四部分组成,第一个1为主版本号,第二个1为子版本号,第三个1为阶段版本号,第四部分为日期版本号加希腊字母版本号,希腊字母版本号共有5种,分别为:base、alpha、beta、RC、release。例如:1.1.1.051021_beta。

版本号定修改规则:

o    主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。

o    子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。

o    阶段版本号(1):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。

o    日期版本号(051021):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。

o    希腊字母版本号(beta):此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。此版本号由项目决定是否修改。

 

3.  文件命名规范

 文件名称由四部分组成:第一部分为项目名称,第二部分为文件的描述,第三部分为当前软件的版本号,第四部分为文件阶段标识加文件后缀,例如:项目外包平台测试报告1.1.1.051021_beta_b.xls,此文件为项目外包平台的测试报告文档,版本号为:1.1.1.051021_beta。

4.  

  如果是同一版本同一阶段的文件修改过两次以上,则在阶段标识后面加以数字标识,每次修改数字加1,项目外包平台测试报告1.1.1.051021_beta_b1.xls

 

  当有多人同时提交同一份文件时,可以在阶段标识的后面加入人名或缩写来区别,例如:项目外包平台测试报告1.1.1.051021_beta_b_lisg.xls。当此文件再次提交时也可以在人名或人名缩写的后面加入序号来区别,例如:项目外包平台测试报告1.1.1.051021_beta_b_LiuQi2.xls

5.  版本号的阶段标识

6.  软件的每个版本中包括11个阶段,详细阶段描述如下:

阶段名称

阶段标识

需求控制

a

设计阶段

b

编码阶段

c

单元测试

d

单元测试修改

e

集成测试

f

集成测试修改

g

系统测试

h

系统测试修改

i

验收测试

j

验收测试修改

k

 

 

 

 本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4241232.html,如需转载请自行联系原作者

相关文章
|
SQL 缓存 分布式计算
阿里云连续五年入选Gartner®分析和商业智能平台魔力象限,中国唯一
Gartner® 正式发布《分析与商业智能平台魔力象限》报告(Magic Quadrant™ for Analytics and Business Intelligence Platforms),阿里云成为唯一入围该报告的中国厂商,被评为“挑战者”(Challengers)。这也是阿里云连续五年入选该报告。
|
11月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离的开发模式中,API 调试的效率直接影响项目的质量和交付速度。通过本文的对比分析,我们可以看到无工具调试模式虽具备灵活性和代码复用能力,但在操作便利性和团队协作上稍显不足。而传统的外部调试工具带来了可视化、高效协作与扩展性,却可能存在工具切换带来的开发链路断层问题。Apipost-Hepler 融合了两者的优势,让开发者无需离开熟悉的 IDEA 环境,就能享受可视化调试工具的强大功能。
394 5
|
Ubuntu 安全 程序员
一文带你了解软件版本号
【9月更文挑战第3天】
4951 12
一文带你了解软件版本号
|
11月前
|
存储 监控 数据挖掘
淘宝店铺所有商品数据接口全攻略
淘宝开放平台提供`taobao.items.onsale.get`接口,可批量获取店铺在售商品列表,包括商品ID、标题、价格等信息,适用于商品管理、竞品监控等场景。调用流程:注册账号、创建应用、申请权限。核心参数有nick、page_no、page_size等。Python示例代码展示如何通过API获取商品数据,并处理分页和异常。注意事项包括权限申请、频率限制及数据安全。扩展应用如结合商品详情接口进行数据分析。
|
前端开发 容器
CSS 居中技术完全指南:从基础到高级应用
本文详细介绍了 CSS 中常用的居中方法,涵盖水平居中、垂直居中及同时实现两者的方法。
1235 12
|
人工智能 安全 搜索推荐
销售易:国产CRM替代方案中的企业优选
近年来,国产CRM软件逐渐替代国际品牌,成为企业信息化建设的新选择。这一趋势受到中美关系摩擦、国家政策导向、数据安全需求等因素推动,同时也得益于国产CRM厂商在产品和服务上的持续优化与突破。以销售易为代表的国产CRM,不仅在技术性能上与国际品牌相当,还在移动化、定制化、安全性等方面展现出独特优势,赢得了包括海康威视在内的多家大型企业的信赖。销售易通过完善的产品体系和高效的迁移解决方案,帮助企业实现平稳过渡,加速数字化转型。
|
API 数据安全/隐私保护 开发者
软件版本的命名规则
软件版本的命名规则
3614 1
|
Linux 计算机视觉 Python
在Linux系统上安装OpenCV
在Linux系统上安装OpenCV
1630 0
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
447 3
|
缓存 应用服务中间件 nginx
「Python系列」Python uWSGI
uWSGI(全称为“universal web server gateway interface”)是一个高性能的Python Web服务器和应用程序容器。它可以将Python Web应用程序与Web服务器分离,从而实现高并发、低延迟的服务。uWSGI支持多种Web服务器和应用程序框架,如Nginx、Apache、Django、Flask等。
634 0

热门文章

最新文章