DM-ISO-软件发布管理控制程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 目的
软件发布阶段的主要工作是进一步稳定产品,保证生产版本的按时推出。制定良好的软件产品发布规程,并严格按照规程发布软件产品或软件版本,是保证软件产品质量和成功交付的关键过程之一。
2 范围
本程序适用于软件产品开发、工程应用及公共管理等部门,涉及产品、项目、架构/开发、测试、软件配置管理、运维与技术支持等角色或岗位。
本程序关注软件产品在系统测试完成后到上线试运行或交付客户之前的工作流程,不涉及软件产品的需求、设
计、开发等环节。
3 定义
软件产品发布是在系统测试完成后,进入验收测试阶段时进行第一次安装或部署。软件发布阶段起始于Alpha版本的推出,终于软件生产版本(RTM)的发布。在试运行阶段到验收完成期间通过适当的变更控制,根据需要可发布多个不同版本。当客户验收确认完成后,对客户进行正式发布。
正式发布的内容主要包括:
完整的软件系统、系统源代码、相关脚本、第三方软件产品或依赖库包等;
相关的产品和工程技术文档,例如:系统设计文档、产品质量评估报告、用户手册、系统运维和技术支持文档
等。
4 职责
角色职责
产品
决定产品发布的内容和发布日期;
系统展示、产品交付、用户培训。
项目制定产品发布策略,结合变更管理,和产品人员一起确定发布的确切内容和发布计划;
组织对发布前各软件版本进行验收评审,确保只有正确的、被授权的和经过测试的软件产品或版本才能导入实际运作环境;
严格按照软件产品发布规程组织实施软件产品的发布工作,协调发布过程中的各项资源;
发布进度跟踪和风险控制。
开发负责创建和维护有关产品发布的各种版本,例如RC版、RTM版等;修复软件缺陷、持续完善系统;
协助进行产品的安装部署,支持系统集成。
执行验收测试和产品预发布测试;
缺陷的记录、跟踪、分析和管理;
提交测试报告,产品质量评估。
协助产品人员和项目人员,对发布前的各种软件版本进行审核;发布基线的管理,涉及发布的配置审计;
配置状态监控和报告;
项目过程资产信息的整理和归档。
发布环境的搭建、测试和持续优化;
产品安装和部署;
系统监控维护。
因为测试环境和线上环境并不完全相同,即使是经过严格的测试,软件部署到线上服务器之后还是经常会出现各种问题。
因此,在系统上线或新功能发布时,应先发布到预发布机器上,而不是直接发布到线上服务器。开发工程师和测试工程师在预发布服务器上进行预发布验证,执行一些典型的业务流程,确认系统没有问题后才正式发布。
预发布服务器和线上服务器都部署在相同的物理环境,使用相同的线上配置,依赖相同的外部服务。
正式 发布
5.5 软件版本号策略
基于GNU 风格的方案:
主版本号 . 子版本号 [. 修正版本号 [. 编译 (构建) 版本号 ]]
Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 示例:1.2.1,2.0,5.0.0 build-13124
产品初版本时,版本号可以为0.1或0.1.0,也可以为 1.0 或 1.0.0;
当产品进行了局部修改或缺陷修复后,主版本号和子版本号都不变,修正版本号加1;
当产品在原有的基础上增加了部分功能,主版本号不变,子版本号加1,修正版本号复位为0,因而可以被省略掉;
当产品进行了重大修改,或者新增功能累积较多,而导致项目整体发生全局变化时,主版本号加1;
编译版本号一般是编译器或构建工具在编译或构建过程中,按一定规则自动生成的,我们只定义其格式,并不进行人为控制。
5.6 发布前的版本控制
α(alpha )版
此版本表示目前仅仅是一个初步完成品,通常只在开发者内部交流,或者发布给专业测试人员进行内测。一般而言,该版本软件的bug 较多,普通用户最好不要安装。
发布版),生成外部版本号,正式对外发布
1. 系统展示、用户培训,提交《产品使用手册》
2. 项目总结,提交《项目总结报告》
产品测试工作总结,提交《产品测试总结报告》和更新的《产品质量评估报告》
1. 软件产品的正式验收和接收
2. 产品的使用、问题反馈及需求变更请求
1. 产品环境的初始化、测试与优化
2. 产品的安装、部署
3. 提交《系统运维和技术支持文档》
配置审计,提交《配置审计报告》 1. 修复软件缺陷
软件产品及相关资产的正式交付或分发
缺陷的持续收集、整理、提交、跟踪和统计分析等
开发工作总结,整理并提交有关架构、系统设计和开发的工程技术文档 1. 系统监控和维护 2. 运行故障处理 3. 性能持续优化
1. 协助产品/项目人员进行后续发布版本与基线的控制管理
2. 配置状态监控
1. 产品使用跟踪 根据用户和市场反馈,进行产品新版本或下一代产品的规划