一、面向对象知识和软件工程知识回顾
1、一个设计得好的 OO 系统具有( )
(A)低内聚、低耦合的特征
(B)高内聚、低耦合的特征
(C)高内聚、高耦合的特征
(D)低内聚、高耦合的特征
2、在设计一个应用系统的用户界面时,如果对系统用户的计算机技能水平不是
很清楚,那么下面哪种方法是最好的?
A)确定使用该系统的用户所要具备的计算机技能水平,并安排对用户进行必要
的培训。
B)确定使用该系统的用户所要具备的计算机技能水平,并提供详细的系统联机
帮助,当用户需要帮助时,能迅速获得这些帮助。
C)开发一个用户界面部分的原型,并做一些可用性测试以发现用户使用过程中
会存在的问题,将这些问题用文档详细说明,并于最终系统一起交付给用户
D)开发一个用户界面部分的原型,并做一些可用性测试以确定用户的计算机技
能水平以及用户使用什么样的界面操作会比较满意。根据测试结果对系统界
面做一些修改,并重复这个过程。
二、UML 基础知识
1、一个机票预定系统运行后发现系统的响应时间很慢,初步分析认为是系统的
吞吐量低于平均水平。开发人员准备解决系统响应时间慢的问题,在 UML
的五个视图中,应参考的是
。
2 、 UML 的 3 种 扩 展 机 制 是 构 造 型 ( stereotype )、 约 束 ( constraint )
和
。
3、UML 中三类主要元素包括
4、UML 中,异常(Exception)可以用
示。
、规则和公共机制。
的构造型来表
5、RUP 软件开发过程的特点是:
、以体系结构为中心,迭
代和增量式开发。
6、下面哪个图符表示 UML 中的实现关系()
A)
B)
)?
D)
C)
7、UML 中的扩展机制之一约束(Constraints)是用哪种方式表示的(
B)只能用{text string}这种方式
D)上面任何一种方式都可以
A)只能用[text string]这种方式
C)只能用(text string)这种方式
8、RUP 所提出的迭代开发过程是(
A)一种结构化开发方法,该方法给出了功能分解的具体步骤
B)一种管理软件开发过程的复杂性和对变更进行规划的技术
C)一种自顶向下的开发过程,且开发过程中没有使用数据流图
D)RUP 中最重要的特点
9、RUP 把软件开发生命周期分为多个循环,每个循环由 4 个连续的阶段组成,
)。
这 4 个(
)。
A)初始阶段、细化阶段、实现阶段、移交阶段
B)初始阶段、细化阶段、构造阶段、移交阶段
C)分析阶段、设计阶段、实现阶段、部署阶段
D)分析和设计阶段、实现阶段、测试阶段、部署阶段
三、用例图
1. 在如下图所示的用例图中,label b 表示的是(
)。
A)include
2、在博物馆管理系统中,有 3 个用例,分别是“购买入场票”、“预订入场票”、
D)generalization
C)extend
B)uses
“登记画家”,其中“购买入场票”是高风险、高业务价值的用例;“预订入
场票”是低风险、高业务价值的用例;“登记画家”是低风险、低业务价值
的用例。在开发时准备采用跌代式开发,先实现其中的一个用例,那么首先
应实现哪个用例?
A)“登记画家”用例 B)“预订入场票”用例
C)“购买入场票”用例 D)3 个用例中的任意一个都可以
3、用例和参与者之间的连线称作(
),是关系的一种。
四、类图、对象图和包图
1、如下图所示表示类的图标中,Shape 类的属性 count 前有一个斜线,表示该属
性是
属性。
2、如果把一个类的类名写成斜体字,则表示这是
类,即不能有
这个类直接产生实例。
3、在软件开发的不同阶段使用的类图具有不同的抽象层次。一般类图可以分为
3 个层次,即
层、说明层和实现层。
4、用 UML 进行建模时会涉及 9 个图,Rose 2003 只支持其中的 8 个,还有一个
图如果要在 Rose 2003 中表示,则只能用别的图来代替。这个不能在 Rose
2003 中直接表示的图是
5、类和对象的关系类似于(
A)关联和链 B)用例和参与者
6、类和接口的关系类似于下面哪种类型的关系。(
A)关联和聚集 B)关联和组合
7、下面的 UML 建模元素中,(
)是在 Rose2003 中不能直接表示出来的。
D)聚集和组合
C)脚本和用例
D)包和子系统
)
。
)类型的关系。
C)包和类图
A)N 元关联
C)抽象类
B)静态方法
D)类与类之间的组合关系
8、在下面 4 个类图中,(
Public
{
class Order
)中的类 Order 所生成的代码具有如下的形式。
Public Customer
recipient;
}
Order
Order
Order
Order
nn
nn
nn
nn
+recipient
1
1
Customer
+recipient
n
n
Customer
recipient
Customer
recipient
1
1
n
n
Customer
9、在 UML 中,下面类的命名哪个是有效的()
A)Accounting:Account B)Accounting::Account
C)Accounting,Account
10、下面哪个图能够正确表示出“一个雇员最多有一个经理,某些经理管理多个
D)Accounting;Account
雇员,某些经理不管理任何雇员”这样的意思?
A)交互图
B)状态图
C)对象图
D)用例图
A)
C)
B)
D)
11、如下图所示,如果需要描述类 UserGroup 和类 User 之间的关系本身的某
些特性,这些特性既不适合放在类 UserGroup 中,也不适合放在类 User 中,
那么可以创建一个( )类来描述这些特性,并通过一条虚线使这个类和
这个关系相联系。
12、在下图所示的类图中,“/works for company”这个关联前有一个斜杠,表示
该关联是(
)关联。
13、下面四种设计中,(
)所表示的包之间的依赖关系是最不好的。
E
A
B
C
D
A)
A
B
C
D
F
C)
A
B
C
D
B)
A
B
C
D
D)
14、根据下面的图,判断下面正确说明了包之间的依赖关系的是(
)。
Loan
Customer
Account
A)对 Loan 包中的元素做了修改后,需要检查 Customer 包中的元素和 Account
包中的元素是否要做相应的修改
B)对 Loan 包中的元素做了修改后,需要检查 Customer 包中的元素是否需要做
相应的修改。如果是,则还要检查 Account 包中的元素是否要做相应的修改,
否则不再检查 Account 包中的元素是否要做相应的修改
C)对 Account 包中的元素做了修改后,需要检查 Customer 包中的元素是否需要
做相应的修改。如果是,则还要检查 Loan 包中的元素是否要做相应的修改,
否则不再检查 Loan 包中的元素是否要做相应的修改
D)对 Account 包中的元素做了修改后,需要检查 Customer 包中的元素和 Loan
包中的元素是否要做相应的修改
15、计算机由中央处理器、内存、显示器、鼠标和键盘等组成,则 Computer 类
和其他类(CPU、RAM、Monitor、Mouse 和 Keyboard)之间的关系是:
A)泛化关系 B)实现关系 C)包含关系 D)聚集关系
16、参考下图和下面的代码,下面哪句话是正确的?
a) XXX 可以是 Frog 或 Kangaroo,但 XXX 不能为 Fish
b) XXX 可以是 Fish 或 Frog,但 XXX 不能为 Kangaroo
c) XXX 可以是 Fish 或 Kangaroo,但 XXX 不能为 Frog
d) XXX 可以是 Fish 或 Frog 或 Kangaroo
Public class JungleSimulator
{ Private XXX aVar;
Public void simulate()
{ aVar.jump();}}
17、参考如下图所示的设计图,工程师(Engineer)根据他们的工作时间可以分
为全时的(FullTime)和兼职的(PartTime)两种,根据他们的专业可以分为
软件工程师和硬件工程师。在初始设计中,整个类层次结构没有灵活性,如
果 要 增 加 一 种 新 专 业 的 工 程 师 , 则 在 类 FullTimeEngineer 和 类
PartTimeEngineer 下面都要增加子类。如果要改进这种设计,以便能很容易
地增加新的专业的工程师,则下面 4 个设计中,最合理的设计是(
)。
(a)
(B)
(c)
(d)
18、在一个课程注册系统中,定义了一个类 CourseSchedule 和类 Course,并在类
CourseSchedule 中定义了方法 add(c:Course)和方法 remove(c:Course),则类
CourseSchedule 和类 Course 之间的关系是:()
A)泛化关系 B)组合关系 C)依赖关系 D)包含关系
19、对象图的模型元素有对象和链。对象是类的实例,对象之间的链是类之间
的
的实例。
20、根据下面的代码,判断下面的叙述哪个是正确的?(
Public class HouseKeeper
{ Private TimeCard timecard;
)
Public void clockIn()
{timecard.punch();}}
a)类 HouseKeeper 和类 TimeCard 之间存在关联关系
b) 类 HouseKeeper 和类 TimeCard 之间存在泛化关系
c) 类 HouseKeeper 和类 TimeCard 之间存在实现关系
d)类 HouseKeeper 和类 TimeCard 之间存在包含关系
五、交互图
1、如下图所示,类 PaymentController 必须实现的方法有
。