浅论现代应用软件的运维及技术支持

(整期优先)网络出版时间:2018-02-12
/ 2

浅论现代应用软件的运维及技术支持

王禹钦

王禹钦

青岛东软载波科技股份有限公司山东省青岛市266000

摘要:软件运维作为软件生命周期的最重要一个环节,需要提供高质量的软件维工作和技术支持。文中叙述了软件运维包括的内容,介绍了应用软件维护的组织方式,给出了应用软件运维的角色和用例图。软件维护涉及的角色包括客户、售后服务人员、软件维护项目组成员。文中详细介绍了各个角色在软件维护过程中的职责和任务,以及相关的工作流程。

关键词:应用软件;运维;技术

1、软件运行维护内容

软件的运行维护包括:改正性维护、适应维护、完善性维护和预防性维护几方面:①改正性维护是指改正软件系统开发阶段已发生而系统测试阶段尚未发现的错误;②适应性维护是指软件系统适应信息技术变化和管理需求变化而进行的修改;③完善性维护是指软件系统扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能;④预防性维护是指为了改进应用软件系统的可靠性和可维护性,为适应未来的软硬件环境的变化,主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。

2、软件运行维护的角色

大型软件交付使用后通常软件公司需要组建该软件运行维护项目组负责提供多个客户方的软件维护和技术支持。软件维护涉及的角色包括客户方人员、售后服务人员、软件维护项目组成员:①客户方人员:即应用软件管理和操作人员,负责软件的日常运营,在软件运营过程中经常会遇到各种技术问题;②售后服务人员:通常称为现场工程师,负责新开局(软硬件环境的安装配置,该应用软件的安装配置),客户方人员技术培训和现场维护;③软件运维项目组:项目组由运维工程师组成,负责应用软件的技术支持,及时解决客户和现场工程师反映的各种技术问题。

3、新开局点技术支持

新开局点是指为新的客户方安装和开通软件运营,需要非常熟悉从发售软件到新局点开局完成的一系列流程,相关软硬件的安装调试。当软件、相关硬件设备、配套操作系统和周边配套软件提供给客户之后,需要协助现场工程师完成客户方的所有硬件设备、配套操作系统、周边配套软件和相关软件的安装、配置与调试,需要随时解决现场工程师在配置与调试过程中遇到的问题,保证客户方软件能够正常完成开局,并稳定运行。

4、软件性能改进

软件性能改进包括两个方面:软件性能自主改进和根据客户方提出的要求进行软件性能改进。

4.1软件特性自主改进。软件特性自主改进包括两个方面:潜在故障、已存在缺陷的自主改进与软件代码质量、全性的自主改进①潜在故障、已存在缺陷的自主改进。运维工程师在对软件故障和缺陷的定位过程中,发现一些潜在的软件缺陷或者可能造成软件故障的问题,需要与维护经理、软件设计人员沟通后,确认是需要改正的缺陷或潜在故障之后,由软件设计人员给出设计方案,运维工程师根据设计方案完成编码解决潜在故障或者存在的缺陷,并将问题合入补丁版本。②软件代码质量、安全性的自主改进。目前在软件开发过程中,持续集成的使用愈来愈广泛了,代码的各项度量指标直接反映着软件质量的优劣。目前代码的静态检查结果、重复率、圈复杂度以及代码缺陷度量值在软件开发的各阶段都极为重视,运维工程师根据对代码进行持续集成的各项度量值,修改代码来进一步提高软件质量与安全性。

4.2根据客户方提出的要求进行软件改进。

客户在对软件的使用过程中,会对一些故障出现比较频繁的地方和使用不便的地方,向软件的开发方提出软件功能改进或者增加新功能的需求。经过软件设计人员对客户方提出改进点或新增功能的分析后给出可行的设计方案,运维工程师根据设计方案完成编码对软件进行改进,并将该问题合入补丁版本。对于针对某些客户需要的新增功能,软件开发方可以使用产品软件的License许可来控制。

5、局点软件系统安全性维护

很多局点为了保证软件、操作系统与配套软件的安全性,会阶段性地使用如绿盟扫描的软件来扫描软件、操作系统和配套软件,并将扫描报告发给运维工程师来协助处理扫描出来的问题。运维工程师根据扫描结果报告中的问题提出解决方案,对于配套软件和操作系统需要实施相关补丁安装或者实施版本升级。在实验环境中实施相应补丁安装后,根据测试用例对产品进行功能验证,如果补丁不会对产品软件功能产生影响时,将补丁提供给客户方,并支持客户方实施补丁安装;对于配套的第三方软件版本升级在实验环境上实施验证后,根据测试用例对产品进行功能验证,如果产品升级不会对产品软件功能产生影响时,将第三方软件加入产品软件补丁发布给客户方。

6、问题案例收集与故障问题定位

问题案例收集与故障问题定位过程说明文档运维工程师对于每个处理过的问题都需要记录到规定格式的文档中,作为资料积累。运维工程师对于每一个案例的局点信息、软件版本、故障原因、定位过程以及解决方案都需要在问题定位清楚之后撰写成规定格式的文档。对于改动的产品软件代码需要将该文档加入维护问题单处理流程。与此同时,还需要保留定位过程中现场工程师提供的日志等文件以及软件系统健康检查的结果文件。以上这些将作为整个运维团队共同的案例资料积累。

7、辅助定位工具开发

为了方便软件故障的定位,软件系统在开发的同时都会开发对应的软件健康检查工具来帮助用户完成软件系统的定期安全性检查,做到对软件故障的早发现早解决。健康检查工具会覆盖到软件的方方面面,且执行一次检查之后,软件进程、Oracle数据库、Linux系统的磁盘空间等内容都会有相应的提示信息显示在操作界面上,另外,也会在固定的路径下生成对应的日志,这些日志文件可以由现场工程师转给运维工程师来协助定位软件问题。软件健康检查工具的功能也会根据软件的需求的变化增加或减少部分功能,更方便运维工程师完成对软件故障的定位,进一步提高工作效率。为了能够快速定位问题,运维工程师也需要自己开发一些健康检查日志的解析工具来帮助解决定位问题。为了定位软件故障,需要现场工程师收集健康检查的日志,健康检查日志包含软件各进程日志、数据库日志、单据、设备组网结构解析、IP地址转换、时间戳转换等数据资料。辅助定位工具可以根据软件健康检查工具增加或减少功能,更方便运维工程师完成对各局点软件故障的定位。

结语:

软件系统运行维护作为软件工程的主要部分,在软件的生命周期中占有很重要的一席之地。无论对软件的质量、成本和企业的声誉都会产生很大影响。应用软件的运行维护工作做好了,将很大程度上提高软件的质量,降低软件的成本,推动软件产业的健康发展。

参考文献:

[1]许家珆.软件工程:方法与实践[M].第2版.北京:电子工业出版社,2011.

[2]李东生,崔冬华,李爱萍.软件工程—原理、方法和工具[M].北京:机械工业出版社,2009.

[3]吴建,郑潮,汪杰.UML基础与Rose建模案例UML[M].第3版.北京:人民邮电出版社,2012.