《UML 系统分析与设计》复习参考答案
第 1 章 面向对象技术概述
1-2. A
1-3. A 1-4. B 1-6. √ 1-7. √
1-1. B
1-5. B (提示:虽然 fl 和 f2 都是同一个类的成员函数,但 fl 不能调用 f2,如果都是普通成员
函数,那么肯定是可以调用;如果它们都是静态成员函数,也可以调用;如果 fl 是静态成
员函数,而 f2 不是的话,那么这种情况下,fl 不能调用 f2;如果 fl 不是静态成员函数,而
f2 是的话,那么这种情况下,fl 也能调用 f2。)
2-2. B
2-1. B
2-11. × 2-12. √ 2-13. × 2-14. × 2-15. √
2-3. A
第 2 章 统一建模语言 UML 概述
2-7. B
2-4. D
2-6. A
2-5. C
2-8. C
2-9. D
2-10. B
3-1. C
3-2. A
3-3. D
3-4. A
第 3 章 用例图
3-5. √ 3-6. √ 3-7. × 3-8. × 3-9. √
第 4 章 类图与对象图
4-2. B
4-3. D
4-1. D
4-11. D (提示:边界类描述的是系统外部环境和系统内部运作之问的交互,它工作在参与者
和系统之间;实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很
4-7. × 4-8. × 4-9. × 4-10. ×
4-5.A
4-4.C
4-6.B
复杂的行为,但这些行为必须与它所代表的实体对象密切相关,实体类独立于系统外部环
境( Actor);控制类描述的是特定用例的控制行为,与特定的用例实现密切相关,可以说它
就是在执行用例实现,控制类可以有效地降低边界类和实体类之间的耦合,使系统对于外
部环境的变化具有良好的适应性。)
4-12. B (提示:在 UML 中,关联的多重度足指一个类的实例能够与另一个类的多少个实例
相关联。它又称为重复度。本题中不难看出有 4 个类,而且由描述“一个公司负责多个项目”
可知,公司和项目两个类之问的关联是一种一对多的关联,即项目端是多端,这样就可以
排除答案 C;另外公司和项目之问并不是一种继承的关系,这样就可以排除答案 D。而在 A
和 B 选项间,它们的区别就在于 A 的关联牵涉了 3 个类,但其实这种表达方式是不存在的,
而 B 选项中很好地表明了题目的意思,即一个项目由一个团队来开发,而团队中的成员个
数至少是一个,或者是多个。)
4-13.
1
4-14.
4-15.
第 5 章 顺序图与协作图
5-3. A
5-4. B
5-2. B
5-1.A
5-5. AB 5-6. √ 5-7. √ 5-8. × (提示:交互过程中
某个对象可以销毁) 5-9. √ 5-10. √ 5-11. √(提示:可以用 UML2.x 新增的时间图描述)
5-12. × 5-13. ×(提示:不参与交互的对象不用画出来)
5-16. D (提示:如果一个对象发送了一个同步消息,那么它要等待对方对消息的应答,收到
应答后才能继续自己的操作。发送异步消息的对象不需要等待对方对消息的应答便可以继
续自己的操作。1,2,5,6 表示的是同步消息,而 3,4 表示的是返回消息,7 表示的是异步消息。)
5-17.
5-14. √ 5-15. √
5-18.
:XXX:TourCoordiantor
:YYY:BoxOffice
第 6 章 状态图与活动图
6-2. B
6-4.A
6-1. A
6-11. √ 6-12. × 6-13. × 6-14. √ 6-15. √ 6-16. √ 6-17. × (提示:动作状态是原子
6-5. A 6-6. D 6-7. A 6-8. D
6-10. C
6-3. C
6-9. C
的,活动状态是非原子的)
6-19. × (提示:活动图的控制流是自动地顺序执行,状态图中的转换是事件驱动的)
6-18. √ (提示:结束标记可以有多个)
2
6-20. × (提示:泳道按活动的责任者将活动图划分为几部分)
6-21.
6.22.
7-2. A
7-1. D
7-3. A
7-7. × 7-8. √ 7-9. √
第 7 章 组件图与部署图
7-4. D
7-5. × (提示:与外部完全分离是不对的)
7-6. √
第 8 章 包 图
8-1. 在开发软件系统的过程中,尤其是对于规模较大的系统而言,如何将系统中众多模型
元素组织起来,即如何将一个大系统有效地分解成若干个小的模块并准确描述各个模块之
问的关系是一个必须要解决的重要问题。对此,UML 使用包元素来实现模型的组织,使用
包图来表示出包之间的相互关系。通过这种方式构造的系统就能够从模块的层次上来把握
系统的静态结构。包是 UML 中的万能容器,优秀的设计者用它建立伟大的软件架构,而平
庸的设计者把它变成垃圾桶。
8-2. C
8-4. B
8-3. B 提示:低层次的元素不直接体现在包中,而是体现在所属的模型元素中
8-5. A
8-6. (1)√ (2) ×
(3) √
第 10 章 软件设计模式及应用
10-1. C
10-2. B (提示:“针对接口编程,而不足针对实现编程”是面向对象设计的 7 大原
则之一,遵循此原则有以下几个方面的好处。(1)使用者不必知道其使用对象的具体所属类;
(2)使用者无须知道特定类,只需知道它们所期望的接口;( 3)一个对象可以很容易地被(实
现了相同接口的)另一个对象所替换;(4)对象间的连接不必硬绑定到一个具体类的对象上,
因此增加了灵活性。另外,在这种方式下,接口与实现是可以分割的,这样利于变化,也
符合面向对象的根本意图(便于需求的改变)。设计职责单一的类也是 7 大设计原则中的一
个,因为如果一个类有一个以上的职责,这些职责就耦合在了一起,这会导致脆弱的设计。
比如,当一个职责发生变化时,就可能会影响其他的职责。另外,多个职责耦合在一起,
也会影响程序的复用性。)
10-3. A
10-5. C
10-4. D
10-6. B
3