




已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)基于构件的软件可靠性分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着社会日益信息化,社会的日常运行越来越依赖于软件系统,而对 这种系统的可靠性要求也越来越高。虽然基于构件的软件开发方法不断的 应用到软件开发中,有效地提高了软件可靠性,但是要保证基于构件的软 件可靠性仍然是一项艰巨的任务。 近年来,国内外一些学者对基于构件的软件可靠性进行了研究,取得 了一些成果,但均存在局限性。 本文在分析已有方法的基础上,提出了一种基于体系结构的软件可靠 性分析方法。该方法针对软件体系结构自身的特点及构件之间的关系,根 据软件体系结构的六种基本结构,给出了相应的可靠性计算模型、证明了 基本结构的完整性,讨论了基本结构的选择问题,并在此基础上描述了整 个软件体系结构的可靠性模型。与已有的基于构件的软件可靠性分析和评 估方法相比,本文给出的方法便于从运行效率和可靠性出发,选择更合实 际的结构组成最终的软件体系结构,从而实现了从基本结构入手指导软件 体系结构设计。此外,对软件演化后的可靠性进行动态跟踪,极大的拓宽 了模型的应用范围。 构件在不同的应用域中表现出不同的可靠性,本文提出了一种基于应 用域构件的软件可靠性分析方法,该方法把基于构件的软件看作是一个 m a r k v o 过程,针对过程中不同状态类型,构建出基于不同状态不同应用域 的构件和连接件使用频率计算模型。在此基础上,提出了整个基于应用域 构件的软件可靠性计算方法。同时,采用敏感度计算方法,给出融合容错 t 技术后基于应用域构件的软件可靠性计算方法。与以往的方法相比,该方 法提供了一种优化软件和提高软件可靠性的方法。 关键词:构件,可靠性,软件体系结构,应用域 a b s t r a c t w i t hs o c i a li n f o r m a t i o n i z a t i o n ,t h em o r eo u rl i f ed e p e n d so ns o f t w a r e s y s t e m s ,t h em o r es o f t w a r er e l i a b i l i t yw en e e d h o w e v e r e n s u r i n gar e l i a b l e s o f t w a r ea p p l i c a t i o ni sad i f f i c u l tt a s ke v e nw i t ht h eu s eo fc o m p o n e n t - b a s e d s o f t w a r ed e v e l o p m e n tw h i c he f f i c i e n t l yi m p r o v e ss o f t w a r er e l i a b i l i t y i nr e c e n ty e a r s ,al o to fe x p e r t ss t u d i e st h er e l i a b i l i t yo fc o m p o n e n t - b a s e d s o f t w a r ea n dg e tm a n ya c h i e v e m e n t s ,b u tt h e i rm e t h o d sa l m o s th a v es o m e l i m i t a t i o n s t h i sp a p e rp r e s e n t sam e t h o do fr e l i a b i l i t ya n a l y s i so fs o f t w a r eb a s eo n s o f t w a r ea r c h i t e c t u r e t h i sm e t h o dc o n s i d e r st h a ts o f t w a r ea r c h i t e c t u r ei sm a d e u po f s i xb a s i cs t r u c t u r e s ,g i v e so u tac o m p u t i n gm o d e l ,p r o v e st h ei n t e g r i t ya n d d i s c u s s e sh o wt oc h o o s eb a s i cs t r u c t u r e ,w h i c hf i t st ot h ec h a r a c t e r sa n d r e l a t i o n sa m o n gc o m p o n e n t s t h e n ,e s t i m a t e st h ew h o l er e l i a b i l i t yo fs o f t w a r e a r c h i t e c t u r e c o m p a r i n gw i t he x i s t i n gm e t h o d so fe s t i m a t i n gr e l i a b i l i t y o f c o m p o n e n t b a s e ds o f t w a r e ,t h i sp a p e rc a nc h o o s em o r ea p p r o p r i a t es t r u c t u r eo f s o f t w a r ea r c h i t e c t u r e ,w h i c hc o n s i d e r st h ee f f i c i e n c ya n dr e l i a b i l i t yo fb a s i c s t r u c t u r e s ,s ot h a ti tc a ng u i d et h ed e s i g no fs o f t w a r ea r c h i t e c t u r em o r eu s e f u l l y f u r t h e r m o r e ,i tt r a c e sd y n a m i c a l l yt h er e l i a b i l i t ya f t e rs o f t w a r ee v o l u t i o na n di t a l s om a k e se x t e n d e dm o d e lf i tt om o r ea p p l i c a t i o n s ac o m p o n e n th a sd i f f e r e n tr e l i a b i l i t yi nd i f f e r e n ta p p l i c a t i o nd o m a i n t h i s p a p e r a l s o p r o v i d e sa na n a l y s i s o fr e l i a b i l i t yo fs o f t w a r eb a s e do nt h e a p p l i c a t i o nd o m a i nc o m p o n e n t t h i sm e t h o dc o n s i d e r st h ec o m p o n e n t _ b a s e d i s o f t w a r ea sm a r k v op r o c e s r 讨心“触+ 。冱舻- 多旷沂f - a 缸k 如c 兮s f p r o p o s e s m o d e l st ot h ed f e r e n ts t a t ea n dd i f f e r e n ta p p l i c a t i o nd o m a i n c o m p o n e n t sa n dl i n k sf r e q u e c yo fu s e ,a n dd e s c r i b e sa na p p r o a c ht oe s t i m a t e t h es o f t w a r er e l i a b i l i t yb a s e ho nt h ea p p l i c a t i o nd o m a i nc o m p o n e n t a tt h e s a m et i m e ,s e n s i t i v i t yc o m p t a t i o n a lm e t h o di sp r e s e n t e d o nt h i sb a s i s ,t h i s p a p e ru s e st h ef a u l t t o l e r a nt e c h n o l o g y , e s t i m a t e st h ew h o l er e l i a b i l i t yo f s o f t w a r e c o m p a r i n gw i t he x i s t i n g m e t h o d so fe s t i m a t i n g r e l i a b i l i t y o f c o m p o n e n t b a s e ds o f t w a r e ,u i sm e t h o dp r o v i d e saw a yt oi m p r o v es o f t w a r e r e l i a b i l i t y k e yw o r d s :c o m p o n e n t ,r e l i a b i l i t y ,s o f t w a r ea r c h i t e c t u r e ,a p p l i c a t i o n 图目录 图2 1 软件可靠性发展因素9 图3 - 1 顺序结构的可靠性模型2 3 图3 2 与汇合结构的可靠性模型2 4 图3 3 或汇合结构的可靠性模型2 5 图3 4 与分支结构的可靠性模型2 6 图3 5 或分支结构的可靠性模型2 7 图3 - 6 迭代结构的可靠性模型2 8 图3 7 某系统的软件体系结构3 2 图3 8 无多入构件的软件体系结构3 3 图3 - 9 增加构件后的软件体系结构3 6 图3 1 0 删除构件后的软件体系结构3 8 图3 1 1 修改构件关系后的软件体系结构4 0 图4 1 一个基于构件的软件系统一5 1 图4 2 构件c 6 的组装结构5 1 图4 3 构件在特定应用域的敏感度5 4 图4 4 连接件敏感度5 4 湖南师范大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容 外,本论文不含任何其他个人或集体已经发表或撰写过的作品成 果。对本文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:j 噍两泌 妒侈年。罗月多d 日 湖南师范大学学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权湖南师范大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密毗 ( 请在以上相应方框内打“v ”) 作者签名:f 硼日期:训吗年,月汐日 导师签名:系么宅 日期:砌占年 j 月夕。日 基于构件的软件可靠性分析 第一章绪论 随着软件技术的不断发展,软件设计的核心已经超越了传统的 “数据结构十算法= 程序 的设计模式,取而代之的是“构件开发+ 基于 体系结构的构件组装的思想。因此,研究基于构件的软件可靠性具 有深远的理论意义和实用价值。 1 1 课题研究意义 随着计算机技术的迅速发展,计算机系统在当今信息社会各个 领域里应用越来越广泛,计算机系统所起的作用和所担当的角色也 越来越重要【1 1 ,计算机己成为生活中不可缺少的一个部分。并且随着 计算机系统所要完成的工作越来越复杂,其软件和硬件的复杂性也 相应提高,必然导致其失效的可能性大大增h i l t 2 。计算机系统的失效 会给人们的工作和生活带来不便,造成财产损失甚至生命安全。而 在造成计算机系统错误的这些因素中,由软件产生的问题占了6 5 左右【3 1 。因此,软件可靠性事实上已成为计算机系统可靠性的瓶颈。 出现这种现象,是由于在迅速发展的计算机工业中存在着发展 不均衡的现象,计算机系统硬件可靠性已有六十余年的发展历史, 冗余技术、差错控制、失效自动检测、容错技术和避错技术等可靠 性设计技术已经成熟,以及大规模超大规模集成电路被采用,可使 整机的可靠性大幅度提高。相比之下,软件可靠性的研究只有三十 几年的发展历史,加上软件生产基本上仍处于作坊式的手t n 作。 硕士学位论文 其次,提高软件可靠性的技术与管理措施还处于十分不完善的状况, 因此,如何保证软件的质量,有效地对软件产品特性进行度量和预 测,对开发过程进行控制,设计并开发出高可靠性的软件己经成为 当务之急1 4 1 。 自从2 0 世纪7 0 年代以来,学者们提出了许多估算软件可靠性的模 型,但多数模型是围绕软件测试阶段的可靠性增长模型( 黑箱模型) 。 这些黑箱模型把软件作为一个整体,而不考虑模型的内部结构【5 1 。然 而,随着面向对象技术及w e b 技术的发展,基于构件的软件开发 ( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,c b s d ) 逐步成为业界关注 的焦点f 6 - 8 1 。基于构件的软件开发方法是在吸取了已有软件开发方法 经验基础上的一种全新的、高效的开发方法,能够有效地提高软件开 发的质量和效率 9 1 。但是,要保证基于构件的软件可靠性仍然是一项 艰巨的任务【1 0 l 。由于构件本身固有的一些特点,如源代码不可见、分 布式运行、平台独立性等,使得传统的软件可靠性增长模型,对于基 于构件的软件系统并不完全适用。因此,对基于构件的软件可靠性进 行研究有较强的实用价值和理论意义。 1 2 国内外研究现状及存在的问题 近年来,国内外一些学者对基于构件的软件可靠性进行了研究, 取得了一些成果,这些方法通常可以归纳成三类【1 1 , 1 2 ,分别是基于 状态的模型、基于路径的模型和附加( a d d i t i v e ) 模型。基于状态的 模型通常通过控制流图来表示系统的体系结构,并假设软件模块间 基于构件的软件可靠性分析 的控制转移具有m a r k o v 性质,即系统的未来行为条件独立于过去的 行为;基于路径的模型则通过考虑系统所有可能的执行路径及相关 频度( f r e q u e n c y ) 来计算软件系统的相关可靠性;附加模型并不显 式地考虑软件系统的体系结构,而关注于系统可靠性增长的建模, 并通过系统中构件的失效数据来预测整个系统的可靠性。 在这些模型中,典型的有c h e u n g 模型【1 3 l 、w e n l iw a n g 等人提 出的基于体系结构的软件可靠性分析模型【1 4 1 、毛晓光等人提出了基 于构件的软件可靠性通用模型【1 5 】、j u n g h u al o 等人提出的基于构件 的软件可靠性分析模型【1 刀及y a c o u b 提出的模型 1 8 , 1 9 等。 c h e u n g 模型的基本思想是: ( 1 ) 把整个软件看成是一个m a r k o v 过程。 ( 2 ) 根据状态图构造状态转移矩阵。 状态图是一个矢量图,其中每一个节点表示一个状态& ,状态& 到5 1 的转移用一个矢量边( s ,5 1 ) 来表示。让冠代瓤的可靠性,而只, 则表示从s 到达s 的概率。根据这个状态图,就可以构造出一个矩阵 m ,其中m ( “) 的值等于风嘞,表示腿能够成功到达西的可能性。 ( 3 ) 利用矩阵m 估算整个系统的可靠性 让s ;_ 【s 1 ,s 2 ,s 肛) 表示状态图中状态的集合,其中岛是起始状 态,s 是终止状态。( f j ) 代表从状态& 通过七( 0 sks ) 次转移 到5 1 的概率。因此从s 开始通过k 次转移到5 1 f 的可靠性尺可表示成 r = m 七( i ,j ) xr ,。从起始状态s 1 到达终止状态最,其中尼= 0 表示初始 状态也是终止状态,k = 表示在状态之间可能发生一个不确定的循 硕十学位论文 环。因此,必须考虑到状态转移的每一个可能的结果。 - i + + 2 + 3 + t k 妻- 0k = 而i q mm mm = ( i m ) 一l ( 1 - 1 ) = i +2 + 3 + t 罗。= :了= ( 一m ) - l () 厶 i m 、 整个系统的可靠性尺为:r ;q ( 1 ,万) r 。其中,是一个n 儿的单位 矩阵,根据矩阵秩、余子式及行列式之间的关系,推出q ( 1 , n ) n - - 表示 为:q ( 1 ,n ) a 古刍由,e ,是矩阵( 二m ) 去掉第,z 行,第1 列后的剩 余矩阵。 但是,c h e u n g 模型只能处理单输入单输出系统,没有考虑连接 件的可靠性,而且把构件的可靠性假设为固定不变的参数,这与实际 情况有一定的差异。 w e n l iw a n g 等人提出的基于体系结构的软件可靠性分析模型, 在c h e u n g 模型的基础上进行了改进。对于多输入多输出系统,多输 h i = 【s 加s 2 ,s 拥) ,多输出f = p ,1 ,s 厂2 ,s7 1 ) ,只要在状态图中 增加一个超级初态s i g n 超级终态s e ,并增加矢量边( s ,s 打) ,其转移概 率为b ,( ,一l 2 ,优) 。增加矢量边p f i , f ) ,其转移概率都为 1 ( _ = 1 , 2 ,n ) 。除此之外,该模型还对不同结构的软件体系结构分 别进行可靠性分析,使可靠性估算更准确。 但是,尽管该模型提到了连接件的可靠性可以在状态转移概率 罡,中考虑,但这样处理的连接件的可靠性并不符合实际。而且该模 型把单个构件的可靠性设为单一的参数值,并未考虑其在不同的应 用域中可能具有不同可靠性的情形。 毛晓光【1 5 1 等人提出了基于构件的软件可靠性通用模型。其基本步 基于构件的软件可靠性分析 骤如下: ( 1 ) 构建构件概率迁移图。 ( 2 ) 根据构件概率迁移图生成测试路径。 ( 3 ) 计算测试路径的可靠性。 ( 4 ) 根据每个测试路径出现的频度及可靠性,计算系统可靠性。 该模型,给出了构件在不同应用域中可靠性的评估方法,但是没 有对连接件的可靠性进行分析,并且没有涉及敏感度计算,不利于对 软件早期开发的指导。 j u n g h u al o 等人提出的基于构件的软件可靠性分析模型,根据 构件的使用频率估算软件可靠性。分别为单输入单输出、多输入 单输出、及多输入多输出系统提出了相应的可靠性计算方法。 但是,该模型没有考虑构件在不同的应用域中可能具有不同可靠 性的情形,也没有考虑连接件的可靠性。虽然可以在该方法中把连接 件当作构件来处理,但是当把连接件当作构件处理后,状态转移矩阵 将成指数增加。 y a c o u b 1 8 】用构件依赖图( c o m p o n e n t d e p e n d e n c yg r a p h ,c d g ) 来描述构件间的组装交互关系。c d g 是一个有向图,表示构件的可 靠性、连接与接口的可靠性、构件间控制的转换及转换的概率等方 面内容。但该模型并没有考虑构件间通过特定组装结构形成复合构 件及相关的可靠性情形,且对于构件的可靠性、构件间连接的可靠 性等方面内容而言,虽被提及,但并未做深入的分析和讨论,而仅 作为固定不变的参数值加以使用。 硕士学位论文 y a c o u b 提出了基于场景的可靠性分析方法( 1 9 1 ,该方法也是用 c d g 来表示构件之间的交互关系,所不同的是该方法分析了处于不 同场景中的构件可靠性。但是,该方法也没有考虑构件间通过特定 组装结构形成复合构件及其相关的可靠性情形。 目前,还没有一个令业界公认的、完善的方法,每一种方法都有 其自身的局限性,这些方法要么对连接件的可靠性考虑不足或根本未 考虑,要么没有涉及敏感度分析和容错处理,要么没有考虑构件间通 过特定组装结构形成复合构件及其相关的可靠性情形,从而不能很好 的指导软件开发。 1 3 本文的主要工作 针对上述问题,本文从软件体系结构自身的特征出发,把整个 软件体系结构看作是由六种基本结构嵌套构成,给出了六种基本结构 可靠性计算模型,证明了基本结构的完整性,讨论了基本结构的选择 问题,并在此基础上描述了整个软件体系结构可靠性计算方法。该方 法解决了软件开发早期无法精确获取用户剖面,从而无法对软件可靠 性进行估算的问题。该方法从组成软件体系结构的基本结构入手,便 于从结构上指导软件的开发,提高系统的可靠性。此外,该方法从增 加构件、删除构件和修改构件及构件之间的关系等方面入手,研究软 件演化,对软件演化后的可靠性进行动态跟踪,极大的拓宽了模型的 应用范围。 本文还根据转移概率及m a r k v o 过程不同状态类型,推导出构件 基于构件的软件可靠性分析 在不同应用域的使用频率和连接件的使用频率。在此基础上,描述了 系统可靠性计算方法。并提出了敏感度计算方法和确定特定应用域中 关键构件和连接件的方法,并对特定应用域中关键构件和连接件采用 容错机制和给出融合容错机制后系统可靠性估算方法,提供了一种优 化软件可靠性的方法。 1 4 论文的组织结构 第一章简单介绍课题的研究意义,国内外研究现状、存在的问 题及本文所做的主要工作。 第二章主要对软件可靠性、基于构件的软件及m a r k v o 过程等相 关概念进行了阐述,分析了软件可靠性的发展过程,给出了软件体 系结构、构件及连接件的形式化定义,为后续研究和讨论提供理论 基础。 第三章分析基于体系结构的软件可靠性,根据软件体系结构的 六种基本结构,讨论软件可靠性,并进行可靠性建模与分析,证明 了基本结构的完整性,讨论了基本结构的选择问题,并在此基础上 描述了整个软件体系结构的可靠性模型,最后对软件可靠性进行演 化跟踪。 第四章讨论基于应用域构件的软件可靠性。构建了基于应用域 构件的软件可靠性模型,提出了软件敏感度分析方法,给出了融合 容错技术后基于应用域构件的软件可靠性计算方法。 第五章是全文的总结及将来工作的展望。 基于构件的软件可靠性分析 第二章基本概念 本章主要对软件可靠性、基于构件的软件及m a r k v o 过程等相关 概念进行阐述,分析软件可靠性的发展过程,给出软件体系结构、 构件及连接件的形式化定义,为后续研究和讨论提供理论基础。 2 1 软件可靠性 软件可靠性是软件工程( s o f t w a r ee n g i n e e r ) 与可靠性工程 ( r e l i a b i l i t ye n g i n e e r ) 结合产生的前沿学科。它的兴起和发展源于 三个方面的因素。首先是需求的拉动力,持续了3 0 年的软件危机与 2 0 世纪9 0 年代软件故障引发的许多重大事故大大损害了客户满意 度;其次是技术的推动力,信息技术的迅猛发展有力推动了软件可 靠性的发展;最后是可靠性工程的理论和方法对软件可靠性的支撑 力。软件可靠性发展因素如图2 - 1 所示。 软 推动拶 件 可 靠 性 理论的支撑 可靠性工程 图2 - 1 软件可靠性发展因素 2 1 1 软件可靠性的发展过程 软件可靠性的发展伴随着信息技术和可靠性工程的发展而成 硕士学位论文 长。软件可靠性的发展过程可分为下列三个阶段: 第一阶段:( 1 9 5 0 。1 9 6 7 年) ,软件可靠性学科萌芽时期 在1 9 5 0 1 9 5 8 年间。在软件发展过程的这个原始阶段中,完全 没有软件可靠性的概念。那时没有专职的程序员,程序是由应用计 算机的科学家和工程师自行编制的,没有公认的规则可供遵循。1 9 5 7 年,美国国防部电子设备可靠性顾问 ( a d v i s o r yg r o u po nr e l i a b i l i t y o fe l e c t r o n i ce q u i p m e n t ,a g r e e ) 的报告是公认的可靠性工程的奠 基性文件,但是,完全没有提及软件和软件可靠性的问题。可靠性 定义为产品在规定的条件下和规定的时间内完成规定功能的概率。 在1 9 5 9 1 9 6 7 年间。在计算机硬件技术和软件技术飞快发展的 同时,软件可靠性问题仍然被人冷落,软件危机由此产生。1 9 6 5 年 国际电工委员会( i n t e r n a t i o n a le l e c t r o t e c h n i c a lc o m m i s s i o n ,i e c ) 可靠性专业委员会的成立,标志着可靠性工程成为了一门国际化的 技术。可靠性工程定义为获得可靠性而进行的一系列设计、研制和 生产活动。 第二阶段:( 1 9 6 8 。1 9 8 7 年) ,软件可靠性学科的形成时期 在1 9 6 8 。1 9 7 7 年间,以集成电路为主体的小型机逐渐得到了广 泛的应用,在硬件技术迅速发展的推动下,以及在软件危机带来的 用户对软件可靠性需求的紧迫性的拉动下,软件可靠性学科和软件 工程学科得以建立和发展。软件工程学的理论和技术为可靠软件的 设计、测试和管理提供了指南和工具。但是,它没有能力解决在系 统开发中,用户要求对软件可靠性的定量评价的问题。于是,许多 基于构件的软件可靠性分析 著名的软件工程专家开始致力于利用和改造硬件可靠性工程学的成 果,使之移植到软件领域。由于他们的努力,迎来了软件可靠性学 科的开创时期。这个时期的特点是,以软件可靠性为主题的国际学 术会议频频召开,吸引了各界人士的关注。软件可靠性的数学模型 尤如雨后春笋般地大量涌现。著名的j e l i n s k i m o b a n d a 模型、 s h o o m a n 模型、n e l s e n 模型、m i l l s b a s i n 模型都是在这个 阶段推出的。此外,软件失效数据的积累和分析工作也有了初步发 展。 在1 9 7 8 1 9 8 7 年间,由于大规模集成电路的出现,对软件技术 的发展产生了深刻的影响。这个时期的特点是各种验证和试用的软 件可靠性模型相继推出,软件可靠性管理技术的开发已列入日程, 软件可靠性标准化工作开始起步。i e c 的t c 5 6 技术委员会在1 9 8 5 年成立了软件可靠性工作组,并制定了软件可靠性和维修性管理规 范( 草案) 。在2 0 世纪8 0 年代中期,软件安全性问题受到了特别的 重视,硬件可靠性和安全性分析中所采用的故障树分析法( f a u l tt r e e a n a l y s i s ,f t a ) 、故障模式效应分析法( f a i l u r em o d ea n de f f e c t a n a l y s i s ,f m e a ) 和潜藏回路分析法( s e c r e t ec i r c l ea n a l y s i s ,s c a ) , 已在软件安全分析中使用,并取得了令人鼓舞的成果。 软件可靠性定义为在规定的条件下,在规定的时间内,软件不 引起系统失效的概率。该概率是系统输入和系统使用的函数,也是 软件中存在的错误的函数。系统输入将确定是否会遇到已存在的错 误( 如果错误存在的话) 。 硕士学位论文 第三阶段:( 1 9 8 8 年至今) 软件可靠性向工程应用过渡的时期 超大规模集成电路的出现,将人类带向信息社会,软件逐渐成 为全球经济的中枢。但是,由软件引发的、震惊科技界的故障持续 不断,在某些类型的设备中软件故障甚至远远超过了硬件,成为系 统的主要故障源。 2 1 2 软件可靠性指标 软件可靠性指标是定量评估软件可靠性的依据,确定其指标要 求是评估软件可靠性的必要步骤。从硬件可靠性的经验看出,如果 对产品没有可靠性指标要求,或者有了指标要求而不加以验证,则 可靠性就是一句空话。软件也是如此,它既有仿效硬件的量测指标, 也有软件特有的指标。 为了后面引文的方便,下面介绍几个主要的可靠性指标【扯2 2 1 。 ( 1 ) 软件可靠性函数 软件可靠性函数r ( f ) 表示软件从时刻0 开始随机运行执行任务, 到时刻t 时还未出现故障的概率,即寿命t 超过t 的概率。 r ( t ) = p ( r f ) = p 知 ( 2 - 1 ) 其中a 表示软件失效率。 ( 2 ) 软件失效分布函数 软件失效分布函数f o ) 表示软件在【o ,t 时f - j 内的累计失效概 率。 f ( t ) = p ( 丁st ) = 1 一r ( t ) ( 2 - 2 ) 基于构件的软件可靠性分析 ( 3 ) 软件失效密度函数 软件失效密度函数厂) 表示软件在时刻t 的失效概率。 f q ) = 警( 2 - 3 ) ( 4 ) 软件失效率函数 软件失效率函数a ( f ) 表示软件到时刻t 还未出失效的条件下,在 【f ,f + 出】内出现失效的概率。失效率也叫失效强度( f a i l u r ei n t e n s i t y ) 。 圳一半 ( 2 4 ) ( 5 ) 软件平均失效时间 软件平均失效时间m t i f ( m e a nt i m et of a i l u r e ) 是指在不可 维修的系统中,从运行开始到失效的出现之间的平均运行时间。若 将m t i t 记为0 ,则: 臼:! ( 2 5 ) ( 6 ) 软件平均失效间隔时间 软件平均失效间隔时间m t b f ( m e a nt i m eb e t w e e nf a i l u r e s ) 是指在可维修系统中,两次失效之间的平均运行时间。 ( 7 ) 平均修复时间 平均修复时间( m e a nt i m et or e p a i r ,m t t r ) 是指产品修复时 间的平均值,修复时间是从发现失效到产品恢复到规定的功能所需 的时间,即失效诊断( 定位失效) 、修复准备、实施修复、恢复及检 验系统等所用的时间,其中费时最多的是失效的诊断。从提高系统 可用性角度来看,提高m t - f r 比减少失效数更为有效。软件修复指 排除软件代码中的错误。软件的修复工作能够降低系统失效率,提 硕十学位论文 高系统的可靠性。软件修复时间是一个随机变量。 2 1 3 软件失效机理 弄清软件失效机理是提高软件可靠性的基础。一般来说,软件 失效机理可描述为:软件错误一软件缺陷一软件故障一软件失效。 ( 1 ) 软件错误( s o f t w a r ee l t o r ) :在整个软件生存期的各个阶段, 都贯穿着人的直接或间接的干预。软件错误是指在软件生存期内不 希望或不可接受的人为错误,其结果是导致软件缺陷的产生。可见 软件错误是一种人为过程,相对于软件本身,是一种外部行为。 ( 2 ) 软件缺陷( s o f t w a r ed e f e c t ) :软件缺陷是存在于软件之中的 那些不希望或不可接受的偏差。其结果是软件运行于某一特定条件 时出现软件故障,这时称软件缺陷被激活。软件缺陷是存在于软件 内部的、静态的一种形式。 ( 3 ) 软件故障( s o f t w a r ef a u l t ) :软件故障是指软件运行过程中 出现的一种不希望或不可接受的内部状态。此时若无适当措施( 如 容错) 加以及时处理,便产生软件失效。显然,软件故障是一种动 态行为。 ( 4 ) 软件失效( s o f t w a r ef a i l u r e ) :软件失效是指软件运行时产 生的一种不希望或不可接受的外部行为结果。 综上所述,软件错误是一种人为错误。一个软件错误必定产生 一个或多个软件缺陷。当一个软件缺陷被激活时,便产生一个软件 故障。同一个软件缺陷在不同条件下被激活,可能产生不同的软件 基于构件的软件可靠性分析 故障。软件故障如果没有及时的容错措施加以处理,便不可避免地 导致软件失效。 2 2 基于构件的软件 基于构件的软件工程( c o m p o n e n t - b a s e ds o f t w a r ee n g i n e e r i n g , 简称c b s e ) 或基于构件的软件开发是一种软件开发新范型,它是在 一定的构件模型的支持下,复用构件库中的一个或多个软件构件, 通过组合构件高效率、高质量地构造应用软件系统的过程。由于 以分布式对象为基础的构件实现技术日趋成熟,基于构件的软件开 发方法已经成为现今软件复用实践的研究热点,被认为是最具潜力 的软件工程发展方向之一。 基于构件的软件就是基于构件构件技术开发的软件。 2 2 1 软件体系结构 目前,关于软件体系结构的定义有很多,虽然没有一种为大家 所公认的定义。但是,普遍认为软件体系结构为软件系统提供了一 个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些 元素的相互作用、指导元素集成的模式以及这些模式的约束组成【矧。 软件体系结构是一个设计,它包括建立系统中的各元素( 构件 和连接件) 的描述、元素之间的交互、指导装配的范例和对范例的 约束【2 5 1 。按照这一思想,并考虑到构件和连接件定义的一致性,下 面给出软件体系结构的抽象关系的递归定义。 硕士学位论文 定义2 i t 2 6 】设跗= ( c ,l ) 是一个软件体系结构, c = ( c 。,c 2 ,c 忍) 是软件体系结构中构件的集合,工= 仁。,2 ,厶) 是连接件的集合,c 和三是有限集,即,z 戈为任意有界自然数。当且 仅当 ( 1 ) cn l = 驴,cut 妒。 ( 2 ) c ,乙a ,c ix l j l y qc _ a ,其中i , j , y , k 为有界自然数。 ( 3 ) a ( c ) u 仁c ) ,其中为迪卡尔积,表示构件与连接 件之间的关系。 一般构件是软件功能的承载部件,而连接件是负责完成构件间 信息交换和行为的专用部件。可见,连接件的功能是实现构件之间 的行为连动或转动以及信息交换。因此,构件和连接件在实现系统 功能上并不存在着共同点,所以,( 1 ) 中定义构件与连接件的交为 空,( 2 ) 中说明构件、连接件是一个体系结构,构件经有限次连接 后是一个体系结构。 2 2 2 构件 构件是一些可执行单元,可以通过独立的生产、购买和配置, 组合到一个功能系统中去【2 8 】,是软件系统内被标识、符合某种标准 要求并可复用的软件组成成份,类似于传统工业中的零部件。从广 义上来讲,构件可以是被封装的对象类、类簇、一些功能模块、文 档、分析设计模式等;从狭义上来说,构件一般指对外提供的具有 规约化接口、符合一定标准、可替换的软件系统的程序模块。通常 基于构件的软件可靠性分析 我们使用构件狭义上的概念。 一个构件之所以能成为构件,它必须具有封装性、描述性、替 换性、扩展性这四个重要属性。 ( 1 ) 封装性。封装是对构件实现和构件代码的一种隐藏。构件 的使用者不必了解构件的具体实现,只需通过构件的接口就能获得 相应的功能。这样,一旦构件的内部实现需要调整,将不会影响用 户的使用。 ( 2 ) 描述性。由于构件的封装性,要使用户能正确使用构件, 构件必须对自身进行描述,以提供足够的使用信息给用户,这些信 息主要包括对构件的接口、实现和部署的描述。对接口的描述告知 用户构件所提供的所有接口名及各接口所能完成的服务;对实现的 描述告知用户构件是如何构造的,如数据存储使用的是x m l 文件还 是关系型数据库;对部署的描述则告知用户构件的运行环境。如 c o m + 、c o r b a 等。 ( 3 ) 替换性。构件的封装和描述属性使得构件具有可替换性。 这是因为,封装性保证了构件内部实现的调整不会影响到用户的正 常使用,而描述性则为用户提供丰富的接口信息以供所需服务的调 用,也就是说,只要有相同的接口,一个构件完全可以由另一个构 件替换,哪怕它们的内部实现各不相同。 ( 4 ) 扩展性。扩展性是指在不影响用户使用构件的情况下增加 构件的功能。这种扩展可以通过两种方法达成,即: a ) 增加接口。该方法多为构件开发者采用,因为构件开发者可 硕十学位论文 以直接对内部实现进行修改。同时,考虑到兼容性,构件的原有接 口会得到保留,而把新增的功能通过新添加的接口供用户调用。 b ) 授权。该方法多为构件用户使用,因为由于构件的封装性, 用户无法直接修改构件的内部实现。该方法将创建一个新的构件, 原构件无法提供的功能在新构件中实现,已提供功能则在新构件中 继续被调用。 对于构件而言,其在不同的应用域中可具有不同的可靠性。这样, 关注于可靠性分析的构件可表示为如下形式: 定义2 2 构件可定义为这样的四元组: ,其中: ,是构件的功能规约,反映了本构件提供给外界使用的一组服 务接口; p 是构件的对外行为协议描述,定义了构件对外交互的情况; d 为构件的应用域集,且d :c x c - - + f ,它描述了本构件与系统 中其他构件之间通过服务接口进行组装连接的情形,构件在不同的 应用域中可具有不同的可靠性,其实质为该构件在其不同的对外交 互接口中表现出不同的可靠性情形; m 为映射函数,m :d _ 【o 1 】,定义了构件在不同应用域中 所表现出的不同可靠性。 构件可有多个对外服务接口,外界不同构件对这些不同服务接 口的访问调用形成了该构件不同的应用域。 基于构件的软件可靠性分析 2 2 3 连接件 任何构件的独立存在并不能发挥和实现自己的功能,连接件是 构件之间联系的特殊部分,实现了构件间的信息交换和行为关系。 连接件也拥有其内部结构和外部接口,但是,构件可以在多个 交互中扮演不同的角色,而连接件只能在一个交互中起作用,这种 不同在接口上表现为:构件可以有若干个相互无关的接口,而连接 件只能有一组相互关联的接口【2 6 1 。 连接件具有连接的方向性和连接的角色性。前者是指连接件的 任何一端可以进行单向或双向请求传递,后者是指参与连接的一方 的作用和地位,有主动和被动或请求和响应之分。 定义2 - 3 连接件厶- = : p c , ,一 表示所对应的一对连接交互构件q 、c j ; 吃。【o 1 】表示在相关应用调用完构件i 后调用构衔这一应用域 中对构件f 组装连接的连接件的可靠性。 2 3m a r k v o 过程 m a r k v o 过程( 马尔可夫过程) 是一类重要的随机过程,它的原 始模型是马尔可夫链,由俄国数学家a a 马尔可夫于1 9 0 6 年提出。所 谓马尔可夫性可以用下述语言直观地刻划:在已知系统目前状态( 现 在) 的条件下,它未来的演变( 将来) 不依赖于它以往的演变( 过去) , 也称无后效性。一般采用参数集和状态空间都离散的马尔可夫过程, 这种马尔可夫过程称为马尔可夫链( m a r k o vc h a i n ) 或马氏链。从数 硕士学位论文 学上,司以给出如下定义: 定义2 - 4 设 x 。,x 2 ,x ) 为有限个随机变量序列,x 疗表示时刻,z 所处的状态,e = 1 ,2 ,以) ( e 为有限个或可列个元素) 为随机变量 的状态空间,若对于任意的整数,z 及,f 2 ,书f ,j e e 都有 尸 x 一= ,ix 月- 1 = f ,x 万一2zf 一_ 1 ,x 1 = i l ) = 以x 打= j lx 刀- 1 = f ) ( 2 - 6 ) 随机变量以所处某状态的概率仅受瓦d 所处状态的影响,而与前 面的随机变- 一i 莹- x n _ 2 x 柚,x ,所处的状态无关,则称这种随机转移 过程为马尔可夫链。 定义2 - 5 设以为一马尔可夫链,给定鼍在状态f 时瓦n 处于状 态_ 的条件概率p ( x 州= j ix 厅一f 称为马尔可夫链的一步转移概率, 记作p 嚣川。当这一概率与刀无关时,称该马尔可夫链有平衡转移 概率,并记之为p 称该马尔可夫链为齐次马尔可夫链。 由于概率是非负的而且过程总是要转移到某一状态去,所以很 自然的有,对任意的i ,_ | 2 1 p 驴o 且妻p i j ;1 ( 2 7 ) j - u 当然,把留在原地也看成是一种转移,即从f 转移到f 。若系统 有胆个状态,将转移概率p f ,依次排列起来,就构成一个矩阵,称作 转移概率矩阵,记为 p = 【珊】= p h p 朋 状态转移概率矩阵是一个,z 阶方阵,它具有下述性质: 2 0 ( 2 8 ) 基于构件的软件可靠性分析 ( 1 ) p 玎乏o ( i ,= l 2 ,z ) ,即每个元素均是非负的。 ( 2 ) 助- - 1 ( i ,_ - - 1 , 2 ,z ) ,即矩阵每行元素的和等于1 。 j - i 在实际工作中,往往需要预计今后第m 时刻系统的状态。这必 须先求出系统的m 步状态转移概率。若已知一步转移概率,则m 步 转移概率
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司组织春季活动方案
- 公司职工送温暖活动方案
- 公司文艺晚会活动方案
- 公司爱心捐赠活动方案
- 公司春游拓展活动方案
- 公司看敬老院活动方案
- 公司落成典礼策划方案
- 公司狂欢泼水活动方案
- 公司春节维系活动方案
- 公司节日剪彩活动方案
- 2025年小学语文期末考试试题及答案
- 发改委立项用-超薄玻璃项目可行性研究报告
- 2025年北京市第一次普通高中学业水平合格性考试历史试题(含答案)
- 苏教版-数学二年级下册-期末试卷10套
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 新科hg5300功放说明书
- 2023-2024学年湖南省常德市小学语文六年级期末评估试卷附参考答案和详细解析
- 气污染源自动监控设施台账记录模版校准记录
- JJF 1169-2007汽车制动操纵力计校准规范
- 新高考高中物理竞赛专题1力学50题竞赛真题强化训练原卷版
- 晒纹资料大全
评论
0/150
提交评论