软件检验中的六性要求探讨

来源 :计算机与网络 | 被引量 : 0次 | 上传用户:liangsfr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对大型复杂软件可靠性低、重大任务运行过程中出现软件故障的问题,从软件的全生命周期角度研究软件可靠性设计方法;从软件可靠性检验、软件维修性检验、软件保障性检验、软件测试性检验、软件安全性检验和软件环境适应性检验等方面探讨软件六性检验方法。针对软件可靠性检验,从软件失效、功能剖面、失效模式和影响度分析、可靠性定义、可靠性模型选择和指标分配,涵盖了软件需求、概要设计、详细设计及测试设计等不同阶段,最后以实例进行验证。
  关键词:关键件;失效模式;可靠性模型;六性检验
  中图分类号:TP393 文献标志码:A 文章编号:1008-1739(2021)13-70-4
  Discussion on Six Properties of Software Inspection
  ZHAO Zhiwei1, WANG Meng2, ZHOU Hui3, AN Na4
  (1. Unit 91917, PLA, Beijing 102401, China;
  2. Military Representative Office of the Equipment Department of PLA Rocket Force Stationed in Langfang, Langfang 065000, China;
  3. Military Representative Office of the Military Representative Bureau of Equipment Development Department of CMC Stationed inShijiazhuang, Shijiazhuang 050081, China;
  4. The 54th Research Institute of CETC, Shijiazhuang 050081, China)
  Abstract:In view of low reliability of large and complex software and software fault in running, the design of software reliability isstudied. The inspection method of six properties of software is discussed, from the view of software lifetime, including softwarereliability, maintenance, safeguard, testing and safety and environments adaptability. Aiming at the software reliability, the softwarefault and software function profile and fault mode, effect analysis, reliability definition, reliability model choice and indexes allocationcover the software requirement, online design, detailed design and testing design. At last, the verification is done by using the instance.
  Keywords:key module; fault mode; reliability model; six properties inspection
  0 引言
  軟件是各个系统的必要组成部分,也是各系统的核心功能所在,随着 SDN/NFV 的出现,软件定义网络及硬件功能软件化、虚拟化,软件的地位和作用越来越突出。同时软件直接面向各级各类运维人员,是网络整体运行状态的呈现者,为大型任务网可靠高效运行保驾护航,为重大任务的顺利完成提供技术支撑,因此研制高可靠性高质量的软件势在必行,研究探讨软件六性检验、提升软件质量和可靠性具有重要意义。
  1 软件可靠性检验
  软件可靠性检验主要包括软件复杂度、软件冗余、软件健壮性、软件避错和软件程序可读性检验。
  1.1 软件复杂度检验
  软件复杂度检验主要关注层次结构、模块化设计、服务化设计等方面:
  ①体系架构检验:检验软件是否有体系架构设计图,针对大型复杂软件,重点检验是否进行体系架构的层次性分解。
  ②功能剖面设计检验:是否进行软件功能分解,是否封装为软件模块,软件模块的分解图、软件的关键件和重要件是否确定,软件的功能剖面是否具备,软件功能剖面是否进行了功能模块标识、功能模块说明;是否将软件功能剖面进行了功能执行概率分解,执行概率与软件可靠度是否进行了分解和匹配。
  ③服务化设计检验:是否将软件模块进行了服务化封装,服务化的软件模块是否采用标准的服务接口进行消息交互。
  ④软件失效分析:是否描绘了软件失效模式与影响分析表,细化为软件模块的失效模式、失效原因、失效影响和严重程度,对整个软件的失效影响概率。
  ⑤关键件重要件的失效模式及故障恢复:在软件功能模块化分解之后,提取对软件系统有重大影响的模块,确定为关键件或重要件,分析失效模式以及故障快速处理手段和方法。
  ⑥可靠性指标分配:将系统可靠性指标进行了分配和分解,确定软件系统的可靠性三要素,即规定的条件、规定的时间和规定的功能。
  规定的条件指软件的运行环境,涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其他支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况以及对输入数据的要求。   规定的条件还指软件的用法,一个软件的可靠性随着用法的不同而不同。有些用法可以揭露软件的故障,有些则不能揭露软件的故障。因此如何定义软件的用法,以及如何度量软件用法对软件失效的影响,是软件可靠性设计中的一个主要问题。
  规定的时间指软件的工作周期,软件可靠性是时间的函数,失效的概率随着系统工作周期的增长而增加。软件可靠性只是体现在运行阶段,所以将运行时间作为规定的时间的度量。运行时间包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。
  规定功能指软件不出现失效。如果一个系统不能完成其规定功能,就说明它已经失效。规定的功能通常在软件需求规格说明书中定义,软件可靠性与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的模块就不同(即程序路径选择不同),其可靠性也可能不同。
  软件系统可靠性模型确定,可按照系统可靠性设计选用串联模型、并联模型和权联模型。在此基础上进行软件系统可靠性指标分配。
  1.2 软件冗余检验
  软件冗余检验主要有以下 3 个方面:
  ①系统主机备份:对于可靠性要求极高的软件,如航天系统,一定要检验相关软件是否支持或采用主备热备、主备冷备、双机热备、多机热备模式部署,确保软件无故障运行,保证重要信息和数据的实时正确存储备份。
  ②重要模块备份:针对系统功能强大复杂、软件模块众多的系统的检验,尤其是航天类系统,要重点检验关键软件模块是否有备份,备份方式是热备份还是冷备份。
  ③信息冗余:针对大型复杂系统,数据库是重要的信息存储方式,因此对数据库要重点检验,一是关注数据库的选型方面是否选择可靠性较高的数据库,二是检验数据库是否具备实时自动备份和异地存储备份功能。
  1.3 软件健壮性检验
  在软件健壮性检验中,重点关注如下方面:
  ①在界面检验中,检验时重点关注软件界面是否需要输入的地方均采用下拉列表框设计,尽量减少编辑框,软件界面是否对输入数据的有效性及合理性进行设计,数据输入范围(最大值、最小值、合理值、非法值)等是否有相应提示或错误输入限制。
  ②软件数据健壮性方面:重点检验软件是否采用数据实时自动备份等方式,针对重要数据的误删除操作是否有信息备份恢复机制。
  1.4 软件避错检验
  在软件避错检验中,主要关注如下方面:
  ①需求檢验:是否有明确的功能需求、性能需求、接口需求、环境需求、安全需求和人机界面需求。
  ②设计检验:是否有详尽的概要设计、详细设计、接口设计和数据库设计文档,是否与需求说明直接一一对应。界面设计检验重点针对界面的友好性、界面输入限制和错误提示。
  ③测试检验:重点检验是否有规范准确测试标准、规范,测试大纲、测试用例、测试报告,测试用例是否遍历所有的测试项目,是否涵盖功能、性能及接口等,测试用例是否具有正常值、边界值、异常值等边界测试。
  1.5 软件程序可读性检验
  检验软件代码是否进行了标注和解释说明,代码注释率是否达到软件规模的 15%,针对软件模块级的注释,是否有模块功能、模块接口说明;针对函数级的注释,是否有函数功能、函数输入、函数输出、参数解释的说明。
  2 软件维修性检验
  软件不同于硬件,其维修性通常定义为针对软件模块的故障定位,同时软件运行正常与否也取决于软件所运行的硬件平台、支撑软件、应用软件、安装部署、软件架构设计方式等多个方面。为提高软件的维修性水平,拟采取以下维修性措施:
  ①软件运行载体选用的硬件平台均为通用的、稳定的、成熟的 PC 机和服务器设备,选用在国产关键软硬件应用推进计划中安排的国产服务器中的一种,内部都采取了模块化和标准化设计,便于检查、维修和更换故障模块;
  ②软件运行载体整体结构和设备内部结构布局合理,能够实现视觉可达、实体可达,并提供充足的操作空间,最终保障维修的可达性;
  ③软件架构采用松耦合、紧内聚的模块化设计方法来提高系统的可扩展性和易用性,便于在软件发生故障时迅速定位和修复软件;
  ④在软件数据库设计过程中考虑到数据备份和恢复功能,能够在数据丢失、损坏的情况下方便恢复,加快修复速度。
  3 软件保障性检验
  保障性是系统设计特性和计划的保障资源能满足平时战备和战时使用要求的能力。为提高软件系统的保障性,从软件保障、技术保障、人员保障和售后保障 4 个方面进行保障性设计:
  ①软件保障:软件运行的支撑软件,如操作系统、数据库系统和办公软件等支撑软件都使用自主软件或通用软件,能够保障软件产品质量和供给。
  ②技术保障:是否拥有较为完善的质量控制手段和健全的质量体系。在产品研制、交付时,要求提供足够的技术保障资料,便于软件系统的使用和维护,具有持续改进和升级完善能力。
  ③检验是否拥有完善的管理体制和技术队伍,能够提供良好的人员保障。
  ④售后保障:对用户进行系统、严格的培训,使用户达到原理清晰、操作合理、维护及时。技术服务分为两阶段,第 1 阶段,软件系统交付用户前,对用户进行技术咨询、技术培训,使用户对订购系统的技术状态具有全面了解;第 2 阶段,软件系统交付用户后,对用户在使用操作过程中出现的各类技术问题进行讲解,并协助用户解决使用过程中出现的各类技术问题和进行必要的升级维护。
  4 软件测试性检验
  软件系统的测试性设计主要从可测性设计、接口测试性、自身测试性、界面测试性方面进行设计,包括以下内容:
  ①可测试性设计:对软件的功能测试、性能测试、标准符合性测试、容错测试、压力测试、安全性测试及运行测试等方面进行设计。
其他文献
许多网友都想在电脑里刷抖音,可是以前想在电脑里刷抖音,就得装个安卓模拟器。现在好了,来自官方的抖音网页版来啦,终于在电脑里也可以轻松刷抖音了,赶紧来看看这个网页版好用不。  打开抖音网页版首页(https://www.douyin.com/),可以看到这个正在处于测试版的抖音网页版采用了传统的视频网站设计布局,最上方为搜索栏,然后是视频分类,接着就是各种推荐视频。总之布局跟某网很像。  抖音网页版
遵循攻击面管理的一些优秀实践可以最大限度地减少漏洞,并减少威胁行为者危害企业网络和设备的机会。  更多的云计算解决方案、远程工作系统以及连接互联网的设备会增加网络攻击面扩大的风险。减少漏洞数量的最佳方法是建立适当的企业攻击面管理程序。  以下是构建企业攻击面管理程序时需要考虑的一些优秀实践。  映射攻击面  要进行适当的防御,企业必须了解数字资产暴露的内容,网络攻击者最有可能以网络为目标的位置,以
捷联惯导系统能够满足载体在高电磁干扰,高动态下的导航定位需求,是卫星导航定位系统的有效补充。惯性器件具有器件误差大,误差随时间积累的特点,实际使用中需要对惯性器件进行误差标定和补偿。本文对误差进行了分类,介绍了基于阿伦方差的误差辨识及随机噪声的抑制技术,建立了系统误差模型,设计了系统误差的标定方法,设计了算法的验证试验,结果证实了算法的有效性。  物体的运动姿态一般用运动的方向、速度、加速度以及加
本文介绍了一种杂散小、相位噪声好、频率调整步进小以及高稳定度的频率合成器的设计方法,选用了 ADI 公司的HMC833 锁相环芯片进行频率源设计。  频率源在现代通信中是重要组成的部分。其模块的指标直接影响到整个系统的性能。许多人对高性能的频率源,做了深入研究,本文应用 ADI 公司的 HMC833LP6GE 芯片,设计出了高性能、高稳定度和高精度的本振源。  系统设计方案  技术指标:  频率范
我国云计算市场正处于高速发展的阶段,而容器、微服务等技术的不断成熟又推动着云计算的变革。在此过程中,由云计算产业发展带来的人才需求也在大幅激增,在《云计算发展趋势发展报告》中表示,云计算人才缺口已经高达到170 余万。本文针对计算人才缺乏的问题,提出了开设云计算开发的课程,结合产学研合作为实践教学的指导模式, 通过亚马逊云(AWS)提供的学习管理系统(LMS),有效地整合教学资源,以培养出更多优秀
伴随技术的不断进步,计算机的使用越来越广,很多企业的发展都需要计算机来提供信息。而计算机信息加密技术作为计算机使用最基础的部分,对整个计算机使用过程都具有极其重要的作用,这项技术为人们安全使用计算机提供了保障。本文主要分析了现阶段信息化背景下计算机信息加密技术的应用。  随着我国科技以及社会经济的进步,电子信息技术不仅方便了当代社会的发展,也带来了挑战。计算机网络比较开放,其中的信息是面向全社会的
随着传统教学模式的改革之后,混合式教学模式成为目前较为主流的教学模式,这种教学模式现在受到了很多教育从业者的关注,毕竟混合式教学模式相对于传统教学模式来说教学效果会更好。混合式教学模式的存在,在课堂上能够让教师更好地去关注不同的学生个体,使不同类型的学生都能够得到合适的培养。而且考虑到UI设计课程本身就需要培养学生的创意能力和实践能力,正好混合式教学模式的原则之一就是学生主体性原则,所以通过混合式
期刊
摘要:针对国际移动卫星通信公司的主流通信系统——海事四代卫星通信系统,介绍了网络架构、卫星载荷的组成和技术特点。近年来,海事四代卫星出现了许多新业务类型,包括适用于流媒体的高速数据传输业务、应用于定位领域的星基增强系统、物联网应用以及军事应用,从信号参数、工作原理以及使用角度对新业务进行了剖析,总结了海事四代卫星业务种类及发展趋势。  关键词:卫星移动通信;卫星接入站;高速数据传输业务;星级增强系
摘要:针对低密度奇偶校验码(Low Density Parity Check Code,LDPC)码长长、码率多、校验矩阵复杂,导致 FPGA 开发难度大、开发周期长等问题。在对 LDPC 校验矩阵和译码算法深入分析基础上,提出了一种基于 HLS 的 LDPC 设计与实现方案。基于 HLS 开发流程完成了 LDPC 译码的 RTL 实现,详细说明了开发过程的关键问题及优化办法。与常规 HDL 开发