第9章 软件体系结构评估

合集下载

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

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

第9章 软件体系结构评估
9.2 SA评估的主要方式
◇ 基于度量的评估方式(1)
度量是指为软件产品的某一属性所赋予的数值,如代码行数、方 法调用层数、构件个数等。传统的度量研究主要针对代码,但近年来 也出现了一些针对高层设计的度量,软件体系结构度量即是其中之一。 代码度量和代码质量之间存在着重要的联系,类似地,软件体系结构 度量应该也能够作为评判质量的重要的依据。
第9章 软件体系结构评估
9.3 ATAM评估方法
◇ 描述商业动机
除了初步从高级抽象层介绍系统本身外,一般来说,还要描述: ①系统最重要的功能需求。 ②技术、管理、经济或政治方面的约束条件。 ③商业目标和环境。 ④主要的风险承担者。 ⑤体系结构驱动因素(形成体系结构的主要质量属性目标)。
Hale Waihona Puke 第9章 软件体系结构评估第9章 软件体系结构评估
9.3 ATAM评估方法
◇ 描述商业动机
参加评估的所有人员必须理解待评估的系统,在这一步,项目经 理要从商业角度介绍系统的概况
商业环境/驱动描述(约12张幻灯片,45分钟) (1)描述商业环境、历史、市场划分、驱动需求、风险承担者、当前 需要以及系统如何满足这些需要(3-4张幻灯片)。 (2)描述商业方面的约束条件(例如:推向市场的时间、客户需求、 标准和成本等)(1-3张幻灯片)。 (3)描述技术方面的约束条件(例如:COTS、与其他系统的互操作、 所需要的软硬件平台、遗留代码的重用等)(1-3张幻灯片)。 (4)质量属性需求(例如:系统平台、可用性、安全性、可修改性、 互操作性、集成性和这些需求来自的商业需要)(2-3张幻灯片)。 (5)术语表(1张幻灯片)。
基于度量的评估方式提供更为客观和量化的质量评估。这一评估 方式需要在软件体系结构的设计基本完成以后才能进行,而且需要评 估人员对待评估的体系结构十分了解,否则不能获取准确的度量。自 动的软件体系结构度量获取工具能在一定程度上简化评估的难度,例 如MAISA可从文本格式的UML图中抽取面向对象体系结构的度量。

软件体系结构评估

软件体系结构评估

ATAM评估方法
ATAM:Architecture Tradeoff Analysis Method(体系结构 权衡分析方法) 特点
评估SA对特定质量目标的满足情况,揭示诸多质量目标之间 的相互作用和权衡 结构化的评估方法,可重复
方法来源
体系结构风格 质量属性分析方法
ATAM步骤简述(1/2)
21
ATAM步骤详述(5/13)
第5步:生成质量属性效用树 评估小组与项目决策者合作,共同确定出该系统的最重要的 质量属性目标,并设臵优先级,进行进一步的细化,该步指 导其他的分析 这种方式将所有风险承担者和评估小组的精力集中到对系统 的成功与否具有重要意义的体系结构的方面上 效用树为我们提供了一种直接而有效地将系统的商业驱动因 素转换为具体的质量属性场景的机制,该步骤的输出结果是 对具体质量属性需求(以场景形式实现)的优先级的确定
基于场景的评估方式(1)
基于场景的方式由SEI首先提出并应用在体系结构权 衡分析方法(ATAM)和软件体系结构分析方法 (SAAM)中。 这种软件体系结构评估方式分析软件体系结构对 场景也就是对系统的使用或修改活动的支持程度, 从而判断该体系结构对这一场景所代表的质量需求 的满足程度。例如,用一系列对软件的修改来反映 易修改性方面的需求,用一系攻击性操作来代表安 全性方面的需求等。
19
ATAM步骤详述(3/13)
第3步:体系结构陈述 在适合的细节层次上描述体系结构,体系结构信息直接影响 可能的分析及分析的质量。在进行更实质的分析之前,评估 小组通常需要询问更多的有关体系结构的信息
技术约束条件,诸如要求使用的操作系统、硬件、中间件等 该系统必须要与之交互的其他系统 用以满足质量属性需求的体系结构方法、样式、模式和采用 的机制 高层体系结构视图:功能、代码、并发、物理

软件体系结构评估

软件体系结构评估

计算机093 09416612 恽小燕软件体系结构评估近几年来,软件体系结构(Software Architecture ,SA) 成为软件工程发展的一个热门方向。

随着对软件体系结构研究的深入开展,逐渐形成了以软件系统的体系结构形式化描述、风格、建模、评估、软件产品线以及基于软件体系结构的软件开发过程等为主要研究内容的一个新领域。

对一个系统的体系结构进行评估,是为了在系统被构建之前预测它的质量,并不需要精确的评估结果,通过分析SA体系结构对于系统质量的主要影响,进而提出改进。

因此,软件体系结构评估的目的是分析潜在的风险,并检验设计中提出的质量需求。

本文主要讨论三种有代表性的方法,它们可以指导评估人员成功地对系统的体系结构进行评估。

这三种方法是: 基于场景的体系结构分析方法(SAAM) 、体系结构权衡分析方法(ATAM) 、体系结构级别上的软件维护预测(ALPSM) 。

1.主要的术语(1)软件体系结构定义:软件体系结构定义很多,本文采用为大多数人所接受的一种定义:“软件系统或计算系统的软件体系结构就是系统的一个或多个结构,它包括软件组件,这些组件的外部可见属性以及组件之间的相互关系”。

这个定义仅仅关注系统内在的方面,而大多数的分析方法都是基于这个定义的。

这个定义具有如下的含义:①SA 是一个或多个系统的抽象。

SA 以抽象的组件(Com2ponent) 来表示系统,这些组件具有外部可见属性,并且相互之间是有联系的,这种联系有时被称为连接件(Connector) 。

②SA 是一种可重用、可传递的系统抽象,而组件的细节部分不属于体系结构的范畴。

③系统由多个结构组成,通常也称为视图(View) 。

任何一个视图只能表示SA 的部分内容,而不是全部。

(2)质量属性质量属性是一个组件或一个系统的非功能性特征。

软件质量在IEEE 1061中定义,它体现了软件拥有所期望的属性组合的程度。

另一个标准ISO/IEC Draft 91262 1定义了一个软件质量模型。

软件体系结构的设计与评估

软件体系结构的设计与评估

软件体系结构的设计与评估随着计算机技术的发展,软件系统在我们的生活中扮演着越来越重要的角色。

由于软件系统的规模越来越大,模块越来越多,软件的结构设计和评估就变得尤为重要。

软件体系结构是指软件系统中各个模块之间相互关联的结构,设计和评估软件体系结构是确保软件系统的高性能和高稳定性的关键。

一、软件体系结构设计的重要性软件体系结构设计是软件开发的第一步。

它的目的是根据需求规格说明书确定软件系统的模块组成,进而确定模块之间的相互关系。

一个良好的软件体系结构应具备以下特点:1.可扩展性——软件体系结构应该可以很方便地扩展和修改,使得软件系统能够应对未来的需求变化。

2.可维护性——软件体系结构应该易于维护,使得开发人员能够很快地修复程序错误和漏洞。

3.可重用性——软件体系结构应该可以很容易地被复用,这可以大大提高软件开发的效率。

4.可移植性——软件体系结构应该很容易地在不同的操作系统和硬件平台上运行,以满足不同用户的需求。

设计一个良好的软件体系结构需要考虑多个因素,例如软件系统的规模、性能、可靠性等。

不同的因素需要不同的策略来解决,因此软件体系结构的设计是一个复杂而具有挑战性的任务。

二、软件体系结构设计的方法根据Martin Fowler的《企业应用架构模式》,软件体系结构设计可以分为以下四种方法:1.分层架构——将软件系统分为多个层次,每个层次都与下面的层次交互,从而促进模块化和可重用性。

2.分布式架构——将软件系统分成多个部分,每个部分都可以在不同的机器上运行,这可以大大提高系统的性能和可伸缩性。

3.面向服务架构——将软件系统分成多个服务,每个服务可以在不同的机器上运行,从而实现各个服务之间的相互调用。

4.事件驱动架构——在软件系统中使用事件来组织模块之间的通信。

以上四种架构方法都有各自的优缺点,开发人员需要根据需求选择最适用的方法。

三、软件体系结构评估的方法软件体系结构评估是指对软件体系结构进行评估和分析,以确定其是否满足设计要求,是否具有合理性、完备性和可行性。

软件体系结构-完整PPT课件张友生.doc

软件体系结构-完整PPT课件张友生.doc

软件体系结构课程性质:必修学时/学分:40/2.5关于教材◇出版社:清华大学出版社◇作者:张友生课程内容◇软件体系结构概论◇软件体系结构建模◇软件体系结构风格◇软件体系结构描述◇动态软件体系结构◇Web服务体系结构◇基于体系结构的软件开发◇软件体系结构的分析与测试◇软件体系结构评估◇软件产品线体系结构◇软件危机的表现◎软件成本日益增长◎开发进度难以控制◎软件质量差◎软件维护困难第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎软件成本日益增长20世纪50年代,软件成本在整个计算机系统成本中所占的比例为10%-20%。

到20世纪60年代中期,软件成本在计算机系统中所占的比例已经增长到50%左右。

而且,该数字还在不断地递增,下面是一组来自美国空军计算机系统的数据:1955年,软件费用约占总费用的18%,1970年达到60%,1975年达到72%,1980年达到80%,1985年达到85%左右。

第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎开发进度难以控制由于软件是逻辑、智力产品,软件的开发需建立庞大的逻辑体系,这是与其他产品的生产不一样的。

在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。

盲目增加软件开发人员并不能成比例地提高软件开发能力。

相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理等方面的问题将更为严重。

第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎软件质量差软件项目即使能按预定日期完成,结果却不尽人意。

1965年至1970年,美国范登堡基地发射火箭多次失败,绝大部分故障是由应用程序错误造成的。

在“软件作坊”里,由于缺乏工程化思想的指导,程序员几乎总是习惯性地以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而已,这是造成软件不能令人满意的重要因素。

高级软件工程(第九章) 软件体系结构(2017课件)

高级软件工程(第九章) 软件体系结构(2017课件)
11
管道/过滤器体系结构风格
管道/过滤器风格也存在着一定的问题: 系统处理过程是批处理方式,过滤器具有很强 的独立性,对于每一个过滤器,设计者必须考 虑从输入到输出的转换过程,这种方式会造成 过滤器对输入数据的批量转换处理; 不适合用来设计交互式应用系统; 由于没有通用的数据传输标准,因此每个过滤 器都需要解析输入数据和合成数据,添加和去 除标记需要花费一定的时间,从而导致了系统 性能下降,增加了过滤器设计的复杂性。
管道/过滤器体系结构风格
管道/过滤器风格具有以下优点: 简单性,允许将系统的输入和输出看作是各个 过滤器行为的简单组合,独立的过滤器能够减 小构件之间的耦合程度; 系统具有可扩展性和可进化性,各个过滤器是 相互独立的,因此可以很容易地将新过滤器添 加到现有的系统之中,以扩展系统的业务处理 能力,原有过滤器可以很方便地被改进的过滤 器所替代;
12
分层体系结构风格
在分层风格中,系统将划分为一个层次结构; 每一层都具有高度的内聚性,包含抽象程度一 致的各种构件,支持信息隐藏; 分层有助于将复杂系统划分为独立的模块,从 而简化程序的设计和实现; 通过分解,可以将系统功能划分为一些具有明 确定义的层,较高层是面向特定应用问题的, 较低层更具有一般性。
数据共享体系结构风格
数据共享风格也称为仓库风格,有两种不同类 型的软件元素: 一种是中央数据单元,也称为资源库,用于 表示系统的当前状态,另一种是相互依赖的 构件组 中央数据单元和构件之间可以进行信息交换, 这是数据共享体系结构的技术实现基础; 根据所使用的控制策略不同,数据共享体系结 构可以分为两种类型: 一种是传统的数据库,另一种是黑板
13
分层体系结构风格
每层都为上层提供服务,同时又利用了下层的 逻辑功能; 每层只对相邻层可见,层次之间的连接件是协 议和过程调用,用以实现各层之间的交互; 上层通过下层提供的接口来使用下层的功能, 而下层却不能使用上层的功能; 良好的层次结构将有助于对逻辑功能实施灵活 的增加、删除和修改。

电子科技大学,软件工程第九章进行体系结构设计 PPT资料共15页

电子科技大学,软件工程第九章进行体系结构设计 PPT资料共15页
数据流体系结构 数据服从输入—变换---输出的简单流程 以机载二次雷达的译码模式为例
调用和返回体系结构 主程序/子程序体系结构 远程过程调用体系结构
面向对象体系结构
层次体系结构 各模块实现功能的层次不一样
• 9.3.2 体系结构模式
不同模式操作下的一些特征---并发性、持久性、分布性。
• 9.3 体系结构风格和模式
对完成同一种或同一类工作,不同的设计人员在体系结构 设计的方式各不一样,这种方式的一定程度上的抽象,就 是体系结构风格。
体系结构模式就是风格的具体体现,或者体系结构设计的 一个框架。
• 9.3.1 体系结构风格的分类
以数据为中心的体系结构 特点:客户构件基本独立
• 9.6 映射数据流到软件体系结构
变换流 事务流 变换映射 事务映射
更多精品资源请访问
docin/sanshengshiyuan doc88/sanshenglu
是一定程度上的抽象,非可运行的软件。
凭借体系结构图,软件开发人员可以: 分析设计能否完全满足需求 为设计中某些方面的变更提供指导 降低由于软件构造不合理带来的风险
• 9.2 数据设计
数据设计:把分析模型中定义的数据对象转化成软件构件级的 数据结构,或整个程序级的数据库结构。
体系结构级(系统结构级,或程序级)的数据设计:
• 9.5 评估可选的体系结构设计
实现一个具体的任务可以有多种不同的体系结构,哪一个 更好?
体系结构权衡分析方法(SEI): 核心:通过孤立地考虑每个属性来评估质量属性
体系结构的复杂性
体系结构描述语言
UML 体系结构描述语言(architectural description language,ADL)

体系结构各章思考题 期末必考

体系结构各章思考题 期末必考

《软件体系结构》各章思考题第1章软件体系结构概论1、根据自己的经验,谈谈对软件危机的看法。

2、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。

3、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。

4、为什么要研究软件体系结构?5、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?6、在软件体系结构的研究和应用中,你认为还有哪些不足之处?第2章软件体系结构建模1、选择一个规模合适的系统,为其建立“4+1”模型。

2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?3、软件体系结构的生命周期模型与软件生命周期模型有什么关系?第3章软件体系结构风格1、层次系统结构和基于消息的层次系统结构有什么区别?2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。

3、组织或参与一个采用B/S和C/S混合体系结构的软件项目的开发,总结开发经验。

4、组织或参与一个采用三层体系结构的软件项目的开发,总结开发经验。

5、SIS和DSSA分别用在哪些场合?6、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?第4章软件体系结构描述1、体系结构描述有哪些方法?有哪些标准和规范?2、体系结构描述语言与程序设计语言有什么区别?3、选择一个规模适中的系统,使用UML为其建模。

第5章动态软件体系结构1、什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?2、基于构件的动态软件体系结构模型的层次结构是什么?3、试比较Dynamic Wright和Darwin的特点。

4、试用Dynamic Wright描述B/S结构第6章Web服务体系结构1、什么是Web服务体系结构?与传统的结构相比,使用Web服务有哪些好处?2、在Web服务中,如何实现其松散耦合的特点?3、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据保密性
安全性 数据完整性
步骤6、分析软件体系结构方法
评估团队可以调查实现重要质量属性的软件体系
结构方法,这可以通过查看软件体系结构决策并 且找出它们的风险决策、无风险决策、敏感点和 折中点来完成。 这个步骤的输出包括: 与每个最高优先级的效果树场景相关的软件体 系结构方法或决策; 每个软件体系结构方法相关的分析问题; 设计人员对于问题的回答; 所确定的风险决策、无风险决策、敏感点和折 中点。
ARID方法步骤
阶段1、排练
步骤1、确定评审人 步骤2、准备设计情况介绍 步骤3、准备种子场景 步骤4、准备材料 阶段2、评审 步骤1、介绍ARID方法 步骤2、介绍设计 步骤3、场景的集体讨论和优先级划分 步骤4、应用场景 步骤5、总结
SAAM方法步骤
步骤1、场景的形成
场景应该能够说明系统必须支持的活动类型,同
时还必须说明客户参与者将给系统带来的变化类 型。 通过集体讨论的方式来获取场景。 场景的获取和收集往往需要重复多次,形成场景 和软件体系结构描述的过程是相关的,同时也是 迭代的。
步骤2、描述软件体系结构
候选的软件体系结构描述必须使用软件体系结构
可移植性

系统在不同计算环境中运行的能力 功能性 系统能够按照预期工作的能力 变化性 软件体系结构能够通过扩展或修改来得到新的软件体 系结构的程度 可分解性 支持生产系统某个子集的能力 概念完整性 能够统一所有层面系统设计概念的能力
评估的益处和代价(1/2)
评估的益处:
评估人员(2/2)
评估团队:其中的人员会实施评估并且进行分析
,团队中成员和他们确切的角色将在后面定义; 利益相关人员:是软件体系结构和基于它开发的 系统的既得利益者。
评估结果和质量属性(1/4)
软件体系结构评估会产生一个评估报告,报告的
形式和内容随着所使用评估方法的不同而不一样 。 通过软件体系结构评估可以回答下面两类问题: 软件体系结构是否适用于基于它的软件系统? 如果对于目前的系统有多个软件体系结构可以 选择,那个是最合适的?
评估团队会进行与步骤6中相同的活动,把新生成
的最高级别的场景对应到还没有发现的软件体系 结构元素上。 如果步骤7并没有产生任何在之前的分析过程没有 被发现的高优先级场景,那么步骤8就是测试活动 ,其目标就是尽量完整地发现信息。
步骤9、展示结果
方法结果中应该包括以下元素
已具备文档的软件体系结构方法 场景集合以及它们的优先级划分 基于属性的问题集合 效果树 发现的风险决策 已具备文档的无风险决策 发现的敏感点和折中点
步骤2、商业动机的介绍
项目决策者(最好是项目经理或系统关键客户)
会从商业的角度来介绍系统的概况 。 系统最重要的功能;任何技术、管理、经济或政 治方面的相关约束;与项目相关的商业目软件体系结构的主要质量属性目 标。
步骤3、软件体系结构介绍
新添加产品种类 可变性 修改COTS
(L,H) 在 少 于 20 人 - 月 的 代 价 下 加 入 CORBA 中间件 (H,L) 在少于4人-周的代价下修改Web用 户界面 (L,H) 由于站点1的动力故障而需要 把请求转到站点3的时间要低于3秒
效果
硬件失败 可用性
COTS软件失败
(M,M) 磁盘失败后重新启动的时间 要低于5分钟 (H,M) 用于监测并恢复网络失败的时间要 少于1.5分钟 (L,H) 信用卡和事务在99.999%的时间内 是安全的 (L,H) 用户数据局的授权在99.999% 的时 间内是安全的
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
ARID基本介绍
ATAM方法和SAAM方法适合于评估成熟的软件体系
结构。 在软件体系结构发布之前对其进行评估能够及时 发现设计中的错误、不一致或缺陷。 在中间阶段,需要的是一个简单、轻量级的评估 方法,主要关注于系统的适应性,并且能够在没 有详细设计文档的情况下使用。
适应间接场景。 列出为了支持间接场景对软件体系结构必须做的 修改,然后还要估计修改的代价。
步骤5、评估场景交互
当多个间接场景需要修改软件体系结构的某个构
件时,它们就被认为在此构件中进行交互。 场景交互揭示了产品设计中的功能分配 。 场景交互能够暴露出软件体系结构文档的不够 详细,没有达到结构分解的要求。
首席设计师会以恰当的详细程度来介绍软件体系
结构 软件体系结构相关文档的详细程度,可用的时 间,行为和质量需求的实质 软件体系结构视图是设计师用于展示软件体系结 构的主要工具 功能、并发、代码和物理视图
步骤4、确定软件体系结构方法
评估团队会得到软件体系结构方法,但并不会对
其进行分析,评估团队将要求设计人员为任何使 用的软件体系结构方法命名,也将确定任何她们 在上一个步骤中听到的软件体系结构方法。 这些软件体系结构方法定义了系统的关键结构, 描述了系统的成长方式、应对变化的方式、抵抗 攻击的方式、与其它系统集成的方式等等。
ATAM方法步骤
1、ATAM方法介绍 2、商业动机的介绍 3、软件体系结构介绍 4、确定软件体系结构方法 5、产生质量属性效果树 6、分析软件体系结构方法 7、集体讨论并确定场景的优先级 8、再次分析软件体系结构方法 9、展示结果
步骤1、ATAM方法介绍
评估负责人给召集在一起的利益相关人员介绍
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
SAAM基本介绍
第一个具备文档说明并且广泛传播的软件体系结构分析方
法 方法假设 实践人员会定期地对他们的软件体系结构有所声明 SAAM方法的输入 一组场景 SAAM方法的输出 代表系统未来变化的场景到软件体系结构的对应,软 件体系结构中潜在的复杂度高的区域,同时还有对每 个变化工作量的估计; 系统功能的理解,或者不同软件体系结构功能数量的 比较。
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
9.3 SAAM方法
9.4 ARID方法
ATAM基本介绍
ATAM方法能够反映一个软件体系结构满足某些特
定质量目标的程度,同时还能够给出这些质量目 标相互之间的交互方式。 ATAM方法也可对遗留系统进行分析,提高对系统 质量属性的理解。 ATAM方法基本过程(4组) 介绍、调查和分析、测试、报告
步骤6、形成总体评估
根据每个场景对于系统成功的相对重要程度,每
个场景会被赋予一个权重,这个权重常常也与场 景支持的商业目标相关。 权值的决定是一个主观的过程,需要所有的利益 相关人员通过讨论甚至辩论来决定。 如果比较多个软件体系结构,每个支持的直接场 景的数量也会影响评估,因为直接场景意味着无 需修改系统就能够支持某个用户任务。
四个阶段
阶段1(步骤1-3):评估团队在这个阶段被创建,同时评估
组织与需要评估软件体系结构的组织建立合作伙伴关系。 阶段2(步骤4-6):这个阶段以软件体系结构为中心,着重 于获取软件体系结构信息并且对其进行分析。 阶段3 (步骤7-8) :这个阶段以利益相关人员为中心,着 重于获得利益相关人员的观点然后验证第一个阶段的结果。 阶段(步骤9) :在这个阶段中产生最终的报告,计划接下 来的动作,然后评估组织更新其业绩记录和经验基础。
把利益相关人员召集在一起 强制特定质量目标的接合 生成冲突目标的优先级 对软件体系结构有一个清晰的说明 提高软件体系结构文档的质量 发现跨项目重用的机会 得到优化后的软件体系结构实践
评估的益处和代价(2/2)
评估的代价
人员开销 与参加软件体系结构评估的人员相关的机会成本 减小评估代价的方法 在相同领域内的重用
评估结果和质量属性(3/4)
性能

系统响应能力 可靠性 系统随着时间的进行而保持运行的能力 可用性 系统有效工作的时间比例 安全性 系统在为合法用户提供服务的同时抵制未授权的使用 请求和拒绝服务的能力 可变性 快速有效地修改系统的能力
评估结果和质量属性(4/4)
ATAM方法。 ATAM方法中步骤的简要介绍。 介绍评估中使用的获取和分析技术,包括效果树 的生成、基于软件体系结构方法的获取和分析以 及场景的集中讨论和优先级划分。 介绍评估的结果,比如已经划分优先级的场景、 用于理解和评估软件体系结构的问题、一组指定 的软件体系结构方法、一组敏感点和折中点等。
步骤5、产生质量属性效果树
评估团队与项目决策者(软件体系结构团队、项
目经理和客户)一起工作,来确定系统最重要的 质量属性目标,并对它们进行优先级划分和精化 。
性能 数据延迟 交易吞吐量 (M,L) 把客户数据库的存储延迟最小化 到200毫秒 (H,M) 实时地提供视频 (M,M) 最大化授权服务器的平均吞吐量
步骤3、场景的分类和优先级划分
直接场景
场景的进行不需要修改软件体系结构。 通过展示现有的软件体系结构在执行此场景时 的行为来决定。 间接场景 场景没有被直接支持,但存在一些可表示的软 件体系结构的变化来支持场景
步骤4、间接场景的单独评估
设计人员能够描述应该如何修改软件体系结构来
分析中各个成员能够理解的概念,这些软件体系 结构描述除了包括相关连接子,还包括系统的计 算构件和数据构件。 场景的形成和软件体系结构描述通常相互促进 软件体系结构描述的缺乏将强制性地要求利益 相关人员考虑针对当前软件体系结构专门特征 的场景。 场景反映了软件体系结构的需求,从而必须在 软件体系结构描述中实现。
第九章 软件体系结构评估
1
内容
9.1 软件体系结构评估简介
9.2 ATAM方法
相关文档
最新文档