计算机软件架构与设计知识考点汇总.doc
计算机软件架构与设计知识考点汇总
姓名_________________________地址_______________________________学号______________________
-------------------------------密-------------------------封----------------------------线--------------------------
1.请首先在试卷的标封处填写您的姓名,身份证号和地址名称。
2.请仔细阅读各种题目,在规定的位置填写您的答案。
一、选择题
1.下列哪个不是软件架构的四个主要维度?
A.功能
B.可靠性
C.可维护性
D.可扩展性
答案:D
解题思路:软件架构的四个主要维度包括功能、可靠性、可维护性和安全性,而可扩展性是近年来逐渐被纳入讨论的一个维度。因此,D选项不是传统意义上的四个主要维度。
2.在软件架构设计中,哪个原则强调在软件架构中尽量减少组件之间的依赖关系?
A.开闭原则
B.依赖倒置原则
C.单一职责原则
D.迪米特法则
答案:B
解题思路:依赖倒置原则(DependenceInversionPrinciple)指出,高层模块不应该依赖于低层模块,两者都应该依赖于抽象。这是减少组件间依赖关系的一种方式。
3.下列哪个设计模式不是创建型模式?
A.工厂方法模式
B.抽象工厂模式
C.建造者模式
D.命令模式
答案:D
解题思路:创建型模式是关于如何创建对象的模式,包括工厂方法模式、抽象工厂模式、建造者模式和原型模式。命令模式是行为型模式,不是创建型模式。
4.在软件架构设计中,哪个原则强调组件间的通信应尽可能简单?
A.单一职责原则
B.开闭原则
C.迪米特法则
D.SOLID原则
答案:C
解题思路:迪米特法则(LawofDemeter)又称最少知识原则,强调组件间的通信应尽可能简单,即一个对象应尽可能少地了解其他对象。
5.下列哪个不是软件架构设计中的关键概念?
A.组件
B.模块
C.服务
D.数据库
答案:D
解题思路:组件、模块和服务都是软件架构设计中的关键概念,用于描述系统的组织结构和功能分布。数据库虽然是软件系统的一部分,但不属于架构设计的核心概念。
6.在软件架构设计中,哪个原则强调组件应该尽可能独立?
A.单一职责原则
B.开闭原则
C.迪米特法则
D.SOLID原则
答案:D
解题思路:SOLID原则中的独立原则(IndependentPrinciple)强调组件应该尽可能独立,降低相互间的依赖性。
7.下列哪个不是软件架构设计中的设计模式?
A.观察者模式
B.状态模式
C.命令模式
D.数据库模式
答案:D
解题思路:观察者模式、状态模式和命令模式都是软件架构设计中的经典设计模式。数据库模式不是设计模式,而是数据库设计时考虑的一种模式。
8.在软件架构设计中,哪个原则强调组件间的依赖关系应该是松散的?
A.单一职责原则
B.开闭原则
C.迪米特法则
D.SOLID原则
答案:C
解题思路:迪米特法则强调组件间的依赖关系应该是松散的,以降低组件间的耦合度。
二、填空题
1.软件架构的四个主要维度是:功能、可靠性、可维护性和安全性。
2.在软件架构设计中,最小化耦合原则强调在软件架构中尽量减少组件之间的依赖关系。
3.创建型模式包括:工厂方法模式、抽象工厂模式、建造者模式和原型模式。
4.在软件架构设计中,解耦合原则强调组件间的通信应尽可能简单。
5.软件架构设计中的关键概念包括:组件、模块、服务和层。
6.在软件架构设计中,低耦合原则强调组件应该尽可能独立。
7.在软件架构设计中,适配器模式不是创建型模式。
8.在软件架构设计中,依赖注入原则强调组件间的依赖关系应该是松散的。
答案及解题思路:
1.答案:安全性。解题思路:根据软件架构设计的基本原则,安全性作为保护软件系统不受恶意攻击的能力,是软件架构的主要维度之一。
2.答案:最小化耦合。解题思路:最小化耦合原则是软件架构设计中一个核心原则,目的是为了保证各个组件间的独立性,从而减少系统的整体复杂性和依赖关系。
3.答案:建造者模式和原型模式。解题思路:根据软件设计模式知识,建造者模式和原型模式是两种常用的创建型模式,用于封装复杂的创建过程和对象创建。
4.答案:解耦合。解题思路:解耦合原则强调简化组件间的交互,使组件能够独立工作,减少彼此之间的直接依赖,从而提高系统的稳定性和可维护性。
5.答案:层。解题思路:层是软件架构中的一个重要概念,用于将软件系统按照功能、职责划分为不同的层次,使得各个层之间相对独立。
6.答