软件体系结构分析与评估综述_第1页
软件体系结构分析与评估综述_第2页
软件体系结构分析与评估综述_第3页
软件体系结构分析与评估综述_第4页
软件体系结构分析与评估综述_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件体系结构分析与评估综述Team#12 杨广 杨英达 曹海涛 李良 袁柱 王喆随着对软件体系结构的研究不断深化,诞生了软件体系结构形式化描述、风格、规范、建模等一系列的概念,并且形成了一个新的研究领域。对于软件系统来说,软件质量变得更重要,大规模的复杂软件系统更是如此。高质量的软件在维护和测试阶段的开销较低,复用的潜力大。研究背景人们已经认识到:在软件生命周期的越早阶段对软件质量进行评价越能降低整个开发的成本,在越早阶段对质量进行控制的效果也越好。AT&T的报告显示,在早期阶段对软件质量进行评价可提高10的开发效率。研究背景对软件体系结构的分析包括有:1对其组成要素的分析2要素之间联系的分析

2、我们通过这些分析来评价该体系结构的质量。研究背景1 发展现状2 概念描述3 关键技术与方法4 关键方法的比较目 录5 实例剖析6 目前仍存在的问题讨论7 发展趋势8 总结目 录1 发展现状20世纪90年代以来,软件体系结构的评估技术一直是研究的热点问题。一些软件体系结构的评估方法已经比较成熟并得到了应用和验证,如基于场景的软件体系结构分析方法(SAAM)、软件体系结构折中分析方法(ATAM)、利用软件性能工程SPE对软件体系结构进行评估的方法(PASA),软件体系结构层次可维护性预测方法(ALMA)等。1 发展现状人们逐步认识到软件体系结构的分析评估对保证软件质量的重要性,在软件体系结构分析与

3、评估这个新领域,许多研究组织在各种杂志与会议上提出了许多新颖的结构化的评估方法,并且对这些软件体系结构分析与评估的新方法的验证与实现在不断的进行着。1 发展现状2 概念描述在软件设计领域一般认为:软件体系结构的分析评估,就是通过成本相对较低的活动来分析结构中可能存在的风险,发现软件体系结构中影响系统质量的关键因素,并提出相应的改进措施,在此基础上检验软件的性能需求是否得到满足。2 概念描述3 关键技术与方法软件体系结构的分析与评价方法主要可以从两个角度进行分析,一是进行定性的分析,二是进行定量的分析。定性的分析主要是采用基于checklist,questionnaire和场景的分析评价技术。定

4、量的分析主要是采用基于度量指标、原型系统、数学模拟、模拟、测量等技术的。本部分将对国内外有代表性的几种分析评估方法进行讨论。3 关键技术与方法3.1 SAAM方法SAAM法是把一个物体最丰要的属性列举出来,再用检查表法把各个项目加以变化,并将其加以重新组合,然后再找出其中可以实行而且也有效果的项目。实质上是将列举法和检查表法互相配合使用。在使用检查表法的时候,我们会发现被检查的事物范围太大了。如用“替换”来变更设计时,是变更哪一部分的设计就没有具体确定。3.1 SAAM方法SAAM方法在改良事物性质的方面具有极大的功效。SAAM方法是第1个被广泛接受的体系结构分析评价方法。它适用于可修改性、可

5、拓展性以及功能覆盖等质量属性。3.1 SAAM方法场景是常用的一种技术,由用户、外部激励等初始化,通常包括系统中的事件和触发该事件的特定激励。SAAM方法采用大脑风暴技术构建场景,体系结构的描述采用自然语言或其他形式表示。方法将场景归类为直接场景和间接场景,分别支持对体系结构的静态结构分析和动态分析。SAAM方法的过程3.1 SAAM方法SAAM方法有着以下缺陷:没有提供体系结构质量属性的清晰的度量。评估过程依赖专家经验等,只适合对体系结构的粗糙评价。3.1 SAAM方法3.2 ATAM方法在SAAM的基础上,SEI于2000年提出ATAM方法。ATAM是评价软件构架的一种综合全面的方法,它考

6、虑了可修改性、可靠性和安全性等多种质量属性。不仅可以揭示出构架满足特定质量目标的情况,而且可以使我们更清楚地认识到质量目标之间的联系即如何权衡诸多质量目标。3.2 ATAM方法ATAM方法基于假设如下:体系结构风格是体系结构质量属性最主要的限定,因此采用ABASs(attribute-based architecture styles)来限定体系结构的描述形式。ATAM关注如何从商业目标获取体系结构的质量属性目标,体系结构风格是如何协助达到这些目标。3.2 ATAM方法ATAM方法的分析评价是一个迭代过程。包括4个阶段:准备调查和分析测试报告3.2 ATAM方法实际应用中,ATAM借助调查表实

7、现,它使用调查表来收集影响体系结构质量属性的要素,描述质量属性的特征,并将场景分为如下3类。3.2 ATAM方法场景分类Use case scenario指系统的使用,用于信息的获取Growth scenario覆盖系统预期的变更Exploratory scenario覆盖了可能对系统造成“压力”的重大变更,从不同角度探测系统的特性,有助于提高Scenario的完整性并对体系结构的风险决策提供支持1233.2 ATAM方法ATAM分析质量属性之间的交互关系和依赖关系,探讨不同质量属性之间的折中机制。为目标质量属性建立效用树,直接有效的将系统的商业目标转化为具体的质量场景,有助于质量目标的具体化

8、和排序。3.2 ATAM方法ATAM方法是被验证有效和广泛使用的一种方法,可以针对实用性、可靠性和可修改性这些质量属性,在系统开发之前对其进行分析和评价。在评估活动结束以后,将评估的结果与实际需求相对比,如果系统预期性能可以满足需求,设计工作就可以继续进行。但它对质量属性并没有进行深入分析,缺少定量的数据来支持分析的结果。3.2 ATAM方法3.3 ALPSM方法ALPSM方法是BengtsSon和Bosch提出的在体系结构层次预测系统可维护性的一种方法。ALPSM定义了可维护性框架,即一组表示维护任务的变更场景。一个场景描述系统中可能发生的一个或一系列动作,场景的变更就描述一个具体的维护任务

9、。ALPSM以场景变更的规模作为可维护性的预测因子,通过场景变更所需的维护代价分析体系结构可维护性。3.3 ALPSM方法ALPSM方法结合设计经验和历史数据对可维护行框架进行验证,并且有效地引入变更,预测系统的可维护性。方法的缺陷是具有一些不确定性,例如如何验证可维护性框架具有代表性。3.3 ALPSM方法如图所示,该方法有很多输入,例如需求声明、 体系结构描述、 来自软件工程师的专门意见,以及可能存在的历史维护数据。ALPSM的输入与输出3.3 ALPSM方法ALPSM包括六个步骤:标志维护任务的分类合成场景为每个场景分配权重估计所有元素的大小为场景编写脚本计算预测的维护成本3.3 ALP

10、SM方法4 关键方法的比较本部分主要对三个相对有代表性软件体系结构分析与评估方法做了比较与讨论,通过图表的方式分辨从考察的属性,适用的阶段,适用的评估技术以及风险承担者的参与等角度进行概括与总结,使得读者能够更加清楚的了解到各种软件评估方法的优点与缺点。4 关键方法的比较上表显示了基于场景的体系结构分析方法(SAAM),体系结构权衡分析方法(ATAM),体系结构级别上的软件维护预测(ALPSM)。三种典型的评估方法比较4 关键方法的比较 比较因素比较因素 考查的考查的质量属性质量属性使用阶段使用阶段使用的使用的评估技术评估技术风险承担风险承担者的参与者的参与评估方法评估方法SAAM可修改性可修

11、改性SA的最终版的最终版本本场景场景所有的风险承担所有的风险承担者者ATAM多个质量属性多个质量属性(侧重可修改(侧重可修改性、安全性、性、安全性、性能和可用性性能和可用性)SA的最终版的最终版本或设计的本或设计的重复改进过重复改进过程程询问技术和度量技术(通过效用询问技术和度量技术(通过效用树和对场景的集体讨论来理解质树和对场景的集体讨论来理解质量属性需求,通过对软件体系结量属性需求,通过对软件体系结构方法的分析来确定敏感点、权构方法的分析来确定敏感点、权衡点和风险)衡点和风险)所有的风险承担所有的风险承担者和体系结构设者和体系结构设计师计师ALPSM可维护性可维护性设计过程设计过程场景(不

12、同于用例场景,它描述场景(不同于用例场景,它描述的是与系统相关的可能发生的活的是与系统相关的可能发生的活动或活动的序列,而一个变化场动或活动的序列,而一个变化场景描述了系统的某个维护任务)景描述了系统的某个维护任务)仅仅设计师仅仅设计师从表中可以看出三种方法使用的阶段是不同的。对于ALPSM来说,这种方法主要应用在设计过程,并且考查软件系统的可维护性,该方法是基于场景(不同于用例场景)的方式的,风险承担者的参与仅仅是设计师。4 关键方法的比较同样对于SAAM来讲,使用的评估技术也是基于场景的,这种方法主要用来评估系统的可修改性,使用的阶段通常是SA的最终版可修改性、安全性、可用性,使用阶段主要

13、是SA的最终版本或设计的重复改进本。基于询问技术与度量技术的ATAM方法,可以检测多种质量属性,其中包括过程,风险承担者的参与是所有的风险承担者以及体系结构设计师。4 关键方法的比较电子编辑器是用户用来制作、编辑和浏览用于申请系统中所需的各类电子文件的。它主要分为以下模块:主控制模块(MainProc)、模板管理模块(TmptMalmge)、文档转换模块(DocConv)、数据存储模块(DocStor)、常用字处理模块(WordPmc)、文档结构索引模块(Doelndex)、XML转换模块(XMLEonv)、辅助审查模块(AsitCheck)、模板制作模块(TmptEditor)、ACD文件编

14、辑模块(ADIEditor)等。软件体系结构图1. 打开其他格式的文档,比如原先不支持word97以上的文档格式、WPS文档格式,现在要求支持WORD97以上的doc文档以及WPS文档等。2. 改变文档结构索引的显示风格,从树形改为列表形。3. 增加对XMI文件的辅助审查。4. 增加对数学公式、化学公式的支持。5. 增加快速索引的功能,比如对于条目自动跳过。6. 常用字处理模块采用的是WPTOOIs组件,如果WPTOOLs组件不符台要求的话,对软件的设计有何影响。7. 辅助审查的内容可以改变。8. XML采用的结构从DTD改为SCHEMA,随之带来的XML标准也要进行改变。对每一个场景,确定这

15、个任务能否被直接支持(通过执行该系统)或间接支持(通过修改该系统)。如果是间接支持,需要确定需要改动的部件和关系数量,改变的多少,可以代表系统的性能。改动越少,代表系统性能越好,反之,系统性能越差。1. 支持其他不同格式的文档:间接支持,需要改动的模块足DoctConv。2. 改变文档结构索引表的显示风格:间接支持。需要改动的模块是Ooclndex。3. 增加对XML文件的辅助审查:间接支持。需要改动的是MainProc,AsitCheck。MainProc模块需要增加进行XML文件辅助审查的命令。AsitCheck需要增加对XML文件进行辅助审查功能。4. 增加对化学公式和数学公式的支持:间

16、接支持。需要改动的是MainProc模块。需要增加一个处理数学与化学公式的模块。5. 增加快速索引的功能:间接支持。需要改动的模块是MainProc。6. 常用字处理组件WPTOOLS改为RICHEDIT:间接支持。需要改动的模块是:MmnPmc,WordProc,AsitCheck,Doclndex。7. 辅助审查的内容发生改变,分两种情况:改动的内容能够用规定的文法来描述,则直接支持。改动的内容不能够用规定的文法来描述则间接支持。8. XML采用的DTD结构政为SCHEMA结构:间接支持。需要改动的模块是:XMLConv。9. 移植到其他的操作系统之中:间接支持。改动所有调用,WIN32A

17、PI的模块都需要改动。10. 从对一个申请文档的编辑改为对一个申请项目工程的编辑:间接支持。需要改动的模块是:MainProcTmptManage。11. 与一个新的开发工具结合:间接支持。需要把电子编辑器改为可嵌入的服务器软件。需要改动的模块是:MalnProc。场景交互代表了功能是如何向设计过程分配的,过高的场景交互表示系统的模块功能划分得不好。下面通过说明XML电于编辑器中每一个模块需要改动的数目表示场景交互的程度,即对交互程度做了评价。模块名:MainProc,需要改动的数目:8。模块名:TmptManage, 需要改动的数目:2。模块名:DocConv,需要改动的数目:1。模块名:D

18、oxStar,需要改动的数目:1。模块名:WordProc,需要改动的数目:2。模块名:DocIndex,需要改动的数目:4。模块名:XMLConv,需要改动的数目:1。模块名:AsitCheck,需要改动的数目:5。模块名:TmptEditor,需要改动的数目:1。模块名:ADLEditor,需要改动的数目:3。通过一系列步骤,首先我们可以得出系统的设计很清晰,同时可检测性比较强。并且,系统的各个模块抽象得比较好,相互之间比较独立,系统有着很强的可修改性。其次是数据格式的改变对体系结构的影响很小。最后,因为采用了面向对象的体系结构和基于事件隐式调用的体系结构,更增强了各个模块的可重用性。特别

19、是常用字处理模块,辅助审查模块和XML转换模块,可以很容易的被重用。6 目前仍存在的问题讨论随着软件体系结构的分析与评估研究的不断深入,提出了很多新的方法,并且有了一定的研究进展,但是目前仍然存在一定的问题需要讨论,包括:体系结构的描述,质量特征的分析,场景不确定的处理,度量的应用以及软件体系结构评估的发展趋势。6 目前仍存在的问题讨论由于缺少统一的ADL框架和定义,体系结构描述有多种观点,并且,用不同ADL描述的体系结构规格说明,因此不能互换,大大增加了体系结构比较和选择的困难。6.1 体系结构的描述质量特征的深入分析是体系结构进行度量和分析的基础之一。ISO/IEC9126提出了内部质量和外部质量的概念,并给出了软件的6个质量特性和34个质量子特性但对内部质量和外部质量之间的关系,质量特性和子特性之间的关系却没有清晰和准确的定义,不能直接用于度量分析中。3因此,对于软件体系结构的评价,我们需要根据相应的应用领域,深入分析质量的属性,找出合适的度量。6.2 质量特征的分析由于基于场景的分析评价技术具有很多的不确定性,包括如何根据某质量特征使场景具有代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论