软件体系结构期末试题+答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. Bank
B. Account
C. Checking
D. Savings(34)
A. Bank
B. Account
C. Checking
5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)
6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式
7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
(36)A. 逻辑构件模型 B. 物理构件模型C. 组件接口模型 D. 系统交互模型(37)A. 逻辑构件模
型 B. 物理构件模型C. 组件接口模型 D. 系统交互模型8.对象管理组织(OMG)基于CORBA基础设施定义了四种构件标准。
其中,(38)的状态信息是由构件自身而不是由容器维护。
(38)A. 实体构件 B. 加工构件C. 服务构件 D. 会话构件
9分布式系统开发中,通常需要将任务分配到不同的逻辑计算层。
业务数据的综合计算分析任务属于(39)。
(39)A. 表示逻辑层 B. 应用逻辑层 C.数据处理层 D. 数据层
10 在客户机/服务器系统开发中,采用(40)时,应将数据层和数据处理层放置于服
务器,应用逻辑层、表示逻辑层和表示层放置于客户机。
(40)A. 分布式表示结构 B. 分布式应用结构C. 分布式数据和应用结构 D. 分布式数据结构
11.软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。
以下关于软件
架构的描述,错误的是(44)。
(44)A. 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程B. 软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等C. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动D. 软件架构能够指导设计人员和实现人员的工作
12.某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩
家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48)架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器
13 设计模式(44)A 将抽象部分与其实现部分相分离,使它们都可以独立地变化。
下图为该设计模式的类图,其中,(45)D 用于定义实现部分的接口。
(44)A. Bridge(桥接) B. Composite(组合)
C. Facade(外观)
D. Singleton(单例)
(45)A. Abstraction B. ConcreteImplementorA
C. ConcreteImplementorB
D. Implementor
14 以下关于Singleton(单例)模式的描述中,正确的是(46)D 。
(46)A. 它描述了只有一个方法的类的集合
B. 它描述了只有一个属性的类的集合
C. 它能够保证一个类的方法只能被一个唯一的类调用
D. 它能够保证一个类只产生唯一的一个实例
15 (47)A 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(47)A. Adapter(适配器)模式 B. Command(命令)模式
C. Singleton(单例)模式
D. Strategy(策略)模式
16.设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。
(1). 说明系统的若干质量属性,并以场景图的形式分别描述一个可用性场景和一个
安全性场景。
(2). 使用ADD方法说明系统的初步设计。
(3.)描述ATAM方法的步骤。
(4). 选取两个质量属性以表格形式生成质量属性效用树
17.从网上选课系统、文本编辑系统、票务查询系统或正文关键字索引系统这四个系统中任选一个,运用ADD方法设计两个或多个构架方案
18.基于质量属性驱动的设计和基于功能驱动的设计有什么不同效果?
19.阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
一个简单的图形编辑器提供给用户的基本操作包括:创建图形、创建元素、选择元素以及删除图形。
图形编辑器的组成及其基本功能描述如下:
(1)图形由文本元素和图元元素构成,图元元素包括线条、矩形和椭圆。
(2)图形显示在工作空间中,一次只能显示一张图形(即当前图形,current)。
(3)编辑器提供了两种操作图形的工具:选择工具和创建工具。
对图形进行操作时,一次只能使用一种工具(即当前活动工具,active)。
①创建工具用于创建文本元素和图元元素。
②对于显示在工作空间中的图形,使用选择工具能够选定其中所包含的元素,可以选择一个元素,也可以同时选择多个元素。
被选择的元素称为当前选中元素(selected)。
③每种元素都具有对应的控制点。
拖拽选定元素的控制点,可以移动元素或者调整元素的大小。
现采用面向对象方法开发该图形编辑器,使用UML进行建模。
构建出的用例图和类图分别如图3-1和3-2所示。
图3-1 用例图
图3-2 类图
【问题1】(4分)
根据说明中的描述,给出图3-1中U1和U2所对应的用例,以及(1)和(2)处所对应的关系。
【问题2】(8分)
根据说明中的描述,给出图3-2中缺少的C1~C8所对应的类名以及(3)~(6)处所对应的多重度。
【问题3】(3分)
图3-2中的类图设计采用了桥接(Bridge)设计模式,请说明该模式的内涵。
简答题
1. 什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?
2. 管道过滤器风格结构特点
3. 试简述一下软件产品线的双生命周期模型
4. 什么是设计模式?它与风格、框架有什么区别与联系?
5. 软件体系结构测试的内容与准则是什么?
6. 说明Web服务的体系结构模型?它的三个核心协议分别是什么?
7. 什么是软件危机,软件危机的具体表现有哪些?
8. MTTF,MTBF,MTRF分别是什么,它们有什么关系
1.简单介绍基于事件的隐式调用风格,并分析其优缺点。
2.为什么要设计独立性强的模块以及如何判断模块的独立性?
3.简述框架技术的基本特征。
4.简述为什么要学习设计模式?
5.采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点。
6.简述层次结构适用的设计问题。
7.UML的主要内容可归纳为哪两大类?各类中都包括UML中的哪些图形?
1. C. 2 D. 消息传递
3 C. 逻辑视图 D. 部署视图 4.A,B
5. C
6. C. 标准函数库 7 A,B 8.
D
9.B 10.D 11 。
A
12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48)
架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序
D. 解释器 D
13 AD 14 D
1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
希望改变操作界面
代码或配置文件
维护时
用户
修改不产生副作用,在2小时内完成
试图同时登陆系统
平均响应 时间5秒
正常运行
请求被处理
500用户户
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD方法中对模块求精的5个步骤。
答题要点:
a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM方法的步骤。
)
ATAM方法的表述
商业动机的表述
构架的表述
对构架方法进行分类
生成质量属性效用树
分析构架方法
集体讨论并确定场景优先级
再次分析构架方法
结果的表述
4. 选取两个质量属性以表格形式生成质量属性效用树
效用树的表格形式如下表所示。
试题三参考答案(共15分)
【问题1】(4分)
U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)
(1) <<extend>> (2) << extend>>
【问题2】(8分)
C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆
注:C3~C5的答案可以互换;C6~C8的答案可以互换。
(3) 0..1 (4) 1 (5) 1 (6) 1..* 或*
【问题3】(3分)
桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化,对一个抽象的实现部分的修改应该对使用它的程序不产生影响。
1. 什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?
ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。
基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。
其三个基本元素是:构件、连接件、体系结构配置。
跟其他语言的比较:
◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;
◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;
◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;
◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;
◎异构能力:ADL允许多个不同的体系结构描述关联存在;
◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。
2. 管道过滤器风格结构特点
(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;
(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用。
(4)系统维护和增强系统性能简单。
(5)允许对一些如吞吐量、死锁等属性的分析;
(6)支持并行执行。
但是,这样的系统也存在着若干不利因素。
(1)通常导致进程成为批处理的结构。
这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
(2)不适合处理交互的应用。
当需要增量地显示改变时,这个问题尤为严重。
(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
3. 试简述一下软件产品线的双生命周期模型
4. 什么是设计模式?它与风格、框架有什么区别与联系?
设计模式是对通用设计问题的重复解决方案。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
软件框架是整个或部分系统的可重用设计
模式比框架更加抽象
框架是模式的特例化
设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟
利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用
通常成熟的框架包含了多种设计模式
一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式
设计模式与风格两者为近义词,通常情况下可以互相通用
风格主要是指大的,宏观的设计。
模式既可宏观,又可微观。
5. 软件体系结构测试的内容与准则是什么?
内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。
准则:测试覆盖所有的构件及各个构件的接口。
各个连接件的接口、构件之间的直接连接、构件之间的间接连接。
6. 说明Web服务的体系结构模型?它的三个核心协议分别是什么?
Web服务是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。
三个构成元素为:Serverice Broker、Service Provider、Service Requester
三个核心协议:简单对象访问协议SOAP;统一描述、发现和集成协议UDDI;Web服务描述语言WSDL
7. 什么是软件危机,软件危机的具体表现有哪些?
软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
软件危机的表现:
软件成本日益增长
开发进度难以控制
软件质量差
软件维护困难
8. MTTF,MTBF,MTRF分别是什么,它们有什么关系
MTTF(mean time to failure,平均失效前时间) 还叫“正常运行时间”。
MTBF,平均故障间隔时间又称平均无故障时间,指可修复产品两次相邻故障之间的平均时间,记为MTBF
MTTR(mean time to repair),叫“平均修复时间”(即修复一个故障平均需用的时间),也叫“故障停机时间”
MTBF=MTTF+MTTR。