第9章 软件体系结构的评估

上传人:1666****666 文档编号:47382873 上传时间:2021-12-20 格式:PPT 页数:53 大小:305.50KB
收藏 版权申诉 举报 下载
第9章 软件体系结构的评估_第1页
第1页 / 共53页
第9章 软件体系结构的评估_第2页
第2页 / 共53页
第9章 软件体系结构的评估_第3页
第3页 / 共53页
资源描述:

《第9章 软件体系结构的评估》由会员分享,可在线阅读,更多相关《第9章 软件体系结构的评估(53页珍藏版)》请在装配图网上搜索。

1、第第9 9章章 软件体系结构评估软件体系结构评估 9.1 9.1 体系结构评估概述体系结构评估概述 性能性能 性能是指系统的响应能力,即要经过多长时间才能性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。的事件的个数。 经常用单位事件内所处理事务的数量或系统完成某经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量的表示。个事务处理所需的时间来对性能进行定量的表示。 性能测试经常要使用基准测试程序(用以测量性能性能测试经常要使用基准测试程序(用以测量性能指标的特定

2、事务集或工作量环境)。指标的特定事务集或工作量环境)。 可靠性可靠性(1)(1) 可靠性是软件系统在应用或系统错误面前,在意外或错误可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。使用的情况下维持软件系统的功能特性的基本能力。 可靠性通常用平均失效等待时间(可靠性通常用平均失效等待时间(MTTFMTTF)和平均失效间隔)和平均失效间隔时间(时间(MTBFMTBF)来衡量。在失效率为常数和修复时间很短的情况)来衡量。在失效率为常数和修复时间很短的情况下,下,MTTFMTTF和和MTBFMTBF几乎相等。几乎相等。第第9 9章章 软件体系结构评估软件

3、体系结构评估 9.1 9.1 体系结构评估概述体系结构评估概述 可靠性可靠性(2)(2) 容错容错 健壮性健壮性第第9 9章章 软件体系结构评估软件体系结构评估 9.1 9.1 体系结构评估概述体系结构评估概述第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 可用性可用性 可用性是系统能够正常运行的时间比例。经常用两次故可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。速度来表示。 第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构

4、评估概述体系结构评估概述 安全性安全性 安全性是指系统在向合法用户提供服务的同时能够阻安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。根据系统可能受到的安全威胁的类型来分类的。 安全性又可划分为机密性、完整性、不可否认性及可安全性又可划分为机密性、完整性、不可否认性及可控性等特性。其中,机密性保证信息不泄露给未授权的控性等特性。其中,机密性保证信息不泄露给未授权的用户、实体或过程;完整性保证信息的完整和准确,防用户、实体或过程;完整性保证信息的完整和准确,防止

5、信息被非法修改;可控性保证对信息的传播及内容具止信息被非法修改;可控性保证对信息的传播及内容具有控制的能力,防止为非法者所用。有控制的能力,防止为非法者所用。第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 可修改性可修改性 可维护性可维护性 可扩展性可扩展性 结构重组结构重组 可移植性可移植性第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 功能性功能性 功能性是系统所能完成所期望的工作的能力。一功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协项任务的完成需要系统中许多

6、或大多数构件的相互协作。作。 第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 可变性可变性 可变性是指体系结构经扩充或变更而成为新体系结可变性是指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合预先定义的规则,构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一系列相关产品(例如,软件产品线)体系结构作为一系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。的基础时,可变性是很重要的。 第第9 9章章 软件体系结构评估软件体

7、系结构评估 9.1 体系结构评估概述体系结构评估概述 集成性集成性 可集成性是指系统能与其他系统协作的程度。可集成性是指系统能与其他系统协作的程度。第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 互操作性互操作性 作为系统组成部分的软件不是独立存在的,经常与其作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。程序和用其他编程语言编写的软件心设计的软

8、件入口。程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种互操作性也系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。影响应用的软件体系结构。第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 基本概念基本概念 (1 1) 敏感点和权衡点敏感点和权衡点 敏感点是一个或多个构件(和敏感点是一个或多个构件(和/ /或构件之间的关系)或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。楚如何实现质量目标时应注意什么。 权衡点是影

9、响多个质量属性的特性,是多个质量属性权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。可能就会成为一个权衡点。第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估

10、概述 基本概念基本概念 (2 2)风险承担者)风险承担者系统的体系结构涉及到很多人的利益,这些人都对体系系统的体系结构涉及到很多人的利益,这些人都对体系结构施加各种影响,以保证自己的目标能够实现。结构施加各种影响,以保证自己的目标能够实现。 第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 基本概念基本概念 (3 3)场景)场景(1)(1) 在进行体系结构评估时,一般首先要精确地得出具体的质量目在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标,并以之作为判定该体系结构优劣的标准。我们把为

11、得出这些目标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激、环境和响应交互的简短描述。在体系结构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。三方面来对场景进行描述。第第9 9章章 软件体系结构评估软件体系结构评估 9.1 体系结构评估概述体系结构评估概述 基本概念基本概念 (3 3)场景)场景(2)(2) 刺激是场景中解释或描述风险承担者怎样引发与系统的交互部刺激是场景中解释或描述风险承担者怎样引发与系统的交互部分。例如,用户可能会激发某个功能,维护人员可能会做某个更改

12、,分。例如,用户可能会激发某个功能,维护人员可能会做某个更改,测试人员可能会执行某种测试等,这些都属于对场景的刺激。测试人员可能会执行某种测试等,这些都属于对场景的刺激。 环境描述的是刺激发生时的情况。例如,当前系统处于什么状环境描述的是刺激发生时的情况。例如,当前系统处于什么状态?有什么特殊的约束条件?系统的负载是否很大?某个网络通道态?有什么特殊的约束条件?系统的负载是否很大?某个网络通道是否出现了阻塞等。是否出现了阻塞等。 响应是指系统是如何通过体系结构对刺激作出反应的。例如,响应是指系统是如何通过体系结构对刺激作出反应的。例如,用户所要求的功能是否得到满足?维护人员的修改是否成功?测试

13、用户所要求的功能是否得到满足?维护人员的修改是否成功?测试人员的测试是否成功等。人员的测试是否成功等。第第9 9章章 软件体系结构评估软件体系结构评估 9.2 SA评估的主要方式评估的主要方式 主要的评估方式主要的评估方式 基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式 基于场景的评估方式基于场景的评估方式 基于度量的评估方式基于度量的评估方式 第第9 9章章 软件体系结构评估软件体系结构评估 基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式(1)(1) CMU/SEI CMU/SEI的软件风险评估过程采用了这一方式。的软件风险评估过程采用了这一方式。 调查问卷是一系

14、列可以应用到各种体系结构评估的相关问题,调查问卷是一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结构的设计决策;有些问题涉及到体其中有些问题可能涉及到体系结构的设计决策;有些问题涉及到体系结构的文档,有的问题针对体系结构描述本身的细节问题。系结构的文档,有的问题针对体系结构描述本身的细节问题。 检查表中也包含一系列比调查问卷更细节和具体的问题,它们检查表中也包含一系列比调查问卷更细节和具体的问题,它们更趋向于考察某些关心的质量属性。更趋向于考察某些关心的质量属性。9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 基于调查问卷或检查

15、表的评估方式基于调查问卷或检查表的评估方式(2)(2) 这一评估方式比较自由灵活,可评估多种质量属性,也可以在软这一评估方式比较自由灵活,可评估多种质量属性,也可以在软件体系结构设计的多个阶段进行。但是由于评估的结果很大程度上来件体系结构设计的多个阶段进行。但是由于评估的结果很大程度上来自评估人员的主观推断,因此不同的评估人员可能会产生不同甚至截自评估人员的主观推断,因此不同的评估人员可能会产生不同甚至截然相反的结果,而且评估人员对领域的熟悉程度、是否具有丰富的相然相反的结果,而且评估人员对领域的熟悉程度、是否具有丰富的相关经验也成为评估结果是否正确的重要因素。关经验也成为评估结果是否正确的重

16、要因素。 尽管基于调查问卷与检查表的评估方式相对比较主观,但由于系尽管基于调查问卷与检查表的评估方式相对比较主观,但由于系统相关的人员的经验和知识是评估软件体系结构的重要信息来源,因统相关的人员的经验和知识是评估软件体系结构的重要信息来源,因而它仍然是进行软件体系结构评估的重要途径之一。而它仍然是进行软件体系结构评估的重要途径之一。9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 基于场景的评估方式基于场景的评估方式(1) (1) 基于场景的方式由基于场景的方式由SEISEI首先提出并应用在体系结构权衡分析方首先提出并应用在体系结构权衡分析方法(法(AT

17、AMATAM)和软件体系结构分析方法()和软件体系结构分析方法(SAAMSAAM)中。)中。 这种软件体系结构评估方式分析软件体系结构对场景也就是对这种软件体系结构评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修改来景所代表的质量需求的满足程度。例如,用一系列对软件的修改来反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。的需求等。9.2 SA评估的主要方式评估

18、的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 基于场景的评估方式基于场景的评估方式(2)(2) 这一评估方式考虑到了包括系统的开发人员、维护人员、最终用这一评估方式考虑到了包括系统的开发人员、维护人员、最终用户、管理人员、测试人员等在内的所有与系统相关的人员对质量的要户、管理人员、测试人员等在内的所有与系统相关的人员对质量的要求。基于场景的评估方式涉及到的基本活动包括确定应用领域的功能求。基于场景的评估方式涉及到的基本活动包括确定应用领域的功能和软件体系结构的结构之间的映射,设计用于体现待评估质量属性的和软件体系结构的结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体

19、系结构对场景的支持程度。场景以及分析软件体系结构对场景的支持程度。 不同的应用系统对同一质量属性的理解可能不同,例如,对操作不同的应用系统对同一质量属性的理解可能不同,例如,对操作系统来说,可移植性被理解为系统可在不同的硬件平台上运行,而对系统来说,可移植性被理解为系统可在不同的硬件平台上运行,而对于普通的应用系统而言,可移植性往往是指该系统可在不同的操作系于普通的应用系统而言,可移植性往往是指该系统可在不同的操作系统上运行。由于存在这种不一致性,对一个领域适合的场景设计在另统上运行。由于存在这种不一致性,对一个领域适合的场景设计在另一个领域内未必合适,因此基于场景的评估方式是特定于领域的。这

20、一个领域内未必合适,因此基于场景的评估方式是特定于领域的。这一评估方式的实施者一方面需要有丰富的领域知识以对某以质量需求一评估方式的实施者一方面需要有丰富的领域知识以对某以质量需求设计出合理的场景,另一方面,必须对待评估的软件体系结构有一定设计出合理的场景,另一方面,必须对待评估的软件体系结构有一定的了解以准确判断它是否支持场景描述的一系列活动。的了解以准确判断它是否支持场景描述的一系列活动。9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 基于度量的评估方式基于度量的评估方式(1)(1) 度量是指为软件产品的某一属性所赋予的数值,如代码行数、方度量是指

21、为软件产品的某一属性所赋予的数值,如代码行数、方法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构度量应该也能够作为评判质量的重要的依据。度量应该也能够作为评判质量的重要的依据。 赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构度量赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结

22、构度量技术、技术、KarlskronaKarlskrona和和RonnebyRonneby提出的基于面向对象度量的软件体系结提出的基于面向对象度量的软件体系结构可维护性评估、西弗吉尼亚大学提出的软件体系结构度量方法等都构可维护性评估、西弗吉尼亚大学提出的软件体系结构度量方法等都在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评估方式称作基于度量的评估方式。估方式称作基于度量的评估方式。9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 基于度量的评估方式基于度量的评估方式(2) (2)

23、基于度量的评估技术都涉及三个基本活动:首先需要建立质量属基于度量的评估技术都涉及三个基本活动:首先需要建立质量属性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据映射原则分析推导出系统的某些质量属性。因此,这些评估技术被认映射原则分析推导出系统的某些质量属性。因此,这些评估技术被认为都采用了基于度量的评估方式。为都采用了基于度量的评估方式。 基于度量的评估方式提供更为客观和量化的质量评估。这一评估基于度量的

24、评估方式提供更为客观和量化的质量评估。这一评估方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评估人员对待评估的体系结构十分了解,否则不能获取准确的度量。自估人员对待评估的体系结构十分了解,否则不能获取准确的度量。自动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例如如MAISAMAISA可从文本格式的可从文本格式的UMLUML图中抽取面向对象体系结构的度量。图中抽取面向对象体系结构的度量。9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结

25、构评估软件体系结构评估 三种评估方式的比较三种评估方式的比较 9.2 SA评估的主要方式评估的主要方式第第9 9章章 软件体系结构评估软件体系结构评估 9.3 ATAM评估方法评估方法 ATAM ATAM评估的步骤评估的步骤 整个整个ATAMATAM评估过程包括九个步骤,按其编号顺序分别评估过程包括九个步骤,按其编号顺序分别是描述是描述ATAMATAM方法、描述商业动机、描述体系结构、确定体方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、分析体系结构方法(是第六步的重复)、讨论和分级场景

26、、分析体系结构方法(是第六步的重复)、描述评估结果。描述评估结果。 第第9 9章章 软件体系结构评估软件体系结构评估 描述描述ATAMATAM方法方法 ATAM ATAM评估的第一步要求评估小组负责人向参加会议的风险承担者评估的第一步要求评估小组负责人向参加会议的风险承担者介绍介绍ATAMATAM评估方法。在这一步,要解释每个人将要参与的过程,并预评估方法。在这一步,要解释每个人将要参与的过程,并预留出解答疑问的时间,设置好其他活动的环境和预期结果。关键是要留出解答疑问的时间,设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告使每个人都知道要收

27、集哪些信息,如何描述这些信息,将要向谁报告等。特别是要描述以下事项:等。特别是要描述以下事项:(1 1)ATAMATAM方法步骤简介;方法步骤简介;(2 2)获取和分析技术:效用树的生成,基于体系结构方法的获取)获取和分析技术:效用树的生成,基于体系结构方法的获取/ /分分析,场景的映射等;析,场景的映射等;(3 3)评估结果:所得出的场景及其优先级,用户理解)评估结果:所得出的场景及其优先级,用户理解/ /评估体系结构评估体系结构的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的一组体系结构方法和风格,一组所发现的风险点和

28、无风险点、敏感点一组体系结构方法和风格,一组所发现的风险点和无风险点、敏感点和权衡点。和权衡点。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述商业动机描述商业动机 参加评估的所有人员必须理解待评估的系统,在这一步,项目经参加评估的所有人员必须理解待评估的系统,在这一步,项目经理要从商业角度介绍系统的概况理要从商业角度介绍系统的概况 商业环境商业环境/ /驱动描述(约驱动描述(约1212张幻灯片,张幻灯片,4545分钟)分钟)(1 1)描述商业环境、历史、市场划分、驱动需求、风险承担者、当)描述商业环境、历史、市场划分、驱动需求、风险承担者、当前需要以及系

29、统如何满足这些需要(前需要以及系统如何满足这些需要(3-43-4张幻灯片)。张幻灯片)。(2 2)描述商业方面的约束条件(例如:推向市场的时间、客户需求、)描述商业方面的约束条件(例如:推向市场的时间、客户需求、标准和成本等)(标准和成本等)(1-31-3张幻灯片)。张幻灯片)。(3 3)描述技术方面的约束条件(例如:)描述技术方面的约束条件(例如:COTSCOTS、与其他系统的互操作、与其他系统的互操作、所需要的软硬件平台、遗留代码的重用等)(所需要的软硬件平台、遗留代码的重用等)(1-31-3张幻灯片)。张幻灯片)。(4 4)质量属性需求(例如:系统平台、可用性、安全性、可修改性、)质量属

30、性需求(例如:系统平台、可用性、安全性、可修改性、互操作性、集成性和这些需求来自的商业需要)(互操作性、集成性和这些需求来自的商业需要)(2-32-3张幻灯片)。张幻灯片)。(5 5)术语表()术语表(1 1张幻灯片)。张幻灯片)。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述商业动机描述商业动机 除了初步从高级抽象层介绍系统本身外,一般来说,还要描述:除了初步从高级抽象层介绍系统本身外,一般来说,还要描述:系统最重要的功能需求。系统最重要的功能需求。技术、管理、经济或政治方面的约束条件。技术、管理、经济或政治方面的约束条件。商业目标和环境。商业目标和环

31、境。主要的风险承担者。主要的风险承担者。体系结构驱动因素(形成体系结构的主要质量属性目标)。体系结构驱动因素(形成体系结构的主要质量属性目标)。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述体系结构描述体系结构(1)(1) 在这一步中,首席设计师或设计小组要对体系结构在这一步中,首席设计师或设计小组要对体系结构进行详略适当的介绍,这里的进行详略适当的介绍,这里的“详略适当详略适当”取决于多个取决于多个因素,例如有多少信息已经决定了下来,并形成了文档;因素,例如有多少信息已经决定了下来,并形成了文档;可用时间是多少;系统面临的风险有哪些等。这一步很可用时间

32、是多少;系统面临的风险有哪些等。这一步很重要,将直接影响到可能要做的分析及分析的质量。在重要,将直接影响到可能要做的分析及分析的质量。在进行更详细的分析之前,评估小组通常需要收集和记录进行更详细的分析之前,评估小组通常需要收集和记录一些额外的体系结构信息。一些额外的体系结构信息。 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述体系结构描述体系结构(2)(2) 体系结构描述(约体系结构描述(约2020张幻灯片,张幻灯片,6060分钟)分钟)(1 1)驱动体系结构的需求(例如:性能、可用性、安全性、可修改性、)驱动体系结构的需求(例如:性能、可用性、安全性、

33、可修改性、互操作性、集成性等),以及与这些需求相关的可度量的量和满足这些互操作性、集成性等),以及与这些需求相关的可度量的量和满足这些需求的任何存在的标准、模型或方法(需求的任何存在的标准、模型或方法(2-32-3张幻灯片)。张幻灯片)。(2 2)高层体系结构视图()高层体系结构视图(4-84-8张幻灯片)。张幻灯片)。 功能:函数、关键的系统抽象、领域元素及其依赖关系、数据流;功能:函数、关键的系统抽象、领域元素及其依赖关系、数据流; 模块模块/ /层层/ /子系统:描述系统功能组成的子系统、层、模块,以及对子系统:描述系统功能组成的子系统、层、模块,以及对象、过程、函数及它们之间的关系(例

34、如:过程调用、方法使用、回调象、过程、函数及它们之间的关系(例如:过程调用、方法使用、回调和包含等);和包含等); 进程进程/ /线程:进程、线程及其同步,数据流和与之相连的事件;线程:进程、线程及其同步,数据流和与之相连的事件; 硬件:硬件:CPUCPU、存储器、外设、存储器、外设/ /传感器,以及连接这些硬件的网络和通传感器,以及连接这些硬件的网络和通信设备。信设备。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述体系结构描述体系结构(3)(3) (3 3)所采用的体系结构方法或风格,包括它们所强调的质量属性)所采用的体系结构方法或风格,包括它们所强调

35、的质量属性和如何实现的描述(和如何实现的描述(3-63-6张幻灯片)。张幻灯片)。(4 4)COTSCOTS的使用,以及如何选择和集成(的使用,以及如何选择和集成(1-21-2张幻灯片)。张幻灯片)。(5 5)介绍)介绍1-31-3个最重要的用例场景,如果可能,应包括对每个场景个最重要的用例场景,如果可能,应包括对每个场景的运行资源的介绍(的运行资源的介绍(1-31-3张幻灯片)。张幻灯片)。(6 6)介绍)介绍1-31-3个最重要的变更场景,如果可能,应描述通过变更构个最重要的变更场景,如果可能,应描述通过变更构件、连接件或接口所带来的影响(件、连接件或接口所带来的影响(1-31-3张幻灯片

36、)。张幻灯片)。(7 7)与满足驱动体系结构需求相关的体系结构问题或风险()与满足驱动体系结构需求相关的体系结构问题或风险(2-32-3张张幻灯片)。幻灯片)。(8 8)术语表()术语表(1 1张幻灯片)。张幻灯片)。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 确定体系结构方法确定体系结构方法 ATAM ATAM评估方法主要通过理解体系结构方法来分析体系评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析结构,在这一步,由设计师确定体系结构方法,由分析小组捕获,但不进行分析。小组捕获,但不进行分析。 ATAMATAM评

37、估方法之所以强调体系结构方法和体系结构风评估方法之所以强调体系结构方法和体系结构风格的确定,是因为这些内容代表了实现最高优先级的质格的确定,是因为这些内容代表了实现最高优先级的质量属性的体系结构手段。也就是说,它们是保证关键需量属性的体系结构手段。也就是说,它们是保证关键需求按计划得以实现的手段。这些体系结构方法定义了系求按计划得以实现的手段。这些体系结构方法定义了系统的重要结构,描述了系统得以扩展的途径,对变更的统的重要结构,描述了系统得以扩展的途径,对变更的响应,对攻击的防范以及与其他系统的集成等。响应,对攻击的防范以及与其他系统的集成等。9.3 ATAM评估方法评估方法第第9 9章章 软

38、件体系结构评估软件体系结构评估 生成质量属性效用树生成质量属性效用树(1)(1) 评估小组、设计小组、管理人员和客户代表一起确定系统最重评估小组、设计小组、管理人员和客户代表一起确定系统最重要的质量属性目标,并对这些质量目标设置优先级和细化。这一步要的质量属性目标,并对这些质量目标设置优先级和细化。这一步很关键,它对以后的分析工作起指导作用。即使是体系结构级的分很关键,它对以后的分析工作起指导作用。即使是体系结构级的分析,也并不一定是全局的,所以,评估人员需要集中所有相关人员析,也并不一定是全局的,所以,评估人员需要集中所有相关人员的精力,注意体系结构的各个方面,这对系统的成败起关键作用。的精

39、力,注意体系结构的各个方面,这对系统的成败起关键作用。这通常是通过构建效用树的方式来实现的。这通常是通过构建效用树的方式来实现的。 效用树的输出结果是对具体质量属性需求(以场景形式出现)的效用树的输出结果是对具体质量属性需求(以场景形式出现)的优先级的确定,这种优先级列表为优先级的确定,这种优先级列表为ATAMATAM评估方法的后面几步提供了评估方法的后面几步提供了指导,它告诉了评估小组该把有限的时间花在哪里,特别是该在哪指导,它告诉了评估小组该把有限的时间花在哪里,特别是该在哪里去考察体系结构方法与相应的风险、敏感点和权衡点。另外,效里去考察体系结构方法与相应的风险、敏感点和权衡点。另外,效

40、用树可使质量属性需求具体化,使评估小组和客户能精确地定义自用树可使质量属性需求具体化,使评估小组和客户能精确地定义自己的需求。己的需求。 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 生成质量属性效用树生成质量属性效用树(2)(2) 效用可修改性(M,M)使认证服务器的平均吞吐量最大化(H,M)提供实时视频图象(M,L)把客户数据库的存储延迟减到最小值(200ms)交易吞吐量数据延迟性能(H,L)以小于4人周的工作量更改Web用户界面(L,H)以小于20人月的工作量添加CORBA中间件商业产品的改变新产品目录(M,M)若磁盘出现故障,要在5分钟内重新启动(L

41、,H)若站点1断电,要求在3秒内将任务重定向到站点3(H,M)要在1.5分钟内检测并恢复网络故障硬件故障商业软件故障可用性(L,H)客户数据库认证在99.999%的时间内能正常工作(L,H)信用卡交易在99.999%的时间内是安全的数据机密性数据完整性安全性9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 分析体系结构方法分析体系结构方法(1)(1) 一旦有了效用树的结果,评估小组可以对实现重要质量属性的一旦有了效用树的结果,评估小组可以对实现重要质量属性的体系结构方法进行考察。这是通过注意文档化这些体系结构决策和体系结构方法进行考察。这是通过注意文档化这些体系

42、结构决策和确定它们的风险、敏感点和权衡点等来实现的。确定它们的风险、敏感点和权衡点等来实现的。 在这一步中,评估小组要对每一种体系结构方法都考察足够的在这一步中,评估小组要对每一种体系结构方法都考察足够的信息,完成与该方法有关的质量属性的初步分析。这一步的主要结信息,完成与该方法有关的质量属性的初步分析。这一步的主要结果是一个体系结构方法或风格的列表,与之相关的一些问题,以及果是一个体系结构方法或风格的列表,与之相关的一些问题,以及设计师对这些问题的回答。通常产生一个风险列表、敏感点和权衡设计师对这些问题的回答。通常产生一个风险列表、敏感点和权衡点列表。点列表。9.3 ATAM评估方法评估方法

43、第第9 9章章 软件体系结构评估软件体系结构评估 分析体系结构方法分析体系结构方法(2) (2) 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 分析体系结构方法分析体系结构方法(3)(3) 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 讨论和分级场景讨论和分级场景(1)(1) 风险承担者需进行两项相关的活动:集体讨论用例场景(描述风风险承担者需进行两项相关的活动:集体讨论用例场景(描述风险承担者期望使用系统的方式)和改变场景(描述风险承担者所期险承担者期望使用系统的方式)和改变场景(描述风险承担者所期望的系统在将来变更的方

44、式)。用例场景是场景的一种,在用例场望的系统在将来变更的方式)。用例场景是场景的一种,在用例场景中,风险承担者是一个终端用户,使用系统执行一些功能。改变景中,风险承担者是一个终端用户,使用系统执行一些功能。改变场景代表系统的变更,可分为成长场景和考察场景两类。场景代表系统的变更,可分为成长场景和考察场景两类。 成长场景描述的是体系结构在中短期的改变,包括期望的修改、成长场景描述的是体系结构在中短期的改变,包括期望的修改、性能或可用性的变更、移植性、与其他软件系统的集成等。考察场性能或可用性的变更、移植性、与其他软件系统的集成等。考察场景描述的是系统成长的一个极端情形,即体系结构由下列情况所引景

45、描述的是系统成长的一个极端情形,即体系结构由下列情况所引起的改变:根本性的性能或可用性需求(例如数量级的改变)、系起的改变:根本性的性能或可用性需求(例如数量级的改变)、系统基础结构或任务的重大变更等。成长场景能够使评估人员看清在统基础结构或任务的重大变更等。成长场景能够使评估人员看清在预期因素影响系统时,体系结构所表现出来的优缺点,而考察场景预期因素影响系统时,体系结构所表现出来的优缺点,而考察场景则试图找出敏感点和权衡点,这些点的确定有助于评估者评估系统则试图找出敏感点和权衡点,这些点的确定有助于评估者评估系统质量属性的限制。质量属性的限制。 9.3 ATAM评估方法评估方法第第9 9章章

46、 软件体系结构评估软件体系结构评估 讨论和分级场景讨论和分级场景(2)(2) 一旦收集了若干个场景后,必须要设置优先级。评估人员可通过一旦收集了若干个场景后,必须要设置优先级。评估人员可通过投票表决的方式来完成,每个风险承担者分配相当于总场景数的投票表决的方式来完成,每个风险承担者分配相当于总场景数的30%30%的选票,且此数值只入不舍。例如,如果共有的选票,且此数值只入不舍。例如,如果共有1717个场景,则每个场景,则每个风险承担者将拿到个风险承担者将拿到6 6张选票,这张选票,这6 6张选票的具体使用则取决于风险张选票的具体使用则取决于风险承担者,他可以把这承担者,他可以把这6 6张票全部

47、投给某一个场景,或者每个场景投张票全部投给某一个场景,或者每个场景投2-32-3张票,还可以一个场景一张票等。张票,还可以一个场景一张票等。 一旦投票结果确定,所有场景就可设置优先级。设置优先级和投一旦投票结果确定,所有场景就可设置优先级。设置优先级和投票的过程既可公开也可保密。票的过程既可公开也可保密。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 讨论和分级场景讨论和分级场景(3)(3) 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 讨论和分级场景讨论和分级场景(4)(4) 9.3 ATAM评估方法评估方法第第9 9章章

48、 软件体系结构评估软件体系结构评估 分析体系结构方法分析体系结构方法 在收集并分析了场景之后,设计师就可把最高级别的场景映射到在收集并分析了场景之后,设计师就可把最高级别的场景映射到所描述的体系结构中,并对相关的体系结构如何有助于该场景的实所描述的体系结构中,并对相关的体系结构如何有助于该场景的实现做出解释。现做出解释。 在这一步中,评估小组要重复第在这一步中,评估小组要重复第6 6步中的工作,把新得到的最高步中的工作,把新得到的最高优先级场景与尚未得到的体系结构工作产品对应起来。在第优先级场景与尚未得到的体系结构工作产品对应起来。在第7 7步中,步中,如果未产生任何在以前的分析步骤中都没有发

49、现的高优先级场景,如果未产生任何在以前的分析步骤中都没有发现的高优先级场景,则在第则在第8 8步就是测试步骤。步就是测试步骤。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 描述评估结果描述评估结果 最后,要把最后,要把ATAMATAM分析中所得到的各种信息进行归纳,并反馈给风分析中所得到的各种信息进行归纳,并反馈给风险承担者。这种描述一般要采用辅以幻灯片的形式,但也可以在险承担者。这种描述一般要采用辅以幻灯片的形式,但也可以在ATAMATAM评估结束之后,提交更完整的书面报告。评估结束之后,提交更完整的书面报告。 在描述过程中,评估负责人要介绍在描述过程中,

50、评估负责人要介绍ATAMATAM评估的各个步骤,以及各评估的各个步骤,以及各步骤中得到的各种信息,包括商业环境、驱动需求、约束条件和体步骤中得到的各种信息,包括商业环境、驱动需求、约束条件和体系结构等。最重要的是要介绍系结构等。最重要的是要介绍ATAMATAM评估的结果:评估的结果:(1 1)已文档化了的体系结构方法已文档化了的体系结构方法/ /风格;风格;(2 2)场景及优先级;场景及优先级;(3 3)基于属性的问题;基于属性的问题;(4 4)效用树;效用树;(5 5)所发现的风险决策;所发现的风险决策;(6 6)已文档化了的无风险决策;已文档化了的无风险决策;(7 7)所发现的敏感点和权衡

51、点。所发现的敏感点和权衡点。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 ATAMATAM评估的阶段评估的阶段 第一个阶段以体系结构为中心,重点是获取体系结构信息并进行第一个阶段以体系结构为中心,重点是获取体系结构信息并进行分析。第二个阶段以风险承担者为中心,重点是获取风险承担者的分析。第二个阶段以风险承担者为中心,重点是获取风险承担者的观点,验证第一个阶段的结果。观点,验证第一个阶段的结果。 之所以要分为两个阶段,是因为评估人员要在第一个阶段收集信之所以要分为两个阶段,是因为评估人员要在第一个阶段收集信息。在整个息。在整个ATAMATAM评估过程中,评估小

52、组中的部分人(通常是评估过程中,评估小组中的部分人(通常是1-31-3人)人)要与体系结构设计师和要与体系结构设计师和1-21-2个其他关键的风险承担者(例如,项目个其他关键的风险承担者(例如,项目经理,客户经理,市场代表)一起工作,收集信息。对支持分析而经理,客户经理,市场代表)一起工作,收集信息。对支持分析而言,在大多数情况下,这种信息是不完整的或不适当的,所以,评言,在大多数情况下,这种信息是不完整的或不适当的,所以,评估小组必须与体系结构设计师一起协作引导出必须的信息,这种协估小组必须与体系结构设计师一起协作引导出必须的信息,这种协作通常要花几周的时间。当评估人员觉得已经收集了足够的信

53、息,作通常要花几周的时间。当评估人员觉得已经收集了足够的信息,并已把这些信息记录成文档,则就可进入第二个阶段了。并已把这些信息记录成文档,则就可进入第二个阶段了。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 第一阶段第一阶段(1)(1) ATAM ATAM评估小组要与提交待评估的体系结构的小组见面(或许这评估小组要与提交待评估的体系结构的小组见面(或许这是双方第一次会见),这一会议有两方面的目的,一是组织和安排是双方第一次会见),这一会议有两方面的目的,一是组织和安排以后的工作,二是收集相关信息。从组织角度来看,体系结构小组以后的工作,二是收集相关信息。从组

54、织角度来看,体系结构小组负责人要保证让合适的人选参加后续会议,还要保证这些人为参加负责人要保证让合适的人选参加后续会议,还要保证这些人为参加相关会议做了充分的准备,抱着正确的态度。相关会议做了充分的准备,抱着正确的态度。 第一天通常作为整个第一天通常作为整个ATAMATAM过程的一个缩影,主要关注过程的一个缩影,主要关注1-61-6步的步的工作。第一次会议所收集的信息意味着要保证体系结构能得到正确工作。第一次会议所收集的信息意味着要保证体系结构能得到正确的评估。同时,在第一次会议也会收集和分析一些初步的场景,作的评估。同时,在第一次会议也会收集和分析一些初步的场景,作为理解体系结构、需要收集和

55、提交的信息、所产生的场景的含义的为理解体系结构、需要收集和提交的信息、所产生的场景的含义的一种途径。一种途径。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 第一阶段第一阶段(2)(2)例如,在第一天,体系结构设计师可能提交部分体系结构,确定部例如,在第一天,体系结构设计师可能提交部分体系结构,确定部分体系结构风格或方法,创建初步的效用树,就选定的一组场景进分体系结构风格或方法,创建初步的效用树,就选定的一组场景进行工作,展示每个场景是如何影响体系结构的(例如可修改性),行工作,展示每个场景是如何影响体系结构的(例如可修改性),体系结构又是如何作出响应的(例如

56、:对质量属性而言,可以是性体系结构又是如何作出响应的(例如:对质量属性而言,可以是性能、安全性和可用性)。其他的风险承担者(例如:关键开发人员、能、安全性和可用性)。其他的风险承担者(例如:关键开发人员、客户、项目经理等)可以描述商业环境、效用树的构建,以及产生客户、项目经理等)可以描述商业环境、效用树的构建,以及产生场景的过程。场景的过程。第一个阶段是一个小型会议,评估小组需要尽可能多地收集有关信第一个阶段是一个小型会议,评估小组需要尽可能多地收集有关信息,这些信息用来决定:息,这些信息用来决定:(1 1) 后续评估工作是否可行,能否顺利进行;后续评估工作是否可行,能否顺利进行;(2 2)

57、是否需要更多的体系结构文档。如果需要,则应明确需要哪是否需要更多的体系结构文档。如果需要,则应明确需要哪些类型的文档,如何提交这些文档;些类型的文档,如何提交这些文档;(3 3) 哪些风险承担者应参与第二个阶段的工作。哪些风险承担者应参与第二个阶段的工作。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 第一阶段第一阶段(3)(3) 在这一天的最后,评估人员将对项目的状态和环境、驱动体系在这一天的最后,评估人员将对项目的状态和环境、驱动体系结构需求,以及体系结构文档都有较清晰的认识。结构需求,以及体系结构文档都有较清晰的认识。 在第一次会议和第二次会议之间有一段

58、中断时间,其长短取决在第一次会议和第二次会议之间有一段中断时间,其长短取决于第一个阶段完成的情况。在这段时间内,体系结构设计小组和要于第一个阶段完成的情况。在这段时间内,体系结构设计小组和要评估小组协作,做一些探索和分析工作。前面已经提到过,在第一评估小组协作,做一些探索和分析工作。前面已经提到过,在第一个阶段中评估小组并不构建详细的分析模型,而是构建一些初步模个阶段中评估小组并不构建详细的分析模型,而是构建一些初步模型,以使评估人员和设计人员能对体系结构有更充分的认识,从而型,以使评估人员和设计人员能对体系结构有更充分的认识,从而保证第二个阶段的工作更有效率。另外,在这段时间内,还要根据保证

59、第二个阶段的工作更有效率。另外,在这段时间内,还要根据评估工作的需要、可用人员的状况和计划来决定评估小组的最终人评估工作的需要、可用人员的状况和计划来决定评估小组的最终人选。例如,如果待评估的系统对安全性的要求很高,则需要让安全选。例如,如果待评估的系统对安全性的要求很高,则需要让安全专家参与评估工作;如果待评估的系统是以数据为中心的,则需要专家参与评估工作;如果待评估的系统是以数据为中心的,则需要让数据库设计方面的专家参与评估。让数据库设计方面的专家参与评估。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 第二阶段第二阶段 这时,体系结构已经被文档化,且有足

60、够的信息来支持验证已经这时,体系结构已经被文档化,且有足够的信息来支持验证已经进行的分析和将要进行的分析。已经确定了参与评估工作的合适的进行的分析和将要进行的分析。已经确定了参与评估工作的合适的风险承担者,并且给他们提供了一些书面阅读材料,如对风险承担者,并且给他们提供了一些书面阅读材料,如对ATAMATAM方法方法的介绍,某些初步的场景,包括体系结构、商业案例和关键需求的的介绍,某些初步的场景,包括体系结构、商业案例和关键需求的系统文档等。这些阅读材料有助于保证风险承担者建立对系统文档等。这些阅读材料有助于保证风险承担者建立对ATAMATAM评估评估方法的正确期望。方法的正确期望。 因为将有

61、更多的风险承担者参与第二次会议,且因为在第一次会因为将有更多的风险承担者参与第二次会议,且因为在第一次会议和第二次会议之间,可能还要间隔几天或几个星期,所以第二个议和第二次会议之间,可能还要间隔几天或几个星期,所以第二个阶段首先有必要重新简单介绍阶段首先有必要重新简单介绍ATAMATAM方法,以使所有与会者达成共同方法,以使所有与会者达成共同的理解。另外,在每一步进行之前,简单扼要地介绍该步的工作,的理解。另外,在每一步进行之前,简单扼要地介绍该步的工作,也是很有好处的。也是很有好处的。9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 ATAMATAM各步骤中相

62、关的风险承担者各步骤中相关的风险承担者 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 ATAMATAM评估日程安排评估日程安排(1)(1)9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 ATAMATAM评估日程安排评估日程安排(2)(2) 9.3 ATAM评估方法评估方法第第9 9章章 软件体系结构评估软件体系结构评估 9.4 SAAMM评估方法评估方法SAAMSAAM的评估步骤:的评估步骤:(1 1)形成场景;)形成场景;(2 2)描述体系结构;)描述体系结构;(3 3)对场景进行分类和确定优先级;)对场景进行分类和确定优先级;(4 4)对间接场景进行单个评估;)对间接场景进行单个评估;(5 5)评估场景的相互作用;)评估场景的相互作用;(6 6)形成总体评估。)形成总体评估。第第9 9章章 软件体系结构评估软件体系结构评估 本章作业与思考题本章作业与思考题1 1、为什么要评估软件体系结构?、为什么要评估软件体系结构?2 2、从哪些方面评估软件体系结构?、从哪些方面评估软件体系结构?3 3、ATAMATAM评估方法的基本步骤是什么?评估方法的基本步骤是什么?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!