1、软件体系结构试题库软件工程试题和答案1、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。答案:3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。答案:5、构件可以由其他复合构建和原子构件通过连接而成。 ()答案:6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素()答
2、案:8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。答案:11、正交软件体系结构由组织层和线索的构件构成。答案:13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。()答案:14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。答案:16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。答案:
3、18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。答案:19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。答案:21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。答案:23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。答案:29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:30、设计模式的概念最早是由美国的一位计算机专家提出的。答案:X31、利用设计模式可以方便地重用成功的设计和结构。答案:33、在模式目录中,每个模式描述的多少
4、与别的模式无关。答案:36、在体系结构级进行风险评估是更有利于开发阶段的前期评估。() 答案:39、评估方法质量属性中安全性不包括完整性。()答案:41、软件体系结构评估只针对一个体系结构,不可以针对一组体系结构()。 答案:43、软件重用长期以来一直是软件工程界不断追求的目标。()答案:2、填空题1、软件元素包括程序代码、设计文档、设计过程、需求分析文档、测试用例甚至领域知识。答案:程序代码、测试用例、设计文档、设计过程、需求分析文档2、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构建开发组_、_构建应用组_、_协调组_3、三组成员组成。4、答案:构件开发组、构件应用组、协调组。
5、5、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构建层、通用类构建层、业务类构建层、表现层。答案:系统构件层、通用类构件层、业务构件层、表现层5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。答案:结构模型,动态模型。8、软件体系结构的生命周期模型主要分为需求分析阶段,建立软件体系结构阶段(设计阶段)和实现阶段。答:设计阶段9、软件体系结构应建立于传统的软件开发过程的_需求分析_和_软件设计_阶段之间。答案:需求分析、软件设计11、三层C/S结构风格是由_表示层_、_功能层_和_数据层_构成的。答案:表示层、功能层、数据层12、消息总
6、线对消息过滤提供了_转换_和_阻塞_两种方式。答案:转换、阻塞13、正交软件体系结构由_组织层_和_线索的构建_构成。答案:组织层、线索的构件14、C/S体系结构服务器主要负责有效的管理系统的资源主要负责_数据库安全性的要求_、_数据库访问并发性的控制_、_数据库前端的客户应用的全局数据完整性规则_和数据库的备份与恢复_。答案:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复16、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统描述语言和软件体系结构描述语言。答案:图形表达工具、模块内连接语言、软件体系结构描
7、述语言17、ADL是一种在底层语义模拟支持下的形式化语言。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。答案:表示、演化、细化18、可重用的体系结构描述框架可以从需求、设计、实现和测试四个视点出发描述体系结构。答案:需求视点、设计视点、实现视点、测试视点20、典型的ADL在充分继承和吸收传统程序设计语言的和特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。能力指的是ADL使得其描述的每一个系统元素都有其自己的局部结构。答案:精确性、严格性,组合21、体系结构的动态性分为“_”“_”“_”三类。答案:交互式动态性、结构化动态性、体系结构动态
8、性22、基于构件的动态体统结构模型(CBDSAM)支持运行系统的动态更新。该模型分为三层,分别是应用层、_和_。答案:中间层、体系结构层23、体系结构的动态性主要分为几类:_、_、_。答案:交互式动态性,结构化动态性、体系结构化动态性。24、对动态软件体系结构的形式化描述通常有_、_、_三种方法。答案:图形化方法、进程代数方法、逻辑描述方法25、一个完整的Web服务包括3种逻辑构件:_、_、_。答案:服务提供、服务代理、服务请求29、MVC模式的中的M,V,C分别对应_、_、_三种单词。答案:Model,View,Controller32、设计模式的基本成分包括_、_、_、_。答案:模式名称、
9、问题、解决方案、效果。39、体系结构评估中,一般采用刺激,环境,和_三方面来对场景进行描述。答案:响应40、可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。包括可维护性、可扩展性、可移植性4个方面。答案:结构重组。42、软件重用是为了解决_答案:软件危机43、_的开发是大型软件系统开发的关键环节。答案:软件体系结构44、领域工程阶段的主要任务有_、_和_三个阶段。答案:领域分析、领域设计、领域实现45、软件体系结构设计的主要目的是满足对软件的_。答案:质量需求三、选择题1、软件危机的原因不包括():A、 用户需求不明确B、缺乏正确的理论指导C、软件规模越来越大D、软件复杂度越来越
10、低答案:D2、下列选项中,哪个不是重用组织框构中的主要组成成员:A 协调组B 构件应用组C 构件需求组D 构件开发组答案:C3、常用的软件体系结构评估的方法不包括:4、A体系结构权衡分析法5、B.软件体系结构分析法6、C系统体系结构分析法7、D中间设计的积极评审8、答案:C4、下列选项中,不是软件危机的原因的是:CA、 用户需求不明确B、 缺乏正确的理论指导C、 软件规模越来越小D、 软件的复杂度越来越高P25、不属于软件体系结构的核心模型的最基本的元素是()A构件 B连接件 C配置 D角色答案:D6、选项中不属于“4+1”试图模型的是:()A逻辑视图B物理视图C连接视图D开发视图答案:C7、
11、下列说法错误的一项的是()A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务B:开发视图也称模块视图,主要侧重于软件模块的组织和管理C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性。D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等。答案:D8、Kruchten在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中“4”不包括的视图是()A逻辑视图B开发视图C物理视图D场景视图答案:D9、下列哪个选项是描述系统的静态结构()A.逻辑视图和开发视图B.进程视图和物理视图C.开发视图和物理视图D.开发视
12、图和进程视图答案:A11、正交软件体系结构的有点有()A结构清晰,易于理解B易修改,可维护性强C可移植性强,重用程度大D以上都是答案:D12、C/S系统中,服务器的以下任务中哪一个是错的?()A数据库一致性要求B数据库访问并发性控制C数据库前端的客户应用程序的全局数据完整性规则D数据库的备份与恢复答案:A13、下列哪个不是黑板系统的组成部分?()A.知识源B.黑板数据结构C.控制D.内存答案:D14、与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是()AB/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力BB/S体系结构的系统扩展能力差,但是安全性比较容易控
13、制C采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构DB/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理(OnlineTransactionProcessing,OLTP)应用。答案:A15、以下不是正交软件体系结构优点的是()A.结构清晰,易于理解B.已修改,可维护性强C.可移植性强,重用粒度大D.很大很复杂答案:D16、以下关于软件体系结构描述方法说法错误的是()A. 图形表达工具在软件设计中占据主导地位。B. 由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述。C. 基于软构件的系统描述语
14、言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。D. 软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言。答案:B20、下列选项中关于ADL与其他语言的比较说法中错误的是()A ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中B ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注C ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同D ADL集中在构件的表示上。答案:B29、下面哪个不属于设计模式方法分类()ACoad的面向对象模式B
15、代码模式C框架应用模式D遗传算法答案:D30、一般来说,模式有以下四个基本成分:(?)、问题、解决方案、效果。A模式名称B.?时间C.?地点D.?思想答案:A31、软件体系结构的文档要求与软件开发项目中的其他文档是相似的,下列哪项属于体系结构文档化过程的主要输出结果()A体系结构需求规格说明B体系结构概要设计说明C体系结构详细设计说明D体系结构总体框架说明答案:A33、在设计模式目录下,以下哪种设计模式是关于类的()A答案:A36、在体系结构中,应用于当前环境中有多个构建同时运行的情况,主要用来提高系统性能的结构风格是() A、顺序结构风格B、并行/管道过滤器结构风格C、容错结构风格 D、调用
16、返回结构风格答案:B39、评估方法质量属性中可修改性不包括()。A 可维护性B。可扩展性C完整性D可移植性答案:C40、()是场景中解释或描述风险承担者怎样金发与系统的交互部分。A刺激B环境C响应D互操作答案:A41、软件评估中关注大可修改性包含可维护性,可扩展性,()和结构重组4个方面。A。可用性B。可移植性C。可变性D。互操作性答案:B43、一下哪个不是领域工程阶段的主要任务()。A、领域设计B需求分析C、领域分析D、领域实现答案:B4、名词解释1、软件危机答案:是指计算机软件的开发和维护过程中所遇到的一系列严重问题2、软件重用答案:是指在两次或多次不同的软件开发过程中重复使用相同或相近软
17、件元素的过程。3、构件组装4、答案:构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。5、构件答案:是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。7、场景(scenarios):答:场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。9、软件体系结构答案:软件体系结构是一个设计,它包括所建立系统中的各元素(构件和连接件)的描述、元素之间的交互、指导装配的范例和对范例的约束。10、软件体系结构风格答
18、案:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。13、C2体系结构风格答案:C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络。14、COBRBA接口池答案:COBRBA接口池包括分布计算机环境中所有可用的服务器对象的接口表示它使动态搜索可用服务器的接口,动态构造请求及参数成为可能。17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行
19、为的组合含义。19、构造能力:答案:构造能力指的是ADL能力使用较小的独立体系结构元素来建造大型软件系统。20、ADL:答案:ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型。21、软件体系结构的动态性答案:软件系统在运行时刻的体系结构变动。29、需求答案:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象
20、的设计方案。38、可修改性答案:可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:1可维护性2可扩展性3结构重组4可移植性40、基于场景的评估方法。答:场景是一系列有序地使用或修改系统的步骤。这种评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度。基于场景的评估方式涉及的基本活动包括确定应用领域的功能和软件体系结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度。5、问答题1、纵观软件体系结构技术的发
21、展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段?答案:(1)“无体系结构”设计阶段。以汇编语言进行小规模应用程序开发为特征(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表(4)高级阶段。以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志,由于概念尚不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构上布恩那个发挥重要作用。2、试述下可重用技术对构件库
22、组织方法的几点要求:答案:(1)支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构。(2)不仅要支持精确匹配,还要支持相似构件的查找。(3)不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件。(4)对应用领域具有较强的描述能力和较好的描述精度。(5)库管理员和用户容易使用3、简要概产生软件危机的原因4、答案:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高。5、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽
23、象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。(2)体系结构是风险承担者进行交流的手段。它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。6、体系结构的生命周期模型分为哪几个阶段?答案:1、需求分析阶段2、建立软件体系结构阶段3、设计阶段4、实现阶段7、软件体系结构是必需,软件体系结
24、构的生命周期分为哪几个阶段?答:软件体系结构的生命周期可以分为需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段四个阶段。8、请简述软件体系结构的生命周期。答:以自然语言进行软件结构的非形式化描述,接着运用合适的形式化数学理论模型对上一阶段的非形式化描述进行规范定义,从而得到软件形式结构的形式化规范描述。对设计好的软件体系结构进行验证和求精,直到不需要进行求精验证时,转入软件体系结构的实施。在此阶段将软件结构实施于系统设计中,并将其结构的构件和连接件有机组织在一起。判断软件体系结构是否需要扩展,演化。需要从则重复以上步骤,否则对该体系结构进行评价、度量,转入终结阶段。11、试阐述与C/S体
25、系结构相比,B/S体系结构的不足之处。答案:1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;2、B/S体系结构的系统扩展能力差,安全性难以控制;3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的地低于C/S体系结构;4、B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。12、C/S系统中客户端应用程序有哪些主要任务?答案:1、提供用户与数据库的交互界面2、向数据库服务器提交用户请求并接受来自数据库服务器的信息3、利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。14、请简述三层C/S结构的优点答案:1、允许合
26、理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性。2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比4、允许利用功能层有效的隔离开表示层和数据层,未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制18、在C2中,连接件和构件是如何工作的?答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交
27、换信息。每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息。构件之间的消息交换不能之间进行,而只能通过连接件来完成。29、设计模式的基本成分有哪4条?答案:1、模式名称2、问题3、解决方案4、效果31、软件工程的研究主要有哪三个方向?答案:1、软件过程分析和建模;2、软件过程支持;3、软件过程评估和改进。32、简述一下演化开发阶段的八个步骤?答案:需求变动归类。制订体系结构演化计划修改、增加或删除构件。更新构件的相互作用。产生演化后的体系结构迭代。对以上步骤进行确认,进行阶段性技术评
28、审。对所做的标记进行处理。33、设计模式可以分为几类?答案:创建型、结构型、行为型。1.什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。跟其他语言的比较:构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;重用能力:ADL使得组成软件系统的构件、连接件甚至是软件
29、体系结构都成为软件系统开发和设计的可重用部件;组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;异构能力:ADL允许多个不同的体系结构描述关联存在;分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。2.管道过滤器风格结构特点(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用。(4)系统维护和增强系统性能简单。(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。但是,这样的系统也存在着若干不利因素。(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。(2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。4.什么是设计模式?它与风格、框架有什么区别与联系?设计模式是对通用设计问题的重复解决方案。软件体系结构风格是描述某一特
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1