资源描述
,2019年9月21,感谢你的观看,*,2019年9月21,感谢你的观看,*,第,8,章:软件体系结构评估,软件体系结构评估概述,软件体系结构评估的主要方式,ATAM,评估方法,1,感谢你的观看,2019年9月21,第8章:软件体系结构评估 软件体系结,8.1,体系结构评估概述,评估所关注的质量属性:,1,、性能,性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。,2,感谢你的观看,2019年9月21,8.1 体系结构评估概述 评估所关注的质量属性:性,2,、可靠性,可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。,可靠性通常用平均失效等待时间(,MTTF,)和平均失效间隔时间(,MTBF,)来衡量。在失效率为常数和修复时间很短的情况下,,MTTF,和,MTBF,几乎相等。,容错,健壮性,3,感谢你的观看,2019年9月21,2、可靠性 可靠性是软件系统在应用或系统错误面前,在意,3,、可用性,可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。,4,感谢你的观看,2019年9月21,3、可用性 可用性是系统能够正常运行的时间比例。经,4,、安全性,安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。,5,感谢你的观看,2019年9月21,4、安全性 安全性是指系统在向合法用户提供服务的同,5,、可修改性,可维护性,可扩展性,结构重组,可移植性,6,感谢你的观看,2019年9月21,5、可修改性 可维护性6感谢你的观看2019年9月,6,、功能性,功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。,7,感谢你的观看,2019年9月21,6、功能性 功能性是系统所能完成所期望的工作的能力。一项,7,、可变性,可变性是指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。,8,感谢你的观看,2019年9月21,7、可变性 可变性是指体系结构经扩充或变更而成为新体系,8,、集成性,可集成性是指系统能与其他系统协作的程度。,9,感谢你的观看,2019年9月21,8、集成性 可集成性是指系统能与其他系统协作的程度。9感谢,9,、互操作性,作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。,10,感谢你的观看,2019年9月21,9、互操作性 作为系统组成部分的软件不是独立存在的,经,基本概念,1,、敏感点和权衡点,敏感点是一个或多个构件(和,/,或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。,11,感谢你的观看,2019年9月21,基本概念 1、敏感点和权衡点11感谢你的观看2019年9,2,、风险承担者,系统的体系结构涉及到很多人的利益,这些人都对体系结构施加各种影响,以保证自己的目标能够实现。,12,感谢你的观看,2019年9月21,2、风险承担者12感谢你的观看2019年9月21,3,、场景,在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用,刺激,、,环境,和,响应,三方面来对场景进行描述。,刺激是场景中解释或描述风险承担者怎样引发与系统的交互部分。,环境描述的是刺激发生时的情况。,响应是指系统是如何通过体系结构对刺激作出反应 的。,13,感谢你的观看,2019年9月21,3、场景13感谢你的观看2019年9月21,8.2 SA,评估的主要方式,主要的评估方式,1,、基于调查问卷或检查表的评估方式,2,、基于场景的评估方式,3,、基于度量的评估方式,14,感谢你的观看,2019年9月21,8.2 SA评估的主要方式 主要的评估方式1、基于调查问卷,1,、基于调查问卷或检查表的评估方式,CMU/SEI,的软件风险评估过程采用了这一方式。,调查问卷是一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结构的设计决策;有些问题涉及到体系结构的文档,有的问题针对体系结构描述本身的细节问题。,检查表中也包含一系列比调查问卷更细节和具体的问题,它们更趋向于考察某些关心的质量属性。,15,感谢你的观看,2019年9月21,1、基于调查问卷或检查表的评估方式 CMU/SEI的软,2,、基于场景的评估方式,基于场景的方式由,SEI,首先提出并应用在体系结构权衡分析方法(,ATAM,)和软件体系结构分析方法(,SAAM,)中。,这种软件体系结构评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修改来反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。,16,感谢你的观看,2019年9月21,2、基于场景的评估方式 基于场景的方式由SEI,3,、基于度量的评估方式,度量是指为软件产品的某一属性所赋予的数值,如代码行数、方法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构度量应该也能够作为评判质量的重要的依据。,赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构度量技术、,Karlskrona,和,Ronneby,提出的基于面向对象度量的软件体系结构可维护性评估、西弗吉尼亚大学提出的软件体系结构度量方法等都在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评估方式称作基于度量的评估方式。,17,感谢你的观看,2019年9月21,3、基于度量的评估方式 度量是指为软件产品的某一属性所,基于度量的评估技术都涉及三个基本活动:首先需要建立质量属性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据映射原则分析推导出系统的某些质量属性。因此,这些评估技术被认为都采用了基于度量的评估方式。,基于度量的评估方式提供更为客观和量化的质量评估。这一评估方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评估人员对待评估的体系结构十分了解,否则不能获取准确的度量。自动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例如,MAISA,可从文本格式的,UML,图中抽取面向对象体系结构的度量。,18,感谢你的观看,2019年9月21,基于度量的评估技术都涉及三个基本活动:首先需要建立质,三种评估方式的比较,19,感谢你的观看,2019年9月21,三种评估方式的比较 19感谢你的观看2019年9月21,8.3 ATAM,评估方法,ATAM,评估的步骤,整个,ATAM,评估过程包括九个步骤,按其编号顺序分别是描述,ATAM,方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、分析体系结构方法(是第六步的重复)、描述评估结果。,20,感谢你的观看,2019年9月21,8.3 ATAM评估方法 ATAM评估的步骤,1,、描述,ATAM,方法,ATAM,评估的第一步要求评估小组负责人向参加会议的风险承担者介绍,ATAM,评估方法。,在这一步,要解释每个人将要参与的过程,并预留出解答疑问的时间,设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告等。,特别是要描述以下事项:,(,1,),ATAM,方法步骤简介;,(,2,)获取和分析技术:效用树的生成,基于体系结构方法的获取,/,分析,场景的映射等;,(,3,)评估结果:所得出的场景及其优先级,用户理解,/,评估体系结构的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的一组体系结构方法和风格,一组所发现的风险点和无风险点、敏感点和权衡点。,21,感谢你的观看,2019年9月21,1、描述ATAM方法 ATAM评估的第一步要,2,、描述业务动机,参加评估的所有人员必须理解待评估的系统,在这一步,项目经理要从业务角度介绍系统的概况,除了初步从高级抽象层介绍系统本身外,一般还要描述以下内容,:,(,1,)系统最重要的功能需求。,(,2,)技术、管理、经济或政治方面的约束条件。,(,3,)业务目标和环境。,(,4,)主要的风险承担者。,(,5,)体系结构驱动因素。,22,感谢你的观看,2019年9月21,2、描述业务动机 参加评估的所有人员必须理解待评估的,业务环境,/,驱动描述(约,12,张幻灯片,,45,分钟),(,1,)描述业务环境、历史、市场划分、驱动需求、风险承担者、当前需要以及系统如何满足这些需要(,3-4,张幻灯片)。,(,2,)描述业务方面的约束条件(例如:推向市场的时间、客户需求、标准和成本等)(,1-3,张幻灯片)。,(,3,)描述技术方面的约束条件(例如:,COTS,、与其他系统的互操作、所需要的软硬件平台、遗留代码的重用等)(,1-3,张幻灯片)。,(,4,)质量属性需求(例如:系统平台、可用性、安全性、可修改性、互操作性、集成性和这些需求来自的商业需要)(,2-3,张幻灯片)。,(,5,)术语表(,1,张幻灯片)。,23,感谢你的观看,2019年9月21,业务环境/驱动描述(约12张幻灯片,45分钟)23感谢你的观,3,、描述体系结构,在这一步中,首席设计师或设计小组要对体系结构进行详略适当的介绍,这里的“详略适当”取决于多个因素,例如有多少信息已经决定了下来,并形成了文档;可用时间是多少;系统面临的风险有哪些等。这一步很重要,将直接影响到可能要做的分析及分析的质量。在进行更详细的分析之前,评估小组通常需要收集和记录一些额外的体系结构信息。,至少包括以下内容:,(,1,)技术约束。,(,2,)要与本系统交互的其他系统。,(,3,)用以满足质量属性要求的体系结构方法。,24,感谢你的观看,2019年9月21,3、描述体系结构 在这一步中,首席设计师或设计小组要,体系结构描述(约,20,张幻灯片,,60,分钟),(,1,)驱动体系结构的需求(例如:性能、可用性、安全性、可修改性、互操作性、集成性等),以及与这些需求相关的可度量的量和满足这些需求的任何存在的标准、模型或方法(,2-3,张幻灯片)。,(,2,)高层体系结构视图(,4-8,张幻灯片)。,功能:函数、关键的系统抽象、领域元素及其依赖关系、数据流;,模块,/,层,/,子系统:描述系统功能组成的子系统、层、模块,以及对象、过程、函数及它们之间的关系(例如:过程调用、方法使用、回调和包含等);,进程,/,线程:进程、线程及其同步,数据流和与之相连的事件;,硬件:,CPU,、存储器、外设,/,传感器,以及连接这些硬件的网络和通信设备。,25,感谢你的观看,2019年9月21,体系结构描述(约20张幻灯片,60分钟)25感谢你的观看20,(,3,)所采用的体系结构方法或风格,包括它们所强调的质量属性和如何实现的描述(,3-6,张幻灯片)。,(,4,),COTS,的使用,以及如何选择和集成(,1-2,张幻灯片)。,(,5,)介绍,1-3,个最重要的用例场景,如果可能,应包括对每个场景的运行资源的介绍
展开阅读全文