摘自http://www.csdn.net/article/2014-10-13/2822067
一个软件产品做出来之后,并不是说永远都不用变了。基于以下的种种原因,我们需要对原软件产品进行升级:
用户对软件功能提出了新的要求,现在运行的软件不能满足用户的新需求。
原软件存在bug,用升级的方式来修补这些bug。
对原软件的程序进行了优化,新的程序在执行效率、性能等方面有所提升。
自主开发了一些能够提升用户体验的新功能。
对于一般的软件产品来说,升级是一项浩大的工程,其中牵涉到很多的人员,包括:市场人员、开发人员、测试人员、技术支持人员等。
软件产品的通用升级流程如下所示:
软件产品的通用升级流程
下面对升级流程中的各个步骤进行详细的说明。
1. 项目研发经理(或项目负责人)下达升级任务书
基于客户的要求或软件功能的改变,项目研发经理(或项目负责人)会向本软件的开发小组下达升级任务书,让他们安排时间按照升级任务书中的内容来制作软件升级包。
升级任务书中大致包括了以下内容:
升级任务的下达时间和要求完成升级的时间。
现场的设备情况和当前软件版本。
本次升级的目标(即升级是要解决什么问题)和需要升级到的软件目标版本。
本次升级的计划进度及参与的人员。
2. 开发工程师按照升级任务书的要求制作软件升级包
升级任务书下达之后,开发工程师就要按照里面的内容来制作软件升级包。
软件升级包的制作流程如下所示:
软件升级包的制作流程
在软件升级包的制作过程中,要注意以下事项:
在制作之前,要详细阅读升级任务书,特别要搞清楚现场的当前软件版本是什么?要升级到哪个版本?
对于某些软件,部署比较的复杂,牵扯到的模块也比较多。为了了解现场的部署情况,我们可能需要现场人员将该软件的相关信息返回来,这些信息包括:软件版本、配置文件、数据库脚本等。我们对现场的了解越多,制作升级包出错的概率就会越小。
在制作升级包的过程中,如果有任何疑问,一定要向相关人员求教,不能就放在那里就不管了。软件的升级很重要,一个小小的问题就可能会导致升级的失败。
在升级包制作完成之后,开发人员一定要先行自测,待自测无误之后再提交测试工程师验证。软件自测的相关环境可以叫测试工程师提供。
如果软件的升级包中涉及到数据库脚本的升级,一定要让现场人员导回现场所用数据库中的数据来验证,以确保脚本处理的正确性。因为很多数据库脚本会对用户的数据进行处理,一旦处理不当,会造成用户数据的丢失或错误修改。
在制作升级包的过程中,开发工程师还要编写升级指导书,用以指导现场人员按照步骤进行升级操作。该文档非常重要,要保证内容的严谨性及正确性。一般说来,该文档包括以下内容:
在新版本中新增加的功能或要解决旧版本中的相关问题。
升级前后,软件的版本号。
本升级包中所包含的内容,如程序、数据库脚本和文档等。
升级前的准备工作,如备份文件和数据等。
软件升级的详细步骤及注意事项。
升级失败后的处理步骤。
升级成功后要验证的功能。
3. 测试工程师对升级包进行详细验证
开发工程师对升级包的自测通过之后,接下来就到了测试工程师的“show time”了。他们会对升级包进行严格的验证,以确保现场升级能够一次搞定。
如果在验证的过程中出现问题,他们会及时联系升级包的制作人员,让制作人员对相关的问题进行修改。这样一个不断循环的过程,直到验证无误为止。
4. 研发经理(或项目负责人)将验证通过后的软件升级包发布到现场
在升级包验证通过之后,研发经理(或项目负责人)就会将它发布到现场,并让现场支持人员与客户约定好软件升级的时间。
软件升级时间确定好之后,研发经理(或项目负责人)会通知相关的开发人员和测试人员做好支持工作,以应对升级过程中突发的情况。
5. 对现场的升级工作进行支持
在软件升级的过程中,相关的开发人员和测试人员需要随时保持通讯的畅通,即:手机要开机、即时通讯工具要打开、邮箱要登陆。如果升级中出现问题,现场人员会及时与开发人员和测试人员取得联系,让他们帮忙解决。他们会将现场出现的情况、日志等信息反馈回来,以供分析。
顺便说一下,因为怕影响用户的正常使用,或者是时区的问题,很多的软件升级被安排到深夜执行,这就要求开发人员和测试人员尽量配合一下,等升级成功之后再休息。
以上五步是一个完整的升级流程,不同的软件产品可能会略有区别。总的说来,软件升级是一个系统的工程,要确保每一步都做到很完美。
随着软件原有功能的不断完善和新功能的层出不穷,对其进行升级是在所难免的,软件的成功升级是广大软件从业者的共同愿望。软件的每一次成功升级,都是售前售后、开发测试等人员通力合作的结果,都是大家用辛苦劳动换来的。不过,当听到新的软件功能被客户啧啧称赞的时候,大家都会觉得非常的欣慰,觉得付出总会有回报的。