版本号命名规范
版本号格式:主版本号.子版本号[.修正版本号[.编译版本号]] Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
版本号各部分约定
Major: 具有相同名称但是不同主版本号的程序集不可互换 例如 这使用于对产品的大量重写 这些重写 使得无法实现向后兼容性
Minor: 如果两个程序集的名称和主版本号相同 而次版本号不同 这指示显著增强 但照顾到了向后兼容性 例如 这适用于产品的修正版和完全向后兼容的新版本
Revision: 名称 主版本号和次版本号都相同但修订号不同的程序集应是可以完全互换的 这适合于修复以前 发布程序集中的安全漏洞
Build: 内部版本号不同的表示相同源所作的重新编译 这适合于更改处理器 平台或编译器的情况 程序集的只有内部版本号或者修订号不同的后续版本被认为是先前版本的修补程序(Hotfix)更新
版本号管理策略
- 项目初期版本时 版本号可以从0.1或者0.1.0开始
- 当项目在进行了局部修改和bug修正时 主版本号和子版本号不变 修正版本号加1
- 当项目在原有的基础上增加了部分功能时 主版本号不变 子版本号加1 修正版本号复位
- 当项目进行了重大修改或者局部修正累加较多 而导致项目整体发生全局变化 主版本号加1
- 编译版本号一般是编译起在编译过程中自动 只定义格式 不进行控制 (非编译形项目除外)
版本记录
每一次版本变化 不论局部修改或者bug修正 都必须记录在changes.txt里 并尽量与redmine关联 如:
1.9.2 ********************************************** (Features/Bug #2137)
测试版
(alphal)内部测试版 此版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员
(beta)外部测试版 该版本相对于(alphal)版已经有了很大的改进,消除了严重的错误,但是还是存在一些缺陷,需要经过大规模的发布测试来进一步消除
(gamma)版 该版本已经相当成熟,和发行版相差无几,用户可试用
(trial)试用版
(unregistered)未注册版
(demo)演示版
以上是软件推出前的几个版本,前面三个可以成为测试版,后面三个统称为演示版
正式版
release正式版
registered注册版
standard标准版
deluxe豪华版
reference高级版本
professional专业版
enterprise企业版
专用版本名称
update更新版
oem
单机网络版本
普及版