第7章-软件体系结构评估课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章-软件体系结构评估课件.ppt》由会员分享,可在线阅读,更多相关《第7章-软件体系结构评估课件.ppt(124页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课课 程程 内内 容容 软件重用与构件技术软件重用与构件技术 软件体系结构概论软件体系结构概论 软件体系结构的风格软件体系结构的风格 软件体系结构描述软件体系结构描述 软件体系结构设计软件体系结构设计 基于体系结构的软件开发过程基于体系结构的软件开发过程 软件体系结构评估软件体系结构评估 WebWeb服务体系结构服务体系结构 特定领域的软件体系结构特定领域的软件体系结构 软件体系结构集成开发环境软件体系结构集成开发环境 体系结构的选择是一个软件系统设计成败的关键,体系结构的选择是一个软件系统设计成败的关键,但是,怎样才能知道为软件系统所选用的体系结但是,怎样才能知道为软件系统所选用的体系结构是
2、否恰当?如何确保按照所选用的体系结构能构是否恰当?如何确保按照所选用的体系结构能顺利地开发出成功的软件产品呢?要回答这些问顺利地开发出成功的软件产品呢?要回答这些问题,需要使用专门的方法对软件体系结构进行评题,需要使用专门的方法对软件体系结构进行评估。估。 体系结构评估可以只针对一个体系结构,也可以体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。针对一组体系结构。在体系结构评估过程中,评在体系结构评估过程中,评估人员所关注的是系统的质量属性,估人员所关注的是系统的质量属性,所有评估方所有评估方法所普遍关注的质量属性有以下几个:可用性、法所普遍关注的质量属性有以下几个:可用性、性能、
3、可修改性、可靠性、安全性、可测试性、性能、可修改性、可靠性、安全性、可测试性、易用性、可重用性、可集成性等。易用性、可重用性、可集成性等。第第7 7章章 软件体系结构评估软件体系结构评估 7.1 7.1 体系结构评估概述体系结构评估概述第第7 7章章 软件体系结构评估软件体系结构评估 7.1 体系结构评估概述体系结构评估概述 评估的必要性评估的必要性(1 1)软件体系结构反映了系统最初始的设计决策,)软件体系结构反映了系统最初始的设计决策,对同样一个问题,在初始阶段纠正所带来的花费对同样一个问题,在初始阶段纠正所带来的花费和在测试或部署阶段纠正导致的开销不在一个数和在测试或部署阶段纠正导致的开
4、销不在一个数量级。在体系结构视图上一个符号改动比后期大量级。在体系结构视图上一个符号改动比后期大规模的代码改动工作量要少得多,这样,巨大的规模的代码改动工作量要少得多,这样,巨大的额外开销就避免了。有了对体系结构的完整描述,额外开销就避免了。有了对体系结构的完整描述,退一步讲即使是部分描述,就能模拟系统运行时退一步讲即使是部分描述,就能模拟系统运行时行为,对一些设计思想进行探讨,并推断体系结行为,对一些设计思想进行探讨,并推断体系结构应用于系统时的潜在影响。而所有这些工作只构应用于系统时的潜在影响。而所有这些工作只不过需要整个项目周期中的几天时间。不过需要整个项目周期中的几天时间。 第第7 7
5、章章 软件体系结构评估软件体系结构评估 7.1 体系结构评估概述体系结构评估概述 评估的必要性评估的必要性(2 2)评估是挖掘隐性需求并将其补充到设计中的最)评估是挖掘隐性需求并将其补充到设计中的最后机会。由于缺乏充分的交流和不能对软件项目透后机会。由于缺乏充分的交流和不能对软件项目透彻理解,许多涉众并不知道自己到底想要什么。在彻理解,许多涉众并不知道自己到底想要什么。在需求获取阶段,他们会列出自认为最重要的几项要需求获取阶段,他们会列出自认为最重要的几项要求。但是评估之后,这些观点可能会变动很大。有求。但是评估之后,这些观点可能会变动很大。有些起初重视的方面可能并不是那么重要,而另一些些起初
6、重视的方面可能并不是那么重要,而另一些本来看上去无关紧要的东西却被发现需要花更多精本来看上去无关紧要的东西却被发现需要花更多精力来处理。体系结构评估清除了涉众的沟通障碍。力来处理。体系结构评估清除了涉众的沟通障碍。其最直接的结果就是得到各方满意的系统蓝图,而其最直接的结果就是得到各方满意的系统蓝图,而这至少意味者项目成功的一半。这至少意味者项目成功的一半。 第第7 7章章 软件体系结构评估软件体系结构评估 7.1 体系结构评估概述体系结构评估概述 评估的必要性评估的必要性(3 3)体系结构是开发过程的中心,它决定了团)体系结构是开发过程的中心,它决定了团队组织,任务分配,配置管理,文档组织,管
7、理队组织,任务分配,配置管理,文档组织,管理策略,还有开发进程安排。不良体系结构往往带策略,还有开发进程安排。不良体系结构往往带来不良的效果,因为它在被使用过程中必须被修来不良的效果,因为它在被使用过程中必须被修改来适应新的考量,或者去弥补那些在开发早期改来适应新的考量,或者去弥补那些在开发早期阶段没考虑到的缺陷,在这些方面进行修改需要阶段没考虑到的缺陷,在这些方面进行修改需要花费大量成本。如果在这些发生之前充分分析一花费大量成本。如果在这些发生之前充分分析一下体系结构就可以部分避免这些问题的发生。下体系结构就可以部分避免这些问题的发生。 第第7 7章章 软件体系结构评估软件体系结构评估 7.
8、2 SA评估的主要方式评估的主要方式 主要的评估方式主要的评估方式 基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式 基于场景的评估方式基于场景的评估方式 基于度量的评估方式基于度量的评估方式 第第7 7章章 软件体系结构评估软件体系结构评估 基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式(1)(1) CMU/SEICMU/SEI的软件风险评估过程采用了这一方式。的软件风险评估过程采用了这一方式。 调查问卷是一系列可以应用到各种体系结构评调查问卷是一系列可以应用到各种体系结构评估的相关问题,其中有些问题可能涉及到体系结估的相关问题,其中有些问题可能涉及到体系结构的设计
9、决策;有些问题涉及到体系结构的文档,构的设计决策;有些问题涉及到体系结构的文档,有的问题针对体系结构描述本身的细节问题。有的问题针对体系结构描述本身的细节问题。 检查表中包含一系列比调查问卷更细节和具体检查表中包含一系列比调查问卷更细节和具体的问题,它们更趋向于考察某些关心的质量属性。的问题,它们更趋向于考察某些关心的质量属性。7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式(2)(2) 这一评估方式比较自由灵活,可评估多种质量属这一评估方式比较自由灵活,可评估多种质量属性,也可以在软件体系结
10、构设计的多个阶段进行。性,也可以在软件体系结构设计的多个阶段进行。但是由于评估的结果很大程度上来自评估人员的主但是由于评估的结果很大程度上来自评估人员的主观推断,因此不同的评估人员可能会产生不同甚至观推断,因此不同的评估人员可能会产生不同甚至截然相反的结果,而且评估人员对领域的熟悉程度、截然相反的结果,而且评估人员对领域的熟悉程度、是否具有丰富的相关经验也成为评估结果是否正确是否具有丰富的相关经验也成为评估结果是否正确的重要因素。的重要因素。 尽管基于调查问卷与检查表的评估方式相对比较尽管基于调查问卷与检查表的评估方式相对比较主观,但由于系统相关的人员的经验和知识是评估主观,但由于系统相关的人
11、员的经验和知识是评估软件体系结构的重要信息来源,因而它仍然是进行软件体系结构的重要信息来源,因而它仍然是进行软件体系结构评估的重要途径之一。软件体系结构评估的重要途径之一。7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基于场景的评估方式基于场景的评估方式(1) (1) 场景是一系列有序的使用或修改系统的步骤。场景是一系列有序的使用或修改系统的步骤。基于场景的方式由基于场景的方式由SEISEI首先提出并应用在体系结构首先提出并应用在体系结构权衡分析方法(权衡分析方法(ATAMATAM)和软件体系结构分析方法)和软件体系结构分析方法(SAAMSAAM)中
12、。)中。 这种软件体系结构评估方式分析软件体系结构这种软件体系结构评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修量需求的满足程度。例如,用一系列对软件的修改来反映易修改性方面的需求,用一系列攻击性改来反映易修改性方面的需求,用一系列攻击性操作来代表安全性方面的需求等。操作来代表安全性方面的需求等。7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基于场景的评估方式基于场
13、景的评估方式(2)(2) 这一评估方式考虑到了包括系统的开发人员、这一评估方式考虑到了包括系统的开发人员、维护人员、最终用户、管理人员、测试人员等在维护人员、最终用户、管理人员、测试人员等在内的所有与系统相关的人员对质量的要求。基于内的所有与系统相关的人员对质量的要求。基于场景的评估方式涉及到的场景的评估方式涉及到的基本活动包括基本活动包括确定应用确定应用领域的功能和软件体系结构的结构之间的映射,领域的功能和软件体系结构的结构之间的映射,设计用于体现待评估质量属性的场景以及分析软设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度。件体系结构对场景的支持程度。 7.2 SA评估
14、的主要方式评估的主要方式 不同的应用系统对同一质量属性的理解可能不同,例不同的应用系统对同一质量属性的理解可能不同,例如,对操作系统来说,可移植性被理解为系统可在不同如,对操作系统来说,可移植性被理解为系统可在不同的硬件平台上运行,而对于普通的应用系统而言,可移的硬件平台上运行,而对于普通的应用系统而言,可移植性往往是指该系统可在不同的操作系统上运行。由于植性往往是指该系统可在不同的操作系统上运行。由于存在这种不一致性,对一个领域适合的场景设计在另一存在这种不一致性,对一个领域适合的场景设计在另一个领域内未必合适,因此个领域内未必合适,因此基于场景的评估方式是特定于基于场景的评估方式是特定于领
15、域的领域的。这一评估方式的实施者一方面需要有丰富的领。这一评估方式的实施者一方面需要有丰富的领域知识以对某一质量需求设计出合理的场景,另一方面,域知识以对某一质量需求设计出合理的场景,另一方面,必须对待评估的软件体系结构有一定的了解以准确判断必须对待评估的软件体系结构有一定的了解以准确判断它是否支持场景描述的一系列活动。它是否支持场景描述的一系列活动。第第7 7章章 软件体系结构评估软件体系结构评估 基于场景的评估方式基于场景的评估方式(3)(3) 7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基于度量的评估方式基于度量的评估方式(1)(1) 度量是
16、指为软件产品的某一属性所赋予的数值,度量是指为软件产品的某一属性所赋予的数值,如代码行数、方法调用层数、构件个数等。传统如代码行数、方法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来也出现了一的度量研究主要针对代码,但近年来也出现了一些针对高层设计的度量,软件体系结构度量即是些针对高层设计的度量,软件体系结构度量即是其中之一。代码度量和代码质量之间存在着重要其中之一。代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构度量应该也能够的联系,类似地,软件体系结构度量应该也能够作为评判质量的重要的依据。作为评判质量的重要的依据。 7.2 SA评估的主要方式评估的主要方式 赫尔辛
17、基大学提出的基于模式挖掘的面向对赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构度量技术、象软件体系结构度量技术、KarlskronaKarlskrona和和RonnebyRonneby提出的基于面向对象度量的软件体系结提出的基于面向对象度量的软件体系结构可维护性评估、西弗吉尼亚大学提出的软件构可维护性评估、西弗吉尼亚大学提出的软件体系结构度量方法等都在这方面进行了探索,体系结构度量方法等都在这方面进行了探索,提出了一些可操作的具体方案。我们把这类评提出了一些可操作的具体方案。我们把这类评估方式称作基于度量的评估方式。估方式称作基于度量的评估方式。第第7 7章章 软件体系结构评估软件体系结
18、构评估 基于度量的评估方式基于度量的评估方式(2)(2) 7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基于度量的评估方式基于度量的评估方式(3) (3) 基于度量的评估技术都涉及三个基本活动:基于度量的评估技术都涉及三个基本活动:首首先需要建立质量属性和度量之间的映射原则,即先需要建立质量属性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么样的质量确定怎样从度量结果推出系统具有什么样的质量属性;然后从软件体系结构文档中获取度量信息;属性;然后从软件体系结构文档中获取度量信息;最后根据映射原则分析推导出系统的某些质量属最后根据映射原则分析推
19、导出系统的某些质量属性。性。7.2 SA评估的主要方式评估的主要方式 基于度量的评估方式提供更为客观和量化的质基于度量的评估方式提供更为客观和量化的质量评估。这一评估方式需要在软件体系结构的设量评估。这一评估方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评估人员对计基本完成以后才能进行,而且需要评估人员对待评估的体系结构十分了解,否则不能获取准确待评估的体系结构十分了解,否则不能获取准确的度量。自动的软件体系结构度量获取工具能在的度量。自动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例如一定程度上简化评估的难度,例如MAISAMAISA可从文可从文本格式的本格式的UML
20、UML图中抽取面向对象体系结构的度量。图中抽取面向对象体系结构的度量。第第7 7章章 软件体系结构评估软件体系结构评估 基于度量的评估方式基于度量的评估方式(4) (4) 7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 三种评估方式的比较三种评估方式的比较 7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基本概念基本概念 (1 1) 敏感点和权衡点敏感点和权衡点 敏感点是一个或多个构件(和敏感点是一个或多个构件(和/ /或构件之间的关系)或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在的特性。研究
21、敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。搞清楚如何实现质量目标时应注意什么。 权衡点是影响多个质量属性的特性,是多个质量权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。延迟要求,则加
22、密级别可能就会成为一个权衡点。7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基本概念基本概念 (2 2)风险承担者)风险承担者 系统的体系结构涉及到很多人的利益,这些人系统的体系结构涉及到很多人的利益,这些人都对体系结构施加各种影响,以保证自己的目标都对体系结构施加各种影响,以保证自己的目标能够实现。能够实现。 7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 基本概念基本概念 (3 3)场景)场景 在进行体系结构评估时,一般首先要精确地在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该
23、体系结得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标而采用的构优劣的标准。我们把为得出这些目标而采用的机制叫做场景。机制叫做场景。场景是从风险承担者的角度对与场景是从风险承担者的角度对与系统的交互的简短描述。系统的交互的简短描述。在体系结构评估中,一在体系结构评估中,一般从般从刺激源刺激源、刺激刺激、环境、制品、响应环境、制品、响应和和响应度响应度量量这六个这六个方面来对场景进行描述。方面来对场景进行描述。7.2 SA评估的主要方式评估的主要方式第第7 7章章 软件体系结构评估软件体系结构评估 7.3 SAAM评估方法评估方法SAAMSAAM方法是最早形成文档并得
24、到广泛使用的软件方法是最早形成文档并得到广泛使用的软件体系结构分析方法,最初是用来分析体系结构的体系结构分析方法,最初是用来分析体系结构的可修改性的,但实践证明,可修改性的,但实践证明,SAAMSAAM方法也可用于对方法也可用于对许多质量属性(例如可移植性、可扩充性、可集许多质量属性(例如可移植性、可扩充性、可集成性等)及系统功能进行快速评估。成性等)及系统功能进行快速评估。SAAMSAAM比较简单,这种方法易学易用,进行培训和比较简单,这种方法易学易用,进行培训和准备的工作量都比较少。准备的工作量都比较少。第第7 7章章 软件体系结构评估软件体系结构评估 7.3 SAAM评估方法评估方法SA
25、AMSAAM是一种直观的方法,它试图通过场景来测量是一种直观的方法,它试图通过场景来测量软件的质量,而不是泛泛的不精确的质量属性描软件的质量,而不是泛泛的不精确的质量属性描述。述。SAAMSAAM也比较简单,仅仅考虑场景和体系结构也比较简单,仅仅考虑场景和体系结构的关系,也不涉及太多的步骤和独特的技术。于的关系,也不涉及太多的步骤和独特的技术。于是,它成为体系结构评估初学者的理想入门方法。是,它成为体系结构评估初学者的理想入门方法。SAAMSAAM最初是为了评估体系结构的可修改性而设计,最初是为了评估体系结构的可修改性而设计,不过经过演化和实际应用,在许多其它常见的质不过经过演化和实际应用,在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 评估 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内