让你提前认识软件开发(43):软件产品升级流程

2023-10-20 21:59

本文主要是介绍让你提前认识软件开发(43):软件产品升级流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第3部分 软件研发工作总结

软件产品升级流程

 

        一个软件产品做出来之后,并不是说永远都不用变了。基于以下的种种原因,我们需要对原软件产品进行升级:

        (1) 用户对软件功能提出了新的要求,现在运行的软件不能满足用户的新需求。

        (2) 原软件存在bug,用升级的方式来修补这些bug

        (3) 对原软件的程序进行了优化,新的软件能够提升程序的执行效率。

        (4) 自主开发了一些新功能,能够提升用户的体验。

 

        对于通讯类软件产品来说,升级是一项浩大的工程,其中牵涉到很多人,包括:市场人员、开发人员、测试人员、技术支持人员等。

        一般说来,通讯类软件产品的升级流程如图1所示:

1 通讯类软件产品的升级流程

 

        下面对升级流程中的各个步骤进行详细的说明。

         1. 项目研发经理下达升级任务书

        基于上面提到的原因中的一种或几种,客户会要求对软件产品进行升级。现场的相关人员会将客户的要求告知研发经理,请他进行评估。

        研发经理评估通过之后,会向本软件的开发小组下达升级任务书,让他们安排时间按照升级任务书中的内容来制作升级包。

        升级任务书中包括以下内容:

        (1) 升级任务的下达时间和要求完成升级的时间。

        (2) 现场的设备情况和当前软件版本。

        (3) 本次升级的目标(即升级是要解决什么问题)和需要升级到的软件目标版本。

        (4) 本次升级的计划进度及参与的人员。

 

         2. 开发工程师按照升级任务书的要求制作软件升级包

         升级任务书下达之后,开发工程师就要按照里面的内容来制作软件升级包。

         软件升级包的制作流程如图2所示:

2 软件升级包的制作流程

 

        在软件升级包的制作过程中,要注意以下事项:

        (1) 在制作之前,要详细阅读升级任务书,特别要搞清楚现场软件版本是什么?要升级到哪个版本?

        (2) 对于某些软件,部署比较的复杂,牵扯到的模块也比较多。为了了解现场的部署情况,我们可能需要现场人员将该软件的相关信息返回来,这些信息包括:软件版本、配置文件、数据库脚本等。我们对现场的了解越多,制作升级包出错的概率就会越小。

        (3) 在制作升级包的过程中,如果有任何疑问,一定要向相关人员求教,不能就放在那里就不管了。软件的升级很重要,一个小小的问题就可能会导致升级的失败。

        (4) 在升级包制作完成之后,开发人员一定要先行自测,待自测无误之后再提交测试工程师验证。软件自测的相关环境可以叫测试工程师提供。

        (5) 如果软件的升级包中涉及到数据库脚本的升级,一定要让现场人员导回现场所用数据库中的数据来验证,以确保脚本处理的正确性。因为很多数据库脚本会对用户的数据进行处理,一旦处理不当,会造成用户数据的丢失或错误修改。

        在制作升级包的过程中,开发工程师还要编写升级指导书,用以指导现场人员按照步骤进行升级操作。该文档非常重要,要保证内容的严谨性及正确性。一般说来,该文档包括以下内容:

        (1) 在新版本中新增加的功能或要解决旧版本中的相关问题。

        (2) 升级前后,软件的版本号。

        (3) 本升级包中所包含的内容,如程序、数据库脚本和文档等。

        (4) 升级前的准备工作,如备份文件和数据等。

        (5) 软件升级的详细步骤及注意事项。

        (6) 升级失败后的处理步骤。

        (7) 升级成功后要验证的功能。

 

         3. 测试工程师对升级包进行详细验证

        开发工程师对升级包自测通过之后,接下来测试工程师就粉墨登场了。他们会对升级包进行严格的验证,以确保现场升级能够一次搞定。

        如果在验证的过程中出现问题,他们会及时联系升级包的制作人员,让制作人员对相关的问题进行修改。这样一个不断循环的过程,直到验证无误为止。

 

         4. 研发经理将验证通过后的软件升级包发布到现场

         在升级包验证通过之后,研发经理就会将它发布到现场,并让现场支持人员与客户约定好软件升级的时间。

         软件升级时间确定好之后,研发经理会通知相关的开发人员和测试人员做好支持工作,以应对升级过程中突发的情况。

 

         5. 对现场的升级工作进行支持

         在软件升级的过程中,相关的开发人员和测试人员需要保持通讯的畅通,即:手机要开机、即时通讯工具要打开、邮箱要登陆。如果升级中出现问题,现场人员会及时与开发人员和测试人员取得联系,让他们帮忙解决。他们会将现场出现的情况、日志等信息反馈回来,以供分析。

        顺便说一下,因为怕影响用户的正常使用,或者是时区的问题,很多的软件升级被安排到深夜执行,这就要求开发人员和测试人员辛苦一些,等升级成功之后再休息。都说搞软件的很辛苦,辛苦在哪里?就辛苦在这些地方。

 

        以上五步是一个完整的升级流程,不同的软件产品可能会略有区别。总的说来,软件升级是一个系统的工程,要确保每一步都做到很完美。

 

        随着软件原有功能的不断完善和新功能的层出不穷,对其进行升级是在所难免的,软件的成功升级是广大软件从业者的共同愿望。软件的每一次成功升级,都是售前售后、开发测试等人员通力合作的结果,都是大家用辛苦劳动换来的。不过,当听到新的软件功能被客户啧啧称赞的时候,大家都会觉得非常的欣慰,觉得付出总会有回报的。

 

 

 

(本人微博: http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

这篇关于让你提前认识软件开发(43):软件产品升级流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/249993

相关文章

精准寻车+鸿蒙有礼特别版均已上线! 华为鸿蒙HarmonyOS 6负一屏新升级

《精准寻车+鸿蒙有礼特别版均已上线!华为鸿蒙HarmonyOS6负一屏新升级》不少朋友升级华为鸿蒙HarmonyOS6后,发现华为负一屏此次也新增了精准寻车功能,还为过往鸿蒙5.1及以上用户再度... 最近科技圈热议话题当属华为全新发布的Mate 80系列,这次不仅有全金属机身,第二代红枫影像和全新麒麟新品

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践