单选题
单选题
第一章 UML与面向对象
1. UML的全称是(A)
A、Unified Modeling Language
B、Unified Model Language
C、Unify Model Language
D、Unifying Modeled Language
解析:
UML的全称是Unified Modeling Language,即统一建模语言。它是一种用于软件系统可视化、规约、构造和文档化的标准建模语言,由OMG(Object Management Group)组织维护和推广。
2. UML中的事物包括:结构事物,分组事物,注释事物和(D)
A、控制事物
B、边界事物
C、实体事物
D、动作事物
解析:
UML中的事物分为四类:
- 结构事物(Structural Things):描述模型的静态部分,如类、接口、组件等
- 分组事物(Grouping Things):用于组织模型元素,主要是包(Package)
- 注释事物(Annotational Things):用于解释模型元素,主要是注释(Note)
- 动作事物(Behavioral Things):描述模型的动态部分,如交互、状态机等
3. 最早的面向对象语言是(A)
A、Simula-67
B、ClOS
C、Smalltalk
D、Eiffel
解析:
最早的面向对象语言是Simula-67,它是由挪威计算机科学家Ole-Johan Dahl和Kristen Nygaard在1967年开发的。Simula-67引入了类、对象、继承等面向对象编程的核心概念,为后续面向对象语言的发展奠定了基础。
- B、ClOS:Common Lisp Object System,是Lisp语言的面向对象扩展
- C、Smalltalk:虽然不是最早的面向对象语言,但它是第一个完全实现面向对象编程范式的语言
- D、Eiffel:一种强调软件质量和设计的面向对象语言
4. UML1.x版本中有(A)种图形
A、9
B、13
C、12
D、8
解析:
UML1.x版本中包含9种图形,分别是:
- 用例图(Use Case Diagram)
- 类图(Class Diagram)
- 对象图(Object Diagram)
- 状态图(State Diagram)
- 活动图(Activity Diagram)
- 顺序图(Sequence Diagram)
- 协作图(Collaboration Diagram)
- 组件图(Component Diagram)
- 部署图(Deployment Diagram)
UML2.x新增的图形有:
UML2.x在原有9种图形的基础上新增了3种图形,并对部分图形进行了改名:
新增图形(3种):
- 交互概览图(Interaction Overview Diagram):结合了活动图和顺序图的特点
- 时序图/计时图(Timing Diagram):强调对象状态随时间变化的情况
- 组合结构图(Composite Structure Diagram):描述对象或类的内部结构
图形改名:
- 协作图(Collaboration Diagram)→ 通信图(Communication Diagram):名称更准确地反映了其功能
- 状态图(State Diagram)→ 状态机图(State Machine Diagram):更准确地表示其建模的是状态机
5.UML2.0版本中动态图有(D)种
A、8
B、7
C、9
D、6
解析:
UML2.0版本中的动态图包括6种,分别是:
- 顺序图(Sequence Diagram)
- 通信图(Communication Diagram,原协作图)
- 交互概览图(Interaction Overview Diagram)
- 时序图(Timing Diagram)
- 状态图(State Machine Diagram)
- 活动图(Activity Diagram)
动态图主要用于描述系统的动态行为和交互过程。
6.面向对象方法把软件开发分为(D)阶段
A、未明确划分
B、5
C、3
D、4
解析:
面向对象方法通常将软件开发分为四个阶段:
- 面向对象分析(OOA):分析系统需求,识别对象及其关系
- 面向对象设计(OOD):设计系统架构,定义对象的类结构和交互方式
- 面向对象编程(OOP):根据设计实现代码
- 面向对象测试(OOT):测试系统功能和性能
7. UML中的事物包括:结构事物,分组事物,注释事物和(D)
A、实体事物 B、边界事物C、控制事物 D、动作事物
解析:
根据UML 2.5规范,UML中的事物分为四类:
- 结构事物:描述模型的静态部分,如类、接口、组件等
- 分组事物:用于组织模型元素,主要是包(Package)
- 注释事物:用于解释模型元素,主要是注释(Note)
- 行为事物(动作事物):描述模型的动态部分,如交互、状态机等
控制事物是UML 1.x中的分类,在UML 2.x中已经被行为事物取代。
第二章 用例图
1. 在UML用例图中,参与者不表示(A)
A、带接口的物理系统或者硬件设计
B、不管角色的实际用户
C、人、硬件或其他系统可以扮演的角色
D、可以完成多种动作的相同用户
解析:
在UML用例图中,参与者(Actor)是指与系统进行交互的外部实体,可以是人、其他系统或设备。参与者的主要特点包括:
B、不管角色的实际用户:参与者代表的是角色,而不是具体的人
C、人、硬件或其他系统可以扮演的角色:参与者可以是多种实体扮演的角色
D、可以完成多种动作的相同用户:同一个用户可以扮演多个角色
A、带接口的物理系统或者硬件设计:参与者不表示硬件设计,而是表示与系统交互的实体
2. 关于参与者,错误的说法是(B)
A、参与者是与所建立的系统交互的人或物
B、参与者是系统的一部分,是用例图的重要组成部分
C、参与者之间可以存在泛化关系
D、参与者可以是人,也可以是其他系统或设备
解析:
关于参与者的正确说法:
A、参与者是与所建立的系统交互的人或物:正确,参与者是系统外部与系统交互的实体
C、参与者之间可以存在泛化关系:正确,参与者之间可以有继承关系,例如"管理员"是"用户"的一种
D、参与者可以是人,也可以是其他系统或设备:正确,参与者的类型多样
B、参与者是系统的一部分,是用例图的重要组成部分:错误,参与者是系统外部的实体,不是系统的一部分
3. UML中在建模用例图时,系统用(A)表示。
A、方框
B、人形标志
C、立方体
D、椭圆
解析:
在UML用例图中,各个元素的表示符号:
- A、方框:表示系统边界,用于界定系统的范围
- B、人形标志:表示参与者(Actor)
- C、立方体:表示组件或部署节点(在组件图或部署图中使用)
- D、椭圆:表示用例(Use Case)
4. 参与者与用例之间的关系只能是(B)关系
A、扩展
B、关联
C、泛化
D、使用
解析:
在UML用例图中,不同关系的含义:
- B、关联:参与者与用例之间的关系,用带箭头的直线表示,表示参与者与用例之间的交互
- A、扩展:用例之间的关系,表示一个用例扩展了另一个用例的功能
- C、泛化:参与者之间或用例之间的继承关系
- D、使用(包含):用例之间的关系,表示一个用例包含了另一个用例的功能
参与者与用例之间只能是关联关系,而扩展、包含和泛化关系用于用例之间或参与者之间。
5. 用例图包括的要素有用例、参与者、关系和(B)
A、软件
B、系统
C、用户
D、组件
解析:
用例图的主要要素包括:
参与者(Actor):与系统交互的外部实体
用例(Use Case):系统提供的功能
关系:包括关联、包含、扩展、泛化等
系统(系统边界):用方框表示,界定系统的范围
A、软件:不是用例图的要素
C、用户:用户是参与者的一种,但不是用例图的独立要素
D、组件:组件是组件图的要素,不是用例图的要素
6.在用例之间有三种不同的关系,下列哪个不是他们之间的关系(B)
A、包含关系
B、关联关系
C、扩展关系
D、泛化关系
解析:
用例之间的关系主要有三种:
A、包含关系:一个用例包含另一个用例的功能
C、扩展关系:一个用例扩展了另一个用例的功能
D、泛化关系:一个用例是另一个用例的特殊情况
B、关联关系:关联关系是参与者与用例之间的关系,不是用例之间的关系
7. 在UML中,下列不属于用例图所抽象出的“关系”的是(C)
A、包含关系
B、关联关系
C、实现关系
D、泛化关系
解析:
用例图中包含的关系类型有:
A、包含关系:用例之间的关系
B、关联关系:参与者与用例之间的关系
D、泛化关系:参与者之间或用例之间的继承关系
C、实现关系:实现关系通常用于类图中,描述接口与实现类之间的关系,不属于用例图的关系类型
第三章 类图、对象图和包图
1. 汽车,车厢,轮胎,发动机之间存在(C)关系。
A、依赖
B、泛化
C、组合
D、聚合
解析:
类之间的关系包括:
- A、依赖:一个类的变化会影响另一个类
- B、泛化:继承关系,子类是父类的特殊情况
- C、组合:强聚合关系,整体与部分密不可分,部分不能独立于整体存在
- D、聚合:整体与部分的关系,部分可以独立于整体存在
汽车、车厢、轮胎、发动机之间是组合关系,因为这些部件不能独立于汽车存在,离开汽车后它们就失去了作为汽车部件的意义。
2.可见性中,包可见性的符号表示为(D)
A、#
B、+
C、-
D、~
解析:
UML中可见性的符号表示:
- A、#:保护可见性,同一包或子类可以访问
- B、+:公有可见性,任何类都可以访问
- C、-:私有可见性,只有本类可以访问
- D、~:包可见性,同一包内的类可以访问
3. 用实心菱形和实线表示的是(B)关系
A、泛化
B、组合
C、聚合
D、实现
解析:
UML中类之间关系的表示符号:
- A、泛化:用空心三角和实线表示
- B、组合:用实心菱形和实线表示,整体与部分密不可分
- C、聚合:用空心菱形和实线表示,整体与部分可分离
- D、实现:用空心三角和虚线表示
4. 在UML中,类与类之间的依赖关系用(B)表示
A、实线三角箭头
B、虚线开箭头
C、实线半边开箭头
D、实线开箭头
解析:
UML中类之间关系的表示符号:
- A、实线三角箭头:泛化关系
- B、虚线开箭头:依赖关系,表示一个类的变化会影响另一个类
- C、实线半边开箭头:异步消息(在交互图中使用)
- D、实线开箭头:简单消息或同步消息(在交互图中使用)
5. 对象是类的实例,由于UML的(D)机制,会在对象名上自动加上下划线。
A、注释
B、描述
C、扩展
D、修饰
解析:
在UML中,对象是类的实例,通过修饰机制,对象名会自动加上下划线以与类名区分。这是UML的约定俗成的表示方法,用于在图形中清晰区分类和对象。
6. 程序员使用计算机进行编程工作,程序员与计算机之间是(C)关系
A、聚合
B、无关系
C、依赖
D、组合
解析:
在UML类图中,不同关系的含义:
- C、依赖:一个元素(客户端)使用或依赖另一个元素(供应端)来实现其功能,供应端的变化会影响客户端。
- A、聚合:整体与部分的关系,部分可以独立于整体存在
- D、组合:强聚合关系,整体与部分密不可分,部分不能独立于整体存在
程序员与计算机之间是依赖关系,因为程序员需要使用计算机来完成编程工作,计算机是程序员工作的工具和依赖对象。但计算机可以独立于程序员存在,程序员也可以在没有特定计算机的情况下工作(使用其他计算机),所以这不是聚合或组合关系。
7. 多对象是UML哪个视图中的概念(C)
(A)类图 (B)状态图 (C)协作图 (D)组件图
解析:
多对象(Multiple Objects)是协作图中的概念,表示多个对象的集合参与交互。
8. 下面那个类图的表示是错误的(D)
(A) (B) (C) (D)
┌────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│Student │ │ Student │ │ Student │ │ Student │
└────────┘ ├──────────────────┤ ├──────────────────┤ ├──────────────────┤
│ name: String │ │ get_name() │ │ Name: String │
│ age: Integer │ │ get_age() │ │ Age: Integer │
└──────────────────┘ └──────────────────┘ ├──────────────────┤
│ get_name() │
│ get_age() │
└──────────────────┘解析:
类图中属性和方法的命名规范:
- 属性名应该以小写字母开头,如
name、age - 方法名应该以小写字母开头,如
get_name()
选项D中属性名Name和Age以大写字母开头,不符合UML的命名规范,因此是错误的表示。
第四章 活动图
1. 活动图具有流程图的功能外,还具有描述并发和同步的功能,是因为有(C)
A、对象流
B、泳道
C、分岔和汇合
D、分支和合并
解析:
活动图的主要特点之一是能够描述并发和同步:
- A、对象流:表示对象在活动之间的流动,不是描述并发的主要元素
- B、泳道:用于划分不同职责的区域,不是描述并发的主要元素
- C、分岔和汇合:分岔将一条流分成多条并发流,汇合将多条并发流合并,是活动图描述并发和同步的关键元素
- D、分支和合并:用于条件判断,不是描述并发的元素
2. 以下关于活动图与状态图说法错误的是(C)
A、活动图中和状态图中都有开始状态和结束状态
B、活动图中同一对象可以出现多次,表示在其生命周期的不同状态。
C、活动图属于动态图,状态图属于静态图
D、活动图用于描述用例,而状态图用于描述一个对象
解析:
活动图和状态图的区别与联系:
- A、正确:两者都有开始状态和结束状态
- B、正确:活动图中同一对象可以在不同状态下出现
- C、错误:活动图和状态图都属于动态图,静态图包括类图、对象图、包图等
- D、正确:活动图常用于描述用例的执行流程,状态图用于描述对象的状态变化
第四章 组件图
1. 组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一(B)
A.对源代码建模 B.对事物建模 C.对数据库建模 D.对可执行版本建模
解析:
组件图的建模方式主要包括:
- 对源代码建模:描述源代码的组织结构
- 对数据库建模:描述数据库的结构和关系
- 对可执行版本建模:描述系统的部署和配置
对事物建模不是组件图的建模方式。
2. (A)是用于把元素组织成组的通用机制。
A、包B、类 C、接口 D、组件
解析:
- 包(Package):UML中用于组织元素的通用机制,可以包含类、接口、组件等
- 类(Class):描述对象的属性和行为
- 接口(Interface):描述类的外部行为
- 组件(Component):描述系统的物理实现单元
3. (B)是被节点执行的事物。
A、包 B、组件 C、接口 D、节点
解析:
- 组件(Component):系统的物理实现单元,是被节点执行的事物
- 节点(Node):系统的物理部署单元,如计算机、服务器等
- 包(Package):组织元素的机制
- 接口(Interface):描述组件的外部行为
第六章 协作图
1. (B)使用带有消息文本的开箭头,用来指示消息类型对于当前的协作图是未知的或者不重要的。
A、同步消息
B、简单消息
C、返回消息
D、异步消息
2. 协作图与(C)图的消息量是等价的,Rose中可以通过F5键相互转换。
A、时序图
B、用例图
C、顺序图
D、类图
3. 在UML中,协作图的组成不包括(C)
(A)对象 (B)消息 (C)发送者 (D)控制点
解析:
协作图的主要组成元素包括:
- 对象:参与交互的实体
- 消息:对象之间传递的信息
- 链接:对象之间的连接关系
- 控制点:表示消息的时间顺序
发送者是消息的来源,不是协作图的独立组成元素,而是通过消息的发送方来表示的。
4. 关于协作图的描述,下列哪个不正确(B)
A.协作图作为一种交互图,强调的是参加交互的对象的组织;
B.协作图是顺序图的一种特例
C.协作图中有消息流的顺序号;
D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;
解析:
- A、正确:协作图强调对象的组织关系
- B、错误:协作图和顺序图是两种不同的交互图,包含相同的信息但侧重点不同,不是特例关系
- C、正确:协作图通过顺序号表示消息的时间顺序
- D、正确:ROSE工具支持顺序图和协作图的相互转换
第八章 状态图
1. (C)不会激发状态的入口动作和出口动作的执行。
A、完成转换
B、转换
C、内部转换
D、自转换
解析:
状态图中不同转换类型的动作触发机制:
- A、完成转换:当状态中的活动完成时触发的转换,会导致状态改变,因此会激发当前状态的出口动作和目标状态的入口动作
- B、转换:一般指状态之间的转换,会导致状态改变,必然触发出口动作和入口动作
- C、内部转换:状态内部的转换,不会导致状态的改变,因此不会激发入口动作和出口动作
- D、自转换:从一个状态转换到自身,虽然最终状态相同,但会导致状态的重新进入,因此会激发当前状态的出口动作和入口动作
内部转换的特点是在状态内部处理事件,不改变状态本身,所以不会触发状态的入口和出口动作。
2. 下列对状态图描述不正确的是(C)
(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
解析:
状态图的主要目的是描述对象或系统在其生命周期内的状态变化,而不是仅仅描述对象创建和撤销过程中的资源状态。
3. 下面哪个UML视图是描述一个对象的生命周期的(B)
(A)类图 (B)状态图 (C)协作图 (D)顺序图
解析:
- 类图:描述系统的静态结构
- 状态图:描述对象的生命周期和状态变化
- 协作图:描述对象之间的交互关系
- 顺序图:按时间顺序描述对象之间的交互
4. 下列关于状态图的说法中,正确的是(C)
A. 状态图是UML中对系统的静态方面进行建模的五种图之一。
B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态
C.状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。
D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模
解析:
- A、错误:状态图属于动态图
- B、错误:状态图和活动图是不同的图,状态图的状态可以是活动状态也可以是稳定状态
- C、正确:状态图描述对象的生命周期和状态变化
- D、错误:活动图强调多个对象参与的活动过程,状态图强调单个对象的状态变化
第九章 交互概览图与组合结构图
1. 下面哪个图形代表活动(圆角矩形)
解析:
活动图中,活动用圆角矩形表示,状态用圆角矩形(有内部行为)或矩形表示,起点用实心圆表示,终点用实心圆外带圆圈表示。
第十三章 UML与RUP
1. 以下不是RUP特点的是(D)
A、用例驱动
B、以构架为中心
C、迭代和增量的开发
D、自顶向下,逐层分解
解析:
RUP(Rational Unified Process)是一种迭代式软件开发过程框架,其主要特点包括:
- A、用例驱动:以用例为核心组织开发活动
- B、以构架为中心:强调软件架构的重要性
- C、迭代和增量的开发:通过多次迭代逐步完善软件
- D、自顶向下,逐层分解:这是传统结构化开发的特点,不是RUP的特点