面向对象软件工程笔试题
姓名班级学号
一、单项选择题(每题1.5分,计30分)
1. 在面向对象的系统中,系统责任的良好分配原则是()。
A. 在类之间均匀分配
B. 集中分配在少数控制类中
C. 根据时序图的消息进行分配
D. 根据个人喜好进行分配
2. 能够保证某些类在系统中只存在一个实例的模式是:()
A.抽象工厂(Abstract Factory)模式B.单态(Singleton)模式
C.建筑者(Builder)模式D.工厂方法(Factory Method)模式
3. 在UML中,用于描述对象和对象之间的交互,并且将重点放在消息的顺序上,强调时间,描述消息是如何在对象间发送和接收的模型是:()
A.类图B.用例图C.状态图D.时序图
4.()意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性B.多继承C.类的复用D.封装
5.在UML中,类A的一个操作以类B作为参数,调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是()关系。
A.聚合B.泛化C.实现D.依赖
6. 在UML中,类A中持有着类B作为属性,那么类A和类B之间是()关系。
A.普通关联B.泛化C.实现D.依赖
7. 在下面的描述中,不属于用例模型所能回答的问题是()
A.参与者执行的主要任务或功能是什么?
B.参与者希望从系统中获取什么样的信息?
C.用例所描述的功能是怎样实现的?
D.参与者之间的泛化关系是什么样的?
8. 在面向对象设计中,下列那个设计处于最基础的地位:()
A.责任设计B.消息设计C.类及对象设计D.子系统设计
9.能够“将抽象部分与实现部分分离,使它们都可以独立变化”的设计模式是:()
A.组合(Composite)模式B.命令(Command)模式C.桥(Bridge)
10.在面向对象软件开发方法中,类与类之间的结构关系主要有:()
A.继承和聚合B.继承和一般C.聚集和消息传递D.继承和方法调用
11.能够在不改变类层次结构的前提下,在运行时根据需要透明地为类层次结构上的各个类
动态添加新功能的模式是:()
A.访问者(Visitor)模式B.职责链(Chain of Responsibility)模式
C.观察者(Observer)模式D.策略(Strategy)模式
12.将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象
的使用具有一致性的模式是:()
A.组合(Composite)模式B.桥(Bridge)模式
C.命令(Command)模式D.适配器(Adapter)模式
13. 能够在运行时动态地为对象扩展功能的设计模式是:()
A.代理(Proxy)模式B.装饰(Decorator)模式C.组合(Composite)模式D.桥(Bridge)模式
14. 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解
B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整
15.以下哪一项不属于面向对象的软件开发方法()
A.coad方法B.booch方法C.jackson方法D.omt方法
16.汽车有一个发动机。
汽车和发动机之间的关系是()关系。
A.一般具体B.整体部分 C.分类关系 D.主从关系
17.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫A.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析18.能够“为子系统中的一组接口提供一个一致的界面”的模式是()A.代理(Proxy)模式B.装饰(Decorator)模式C.组合(Composite)模式D.外观(Facade)模式
19.“将一个请求封装为一个对象,从而可以使你用不同的请求对客户进行参数化”的模式是()
A.策略(Strategy)模式B.命令(Command)模式C.状态(State)模式D.外观(Facade)模式
20.“定义一个用于创建对象的接口,让子类决定实例化哪一个类”的模式是()A.抽象工厂(Abstract Factory)模式B.单态(Singleton)模式
C.建筑者(Builder)模式D.工厂方法(Factory Method)模式
二、多项选择题(每题2分,计10分)
1. 在在面向类的度量中,下列哪些度量方式是属于C&K套件的度量()
A.每个类的加权方法B.对象类之间的耦合C.继承树的深度
D.类大小E.特例化索引F.方法中内聚的缺乏
2. 下列哪些是面向对象设计的原则()
A.单一职责原则B.开放-封闭原则C.替换原则D.依赖关系倒置原则E.接口隔离原则
3. 以下设计模式中,属于创建型模式的有()
A.单态模式B.代理模式C.工厂方法模式D.建筑者模式
4. 以下哪些内容是面向对象分析所包含的任务()
A.标识类(定义属性和方法)
B.刻画类的层次关系
C.标识对象——对象关系
D.表示对象行为
5. 我们可以将设计模式大致划分为以下几种类型:()
A.创建型B.行为型C.变换型D.结构型
三、判断题(每题1分,计15分)
1.角色在用例关系图的系统边界之内()
2.测试准确度与测试用例数量成正比关系()
3.用例关系图中角色只能连接到一个用例()
4.类关系图是动态建模的一部分()
5.通信关系图也称为协作关系图()
6.打包能使软件的管理更复杂()
7.动态建模也叫结构建模()
8.序列关系图与通信关系图可以相互转换()
9.源代码文件和数据文件不属于组件()
10.抽象就是关注一个实体本质的、内在的方面,而忽视其实现的细节()
11. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
()
12. 在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是
生成类的模板。
()
13. 如果通过软件测试没有发现错误,则说明软件是正确的。
()
14. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软
件产品。
()
15. 只要是使用了设计模式的系统就是好的系统设计。
()
四、简答题(6题,计45分)
1.请列举类关系图中的各种关系,并画出其UML图形表示。
(4分)
2、根据要求画出用例图(10分)
3、简述面向对象技术发展的动因。
(8分)
4、如何实现运行时多态 (5分)。
5、简述基于UML的面向对象分析与设计的方法步骤。
(9分)
6、简述基于UML的数据库系统分析和设计的方法步骤(9分)。