一.单选题(10/20分)1.下列哪个属于“4+1”模型中的“1”(C)A.逻辑视图B.进程视图C.场景视图D.物理视图E.开发视图2.下列哪个不属于软件体系结构核心模型中最基本的元素?(D)A.构件B.连接件C.配置D.端口3.下列哪个不属于连接件(C)A.管道B.过程调用C.原子构件D.客户-服务器通信协议4.一个事件的触发就导致了另一模块中的过程的调用,因此,该风格也称为(A)A.隐式调用B.显式调用C.自动调用D.手动调用5.下列不属于软件体系结构描述方法分类的是(D)A.文字表达工具B.数学表达工具C.数字表达工具D.物理表达工具6.下列描述正确的是(B)A.ADL与需求语言的区别在于后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上B.ADL与传统的程序设计语言的构成元素既有许多相同和相似之处,又各自有着很大的不同C.ADL与建模语言的区别在于后者描述的是问题控件,而前者则扎根于解空间中D.以上描述均不正确二.填空题(10/10分)1.软件危机的原因包括用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高。2.软件重用的优点可以提高软件生产率,降低开发成本,缩短开发周期。3.构件分类方法包括关键字分类法、刻面分类法和超文本组织方法。4.组织结构主要由构件开发组、构件应用组和协调组三组成员组成。5.传统的软件开发过程可以划分为问题定义、需求分析、软件设计、软件实现及软件测试等几个阶段。6.需求分析阶段的结果是软件规格说明。7.软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。8.层次系统最广泛的应用是分层通信协议。9.黑板系统主要由三部分组成,分别是知识源、黑板数据结构和控制。10.软件体系结构的第二种描述和表达方法是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(MIL)。三.判断题(10/10分)1.原子构件是可再分的构件(错,原子构件是不可再分的构件)2.构件可以不通过接口与外部环境交互(错,构件只能通过其接口与外部环境交互)3.不过,在某些情况下,服务注册中心是整个模型中的可选角色。(对)4.构件的接口由一组角色组成,连接件的接口由一组端口组成(错,构件的接口由一组端口组成,连接件的接口由一组角色组成)5.软件体系结构的建立应位于软件设计之后,软件实现之前。(错,位于需求分析之前,软件设计之后)6.层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。(对)四.名词解释题(5/15分)1.软件重用软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。2.软件组装软件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。构件组装技术大致可分为基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。3.场景场景可以看做那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。4.软件体系结构描述语言(ADL)参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言。ADL是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素。5.XMLXML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。五.简答题(6/30分)1.构件获取有哪些途径?(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件。(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。(3)从市场上购买现成的商业构件,即COTS(CommercialOff-The-Shell)构件。(4)开发新的符合要求的构件。2.超文本组织方法是怎样的一种方法?超文本组织方法基于全文检索技术。所有构件必须辅以详尽的功能或行为说明文档,说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字与说明文档中的文字进行匹配,实现构件的浏览式检索。3.软件体系结构技术的发展经过了哪四个阶段?(1)无体系结构设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,该阶段以Kruchten提出的“4+1”模型为标志。4.简述软件体系结构的生命周期。(1)软件体系结构的非形式化描述(2)软件体系结构的规范描述和分析(3)软件体系结构的求精及其验证(4)软件体系结构的实施(5)软件体系结构的演化和扩展(6)软件体系结构的提供、评价和度量(7)软件体系结构的终结5.简述隐式调用系统的主要优缺点。优点:为软件重用提供了强大的支持;为改进系统带来了方便。缺点:构件放弃了对系统计算的控制;数据交换的问题;既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。6.体系结构描述语言(ADL)的三个基本元素是?构件:计算和数据存储单元连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则体系结构配置:描述体系结构的构件与连接件的连接图7.XML的特点简洁有效;易学易用;开放的国际化标准;高效且可扩充8.CSS和XSL分别是什么?CSS之于HTML文档的作用类似于MSWord中的“样式”的作用,可以在某种程度上把HTML文档中的排版格式信息与其他数据信息分离开。XSL是专门用于XML文档的样式单语言,可以把XSL当成一种能够把XML转变成HTML的语言,一种能够筛选和排序XML文档中数据的语言,一种能够根据XML的数据数值格式化XML数据的语言。六.论述题(1/15分)1.软件体系结构的核心模型(1)体系结构的核心模型由哪五种元素组成?构件、连接件、配置、端口和角色(2)画出五种元素的关系图(3)请说出核心模型三个最基本元素的含义构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。连接件表示了构件之间的交互。配置表示了构件和连接件的拓扑逻辑和约束。2.BS风格和CS风格是软件体系结构中非常重要的知识点,请回答下列问题:(1)在C/S结构中,服务器和客户应用程序的主要任务分别是什么?服务器:数据库安全性的要求;数据库访问并发性的控制;数据库前端的客户应用程序的全局数据完整性规则;数据库的备份和恢复。客户应用程序:提供用户和数据库交互的界面;向数据库服务器提交用户请求并接收来自数据库服务器的信息;利用客户应用程序对存在于客户端的数据执行应用逻辑要求。(2)C/S体系结构的优缺点分别是什么?优点:系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适应各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小软件体系结构配置连接件构件端口角色1:N1:N1:N缺点:开发成本较高;客户端程序设计复杂;信息内容和形式单一;用户界面风格不一,使用繁杂,不利于推广使用;软件移植困难;软件维护和升级困难;新技术不能轻易应用。(3)在三层C/S体系结构中,各层的作用分别是什么?表示层负责处理用户的输入和向客户的输出。功能层负责建立数据库的连接,根据用户的请求生成访问数据库的SQL语句,并把结果返回给客户端。数据层负责实际的数据库存储和检索,响应功能层的数据处理请求,并将结果返回给功能层。(4)与C/S体系结构相比,B/S体系结构有什么不足之处?B/S体系结构缺乏对动态页面的支持能力,没有集成有效地数据库处理功能。B/S体系结构的系统扩展能力差,安全性难以控制。采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构。B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理。3.(1)SOA是什么?SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。(2)简述一下SOA设计原则明确定义的接口。服务请求者依赖于服务规约来调用服务,因此,服务定义必须长时间稳定,尽可能明确,并不要让请求者看到服务内部的私有数据。自包含和模块化。服务封装了那些在业务上稳定、重复出现的活动和构件,实现服务的功能实体是完全独立自主的。粗粒度。服务数量不应该太多,依靠消息交互而不是远程过程调用,通常消息量比较大,但是服务之间的交互频度较低。松耦合。服务请求者可见的是服务的接口,其位置、实现技术、当前状态和私有数据等,对服务请求者而言是不可见的。互操作性、兼容和策略声明。为了确保服务规约的全面和明确,策略成为一个越来越重要的方面。(3)SOA的关键技术有哪些?服务栈主要技术发现服务层UDDI、DISCO描述服务层WSDL、XMLSchema消息格式层SOAP、REST编码格式层XML传输协议层HTTP、TCP/IP、SMTP(4)Web服务有哪三个组成部分?服务提供者。服务提供者是服务的所有者,该角色负责定义并实现服务,使用WSDL对服务进行详细、准确、规范的描述,并将该描述发布到服务注册中心,供服务请求者查找并绑定使用。服务请求者。服务请求者是服务的使用者。从体系结构的角度来看,服务请求者是查找、绑定并调用服务,或与服务进行交互的应用程序。服务注册中心。服务注册中心是连接服务提供者和服务请求者的纽带,服务提供者在此发布他们的服务描述,而服务请求者在服务注册中心查找他们需要的服务。(5)SOAP是什么?主要包括哪几个部分?SOAP以XML形式提供一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。主要包括SOAP封装结构,SOAP编码规则,SOAPRPC表示和SOAP绑定。