论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
摘要:本文就武器装备软件开发的现状和中存在的问题,介绍了软件可靠性工程的发展及其研究的内容,对软件可靠性工程如何在软件开发中应用进行了重点说明,并提供了成功应用软件可靠性工程的典型案例,指出软件可靠性工程研究的必要性。
关键词: 软件 可靠性工程
随着科学技术的不断进步,计算机技术被越来越多地应用到武器系统中。计算机软件的复杂程度随着功能的增强,因而系统的可靠性也越来越与软件直接相关。例如AFTI/F-16飞机首航因软件问题推迟1年,事先设计的先进程序wu法使用;海湾战争中F/A–18飞机飞行控制系统计算机500次故障中,软件故障次数超过硬件。软件可靠性成为我们关注的1个问题,本文仅就软件可靠性工程在软件开发过程中的应用谈谈自己的认识。
1、软件可靠性工程的基本概念及发展
1.1什么是软件可靠性工程
软件可靠性工程简单地说就是对基于软件产品的可靠性进行预测、建模、估计、度量及管理,软件可靠性工程贯穿于软件开发的整个过程。
1.2软件可靠性工程的发展历程
软件可靠性问题获得重视是2十世纪60年代末期,那时软件危机被广泛讨论,软件不可靠是造成软件危机的重要原因之1。1972年正式提出Jelinski—Moranda模型,标志着软件可靠性系统研究的开始。在70年代.软件可靠性的理论研究获得很大发展,1方面提出了数十种软件可靠性模型,另1方面是软件容错的研究。在80年代,软件可靠性从研究阶段逐渐迈向工程化。进入90年代后,软件可靠性逐渐成为软件开发考虑的主要因素之1,软件可靠性工程在软件工程领域逐渐取得相对独立的地位,成为1个生机勃勃的分支。 本文来自中国科教评价网
1.3软件可靠性工程研究的基本问题
软件可靠性工程的主要目标是保证和提高软件可靠性。为达到这1目标,首先要弄清软件为什么会出现故障或失效。只有这样,才有可能在软件开发过程中减少导致软件故障或失效的隐患,且1旦出现软件故障或失效,有可能采取有效措施加以清除。但是软件是开发出来的,满足可靠性要求的软件也是开发出来的,因此,软件可靠性工程的核心问题是如何开发可靠的软件。而有了软件,又该如何检验其是否满足可靠性要求?这是软件可靠性工程的又1个问题。
2、软件可靠性工程在软件开发中的应用
2.1项目开发计划及需求分析阶段
在项目开发计划阶段需根据产品具体要求作出软件项目开发计划,明确项目的目的、条件、运行环境、软件产品要求、人员分工和职责及进度,并估计产品的可靠性。需求分析阶段要根据项目开发计划阶段确定软件开发的主要任务、次要任务和其它任务,并设计软件程序的基本流程、软件结构、模块的定义和输入输出数据、接口和数据结构等同时应对项目开发计划阶段作出的可靠性预计进1步细化形成可靠性需求,建立具体的可靠性指标。这个阶段的可靠性工作1般应如下安排:
⑴确定功能概图
所谓功能概图就是产品的各种功能及其在不同环境条件下使用的概率。为确立功能概图必须定义产品的功能,功能定义不但包括要完成的任务,还包括影响处理的环境因素。
⑵对失效进行定义和分类
这里应从用户的角度来定义产品失效,将软件和硬件失效及操作程序上的失效区分开,并将其按严重程度进行分类。
⑶确定用户的可靠性要求
在这个阶段应由系统设计师、软件设计师、可靠性师、测试人员及用户方代表可靠性评估小组共同根据用户提出的系统可靠性来确定软件的可靠性。 (科教作文网http://zw.NSEaC.com编辑发布)
⑷进行平衡关系研究
通常应考虑可靠性和功能之间的关系以及可靠性、开发费用和开发周期之间的关系。1般来说,增加功能会导致可靠性降低,可靠性提高的程度1般与测试加强程度相对应,这意味着时间和费用的增加。
⑸建立可靠性指标
在这个阶段应对每种失效分别建立可靠性指标。通常,首先建立系统可靠性指标,然后在硬件和软件间分配。影响建立可靠性指标的因素主要有:合同或有关标准中明确规定的可靠性指标,相似产品的可靠性指标,产品的质量保证,使用已有模块的可靠性,技术能力和局限(如容错技术的使用)等。
2.2软件设计和功能实现阶段
软件设计是对上1阶段定义的每1个功能模块逐步细化,确立系统体系结构,形成若干可编程的模块。说明硬件和软件模块之间的接口及它们与外部环境的接口,详细描述各模块的输入、处理过程及输出。功能实现是根据设计方案进行软件编程。该阶段主要应做:
⑴在模块间分配可靠性指标
定义系统体系结构时,应将系统分解成模块同时保证总体可靠性指标。进行系统分解是应考虑以下因素:系统的物理特性、以前收集的数据的特性及收集数据需要的工作量等。确定每个模块的可靠性要求时,首先进行可靠性分配,然后根据试分配值计算系统的可靠性。这样及时调整,使各模块开发周期、难度和风险大致相当,系统的开发费用也才能降至最低。
⑵按可靠性指标进行设计
目前,可靠性设计有以下几种方法:设计恢复策略、使用冗余软件单元、鉴别高风险区域。设计恢复策略是指软件只须重新启动即可消除失效的设计,设计恢复应能保存修复可能破坏的数据,应具备确定失效发生时间和阻止继续运行的机制,以减少程序数据的破坏。使用冗余软件单元时是采用与原软件单元不同的冗余软件单元来提高可靠性。鉴别高风险区域采用FMEA(失效类型与后果分析)和FTA(错误树分析)的方法来进行可靠性分析。
(科教作文网http://zw.nseAc.com)