软件版本管理规范标准[详]
- 格式:doc
- 大小:39.50 KB
- 文档页数:6
软件版本管理规范
1引言
1.1目的
本文档是为规范公司软件版本管理而制定的。
1.2范围
本文档为系统软件开发部版本管理员提供有关版本管理规范的相关内容,包括:
●版本标识方法
●软件系统数据的存放
●文档的修改控制
●文档的备份制度
1.3术语定义
CVS
CVS是一个开源的版本控制系统Concurrent Versions System的简称
文档
一种数据媒体和其上所记录的数据。
配置管理
标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放
和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。
软件配置软件的具体形态在某时刻的瞬时影像。
配置项
软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。
基线
软件生存周期中各开发阶段末尾的标记,它的作用是把各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,使之便于检验和肯定阶段成果。
1.4版序控制记录
1.5版本更新记录
*A - 增加M - 修改D - 删除
2版本管理2.1流程图
文档归档流程
文档变更流程。
软件版本管理目录1.引言 (1)1.1.目的 (1)1.2.范围 (1)1.3.术语定义 (1)1.4.参考资料 (2)1.5.版本控制记录 (2)1.6.版本更新记录 (2)2.版本管理 (4)2.1.版本标示方法 (4)2.1.1.正式版本 (4)2.2.目录结构 (5)2.3.文档的存放 (6)2.3.1.开发文档的存放 (6)2.3.2.源代码的存放 (6)2.3.3.SQL的语句存放 (7)2.3.4.发行文档的存放 (7)2.4.配置管理流程 (7)2.5.权限控制的管理 (8)3.更新管理 (9)3.1.源程序的修改 (9)3.2.版本升级 (10)3.2.1.版本升级原则 (10)3.2.2.新版本发布 (11)3.3.文档的变更 (11)4.备份管理 (12)1.引言版本控制就是对软件开发过程中所创建的配置对象不同版本进行管理,保证任何时间都可以取到正确的版本以及版本的组合。
版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统的成长记录。
1.1. 目的本文档的编制是为了规范产品部、研发部、测试部对软件产品版本的管理。
1.2. 范围本文档为产品部、研发部、测试部的管理员提供有关版本管理规范的相关内容,包括:●版本标识方法●软件系统数据的存放●文档的修改控制●文档的备份制度1.3. 术语定义SCM软件配置管理(Software Configuration Management)缩写SVM软件版本管理(Software Version Management)缩写SVN一个开源的版本控制系统Subversion.文档一种数据媒体和其上所记录的数据。
配置管理标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。
软件配置软件的具体形态在某时刻的瞬时影像。
配置项软件配置管理的对象称为配置项,如:系统规格说明书,项目开发计划,用户手册,源码。
软件版本管理规范软件版本管理规范是指对软件开发过程中的版本进行管理的一系列规定和措施。
版本管理规范的目的是为了保持软件开发过程的稳定性和可控性,确保软件的质量和可靠性。
一、版本号命名规范1. 版本号由主版本号、次版本号和修订版本号组成,格式为“主版本号.次版本号.修订版本号”。
2. 主版本号表示重大功能改变或架构改变,增1。
3. 次版本号表示新增功能或重要的bug修复,增1。
4. 修订版本号表示小的改动或bug修复,增1。
5. 版本号从1开始,多次迭代后主版本号不变,次版本号递增,修订版本号保持从1开始递增。
二、版本控制规范1. 使用版本控制工具对源代码进行管理,例如Git、SVN等。
2. 每个项目创建独立的分支,主分支用于稳定版本发布,开发分支用于功能开发和bug修复。
3. 每个开发人员在自己的独立分支上进行开发,开发完成后将代码合并到开发分支,测试通过后再合并到主分支。
4. 每个版本发布前,对代码进行全面的测试,包括单元测试、集成测试和系统测试。
三、文档管理规范1. 每个版本发布前,编写相应的版本发布说明文档,包括版本改动内容、新增功能、修复bug等。
2. 所有的文档都要进行版本管理,与代码版本相对应。
3. 每个版本发布后,要及时更新相应的文档,包括用户手册、API文档等。
四、发布规范1. 每个版本发布前,要进行严格的测试,确保软件的质量和稳定性。
2. 每个版本发布时,要记录发布日期、发布人、版本号等信息。
3. 发布后要及时更新版本控制工具,将发布的版本标记为稳定版本。
五、变更管理规范1. 每个版本开发过程中,要及时记录相关的变更信息,包括功能变更、bug修复等。
2. 对于关键的变更,要在团队内进行讨论和评审,并及时通知相关人员。
总之,软件版本管理规范是保持软件开发过程稳定和可控的重要手段。
通过合理的版本号命名、版本控制、文档管理、发布规范和变更管理,能够更好地管理软件版本,提高软件开发的效率和质量。
信息系统软件版本管理办法第一章总则第一条为加强软件版本管理,规范软件版本管理工作流程,提高版本运行维护质量,保证信息系统安全可靠高效地运行,特制定本办法;第二条本办法涉及的软件包括在线运行的软件和拟投产的软件;软件版本管理对象包括应用软件版本以及相关操作系统、数据库、中间件等基础软件;第三条软件版本管理是信息系统开发管理和日常维护管理工作的一个重要组成部分,本办法作为软件版本管理的重要依据,软件版本管理归口管理部门、业务支撑部门、风险管理部门、内审部门及各软件供应商要认真履行各自职责,严格执行软件版本管理的各项流程和规定,保障信息系统的安全稳定运行;第四条任何未经版本归口管理部门许可的软件版本不允许在生产环境使用;在商务合同中若涉及信息系统软件版本,应确认为版本归口管理部门允许使用的软件版本;因使用未经许可的软件版本而造成系统故障影响正常业务交易,相关部门及各厂商要承担相应的责任;第五条本办法由信息技术部负责解释和修订,自发文之日起开始执行;第二章组织与职责第六条软件版本管理实行总行集中管理体系;第七条信息技术部是信息系统软件版本的归口管理部门;第八条稽核监控部是信息系统软件版本管理的内审部门;第九条风险管理部是信息系统软件版本管理的风险控制部门;第十条信息系统软件版本管理工作还涉及软件提供商,软件提供商包括软件最终提供商、代理商和维保服务商以下简称厂商;第一节归口管理部门职责第十一条归口管理部门负责制定和完善的软件版本管理办法;第十二条归口管理部门负责制定信息系统软件版本管理工作的工作计划、工作要求和技术规范,并组织实施;第十三条归口管理部门负责审批业务支撑部门上报的版本变更申请,组织进行资料审核和上线测试,安排试运行工作及全行推广实施;第十四条归口管理部门负责建立软件版本信息库,发布软件版本管理各类信息;建立版本预警体系,发布软件版本缺陷信息和版本预警信息;第十五条归口管理部门负责与业务支撑部门、风险管理部门、内审部门、厂商协调信息系统软件版本管理的相关工作;第三节业务支撑部门职责第十六条版本管理业务支撑部门负责业务类需求的日常收集和集中收集;第十七条版本管理业务支撑部门负责发起新版本的试运行申请;第十八条版本管理业务支撑部门负责协助归口管理部门审核新版本发布资料包括申请、厂家及仿真环境测试报告、版本说明文档、升级方案、测试方案等,并协助归口管理部门开展新版本试运行测试工作;第十九条版本管理业务支撑部门负责自查并督促其下属机构履行职责,严格执行版本管理相关制度和流程;第四节风险管理部门职责第二十条版本管理风险管理部门负责重大版本发布前的风险评估;第五节内审部门职责第二十一条版本管理内审部门负责监督和检查版本管理归口管理部门、业务支撑部门、风险管理部门和厂商是否严格执行版本管理的相关制度与流程;第五节厂商义务第二十二条信息系统厂商应严格遵守软件版本管理的规章制度、技术规范;第二十三条信息系统厂商应根据业务发展及运行维护的需要及时更新版本,保证在线运行的软件版本是允许使用的版本;第二十四条信息系统厂商应配合软件版本归口管理部门进行软件仿真测试,及时提供各类运行维护及仿真测试所需的文件资料和技术咨询,并对这些材料的真实性、可靠性和实时性负责;在不具备相应仿真测试环境的情况下,厂商有义务提供仿真环境配合开展测试;第二十五条信息系统厂商应配合进行试运行工作;厂商应根据版本变更情况选择能够测试所有升级功能点的分支机构,并结合用户量、安全性等的要求向提出试验点建议;第二十六条信息系统厂商应配合做好信息系统软件版本管理工作,建立本厂家信息系统软件版本管理资料库信息,协助软件版本归口管理部门做好版本预警信息的发布与管理,提供必要的技术资料和技术支持;第二十七条信息系统厂商应指定专门的版本管理联系人与软件版本归口管理部门衔接,以便配合进行软件的升级实施和及时跟踪处理升级过程中或者升级后出现的各种故障;第二十八条信息系统厂商有义务在升级过程中按照的要求配合完成各项工作,包括协助软件版本归口管理部门模拟重现升级或试运行期间出现的和软件版本相关的故障;第二十九条信息系统厂商有义务在工程招标书中,承诺按照版本管理相关制度和流程履行投标方的义务;第三章版本管理内容与流程第三十条信息系统软件版本分为版本和补丁;版本是指软件系统中的核心部分发生结构性变化、应用部分新增若干功能而生成的软件版本;补丁是指软件系统中不涉及核心部分的变化,只是应用部分的故障修复或功能完善而生成的软件版本;第三十一条版本管理的各项工作必须按照规定的操作流程执行,各相关部门应认真履行本部门的职责,做好部门之间的衔接和协调;第三十二条版本管理工作内容主要包括需求管理、认证管理、变更管理、评估管理和信息管理;其中,需求管理是通过收集、整理和分析版本的新特性需求或未修复缺陷,引导厂家新版本开发,确定待认证的版本;认证管理是依据技术规范,对厂家待认证版本的符合性和可用性进行认证,并对已认证版本进行更新或废止管理;变更管理是对生产运行版本变更的技术审核和流程管控;评估管理是对生产运行版本的版本能力、缺陷等方面的评价和管理;信息管理是对全行软件版本信息及版本管理工作各环节输出信息的动态管理,主要包括信息的收集、整合、关联、更新、价值挖掘和全行共享,是版本管理各项工作的基础;第一节需求管理第三十三条版本需求管理主要分为业务类需求管理和运行维护类需求管理两大类,两大类需求的特点如下:(一)业务类需求:包括对原有业务模型、业务流程进行变更完善的需求,对新业务模式、新业务功能的支撑需求以及与业务推广能力相关的需求等;(二)运行维护类需求:包括运维监控类需求、系统软件版本缺陷和问题解决需求等与运行维护工作直接相关的需求;第三十四条运行维护类需求由信息技术部系统运行中心以下简称运行中心牵头收集整理,业务类需求由信息技术部系统开发中心以下简称开发中心牵头收集整理,最终由软件版本归口管理部门负责进行统一梳理后落实到建设项目中,组织技术规范的修订;第三十五条需求收集分为两种:日常收集和集中征集;(一)日常收集:业务类需求由需求提交部门发起,开发中心收集整理,运行维护类需求由运行中心不定期向综合部提交新需求并填写软件版本需求汇总表见作为附件;(二)集中征集:在专项治理工作中,由专项治理工作归口管理部门发起、在规定时期内征集各方需求,然后统一汇总整理,向需求归口管理部门提交新需求并填写软件版本需求汇总表见作为附件;第二节认证管理第三十六条软件新版本的认证过程包括仿真环境测试和生产环境试运行测试;第三十七条仿真环境测试主要测试内容包括:版本差异化测试新增功能测试、功能变更测试、故障修复有效性测试、新版本回归性验证测试即原有功能点的测试、新版本的升级过程测试、性能测试、业务功能测试等;由厂商自行组织的内部测试也应涵盖上述测试内容;第三十八条原则上,业务类需求导致的新软件版本由信息技术部开发中心组织进行仿真环境测试;运行维护类需求导致的新软件版本由信息技术部运行中心组织进行仿真环境测试;如果新版本包含以上两方面的需求,则由软件版本归口管理部门统一组织新版本的仿真环境测试;新版软件正式开始测试前,厂商应向上述部门提交相关技术资料和说明书;说明书中应包含以下内容:(一)软件版本变更的原因及必要性,新版软件与旧版软件的差异性说明、新增功能说明、新版软件对硬件环境的要求、涉及第三方的软件版本说明;(二)维护手册及有关资料变更部分;(三)新版软件对所在平台及所承载业务的影响以及对相连的系统的影响以及相关接口包括第三方接口变化的说明文档;(四)新版本的历史应用情况,已知缺陷、隐患或与需求含商务需求、设计需求、业务需求、运维需求等不符之处并列出解决方案;(五)对新版软件进行测试的测试方案,包括测试所用的软硬件环境、测试项目及具体测试方法步骤、测试环境要求及预期结果;(六)详细的升级方案及针对各种异常情况的应急预案,升级失败的应急回退方案等;(七)厂商内部测试情况报告;第三十九条对于信息系统软件新版本的仿真环境测试原则上应在提供的仿真环境中进行,对不具备测试条件的,厂商须提供相应的仿真环境;厂商应在测试前,配合进行仿真环境的准备工作;仿真环境应能对版本进行尽量完整的测试;第四十条对于仿真环境下无法测试的测试用例,经归口管理部门审核后可在试运行阶段再进行测试;第四十一条因版本质量问题导致不能完成测试或测试报告结论为不通过的,需由厂商修改问题后重新测试;测试完成后测试单位应向软件版本归口管理部门提交新版本的测试报告XX系统XX版本测试报告见;测试报告文档应包含内容:(一)测试原因(二)测试环境拓扑图(三)测试所需软硬件及其他工具可选(四)基本连接和配置可选(五)测试项目及具体测试方案(六)测试结论包含测试情况如何,该版本功能是否完善,是否符合申请内容以及升级建议等第四十二条对于测试中不满足要求的项目,厂商应给出相应的改进承诺和时间表;第四十三条完成版本测试后,业务支撑部门应向软件版本归口管理部门提出试运行建议申请,并填写XX系统XX版本试运行建议表详见附表四,由软件版本归口管理部门发布新版本的试运行通知;第四十四条信息系统的试运行升级申请应至少在升级日期前七个工作日提交到软件版本归口管理部门,软件版本归口管理部门在收到升级申请后的四个工作日内完成批复,试运行准备时间不少于三个工作日;在紧急情况下,试运行申请至少提前四个工作日提交到软件版本归口管理部门,软件版本归口管理部门在收到申请后两个工作日内完成批复,试运行准备时间不少于两个工作日;升级方案所需要的内容具体参见;第四十五条软件版本归口管理部门组织审核测试报告、升级方案及试运行资料,并填写XX系统XX版本试运行资料审核报告详见;第四十六条重大版本变更厂商在试运行升级时应派专人在现场给予技术支撑,协助定位解决问题;第四十七条软件版本归口管理部门负责组织开展试运行工作,密切关注新版本的运行情况,业务支撑部门应按照试运行测试要求和用例进行完整测试,及时填报测试结果;原则上,试运行时间应不少于三个月;试运行结束后,提交XX系统XX版本试运行报告详见;第四十八条试运行测试完成、确认新版本安全稳定后,由信息技术部在运维管理系统发布新版本相关信息;第四十九条在新版本运行期间若出现涉及危害平台安全、影响业务运行、对客户感知造成重大影响的问题,由业务支撑部门填写XX系统XX版本软件变更申请表见,软件版本归口管理部门在两个工作日内审核回复,组织厂商、信息技术部执行版本回退或修复工作;第五十条厂商应在版本升级后五个工作日内提交版本升级故障分析报告;第五十一条厂商用于投标的软件版本以及新工程中使用的软件版本,均需由厂商向软件版本归口管理部门提出新版本测试申请,按本节管理要求开展测试认证;软件版本归口管理部门和总行验收领导小组应在工程验收时对其使用的软件版本进行检查、把关,确认工程项目中所使用的软件版本是经过测试认证的;第三节变更管理第五十二条版本变更主要指版本和补丁的投入与使用,管理工作主要包括版本升级、补丁输入的申请与审批、版本升级方案含应急措施、测试用例等的制定与审批、升级成功后的资料移交和更新等;第五十三条软件版本升级按发起方不同分为两种:(一)软件版本归口管理部门安排布置的版本升级任务,主要是为了满足总行提出的对全行信息系统的基础建设或维护的需求;(二)业务支撑部门主动提交的版本升级申请XX系统软件变更申请表见,主要是为了满足某个业务需求;第五十四条为了保证平台安全稳定运行,原则上每种平台每月升级次数不超过一次,承载不同业务的平台不安排在同一时间升级;第五十五条软件版本归口管理部门发布批准使用新版本的信息后,总行各业务部室或分支机构可以根据实际情况更换新版本;第五十六条升级方案包含但不限于以下内容:(一)升级目的(二)升级内容(三)各方工作人员职责(四)升级各步骤的时间估算(五)升级涉及范围及对业务的影响(六)具体升级步骤1.升级准备工作及注意事项2.升级操作详细步骤3.升级应急预案和应急预案启动条件4.业务测试用例(七)升级完成核对的内容及步骤(八)备品、备件的升级升级时间、地点、方式(九)运行观察(十)资料归档第五十七条升级过程中间出现升级方案中未预料到的业务中断或中断时间超出预定时间等异常情况时,软件升级工作应立即停止,按照升级方案中的应急预案进行操作,并逐级上报;第五十八条在升级结束后业务支撑部门将升级完成情况汇总,填写XX系统XX版本使用情况汇总表见,在升级完成一周后上报软件版本归口管理部门备案;第五十九条升级结束后,厂商必须向移交:(一)各级用户密码;(二)监控和应用软件的安装程序必须经过测试;(三)设备的详细配置资料;(四)设备维护手册的追加与变更;第四节评估管理第六十条评估管理是对生产环境运行版本的评估,主要包括版本能力、版本缺陷和预警等的管理和评价;版本评估结果是对已认证版本进行更新或废止的重要依据;第六十一条版本变更后,软件版本归口管理部门需跟踪新版本的使用情况,组织版本运行评估工作,对新版本满足业务功能、运行维护管理等需求的能力进行评估;如果新版本能力不足、且认证库中已存在满足需求的版本,则可将此已认证版本作为目标版本适时实施版本变更;如果新版本能力不足、且认证库中不存在满足需求的版本,则将关于新版本使用中所出现问题的评估结果提交版本管理归口管理部门;软件版本归口管理部门对评估结果进行分析,对于当前暂不需要解决的版本遗留问题进行汇总;否则输出至需求归口管理部门进行处理;第六十二条预警定义:预先对因设备软硬件版本缺陷而可能导致业务系统或设备含在线设备和拟投产运行的设备不能正常运行的因素进行警示并防范;版本缺陷的预警管理是保证在线安全、稳定运行的重要措施之一;第六十三条软件版本归口管理部门根据全行在线版本的业务和维护支撑能力、缺陷发生数量及影响、版本变更次数及原因、上线时间等因素,于每年12月20日之前提交年度版本运行评估报告;第五节信息管理第六十四条建立软件版本信息管理体系,实现全行软件版本信息及版本管理工作各环节输出信息的收集、整合、关联、共享、价值挖掘和动态管理;第六十五条软件版本归口管理部门按照统一的版本信息模型,每月初通过运维管理系统提交“全行软件版本使用情况汇总表”见并对汇总信息进行入库和维护更新管理;第六十六条软件版本归口管理部门及时发布版本信息,以便各分支机构和总行各业务部室正确选择使用的版本;各相关单位负责收集、整理、分析辖区内软件版本相关信息,并进行及时更新;版本信息库上包括但不限于以下所示:(一)各厂商的软件版本的状况,包括:版本编号、功能变更说明书、上线测试报告、核准上线日期等;(二)各厂商的软件版本在生产环境中的运行情况,包括:投入运行时间、版本分布情况、主要设备配置、版本的问题等;(三)版本问题登记,包括:软件版本、问题发生时间、原因、现象、影响、排除方法、排除时间及善后处理意见等;(四)其它相关资料,包括:技术标准、企业规范、新业务、新功能的需求汇总、论文资料等;第六节版本管理流程第四章监督与检查第六十七条版本管理内审部门将适时组织检查信息系统的软件版本管理工作情况,并及时通报检查结果;结合本年度全行在线版本管理各项工作情况,于每年底发布全行年度在线版本管理工作情况通报;对于因版本管理不善或使用未经许可的软硬件版本而造成的业务中断故障、用户投诉及经济损失等,内审部门将视具体情况对相关部门、负责人或直接责任人给予通报批评,并反映在部门考核指标中;第六十八条归口管理部门在进行“外包商服务质量评估”时,应将厂家软件版本运行评估情况及对版本管理工作的支撑情况作为评估内容之一,并将评估结果作为采购评标的重要考虑因素;在维保合同中应增加版本管理工作相关要求的条款,并进行相关考核;对于因厂家原因造成的业务中断故障及由此产生的损失,将视具体情况对相关厂家给予处罚并追究相关责任;附表一:XX业务软件需求汇总表附表二:软件版本测试申请表附表三:XX系统XX版本/补丁测试报告XX系统软件版本/补丁测试报告1.测试概况测试目的2.测试环境网络结构图3.测试内容对测试情况的描述4.测试结论测试通过或测试不通过,测试不通过请说明原因;附表四:XX业务XX版本试运行建议表附表五:XX业务XX版本试运行资料审核报告附表六:XX业务系统试运行报告附表七:XX软件变更申请表附表八:XX业务系统软件版本使用情况汇总表。
版本管理规范一、引言版本管理是软件开发过程中的重要环节,它能够帮助团队协作、追踪变更、管理代码库以及确保软件的稳定性和可追溯性。
本文旨在制定一套标准的版本管理规范,以确保团队在软件开发过程中能够高效地进行版本控制。
二、目标1. 统一团队的版本管理流程,提高团队协作效率;2. 确保代码库的稳定性和可追溯性;3. 提供一套规范的版本命名和发布流程,方便项目管理和交付。
三、版本库管理1. 版本库的创建- 每个项目都应该有一个独立的版本库;- 版本库应该按照项目名称命名,并创建在统一的版本控制系统中。
2. 分支管理- 主分支(master):用于发布稳定版本,不允许直接向该分支提交代码;- 开发分支(develop):用于日常开发,所有开发人员都从该分支创建自己的工作分支;- 功能分支(feature):用于开发某个具体功能,从开发分支创建,开发完成后合并回开发分支;- 修复分支(hotfix):用于修复线上版本的bug,从主分支创建,修复完成后合并回主分支。
3. 提交规范- 提交前必须先拉取最新代码,并解决冲突;- 提交信息应该清晰明了,包括修改的内容、原因和影响;- 提交频率不宜过高,避免频繁小改动。
四、版本命名规范1. 主版本号(Major):当进行了不兼容的API修改时,主版本号加1;2. 次版本号(Minor):当新增了向后兼容的功能时,次版本号加1;3. 修订号(Patch):当进行了向后兼容的bug修复时,修订号加1;4. 预发布版本号(Pre-release):在正式发布之前的版本,可以使用alpha、beta、rc等标识;5. 构建号(Build):每次构建时自动生成的唯一标识。
五、发布流程1. 开发者在开发分支上完成开发,并进行自测;2. 开发者提交合并请求(Pull Request)到开发分支;3. 团队成员进行代码审查,审查通过后合并到开发分支;4. 定期从开发分支合并到主分支,并打上对应的版本号;5. 主分支上的代码经过测试后,打上预发布标识,并进行测试;6. 测试通过后,正式发布版本,并打上正式发布标识。
文件制修订记录1.0目的规范软件产品版本升级流程,规范管理版本号,加强不同版本软件保存的可靠性。
2.0范围研发结束进行测试或投入应用的独立软件产品和已销售产品中的独立软件产品的升级或变更管理。
3.0职责3.1 IT 部负责管理软件版本号并在软件升级结束后向生产部提供新版本的软件系统。
3.2 IT 部项目负责人及软件工程师负责对软件系统进行升级并记录升级信息。
3.3软件工程师在完成软件安装后应填写《客户版本信息清单》,提交IT 部进行归档。
4.0程序4.1 软件版本命名:4.1.1软件版本号由四部分组成: 4.1.1.1第一部分主版本号; 4.1.1.2第二部分子版本号; 4.1.1.3第三部分阶段版本号;4.1.1.4第四部分日期加希腊字母版本号;例如:主版本号4.2 版本变更4.2.1对于重大类软件更新,项目负责人组织技术部、质量部进行会议进行评审。
4.2.2对于增强类软件更新,项目负责人组织技术部进行会议进行评审。
4.2.3对于纠正类软件更新,项目负责人直接分配此次更新的工作任务。
4.2.4所有变更过程参照《软件更新控制程序》要求执行。
4.3 软件版本输出4.3.1生产部软件版本管理员必须是外界获取应用程序的唯一出口。
4.3.2生产部版本管理员必须对交付产品中的软件信息做出详细记录并对该销售产品的升级及变更情况做出记录。
4.3.3IT部对软件变更升级后必须再次向版本管理员提供升级后的软件版本。
4.4软件版本的储存4.4.1在产品配置库为每个项目组分配产品输出存储区域。
并为相应的项目负责人分配写读权限。
生产部版本管理员分配只读权限。
4.4.2软件项目负责人将源代码及应用程序上传到软件服务器的配置库并刻录光盘存档。
5.0相关文件《软件更新控制程序》6.0相关记录《培训记录》ISO13485-2016/ISO9001/IATF16949文件范例客户培训签到表项目名称:_________________________课程名称:_________________________ 日期: ______________。
软件版本管理规范软件版本管理规范一、引言在软件开发过程中,版本管理是非常重要的一环。
它确保了软件的变更能够被跟踪、管理和控制。
有效的版本管理可以提高开发效率,减少错误,促进团队协作。
本规范旨在定义一种通用的、一致的、可扩展的软件版本管理方法,以确保软件项目的顺利进展。
二、版本管理系统的选择1.确定需求:在选择版本管理系统之前,首先要明确团队的需求。
考虑团队规模、项目复杂性、代码库大小等因素。
2.市场调研:收集市场上流行的版本管理系统的信息,评估它们的优点和缺点。
考虑系统的易用性、稳定性、可扩展性和成本效益。
3.选择合适的系统:根据项目需求和市场调研的结果,选择最适合团队的版本管理系统。
常见的版本管理系统包括Git、Subversion(SVN)、Mercurial等。
三、版本管理流程1.代码审查:实施代码审查制度,确保代码质量,减少错误。
可以采用PullRequest、Code Review等方式进行。
2.提交代码:每次提交代码前,确保代码符合团队的编码规范和标准。
提交的代码应该有一个明确的描述,以帮助其他开发者理解本次提交的内容。
3.测试:在提交代码之后,进行自动化测试和手动测试,确保代码的质量和稳定性。
测试包括单元测试、集成测试和系统测试等。
4.发布:经过测试后,将代码发布到生产环境。
在发布前,应进行最后一次代码审查,以确保生产环境的稳定性。
5.维护:在生产环境中,对软件进行维护和监控,确保其正常运行。
当发现问题时,及时修复并发布修复版本。
四、版本管理规范1.编码规范:制定并遵守统一的编码规范,包括命名规范、缩进风格、注释规则等。
这样可以提高代码的可读性和可维护性。
2.提交信息:每次提交代码时,确保提交信息清晰、简洁地描述所做的更改和原因。
这将有助于其他开发者了解代码变更的内容和目的。
3.代码审查:实施严格的代码审查制度,确保代码质量和可维护性。
所有提交的代码必须经过代码审查,并且只有在通过审查后才能被合并到主分支。
软件版本管理规范第一章目的本规范详细规定软件项目版本管理的对象、存储目录、分支、权限、维护等内容,使软件项目版本管理流程化并规范化,确保在系统开发和实施过程中项目的完整性和一致性。
1.第二章适用范围所有系统开发及实施项目的软件项目都应进行版本管理。
项目中所有正式文档和代码都应纳入配置库(可使用工具建立配置库,本文所述使用的是SVN)进行版本管理。
2.第三章职责配置库管理员:负责配置库的日常维护和管理;监督开发及测试部门及时提交版本管理对象(即配置项)。
此岗位可由开发或测试人员兼任。
3.第四章内容4.1. 版本管理对象包括但不限于:项目总体计划可行性研究报告开发计划需求说明书需求设计原型设计说明书系统开发变更申请单系统管理手册用户操作手册培训计划培训记录源程序支持系统运行的配置文件存储过程脚本测试计划测试用例测试脚本测试报告上线计划上线申请版本维护日志4.2. 配置库的目录结构每个项目在配置库中应拥有唯一的项目名称。
配置库目录结构与项目内部的目录结构建议按下列格式创建。
配置库目录结构规划:┠tags(发布)┃├v1.0.0_T1_2016909┃├v1.0.0.33899_T1_20161009 ┃├v1.0.0_R1_20161109┃├v1.1.0_T1_20170109┃└v1.1.0_R1_20170209┠trunk(主版本)┃└projectA┃├src┃├MY_MOOC┃├doc┃├tool┃├。
┖branches(分支)├SY_ABC├TJ_ABC├WH_MOOC其中,项目内部的目录结构:|–projectA|–src (保存该项目的源程序)|–doc (保存项目相关文档)|–000.项目管理(保存项目过程管理相关文档)|–010.项目计划(保存项目计划相关文档)|–020.项目需求(保存项目需求相关文档)|–030.系统设计(保存项目设计相关文档)|–030.系统测试(保存项目代码测试相关文档)|–040.系统实施(保存项目部署实施相关文档)|–050.系统运维(保存项目运维文档,包括培训、用户手册等)|–060.技术资料(保存项目技术文档,包括第三方技术资料等)|–。
软件版本管理规范本文档旨在规范软件开发过程中的版本管理,确保版本控制的一致性和可追溯性,提高团队协作效率和产品质量。
1. 版本管理概述版本管理是软件开发过程中必不可少的一环,它可以追踪和控制软件的不同版本和变更。
一个好的版本管理系统能够帮助团队成员协同工作、追溯问题和修复bug,同时也有助于与客户或用户之间的沟通和交流。
2. 版本号命名规则在版本管理中,给每个软件版本分配一个唯一的版本号是非常重要的。
合理的版本号命名规则可以减少混乱和误解,并且方便了版本之间的比较和操作。
在我们的版本管理规范中,我们采用以下命名规则:•主版本号(Major Version):当软件有重大更新或变革时,递增主版本号。
•次版本号(Minor Version):当软件新增功能或有较大的改进时,递增次版本号。
•修订号(Patch Version):当软件修复bug或进行较小的改动时,递增修订号。
例如,一个版本号可能是1.2.3,其中1是主版本号,2是次版本号,3是修订号。
3. 分支管理策略在团队协作中,使用分支管理策略可以使开发工作有条不紊地进行,同时减少冲突和代码丢失的风险。
以下是我们的分支管理策略:•主分支(Master):主分支存放着稳定的、可发布的代码。
只有在确保代码质量和功能完整性的情况下,才能将代码合并到主分支中。
•开发分支(Develop):开发分支是团队成员进行日常开发的主要分支。
所有新功能的开发和bug修复都应该在开发分支上进行。
•功能分支(Feature branches):功能分支用于开发特定的功能或模块。
当新增功能或解决较大问题时,从开发分支上创建一个新的功能分支进行工作,并在完成后合并到开发分支中。
•修复分支(Hotfix branches):修复分支用于紧急修复主分支上的bug。
当发现主分支上的问题需要立即解决时,从主分支上创建一个新的修复分支进行工作,并在完成后合并到主分支和开发分支中。
4. 版本控制工具版本管理需要借助专业的版本控制工具来实现。
软件配置版本管理规范一、本文概述本文旨在建立一个标准的软件配置版本管理规范,以确保软件开发过程中的配置和版本控制的一致性和有效性。
软件配置管理是软件开发过程的重要组成部分,它能够协调软件开发团队的工作,确保软件产品的质量和可维护性。
二、软件配置版本管理的重要性软件配置版本管理对于软件开发过程具有以下重要性:1、配置一致性:通过版本控制,可以确保所有开发人员使用相同的配置,从而避免混淆和冲突。
1、配置一致性:通过版本控制,可以确保所有开发人员使用相同的配置,从而避免混淆和冲突。
在软件开发过程中,每个开发人员都需要使用相同的代码库、工具和环境。
如果每个开发人员都在自己的本地环境中进行修改,那么很容易出现配置不一致的情况,导致代码冲突和难以维护的问题。
因此,版本控制可以帮助开发团队保持配置一致性,确保每个人都在同一个版本上进行开发和测试,从而避免不必要的麻烦和浪费时间。
版本控制还可以在代码更改时进行记录,跟踪每个文件的修改历史。
这样,如果有任何问题出现,开发团队可以迅速定位问题并找出责任人,以便更快地解决问题。
版本控制还有助于管理代码的变更和合并,使得多个开发人员可以同时对同一代码库进行修改,避免单点故障和代码丢失的风险。
总之,通过版本控制可以确保开发团队的配置一致性,提高开发效率和质量。
因此,在软件开发过程中,必须遵循相应的版本控制规范,确保代码库的完整性和可维护性。
2、问题追踪:版本控制可以帮助开发团队追踪和管理问题,以及时发现和解决问题。
在软件开发过程中,问题追踪和版本控制密不可分。
版本控制可以帮助开发团队实现代码管理,记录代码的每一次修改和变更,从而方便追踪问题的起源和解决。
通过版本控制,开发团队可以及时发现和解决问题,避免因重复工作和无效操作而浪费时间和资源。
当出现问题时,开发团队可以迅速定位到具体的代码版本,找出问题的原因并采取相应的措施。
此外,版本控制还能帮助开发团队在多人协作开发中避免冲突和混乱,确保各个成员的工作能够顺利集成。
软件版本管理规范软件版本管理规范一、引言随着信息技术的快速发展,软件已成为各行各业运营和发展的重要支撑。
软件版本管理是软件开发过程中不可或缺的一环,对于保证软件质量、控制变更、促进团队协作和知识共享具有重要意义。
为了规范公司内部的软件版本管理,提高软件开发效率和质量,降低维护成本,特制定本管理规范。
二、版本管理规范目标本管理规范旨在明确软件版本管理的规范目标,包括以下几个方面:1.保证软件版本的准确性和一致性;2.控制软件版本的变更,保证变更的合理性和规范性;3.促进团队成员之间的协作和知识共享;4.为软件配置管理提供基础数据支持;5.提高软件开发效率和质量,降低维护成本。
三、版本管理规范原则在进行软件版本管理时应遵循以下原则:1.唯一性原则:每个版本应具有唯一的标识符,以便区分和管理;2.标准化原则:版本号应遵循通用的编码规则,以便于阅读和理解;3.实时更新原则:版本应随着软件功能的增加、修改或删除而实时更新;4.记录完整原则:版本变更的历史记录应完整保存,以便追踪和查询;5.安全性原则:版本管理过程中应确保数据的安全性,避免泄露和损坏。
四、版本管理规范流程软件版本管理应遵循以下流程:1.制定版本计划:根据软件开发计划,制定相应的版本计划,明确各阶段的版本发布时间和内容;2.创建版本:按照计划,创建各阶段的版本,并为每个版本分配唯一的标识符;3.版本审批:在创建版本后,应将版本提交给相关人员进行审批,以确保版本的准确性和完整性;4.版本发布:经过审批后,将版本发布至指定平台或范围,以供用户下载和使用;5.版本更新:在软件开发过程中,如需对已发布版本进行修改或升级,应按照本管理规范进行相应的变更管理;6.版本维护:对于已发布版本,应定期进行维护和更新,以确保版本的稳定性和安全性;7.版本归档:在完成特定阶段或项目的开发后,应对相应版本的文档、代码等进行归档和备份。
五、版本管理规范措施为确保本管理规范的有效实施,应采取以下措施:1.培训宣传:组织公司内部培训和宣传活动,让全体员工了解并掌握本管理规范的相关规定和要求;2.制定规范:制定详细的软件版本管理规范,明确各环节的具体操作流程和标准;3.配置管理工具:选择合适的配置管理工具,如Git、SVN等,用于进行版本的存储、追踪和管理;4.设立专责机构:设立专门的版本管理机构或岗位,负责执行和管理公司的软件版本管理工作;5.监督检查:定期对公司的软件版本管理工作进行监督和检查,发现问题及时处理和改进。
版本管理规范一、背景介绍版本管理是软件开辟过程中非常重要的一环,它能够匡助团队有效地管理和控制软件版本的变更,确保团队成员之间的协作顺畅,同时也能够提高软件的质量和稳定性。
为了规范和统一版本管理的流程,我们制定了以下版本管理规范。
二、目的和范围版本管理规范的目的是确保团队成员能够按照统一的标准进行版本管理,减少版本冲突和错误,提高团队的工作效率和软件质量。
本规范适合于所有涉及软件开辟的团队成员。
三、版本管理工具我们采用Git作为版本管理工具。
Git是目前最流行的分布式版本控制系统,具有强大的分支管理和合并功能,能够满足我们团队的需求。
四、版本库管理1. 创建版本库每一个项目应该有一个独立的版本库,用于存储项目的代码和文档。
版本库应该在项目开始前就创建好,并设置好相应的权限。
2. 分支管理我们建议使用以下分支管理策略:- 主分支(master):用于存储稳定的发布版本,不能直接在主分支上进行开辟。
- 开辟分支(develop):用于日常开辟,每一个团队成员在该分支上进行开辟,并提交自己的代码。
- 功能分支(feature):用于开辟新功能,从开辟分支上创建,并在开辟完成后合并回开辟分支。
- 修复分支(fix):用于修复bug,从开辟分支或者主分支上创建,并在修复完成后合并回相应的分支。
五、代码提交规范1. 提交频率每一个团队成员应该保持较小的提交频率,避免一次性提交大量代码。
建议每一个提交只包含一个功能或者修复的代码。
2. 提交信息每一个提交都应该包含故意义的提交信息,以便其他团队成员能够快速了解该提交的目的和内容。
提交信息应该包括以下内容:- 简明扼要地描述该提交的目的。
- 提交的代码涉及的功能或者模块。
- 相关的issue或者任务编号(如果有)。
3. 代码审查每一个提交的代码都应该经过团队成员的代码审查。
代码审查可以匡助发现潜在的问题和改进代码质量。
六、版本发布规范1. 发布策略我们采用语义化版本号作为版本发布的策略。
版本管理规范一、引言版本管理是软件开辟过程中非常重要的一环,它能够匡助团队有效地管理代码的变更、协作开辟、问题追踪等工作。
本文档旨在制定一套版本管理规范,以确保团队成员能够按照统一的标准进行版本管理,提高工作效率和代码质量。
二、版本管理工具团队选择使用Git作为版本管理工具。
Git是目前最流行的分布式版本控制系统,具有高效、灵便、强大的特点。
团队成员需熟悉Git的基本操作和常用命令。
三、代码仓库1. 团队使用GitLab搭建代码仓库,每一个项目都应有一个独立的仓库。
2. 仓库的命名应具有辨识度,建议采用项目名称或者相关关键字进行命名。
3. 仓库应设置为私有,惟独团队成员才干访问。
四、分支管理1. 主分支- 主分支命名为master,用于存放稳定的、可发布的代码。
- master分支上的代码应经过严格的测试和审查才干合并。
- 禁止直接向master分支提交待码,只能通过合并请求的方式进行。
2. 开辟分支- 开辟分支命名为develop,用于存放开辟中的代码。
- 开辟分支上的代码应保持可编译、可运行的状态。
3. 功能分支- 每一个新功能或者修复一个Bug都应创建一个独立的功能分支。
- 功能分支命名应具有描述性,建议采用feature/或者bugfix/前缀加之相关描述。
- 功能分支的命名示例:feature/user-login、bugfix/fix-issue-123。
4. 发布分支- 当开辟完成并通过测试后,从develop分支创建一个发布分支。
- 发布分支命名为release/加之发布版本号。
- 发布分支上的代码只进行bug修复,再也不添加新功能。
5. 修复分支- 当在发布分支上发现问题时,应从发布分支创建一个修复分支。
- 修复分支命名为hotfix/加之修复版本号。
- 修复分支上的代码只进行bug修复。
6. 分支合并- 分支的合并应通过合并请求的方式进行,确保代码经过审查。
- 合并请求应包含清晰的描述、所影响的功能和相关问题的链接。
软件版本管理目录1。
引言 (1)1.1。
目的 (1)1.2. 范围 (1)1。
3。
术语定义 (1)1。
4。
参考资料 (2)1.5。
版本控制记录 (2)1.6。
版本更新记录 (3)2。
版本管理 (4)2.1. 版本标示方法 (4)2.1.1。
正式版本 (4)2。
2。
目录结构 (5)2。
3。
文档的存放 (5)2。
3。
1. ........................................................................................ 开发文档的存放52.3.2。
源代码的存放 (6)2.3.3. SQL的语句存放 (6)2。
3.4。
........................................................................................ 发行文档的存放7 2。
4. 配置管理流程 (7)2。
5。
权限控制的管理 (8)3. 更新管理 (9)3.1. 源程序的修改 (9)3.2。
版本升级 (10)3.2。
1. 版本升级原则 (10)3。
3. 文档的变更 (11)4。
备份管理 (12)1.引言版本控制就是对软件开发过程中所创建的配置对象不同版本进行管理,保证任何时间都可以取到正确的版本以及版本的组合。
版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统的成长记录。
1.1. 目的本文档的编制是为了规范产品部、研发部、测试部对软件产品版本的管理。
1.2. 范围本文档为产品部、研发部、测试部的管理员提供有关版本管理规范的相关内容,包括:●版本标识方法●软件系统数据的存放●文档的修改控制●文档的备份制度1.3. 术语定义SCM软件配置管理(Software Configuration Management)缩写SVM软件版本管理(Software Version Management)缩写SVN一个开源的版本控制系统Subversion。
软件版本管理规范V21. 引言软件版本管理是指对软件开发过程中各个版本的控制,以确保软件的可靠性、稳定性和可维护性。
本规范旨在建立一个统一的软件版本管理流程,规范开发人员在软件版本控制方面的操作和行为。
2. 基本原则2.1 版本命名规则版本命名采用主版本号.次版本号.修订版本号的格式,例如:1.0.0。
- 主版本号:当进行重大改动和功能新增时,递增主版本号。
- 次版本号:当进行小的修改和功能调整时,递增次版本号。
- 修订版本号:当进行bug修复和性能优化时,递增修订版本号。
2.2 版本控制工具使用专业的版本控制工具,如Git、SVN等。
版本控制工具能够记录软件的变更历史、回滚操作、分支管理等,方便团队合作和代码的版本控制。
2.3 分支管理策略采用分支管理策略可以实现多人协作开发,减少代码冲突的风险。
- 主分支:用于发布稳定版本的分支,命名为master或main。
- 开发分支:用于日常开发的分支,命名为develop。
- 功能分支:用于开发特定功能的分支,命名为feature/功能名称。
- 修复分支:用于修复bug的分支,命名为bugfix/bug编号。
- 发布分支:用于发布版本的分支,命名为release/版本号。
2.4 版本发布流程- 开发人员从develop分支创建功能分支,开发和测试功能。
- 开发完成后,将功能分支合并到develop分支。
- 当develop分支中的功能积累到一定程度时,从develop分支创建发布分支。
- 在发布分支上进行测试、修复bug,并最终合并到master分支发布版本。
- 同时将master分支的代码合并到develop分支,保证两个分支的同步。
2.5 版本文档管理每个版本需要编写相应的版本文档,包括版本号、发布日期、主要改动内容、已知问题等信息,方便用户了解和使用软件。
3. 版本管理流程3.1 新建项目创建新项目时,使用版本控制工具创建项目仓库,并上传初始代码。
版本管理规范引言概述:版本管理是软件开发过程中的重要环节,它可以帮助团队有效地管理和控制代码的变更,确保项目的稳定性和可维护性。
本文将详细介绍版本管理规范的内容和要点。
一、版本管理的重要性1.1 提高团队协作效率版本管理工具可以帮助团队成员协同工作,避免代码冲突和重复劳动。
通过版本控制,团队成员可以清楚地了解每个版本的变更内容,减少沟通成本,提高工作效率。
1.2 提供代码追踪和回滚能力版本管理工具可以追踪每个代码变更的详细信息,包括作者、时间、变更内容等。
这样,在出现问题时,可以快速定位问题所在,并进行回滚操作,恢复到之前的稳定版本。
1.3 保证项目的稳定性和可维护性通过版本管理规范,可以建立稳定的代码库,确保项目的稳定性和可维护性。
每个版本都应该经过严格的测试和审核,确保代码的质量和功能的完整性。
二、版本管理的基本原则2.1 使用合适的版本管理工具选择适合团队需求的版本管理工具,如Git、SVN等。
版本管理工具应具备分布式的特性、强大的分支管理能力和易于使用的界面,以满足团队的需求。
2.2 统一的分支管理策略制定统一的分支管理策略,包括主分支、开发分支、发布分支等。
主分支用于发布稳定版本,开发分支用于开发新功能,发布分支用于发布测试版本和正式版本。
2.3 规范的版本命名规则制定规范的版本命名规则,包括主版本号、次版本号和修订号等。
主版本号表示重大功能改进或架构调整,次版本号表示新增功能或优化,修订号表示Bug修复或小的改动。
三、版本管理的操作流程3.1 创建新分支在开始开发新功能或修复Bug之前,应创建新的分支。
通过分支的方式,可以避免直接修改主分支的代码,确保主分支的稳定性。
3.2 提交代码变更在完成一定的工作量后,应及时提交代码变更。
每次提交应包括清晰的提交信息,描述变更的内容和目的。
避免一次性提交大量代码,应分成小的、可理解的逻辑单元。
3.3 合并分支在开发完成或修复Bug后,应将分支合并到主分支或发布分支。
软件版本管理规范修订记录修订类型包含:新增、修改、删除。
目录1目的 (1)2适用范围 (1)3软件版本阶段说明 (1)4软件版本命名规则 (1)4.1产品研发类项目 (1)4.2客户交付类项目 (2)4.3运维项目 (2)5软件版本升级规则 (2)5.1.产品研发类项目 (2)5.2.客户交付类项目 (3)5.3.运维项目 (3)6软件版本发布/上线规则 (4)1目的为了使工作规范化、统一化,特制定本软件发布版本管理规范,统一版本号命名。
2适用范围技术与研发中心。
3软件版本阶段说明MVP 版本:此版本为系统在从无到有的最初阶段,形成的最小可行性版本,即开发量最小、确保系统基础功能可以正常运行的版本,通常被视为早期系统必备功能的集合版本。
Alpha 版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多,需要继续修改,通常作为内部提测时使用。
Beta 版: 该版本相对于 Alpha 版已有了很大的改进,消除了严重的错误,但还是存在着一些功能不足,需要经过再优化开发、功能测试来进一步完善,此版本可以作为产品的初始版本进行发布,但不可作为最终交付版本使用。
Release 版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。
该版本有时也称为标准版。
一般情况下,Release 不会以单词形式出现在软件封面上,取而代之的是符号(R)。
4软件版本命名规则4.1产品研发类项目产品研发类项目软件版本号由四部分组成:版本阶段+X.Y.Z版本阶段:共分 4 种,分别为:MVP、Alpha、Beta、Release(R)。
X:主版本号。
用来表示提供的产品功能的主要增加,或者拥有了一个全新的功能类别。
从开发者角度讲,主版本号升级,代表迭代将开始一个新的独立分支或整体架构发生变化。
主版本号需在产品年度规划报告中由产品技术总监进行定义。
软件版本管理规第一章目的本规详细规定软件项目版本管理的对象、存储目录、分支、权限、维护等容,使软件项目版本管理流程化并规化,确保在系统开发和实施过程中项目的完整性和一致性。
1.第二章适用围所有系统开发及实施项目的软件项目都应进行版本管理。
项目中所有正式文档和代码都应纳入配置库(可使用工具建立配置库,本文所述使用的是SVN)进行版本管理。
2.第三章职责配置库管理员:负责配置库的日常维护和管理;监督开发及测试部门及时提交版本管理对象(即配置项)。
此岗位可由开发或测试人员兼任。
3.第四章容4.1. 版本管理对象包括但不限于:项目总体计划可行性研究报告开发计划需求说明书需求设计原型设计说明书系统开发变更申请单系统管理手册用户操作手册培训计划培训记录源程序支持系统运行的配置文件存储过程脚本测试计划测试用例测试脚本测试报告上线计划上线申请版本维护日志4.2. 配置库的目录结构每个项目在配置库中应拥有唯一的项目名称。
配置库目录结构与项目部的目录结构建议按下列格式创建。
配置库目录结构规划:┠tags(发布)┃├v1.0.0_T1_2016909┃├v1.0.0.33899_T1_20161009┃├v1.0.0_R1_20161109┃├v1.1.0_T1_20170109┃└v1.1.0_R1_20170209┠trunk(主版本)┃└projectA┃├src┃├MY_MOOC┃├doc┃├tool┃├。
┖branches(分支)├SY_ABC├TJ_ABC├WH_MOOC其中,项目部的目录结构:|–projectA|–src (保存该项目的源程序)|–doc (保存项目相关文档)|–000.项目管理(保存项目过程管理相关文档)|–010.项目计划(保存项目计划相关文档)|–020.项目需求(保存项目需求相关文档)|–030.系统设计(保存项目设计相关文档)|–030.系统测试(保存项目代码测试相关文档)|–040.系统实施(保存项目部署实施相关文档)|–050.系统运维(保存项目运维文档,包括培训、用户手册等)|–060.技术资料(保存项目技术文档,包括第三方技术资料等)|–。
(保存项目过程管理相关文档)|–tool (包括该项目特定的开发、编译、测试等工具)4.3. 分支(branch)建议使用分支来协同不同职能小组对同一个配置库的使用,可按照以下方式进行分支的管理。
解决方案建立三个分支,包括主版本开发(trunk)、分支版本开发(branches)和发布(tags)。
主版本开发是所有分支版本的基准版本,主版本的开发分支。
开发部门开发使用。
分版本开发主版本的分支版本,供开发部门开发使用。
开发工程师如果以主版本为基准,进行软件项目开发,要先将trunk目录下的代码分支到branches目录的一个子目录,在那里对代码进行开发。
多个主版本的分版本可通过在branches顶级目录创建多个分支目录来区分。
发布测试和发布专用分支,该分支代码不允许任何形式的修改。
每个经过测试后的不同版本的代码做快照放到此分支文件夹下。
4.4. 权限管理应对配置库的访问权限进行管理,确保软件系统的完整性和安全性。
建议按如下方式进行管理。
4.4.1. 开发工程师仅拥有自己所属项目的add file、delete file、check out、check in权限,无目录创建和删除权限。
开发工程师若想创建目录,需向配置库管理员申请。
4.4.2. 测试工程师拥有每个项目的测试分支的add file、delete file、check out、check in权限,无目录创建和删除权限,对于其他分支只有只读权限。
4.4.3. 配置库管理员拥有全部权限,但增删项目和增删目录需要有项目负责人批准。
4.4.4. 其他人员若需要配置库访问权限,需经技术总监或经技术总监授权的项目经理批准,由配置库管理员分配权限。
4.5. 版本管理应对软件系统的版本进行管理,确保版本的准确性和可追溯性。
建议按如下方式进行管理。
4.5.1. 版本维护软件工程各阶段产生的各种文档和代码,应及时并统一上载到配置库由配置库管理员统一管理。
对于要修改的配置项,应从配置库中检出(check out)后修改,修改完毕后及时检入(check in),并填写修改的原因和容。
配置项的历史版本应保存在配置库中。
4.5.2. 分支迁移从开发分支到测试分支的迁移,由开发工程师操作。
迁移的时机有:1. 当开发负责人提交测试申请时;2. 开发过程中进行测试,修改好一个或多个bug,需要测试工程师验证时。
从测试分支到发布分支的迁移,由配置库管理员操作。
迁移的时机有:1.当开发组提交上线申请时。
对于每个项目从测试分支到发布分支的迁移,配置库管理员要建立分支迁移日志,并详细记录。
4.5.3. 版本升级软件系统迁移到发布分支后,生成新的版本。
每个系统新的版本不仅以分支形式存在于配置库中,并且要以独立压缩包形式备份。
版本的命名规则为,version N1.N2.N3[.N4][_][T/R5]_YYYYMMDD1. N1是系统编号。
当项目整体重新设计时,N1加1,基数为12. N2是模块编号。
当模块重新设计时,N2加1,基数为03. N3是功能编号。
当项目增加某一功能,或某一功能需要修改时,N3加1,基数为04. N4是BUG编号。
当项目的BUG被修复时,N4加1,基数为05. T/R5中的T/R分别对应Test/Release。
当项目发布时为R,当项目提交测试时为T,T/R5数值基数为0,以发布/测试提交顺序递增加1 。
6. YYYYMMDD代表生成版本的实际年月日,如:201602024.5.4. 版本基线定义公司首次采用版本管理规时,可以采取下列方法定义一个基线版本。
获取各项目最新的源程序、配置文件和文档,形成发布分支、测试分支和开发分支。
对每个项目的提测和发布分支都生成一个版本基线,如:Version1.0.0_R1_20160202。
4.6. 第五章版本提交准则4.6.1. 提交之前先更新更新的原则是要随时更新,随时提交。
当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。
如果在修改的期间其他同事也更改了同一个文件,那么update更新时会自动进行合并,如果修改的是同一行或者二者修改差异过大,那么合并时会产生冲突。
这种情况就需要同之前的开发人员联系,两人一起协商解决合并冲突。
解决合并冲突之后,还需要两人一起测试,以保证解决冲突之后,各自的程序不会受到影响。
在更新时注意所更新文件的列表,如果提交过程中产生了更新,则需要重新编译并且再次完成单元测试,再进行提交。
这样既能了解别人修改了哪些文件,同时也能避免合并错误导致代码有错。
4.6.2. 保持原子提交为确保在需要时可以随时回溯代码版本,每次提交的代码只能包含实现一个独立、完整功能所必需的代码,不能夹带提交其他与此功能不相关的代码。
为尽早提交,也可以将此独立、完整功能分解为若干小细节功能,分别开发并提交所必需的代码,但必须确保多次提交的功能代码组合在一起,完全实现此独立、完整功能。
仅提交自己修改的部分,最好不要一下子将整个项目提交。
每完成一个独立、完整的功能后,最好尽早提交,以免后续更改时出现bug,无法恢复到正常代码。
每次提交的间歇尽可能地短,以几个小时的开发工作为宜。
我们提倡多提交,也就能多为代码添加上保险。
为做到尽早提交,在开发功能模块的时候,先将功能分解成一个个独立的、不可再分割的小细节功能,分别完成。
每完成一个并通过单元测试,就提交一次。
在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。
4.6.3. 不要提交本地自动生成的文件一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如Eclipse中的.classpath文件等,Visual Studio中的.suo文件,Debug,Release,Obj等编译文件夹及其下文件,以及其他的一些自动生成,同编译代码无关的文件)。
如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件,如果不小心签入了,需要从配置库中删除,以免其他同事在更新后就可能与本地的环境冲突从而影响大家的工作。
4.6.4. 不要提交不能通过编译的代码代码在提交之前,首先要确认自己能够在本地编译通过,并且代码在提交前已经通过自己的单元测试。
如果在代码中使用了第三方类库,要把相应类库文件统一存储在代码相应目录中并提交,以免项目组成员中有些成员可能没有安装相应的第三方类库,从而在更新代码后引起代码运行错误。
4.6.5. 不要提交自己不明白的代码代码在提交之后即被项目成员所分享。
如果提交了不明白的代码,自己看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。
因此在引入任何第三方代码之前,确保对这个代码有一个很清晰的了解(必要时应有对应文档说明)。
4.6.6. 并行开发(同一模块)前沟通如果开发小组采用并行开发模式开发同一模块功能,在开发前,需要对协作开发进行合理的工作计划与任务分配,让小组成员相互间了解对方的工作计划与工作容。
这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。
同时也能够在和成员的交流中发现自己之前设计的不足,完善自己的设计。
4.6.7. 对提交更新的信息采用明晰的标注如果提交空的标注或者不确切的标注将会让项目组中其他的成员不了解此次签入动作的背景情况(如新增/修改签入的原因是什么?新增/修改什么容?),项目经理无法通过提交的标注信息,清晰的掌握开发工作进度细节进度。
没有清晰标注,甚至会对回溯代码版本造成影响。
所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。
统一的标注格式为:签入动作+””+”#” +标识ID+”;”+签入容+[“;”]+[签入原因]签入动作:+:表示增加了功能(新增功能)*:表示对某些功能进行了更改(修改功能)-:表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽(删除功能)^:表示修正bug(修复功能缺陷)!:优化功能代码的执行性能(代码性能优化)标识ID:ID值是从项目开发计划中的WBS任务分解表中获取,对应具体功能编号。
签入容:对新增/修改/删除的容进行简单描述签入原因:对修改/删除的原因进行简单描述示例:+ #62235;新增房源审核功能* #62236;将房源审核的二级审核修改为一级审核;为缩短业务流程长度,提高业务响应速度- #62237;删除多余功能;房源审核由二级审核改为一级审核后删除无用功能^ #108;房源主图显示尺寸控制为300*300;房源主图显示尺寸撑大页面结束。