篇一:《软件体系结构》期末复习题
《软件体系结构》期末复习题
简答题:
1、软件体系结构建模的种类有:
结构模型、框架模型、动态模型、过程模型、功能模型。
2、“4+1”视图模型从5个不同的视角包括:
逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。连接件:表示构件之间的交互。
配置:表示构件和连接件的拓扑逻辑和约束。
端口:表示构件和外部环境的交互点。
角色:定义了该连接交互的参与者。
4、画出“4+1”视图模型图,分析各部分的原理和功能。
5、软件体系结构风格:
是描述某一特定应用领域中系统组织方式的惯用模式。
6、软件体系结构
(Software Architecture)
软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。 软件体系结构由组件、连接件和属性组成。
7、分层系统的优点有:
1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;
2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;
3)支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可以定义一组标准的接口,而允许各种不同的实现方法。
8、分层系统的缺点有:
1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;
2)很难找到一个合适的、正确的层次抽象方法。
9、 B/S体系结构的优点有什么?
答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
10、B/S体系结构的缺点有什么?
答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
2)B/S体系结构的系统扩展能力差,安全性难以控制。
3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。
4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。
11、DSSA
答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构
11、软件体系结构的动态性主要分为:
交互式动态性、结构化动态性、体系结构动态性等三类。
12、请画出基于构件的动态系统结构模型画。
13、软件产品线
产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的
14、SOA
即service-oriented architecture,面向服务架构。它是一个组件模型,它
将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接
口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于
实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的
系统中的服务可以以一种统一和通用的方式进行交互。
14、RIA
15、中间件
15、设计模式
答:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。
15、软件体系结构测试和传统软件测试区别
16、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。
答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
17. 管道过滤器风格结构特点
(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;
(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用。
(4)系统维护和增强系统性能简单。
(5)允许对一些如吞吐量、死锁等属性的分析;
(6)支持并行执行。
但是,这样的系统也存在着若干不利因素。
(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
(2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。
(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
18. 什么是设计模式?它与风格、框架有什么区别与联系?
设计模式是对通用设计问题的重复解决方案。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
软件框架是整个或部分系统的可重用设计
模式比框架更加抽象
框架是模式的特例化
设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟
利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用
通常成熟的框架包含了多种设计模式
一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式
设计模式与风格两者为近义词,通常情况下可以互相通用
风格主要是指大的,宏观的设计。模式既可宏观,又可微观。
19. 软件体系结构测试的内容与准则是什么?
内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。
准则:测试覆盖所有的构件及各个构件的接口。各个连接件的接口、构件之间的直接连接、构件之间的间接连接。
20、请简述MVC,介绍各自的作用和用途。
答案:MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制
Controller)。MVC模式的目的就是实现Web系统的职能分工。
Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。
View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。
Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。
选择题
1、设计模式一般用来解决什么样的问题( A )
A.同一问题的不同表相 B不同问题的同一表相
C.不同问题的不同表相 D.以上都不是
2、下列属于面向对象基本原则的是( C )
A.继承 B.封装C.里氏代换 D都不是
3、Open-Close原则的含义是一个软件实体( A )
A.应当对扩展开放,对修改关闭.
B.应当对修改开放,对扩展关闭
C.应当对继承开放,对修改关闭
D.以上都不对
5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( D )的表述
A.开-闭原则
B.接口隔离原则
C.里氏代换原则
D.依赖倒转原则
7、设计模式的两大主题是( D )
A.系统的维护与开发 B 对象组合与类的继承
C.系统架构与系统开发 D.系统复用与系统扩展
9、下列模式中,属于行为模式的是( B )
A.工厂模式 B观察者 C适配器D 以上都是
10、常用的软件体系结构评估的方法不包括( C )。
A体系结构权衡分析法B.软件体系结构分析法
C系统体系结构分析法D.中间设计的积极评审
11、不属于软件体系结构的核心模型的最基本的元素是 ( D )
A 构件 B 连接件C 配置 D 角色
12、选项中部属于“4+1”试图模型的是:( C )
A 逻辑视图 B 物理视图 C 连接视图 D 开发视图
13、下列说法错误的一项的是( D )
A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务
B:开发视图也称模块视图,主要侧重于软件模块的组织和管理
C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性。
D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等。
14、在三层C/S体系结构中,_________是最重要的构件。( A )
A 中间件 B 末尾件
C 功能层 D 数据层
15、C/S系统中,服务器的以下任务中哪一个是错的?( A )
A 数据库一致性要求
B 数据库访问并发性控制
C 数据库前端的客户应用程序的全局数据完整性规则
D 数据库的备份与恢复
16、 与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是( A )
A B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力
B B/S体系结构的系统扩展能力差,但是安全性比较容易控制
C 采用B/S架构构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构
D B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理(Online Transaction Processing,OLTP)应用。
17、以下关于软件体系结构描述方法说法错误的是(B)
A图形表达工具在软件设计中占据主导地位。
B由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述。
C基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。
D软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言。
18、下列选项中关于ADL与其他语言的比较说法中错误的是( B )
ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中
ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注
ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同
ADL集中在构件的表示上。
19、对动态软件体系结构的形式化描述通常可以采用的方法?( D )
A、图形化方法B、代数进程方法 C、逻辑方法D、以上皆是
20、以下哪些特征不属于动态体系结构特征( D ) ?
A 可构造性动态特征
B 适应性动态特征
C 智能性动态特征
D 安全性动态特征
21、通常,一个Web服务可以分为4个逻辑层,分别为数据层(Data Layer)、数据访问层(Data Access Layer)、 业务层(Business Layer)和监听者(Listener)。离客户端最近的是监听者,离客户最远的是______:( A )
A 数据层(Data Layer)
B 数据访问层(Data Access Layer)
C 业务层(Business Layer)
D 监听者(Listener)