高级系统架构师

问答题论基于场景的软件体系结构评估方法 大型复杂软件系统开发所关注的问题之一是质量,在软件系统的早期设计阶段,选择合适的体系结构对系统许多关键质量属性(如可用性、可修改性、性能、安全性、易用性等)起着决定性的影响。不恰当的软件体系结构将给项目开发带来灾难。因此,尽早分析和评估一个系统的体系结构非常重要。软件体系结构分析和评估的目的是为了识别体系结构中潜在的风险,验证系统的质量需求在设计中是否得到体现,预测系统的质量并帮助开发人员进行设计决策。 软件体系结构的评估通常是指评估参与者在评估过程中利用特定评估方

题目
问答题
论基于场景的软件体系结构评估方法 大型复杂软件系统开发所关注的问题之一是质量,在软件系统的早期设计阶段,选择合适的体系结构对系统许多关键质量属性(如可用性、可修改性、性能、安全性、易用性等)起着决定性的影响。不恰当的软件体系结构将给项目开发带来灾难。因此,尽早分析和评估一个系统的体系结构非常重要。软件体系结构分析和评估的目的是为了识别体系结构中潜在的风险,验证系统的质量需求在设计中是否得到体现,预测系统的质量并帮助开发人员进行设计决策。 软件体系结构的评估通常是指评估参与者在评估过程中利用特定评估方法对系统质量属性进行分析与评估。基于调查问卷或检查表的评估和基于场景(Scenarios)的评估是目前主要的两类评估方式。利用场景评估技术进行软件体系结构评估的主流方法包括SAAM(Scenario-based Architecture Analysis Method)、ATAM(Architecture Tradeoff Analysis Method)和CBAM(Cost Benefit Analysis Method)。SAAM方法最初用于比较不同的体系结构,后来用于指导对体系结构的检查,使其主要关注潜在的问题,如需求冲突,或仅从某一参与者观点出发的不全面的系统设计。ATAM方法在揭示出结构满足特定质量目标的同时,也能反映出质量目标之间的联系,从而权衡多个质量目标。CBAM方法可以看做是ATAM方法的补充,在其评估结果上对软件体系结构的经济性进行评估。 请围绕"基于场景的软件体系结构评估方法"论题,依次从以下3个方面进行论述: ①概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作,包括角色、工作内容等。 ②请从评估目的、评估参与者、评估活动或过程、评估结果等几个方面对SAAM或ATAM评估方法进行分析。 ③结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时,采用了什么评估方法,如何具体实施,最终实际效果如何。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

●下列描述中,(17)不是软件体系结构研究的内容。

(17)A.软件体系结构描述语言及工具

B.软件体系结构分析、设计及验证

C.软件开发过程中应遵守的政策和法规

D.特定领域的体系结构


正确答案:C

第2题:

SAAM方法分析评估体系结构的过程包括5个步骤,其顺序为()。() A. 场景开发、体系结构描述、场景交互、单个场景评估、总体评估B. 体系结构描述、场景开发、单个场景评估、场景交互、总体评估C. 场景开发、体系结构描述、单个场景评估、场景交互、总体评估D. 体系结构描述、场景开发、场景交互、单个场景评估、总体评估


正确答案:C
    SAAM方法分析评估体系结构的过程包括5个步骤,其顺序为场景开发、体系结构描述、单个场景评估、场景交互、总体评估。

第3题:

论文:论软件体系结构风格及其应用软件体系结构设计的一个核心问题是如何有效地使用重复的体系结构模式,即达到软件体系结构级的软件重用。软件体系结构风格(Software Architecture Style)是描述软件系统组织方式的常用模式,在实践中已经被多次应用。按照Shaw和Garlan的说法,"一种体系结构风格定义了构件类型和连接件类型的词汇表,以及它们如何组合的约束条件"。体系结构风格通常分为数据流(Data Flow)风格、调用/返回(Call/Return)风格、独立构件(Independent Components)风格、虚拟机(Virtual Machines)风格和仓库(Repositories)风格五大类。在实际应用中,随着软件系统规模的扩大和复杂,一个系统往往会同时使用多类体系结构风格,这些风格可以交叉组合、彼此重叠。请围绕"软件体系结构风格及其应用"论题,依次从以下3个方面进行论述:①概要叙述你参与管理和开发的软件项目及你在其中所担任的主要工作。②请说明以上软件体系结构风格分类中每一类有哪些经典的软件体系结构设计风格,并就其中至少三类论述其具体的软件体系结构风格的构件、连接件类型和组合约束要求等结构特征及其应用特点。③具体阐述你参与管理和开发的项目中在体系结构设计时选择使用软件体系结构风格的情况,包括选择的依据、多个风格组合使用的情况等,以及最终实际效果。


本题考查的重点是软件体系结构的分类,每类风格的构件、连接件和组合约束情况,以及在项目中具体如何根据实际情况选择某一种或几种软件体系结构风格。具体来说,关于"软件体系结构风格及其应用"的论文,大致包括以下几个方面:
①简要叙述你所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
②说明软件体系结构风格分类中每一类有哪些经典的软件体系结构设计风格,并就其中至少三类论述其具体的软件体系结构风格的构件、连接件类型和组合约束要求等结构特征及其应用特点。
③结合项目的实际状况,指出在体系结构设计时选择使用软件体系结构风格的情况,包括选择的依据、多个风格组合使用的情况等,要给出实际的效果及分析。

第4题:

论软件系统架构评估 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。

请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。 2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。 3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。


正确答案:本题内容按模拟题中的“论基于场景的软件体系结构评估方法”组织内容即可,因为目前常用的架构评估方法,均为基于场景的评估方法。
一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
二、架构所关注的质量属性主要包括:性能、可用性、可修改性、安全性。
1、性能
性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。
2、可用性
可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
3、安全性
安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。
4、可修改性
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。
三、架构评估方法主要从SAAM与ATAM中选择。
1、SAAM评估方法
SAAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
(1)评估目的
SAAM (Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则,评估体系结构固有的风险。SAAM 指导对体系结构的检查,使其主要关注潜在的问题点,如需求冲突。SAAM不仅能够评估体系结构对于特定系统需求的使用能力,也能被用来比较不同的体系结构。
(2)评估参与者
风险承担者、记录人员、软件体系结构设计师
(3)评估活动或过程
SAAM分析评估体系结构的过程包括六个步骤,即形成场景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估。
(4)评估结果
SAAM评估的主要有形输出包括:
1)把代表了未来可能做的更改的场景与构架对应起来,显现出构架中未来可能会表现出较高复杂性的地方,并对每个这样的更改的预期工作量做出评估。
2)理解系统的功能,对多个构架所支持的功能和数量进行比较。
如果所评估的是一个框架,SAAM评估将指明框架中未能满足其修改性需求的地方,有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较,明确其中那一个能够较好地满足质量属性需求,而且做的更改较少、不会在未来导致太多的复杂的问题。
2、ATAM评估方法
ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
(1)评估目的
ATAM(Architecture Tradeoff Analysis Method ),即构架权衡分析方法的评估目的是依据系统质量属性和商业需求评估设计决策的结果。ATAM希望揭示出构架满足特定质量目标的情况,使我们更清楚地认识到质量目标之间的联系,即如何权衡多个质量目标。
(2)评估参与者
1)评估小组。该小组是所评估构架项目外部的小组,通常由3~5人组成。该小组的每个成员都要扮演大量的特定角色。他们可能是开发组织内部的,也可能是外部的。
2)项目决策者,对开发项目具有发言权,并有权要求进行某些改变,他们包括项目管理人员,重要的客户代表,构架设计师等。
3)构架涉众(stakeholders)。包括关键模块开发人员、测试人员、用户等。
(3)评估活动或过程
整个ATAM评估过程包括九个步骤,按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果。

第5题:

论基于场景的软件体系结构评估方法

大型复杂软件系统开发所关注的问题之一是质量,在软件系统的早期设计阶段,选择合适的体系结构对系统许多关键质量属性(如可用性、可修改性、性能、安全性、易用性等)起着决定性的影响。不恰当的软件体系结构将给项目开发带来灾难。因此,尽早分析和评估一个系统的体系结构非常重要。软件体系结构分析和评估的目的是为了识别体系结构中潜在的风险,验证系统的质量需求在设计中是否得到体现,预测系统的质量并帮助开发人员进行设计决策。

软件体系结构的评估通常是指评估参与者在评估过程中利用特定评估方法对系统质量属性进行分析与评估。基于调查问卷或检查表的评估和基于场景(Scenarios)的评估是目前主要的两类评估方式。利用场景评估技术进行软件体系结构评估的主流方法包括 SAAM (Scenario-based Architecture Analysis Method)、ATAM (Architecture Tradeoff Analysis Method)和CBAM (Cost Benefit Analysis Method)。SAAM方法最初用于比较不同的体系结构,后来用于指导对体系结构的检查,使其主要关注潜在的问题,如需求冲突,或仅从某一参与者观点出发的不全面的系统设计。ATAM方法在揭示出结构满足特定质量目标的同时,也能反映出质量目标之间的联系,从而权衡多个质量目标。 CBAM方法可以看作是ATAM方法的补充,在其评估结果上对软件体系结构的经济性进行评估。

请围绕“基于场景的软件体系结构评估方法”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作,包括角色、工作内容等。

2.请从评估目的、评估参与者、评估活动或过程、评估结果等几个方面对SAAM或ATAM评估方法进行分析。

3.结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时,采用了什么评估方法,如何具体实施,最终实际效果如何。


正确答案:第一部分 简要叙述所参与管理和开发的软件项目并明确指出在其中承担的主要任务和开展的主要工作。 第二部分 SAAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明。 1.评估目的 SAAM(Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则评估体系结构固有的风险。SAAM指导对体系结构的检查使其主要关注潜在的问题点如需求冲突。SAAM不仅能够评估体系结构对于特定系统需求的使用能力也能被用来比较不同的体系结构。 2.评估参与者 风险承担者、记录人员、软件体系结构设计师。 3.评估活动或过程 SAAM分析评估体系结构的过程包括6个步骤即形成场景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估如下图所示。 (1)形成场景 形成场景是通过集中讨论来实现。使风险承担者在一个友好的氛围中提出一些场景这些场景反映了他们的需求也体现了他们对体系结构将如何实现需求的认识。 (2)描述体系结构 体系结构设计师应该采用参加评估的所有人员都能够充分理解的形式对待评估的体系结构进行适当的描述。这种描述说明系统中的运算和数据构件以及他们之间的联系。除了要描述这些静态特性以外还要对系统在某段时间内的动态特征做出说明。 (3)场景的分类和优先级确定 场景分为直接场景和间接场景(或潜在场景)。直接场景是按照现有体系结构开发出来的系统能够直接实现的场景。与在设计时已经考虑过的需求相对应的直接场景能增进对体系结构的理解促进对诸如性能和可靠性等其他质量属性的研究。 间接场景就是需要对现有体系结构做某些修改才能支持的场景。间接场景对衡量体系结构对系统在演化过程中将出现的变更的适用情况十分关键。通过各种间接场景对体系结构的影响可以确定体系结构在相关系统的生命周期内对不断演化的使用的适应情况。直接场景类似于用例而间接场景有时也叫变更案例。 评估人员通过对场景设置优先级可以保证在评估的有限时间内考虑最重要的场景。这里的“重要”完全是由风险承担者及其所关心的问题确定的。风险承担者通过投票表达所关心的问题。 (4)对间接场景的单个评估 对于直接场景而言体系结构设计师要讲清所评估的体系结构将如何执行这些场景;对于间接场景而言应说明需要对体系结构做哪些修改才能适应间接场景的要求。 对每一个间接场景列出为支持该场景而需要对体系结构所做的改动并估计出这些变更的代价。对体系结构的更改意味着引入某个新构件或新联系或者需要对已有构件或联系的描述进行修改。 (5)评估场景的相互作用 场景的相互作用暴露了设计方案中的功能分配。场景相互作用的多少与结构复杂性、耦合度、内聚性有关。同时场景的相互作用能够暴露出体系结构设计文档未能充分说明的结构分解。 (6)形成总体评估 总体的权衡和评价反映该组织对表现在不同场景中的目标考虑优先级。根据对系统成功的相对重要性来为每个场景设置一个权值。 如果要比较多个体系结构或者针对同一体系结构提出多个不同的方案则可通过对权值的确定来得出总体评价。权值的设置具有很强的主观性所以应该让所有风险承担者共同参与但也应合理组织要允许对权值及其基本思想进行公开讨论。 4.评估结果 SAAM评估的主要有形输出包括以下内容: (1)把代表了未来可能做的更改的场景与构架对应起来显现出构架中未来可能会表现出较高复杂性的地方并对每个这样的更改的预期工作量做出评估。 (2)理解系统的功能对多个构架所支持的功能和数量进行比较。 如果所评估的是一个框架SAAM评估将指明框架中未能满足其修改性需求的地方有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较明确其中那一个能够较好地满足质量属性需求而且做的更改较少、不会在未来导致太多的复杂的问题。 ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。 (1)评估目的 ATAM(Architecture Tradeoff Analysis Method构架权衡分析方法)的评估目的是依据系统质量属性和商业需求评估设计决策的结果。ATAM希望揭示出构架满足特定质量目标的情况使我们更清楚地认识到质量目标之间的联系即如何权衡多个质量目标。 (2)评估参与者 ①评估小组。该小组是所评估构架项目外部的小组通常由3~5人组成。该小组的每个成员都要扮演大量的特定角色。他们可能是开发组织内部的也可能是外部的。 ②项目决策者对开发项目具有发言权并有权要求进行某些改变他们包括项目管理人员重要的客户代表构架设计师等。 ③构架涉众(stakeholders)。包括关键模块开发人员、测试人员、用户等。 (3)评估活动或过程 整个ATAM评估过程包括9个步骤按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果如下图所示。 ①描述介绍ATAM方法。 评估小组负责人向参加会议的风险承担者介绍ATAM评估方法。在这一步中要解释每个人将要参与的过程并预留解答疑问的时间设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息如何描述这些信息将要向谁报告等。 ②描述商业动机。 项目决策者从商业的角度介绍系统的概况。该描述应该包括:系统最重要的功能;技术、管理、经济和政治方面的任何相关限制;与该项目相关的商业目标和上下文;主要的风险承担者;架构的驱动因素。 ③描述体系结构。 首席设计师或设计小组要对体系结构进行详略适当的介绍。在体系结构描述中至少应该包括:技术约束(例如操作系统、硬件、中间件等);要与本系统交互的其他系统;用以满足质量属性要求的体系结构方法。 ④确定体系结构方法。 ATAM评估方法主要通过理解体系结构方法来分析体系结构在这一步由设计师确定体系结构方法由分析小组捕获但不进行分析。 ⑤生成质量属性效用树。 在这一步中评估小组、设计小组、管理人员和客户代表一起确定系统最重要的质量属性目标并对这些质量属性目标设置优先级和细化。即使是体系结构级的分析也不一定是全局的所以评估人员需要集中所有相关人员的精力注意体系结构的各个方面这通常是通过构建效用树的方式来实现的。 效用树的输出结果是对具体质量属性需求的优先级的确定这种优先级列表为 ATAM评估方法的后面几步提供了指导它告诉了评估小组应该把有限的时间花在哪里特别是应该到哪里去考察体系结构的方法与相应的风险、敏感点和权衡点。 ⑥分析体系结构方法。 一旦有了效用树的结果评估小组可以对实现重要质量属性的体系结构方法进行考察。这是通过文档化这些体系结构决策和确定它们的风险、敏感点和权衡点等来实现的。 在这一步中评估小组要对每一种体系结构方法都考察足够的信息完成与该方法有关的质量属性的初步分析。这一步的主要结果是一个体系结构方法或风格的列表与之相关的一些问题以及设计师对这些问题的回答。通常产生一个风险列表、敏感点和权衡点列表。 在这一步结束时评估小组应该对整个体系结构的绝大多数重要方面所做出的关键设计决策、风险列表、敏感点、权衡点有一个清楚的认识。 ⑦讨论和分级场景。 场景在驱动ATAM测试阶段起主导作用。风险承担者进行两项相关的活动:集体讨论用例场景和改变场景。用例场景是场景的一种在用例场景中风险承担者是一个终端用户使用系统执行的一些功能。 一旦收集了若干个场景后必须设置优先级。评估人员通过投票表决的方式来完成每个风险承担者分配相当于总场景数的30%的选择且此数值只入不舍。例如如果共有17今场景则每个风险承担者将拿到6张选票这6张选票的具体使用则取决于风险承担者他可以把这6张票全部投给一个场景或者每个场景2~3张票还可以一个场景一张票等。 ⑧分析体系结构方法。 在收集并分析了场景之后设计师就可把最高级别的场景映射到所描述的体系结构中并对相关的体系结构如何有助于该场景的实现做出解释。 ⑨描述评估结果。 最后要把ATAM分析中所得到的各种信息进行归纳并反馈给风险承担者。这种描述一般要采用幻灯片的形式但也可以在ATAM评估结束以后提交更完整的书面报告。在描述过程中评估负责人要介绍ATAM评估的各个步骤以及各个步骤中得到的各种信息包括商业环境、驱动需求、约束条件和体系结构等。 (4)评估结果 ATAM的评估结果包括以下内容: ①一个简洁的构架表述。 ②表述清楚的业务目标。 ③用场景集合捕获的质量属性。 ④所确定的敏感点和权衡点的集合。例如备份数据库对可靠性质量属性来讲是敏感点性质的设计决策但对性能和可靠性两个质量属性而言它是权衡点性质的设计决策。 ⑤有风险决策和无风险决策。 ⑥风险主题的集合包括: .敏感点(sensitivity points)——与某个质量属性相关的构架决策。 .权衡点(tradeoff points)——与多个质量属性相关的构架决策。 .有风险决策(risk set)——根据所陈述的质量属性需求可能导致不期望结果的构架决策。 .无风险决策(nonrisk set)——根据分析被认为是安全的构架决策。 第三部分 结合你参与的实际工作和项目的实际情况具体阐述你在进行体系结构设计和评估时采用的评估方法和具体实施的过程和步骤并对最终实际效果进行说明。 如果在实际项目实施的时候能利用ATAM方法进行软件体系结构评估并利用 CBAM方法作为ATAM的补充对软件体系结构成本效益等经济性进行评估则更完善。
第一部分 简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 第二部分 SAAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明。 1.评估目的 SAAM(Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则,评估体系结构固有的风险。SAAM指导对体系结构的检查,使其主要关注潜在的问题点,如需求冲突。SAAM不仅能够评估体系结构对于特定系统需求的使用能力,也能被用来比较不同的体系结构。 2.评估参与者 风险承担者、记录人员、软件体系结构设计师。 3.评估活动或过程 SAAM分析评估体系结构的过程包括6个步骤,即形成场景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估,如下图所示。 (1)形成场景 形成场景是通过集中讨论来实现。使风险承担者在一个友好的氛围中提出一些场景,这些场景反映了他们的需求,也体现了他们对体系结构将如何实现需求的认识。 (2)描述体系结构 体系结构设计师应该采用参加评估的所有人员都能够充分理解的形式,对待评估的体系结构进行适当的描述。这种描述说明系统中的运算和数据构件,以及他们之间的联系。除了要描述这些静态特性以外,还要对系统在某段时间内的动态特征做出说明。 (3)场景的分类和优先级确定 场景分为直接场景和间接场景(或潜在场景)。直接场景是按照现有体系结构开发出来的系统能够直接实现的场景。与在设计时已经考虑过的需求相对应的直接场景能增进对体系结构的理解,促进对诸如性能和可靠性等其他质量属性的研究。 间接场景就是需要对现有体系结构做某些修改才能支持的场景。间接场景对衡量体系结构对系统在演化过程中将出现的变更的适用情况十分关键。通过各种间接场景对体系结构的影响,可以确定体系结构在相关系统的生命周期内对不断演化的使用的适应情况。直接场景类似于用例,而间接场景有时也叫变更案例。 评估人员通过对场景设置优先级,可以保证在评估的有限时间内考虑最重要的场景。这里的“重要”完全是由风险承担者及其所关心的问题确定的。风险承担者通过投票表达所关心的问题。 (4)对间接场景的单个评估 对于直接场景而言,体系结构设计师要讲清所评估的体系结构将如何执行这些场景;对于间接场景而言,应说明需要对体系结构做哪些修改才能适应间接场景的要求。 对每一个间接场景,列出为支持该场景而需要对体系结构所做的改动,并估计出这些变更的代价。对体系结构的更改意味着引入某个新构件或新联系,或者需要对已有构件或联系的描述进行修改。 (5)评估场景的相互作用 场景的相互作用暴露了设计方案中的功能分配。场景相互作用的多少与结构复杂性、耦合度、内聚性有关。同时,场景的相互作用能够暴露出体系结构设计文档未能充分说明的结构分解。 (6)形成总体评估 总体的权衡和评价,反映该组织对表现在不同场景中的目标考虑优先级。根据对系统成功的相对重要性来为每个场景设置一个权值。 如果要比较多个体系结构,或者针对同一体系结构提出多个不同的方案,则可通过对权值的确定来得出总体评价。权值的设置具有很强的主观性,所以,应该让所有风险承担者共同参与,但也应合理组织,要允许对权值及其基本思想进行公开讨论。 4.评估结果 SAAM评估的主要有形输出包括以下内容: (1)把代表了未来可能做的更改的场景与构架对应起来,显现出构架中未来可能会表现出较高复杂性的地方,并对每个这样的更改的预期工作量做出评估。 (2)理解系统的功能,对多个构架所支持的功能和数量进行比较。 如果所评估的是一个框架,SAAM评估将指明框架中未能满足其修改性需求的地方,有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较,明确其中那一个能够较好地满足质量属性需求,而且做的更改较少、不会在未来导致太多的复杂的问题。 ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。 (1)评估目的 ATAM(Architecture Tradeoff Analysis Method,构架权衡分析方法)的评估目的是依据系统质量属性和商业需求评估设计决策的结果。ATAM希望揭示出构架满足特定质量目标的情况,使我们更清楚地认识到质量目标之间的联系,即如何权衡多个质量目标。 (2)评估参与者 ①评估小组。该小组是所评估构架项目外部的小组,通常由3~5人组成。该小组的每个成员都要扮演大量的特定角色。他们可能是开发组织内部的,也可能是外部的。 ②项目决策者,对开发项目具有发言权,并有权要求进行某些改变,他们包括项目管理人员,重要的客户代表,构架设计师等。 ③构架涉众(stakeholders)。包括关键模块开发人员、测试人员、用户等。 (3)评估活动或过程 整个ATAM评估过程包括9个步骤,按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果,如下图所示。 ①描述介绍ATAM方法。 评估小组负责人向参加会议的风险承担者介绍ATAM评估方法。在这一步中,要解释每个人将要参与的过程,并预留解答疑问的时间,设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告等。 ②描述商业动机。 项目决策者从商业的角度介绍系统的概况。该描述应该包括:系统最重要的功能;技术、管理、经济和政治方面的任何相关限制;与该项目相关的商业目标和上下文;主要的风险承担者;架构的驱动因素。 ③描述体系结构。 首席设计师或设计小组要对体系结构进行详略适当的介绍。在体系结构描述中,至少应该包括:技术约束(例如,操作系统、硬件、中间件等);要与本系统交互的其他系统;用以满足质量属性要求的体系结构方法。 ④确定体系结构方法。 ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获,但不进行分析。 ⑤生成质量属性效用树。 在这一步中,评估小组、设计小组、管理人员和客户代表一起确定系统最重要的质量属性目标,并对这些质量属性目标设置优先级和细化。即使是体系结构级的分析,也不一定是全局的,所以,评估人员需要集中所有相关人员的精力,注意体系结构的各个方面,这通常是通过构建效用树的方式来实现的。 效用树的输出结果是对具体质量属性需求的优先级的确定,这种优先级列表为 ATAM评估方法的后面几步提供了指导,它告诉了评估小组应该把有限的时间花在哪里,特别是应该到哪里去考察体系结构的方法与相应的风险、敏感点和权衡点。 ⑥分析体系结构方法。 一旦有了效用树的结果,评估小组可以对实现重要质量属性的体系结构方法进行考察。这是通过文档化这些体系结构决策和确定它们的风险、敏感点和权衡点等来实现的。 在这一步中,评估小组要对每一种体系结构方法都考察足够的信息,完成与该方法有关的质量属性的初步分析。这一步的主要结果是一个体系结构方法或风格的列表,与之相关的一些问题,以及设计师对这些问题的回答。通常产生一个风险列表、敏感点和权衡点列表。 在这一步结束时,评估小组应该对整个体系结构的绝大多数重要方面所做出的关键设计决策、风险列表、敏感点、权衡点有一个清楚的认识。 ⑦讨论和分级场景。 场景在驱动ATAM测试阶段起主导作用。风险承担者进行两项相关的活动:集体讨论用例场景和改变场景。用例场景是场景的一种,在用例场景中,风险承担者是一个终端用户,使用系统执行的一些功能。 一旦收集了若干个场景后,必须设置优先级。评估人员通过投票表决的方式来完成,每个风险承担者分配相当于总场景数的30%的选择,且此数值只入不舍。例如,如果共有17今场景,则每个风险承担者将拿到6张选票,这6张选票的具体使用则取决于风险承担者,他可以把这6张票全部投给一个场景,或者每个场景2~3张票,还可以一个场景一张票等。 ⑧分析体系结构方法。 在收集并分析了场景之后,设计师就可把最高级别的场景映射到所描述的体系结构中,并对相关的体系结构如何有助于该场景的实现做出解释。 ⑨描述评估结果。 最后要把ATAM分析中所得到的各种信息进行归纳,并反馈给风险承担者。这种描述一般要采用幻灯片的形式,但也可以在ATAM评估结束以后,提交更完整的书面报告。在描述过程中,评估负责人要介绍ATAM评估的各个步骤,以及各个步骤中得到的各种信息,包括商业环境、驱动需求、约束条件和体系结构等。 (4)评估结果 ATAM的评估结果包括以下内容: ①一个简洁的构架表述。 ②表述清楚的业务目标。 ③用场景集合捕获的质量属性。 ④所确定的敏感点和权衡点的集合。例如,备份数据库,对可靠性质量属性来讲,是敏感点性质的设计决策,但对性能和可靠性两个质量属性而言,它是权衡点性质的设计决策。 ⑤有风险决策和无风险决策。 ⑥风险主题的集合,包括: .敏感点(sensitivity points)——与某个质量属性相关的构架决策。 .权衡点(tradeoff points)——与多个质量属性相关的构架决策。 .有风险决策(risk set)——根据所陈述的质量属性需求,可能导致不期望结果的构架决策。 .无风险决策(nonrisk set)——根据分析被认为是安全的构架决策。 第三部分 结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时采用的评估方法和具体实施的过程和步骤,并对最终实际效果进行说明。 如果在实际项目实施的时候,能利用ATAM方法进行软件体系结构评估,并利用 CBAM方法作为ATAM的补充对软件体系结构成本效益等经济性进行评估,则更完善。

第6题:

●用一系列软件的修改来评价软件体系结构的易修改性,属于基于(18)的软件体系结构评估方式。

(18)A.调查问卷或检查表

B.场景

C.度量

D.实际运行


正确答案:B

第7题:

下列说法中错误的是()

A、软件体系结构只是一种表示,它不是可运行的软件

B、软件体系结构风格和模式可以被应用到其他系统的设计中

C、软件体系结构包含软件构件、这些构件的对外可见的性质以及它们之间的关系

D、软件体系结构中不应包含中间件


正确答案:D

第8题:

下列描述中,()不是软件体系结构研究的内容。

A.软件体系结构描述语言及工具

B.软件体系结构分析、设计及验证

C.软件开发过程中应遵守的政策和法规

D.特定领域的体系结构


参考答案:C
软件体系结构研究的是“一个描述软件系统的子系统和组件,以及它们之间相互关系”,定义软件的内部结构,通过视图可以从不同角度描述软件结构,主要包括逻辑视图(满足功能需求)、过程视图(并发问题)、组件视图(实现问题)、部署视图(分布问题)。

第9题:

架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、(57)、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、(58)描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以(59)作为架构评估的核心概念。 某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致,主要与(60)质量属性相关:“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试,主要与(61)质量属性相关。在识别出上述描述后,通常采用(62)对质量属性的描述进行刻画与排序。在评估过程中,(63)是一个会影响多个质量属性的架构设计决策。

A.可测试性

B.可移植性

C.可用性

D.易用性


正确答案:C
试题前两空考纯概念:架构权衡分析方法是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。题目中提到“某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致。”与用户所熟悉的操作方式,操作界面保持一致,这是一种减轻用户记忆负担,降低学习成本的做法,这有利于提高系统的易用性。“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”,在此处,我们注意到描述的核心落在“支持远程对系统的行为进行控制与调试”上了,而调试是在测试之后精确定位系统错误的一种机制,所以这种做法有利于提高系统的可测试性。最后的两空也是考概念:在识别出上述描述后,通常采用效用树对质量属性的描述进行刻画与排序。在评估过程中,权衡点是一个会影响多个质量属性的架构设计决策。

第10题:

研究软件架构的根本目的是解决软件的复用、质量和维护问题,软件架构设计是软件开发过程中关键一步,因此需要对其进行评估,在这一活动中,评估人员关注的是系统的 ( ) 属性。

A.功能
B.性能
C.质量
D.安全

答案:C
解析:
在架构评估过程中,评估人员关注的是系统的质量属性。主要包括:性能、可靠性、可用性、安全性、可修改性、功能性、可变性、互操作性。

更多相关问题