复习题2

发布时间 2023-06-14 20:40:28作者: 苏六来了✨

一、选择题

一、选择题

1、常用的设计模式可分为( )。 [单选题]

A、 创建型、结构型和行为型(正确答案)
B、 对象型、结构型和行为型
C、 过程型、创建型和结构型
D、 抽象型、接口型和实现型

答案:A

 

2、设计模式的原理? ( ) [单选题]

A、 面对实现编程
B、 面向对象编程
C、 面向接口编程(正确答案)
D、 面向组合编程

答案:B

 

3、在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是( )。 [单选题]

A、 可以使用 switch 语句选择驱动程序.
B. 可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题..
C. 可以选择抽象工厂模式实现,且能避免组合爆炸问题.
D. 使用继承的解决方案要比 switch 语句有更多的优势.(正确答案)

答案:D

 

4、以下意图那个是用来描述CHAIN OF RESPONSIBILITY(职责链)? ( ) [单选题]

A、 为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
B、 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
C、 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
D、 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。(正确答案)

答案:D

 

5、以下对"开-闭"原则的一些描述错误的是?( ) [单选题]

A、 "开-闭"原则与"对可变性的封装原则"没有相似性.(正确答案)
B、 找到一个系统的可变元素,将它封装起来,叫"开-闭"原则
C、 对修改关闭: 是其原则之一
D、 从抽象层导出一个或多个新的具体类可以改变系统的行为,是其原则之一

答案:A

 

6、关于继承表述错误的是:( )。 [单选题]

A、 继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B、 超类可以显式地捕获那些公共的属性和方法。子类则通过附加属性和方法来进行实现的扩展。
C、 在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。
D、 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。(正确答案)

答案:D

 

7、功能模型中所有的(A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。

A、数据流图 B、概念模型图 C、状态迁移图 D、事件追踪图

答案:A

 

8、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。

A、问题域分析 B、高层分析 C、实例的建立 D、类的开发

 

9、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。

A、接口 B、消息 C、信息 D、操作

 

10、人们常用的评价软件质量的4个因素是( B )

A.可维护性、可靠性、健壮性、效率 B.可维护性、可靠性、可理解性、效率

C.可维护性、可靠性、完整性、效率 D.可维护性、可靠性、移植性、效率

 

11、 面向对象模型主要由以下哪些模型组成(A)

A对象模型、动态模型、功能模型 B对象模型、数据模型、功能模型

C数据模型、动态模型、功能模型 D对象模型、动态模型、数据模型

 

12、下列几种耦合类型中,耦合性最弱的是( D )。

A、内容型 B、控制型 C、公共型 D、数据型

 

13、以下对开闭原则的描述错误的是(A)。

A.开闭原则与“对可变形的封装原则”没有相似性

B.找到一个系统的可变元素,将它封装起来,叫开闭原则

C.对修改关闭,是其原则之一

D. 从抽象层导出一个或多个新的具体类可以改变系统的行为,是其原则之一

答案:A

 

14、常用的基本设计模式可分为(A)。

A.创建型、结构型和行为型 B.对象型、结构型和行为型

C.过程型、结构型和行为型 D.抽象型、接口型和实现型

 

15、下列属于面向对象基本原则的是(C)。

A.继承 B.封装 C.里氏替换 D.子类复用

 

16、对违反里氏替换原则的两个类,可以采用的候选解决方案正确的是(D)。

A.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。

B.将B到A的继承关系改成组合关系。

C.区分是“is-a”还是“has-a”。如果是“is-a”,可以使用继承关系,如果是“has-a”应该改成组合关系。

D.尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。

 

17、要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是(D)的表述。

A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则

 

18、经典的体系结构风格包括(ABCDE)。改为单选

A:数据流风格 B:调用/返回风格 C:独立构件风格 D:虚拟机风格 E:仓库风格

 

19、分布式方法开发系统的主要优势是(ABCD)。

A:资源共享与开放性 B:并发性与可扩展性 C:容错性与透明性 D:开放性

 

20、Web服务开发生命周期包括:(ABCD)。

A:构建 B:部署 C:运行 D:管理

 

二、判断题

二、判断题

  1. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。 [×]

  2. 模块内的高内聚往往意味着模块间的松耦合。(√ )

  3. UML只能应用于软件系统模型的建立。(X)

  4. “不要和陌生人说话”是迪米特原则的通俗表述。(√)

  5. 依据设计模式思想,程序开发中应优先使用的是创建。 (✗)

  6. 单一职责原则的核心思想是系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。(√)

  7. 依赖倒置原则的核心思想是要依赖于抽象,而不要依赖于具体的实现(√)

  8. 合理的设计模式应该面向对象编程。对

  9. 体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之前进行。[×]

  10. 基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。答案:√

  11. 正交软件体系结构由组织层和线索的构件构成。答案:√

  12. SOA模型具有松散耦合、细粒度服务、标准化接口等特征。答案:×(粗粒度,SOA是一个组件模型)

  13. 层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。答案:×

  14. 云计算真正实现了按需计算,从而有效地提高了对软硬件资源的利用效率。( √ )

  15. 软件体系结构的评估方法主要有调查问卷、检查表、场景、度量、比较5种。( × )

 

 

三、填空题

三、填空题

  1. 结构化分析方法的分析策略是:(自顶向下,逐步求精)

  2. 衡量模块独立性的两个定性标准是:(耦合性和内聚性)

  3. 工厂模式分为(简单工厂、工厂方法、抽象工厂三种类型)

  4. 描述面向对象程序设计的六大基本原则:(单一职责原则,开闭原则,里氏代换、依赖倒置,接口隔离,迪米特)

  5. 设计模式一般都遵循的原则:开闭原则、根据场景设计原则

  6.