软件体系结构的分析与评估报告课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件体系结构的分析与评估报告课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 分析 评估 报告 课件
- 资源描述:
-
1、本资料来源软件体系结构的分析与评估软件体系结构的分析与评估体系结构评估概述体系结构评估概述体系结构评估是一种避免灾难的低成本手体系结构评估是一种避免灾难的低成本手段;段;体系结构评估的时机一般是在明确了体系体系结构评估的时机一般是在明确了体系结构之后、具体实现开始之前;结构之后、具体实现开始之前;实践原则是:应该在开发小组开始制定依实践原则是:应该在开发小组开始制定依赖于体系结构的决策时、修改这些决策的赖于体系结构的决策时、修改这些决策的代价超过体系结构的评估的代价时,实施代价超过体系结构的评估的代价时,实施体系结构评估。体系结构评估。体系结构评估的参与者体系结构评估的参与者评估小组:负责组织
2、评估并对评估结果进评估小组:负责组织评估并对评估结果进行分析。组成人员通常为评估小组负责人、行分析。组成人员通常为评估小组负责人、评估负责人、场景书记员、进展书记员、评估负责人、场景书记员、进展书记员、计时员、过程观察员、过程监督者、提问计时员、过程观察员、过程监督者、提问者。者。风险承担者:在该体系结构及根据该体系风险承担者:在该体系结构及根据该体系结构开发的系统中有既得利益的人。有些结构开发的系统中有既得利益的人。有些也将是开发小组成员,如编程人员、集成也将是开发小组成员,如编程人员、集成人员、测试人员和维护人员。比较特殊的人员、测试人员和维护人员。比较特殊的是项目决策者,包括体系结构设计
3、师、组是项目决策者,包括体系结构设计师、组件设计人员和项目管理人员。件设计人员和项目管理人员。评估所关注的质量属性评估所关注的质量属性性能(性能(performance)性能是指系统的响应能力,即要经过多长时性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数。件内系统所能处理的事件的个数。经常用单位事件内所处理事务的数量或系统经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行完成某个事务处理所需的时间来对性能进行定量的表示。定量的表示。性能测试经常要使用基准测试程序(用以测性能
4、测试经常要使用基准测试程序(用以测量性能指标的特定事务集或工作量环境)。量性能指标的特定事务集或工作量环境)。评估所关注的质量属性评估所关注的质量属性可靠性(可靠性(reliability)(1)可靠性是软件系统在应用或系统错误面前,可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的在意外或错误使用的情况下维持软件系统的功能特性的基本能力。功能特性的基本能力。可靠性通常用平均失效等待时间(可靠性通常用平均失效等待时间(MTTF)和平均失效间隔时间(和平均失效间隔时间(MTBF)来衡量。在)来衡量。在失效率为常数和修复时间很短的情况下,失效率为常数和修复时间很短的情况下
5、,MTTF和和MTBF几乎相等。几乎相等。评估所关注的质量属性评估所关注的质量属性可靠性(可靠性(reliability)(2)容错容错:在错误发生时确保系统正确的行为,:在错误发生时确保系统正确的行为,并进行内部修复。如在一个分布式软件系统并进行内部修复。如在一个分布式软件系统中失去了一个与远程构件的连接,接着恢复中失去了一个与远程构件的连接,接着恢复了连接,在修复这样的错误后,系统可以重了连接,在修复这样的错误后,系统可以重新或重复执行进程间的操作。新或重复执行进程间的操作。健壮性健壮性:保护应用程序不受错误使用和错误:保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应输
6、入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。用系统处于已经定义好的状态。评估所关注的质量属性评估所关注的质量属性可用性(可用性(availability)可用性是系统能够正常运行的时间比例。经可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。时系统能够恢复正常的速度来表示。评估所关注的质量属性评估所关注的质量属性安全性(安全性(security)安全性是指系统在向合法用户提供服务的同安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服时能够阻止非授权用户使
7、用的企图或拒绝服务的能力。安全性是根据系统可能受到的安务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。全威胁的类型来分类的。安全性又可划分为机密性、完整性、不可否安全性又可划分为机密性、完整性、不可否认性及可控性等特性。其中,机密性保证信认性及可控性等特性。其中,机密性保证信息不泄露给未授权的用户、实体或过程;完息不泄露给未授权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非整性保证信息的完整和准确,防止信息被非法修改;可控性保证对信息的传播及内容具法修改;可控性保证对信息的传播及内容具有控制的能力,防止为非法者所用。有控制的能力,防止为非法者所用。评估所关注的质量属性
8、评估所关注的质量属性可修改性(可修改性(modifiability)指能够快速地以较高的性能价格比对系统进指能够快速地以较高的性能价格比对系统进行变更的能力。行变更的能力。通常以某些具体的变更为基准,通过考察这通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。些变更的代价衡量可修改性。评估所关注的质量属性评估所关注的质量属性可修改性(可修改性(modifiability)可维护性(可维护性(maintainability):主要体现在问主要体现在问题的修复上:在错误发生后题的修复上:在错误发生后“修复修复”软件系软件系统;统;可扩展性(可扩展性(extendibility):使用
9、新特性来扩使用新特性来扩展软件系统,以及使用改进版本来替换构件展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为实并删除不需要或不必要的特性和构件。为实现可扩展性,需要松散耦合的构件。现可扩展性,需要松散耦合的构件。评估所关注的质量属性评估所关注的质量属性可修改性(可修改性(modifiability)结构重组(结构重组(reassemble):重新组织软件系重新组织软件系统的构件及构件间的关系。统的构件及构件间的关系。可移植性(可移植性(portability):使软件系统适用于使软件系统适用于多种硬件平台、用户界面、操作系统、编程多种硬件平台、用户界面、操作系统、编
10、程语言或编译器。是系统能够在不同计算环境语言或编译器。是系统能够在不同计算环境(硬件或软件)下运行的能力。(硬件或软件)下运行的能力。评估所关注的质量属性评估所关注的质量属性功能性功能性(functionality)功能性是系统所能完成所期望的工作的能力。功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构一项任务的完成需要系统中许多或大多数构件的相互协作。件的相互协作。评估所关注的质量属性评估所关注的质量属性可变性可变性(changeability)可变性是指体系结构经扩充或变更而成为新可变性是指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合体系
11、结构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一有的体系结构。当要将某个体系结构作为一系列相关产品(例如,软件产品线)的基础系列相关产品(例如,软件产品线)的基础时,可变性是很重要的。时,可变性是很重要的。评估所关注的质量属性评估所关注的质量属性可集成性可集成性(integrability)可集成性是指系统能与其他系统协作的程度。可集成性是指系统能与其他系统协作的程度。评估所关注的质量属性评估所关注的质量属性互操作性(互操作性(interoperation)作为系统组成部分的软件不是独立存在的,
12、作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软视的功能特性和数据结构提供精心设计的软件入口。程序和用其他编程语言编写的软件件入口。程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,这种系统的交互作用就是互操作性的问题,这种互操作性也影响应用的软件体系结构。互操作性也影响应用的软件体系结构。基本概念基本概念 敏感点(敏感点(sensitivity point)和权衡点)和权衡点(tradeoff poi
13、nt)是关键的体系结构决策。)是关键的体系结构决策。敏感点敏感点是一个或多个构件(和是一个或多个构件(和/或构件之间的关系)或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。搞清楚如何实现质量目标时应注意什么。权衡点权衡点是影响多个质量属性的特性,是多个质量属是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时
14、间,影响系高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。迟要求,则加密级别可能就会成为一个权衡点。基本概念基本概念场景场景(1)在进行体系结构评估时,一般首先要精确地在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标系结构优劣的标准。我们把为得出这些目标而采用的机制叫做而采用的机制叫做场景场景。场景是从风险承担者的角度对与系统的交互场景是从风险承担者的角度对与系统的交
15、互的简短描述。在体系结构评估中,一般采用的简短描述。在体系结构评估中,一般采用刺激刺激、环境环境和和响应响应三方面来对场景进行描述。三方面来对场景进行描述。基本概念基本概念场景场景(2)刺激刺激是场景中解释或描述风险承担者怎样引是场景中解释或描述风险承担者怎样引发与系统的交互部分。例如,用户可能会激发与系统的交互部分。例如,用户可能会激发某个功能,维护人员可能会做某个更改,发某个功能,维护人员可能会做某个更改,测试人员可能会执行某种测试等,这些都属测试人员可能会执行某种测试等,这些都属于对场景的刺激。于对场景的刺激。环境环境描述的是刺激发生时的情况。例如,当描述的是刺激发生时的情况。例如,当前
16、系统处于什么状态?有什么特殊的约束条前系统处于什么状态?有什么特殊的约束条件?系统的负载是否很大?某个网络通道是件?系统的负载是否很大?某个网络通道是否出现了阻塞等。否出现了阻塞等。响应响应是指系统是如何通过体系结构对刺激作是指系统是如何通过体系结构对刺激作出反应的。例如,用户所要求的功能是否得出反应的。例如,用户所要求的功能是否得到满足?维护人员的修改是否成功?测试人到满足?维护人员的修改是否成功?测试人员的测试是否成功等。员的测试是否成功等。体系结构评估的结果体系结构评估的结果一份报告,提供若干信息:一份报告,提供若干信息:该体系结构是否与所要开发的系统相适应?该体系结构是否与所要开发的系
17、统相适应?针对所要开发的系统,在备选的两个或多个体系针对所要开发的系统,在备选的两个或多个体系结构中,哪一个是最合适的?结构中,哪一个是最合适的?体系结构评估的结果体系结构评估的结果适宜性:适宜性:根据体系结构开发出来的系统能够满足其质量要根据体系结构开发出来的系统能够满足其质量要求,即系统将会满足预期的性能要求、安全性要求,即系统将会满足预期的性能要求、安全性要求、功能需求等求、功能需求等可以利用现有的资源实现系统的开发。这些资源可以利用现有的资源实现系统的开发。这些资源包括人力、资金、旧的软件和所规定的系统交付包括人力、资金、旧的软件和所规定的系统交付的时间。的时间。体系结构评估的结果体系
18、结构评估的结果划分了优先级的质量属性需求。划分了优先级的质量属性需求。获取作为评估依据获取作为评估依据的质量属性需求是体系结构评估中的一项重要工作。的质量属性需求是体系结构评估中的一项重要工作。任何一个构架都不可能满足很多的质量属性需求,任何一个构架都不可能满足很多的质量属性需求,所以这些评估方法都使用某种广泛认同的优先级排所以这些评估方法都使用某种广泛认同的优先级排列。列。方法与质量属性的映射。方法与质量属性的映射。对所分析问题的解答可以对所分析问题的解答可以得出一种映射,这种映射表明了如何用体系结构方得出一种映射,这种映射表明了如何用体系结构方法实现所期望的质量属性。这种映射构成了体系结法
19、实现所期望的质量属性。这种映射构成了体系结构的基本机理。构的基本机理。有风险决策和无风险决策有风险决策和无风险决策。有风险决策是那些可能。有风险决策是那些可能带来问题的构架决策。无风险决策是指依赖于经常带来问题的构架决策。无风险决策是指依赖于经常含在体系结构中的假设好的决策。含在体系结构中的假设好的决策。体系结构评估的好处体系结构评估的好处把各个风险承担者召集到一起把各个风险承担者召集到一起迫使对具体质量目标做出清楚的表述迫使对具体质量目标做出清楚的表述为相互冲突的目标划分优先级为相互冲突的目标划分优先级迫使对体系结构作出清楚的解释迫使对体系结构作出清楚的解释提高体系结构文档的质量提高体系结构
20、文档的质量发现项目之间交叉重用的可能性发现项目之间交叉重用的可能性提高体系结构设计水平提高体系结构设计水平主要的评估方式主要的评估方式基于调查问卷或检查表的评估方式基于调查问卷或检查表的评估方式 基于场景的评估方式基于场景的评估方式 基于度量的评估方式基于度量的评估方式 体系结构评估方法体系结构评估方法SAAM(软件架构分析方法):(软件架构分析方法):是最早形成文档并得到广泛应用的体系结构分析是最早形成文档并得到广泛应用的体系结构分析方法,最初是用来分析体系结构的可修改性的。方法,最初是用来分析体系结构的可修改性的。软件开发人员经常对一些质量属性(可维护性、软件开发人员经常对一些质量属性(可
21、维护性、可修改性、强健性等)进行空洞的描述,使得测可修改性、强健性等)进行空洞的描述,使得测试工作无法进行,试工作无法进行,SAAM方法用场景代替这些对方法用场景代替这些对质量的空洞描述,使得测试成为可能。质量的空洞描述,使得测试成为可能。体系结构评估方法体系结构评估方法ATAM(体系结构权衡分析方法):(体系结构权衡分析方法):可以揭示出体系结构对特定目标质量的满足情况,可以揭示出体系结构对特定目标质量的满足情况,而且可以更有效地权衡诸多质量目标。而且可以更有效地权衡诸多质量目标。是一种结构化的评估方法,分析过程是可重复的,是一种结构化的评估方法,分析过程是可重复的,可以在系统需求确定阶段或
22、系统设计阶段保证所可以在系统需求确定阶段或系统设计阶段保证所提出的问题是恰当的,并且以相对较低的代价解提出的问题是恰当的,并且以相对较低的代价解决所发现的问题。决所发现的问题。可以对需要做较大更改或与其他系统集成的旧系可以对需要做较大更改或与其他系统集成的旧系统进行分析。统进行分析。帮助我们更深刻地认识系统的质量属性。帮助我们更深刻地认识系统的质量属性。ATAM(体系结构权衡分析方法)(体系结构权衡分析方法)ATAM评估的步骤评估的步骤 整个整个ATAM评估过程包括九个步骤,按其编号顺评估过程包括九个步骤,按其编号顺序分别是描述序分别是描述ATAM方法、描述商业动机、描述方法、描述商业动机、描
23、述体系结构、确定体系结构方法、生成质量属性效体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、分用树、分析体系结构方法、讨论和分级场景、分析体系结构方法(是第六步的重复)、描述评估析体系结构方法(是第六步的重复)、描述评估结果。结果。ATAM(体系结构权衡分析方法)(体系结构权衡分析方法)描述描述ATAM方法方法 ATAM评估的第一步要求评估小组负责人向参加评估的第一步要求评估小组负责人向参加会议的风险承担者介绍会议的风险承担者介绍ATAM评估方法。在这一评估方法。在这一步,要解释每个人将要参与的过程,并预留出解步,要解释每个人将要参与的过程,并预留出解答疑问的
24、时间,设置好其他活动的环境和预期结答疑问的时间,设置好其他活动的环境和预期结果。果。ATAM(体系结构权衡分析方法)(体系结构权衡分析方法)描述描述ATAM方法方法 关键是要使每个人都知道要收集哪些信息,如何关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告等。特别是要描述描述这些信息,将要向谁报告等。特别是要描述以下事项:以下事项:ATAM方法步骤简介;方法步骤简介;获取信息和进行分析的技术:效用树的生成,基于体获取信息和进行分析的技术:效用树的生成,基于体系结构方法的获取系结构方法的获取/分析,对场景的集体讨论及优先级分析,对场景的集体讨论及优先级的划分等;的划分等;评估
25、结果:所得出的场景及其优先级,用户理解评估结果:所得出的场景及其优先级,用户理解/评评估体系结构的问题,描述驱动体系结构的需求并对这估体系结构的问题,描述驱动体系结构的需求并对这些需求进行分类,所确定的一组体系结构方法和风格,些需求进行分类,所确定的一组体系结构方法和风格,一组所发现的风险点和无风险点、敏感点和权衡点。一组所发现的风险点和无风险点、敏感点和权衡点。ATAM(体系结构权衡分析方法)(体系结构权衡分析方法)描述商业动机描述商业动机 参加评估的所有人员必须理解待评估的系统,在参加评估的所有人员必须理解待评估的系统,在这一步,项目经理要从商业角度介绍系统的概况。这一步,项目经理要从商业
展开阅读全文