第9章 软件体系结构的评估.ppt
《第9章 软件体系结构的评估.ppt》由会员分享,可在线阅读,更多相关《第9章 软件体系结构的评估.ppt(53页珍藏版)》请在三一办公上搜索。
1、第9章 软件体系结构评估,第9章 软件体系结构评估,9.1 体系结构评估概述,性能,性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量的表示。性能测试经常要使用基准测试程序(用以测量性能指标的特定事务集或工作量环境)。,可靠性(1),可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。可靠性通常用平均失效等待时间(MTTF)和平均失效间隔时间(MTBF)来衡量。在失效率为常数和修复时间很短的情况下,MTTF和MTBF
2、几乎相等。,第9章 软件体系结构评估,9.1 体系结构评估概述,可靠性(2),容错 健壮性,第9章 软件体系结构评估,9.1 体系结构评估概述,第9章 软件体系结构评估,9.1 体系结构评估概述,可用性,可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。,第9章 软件体系结构评估,9.1 体系结构评估概述,安全性,安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。其中,机密性保证信息不泄露给未授
3、权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非法修改;可控性保证对信息的传播及内容具有控制的能力,防止为非法者所用。,第9章 软件体系结构评估,9.1 体系结构评估概述,可修改性,可维护性 可扩展性 结构重组 可移植性,第9章 软件体系结构评估,9.1 体系结构评估概述,功能性,功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。,第9章 软件体系结构评估,9.1 体系结构评估概述,可变性,可变性是指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为
4、一系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。,第9章 软件体系结构评估,9.1 体系结构评估概述,集成性,可集成性是指系统能与其他系统协作的程度。,第9章 软件体系结构评估,9.1 体系结构评估概述,互操作性,作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。,第9章 软件体系结构评估,9.1 体系结构评估概述,基本概念,(1)敏感点和权衡点 敏感点是一个或多个构件(
5、和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。,第9章 软件体系结构评估,9.1 体系结构评估概述,基本概念,(2)风险承担者系统的体系结构涉及到很多人的利益,这些人都对体系结构施加各种影响,以保证自己的目标能够实现。,第9章 软件体系结构评估,9.1 体系结构评估概述,基本概念,
6、(3)场景(1)在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。,第9章 软件体系结构评估,9.1 体系结构评估概述,基本概念,(3)场景(2)刺激是场景中解释或描述风险承担者怎样引发与系统的交互部分。例如,用户可能会激发某个功能,维护人员可能会做某个更改,测试人员可能会执行某种测试等,这些都属于对场景的刺激。环境描述的是刺激发生时的情况。例如,当前系统处于什么状态?有什么特殊的约束条件?系统
7、的负载是否很大?某个网络通道是否出现了阻塞等。响应是指系统是如何通过体系结构对刺激作出反应的。例如,用户所要求的功能是否得到满足?维护人员的修改是否成功?测试人员的测试是否成功等。,第9章 软件体系结构评估,9.2 SA评估的主要方式,主要的评估方式,基于调查问卷或检查表的评估方式 基于场景的评估方式 基于度量的评估方式,第9章 软件体系结构评估,基于调查问卷或检查表的评估方式(1),CMU/SEI的软件风险评估过程采用了这一方式。调查问卷是一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结构的设计决策;有些问题涉及到体系结构的文档,有的问题针对体系结构描述本身的细节问题
8、。检查表中也包含一系列比调查问卷更细节和具体的问题,它们更趋向于考察某些关心的质量属性。,9.2 SA评估的主要方式,第9章 软件体系结构评估,基于调查问卷或检查表的评估方式(2),这一评估方式比较自由灵活,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。但是由于评估的结果很大程度上来自评估人员的主观推断,因此不同的评估人员可能会产生不同甚至截然相反的结果,而且评估人员对领域的熟悉程度、是否具有丰富的相关经验也成为评估结果是否正确的重要因素。尽管基于调查问卷与检查表的评估方式相对比较主观,但由于系统相关的人员的经验和知识是评估软件体系结构的重要信息来源,因而它仍然是进行软件体系结构
9、评估的重要途径之一。,9.2 SA评估的主要方式,第9章 软件体系结构评估,基于场景的评估方式(1),基于场景的方式由SEI首先提出并应用在体系结构权衡分析方法(ATAM)和软件体系结构分析方法(SAAM)中。这种软件体系结构评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修改来反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。,9.2 SA评估的主要方式,第9章 软件体系结构评估,基于场景的评估方式(2),这一评估方式考虑到了包括系统的开发人员、维护人员、最终用户、管理人员、
10、测试人员等在内的所有与系统相关的人员对质量的要求。基于场景的评估方式涉及到的基本活动包括确定应用领域的功能和软件体系结构的结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度。不同的应用系统对同一质量属性的理解可能不同,例如,对操作系统来说,可移植性被理解为系统可在不同的硬件平台上运行,而对于普通的应用系统而言,可移植性往往是指该系统可在不同的操作系统上运行。由于存在这种不一致性,对一个领域适合的场景设计在另一个领域内未必合适,因此基于场景的评估方式是特定于领域的。这一评估方式的实施者一方面需要有丰富的领域知识以对某以质量需求设计出合理的场景,另一方面,必须对待
11、评估的软件体系结构有一定的了解以准确判断它是否支持场景描述的一系列活动。,9.2 SA评估的主要方式,第9章 软件体系结构评估,基于度量的评估方式(1),度量是指为软件产品的某一属性所赋予的数值,如代码行数、方法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构度量应该也能够作为评判质量的重要的依据。赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构度量技术、Karlskrona和Ronneby提出的基于面向对象度量的软件体系结构可维护性评估、西弗吉尼亚大学提出的
12、软件体系结构度量方法等都在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评估方式称作基于度量的评估方式。,9.2 SA评估的主要方式,第9章 软件体系结构评估,基于度量的评估方式(2),基于度量的评估技术都涉及三个基本活动:首先需要建立质量属性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据映射原则分析推导出系统的某些质量属性。因此,这些评估技术被认为都采用了基于度量的评估方式。基于度量的评估方式提供更为客观和量化的质量评估。这一评估方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评估人员对待评估的体系结
13、构十分了解,否则不能获取准确的度量。自动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例如MAISA可从文本格式的UML图中抽取面向对象体系结构的度量。,9.2 SA评估的主要方式,第9章 软件体系结构评估,三种评估方式的比较,9.2 SA评估的主要方式,第9章 软件体系结构评估,9.3 ATAM评估方法,ATAM评估的步骤,整个ATAM评估过程包括九个步骤,按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、分析体系结构方法(是第六步的重复)、描述评估结果。,第9章 软件体系结构评估,描述ATAM方
14、法,ATAM评估的第一步要求评估小组负责人向参加会议的风险承担者介绍ATAM评估方法。在这一步,要解释每个人将要参与的过程,并预留出解答疑问的时间,设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告等。特别是要描述以下事项:(1)ATAM方法步骤简介;(2)获取和分析技术:效用树的生成,基于体系结构方法的获取/分析,场景的映射等;(3)评估结果:所得出的场景及其优先级,用户理解/评估体系结构的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的一组体系结构方法和风格,一组所发现的风险点和无风险点、敏感点和权衡点。,9.3 ATAM评估方法
15、,第9章 软件体系结构评估,描述商业动机,参加评估的所有人员必须理解待评估的系统,在这一步,项目经理要从商业角度介绍系统的概况,商业环境/驱动描述(约12张幻灯片,45分钟)(1)描述商业环境、历史、市场划分、驱动需求、风险承担者、当前需要以及系统如何满足这些需要(3-4张幻灯片)。(2)描述商业方面的约束条件(例如:推向市场的时间、客户需求、标准和成本等)(1-3张幻灯片)。(3)描述技术方面的约束条件(例如:COTS、与其他系统的互操作、所需要的软硬件平台、遗留代码的重用等)(1-3张幻灯片)。(4)质量属性需求(例如:系统平台、可用性、安全性、可修改性、互操作性、集成性和这些需求来自的商
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 软件体系结构的评估 软件 体系结构 评估

链接地址:https://www.31ppt.com/p-2338036.html