您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 浅谈软件体系结构评估技术
浅谈软件体系结构评估技术摘要:作为在软件生命周期早期保障软件质量的重要手段之一,软件体系结构评估技术是软件体系结构研究中的一个重要组成部分。现有的软件体系结构评估方法可以划分为3类:基于场景的评估方法、基于度量和预测的评估方法以及特定软件体系结构描述语言的评估方法。按照团建体系结构评估技术的评价框架,分别从评估方法的特征、评估目标、关键技术等方面对这3类方法的特点进行介绍和对比。关键词:软件体系结构;软件体系结构评估技术;软件质量软件工程方法的唯一目标就是:生产高质量的软件。软件质量从软件工程诞生以来一直受到广泛关注。二软件体系结构评估的目的就是为了在开发过程的早期,通过分析系统的质量需求是否在软件体系结构中得到体现,识别软件体系结构设计中的潜在风险,预测系统质量属性,并辅助软件体系结构决策的制定。软件体系结构的评估技术一直是研究的热点问题。随着软件体系结构评估技术的不断出现,一些方法已经比较成熟并得到了应用和验证,比如基于场景的软件体系结构分析方法、基于度量-预测的评估方法以及基于某种特定软件体系结构描述语言的分析方法。一、基于场景的评估方法该类评估方法的基本观点是,大多数软件质量属性极为复杂,根本无法用一个简单的尺度来衡量。同时,质量属性并不是出于隔离状态,只有在一定的上下文环境中才能做出关于质量属性的有意义的评判。利用场景技术则可以具体化评估的目标,代替对质量属性(可维护性、可修改性、健壮性、灵活性等)的空洞表述,使对软件体系结构的测试成为可能。所以,场景对于评估具有非常关键的作用,整个评估过程就是论证软件体系结构对关键场景的支持程度。1、重要特征通过对多种基于场景的评估方法的分析,我们认为该类方法具有一下重要特征:第一、场景是这类评估方法中不可缺少的输入信息,场景的设计和选择是评估成功与否的关键因素;第二、这类评估是人工智力密集型劳动,评估质量在很大程度上取决于人的经验和技术。2、评估目标基于场景的评估方法主要有以下几种目标:第一、评估软件体系结构是否满足各种质量属性的要求;第二、比较不同的软件体系结构方案;第三、进行风险评估。该类方法的评估结果大多以评估报告的形式给出,根据评估目标的不同,不同的评估方法给出的报告内容也不同,一般的评估报告包括软件体系结构模型对所评估质量属性的满足程度,更进一步地,通过专家的分析,在报告中还可以给出软件开发中可能存在的风险,有时甚至包括软件体系结构设计的改进建议等。3、关键技术场景获取技术和场景分析技术是基于场景的评估方法中最为关键的两项技术。3.1场景获取技术场景获取是明确评估目标的重要环节。场景获取最基本的方法就是让项目涉众进行头脑风暴,比如SAAM和ATAM方法。在头脑风暴的基础上,为了对场景进行积累和重用,ESSAAMI方法强调了场景的领域特性,通过对领域分析增加领域知识,积累分析模板,提高在领域内对场景的重用和获取。PSAEM方法则从系统设计的角度提出了一种基于模式的场景提取技术,将软件体系结构模式和设计模式中包含的通用行为作用为评估的场景,从而得到了通用的场景模式。为了尽可能地平衡候选场景的完整性和关键性,研究人员提出了场景的等价类选择技术,该技术将所有的场景划分为等价的组,然后从每组中抽取一个场景进行评估,从而避免重复评估类似的场景,减少评估成本。ALMA首次提出并应用了该技术。另外,针对各种质量属性的不同特点,也提出了具有一定针对性的场景获取技术。比如:ASAAM方法。3.2场景分析技术采用评审会议的方法进行场景分析是最基本的分析方法,利用该方法评估人员可以得到软件体系结构对各场景的满足程度,可以比较多个软件体系结构方案。SAAM、ATAM等方法都给予这种人工评审的技术。但人工评审从效率和精确性上都有一定的欠缺,所以研究人员也在利用一些自动分析的方法,对场景进行模拟执行,通过模拟数据来说明软件体系结构是否满足场景的要求。在场景分析中,对于不同质量属性的综合分析也是一项非常重要的技术,其中最有影响的研究是ATAM方法中引入效用树技术来支持对多属性进行折中分析的能力。二、基于度量和预测的评估方法软件体系结构的度量是对软件中间产品的度量,可以更加精确地描述软件体系结构的各种特征,并通过预测去发现软件设计中存在的问题。1、重要特征通过对多种基于度量和预测的评估方法的分析和比较得出,此类方法具有以下重要特征:第一、这些方法的基本思路是将传统的度量和预测技术应用在软件体系结构层次;第二、度量技术需要软件体系结构提供比较细粒度的信息,对模型的要求比较严格;第三、利用度量技术对软件体系结构模型的内部特征(如复杂性、内聚度、耦合性等)进行测量;第四、利用这些度量作为预测指标,对某些软件的外部质量(如可维护性、可演化性、可靠性等)进行预测,但由于预测模型构造的困难,所以这些预测一般只作为一种辅助评估手段。2、评估目标基于度量的评估方法主要有以下几种目标:第一、通过精确的度量,可以评估软件体系结构层次上的内部质量特征;第二、利用预测模型可以评估软件的外部特征;第三、进行风险评估。3、关键技术在基于度量和预测的评估方法中,度量技术解决的是各种因素的可测量问题,而预测技术解决的是各种因素之间的相关性问题。这两项技术都是评估的基础问题。3.1度量技术根据度量对象的不同,度量技术可以分为两类:第一类是软件体系结构模型的度量技术;第二类是对各种质量属性在软件体系结构层次的度量技术。首先,软件体系结构模型的度量技术主要是对软件体系结构模型的结构特征和行为特征进行度量,如:结构复杂度、结构形态、行为复杂度等。如ALRRA方法为了进行可靠性分析,提出了包括构件操作复杂度、连接件输出耦合度等一组软件体系结构模型的度量技术。另外一种度量技术则是对性能、可靠性、可维护性等质量属性在软件体系结构层析的量化形式进行研究。如PASA方法就定义了计算机资源需求、作业驻留时间、利用率、吞吐量、队列长度等度量,对性能进行量化的表示;SACMM方法为了对软件可更改性及软件体系结构的演化性进行评估,利用graphkernel函数定义距离度量对软件体系结构的相似性进行量化;ALRRA方法提出了与故障相关的一组度量,包括构建和连接件的故障模式、故障严重性级别。通过复杂性度量和故障严重性级别,可以计算可靠性风险因子。3.2预测技术预测技术是在度量技术的基础上进一步研究在软件体系结构层次上各因素之间的关系。利用这些经验关系,可以通过一些在软件体系结构层次上的特性(如结构和行为特征等)来预测未知的软件质量特性(如可靠性、可维护性等)。预测技术的研究需要比较深入的理论知识和大量的经验数据,这些都是软件工程研究的难点问题。目前,该技术已经取得了一些成果,如在ALRRA方法中,利用复杂性度量和故障严重性级别,建立了基于构件依赖图(CGD)的模型,并利用风险分析算法对CGD模型进行计算,可以评估软件体系结构的可靠性风险;SAABNet方法则利用贝叶斯信念构造了软件体系结构策略到软件质量的因果关系模型,可以通过设计策略对各种质量属性进行预测。三、基于特定软件体系结构描述语言的评估方法基于特定软件体系结构描述语言(ADL)的评估方法是一类比较特殊的方法,这类方法依赖于魔种具体的软件体系结构描述语言,一般是软件体系结构语言研究的附属品。1、重要特征通过对多种基于特定软件体系结构描述语言的评估方法的分析个比较得出此类方法具有以下特征:第一、评估技术与特定软件体系结构描述语言的定义机制和理论基础密切相关;第二、软件体系结构描述语言的定义非常严格,通常是形式化或半形式化的描述语言。2、评估目标:在基于特定软件体系结构描述语言的评估方法中,可以评估的质量属性是受到其语言特征和形式化理论基础的限制的。一般,此类方法用于评估特定领域软件系统的性能、可靠性、安全性、事务性的质量属性。3、关键技术:各种特定的基于特定软件体系结构描述语言具有不同形式化理论基础,其评估技术依赖于所采用的理论模型。比如,DSSA中MetaH语言的语义主要基于形式化调度和数据流模型,所以可以通过对软件体系结构的模拟执行得到时间性能、可靠性、安全性的评估结果。另外,在基于UML逆向工程的软件体系结构分析方法中,通过一种结合自顶向下和自底向上方法的逆向工程构造软件实现模型与软件体系结构模型之间的关系;利用概念模型和约束模型进行软件体系结构的结构分析,首先根据约束模型对软件体系结构模型进行验证,然后利用原子操作对不同的软件体系结构模型进行比较,可以对软件的可维护性进行评估。软件体系结构评估技术是为了在软件设计的初期发现与软件质量相关的问题。自从基于场景软件体系结构分析方法被提出以来,学术界和商业界涌现了很多软件体系结构评估技术。不同的评估方法呈现出不同的技术特点。参考文献:[1]张友生软件体系结构的描述方法程序员2002(11):44-46[2]张友生李雄软件体系结构清华大学出版社2009/08[3]周苏软件体系结构与设计轻缓大学出版社2013/03
本文标题:浅谈软件体系结构评估技术
链接地址:https://www.777doc.com/doc-2227735 .html