软件体系结构试题与解答
[精选]软件体系结构期末试题+答案资料
1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。
(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。
(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
(完整版)软件体系结构复习题及答案
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
软件体系结构考试试题
软件体系结构考试试题一、选择题(每题 2 分,共 20 分)1、以下哪种软件体系结构风格强调将系统分解为多个独立的子系统,每个子系统都具有特定的功能和接口?()A 管道过滤器风格B 分层风格C 客户服务器风格D 仓库风格2、在软件体系结构中,以下哪个不是评估软件质量的重要属性?()A 可维护性B 可扩展性C 开发成本D 性能3、哪种架构视图主要关注系统的逻辑结构和组件之间的关系?()A 逻辑视图B 开发视图C 进程视图D 物理视图4、以下哪种模式用于解决软件系统中并发访问共享资源的问题?()A 观察者模式B 单例模式C 责任链模式D 线程同步模式5、软件体系结构的设计原则不包括以下哪一项?()A 高内聚低耦合B 开闭原则C 依赖倒置原则D 快速开发原则6、以下关于微服务架构的描述,错误的是?()A 每个微服务都可以独立部署B 微服务之间通过轻量级的通信机制进行通信C 微服务架构适合小型应用系统D 微服务架构可以提高系统的可扩展性7、哪种架构风格适用于实时系统?()A 事件驱动风格B 解释器风格C 黑板风格D 以上都不是8、在软件体系结构中,以下哪个不是组件的重要特征?()A 接口B 实现C 依赖关系D 版本号9、以下哪种架构模式可以提高系统的容错性?()A 主从模式B 对等模式C 分布式模式D 以上都是10、以下关于软件体系结构描述语言(ADL)的说法,正确的是?()A 可以精确地描述软件体系结构B 不能描述软件体系结构的动态特性C 只适用于特定的软件开发方法D 以上都不对二、填空题(每题 2 分,共 20 分)1、软件体系结构的三要素包括_____、_____和_____。
2、常见的软件体系结构风格有_____、_____、_____等。
3、架构评估的方法包括_____、_____和_____。
4、分层架构中,每一层都为上一层提供_____,同时使用下一层提供的_____。
5、客户端服务器架构中,服务器通常负责_____,客户端负责_____。
软件体系结构试题库软件工程试题和答案
一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的;答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找;答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性;答案:√5、构件可以由其他复合构建和原子构件通过连接而成;答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色;其中,构件、连接件和配置是最基本的元素答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单;答案:×11、正交软件体系结构由组织层和线索的构件构成;答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能;答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用;答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具;答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行;答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言;答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层;答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层;答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的;答案:X31、利用设计模式可以方便地重用成功的设计和结构;答案:√33、在模式目录中,每个模式描述的多少与别的模式无关;答案:√36、在体系结构级进行风险评估是更有利于开发阶段的前期评估;答案:×39、评估方法质量属性中安全性不包括完整性;答案:×41、软件体系结构评估只针对一个体系结构,不可以针对一组体系结构;答案:×43、软件重用长期以来一直是软件工程界不断追求的目标;答案:√二、填空题1、软件元素包括程序代码、设计文档、设计过程、需求分析文档、测试用例甚至领域知识;答案:程序代码、测试用例、设计文档、设计过程、需求分析文档2、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构建开发组_____、_构建应用组______、_协调组________3、三组成员组成;4、答案:构件开发组、构件应用组、协调组;5、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构建层、通用类构建层、业务类构建层、表现层;答案:系统构件层、通用类构件层、业务构件层、表现层5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型;答案:结构模型,动态模型;8、软件体系结构的生命周期模型主要分为需求分析阶段,建立软件体系结构阶段设计阶段和实现阶段;答:设计阶段9、软件体系结构应建立于传统的软件开发过程的_需求分析_______和_软件设计_______阶段之间;答案:需求分析、软件设计11、三层C/S结构风格是由__表示层_______、__功能层_______和_数据层_________构成的;答案:表示层、功能层、数据层12、消息总线对消息过滤提供了___转换_____和___阻塞________两种方式;答案:转换、阻塞13、正交软件体系结构由__组织层__和__线索的构建___构成;答案:组织层、线索的构件14、C/S体系结构服务器主要负责有效的管理系统的资源主要负责_数据库安全性的要求________、__数据库访问并发性的控制_______、_数据库前端的客户应用的全局数据完整性规则________和数据库的备份与恢复_________;答案:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复16、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统描述语言和软件体系结构描述语言;答案:图形表达工具、模块内连接语言、软件体系结构描述语言17、ADL是一种在底层语义模拟支持下的形式化语言;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;答案:表示、演化、细化18、可重用的体系结构描述框架可以从需求、设计、实现和测试四个视点出发描述体系结构;答案:需求视点、设计视点、实现视点、测试视点20、典型的ADL在充分继承和吸收传统程序设计语言的和特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性;能力指的是ADL使得其描述的每一个系统元素都有其自己的局部结构;答案:精确性、严格性,组合21、体系结构的动态性分为“_________”“_________”“_________”三类;答案:交互式动态性、结构化动态性、体系结构动态性22、基于构件的动态体统结构模型CBDSAM支持运行系统的动态更新;该模型分为三层,分别是应用层、_________和________________;答案:中间层、体系结构层23、体系结构的动态性主要分为几类:_________、_________、___________;答案:交互式动态性,结构化动态性、体系结构化动态性;24、对动态软件体系结构的形式化描述通常有______、_______、_________三种方法;答案:图形化方法、进程代数方法、逻辑描述方法25、一个完整的Web服务包括3种逻辑构件:______、______、_______;答案:服务提供、服务代理、服务请求29、MVC模式的中的M,V,C分别对应______、_______、_________三种单词;答案:Model,View,Controller32、设计模式的基本成分包括______________、___________、___________、__________;答案:模式名称、问题、解决方案、效果;39、体系结构评估中,一般采用刺激,环境,和_____三方面来对场景进行描述;答案:响应40、可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;包括可维护性、可扩展性、、可移植性4个方面;答案:结构重组;42、软件重用是为了解决_____答案:软件危机43、________的开发是大型软件系统开发的关键环节;答案:软件体系结构44、领域工程阶段的主要任务有_____、______和______三个阶段;答案:领域分析、领域设计、领域实现45、软件体系结构设计的主要目的是满足对软件的_____;答案:质量需求三、选择题1、软件危机的原因不包括:A、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越大D、软件复杂度越来越低答案:D2、下列选项中,哪个不是重用组织框构中的主要组成成员:A.协调组B.构件应用组C.构件需求组D.构件开发组答案:C3、常用的软件体系结构评估的方法不包括:A体系结构权衡分析法B.软件体系结构分析法C系统体系结构分析法D中间设计的积极评审答案:C4、下列选项中,不是软件危机的原因的是:CA、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越小D、软件的复杂度越来越高P25、不属于软件体系结构的核心模型的最基本的元素是A构件B连接件 C配置D角色答案:D6、选项中不属于“4+1”试图模型的是:A逻辑视图B物理视图C连接视图D开发视图答案:C7、下列说法错误的一项的是A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务B:开发视图也称模块视图,主要侧重于软件模块的组织和管理C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性;D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等;答案:D8、Kruchten在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中“4”不包括的视图是A逻辑视图B开发视图C物理视图D场景视图答案:D9、下列哪个选项是描述系统的静态结构A.逻辑视图和开发视图B.进程视图和物理视图C.开发视图和物理视图D.开发视图和进程视图答案:A11、正交软件体系结构的有点有A结构清晰,易于理解B易修改,可维护性强C可移植性强,重用程度大D以上都是答案:D12、C/S系统中,服务器的以下任务中哪一个是错的A数据库一致性要求B数据库访问并发性控制C数据库前端的客户应用程序的全局数据完整性规则D数据库的备份与恢复13、下列哪个不是黑板系统的组成部分A.知识源B.黑板数据结构C.控制D.内存答案:D14、与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是AB/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力BB/S体系结构的系统扩展能力差,但是安全性比较容易控制C采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构DB/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理OnlineTransactionProcessing,OLTP应用;答案:A15、以下不是正交软件体系结构优点的是A.结构清晰,易于理解B.已修改,可维护性强C.可移植性强,重用粒度大D.很大很复杂答案:D16、以下关于软件体系结构描述方法说法错误的是A.图形表达工具在软件设计中占据主导地位;B.由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述;C.基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统;D.软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言;答案:B20、下列选项中关于ADL与其他语言的比较说法中错误的是A.ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中B.ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注C.ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同D.ADL集中在构件的表示上;29、下面哪个不属于设计模式方法分类ACoad的面向对象模式B代码模式C框架应用模式D遗传算法答案:D30、一般来说,模式有以下四个基本成分:、问题、解决方案、效果;A.模式名称B.时间C.地点D.思想答案:A31、软件体系结构的文档要求与软件开发项目中的其他文档是相似的,下列哪项属于体系结构文档化过程的主要输出结果A体系结构需求规格说明B体系结构概要设计说明C体系结构详细设计说明D体系结构总体框架说明答案:A33、在设计模式目录下,以下哪种设计模式是关于类的A.答案:A36、在体系结构中,应用于当前环境中有多个构建同时运行的情况,主要用来提高系统性能的结构风格是A、顺序结构风格B、并行/管道—过滤器结构风格C、容错结构风格D、调用—返回结构风格答案:B39、评估方法质量属性中可修改性不包括;A.可维护性B;可扩展性C.完整性D.可移植性答案:C40、是场景中解释或描述风险承担者怎样金发与系统的交互部分;A.刺激B.环境C.响应D.互操作答案:A41、软件评估中关注大可修改性包含可维护性,可扩展性,和结构重组4个方面;A;可用性B;可移植性C;可变性D;互操作性答案:B43、一下哪个不是领域工程阶段的主要任务;A、领域设计B需求分析C、领域分析D、领域实现答案:B四、名词解释1、软件危机答案:是指计算机软件的开发和维护过程中所遇到的一系列严重问题2、软件重用答案:是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程;3、构件组装4、答案:构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件;5、构件答案:是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体;7、场景scenarios:答:场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象;9、软件体系结构答案:软件体系结构是一个设计,它包括所建立系统中的各元素构件和连接件的描述、元素之间的交互、指导装配的范例和对范例的约束;10、软件体系结构风格答案:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式;13、C2体系结构风格答案:C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络;14、COBRBA接口池答案:COBRBA接口池包括分布计算机环境中所有可用的服务器对象的接口表示它使动态搜索可用服务器的接口,动态构造请求及参数成为可能;17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块;18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图;体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义;19、构造能力:答案:构造能力指的是ADL能力使用较小的独立体系结构元素来建造大型软件系统;20、ADL:答案:ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型;21、软件体系结构的动态性答案:软件系统在运行时刻的体系结构变动;29、需求答案:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现;33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案;38、可修改性答案:可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性;可修改性包括:1可维护性2可扩展性3结构重组4可移植性40、基于场景的评估方法;答:场景是一系列有序地使用或修改系统的步骤;这种评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度; 基于场景的评估方式涉及的基本活动包括确定应用领域的功能和软件体系结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度;五、问答题1、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段答案:1“无体系结构”设计阶段;以汇编语言进行小规模应用程序开发为特征2萌芽阶段;出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征3初期阶段;出现了从不同侧面描述系统的结构模型,以UML为典型代表4高级阶段;以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志,由于概念尚不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构上布恩那个发挥重要作用;2、试述下可重用技术对构件库组织方法的几点要求:答案:1支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构;2不仅要支持精确匹配,还要支持相似构件的查找;3不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件;4对应用领域具有较强的描述能力和较好的描述精度;5库管理员和用户容易使用3、简要概产生软件危机的原因4、答案:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高;5、软件体系结构的定义众多,你是如何理解软件体系结构的软件体系结构在软件系统中有何作用6、答案:1软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成;软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理;2体系结构是风险承担者进行交流的手段;它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计;同时,软件体系结构是可传递和可重用的模型;6、体系结构的生命周期模型分为哪几个阶段答案:1、需求分析阶段2、建立软件体系结构阶段3、设计阶段4、实现阶段7、软件体系结构是必需,软件体系结构的生命周期分为哪几个阶段答:软件体系结构的生命周期可以分为需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段四个阶段;8、请简述软件体系结构的生命周期;答:以自然语言进行软件结构的非形式化描述,接着运用合适的形式化数学理论模型对上一阶段的非形式化描述进行规范定义,从而得到软件形式结构的形式化规范描述;对设计好的软件体系结构进行验证和求精,直到不需要进行求精验证时,转入软件体系结构的实施;在此阶段将软件结构实施于系统设计中,并将其结构的构件和连接件有机组织在一起;判断软件体系结构是否需要扩展,演化;需要从则重复以上步骤,否则对该体系结构进行评价、度量,转入终结阶段;11、试阐述与C/S体系结构相比,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、允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性;2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比4、允许利用功能层有效的隔离开表示层和数据层,未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制18、在C2中,连接件和构件是如何工作的答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息;每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息;构件之间的消息交换不能之间进行,而只能通过连接件来完成;29、设计模式的基本成分有哪4条答案:1、模式名称2、问题3、解决方案4、效果31、软件工程的研究主要有哪三个方向答案:1、软件过程分析和建模;2、软件过程支持;3、软件过程评估和改进;32、简述一下演化开发阶段的八个步骤答案:需求变动归类;制订体系结构演化计划修改、增加或删除构件;更新构件的相互作用;产生演化后的体系结构迭代;对以上步骤进行确认,进行阶段性技术评审;对所做的标记进行处理;33、设计模式可以分为几类答案:创建型、结构型、行为型;1.什么是体系结构描述语言它与程序语言以及UML有哪些区别与联系ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;其三个基本元素是:构件、连接件、体系结构配置;跟其他语言的比较:◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;◎异构能力:ADL允许多个不同的体系结构描述关联存在;◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析;2.管道过滤器风格结构特点1使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;2允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;3支持软件重用;4系统维护和增强系统性能简单;5允许对一些如吞吐量、死锁等属性的分析;6支持并行执行;但是,这样的系统也存在着若干不利因素;1通常导致进程成为批处理的结构;这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;2不适合处理交互的应用;当需要增量地显示改变时,这个问题尤为严重;3因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性;4.什么是设计模式它与风格、框架有什么区别与联系设计模式是对通用设计问题的重复解决方案;软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式;软件框架是整个或部分系统的可重用设计模式比框架更加抽象框架是模式的特例化设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用通常成熟的框架包含了多种设计模式一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式设计模式与风格两者为近义词,通常情况下可以互相通用风格主要是指大的,宏观的设计;模式既可宏观,又可微观;7.什么是软件危机,软件危机的具体表现有哪些软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象;软件危机的表现:软件成本日益增长开发进度难以控制软件质量差。
软件体系结构简答参考答案
软件体系结构简答参考答案简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括⼀个或⼀组软件构件、软件构件的外部的可见特性及其相互关系。
其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使⽤等。
软件体系结构为软件系统提供了⼀个结构、⾏为和属性的⾼级抽象,由构成系统的元素的描述、这些元素的相互作⽤、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显⽰了系统需求和构成系统的元素之间的对应关系,提供了⼀些设计决策的基本原理。
2. 下列图能作为⼀个⽔下声⾳模拟系统的体系结构吗,为什么?答:不能。
原因如下:1)图中的解释在哪⾥?2)构件的定义是什么?什么是连接器?3)⽅块和箭头代表什么?4)图中分布是否合理?5)⽔平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运⾏在不同的处理器上吗?运⾏在不同时间?它们能代表开发分组?还是运⾏时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调⽤?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独⼀层?是说CP能调⽤其他三个元素,⽽不能反过来?还是说CP包含了下⾯三个元素的实现?3. 软件体系结构通常使⽤哪三类结构视图?答:模块视图:分解:将实现代码分解成系统、⼦系统、⼦⼦系统等。
它通常作为开发项⽬组织的基础,包括⽂档结构、集成和测试计划等。
结构中的每个单元通常有与特定组织相关的名字。
使⽤:它是⼀种特定形式的依赖关系。
该使⽤关系将系统分成⼦集,从⽽⽀持增量式开发。
泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在⼀起。
具有相似⾏为或能⼒的模块可以使⽤⼦类的⽅法集成。
类的结构也可⽀持重⽤和增量式丰富功能。
软件体系结构简答参考答案
简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。
原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。
它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。
结构中的每个单元通常有与特定组织相关的名字。
•使用:它是一种特定形式的依赖关系。
该使用关系将系统分成子集,从而支持增量式开发。
•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。
具有相似行为或能力的模块可以使用子类的方法集成。
类的结构也可支持重用和增量式丰富功能。
软件体系结构试题库(软件工程)试题和答案
1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。
软件体系结构简答参考答案
简答及计算题1、请简述软件体系结构的定义答:软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
其中,“软件外部的可见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
2. 下列图能作为一个水下声音模拟系统的体系结构吗,为什么?答:不能。
原因如下:1)图中的解释在哪里?2)构件的定义是什么?什么是连接器?3)方块和箭头代表什么?4)图中分布是否合理?5)水平和垂直线代表什么?6)每个元素的功能和职责是什么?它们是如何划分的?7)每个元素运行在不同的处理器上吗?运行在不同时间?它们能代表开发分组?还是运行时的分组?8)每个元素代表不同对象?不同任务?不同功能?不同进程?它们是分布式的吗?9)元素间联系的强度如何?联系是代表元素间通讯?还是互相控制?相互传递数据?相互调用?相互同步?信息共享?或上述模式的部分组合?通讯的机制如何?信息是如何流动的?10)结构是如何分层的?为什么CP单独一层?是说CP能调用其他三个元素,而不能反过来?还是说CP包含了下面三个元素的实现?3. 软件体系结构通常使用哪三类结构视图?答:模块视图:•分解:将实现代码分解成系统、子系统、子子系统等。
它通常作为开发项目组织的基础,包括文档结构、集成和测试计划等。
结构中的每个单元通常有与特定组织相关的名字。
•使用:它是一种特定形式的依赖关系。
该使用关系将系统分成子集,从而支持增量式开发。
•泛化风格:在类的层次框架下,它表明了不同的代码单元如何关联在一起。
具有相似行为或能力的模块可以使用子类的方法集成。
类的结构也可支持重用和增量式丰富功能。
软件体系结构试题最全试题+答案
1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。
软件体系结构试题与解答
模拟试题(一)第一题:名词解释(每题5分,共20分)1.软件体系结构(Software Architecture)2.软件体系结构风格(Software Architecture Style)3.软件质量属性4.质量属性驱动的设计方法(ADD)第二题:单项选择(每题4分,共20分)1. 下面哪种策略能够用来满足可测试性(Testability)的质量属性?A) 心跳(Heartbeat) B) 模块的抽象化(Generalize the module)C) 记录/重放 D) 授权用户2. “系统在提供服务给合法用户的同时抵制未授权使用的能力”这是哪种质量属性关心的问题?A) 性能 B) 可测试性C) 可移植性 D) 安全性3. 下面哪种视图不属于软件体系结构中定义的“4+1”视图?A) 物理视图 B) 设计视图C) 场景视图 D) 开发视图4. 下面的图是什么图?A) 序列图 B) 组件图C) 对象图 D) 用例图5. 下面的图形描述了何种体系结构风格?A) C/S B) 有序批处理 C) 主程序/子程序 D) 面向对象第三题:简答(每题5分,共20分)1.请描述管道-过滤器体系结构风格的特点并给出适合使用这种风格的一个应用场景。
2.请简要说明黑板风格的定义。
3.请简要说明体系结构权衡分析方法和该方法的特点。
4.什么是“4+1视图”,分别给出每个视图的名称和主要关注点。
软件体系结构分析:效用树(20分)某公司要开发一个在线交易系统,该系统主要关注性能、可更改性、可用性和安全这五个质量属性。
负责开发的团队分析了各个质量属性,设计了一个参考的体系结构。
该团队欲采用效用树技术对体系结构进行评估,下面是相关的场景:●站点1断电后,能够在3秒内完成流量到站点2的迁移;●信用卡交易需要有99.999% 的安全性;●用户的授权数据库需要在 99.999% 的情况下保证可用;●视频必须实时传输;●能够在4人-周内完成对Web用户界面的改变网络失效和恢复必须在1.5分钟内完成;●减少对客户数据库访问的时间至200毫秒以内;请根据以上描述,构建相应的效用树2. 软件体系结构构建(20分)是一家新兴的旅游服务提供商,能够在线为用户提供在线的实时旅游信息服务,包括路线信息,景点介绍,公交线路查询等,其系统的基本的功能如下所示:●用户可以在网站上注册帐号和密码,成为该站点的客户;●客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息;●该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持;●需要集成来自景点的信息提供商的数据库,提供景点信息;●需要集成公交公司的应用系统,提供公交信息查询能力。
软件体系结构答案
《软件体系结构》答案一、填空题(2×18空=36分)1、(方法)、(工具)、和(过程)2、(构件)3、(CORBA(通用对象代理结构))、(EJB)、DCOM(分布式构件对象模型)4、(用户界面类、数据库类)、(核心技术类)5、(构件提交者)、(超级系统管理员)6、(属性)、(服务)、(主题)7、(ADL)8、(模型-视图-控制器)9、(公共对象请求代理)10、(面向对象设计)二、简答题(共64分)1、(10分)答:体系结构设计有两大类方法:过程驱动方法和问题列表驱动方法。
过程驱动方法包括:(1)面向对象方法,与OOA/OOD相似,但更侧重接口与交互;(2)“4+1”模型方法;(3)基于的场景的纸时迭代方法。
基于过程驱动的体系结构设计方法适用范围广,易于裁剪,具备动态特点,通用性与实践性强。
问题列表驱动方法的基本思想是枚举设计空间,并考虑设计维的相关性以此来选择体系结构的风格。
该方法适用于特定的领域,是静态的,并可以实现量化体系结构设计空间。
2、(15分)答:三个组成部分:数据库服务器、客户应用程序和网络。
服务器负责有效的管理系统的资源,其任务集中于:(1)数据库安全性的要求;(2)数据库访问并发性的控制;(3)数据库前端的客户应用程序的全局数据完整性规则;(4)数据库的备份与恢复。
客户应用程序的主要任务是:(1)提供用户与数据库交互的节目;(2)向数据库服务器提交用户请求并接收来自数据库服务器的信息;(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。
网络通信软件的主要作用是完成数据库服务器和客户应用程序之间的数据传输。
3、(15分)答:三层C/S体系结构是将应用功能分成表示层、功能层和数据层三个部分。
(1)表示层是应用的用户接口部分,担负着用户与应用间的对话功能。
它用于检查用户从键盘等设备输入的数据,显示应用输出的数据。
一般使用图形用户界面,操作简单,易学易用。
(2)功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。
完整版软件体系结构期末试题+答案文档良心出品
1. 以下关于系统性能的叙述中,不正确的是(17)。
(17)扎常见的Web 服务器性 能评估方法行基准测试、圧力测试和町靠性测试B.评价Web 服务器的主要性能指标有最人 并发连接数、响应延迟和吞吐最C.对运行系统进行性能评估的主要目的是以更好的性能/ 价格比更新系统D.当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递町定制格式的数 据包,并fl 当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据甫传, 以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21) A.远程过 程调用 B.共享数据库C.文件传输D.消息传递3在RUP 中釆用“巾+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧 重于(26),系统工程师侧重于(27)。
(26) A.实现视图 B.进程视图 C.逻 辑视图 D.部署视图(27) A.实现视图 B.进程视图 C.逻辑视图 D.部署 视图4.某银行系统采用Factory Method 方法描述其不同账户之间的关系,设计出的类图如 F 所示。
其中与Factory Method 中的**Creator *角色相对应的类是(33);与u Product °角色相对应的类是(34) oA. BankB. Account象系统中的对象(Object ) B.模块化程序设计中的子程序(Subroutine ) C.基于构件开发 中的构件(Component ) D.系统模型中的包(Package ) 6软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的 横向垂用机制。
(31) A.对象B.构件C.标准函数库D.设计模式7.在基于构件的软件开发中•(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性c (36) A.逻辑构件模型B.物理构件模型C.组件接II 模型 D.系统交互模型(37) A.逻辑构件模型B.物理构件模型C.组件接口模型D.系统交互模型&对象管理组织(0HG )基于C0RBA®础设施定义了四种构件标准。
软件体系结构考试试题库软件工程考试试题和答案
8、Kruchten在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中“4”不包括的视图是()
A逻辑视图B开发视图C物理视图D场景视图
答案:D
9、下列哪个选项是描述系统的静态结构()
A.逻辑视图和开发视图
B.进程视图和物理视图
C.开发视图和物理视图
D.开发视图和进程视图
4、下列选项中,不是软件危机的原因的是:C
A、用户需求不明确
B、缺乏正确的理论指导
C、软件规模越来越小
D、软件的复杂度越来越高P2
5、不属于软件体系结构的核心模型的最基本的元素是()
A构件B连接件C配置D角色
答案:D
6、选项中不属于“4+1”试图模型的是:()
A逻辑视图
B物理视图
C连接视图
D开发视图
答案:中间层、体系结构层
23、体系结构的动态性主要分为几类:_________、_________、___________。答案:交互式动态性,结构化动态性、体系结构化动态性。
24、对动态软件体系结构的形式化描述通常有______、_______、_________三种方法。
答案:图形化方法、进程代数方法、逻辑描述方法
答案:B
29、下面哪个不属于设计模式方法分类()
A Coad的面向对象模式
B代码模式
C框架应用模式
D遗传算法
答案:D
30、一般来说,模式有以下四个基本成分:()、问题、解决方案、效果。
A.模式名称
B.时间
C.地点
D.思想
答案:A
31、软件体系结构的文档要求与软件开发项目中的其他文档是相似的,下列哪项属于体系结构文档化过程的主要输出结果()
软件体系结构(考试习题集含答案)
1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。
软件体系结构试题库(软件工程)试题和答案
一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的.答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找. 答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具.答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行.答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√29、一般的说,一个模式有一下4个基本成分,1。
模式名称,2。
问题,3。
解决方案,4。
最新软件体系结构复习题及答案资料
概述部分1、请分析软件危机的主要表现和原因。
表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。
软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。
应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。
3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。
它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
4、请简述软件重用的含义和意义。
可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。
(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。
(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。
软件重用是软件产业工业化、工程化的重要手段。
软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。
(意义)5、请简述常用的构件实现模型及其意义。
实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。
符合这些标准的任何构件都有很高的重用能力。
描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。
数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟试题
(一)
第一题:名词解释(每题5分,共20分)
1.软件体系结构(Software Architecture)
2.软件体系结构风格(Software Architecture Style)
3.软件质量属性
4.质量属性驱动的设计方法(ADD)
第二题:单项选择(每题4分,共20分)
1.下面哪种策略能够用来满足可测试性(Testability)的质量属性?
A)心跳(Heartbeat)B)模块的抽象化(Generalize the module)
C)记录/重放D)授权用户
2•“系统在提供服务给合法用户的同时抵制未授权使用的能力”
题?
A)性能B)可测试性
C)可移植性D)安全性
这是哪种质量属性关心的问
3.下面哪种视图不属于软件体系结构中定义的
“ A)物理视图B)设计视图
C)场景视图D)开发视图
4+1 ”视图?
4.下面的图是什么图?
LlUDiU
Rikk
Prk*
Deal
CaphJF*
Du]
ACCOuming
A)序列图C)对象图B)组件图D)用例图
5.下面的图形描述了何种体系结构风格?
A) C/S B)有序批处理C)主程序/子程序D)面向对象
第三题简答(每题5分,共20分)
1•请描述管道-过滤器体系结构风格的特点并给出适合使用这种风格的一个应用场景。
2.请简要说明黑板风格的定义。
3.请简要说明体系结构权衡分析方法和该方法的特点。
4.什么是“ 4+1视图”,分别给出每个视图的名称和主要关注点。
软件体系结构分析:效用树(20分)
某公司要开发一个在线交易系统,该系统主要关注性能、可更改性、可用性和安全这五
个质量属性。
负责开发的团队分析了各个质量属性,设计了一个参考的体系结构。
该团队欲
采用效用树技术对体系结构进行评估,下面是相关的场景:
站点1断电后,能够在3秒内完成流量到站点2的迁移;
信用卡交易需要有99.999%的安全性;
用户的授权数据库需要在99.999%的情况下保证可用;
视频必须实时传输;
能够在4人-周内完成对Web用户界面的改变网络失效和恢复必须在 1.5分钟内完成;
减少对客户数据库访问的时间至200毫秒以内;
请根据以上描述,构建相应的效用树
2.软件体系结构构建(20分)
是一家新兴的旅游服务提供商,能够在线为用户提供在线的实时旅游信息
服务,包括路线信息,景点介绍,公交线路查询等,其系统的基本的功能如下所示:
用户可以在网站上注册帐号和密码,成为该站点的客户;
客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息;该公司需要集成来自旅游线路
提供商的数据库,提供旅游线路支持;需要集成来自景点的信息提供商的数据库,提供景点信息;需
要集成公交公司的应用系统,提供公交信息查询能力。
请首先给出一个基于Java EE平台的企业级分布式系统体系结构图,并根据描述给出各个需求应该分别在体系
结构中的哪些部分给予实现。
答案
第一题:名词解释(每题5分,共20分)
1.软件体系结构(Software Architecture)
软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应
关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。
软件体
系结构由组件、连接件和属性组成。
2.软件体系结构风格(Software Architecture Style)
软件体系结构风格
描述一类体系结构
独立于实际问题,强调了软件系统中通用的组织结构
在实践中被多次设计、应用
是若干设计思想的综合
具有已经被熟知的特性,并且可以复用
3.体系结构折衷分析方法(ATAM)
体系结构折衷分析(ATAM)是一种通过业务驱动,质量属性、情景等方面进行软件
体系结构评估的方法。
4.质量属性驱动的设计方法(ADD)
质量属性驱动的设计方法(ADD)是一个逐步的方法,用来系统化地为一个系统生成
第一个体系结构设计。
第二题选择题
1. C
2. D
3. B
4. D
5. B
第三题简答(每题5分,共20分)
1.请描述管道-过滤器体系结构风格的特点并给出适合使用这种风格的一个应用场景。
管道-过滤器风格将整个系统的输入输出特性理解为各个过滤器功能的简单合成。
支持功能模块的重用:任意两个过滤器只要相互间所传输的数据格式上达成一致,就可以连接在
一起系统容易维护和扩展:新的过滤器容易加入到系统中,旧的过滤器也可被改进的过滤器
替换。
使用该风格的一个应用场景:Un ix Shell
2.请简要说明黑板风格的定义。
黑板结构是一个六至八层的层次结构,每一层都抽象了与之相邻的较低一层的信息。
知识源代表整个问题求解中的独立的子任务。
每个知识源被组织成一个条件部分和一个动作部分,条件部分规定什么时候知识源可用,
动作部分负责处理相关的黑板元素并产生新的元素。
控制构件作为黑板的监控程序和调度程序;通常将黑板知识源应用到黑板中各种元素具
有优先次序,调度程序负责监控黑板和计算的优先次序。
3.请简要说明体系结构权衡分析方法和该方法的特点。
体系结构权衡分析(ATAM )就是一种进行评估的方法,ATAM是一种帮助参与者
(stakeholder提出正确的问题来发现潜在的有问题的体系结构设计决定的方法。
发现的风险能
够使得人员关注迁移活动:比如:进一步的设计、进一步的分析、原型化。
可以显示地识别和文档化权衡。
ATAM的目标不是提供精确的分析…目标是发现体系结构决定中的风险。
找到体系结构决定和系统属性预测之间的关系。
4•什么是“ 4+1视图”,分别给出每个视图的名称和主要关注点。
“ 4+1 ”的视图模型是Kruchten于1995年提出的用于描述软件体系结构的方式,主要用5个不同的视图:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个视图结合在一起才能
反映系统的软件体系结构的全部内容
第四题:体系结构分析和设计(每题20分,共40分)
1.软件体系结构分析:效用树(20分)
在回答本题时,核心是找出各种属性属于那种质量属性,
并用树状结构给出相应的描述。
畏義麻潼丈曲胆奮:
我夕记黑户萱琶庠苗出的才司妥20(1倉# ©內
在加人业燼左20人月內克虎,
站电1•电后.魁算雀3#由完戒ME昼列站点丄的壬总;
冃堺空数单察員書篡宜LE牛铃巾亶底;
3 SW 99.999^
用户的按損■搭岸割鉴莊9J.99?%的nrsif保证词甲
_毎*系龔上覆30天号峯It#记孝并靈啟特皇脚户的紙僭U程孑热上卓肉廉
91曲豪陡轅支捧矗嵐H弍
2.软件体系结构构建(20分)
Java EE开发的系统是一个分层的分布式应用系统,可以看作一个三层或四层的层次化系统。
其主要的体系结构如下所示:
自上而下依次是
:
客户层:主要用于处理用户交互,其中需求:
用户可以在网站上注册帐号和密码,成为该站点的客户;
客户可以使用浏览器访问网上的站点,搜索并返回感兴趣的景点信息; 的功能在客户层实现;
Web 层,主要处理客户端的一些动作,控制页面跳转等,前面两个需求在
Web 层也均有
实现;
业务层:主要处理实际的业务逻辑;
数据与企业信息集成层,这一层主要处理数据集成以及与现有系统的集成,其中需求
该公司需要集成来自旅游线路提供商的数据库,提供旅游线路支持; 需要集成来自景点的信息提供商的数据库,提供景点信息; 需要集成公交公司的应用系统,提供公交信息查询能力。
对应的功能在数据与信息系统集成层实现。
EE Apbp4iftticin 1
tEE AppritcKii&«i 9 ClitntTw
Cli*n M
idtiM
Strvtr
j**tEE Ap01Lc4ti4^i 9
Dyiiii^c HTWL 衍严
*spc*ioi 亡
hfn :
(Q。