工程硕士文献综述报告.docx
- 文档编号:7774942
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:8
- 大小:23.97KB
工程硕士文献综述报告.docx
《工程硕士文献综述报告.docx》由会员分享,可在线阅读,更多相关《工程硕士文献综述报告.docx(8页珍藏版)》请在冰豆网上搜索。
工程硕士文献综述报告
可靠性与系统工程学院
学位论文研究文献综述报告
工程领域:
工业工程
研究方向:
可靠性技术工程
学生姓名:
指导教师:
完成日期:
2012-04-10
一中英文摘要和关键词
摘要:
本文通过阅读软件可靠性相关文献,阐述了软件可靠性工程国内外的研究现状,论证了软件可靠性工程在机载显示器软件开发中应用的可行性,提出了通过机载显示器软件可靠性设计与分析来提高机载显示器软件可靠性。
关键词:
软件可靠性工程,机载显示器,可靠性设计,可靠性分析。
Abstract:
Inthispaper,byreadingtherelevantliteratureonsoftwarereliability,softwarereliabilityengineeringandtheresearchstatusathomeandabroad,discussesthesoftwarereliabilityengineeringinairbornedisplaysoftwaredevelopmentapplicationfeasibility,putforwardbytheon-boardmonitorsoftwarereliabilitydesignandanalysisofairbornedisplaytoimprovethesoftwarereliability.
Keywords:
softwarereliabilityengineering,airbornedisplaysoftware,reliabilitydesign,reliabilityanalysis.
二研究方向阅读文献的概述
针对机载显示器软件可靠性设计与分析的课题,利用互联网资源进行文献检索,中文文献主要来源于中国知网(包括:
中国期刊全文数据库、中国优秀博硕士学位论文数据库、中国重要会议全文数据库)、维普中文科技期刊数据库、万方数据资源系统(包括:
学术期刊、学位论文、会议论文);英文文献主要来源于IEEE数据库、AIAA数据库,ACM数据库,SCI数据库等。
等途径查阅了大量的文献资料及相关标准,获取到大量有关本研究课题的信息,包括已出版发行的标准、专著和期刊等。
2.1文献检索范围和主题词
本文的文献检索内容分为四个部分:
1)软件可靠性
中文检索的主题词为:
软件可靠性。
英文检索的主题词为:
SoftwareReliability。
2)软件可靠性工程
中文检索的主题词为:
软件可靠性工程。
英文检索的主题词为:
SoftwareReliabilityEngineering。
3)软件可靠性设计
中文检索的主题词为:
软件可靠性设计。
英文检索的主题词为:
SoftwareReliabilitydesign。
4)软件可靠性分析
中文检索的主题词为:
软件可靠性分析。
英文检索的主题词为:
SoftwareReliabilityanalysis。
2.2文献检索篇数统计
检索到的相关文献统计如表1所示(单位:
篇):
表1文献检索统计表
书籍(含标准)
期刊
学位论文
会议摘要
网络文章
中文
6
18
8
0
6
英文
4
16
0
1
2
通过阅读搜索到的这些资料,为后续研究工作的开展积累了必要的理论基础,开阔了研究思路。
三所述研究方向国内外的研究现状、最新研究成果及发展趋势
本文的主要研究内容为针对机载显示器软件可靠性设计与分析研究。
因此,本文包括四个部分的内容:
软件可靠性、软件可靠性工程、软件可靠性设计及软件可靠性设计。
3.1软件可靠性
软件可靠性是指在规定的条件下和规定的时间内,软件不引起系统故障的能力。
特别是在军事、通讯等领域的应用中,如何保证系统的软件具有一定的可靠性以避免灾难性后果的发生,是当前计算机软件一个十分重要的研究课题[1]。
1983年美国IEEE计算机学会对“软件可靠性”作出了明确定义,此后该定义被美国标准化研究所接受为国家标准,1989年我国也接受该定义为国家标准。
该定义包括两方面的含义:
1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率;
2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。
其中的概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,系统输入将确定是否会遇到已存在的故障(如果故障存在的话)。
软件可靠性问题正逐渐成为软件质量的一个极其重要的因素,是评估软件质量的重要指标之一。
可以从以下几个侧面来认识它的重要性[2]。
1)软件失效可能会造成灾难性后果。
以下是一些熟知的例子:
由于控制系统Fortran程序少写了一个逗号,致使美国的首次金星探测计划失败;1990年美国长途电话业务由于软件故障而瘫痪9小时;1996年欧洲航天局的“阿丽亚娜5型火箭”发射失败主要是由于其惯性制导系统的软件出现设计错误所造成的;由于放射性治疗设备的软件错误,在加拿大造成多起癌症病人因受到过量放射性辐射而死亡的事故;
2)软件失效经常发生。
Bell实验室曾对一个AT&T运行支持系统作统计,发现80%的失效与软件有关[3]。
究其原因,是软件太复杂了。
一个小小的程序,其可能的执行路径可以是天文数字,以致于在软件开发过程中难于对其进行穷尽的测试,或者说难于完全排除软件缺陷;
3)相对于硬件可靠性技术,软件可靠性技术还很不成熟,这更加重了软件可靠性问题的重要性和紧迫性;
4)软件在系统中占有的地位越来越重。
硬件的价格不断下降,但是软件费用却有增无减。
软件可靠性问题是造成这一趋势的主要原因之一。
很多软件的检测工作量超过总开发工作量的40%,高可靠性软件甚至达到80%[4]。
5)对企业来讲,提高软件产品的可靠性,有利于改善企业信誉,增强竞争力,提高经济效益。
软件可靠性与硬件可靠性之间主要存在以下区别:
1)硬件失效率具有浴盆特性,随着早期问题的剔除,失效率不断下降,使用到一定时间后,由于物理耗损,失效率不断上升,软件失效率不存在浴盆曲线,随着软件设计缺陷的不断排除软件的失效率不断降低[5];
2)硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状态的函数,更多地决定于人;
3)硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过重设计;
4)对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术;
5)软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软件错误。
总的说来,软件可靠性比硬件可靠性更难保证,即使是美国宇航局的软件系统,其可靠性仍比硬件可靠性低一个数量级[6]。
软件可靠性是关于软件能够够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。
软件差错是软件开发各阶段潜入的人为错误[7】:
1)需求分析定义错误。
如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等;
2)设计错误。
如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等;
3)编码错误。
如语法错误,变量初始化错误等;
4)测试错误。
如数据准备错误,测试用例错误等;
5)文档错误。
如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。
从上游到下游,错误的影响是发散的,所以要尽量把错误消除在开发前期阶段。
错误引入软件的方式可归纳为两种特性:
程序代码特性,开发过程特性。
程序代码一个最直观的特性是长度,另外还有算法和语句结构等,程序代码越长,结构越复杂,其可靠性越难保证。
开发过程特性包括采用的工程技术和使用的工具,也包括开发者个人的业务经历水平等。
除了软件可靠性外,影响可靠性的另一个重要因素是健壮性,对非法输入的容错能力。
所以提高可靠性从原理上看就是要减少错误和提高健壮性[8]。
机载显示器是飞行员与飞机系统、周围作战环境之间最重要的人机接口之一[9]。
在某些紧张的飞行状态(如起飞和着陆等)中,显示器必须保证飞行员在极短的时间内准确地获取所需要的信息,进行及时、安全的操纵。
一旦显示器发生故障,可能造成机毁人亡。
在军用场合可能贻误战机,其后果不堪设想。
随着座舱设计的集成化,软件所占的比例越来越高。
机载显示器显示的信息越来越丰富,如某型多功能显示器,显示内容涉及任务准备阶段、导航阶段、返航阶段、空空攻击阶段、空面攻击阶段,共100多幅画面,代码量达8万多行。
在硬件设计技术日趋成熟的情况下,软件质量的高低直接影响到系统的整体质量,因此软件的设计成为机载显示器发展的重中之重。
3.2软件可靠性工程
软件工程的定义为:
为了达到软件产品的可靠性要求而进行的一系列软件工程活动[10]。
软件可靠性工程涉及以下四方面活动和有关技术:
软件可靠性分析、软件可靠性设计和实现、软件可靠性测量、测试和评估及软件可靠性管理。
软件可靠性工程是一门虽然得到普遍承认,但还处于不成熟的正在发展确立阶段的新兴工程学科。
国外从60年代后期开始加强软件可靠性的研究工作,那时软件危机被广泛讨论,软件不可靠是造成软件危机的重要原因之一。
Jelinski-Moranda模型[11]于1972年正式提出,它标志着软件可靠性系统研究的开始。
在70年代,软件可靠性的理论研究获得很大发展,一方面提出了数十种软件可靠性模型,另一方面是软件容错的研究,提出了分别与硬件静态冗余和动态冗余相对应的软件N文本方法和恢复块方法。
在80年代,软件可靠性理论研究停滞不前,没有质的飞跃。
但软件可靠性的工程实践经验得到不断积累。
不少软件可靠性技术在软件工程实践中得以应用。
某些技术达到实用化程序,如软件可靠性建模技术、管理技术等。
可以说,软件可靠性从研究阶段逐渐迈向工程化。
经过20年左右的研究推出了各种可靠性模型和预测方法,于1990年前后形成较为系统的软件可靠性工程体系。
软件可靠性逐渐成为软件开发考虑的第四个主要因素,软件可靠性工程在软件工程领域逐渐取得相对独立的地位,成为一个生机勃勃的分支[12]。
国内软件可靠性研究起步较晚,始于80年代初,是在70年代国际软件可靠性研究高潮之后。
我国的软件可靠性的专家们在软件可靠性建模、软件可靠性分配及软件可靠性管理、软件避错技术[13]、软件可靠性评估工具和混合硬件一软件系统可靠性及软件容错方面[14]、软件可靠性模型应用选择、软件可靠性测试、软件可靠性度量体系[15]方面进行了一系列的探索。
在工程实践方面,曾将软件可靠性评估工具、模糊软件可靠性模型应用于软件可靠性评估。
总的说来,国内在软件可靠性工程实践方面的工作太少,工作的水平也无法与国外同类工作相比拟,急待开展、深入。
3.3软件可靠性设计
软件可靠性设计的实质是在常规的软件设计中,应用各种必须的方法和技术,使程序设计在兼顾用户的各种需求时,全面满足软件的可靠性要求[16]。
软件的可靠性设计应和软件的常规设计紧密地结合,贯穿于常规设计过程的始终。
这里所指的设计是广义的设计,它包括了从需求分析开始,直至实现的全过程。
软件可靠性设计包括四种类型,分别为避错设计、查错设计、改错设计及容错设计[17]。
要消除软件的错误,最明智的做法是在软件设计开发过程中尽可能避免错误。
然而,由于程序员的思维局限性,软件错误在软件生命周期的各个阶段都可能会被引入。
为了保证软件的可靠性,就应在软件生命周期的各个阶段千方百计地查明、排除错误。
因此,软件的避错排错技术是提高软件可靠性最主要的措施。
避错设计体现了以预防为主的思想,是软件可靠性设计的首要方法,应当贯彻于设计的全部过程中。
在系统的设计阶段,每个步骤都必须最大限度地保证其合理性和正确性。
然而,在设计阶段完全避免错误是不可能的。
排错技术通常运用于系统的测试和维护阶段。
通过模拟真实工作环境进行系统测试,发现错误并分析产生错误的原因,然后改进系统以消除产生错误的原因。
采用软件的避错技术来提高软件可靠性,应从以下几方面努力:
一是开展软件工程,加强软件可靠性管理;二是优化程序设计;三是强化程序测试验证。
软件查错设计是指在设计中赋予程序某些特殊的功能,使程序在运行中自动查找存在错误的一种设计方法。
包括被动式错误检测和主动式错误检测[18]。
改错设计是指在设计中,赋予程序自我改正错误、减少错误危害程度的能力的一种设计方法。
改正错误的前提是已经准确地找出软件错误的起因和部位(故障检测与故障定位合称故障诊断),程序又有能力修改、剔除有错误的语句。
现阶段仅限于减少软件错误造成的有害影响,或将有害影响限制在一个较小的范围。
常采用故障隔离技术。
所谓“容错”,就是在出现有限数目的故障的情况下,系统仍可提供连续正确执行的内在能力。
软件容错的目的是屏蔽软件故障,恢复因出错而影响的运行进程。
容错技术正是为处理不可预知的软硬件故障而形成的。
长期的工程实践表明,容错技术能增强软件的可靠性。
容错的关键思想是冗余。
实现软件容错的基本方法,是将若干个根据同一规范编写的不同程序(或程序块),在不同空间同时运行或在同一空间依次运行,然后在每一个预定的检测点上或最终通过表决或接收测试进行裁决。
在判明其正确或一致后接收这个结果,否则便加以拒绝,并作出报警[19]。
3.4软件可靠性分析
软件在使用中发生失效(不可靠)会导致任务的失败,甚至导致灾难性的后果。
因此,应在软件设计过程中,对可能发生的失效进行分析,采取必要的措施避免引起失效的错误引入软件。
在系统测试、投入使用后对软件进行失效分析可以为失效纠正措施的制定提供依据,同时为避免类似问题的发生提供借鉴。
这些工作将会大大提高使用中软件的可靠性,减少由于软件失效带来的各种损失。
软件可靠性分析采用以下四种方法进行,分别为:
软件失效模式和影响分析(SFMEA)、软件故障树分析(SFTA)、软件潜藏分析法(SSA)及软件Petri网分析法。
本文重点介绍SFMEA。
软件失效模式和影响分析(SFMEA)是在软件开发阶段的早期,通过识别软件失效模式,分析造成的后果,研究分析各种失效模式产生的原因,寻找消除和减少其有害后果的方法,以尽早发现潜在的问题,并采取相应的措施,从而提高软件的可靠性和安全性[20]。
软件失效就是泛指程序在运行中丧失了全部或部分功能、出现偏离预期的正常状态的事件。
软件失效是由软件的缺陷引起的。
软件失效模式指软件失效的表现形式,即软件失效发生的方式,有时也被描述为对设备运行产生的影响。
在IEEE软件异常分类标准中给出了软件失效模式的分类,在进行SFMEA分析时可作为参考。
软件失效影响是指软件失效模式对软件系统的运行、功能或状态等造成的后果。
SFMEA的分析对象可以是开发早期阶段的高层次的子系统、部件,也可以是详细设计阶段的单元、模块。
对于不同的分析对象,其软件失效模式是不同的,采用的SFMEA分析方法也不同,前者采用系统级分析方法(systemFMEA),后者为详细级分析方法(detailedFMEA)。
系统级分析方法步骤如下:
1)系统定义。
在系统定义中应说明系统的主要功能和次要功能、用途、系统的约束条件和失效判据等。
系统定义还应包括系统工作的各种模式的说明、系统的环境条件,以及软、硬件配置。
进行结构分解,就是将软件按照一定的分解原则划分为若干逻辑部分,以确定系统的分析级别,以及最小分析单元;
2)软件失效模式分析。
针对每个最小分析单元,确定其潜在的失效模式,例如软件无响应或者返回错误的值等;
3)软件失效原因分析。
针对每个软件失效模式分析其所有可能的原因。
软件的失效原因往往是软件开发过程中形成的各类缺陷所引起的;
4)软件失效影响分析。
针对每个失效模式分析其造成的影响,一般可分为局部影响、上一层次影响和最终影响三级,并分析失效所造成影响的严重性;
5)改进措施分析。
根据每个失效模式的原因、影响及严重性等级,综合提出有针对性的改进措施。
详细级SFMEA分析每个软件模块的输入输出变量和算法的失效模式,追踪每个失效模式对软件系统的影响直至输出,最后将最终的软件状态与预先定义的软件危险状态对比判断是否存在危险的软件失效。
四结论
笔者通过对国内外文献的综述认为,软件可靠性工程已经比较成熟并在实际的软件开发过程得到应用。
但软件可靠性工程重在落实,特别是可靠性设计与分析,需根据不同对象采取相应的具体措施。
目前专门针对机载显示器软件可靠性的措施还未见,本研究的创新之处在于结合多年机载显示器软件开发经验,研究软件可靠性设计与分析在机载显示器软件开发中应用。
五主要参考文献
[1]桑楠。
嵌入式系统原理及应用开发。
北京航空航天大学出版社,2002
[2]ErnestJH,KumamotoH.ReliabilityDesignforControlandSafetySystems.EnglewoodCliffs:
Prentice-HallInc,1985
[3]蔡开元。
软件可靠性工程基础。
清华大学出版社,1996
[4]黄锡滋.软件可靠性、安全性与质量保证。
北京电子工业出版社,2002
[5]S.R.Dalal,M.R.Lyu,C.L.Mallows。
Bellcore,LucentTechnologies,AT&TResearch
[6]BertolinoA.SoftwareTestingResearch:
Achievements,Challeges·DreamsBriandL,WolfA,eds.FutureofSoftwareEngineering2007.IEEE-CSPress,2007
[7]吴琨。
浅谈航天应用计算机软件的可靠性与安全性设计。
控制工程(2005年第5,6期合刊)
[8]徐仁佐。
软件可靠性工程。
清华大学出版社
[9]邢新强,李国超,肖锋。
机载座舱显示器发展趋势分析。
飞机设计(2010年02期)
[10]陆民燕。
软件可靠性工程。
国防工业出版社
[11]JelinskiZ.,PB.Moranda,SoftwareReliabilityResearch,in:
W.Freiberger(ed),statisticalComrnrterPerformanceRvaluation,AcademicPress.1972:
pp465-484
[12]CaiK.Y.,C.YWen,M.L.Zhang,Acriticalreviewonsoftwarereliabilitymodeling,ReliabilityEngineeringandsystemsafety,Vo1.32,1991:
pp357-371
[13]郑艳艳,郭伟,徐仁佐。
软件可靠性工程学综述。
计算机科学(2009年第36卷)
[14]袁由光,陈以农。
容错与避错技术及其应用。
科学出版社,1992:
pp10-25
[15]刘云,赵纬。
软件可靠性研究与进展。
微机发展,2003,13
(2):
12—15
[16]姜兴杰,杨峰辉。
软件可靠性分析与设计。
现代电子技术(2011年07期)
[17]王浩。
浅析计算机软件可靠性设计。
中文信息(2011年11期)
[18]孙志安裴晓黎宋昕戴忠健。
软件可靠性工程。
北京航空航天大学出版社
[19]蒋玉华。
嵌入式软件容错技术及应用。
煤矿机电(2011年02期)
[20]周卫东,郝燕玲。
舰船组合导航系统应用软件冗余设计及可靠性分析。
弹箭与制导学报(2006年S8期)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程硕士 文献 综述 报告