王 华,王学宁,张连伟,王 山
(火箭军装备研究院第四研究所,北京 100094)
电子信息系统应用软件可靠性分析
王 华,王学宁,张连伟,王 山
(火箭军装备研究院第四研究所,北京 100094)
在明确软件可靠性对于电子信息系统重要性的基础上,描述了软件主要环境因素,阐明了软件可靠性管理、设计方面的措施,同时结合软件试验进行了可靠性评价,并对于系统软件可靠性工作得出相关结论,以有利于应用软件研制与电子信息系统的建设。
电子信息系统;应用软件;可靠性分析
电子信息系统是以系统工程理论为指导,综合运用先进的技术手段,将业务应用、信息处理、通信保障等功能结合在一起的有机整体。电子信息系统主要特点是涉及领域广泛、人机结合密切、技术更新较快,并且与应用需求紧密相关。电子信息系统研制按照装备型号管理模式,建立了行政业务线和技术业务线,全面落实管理责任制,健全了质量保证体系,强化了技术总体设计和软件工程化管理,并且从管理、设计、试验等方面对软件可靠性工作进行了有效的规划与实施,有力地保证了软件和系统的可靠性能力。
当前应用软件已成为电子信息系统的关键组成部分,软件失效能够导致系统故障与宕机,因此软件可靠性工程是电子信息系统研制的重要内容。软件可靠性分析则通过改进软件可靠性设计与工程管理,提高软件研制过程中的可靠性水平,并对软件产品进行可靠性评价。
软件研制过程是一个包括开发人员、测试人员、应用背景等方面复杂关联并动态演化的过程,其中的种种因素都会影响软件可靠性的水平。环境因素是存在于软件开发、测试、维护等过程中的,对软件的缺陷及失效情况会产生影响的各种特征与行为的集合。软件环境因素作为软件问题的基础与根源,与软件研制过程密不可分。软件环境因素可以分为产品因素、过程因素和资源因素三类,如表1所示。
在电子信息系统应用软件研制过程中,针对可靠性环境因素采取了以下措施:
1)软件可靠性计划表明对可靠性工作的重视程度和所做的努力,体现对软件可靠性要求的实现与保证能力。开展可靠性工作必须分配相应的人员、经费等资源,并要把可靠性计划纳入系统研制计划,同步实施。在计划实施过程中要进行一系列可靠性检查和评审,监督和评价可靠性工作是否按规定要求进行、可靠性要求是否能够得到保证;可利用报告、检查、评审、鉴定和认证等活动,取得相关信息,保证各项工作的顺利开展。可靠性工作计划可分阶段制定与完善,在软件的需求分析阶段、设计阶段、实现阶段、测试阶段,直至维护阶段,应积极实施上述软件可靠性计划的一系列活动,努力保证与落实可靠性水平。
2)强化软件技术评审。在评审过程中对软件设计质量进行跟踪,用文件记录评审的过程和结果。在系统研制过程中进行了软件需求分析、软件概要设计和详细设计、软件确认测试、软件验收等评审。软件评审组对本阶段工作及形成的文档进行审查,按不同评审阶段分别填写软件需求分析评审内容记录表、软件设计评审内容记录表、软件测试评审内容记录表和软件评审问题记录表,经讨论形成审查意见。对于评审中的存在问题,根据评审组的意见,填写问题处理跟踪报告单,完成整改并经上一级认可后,方可转入下一阶段,从而很好地消除了软件缺陷的累积效应。
3)落实软件问题归零。对于在评审、测试与试验中发现的软件问题进行软件评审问题记录与问题处理跟踪,软件测试问题处理、修改和回归。在软件单元测试、集成测试、配置项测试中,依据相应的软件测试计划和测试说明有序地实施了各级别软件测试,用例覆盖了软件的相关接口与有关功能性能指标,同时针对测试中发现的问题进行了认真分析、及时修改、缺陷排除与回归测试,严格执行测试实施—故障分析—软件修改—测试确认的闭环过程;在系统联试过程中,针对出现的有关软件问题及时进行了分析与整改,按照配置管理要求进行软件更改,并通过测试验证软件问题处理的有效性,同时积极地做好软件问题及处理的文件记录,从而切实地提高了软件的可靠性水平。
表1 软件主要环境因素
在系统应用软件的整个开发过程应按照软件工程化要求,应贯彻执行软件工程规范,分阶段并按适当的模型开发软件;完整地列出软件的系统需求,建立一个结构良好的软件系统,并分工完成软件设计、程序编码和软件测试;同时做好软件配置管理和质量保证工作,使软件开发和使用过程具有可追溯性;并积极借鉴和实现CMM、TSP、PSP的有关要求,完善软件开发规范和控制过程,并持续改进软件研制过程,不断提升软件的可靠性技术能力。
在电子信息系统应用软件研制中,充分注重顶层设计,实现支撑平台、传输机制、共享机制、数据标准、信息流程、信息接口的统一和协调,制定与贯彻软件集成与数据集成工程规范、软件设计与编程指南,为系统可靠性提供了坚实的基础。
3.1 软件结构设计
电子信息系统应用软件结构包括系统应用层、专用支撑层、公共支撑层、基础数据层:
1)系统应用层,面向电子信息系统提供业务控制、信息处理、通信保障等要素具体应用。
2)专用支撑层,包括专用软件和专用服务,提供相关业务应用的构件,可集成到业务要素,提供基础信息处理服务。
3)公共支撑层,提供业务作业、情况综合等通用构件与服务,以及多种业务处理手段和统一信息处理服务支持。
4)基础数据层,面向系统及应用软件提供数据存储与管理,其中共享数据库基于信息订阅/分发服务实现系统数据的订阅/分发,专业数据库面向各要素提供业务信息存储与管理。
试样的检测面经研磨后,加以腐蚀,划一条既与熔合线底部相切,又平行于试板轧制面的直线,在此直线上,每隔0.5mm进行维氏硬度的测定,切点两侧各测七点(见图4)。焊接热影响区最高硬度试验结果如表5所示。
3.2 容错设计
在电子信息系统应用软件研制中,在容错设计方面采取了一系列措施:
1)系统数据库通过网络互联形成逻辑整体,可以实现数据的实时同步与更新,保证系统数据的准确性和一致性。
2)数据库运行采用归档方式,定期进行逻辑备份和物理备份,并应与容灾系统结合起来统一设计。
3)各业务数据库按照统一数据库标准、数据字典和标准参考信息,访问统一的系统对象以及其它共享信息,保证数据的一致性。
4)为保证系统数据安全和交换效率,各业务中心的数据交换通过共享库进行,完成电子信息系统有关任务、成果以及临时数据的交互。
3.3 构件化设计
在电子信息系统应用软件研制中,系统地运用了构件化设计,对已有软件按照系统集成标准进行相应构件化改造,对新研制的软件按照系统工程标准进行软件设计和集成,以实现不同技术体制的业务应用软件在同一平台的协调运行。
2)根据软件集成标准,进行新软件的研制。应调用集成者提供的对象转换代理,将应用软件的外部接口包装成通用接口,实现软件的调用与控制规范化。
3)运用设计开发可视化工具,实现业务软件和功能服务的按需定制,对照用户需求选择集成对象,定制系统菜单,完善界面构成,形成满足用户需求的软件发行包和配置文件,并提交用户安装、运行与使用。
在电子信息系统应用软件研制过程中进行了软件测试、系统联试等可靠性相关试验,较为顺利地实现了系统可靠性的不断增长。
4.1 软件测试
在系统总体组统一组织下,进行了软件测试工作的安排,实施了相关软件的单元测试、集成测试、配置项测试,软件测试内容包括功能测试、接口测试、分支覆盖和语句覆盖等。测试步骤从测试计划、测试说明、测试记录准备,到执行测试;对测试过程中出现的差异情况进行了分析,对不合理的和错误的设计提出改进建议,并按研制程序进行有关问题的修改、处理,并先后通过回归测试。通过软件的单元测试、集成测试、配置项测试,尽早地发现并排除了有关软件缺陷,不断保证了软件实现过程产品的基础性质量与可靠性。
4.2 系统联试
电子信息系统应用软件在模拟环境进行了系统联试,联试由总体组组织,质量组实施;其中综合联试共进行33项试验,应用软件责任故障2项。在联试过程中,能够按联试大纲的要求进行充分准备;系统联试项目设置较为科学合理,对系统及各分系统功能项目的测试覆盖率达到100 %;测试人员与开发人员队伍各自独立工作,测试过程严格受控,测试结果真实可信;检验了电子信息系统应用软件的整体功能、性能以及互联互通互操作能力,并很好地验证了电子信息系统及其应用软件的研制要求和设计目标。
4.3 可靠性计算
根据电子信息系统应用软件综合联试有关结果,按照可靠度评估模型:
可以得到系统应用软件在置信度为0.9时的可靠度置信下限为:
电子信息系统应用软件可靠性满足系统研制的相关要求。
在电子信息系统应用软件研制过程中,能够着力推进系统质量管理与软件工程化,密切结合研制要求进行可靠性、安全性和互操作性设计;同时全面地实施了技术评审、软件测试和系统试验,并对测试、试验、评审等所发现的有关问题进行分析与归零,认真做好系统的可靠性、安全性和互操作性改进和确认工作;并且,严格控制各种软件配置的变更与存取,对软件配置控制情况进行及时认真的检查,软件与系统可靠性和质量水平得到了稳定提高并满足要求。随着系统可靠性工程与软件工程化技术的日益发展,软件可靠性与质量工作的不断深化,电子信息系统应用软件可靠性的提升应有更广阔的前景。
[1] 何国伟,王 纬. 软件可靠性[M]. 北京:国防工业出版社, 2001.
[2] 陆廷孝,郑鹏洲等. 可靠性设计与分析[M]. 北京:国防工业出版社, 2001.
[3] 杨为民,阮镰等. 可靠性、维修性、保障性总论[M]. 北京:国防工业出版社, 2001.
[4] 李秋英,李海峰,陆民燕. 基于环境因素的软件可靠性定性评价技术研究[J]. 中国航空学会2007年学术年会,1-8.
[5] 孟令中,陆民燕,张超群. 基于软件生命周期的软件可靠性度量选取与应用[C]. 第六届中国测试学术会议, 2010: 468-473.
[6] 石柱,郑重. 软件可靠性度量实例研究[J]. 系统工程与电子技术, 2011,33(1):233-236.
[7] 李阳. 软件可靠性设计技术运用分析[J]. 数字技术与应用, 2015,15(05): 215.
[8] Daniel Galin. Software Quality Assurance [M]. London:Pearson Education Limited, 2004.
[9] Tasso C. Software Quality Rngineering [M]. Boston: Computational Mechanics Publications, 1997.
王华,江苏盐城人,高级工程师,主要从事信息系统建设、软件可靠性工程以及相关技术研究。
Reliability Analysis of Application Software for Electronic Information System
WANG Hua, WANG Xue-ning, ZHANG Lian-wei, WANG Shan
(The Fourth School of the Rocket Force Equipment Academy, Beijing 100094)
Based upon the importance of software reliability to electronic information system, this paper sets forth main environment factors of application software, puts forward the practical measures for software reliability management and design, carries through reliability validation on basis of software testing, and educes related conclusion, so as to help the development of application software and electronic information system.
electronic information system; application software; reliability analysis
TP311
A
1004-7204(2016)06-0026-04