您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 软件体系结构分析和评估综述
软件体系结构分析与评估综述Team#12杨广杨英达曹海涛李良袁柱王喆×随着对软件体系结构的研究不断深化,诞生了软件体系结构形式化描述、风格、规范、建模等一系列的概念,并且形成了一个新的研究领域。×对于软件系统来说,软件质量变得更重要,大规模的复杂软件系统更是如此。×高质量的软件在维护和测试阶段的开销较低,复用的潜力大。研究背景人们已经认识到:在软件生命周期的越早阶段对软件质量进行评价越能降低整个开发的成本,在越早阶段对质量进行控制的效果也越好。×AT&T的报告显示,在早期阶段对软件质量进行评价可提高10%的开发效率。研究背景对软件体系结构的分析包括有:1对其组成要素的分析2要素之间联系的分析我们通过这些分析来评价该体系结构的质量。研究背景1发展现状2概念描述3关键技术与方法4关键方法的比较目录5实例剖析6目前仍存在的问题讨论7发展趋势8总结目录1发展现状20世纪90年代以来,软件体系结构的评估技术一直是研究的热点问题。一些软件体系结构的评估方法已经比较成熟并得到了应用和验证,如基于场景的软件体系结构分析方法(SAAM)、软件体系结构折中分析方法(ATAM)、利用软件性能工程SPE对软件体系结构进行评估的方法(PASA),软件体系结构层次可维护性预测方法(ALMA)等。1发展现状人们逐步认识到软件体系结构的分析评估对保证软件质量的重要性,在软件体系结构分析与评估这个新领域,许多研究组织在各种杂志与会议上提出了许多新颖的结构化的评估方法,并且对这些软件体系结构分析与评估的新方法的验证与实现在不断的进行着。1发展现状2概念描述在软件设计领域一般认为:软件体系结构的分析评估,就是通过成本相对较低的活动来分析结构中可能存在的风险,发现软件体系结构中影响系统质量的关键因素,并提出相应的改进措施,在此基础上检验软件的性能需求是否得到满足。2概念描述3关键技术与方法×软件体系结构的分析与评价方法主要可以从两个角度进行分析,一是进行定性的分析,二是进行定量的分析。×定性的分析主要是采用基于checklist,questionnaire和场景的分析评价技术。×定量的分析主要是采用基于度量指标、原型系统、数学模拟、模拟、测量等技术的。×本部分将对国内外有代表性的几种分析评估方法进行讨论。3关键技术与方法3.1SAAM方法×SAAM法是把一个物体最丰要的属性列举出来,再用检查表法把各个项目加以变化,并将其加以重新组合,然后再找出其中可以实行而且也有效果的项目。×实质上是将列举法和检查表法互相配合使用。×在使用检查表法的时候,我们会发现被检查的事物范围太大了。如用“替换”来变更设计时,是变更哪一部分的设计就没有具体确定。。3.1SAAM方法×SAAM方法在改良事物性质的方面具有极大的功效。×SAAM方法是第1个被广泛接受的体系结构分析评价方法。×它适用于可修改性、可拓展性以及功能覆盖等质量属性。3.1SAAM方法场景是常用的一种技术,由用户、外部激励等初始化,通常包括系统中的事件和触发该事件的特定激励。SAAM方法采用大脑风暴技术构建场景,体系结构的描述采用自然语言或其他形式表示。方法将场景归类为直接场景和间接场景,分别支持对体系结构的静态结构分析和动态分析。SAAM方法的过程3.1SAAM方法×SAAM方法有着以下缺陷:没有提供体系结构质量属性的清晰的度量。评估过程依赖专家经验等,只适合对体系结构的粗糙评价。3.1SAAM方法3.2ATAM方法×在SAAM的基础上,SEI于2000年提出ATAM方法。×ATAM是评价软件构架的一种综合全面的方法,它考虑了可修改性、可靠性和安全性等多种质量属性。×不仅可以揭示出构架满足特定质量目标的情况,而且可以使我们更清楚地认识到质量目标之间的联系——即如何权衡诸多质量目标。3.2ATAM方法×ATAM方法基于假设如下:体系结构风格是体系结构质量属性最主要的限定,因此采用ABASs(attribute-basedarchitecturestyles)来限定体系结构的描述形式。×ATAM关注如何从商业目标获取体系结构的质量属性目标,体系结构风格是如何协助达到这些目标。3.2ATAM方法×ATAM方法的分析评价是一个迭代过程。×包括4个阶段:准备调查和分析测试报告3.2ATAM方法×实际应用中,ATAM借助调查表实现,它使用调查表来收集影响体系结构质量属性的要素,描述质量属性的特征,并将场景分为如下3类。3.2ATAM方法ATAM场景分类Usecasescenario指系统的使用,用于信息的获取Growthscenario覆盖系统预期的变更Exploratoryscenario覆盖了可能对系统造成“压力”的重大变更,从不同角度探测系统的特性,有助于提高Scenario的完整性并对体系结构的风险决策提供支持1233.2ATAM方法×ATAM分析质量属性之间的交互关系和依赖关系,探讨不同质量属性之间的折中机制。为目标质量属性建立效用树,直接有效的将系统的商业目标转化为具体的质量场景,有助于质量目标的具体化和排序。3.2ATAM方法×ATAM方法是被验证有效和广泛使用的一种方法,可以针对实用性、可靠性和可修改性这些质量属性,在系统开发之前对其进行分析和评价。×在评估活动结束以后,将评估的结果与实际需求相对比,如果系统预期性能可以满足需求,设计工作就可以继续进行。×但它对质量属性并没有进行深入分析,缺少定量的数据来支持分析的结果。3.2ATAM方法3.3ALPSM方法×ALPSM方法是BengtsSon和Bosch提出的在体系结构层次预测系统可维护性的一种方法。×ALPSM定义了可维护性框架,即一组表示维护任务的变更场景。一个场景描述系统中可能发生的一个或一系列动作,场景的变更就描述一个具体的维护任务。×ALPSM以场景变更的规模作为可维护性的预测因子,通过场景变更所需的维护代价分析体系结构可维护性。3.3ALPSM方法×ALPSM方法结合设计经验和历史数据对可维护行框架进行验证,并且有效地引入变更,预测系统的可维护性。×方法的缺陷是具有一些不确定性,例如如何验证可维护性框架具有代表性。3.3ALPSM方法如图所示,该方法有很多输入,例如需求声明、体系结构描述、来自软件工程师的专门意见,以及可能存在的历史维护数据。ALPSM的输入与输出3.3ALPSM方法×ALPSM包括六个步骤:标志维护任务的分类合成场景为每个场景分配权重估计所有元素的大小为场景编写脚本计算预测的维护成本3.3ALPSM方法4关键方法的比较本部分主要对三个相对有代表性软件体系结构分析与评估方法做了比较与讨论,通过图表的方式分辨从考察的属性,适用的阶段,适用的评估技术以及风险承担者的参与等角度进行概括与总结,使得读者能够更加清楚的了解到各种软件评估方法的优点与缺点。4关键方法的比较上表显示了基于场景的体系结构分析方法(SAAM),体系结构权衡分析方法(ATAM),体系结构级别上的软件维护预测(ALPSM)。三种典型的评估方法比较4关键方法的比较比较因素考查的质量属性使用阶段使用的评估技术风险承担者的参与评估方法SAAM可修改性SA的最终版本场景所有的风险承担者ATAM多个质量属性(侧重可修改性、安全性、性能和可用性)SA的最终版本或设计的重复改进过程询问技术和度量技术(通过效用树和对场景的集体讨论来理解质量属性需求,通过对软件体系结构方法的分析来确定敏感点、权衡点和风险)所有的风险承担者和体系结构设计师ALPSM可维护性设计过程场景(不同于用例场景,它描述的是与系统相关的可能发生的活动或活动的序列,而一个变化场景描述了系统的某个维护任务)仅仅设计师×从表中可以看出三种方法使用的阶段是不同的。×对于ALPSM来说,这种方法主要应用在设计过程,并且考查软件系统的可维护性,该方法是基于场景(不同于用例场景)的方式的,风险承担者的参与仅仅是设计师。4关键方法的比较×同样对于SAAM来讲,使用的评估技术也是基于场景的,这种方法主要用来评估系统的可修改性,使用的阶段通常是SA的最终版可修改性、安全性、可用性,使用阶段主要是SA的最终版本或设计的重复改进本。×基于询问技术与度量技术的ATAM方法,可以检测多种质量属性,其中包括过程,风险承担者的参与是所有的风险承担者以及体系结构设计师。4关键方法的比较5.1.1描述体系结构电子编辑器是用户用来制作、编辑和浏览用于申请系统中所需的各类电子文件的。它主要分为以下模块:主控制模块(MainProc)、模板管理模块(TmptMalmge)、文档转换模块(DocConv)、数据存储模块(DocStor)、常用字处理模块(WordPmc)、文档结构索引模块(Doelndex)、XML转换模块(XMLEonv)、辅助审查模块(AsitCheck)、模板制作模块(TmptEditor)、ACD文件编辑模块(ADI.Editor)等。5.1.1描述体系结构软件体系结构图5.1.1描述体系结构主控制常用字处理文档结构索引模板制作模板管理文档转换输入ADL文件编辑辅助审查输出XML转换模板库XML文件库数据存储类InitGetDataModify子程序调用隐式调用1.打开其他格式的文档,比如原先不支持word97以上的文档格式、WPS文档格式,现在要求支持WORD97以上的doc文档以及WPS文档等。2.改变文档结构索引的显示风格,从树形改为列表形。3.增加对XMI文件的辅助审查。4.增加对数学公式、化学公式的支持。5.增加快速索引的功能,比如对于条目自动跳过。6.常用字处理模块采用的是WPTOOIs组件,如果WPTOOLs组件不符台要求的话,对软件的设计有何影响。7.辅助审查的内容可以改变。8.XML采用的结构从DTD改为SCHEMA,随之带来的XML标准也要进行改变。5.1.2开发任务场景×对每一个场景,确定这个任务能否被直接支持(通过执行该系统)或间接支持(通过修改该系统)。如果是间接支持,需要确定需要改动的部件和关系数量,改变的多少,可以代表系统的性能。改动越少,代表系统性能越好,反之,系统性能越差。5.1.3执行场景评价1.支持其他不同格式的文档:间接支持,需要改动的模块足DoctConv。2.改变文档结构索引表的显示风格:间接支持。需要改动的模块是Ooclndex。3.增加对XML文件的辅助审查:间接支持。需要改动的是MainProc,AsitCheck。MainProc模块需要增加进行XML文件辅助审查的命令。AsitCheck需要增加对XML文件进行辅助审查功能。4.增加对化学公式和数学公式的支持:间接支持。需要改动的是MainProc模块。需要增加一个处理数学与化学公式的模块。5.增加快速索引的功能:间接支持。需要改动的模块是MainProc。6.常用字处理组件WPTOOLS改为RICHEDIT:间接支持。需要改动的模块是:MmnPmc,WordProc,AsitCheck,Doclndex。5.1.3执行场景评价7.辅助审查的内容发生改变,分两种情况:①改动的内容能够用规定的文法来描述,则直接支持。②改动的内容不能够用规定的文法来描述.则间接支持。8.XML采用的DTD结构政为SCHEMA结构:间接支持。需要改动的模块是:XMLConv。9.移植到其他的操作系统之中:间接支持。改动所有调用,WIN32API的模块都需要改动。10.从对一个申请文档的编辑改为对一个申请项目工程的编辑:间接支持。需要改动的模块是:MainProc.TmptManage。11.与一个新的开发工具结合:间接支持。需要把电子编辑器改为可嵌入的服务器软件。需要改动的模块是:MalnProc。5.1.3执行场景评价场景交互代表了功能是如何向设计过程分配的,过高的场景交互表示系统的模块功能划分得不好。下面通过说明XML电于编辑器中每一个模块需要改动的数目表示场景交互的程度,即对交互程度做了评价。模块名:MainProc,需要改动的数目:8。模块名:TmptManage,需要改动的数目:2。模块名:DocConv,需要改动的数目:1。模块名:Do
本文标题:软件体系结构分析和评估综述
链接地址:https://www.777doc.com/doc-5931387 .html