软件体系结构考试要点 联系客服

发布时间 : 星期日 文章软件体系结构考试要点更新完毕开始阅读d47c6ce0aaea998fcd220e67

一、名词解释

1、B/S 浏览器/服务器,是三层应用结果的一种实现方式。具体结构:浏览器/Web服务器/数据库服务器

2、C/S 客户/服务器,是基于资源不等,且为共享而提出来的,定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。两层C/S结构:服务器(后台)负责数据管理和数据处理,客户机(前台)完成与用户的交互任务。三层C/S体系结构怎么刚加了一个应用服务器,它将应用功能分为表示层、功能层和数据层,在三层C/S结构中,最重要的是中间件。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络

3、HMB:层次消息总线的软件体系结构风格(Hierarchical Message Bus—based Sytle)。 4、DSSA:特定领域的软件体系结构(domain specific software architecture)就是在一个特定的领域中位一组应用提供组织结构参考的标准软件体系结构。

5、ADL:软件体系结构描述语言(Architecture desciription Language)是一种形式化语言,它在底层语义模型的支持下,为软件的概念体系结构建模提供了具体语法和框架。

6、XML :可扩展标记语言(extensible markup language),XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言(Mete)。

7、ATAM:体系结构权衡分析方法(architecture tradeoff analysis method),它是针对系统所使用或修改活动的支持程度,来判断该体系结构针对这一场景所代表的质量需求得满足程度的体系结构评估方法。

8、Web Service :Web服务(Web Service)是一种新的面向服务的体系结构,其中定义了一组标准协议,用于接口定义、方法调用、基于Internet的结构注册以及各种应用的实现。 9、SOA :面向服务的体系结构(Service—Oriented Architecture),是一种新的体系结构。在这种新的体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。SOA有三个主要的抽象级别,分别是操作、服务和业务流程。

10、SOAP :简单对象访问协议(simple object access protocol),SOAP是一个基于XML的再松散分布式环境中交换结构化信息的轻量级协议,它为在一个松散的、分布式环境中使用XUML交换结构化的和类型化得信息提供了一种简单的机制。SOAP规范包括SOAP信封、SOAP编码规则、SOAP RPC 表示和SOAP绑定4部分。

11、WSDL:Web服务描述语言(web services description language),是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。

12、UDDI(Universal Despiption Discovery Intergation) 统一描述、发现和集成协议是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准和规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。 13、SAAM(Software Architecture Analysis Method) 软件体系结构分析方法是最早精心设计并形成文档并得到广泛使用的软件体系结构分析方法 ,他最初是为了评估体系结构的可修改性而设计 。方法简单。

14、MVC风格:(Model-View-Controller style)模型—视图---控制器 风格。主要处理软件用户界面开发中所面临的问题。MVC风格将交互式应用划分为3中构件:视图、模型和控制器,允许为一个模型建立多个视图。

15、Artifact-Driven:制品驱动的体系结构设计方法从方法的制品描述中提取体系结构描述。它的例子包括广为流行的面向对象分析和设计方法OMT和OAD。

16、Use-Case-Driven 用例驱动的体系结构设计方法主要从用例导出体系结构抽象。统一过

程使用的就是一种用例驱动的体系结构设计方法。

17、Domain-Driven 领域驱动:体系结构是从领域模型导出的,领域模型是在领域分析阶段开发的。

18、Pattern-Driven 模式驱动 该方法从模式导出体系结构抽象

19、构件Components是指具有一定功能、可明确辨识的软件单位并且具备以下特点:语义完整、语法正确、有可重用价值

20、连接件Connectors 是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。

21、MTTF 平均失效前时间(Mean Time To Failure)指软件在失效前正常工作的平均统计时间。

22、MTBF (Mean Time Between Failure)平均无故障时间,是指相邻两次故障之间的平均工作时间,也称为平均故障间隔,它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。

23、敏感点 是指会由于体系结构元素的修改而发生显著变化的系统模型参数。 24、权衡点 与多个敏感点有关的体系结构元素。

25、直接场景 直接场景指当前体系结构不经修改即可支持的场景。

26、间接场景 不能直接被当前体系结构支持,为了满足间接场景,需对体系结构进行某种修改。

27、质量属性效用树 以树的形式表现质量属性的细化。根是效用,接下来是质量属性层,再下一层是质量属性具体描述分类,最后一层是具体的场景。

28、XML Schema 负责定义和描述XML文档的结构和内容模式,可以定义XML文档中存在哪些元素以及元素之间的关系,并且可以定义元素和属性的数据类型。 二、问答题(40~50分)

1、理解并比较构件分类的三种方法:关键字分类法、刻面分类法和超文本组织方法,它们是如何组织的?如何在其中检索构件?每种方法各有什么优缺点?

答:(1)关键字分类法:是一种最简单的构件库组织方法,其基本思想是:根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构; 如何检索:系统在图形用户界面上将构件库的关键字树形结构直观的展示给用户,用户通过对树形结构的逐级浏览寻找需要的关键字并提取相应的构件;

优点是简单,易于实现。缺点是在某些场合没有应用价值,因为用户往往无法用构建库中已有的关键字描述期望的构件功能或行为,对库的浏览也容易使用户迷失方向;

(2)刻面分类法:主要思想来源于图书馆学,在刻面分类机制中,定义若干用于刻画构件特征的“面”,每个面包含若干概念,这些概念表述构件在面上的特征。刻面可以描述构件执行的功能,被操作的数据,构件应用的语境或任意其他特征; 如何检索:构造查询、检索构件、对构件进行排序;

优点是易于实现相似构件的查找。缺点是查询时比较麻烦;

(3)超文本组织方法:其主要思想是所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字说明文档中的文字进行匹配,实现构件的浏览式检索; 如何检索:用户首先给出一个或数个关键字,系统在构件的说明文档中进行精确或模糊的语法匹配,匹配成功后,向用户列出相应的构建说明;

优点是超文本组织方法为构造构件和重用构件提供了友好,直接的多媒体方式。由于网状结构比较自由,松散,因此,超文本组织方法比前两种方法更易于修改构件库的结构。缺点是在某些情况下用户难以在超文本浏览过程中正确选取构件;

2、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?

答:软件体系结构定义为构件,连接件和约束。软件体系结构指可预制和可重构的软件框架结构。构件是可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元;连接件也是可预制和可重用的软件部件,是构件之间的连接单元;构件和连接件之间的关系用约束来描述。这样既可以把软件体系结构写成:体系结构=构件+连接件+约束。 3、简要介绍Krutchten的“4+1”视图模型。

答:Krutchten“4+I“视图模型从5个不同的视角包括逻辑视图,进程视图,物理视图,开发视图和场景视图来描述软件体系结构

(1)逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务

(2)开发视图也称为模块视图,主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,如软件开发的容易性,软件的重用和软件的通用性

(3)进程视图侧重于系统的运行特性,主要关注一些非功能性的需求

(4)物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能,规模,可靠性等。解决系统拓扑结构,系统安装,通讯等问题

(5)场景视图,通过它可以将各种视图联系起来,描述不同视图构建之间是如何作用的。 4、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。

答:二层C/S体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。优点:

(1)C/S体系结构具有强大的数据操作的事务处理能力,模型思想简单,易于人们理解和接受;

(2)对软硬件的变化有极大的适应性和灵活性,易于对系统进行扩充和缩小;

(3)将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用; 缺点:

(1)开发成本较高;

(2)客户端程序设计复杂; (3)信息内容和形式单一;

(4)用户界面风格不一,使用繁杂不易推广; (5)软件移植困难;

(6)软件维护和升级困难; (7)新技术不能轻易应用;

三层CS在上面的基础上进行了改造,并增加了一个应用服务器。 优点:

(1)允许合理的划分三层结构的功能,能提高系统和软件的可维护性和可扩展性; (2)具有良好的可升级性和开放性;

(3)应用的各层可以并行开发,可以选择各自最适合的开发语言; (4)为严格的安全管理奠定了坚实的基础;

B/S风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。

优点:

(1)基于B/S体系结构的软件,系统安装,修改和维护全在服务器端解决; (2)提供了异种机,异种网,异种应用服务的联机,联网; 缺点:

(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力; (2)在数据查询等响应速度上,要远远低于C/S体系结构; (3)系统扩展能力差,安全性难以控制;

5、在正交软件体系结构中,什么是完全正交结构?在实际使用时是不是必须严格遵守结构正交?使用正交软件体系结构有什么优点?

答:如果线索是相互独立的,即不同线索中的构件之间没有相互调用,那么这个结构就是完全正交的。在实际使用时不是必须严格遵守结构正交。 优点:

(1)结构清晰,易于理解; (2)易修改,可维护性强; (3)可移植性强,重用粒度大;

6、层次系统结构和基于消息的层次系统结构有什么区别? 答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。

消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。消息是构件之间通信的唯一方式。由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及CORBA.DCOM和EJB规范的系统。

7、体系结构描述语言与程序设计语言有什么区别? 答:ADL与其他的语言比较具有以下能力:

(1)构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统; (2)抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注他们的抽象特性,而不管其具体的实现细节; (3)重用能力:ADL使得组成软件系统的构件,连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件; (4)组合能力:ADL使得其描述的每一系统元素都有其自己的布局结构,这种描述布局结构的特点使得ADL支持软件系统的动态变化组合;

(5)异构能力:ADL允许多个不同的体系结构描述关联存在; (6)分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析;

8、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。

答:Web服务技术核心基于可扩展标记语言XML的标准。包括SOAP、WSDL、UDDI。 SOAP:采用HTTP作为底层通信协议,以RPC作为一致性的调用途径,用XML作为数据传输格式,允许服务提供者和服务请求者通过防火墙在Internet环境下进行交互;

WSDL:定义了一套基于XML的语法,用来将Web Services描述为能够进行消息交换的服务访问点的集合;