- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件可靠性综述
作者:徐振洋谢萍武孟
来源:《计算机与网络》2021年第18期
针对大型复杂软件可靠性低、重大任务运行过程中出现软件故障的问题,从软件的全生命
周期角度研究软件可靠性设计方法,从软件架构设计、软件冗余设计、软件健壮性设计、软件
测试设计、软件可读性设计、软件重用设计、数据存储设计、软件错误恢复设计等方面研究软
件可靠性设计方法,涵盖了软件需求、概要设计、详细设计、测试设计等不同阶段,最后以实
例进行验证。
软件是各个系统的必要组成部分,也是各系统的核心功能所在,随着SDN/NFV的出现,
软件的地位和作用越来越突出。同时软件直接面向各级各类运维人员,是网络整体运行状态的
呈现者,为大型任务网可靠高效运行保驾护航,为重大任务的顺利完成提供技术支撑,因此研
制高可靠性高质量的软件势在必行,研究软件可靠性设计是非常有意义的课题。本文从软件生
命周期的角度,研究软件可靠性的各个环节,从软件需求、软件体系架构、软件界面、软件测
试等方面进行研究。
软件可靠性设计
从软件体系架构设计、软件冗余设计、软件健壮性设计、软件测试设计、软件可读性设计
和软件重用设计方面进行详细研究。
软件架构设计
软件体系架构设计主要从软件体系设计、模块化设计、服务化设计等方面进行设计。
①体系化设计:软件系统越来越复杂,可靠性高的软件要求采用层次结构设计,层与层之
间单向依赖,减少复杂性,提高可靠性,是否进行层次结构设计是关注的重点;
②模块化设计:是否采用层次结构与模块化设计相结合的方法,是否进行模块化设计,模
块化设计是否高内聚、低耦合,模块之间接口是否清晰明确简洁,上述都是软件设计的关注重
点;为降低软件的复杂度,采用层级结构和模块化设计相结合的思想,将软件分层,层与层之
间只存在单向德依赖关系,在此基础上分解为若干个功能独立的模块。各模块相互交互,实现
软件的相关功能。但是,随着软件模块的数量增加,软件模块间的信息交互势必大幅增多,增
加了软件的复杂度。因此,软件模块的划分需要考虑软件模块的功能单一性(即软件模块尽量
小)和软件模块间信息交互少的原则。
③服务化设计:将独立功能的软件模块进行了服务化封装,服务之间的通信是否简单明
确,服务是否进行了注册、发布、共享,该项目的服务是全新设计还是基于已有项目的设计;
是否最大限度重用了服务库中的服务,重用服务占整个软件项目服务设计的百分比是多少;因
为成熟的入库服务,均已经经过测试部署使用,其可靠性比较高,直接应用于新项目中既可以
缩短开发時间,又可以提高可靠性。
软件冗余设计
①主备热备设计:对于可靠性要求极高的软件,如航天系统相关软件,一定要采用主备热
备、双机热备模式,确保系统故障时的零切换和数据的实时存储备份。
②重要模块备份设计:针对系统功能强大复杂,软件模块众多的系统的,要重点设计关键
硬件、关键模块备份模式,冷热备份根据实际需求选择。
③信息冗余设计:针对大型复杂系统,数据库是重要的信息存储方式,数据库的选型,选
择达梦、金仓国产化数据库,数据高效存储和读取。
软件健壮性设计
软件健壮性设计包括界面设计、数据设计和软件操作防护设计:
①在界面设计中:对输入数据的有效性及合理性进行设计,数据输入范围设计。
②数据健壮性设计:对输入数据的格式和存储方式进行设计。
③软件误删除防护设计:针对软件的删除设计做防范操作,首先进行删除提示和确认操作
设计,同时针对删除的数据做短时间备份存储,以便出现误操作删除时进行撤销和数据恢复操
作。
软件测试设计
在软件测试设计中,主要关注如下方法:
①需求阶段:是否有详尽的需求说明和设计文档(重点关注是否与用户进行透彻沟通交
流),需求不透彻的话,可能会导致整个系统重新设计翻盘代价甚大。
②概要和详细阶段:进行体系架构设计,软件模块划分设计,软件流程设计和函数设计,
能指导软件编码;
③测试阶段:设计测试用例、测试策略,黑盒测试和白盒测试,进行软件正常运行,超负
荷运行检测并采取手段。
软件可读性设计
软件编程风格是否统一、合理,对增加软件代码可读性、提高软件可靠性、便于软件的维
护等方面有重要影响。要求每一个软件模块标准功能、作用、包含函数。要求软件代码注释率
不低于15%。
针对不同的编程语言分别制定了相应的编程规范,建立了专门编程规范执行制度来约束编
码人员按编程规范编写代码。统一、合理的软件编程风格
您可能关注的文档
- 居住建筑楼梯间节能设计.pdf
- 化工原理实验课后思考题答案与习题.pdf
- 湖北省各地2020-2021年高一下学期3月语文月考试题汇编:名篇名句默写专题.pdf
- 公司员工职务职级管理办法.pdf
- 每日励志文章精选6篇.pdf
- 英语翻译的技巧及注意事项.pdf
- 研发项目管理方案.pdf
- 废品回收的合同范本(4篇).pdf
- 仁爱版八年级英语下册第六单元教案Topic2SectionA.pdf
- 进一步做好残疾人劳动就业工作的若干意见.pdf
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)