让你提前认识软件开发(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

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

macOS升级后SVN升级

问题 svn: error: The subversion command line tools are no longer provided by Xcode. 解决 sudo chown -R $(whoami) /usr/local/Cellar brew install svn

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真