软件体系结构试题(试题+答案)
[精选]软件体系结构期末试题+答案资料
![[精选]软件体系结构期末试题+答案资料](https://img.taocdn.com/s3/m/e9bf54e5b14e852458fb579b.png)
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.以下关于系统性能的叙述中,不正确的是(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)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。
软件体系结构期末试题整理 配套答案

1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。
A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48) 架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD 方法中对模块求精的5个步骤。
答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM 方法的步骤。
)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户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的答案可以互换。
软件体系结构试题(试题+答案)

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 )原则的典型应用。
软件设计架构试卷试题(附答案)

一、选择题(每题2分,共24分)1.以下关于构造函数的说法,其中错误的是( B )A.构造函数的函数名必须与类名相同B.构造函数可以指定返回类型C.构造函数可以带有参数D.构造函数可以重载2.类的构造函数是在( B )调用的。
A. 类创建时B. 创建对象时C. 删除对象时D. 不自动调用3.在以下关于方法重载的说法,其中错误的是( D )A.方法可以通过指定不同的返回值类型实现重载B.方法可以通过指定不同的参数个数实现重载C.方法可以通过指定不同的参数类型实现重载D.方法可以通过指定不同的参数顺序实现重载4.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应该将该方法声明为( D )A.sealedB.publicC.virtualD.override5.( D )表示了对象间的is-a的关系。
A. 组合B. 引用C. 聚合D. 继承6.关于单一职责原则,以下叙述错误的是( C )。
A.一个类只负责一个功能领域中的相应职责B.就一个类而言,应该有且权有一个引起它变化的原因C.一个类承担的职责越多,越容易复用,被复用的可能性越大D.一个类承担的职责过多时需要将职责进行分离,将不同的职责封装在不同的类中7.某系统通过使用配置文件,可以在不修改源代码的情况下更换数据库驱动程序,该系统满足( B )A. 里氏代换原则B. 接口隔离原则C. 单一职责原则D. 开闭原则8.一个软件实体应尽可能少地与其他软件实体发生相互作用,这样,当一个模块修改时,就会尽量少的影响其他模块,扩展会相对容易。
这是( A )的定义。
A. 迪米特法则B. 接口隔离原则C. 里氏代换原则D. 合成复用原则9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( A )模式。
A.创建型B.结构型 C行为型 D.以上都可以10.在观察者模式中,表述错误的是( C )A.观察者角色的更新是被动的。
软件设计与体系结构练习题参考答案

一、选择题CDABC DABCC ACDCC BADCA DDCBC ADBDA二、判断题√√X√√√√X X√X√√√X X X X X√√X√ X X X三、简答题1、简述实体类的概念及其作用。
实体类实现所谓的对象关系映射(Object Relational Mapping,简称ORM),是为了解决面向对象的类与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。
本质上就是将数据从一种形式转换到另外一种形式。
简单地说,就是描述一个业务实体的类。
实体类对象是现实世界中实体对象在计算机中的表示,在层与层之间以及层内模块间进行数据传输。
2、敏捷开发宣言。
我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法,通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也有其价值,但我们认为左项更加重要。
3、简述XP的短交付周期的概念。
迭代计划: XP项目每两周交付一次可以工作的软件。
每两周的迭代都实现了利益相关者的一些需求,在每次迭代结束时,会给利益相关者演示迭代生成的系统,以得到他们的反馈。
迭代是一次较小的交付,可能会被加入到产品中,也可能不会。
每个周期(Iteration)开发的需求都是用户最需要的东西。
发布计划:XP团队通常会创建一个计划来规划随后大约6次迭代的内容。
一次发布通常需要2-3个月的工作。
它表示了一次较大的交付,通常此次交付会被加入到产品中。
发布计划不是一成不变的,客户可以随时改变计划的内容,他可以取消用户故事,编写新的用户故事,或者改变用户故事的优先级别。
但是客户应该更改后面迭代的内容,尽量不要更改下一次迭代。
4、测试驱动开发的概念及其积极作用。
编写所有产品代码的目的都是为了使失败的单元测试能够通过。
软件架构复习题及答案

不定项选择题:1.开发过程中最困难的一个环节是()。
A需求的收集B需求的分析C体系结构的设计D人员之间思想的交流2.用例是从()的观点对系统行为的一个描述。
A分析员B设计员C程序员D用户3.顺序图所表达的是基于()的动态交互。
A时间B空间C人员D对象4.多重性5,10表示()。
A5到10 B5或10 C5与10 D5对105.在找出了类的继承关系后,通常可以用()来表示最上层的基类。
A密封类B抽象类C接口D包6.使用用例的难点在于()。
A发现高层用例B发现用例之间的包含、扩展关系C研究用例中每个场景的步骤D将用例表示成用例图7.产生类图和得到用例这两个步骤,位于前面的是()。
A产生类图B得到用例C同时进行D没有固定的套式8.面向对象理论中,对象之间发送信号,在UML状态图里就是()。
A状态B变迁C事件D动作9.当代软件工程的特点是()。
A强调无缝集成B开发阶段之间可以重叠C开发阶段之间可以反复迭代D尽可能多花时间在分析和设计上10.GRAPPLE中最重要的段是()。
A需求收集B需求分析C设计D开发11.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A命令B抽象工厂C策略D桥接12.当我们想将抽象部分和实现部分分离时,可以使用()模式。
A工厂方法B抽象工厂C策略D桥接13.面向对象系统中功能复用的两种最常用技术是()。
A类继承 B封装 C对象组合 D关联14.对象组合是通过获得()而在运行时刻动态定义的。
A对象 B对其它对象的引用C关联D继承15.在Lexi系统中,我们把所有文档元素都看作是图元,这样,它们就有了相同的()。
A接口B类型C名称D属性16.一个软件产品是否成功,因素有()。
A完整正确的需求分析B好的体系结构C细致全面的测试D合理的管理17.当需要在项目中定制自己的元素时,可使用()。
A注释B构造型C约束D包18.表示一个操作中的参数和返回值的数据类型的称呼是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 )原则的典型应用。
A.合成聚合复用原则
B.里式代换原则
C.依赖倒转原则
D.迪米特法则
14、静态工厂的核心角色是(a)
A.抽象产品
B.具体产品
C.静态工厂
D.消费者
15、下列关于静态工厂与工厂方法表述错误的是:( a )
A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时
候会修改源代码
B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点
在工厂方法中
C.不能形成静态工厂的继承结构
D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过
相应等级结构的工厂创建的。
16、在观察者模式中,表述错误的是( c )
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观
察者的状态进行。
D.以上表述全部错误。
17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d )
A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移
动到C 中,从而解决A和B 行为不完全一致的问题。
B.将B到A的继承关系改组成委派关系。
C.区分是“IS-a”还是”Has-a”。
如果是“Is-a”,可以使用继承关系,
如果是”Has-a”应该改成委派关系
D.以上方案错误
18.对象组合的有点表述不当的是( d )
A. 容器类仅能通过被包含对象的接口来对其进行访问。
B. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。
C. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合
D.造成极其严重的依赖关系。
19.关于继承表述错误的是:( d )
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)
则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
20.对于依赖倒转的表述错误的是( e )
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调
用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。
而且不必知
道所示用的对象是那个实现类的实例。
E.此题没有正确答案。
21.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以
及(依赖倒转),(迪米特法则),(单一原则),(接口隔离?)。
22.在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方
向集中。
23.适配器模式,分为类的适配器和对象的适配器两种实现。
其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。
24.设计模式的基本要素有(名字),(意图),(问题),(解决方案),
(参与者与协作者),(实现),(一般性结构)。
25.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分
离,从而降低系统的(耦合度)。
26.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型
27.门面模式是(迪米特)法则的典型运用
28.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式
29.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式
的,发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.
UML、设计模式(测试题)
不定项选择题:
1.一个软件产品是否成功,因素有()。
l 需求收集是否正确
2 体系结构的构建是否合理
3 测试是否完全
4 软件的管理
2.开发过程中最困难的一个环节是(人与人之间的交流)。
3.用例是从(用户)的观点对系统行为的一个描述。
4.顺序图所表达的是基于(时间顺序)的动态交互。
5.当需要在项目中定制自己的元素时,可使用(构造型来定制)。
6.表示一个操作中的参数和返回值的数据类型的称呼是(形构)。
7.多重性5,10表示( 5或者10 )。
8.在找出了类的继承关系后,通常可以用(接口)来表示最上层的基类。
9.UML中的实现是一种特殊类型的继承,因为它是指从一个(接口)继承。
10.使用用例的难点在于(用例中各个场景的具体步骤)。
11.收集用例的方法是(交谈)。
12.产生类图和得到用例这两个步骤,位于前面的是(没有固定顺序)。
13.面向对象理论中,对象之间发送信号,在UML状态图里就是(事件)。
14.顺序图中,动态创建对象表示法的特点是(是在时间线上的某一点创建,结束时尾部打X)。
15.当代软件工程的特点是()。
l 允许各个阶段进行迭代
2 各个阶段没有明显的分界线
3 允许后期得到的信息返回,使得早期的能够被修改。
16.GRAPPLE 中最重要的段是()。
l 需求收集
2 需求分析。