单选题 面向对象中的______机制是对现实世界中遗传现象的模拟。通过该机制,基类的属性和方法被遗传给派生类;______指把数据以及操作数据的相关方法组合在同一单元中,使我们可以把类作为软件复用中的基本单元,提高内聚度,降低耦合度。
单选题
  • A.复用
  • B.消息
  • C.继承
  • D.变异
【正确答案】 C
【答案解析】[解析] 对已有实例的特征稍作改变即可生成其他实例的方式称为继承。继承的基本功能是将一些功能相关的对象进行归类表示,使得子对象具有其父对象属性的能力。在继承关系中存在着基类和派生类两种类型,访问控制方式主要有Public(公有派生)、Protected(保护派生)和Private(私有派生)。 封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。封装使得类能作为软件复用中的基本单元,提高内聚度,降低耦合度。
单选题
  • A.多态
  • B.封装
  • C.抽象
  • D.接口
【正确答案】 B
【答案解析】
单选题 UML中的用例和用例图的主要用途是描述系统的______。
  • A.功能需求
  • B.详细设计
  • C.体系结构
  • D.内部接口
【正确答案】 A
【答案解析】[解析] 在UML中,用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。用例图用于展现一组用例、用户及它们问的关系,即从用户角度描述系统功能,并指出各功能的操作者。用例图的主要作用有3个:①获取需求;②指导测试;③可为整个过程中的其他工作流起到指导作用。由此可见,用例图可用来描述系统的功能需求。
单选题 “容器是一个构件,构件不一定是容器;一个容器可以包含一个或多个构件,一个构件只能包含在一个容器中”。根据上述描述,如果用UML类图对容器和构件之间的关系进行面向对象分析和建模,则容器类和构件类之间存在______关系。
①继承 ②扩展 ③聚集 ④包含
  • A.①②
  • B.②④
  • C.①④
  • D.①③
【正确答案】 D
【答案解析】[解析] 在UML规范中,类图用于描述系统的结构化设计,即用来表示概念模型,其最基本的元素是类或接口,表达了类、接口及它们之间的静态结构和关系。通常,在类图上包含的关系有:①泛化(Generalization)关系(即继承关系的反关系)、②实例(Realization)、③关联(Association)、④聚集(Aggregation)、⑤组装(Composition)、⑥依赖(Dependency)等。 继承(inheritances)关系表示类之间的一般层次关系,使得某类对象可以沿用另外一类对象的特征和能力。通常,构件是表示应用逻辑的代码。依题意,“容器是一个构件,构件不一定是容器”,表明在UML类图中容器类与构件类之间存在继承关系。 关联(Association)关系表示类与类之间的连接,即一个类保存对另一个类实例的引用,并在需要的时候调用这个实例的方法。而聚集(Aggregation)关系是关联关系的一种特例,代表两个类之间的整体/局部关系。聚集暗示着整体在概念上处于比局部更高的一个级别,在实例图中不存在回路,即只能是一种单向关系。依题意,“一个容器可以包含一个或多个构件,一个构件只能包含在一个容器中”,表明容器类与构件类之间存在聚集关系。 用例(use case)描述了一个与系统参与者进行交互并由系统执行的动作序列。UML规范提供了用例之间包含(include)、扩展(extend)和泛化(generalization)3种相关性的关系。其中,包含(include或uses)关系是从两个或两个以上的原始用例中提取公共行为,或发现能够使用一个构件来实现某一用例的部分功能,意味着所包含的用例将始终出现。 扩展(extend)关系表示基础用例在延伸用例间的一个位置上,隐式合并了另一个用例的行为。基础用例可以单独存在,但是在一定的条件下,其行为可以被另一个用例的行为延伸。扩展将较复杂的步骤提取成专门的用例,以便简化原始用例并扩展其功能的行为。它的出现是有条件的,并且每次并不一定出现。
单选题 在面向对象分析与设计技术中,______是类的一个实例。
  • A.对象
  • B.接口
  • C.构件
  • D.设计模式
【正确答案】 A
【答案解析】[解析] 类是生成对象的模板,每一个对象都是某一个类的实例。
单选题 在用例设计中,可以使用UML中的______来描述用户和系统之间的交互,说明系统功能行为。
  • A.序列图
  • B.构件图
  • C.类图
  • D.部署图
【正确答案】 A
【答案解析】[解析] 由下表可知,序列图是UML行为类模型图之一,用于描述用户和系统之间的交互,说明系统功能行为。其主要用途之一是,将用例表达的需求,转化为进一步更加正式的精细表达。 构件图、类图、部署图都属于UML结构类模型图。 [*]
单选题 根据如下图所示的UML类图,以下叙述中______是不正确的。
【正确答案】 B
【答案解析】[解析] 在上图所示的UML类图中,“[*]”表示其相联的两个类之间存在泛化关系。泛化关系表示类与类、接口与接口之间的特殊关系,由子类指向父类,即子类从父类中继承,而父类是子类的泛化。在图中展示出了这样一个继承结构:类“对象”为基类,其子类为“组件”;类“组件”又分别是其子类“容器”、“GUI组件”的基类。因此,在图中,“容器是一个组件”、“GUI组件是一个组件”、“组件是一个对象”、“容器是一个对象”、“GUI组件是一个对象”等说法是正确的。但是,子类“容器”、“GUI组件”之间是一种并列关系,两者之间并没有存在直接的关系,据此“GUI组件就是一个容器”的说法有误。
单选题 以下关于面向对象方法的描述中,不正确的是______。
  • A.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度
  • B.使用设计模式有助于在软件开发过程中应用面向对象技术
  • C.在软件生命周期的分析、设计、实现和测试过程中均可以应用面向对象技术
  • D.UML是一种可视化建模语言,它需要与RUP开发过程同时使用
【正确答案】 D
【答案解析】[解析] UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。 RUP是一种“过程方法”,是迭代模型的一种具体实现,是使用面向对象技术进行软件开发的最佳实践。 选项D的“UML需要与RUP开发过程同时使用”的说法有误。
单选题 如果在一个课程注册系统中,定义了类CourseSchedule和类Course,并且在类CourseSchedule中定义了方法Add(c:Course)和方法Remove(c:Course),那么类CourseSchedule和类Course之间的是一种______关系。
  • A.包含
  • B.实现
  • C.依赖
  • D.泛化
【正确答案】 C
【答案解析】[解析] 依题意,由于在类CourseSchedule中定义了方法Add(c:Course)和方法Remove(c:Course),使之与类Course建立了连接关系,因此这两个类之间的是一种依赖关系。依赖关系是类间最弱的一种关系。
单选题 关于下图的叙述,______是不正确的。
【正确答案】 B
【答案解析】[解析] 依题意,类Rectangle和类Circle都继承于类Shape,对于类Shape而言,会有getArea()的操作。但显而易见,类Rectangle和类Circle的getArea()方法的实现是完全不一样的,这就体现了多态性的特征。
单选题 在面向对象分析中,其分析过程的第一步是______。
  • A.发现角色/参与者
  • B.发现用例
  • C.进行领域分析
  • D.建立功能模型
【正确答案】 A
【答案解析】[解析] 面向对象的分析的步骤:①发现角色/参与者;②发现用例;③建立用例模型;④进行领域分析;⑤建立对象-关系模型;⑥建立对象-行为模型;⑦建立功能模型。
单选题 用于显示运行的处理节点以及居于其上的构件、进程和对象的配置的图是______。
  • A.用例图
  • B.部署图
  • C.类图
  • D.构件图
【正确答案】 B
【答案解析】[解析] 根据《信息技术 软件工程术语(GB/T 11457—2006)》,部署图(deployment diagram)是一种用于显示运行的处理结点以及居于其上的构件、进程和对象的配置的图。
单选题 在面向对象的基本概念中,接口可以被理解为是类的一个特例。如果用可视化面向对象建模语言(UML)来表示,则______图表示了类和接口之间的这种关系。 A. B. C. D.
【正确答案】 C
【答案解析】[解析] 在UML规范中,接口是描述类或构件的一个服务的操作。而在UML类图中可以包含依赖关系、关联关系、泛化关系、实现关系等。其中,泛化关系是一种表示类与类、接口与接口之间的一般——特殊关系,其对应的符号表示是“[*]”。因此,选项C图示了“接口可以被理解为是类的一个特例”的关系。 “------”或“[*]”表示其相联的两个类之间存在关联关系,用于描述两个概念上位于相同级别的类的实例之间存在的某种语义上的联系。 聚合关系是关联关系的一种特例,代表两个类之间的整体/局部关系,其显著的特点是不能包含循环的联系(即局部中不能包含整体),其对应的符号表示是“[*]”。 依赖关系是类与类之间的连接,并且依赖总是单向的,其对应的符号表示是“[*]”。 “[*]”表示其相联的两个类之间存在组合关系,它类似于聚合关系,唯一的区别是“部分”不能脱离“整体”单独存在(即“部分”的生命期不能比“整体”还要长)。
单选题 RUP模型是一种过程方法,它属于______的一种。
  • A.瀑布模型
  • B.V模型
  • C.螺旋模型
  • D.迭代模型
【正确答案】 D
【答案解析】[解析] 统一软件开发过程(RUP)是一种“过程方法”,它是迭代模型的一种具体实现。