《软件体系结构》期末复习题 下载本文

内容发布更新时间 : 2024/4/26 4:31:50星期一 下面是文章的全部内容请认真阅读。

《软件体系结构》期末复习题

简答题:

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.以上都不是