基于架构的软件可靠性分配模型及优化探究
2016-07-10周毅
周毅
计算机技术的不断进步,软件开发及其可靠性已经成为关系计算机技术持续发展的核心内容。在实际软件开发中,架构是保证软件后期运行质量与可靠性的重要前提,不良的架构基础上的软件开发,对后期软件投入运行时的安全可靠性构成严重危险,并相应的补救成本更是无法估量,因此基于良好架构模式之上的软件开发是保证去可靠性的重要前提。本文笔者在对软件可靠性分配相关理论与原则分析的基础上,提出基于架构的软件可靠性的分配模型以及其相应的优化措施。
【关键词】架构 软件可靠性 分配模型 优化措施
软件架构是一种指导大型软件系统各方面设计的抽象模式,它描述的对象是直接构成系统的抽象组件。在实际的操作中软件架构和其他软件一样都担负着自身的责任,对于软件架构师来说,在软件架构时保证其他软件系统的可靠性、安全性是重要目标,一旦架构出现问题导致软件可靠性与运行的安全性遭到破坏,其后果不堪设想,而修复的成本更会对企业的经济效益造成巨大的损失,因此基于架构的软件可靠性是软件安全可靠运行的重要前提。
1 软件可靠性分配模型概述
软件可靠性分配是基于软件可靠性之上的,其主要的目的是将软件系统的可靠性指标转化为组成软件系统的各个组件的可靠性指标并用来指导软件分系统的开发工作,从而在有限的资源里找寻到最佳的软件系统设计方案,使得整体系统具备较高的可靠性。在这个过程中,通常会以非线性规划模型来指导软件开发中的可靠性分配,并以函数的形式来展示成本与软件各个构件之间的关系。
基于架构的软件可靠性分配则是在保证整体系统的可靠性前提下,以组成软件构架的重要成分为目标,对各个组成的软件元素进行可靠性分配,达到可靠性成本预估一定的前提下,使得开发软件的可靠性最高,抑或是在可靠性目标一定的前提下,使得可靠性成本最优化。基于架构的可靠性分配受到许多因素的影响,主要因素包括组成架构的组件可靠性以及组件之间的联系、架构组成的方式与基本结构这两方面内容,要达到完善系统可靠性的目标则必须从这两方面因素着手,提高架构组件的可靠性、组件之间的关系等,此外还应该考虑到可靠性成本问题,结合各组件可靠性的成本函数,通过改变组件关系,使得基于架构的系统可靠性预估成本最小化。
2 基于架构的软件可靠性分配模型及优化
在对基于架构的软件可靠性分配模型的相关定义加以阐述之后,下面笔者再对可靠性模型及优化以函数的形式加以表现。从上文中了解到了可靠性分配模型的优化则不仅涉及对各部件的可靠性优化,更应该考虑到软件可靠性成本问题。在可靠性模型优化中达到软件系统的开发成本最小化是指的在满足系统的可靠性基础前提下,着眼于开发成本的最优化问题来寻找最佳的可靠性分配方案。
基于成本最优化的软件可靠性模型,在假设成本投入与软件出错率成绝对反比的基础上,可以函数关系的模式表示为:
在上面这个函数式中,r表示的软件的可靠性;C是软件开发的成本;其他两个参数分别是可靠性成本系数以及软件的成本基值。根据上式,不难看出软件的可靠性和成本之间的关系,一个软件要达到百分之百的可靠必须投入大量的成本。
软件可靠性的分配模型与可靠性的成本模型不同,对于一个由n个组件组成的软件系统,软件可靠性模型一般表示为:
在这个函数式中,设定系统的可靠性目标是Robj,系统可靠性r与各个组件可靠性的关系为F(r1,r2...),C为预期的开发成本。
基于上述软件可靠性成本模型构建,提出相应的动态算法,对由n个组件组成的软件系统来说,提高其可靠性则必须提高开发成本,而在控制成本的前提下,为了达到系统的可靠性最优化,则必须优化各组件的可靠性,具体算法如图1。
So是系统可靠性分配结果,也就是各组件的可靠性;Ro表示的对应系统的可靠性,而Co则是预期的开发成本。要保证这组算法的正确性则应该确保在这个系统中一个组件的可靠性降低会带动整个系统的可靠性相应降低以及系统开发成本的减少,在这两个前提成立的基础上那么步骤5中的第4部便是对最佳组件的选择,从而d达到整个软件系统可靠性最优化的目的。
3 结语
基于软件架构的可靠性由组成构架的各软件系统的可靠性决定,软件系统可靠性的提高伴随着软件开发成本的增加,本文的算法论述建立在保证软件可靠性的前提下,以构架各部分组件为对象,降低开发成本,从而选择出可靠性最优的架构组合,提高软件系统的可靠性,满足计算机技术发展的要求。
参考文献
[1]陈未如,李可明.基于架构的软件可靠性分配模型及优化研究[J].计算机系统应用,2009,18(4):92-95.
[2]黄宁,陈未如,石帅等.一种基于动态规划的软件可靠性分配方法[J].计算机应用与软件,2011,28(3):119-120.
[3]陈未如,石帅,黄宁等.基于软件架构的可靠性分配算法[J].计算机工程与设计,2010,31(4):706-708.
[4]杨俊茹,张丽丽,张道忠等.基于架构的软件可靠性研究现状及发展趋势[J].煤矿机械,2012,33(6):21-23.
[5]杨春晖,熊婧,李冬等.基于体系架构的软件可靠性测试时间分配模型[C].//2010中国电子学会可靠性分会第十五届可靠性学术年会论文集,2010:58-63.
作者单位
江苏苏源高科技有限公司 江苏省南京市 210008