您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页装备软件可靠性的影响因素及提升策略

装备软件可靠性的影响因素及提升策略

来源:尚车旅游网
电子质量2017年第02期(总第359期)装备软件可靠性的影响因素及提升策略TheInfluenceFactorsandPromotionStrategiesofEquipment'sSoftwareReliability(中国电子科技集团公司第二十七研究所,河南郑州450047)张文纪,张秀霞ZhangWen-ji,ZhangXiu-xia(The27thResearchInstituteofChinaElectronicsTechnologyGroupCor-poration,HenanZhengzhou450047)摘要:装备软件可靠性是产品质量保障的关键环节,影响软件可靠性的因素有用户方和设计方的差错,建立严格科学的软件管理办法和实为了防止差错,提升软件可靠性,应该提升设计研发人员的认识水平,施方法,以及加强软件测试和固化等多个方面提升软件的可靠性。关键词:软件;可靠性;质量保障;测试中图分类号:TP311.5文献标识码:A文章编号:1003-0107(2017)02-0026-04Abstract:Softwarereliabilityisthekeyequipmentforproductqualityassurance,factorsthatinfluencethere-liabilityofsoftwarekincludeerrorformusersanddesigners.Inordertopreventerrors,wemustimprovesoft-warereliability,improvecognitivelevelofR&Dpersonnelandestablishastrictscientificsoftwaremanagem-entmeasuresandimplementationmethods.Wemustimprovethesoftwarereliabilityandstrengthensoftwaretestingandcuringetc.Keywords:Software;Reliability;Qualityassurance;TestingCLCnumber:TP311.5Documentcode:AArticleID:1003-0107(2017)02-0026-040引言装备软件可靠性是保障产品质量最为关键的一环。2011年5月,美军高价打造的F-22战斗机被宣布停飞,据披露,2007年,12架F-22从夏威夷珍珠港飞向日后来虽然本冲绳,途中由于导航软件出现故障而转向,修复,但是军方支付了20万-30万美元修理费[1]。软件将对影响军事的可靠性之重要由此可见一斑。本论文,并在此基础上提出提产品软件可靠性的因素做出分析,高软件可靠性的策略。软件是一为什么要提出软件的可靠性这一概念呢?软系列按照特定顺序组织的计算机数据和指令的集合,件虽然服务于计算机,但很大程度上软件本身是通过人工完成的,所以存在不完善的可能性。软件的可靠性正软件的可靠性是指软件在是在这样的前提下提出来的。执行所要求功能而不引起规定的条件、规定的时间内,就应该了解影系统失效的能力。要保障软件的可靠性,响其可靠性的因素。1影响软件可靠性的因素我们可以从软件可要讨论软件可靠性的影响因素,能出现的差错来入手。1.1用户方的差错用户提出的需求这主要是指软件需求指令有错误。导致设信息不完整、不正确,或者没有准确的表达需求,计方不能满足用户真正的需求。软件使用发生错误,比如对于软件的操作程序没有或者没有严格按照软件准确和完整了解造成操作失误;要求操作使用等等。1.2设计生产方的差错(1)认识上的错误用户在提出设计需求后,设计方没有及时消化或者准确把握这些需求,或者中途用户软件需求发生变造成编制的软件文档存在更,而设计方没有及时调整,作者简介:张文纪(1967-),男,工程师,主要从事型号装备质量与可靠性管理工作。26错误。(2)操作中的错误一是设计错误。比如对于产品的功能和性能规定有误;软件的输入或输出关系有误;处理的结构和计算方法有误等等。二是编码错误。高质量的软件必须具有维护时间短、易修改、运行高效等特点,编码正确是保证软件可读的基本条件,也是确保软件易维护、和较高运行效率的前提。编码错误包括程序逻辑错误、违背编码标准、语法错误、变量初始化错误等,这将给软件正常运行和维护带来很大的困扰。三是测试错误。有些设计方在没有测试工具和不具备测试条件的情况下开发软件,也有些因为尚未认识软件测试的重要性而舍不得花成本通过测试检验软件效果,导致测试环节造假。也有些是测试定义或者测试的执行中出现错误,如测试用例出错、测试准备数据和实施数据有误等等。四是文档错误。如文档内容不一致、文档不齐全、文档缺乏一致性、可行性等。(3)其它错误软件开发人员对于软件相关硬件不熟悉、不了解,也有可能造成开发出来的软件具有硬件上的不适用和连线错误等。忽略软件工程化、模块化生产方式理念,先有编码,跳过设计。2提升可靠性的策略2.1认识层面的提升软件可靠性是一项复杂的系统工程,在严格的实施过程之前,一定先要建立正确的观念。首先,应对软件可靠性加强认识,形成自觉的尊重科学研发的生产习惯,尊重软件工程化、规范化、结构化、模块化的软件生产方法,使自发的可靠性工作成为有组织、有目标、有合理规划的研究工作[2]。还要建立良好的软件开发风格和习惯。所有的软件产品都和其他硬件产品一样,应该有自己的独特性,软件开发工作者也应该依据自身的特点,形成相应的良好的开发风格和开发习惯,形成严格依据软件需求、硬件需求开发的方式[3]。为了达到这一目的,应该建立软件开发人员的培训机制,定期对与软件开发人员进行培训,达到思想认识与时俱进的要求。2.2建立严格科学的软件管理办法首先,应做到标准化,即建立相关标准,标准应规定程序要求、实验要求、程序语言,包括安全标准、代码标准、软件开发规范、文档标准、文件格式标准等等,标准要明确、可测、完整、一致,还要具备弹性,即可以扩充或者压缩。标准不完善或者不严格,将会直接导致软件错误,所以,标准化是软件可靠性工作的首要环节。其次,应建立科学的软件评审制度。在软件开发的各个阶段,对于软件各类文档进行评审,监管文档的编制,使之完全符合软件需求和要求。再次,强化三库管理。三库,即软件开发库、受控库、产品库。通过三库的控制,能够做到对于软件的变更有据可依、有章可循、有源可查,能够避免软件变更带来的种种混乱。第四,建立和执行完善的软件保密机制,强化员工的保密意识,与软件开发人员签订关于保密的相关协议。第五,明确职责义务,建立健全奖罚措施,实施必要的考核,对于软件工作人员在项目中承担职责、完成情况、贡献程度以及协调作用等方面予以考量,给予奖惩,目的是提高责任意识,推动规范操作,保障产品质量。2.3采用科学可行的实施方法2.3.1明确设计目标,采用科学设计方法软件开发应完全依据标准,根据目标需求而进行。通过设计,确定程序结构、测试点和限制等要素,还有考虑机型、资源、语音、模型即数据结构等实际问题,这些都要在设计阶段予以明确。为了达到这样的设计目标,应该采取以下设计方法。第一,结构化程序设计方法。按照程序要求,将软件需求分成若干独立的、更小的程序要求或者模块化的功能要求,针对每一部分提出各自的规格要求和设计要求,并说明如何和程序中的其他部分接口,指出所有输出输入的方式和测试要求,开发中对于每一个程序和模块分别编程和测试,使得程序与模块间既高度分离又服务于整体的软件需求。第二,容错设计。软件开发是人工完成的工作,要有必要的容错设计,对于软件错误所引起的后果,能够以容错软件予以修正或弥补。容错设计包括:其一,加强软件的强壮性,达到软件设计能够缓解错误的影响,不致于造成死锁、崩溃等严重的后果,并且能够指出错误源。其二,采用N(≥2)版本编程法,就是尽可能用不同的算27电子质量2017年第02期(总第359期)法和编程语音,由不同的班组编制,形成各版本软件的独立性,这N个软件版本同时在N台计算机上运行,各计算机间能进行高效的通讯和做出快速的比较,结果一致和不一致时,都能按照标准做出规范化快速处理,比如结果不一致时,能够按照表决或者预定策略选择输出。其三,选择性控制。即为一个系统设计研发两种不同的算法,一种是正常情况算法,另一种是应付异常事故处理方法。若趋于危险和故障区域,就用第二种算法,驱使系统脱离危险状态,等待系统恢复正常后,又可以按照正常的算法继续进行计算。本文所提供的,是比较典型的容错设计,总之,容错设计是必要的设计环节,有了容错设计,就等于给软件运行上了一道技术保险。第三,自顶而下的设计。这是说,把一个系统看做由顶端向下而进展的设计层次。设计人员可以将一个系统功能中最为抽象的功能作为顶端,以它为起点设计一系列细化的子系统,一个个子系统合作完成最高层次的功能,每个子系统下又设有一系列更为详细的子系统,形成了功能层层分解,有机统一的设计模式,向下分解直到低阶子系统能够方便而准确地用程序设计语言为止。这种设计方法,指出了复杂性不同的处理层次,执行该方法的原则是保障设计要素之间关系清晰,子系统的设计合理。如果合理运用这种设计方法,就能够在设计初期发现可能出现的设计问题,精准地避免差错的发生,做到细节落实,整体优质。2.3.2确保开发过程步步严谨无误第一,软件编码应无缺陷。编码产生的缺陷是软件发生差错的主要原因之一,开发过程中,应该时刻避免输入错误编码、数值错误、丢失代码等差错,还要防止使用了被零除这样不定值的表达式。为了减少软件编码方面发生的错误,避免由于编码错误带来是经济和其他方面的损失,应实现软件设计与软件实现分离,由高水平的软件工作人员完成软件设计,再由高水平的程序设计员编制程序,程序员带着查找差错的职责进行编码工作,以此避免软件设计工作人员因思维定势而不能及时发现差错。第二,重视采用现有的成熟软件。当前是技术更新快的时代,但总有一些成熟的经过实践检验的软件,短时期内仍有利用空间。现有成熟的软件,已经经过了严格的运行检测,在研发、运行、纠错、维护过程中,已经排除了差错,达到了较高的可靠性。采用现有成熟软件,能够缩短开发软件的周期,保障软件可靠性和可维护性,是一种应该予以重视的方法,应该在设计之初,就列入工作环节。但是,在选择重用软件时,要严格遵照标准,28符合软件需求。所选用的软件必须经过严格测试,有着可靠性和正确性证明,也应该具备高度的可适应性。除此之外,也应该对于存在有共性的、可以相互移植的子程序建立软件库,便于及时筛选,发现可以重用软件,提高工作效率。第三,严格实施测试。测试方法包括黑盒测试方法和白盒测试方法两种,单元测试宜采用白盒测试法,系统测试和集成测试宜采用黑盒测试法。首先是开发阶段的测试。在开发阶段,对于一个较大的软件系统进行全面的测试会发生较高的成本,纠错的困难会很大,所以,有必要在软件开发中的各个时期,分阶段地实施测试来检验阶段性产品和及早发现错误,最大限度地纠错,一般来说,软件开发测试应占开发工作的45%,可以说,软件测试贯穿于软件定义和开发的整个过程,以此实现软件可靠性的保障。其次是产品交付阶段的测试。此时的测试主要用来检验软件产品是否达到用户要求,对于装备产品,应考虑委托第三方独立完成软件全过程的监督管理和质量测评,即通常所说的第三方测试。总之,软件测试是软件可靠性的确认,是产品质量的保证,是防止产品在使用过程中发生较大维护成本甚至错误的关键环节。2.4保障软件开发工具与环境合理软件开发一定要有强有力的支持体系,软件工具与环境就是对于软件开发过程的重要支撑,软件工程所提供的支撑质量与效用,是软件项目质量的直接决定因素。软件开发中,相关仪器、仪表形成的开发环境,应与用户使用软件的环境、软件测试的硬件环境保持高度一致,这样才能达到软件使用需求的目标,并且能够在测试中最大限度地暴露缺陷。2.5加强软件固化软件固化的功效是使软件运行中不受干扰,掉电后程序不会丢失。3结束语软件可靠性是装备达到运行标准的必要保障,确保软件可靠性是一个多方合作的系统工程。设计编码人员必须提高对于软件可靠性的认识,开发小组和所在机构应形成严格的软件工程化管理制度,用户应保持密切沟通,精确表达软件需求,而在设计、开发和测试、验收等所有环节,相关个人和部门都应采用正确的方法、先进的技术以确保软件的可靠性。参考文献:[1]F-22猛禽为啥趴窝[EB/OL].http://news.sina.com.cn/o/2011-08-17/020023001532.shtml,2011-08-17.[2]胡皓.提高控制系统软件可靠性的措施[J].陕西工学院学报,2002,18(1):19-22.王勇.提高软件可靠性的策略[J].电子科技,2010,[3]陈煜,23(9):127-129.上接3页达到了预期的的峰谷差有所下降,负荷波动幅度减小,设定目标。[4]Clement-NynsK,HaesenE,DriesenJ.TheImpactofCha-rgingPlug-InHybridElectricVehiclesonaResidentialD-istributionGrid[J].IEEETransactionsonPowerSystems,2010,25(1):371-380.[5]高赐威,张亮.电动汽车充电对电网影响的综述[J].电网技术,2011,35(2):127-131.[6]QIXM.TheEstablishmentofSortsPerformancePredicti-onModelBasedonBPNeuralNetworkandSolutionbyS-PSS[C].Proceedingsof2ndInternationalConferenceonM-anagementScienceandIndustrialEngineering,Nanjing,2013,10(27):92-95.[7]孙晓明,王玮,苏栗,等.基于分时电价的电动汽车有序充电控制策略设计[J].电力系统自动化,2013,37(1):191-195.[8]田文奇,和敬涵,姜久春,等.基于自适应变异粒子群算法的电动汽车换电池站充电调度多目标优化[J].电网技术,2012,36(11):25-29.[9]华周发,李静.电动汽车动力电池SOC估算方法综述[J].电源技术,2013,37(9):1686-1689.[10]杨冰,王丽芳,廖成林.大规模电动汽车充电需求及影响因素[J].电工技术学报,2013,28(2):22-28.4结语本文分析了估算电池SOC的方法,并依据电动公交车充换电站的运营模式,结合遗传算法优化BP神经网络的方法来提高估算SOC的精度,以此来制定充电控制策略,并对该策略进行算例分析验证。结果表明:该充电策略能够实现将白天峰值时段的充电量降低,并转移到夜晚谷时段进行集中大量充电,起到了削峰填谷的作用,减小了电力负荷波动,达到了电网负荷调度的要求,使电网能够稳定运行。参考文献:[1]齐智,吴锋,陈实,等.利用人工神经网络预测电池SOC的研究[J].电源技术,2005,29(5):325-328.[2]徐文,王大忠,周泽存,等.结合遗传算法的人工神经网络在电力变压器故障诊断中的应用[J].中国电机工程学报,1997,17(2):109-112.[3]王德明,王莉,张广明.基于遗传BP神经网络的短期风速预测模型[J].浙江大学学报(工学版),2012,46(5):837-842,904.29

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务