当前位置:首页 > 面向对象分析与设计试题及其答案
};
int Derived::y=0; void main(void) { Derived d(10); Base *pb=&d; pb->print(); Derived(20).print(); }
四. 简答题(每空4分,共 20 分) 1. 简述UML的优点。
2. 简述面向对象技术的三大机制。 3. 简述OOA模型的层次结构。
4. 简述OOD模型的总体结构,并画图表示。 5. 应用UML进行数据库系统分析和设计步骤。
五. 试用UML对网上超市系统及相关的数据库系统进行分析和设计。请完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分) (2)建立系统动态结构模型—画出序例图和活动图;(10分) (2)建立关系数据库逻辑模型。(10分)
-----------------------------------------------------------------------------
2009-2010第一学期面向对象分析与设计试题
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 )
1. ( ) 常常被定义成虚函数。
A. 构造函数 B. 析构函数 C. 友元函数 D. 静态函数
2. ( )是对具有相同属性和行为的对象集合的抽象描述 A. 系统 B. 实体 C. 对象 D. 类
3. 封装的目的是实现信息的有效( )
A. 共享 B. 隐蔽 C. 操作 D. 继承
4. ( )是实现“一种接口,多种方法”的技术。
A. 抽象性 B. 封装性 C. 多态性 D. 继承性
5. C++ 对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是 ( )。 A. 增加了一些新的运算符 B. 引进了类和对象的概念 C. 允许类的继承和派生 D. 允许函数重载
6. 继承机制的作用是 ( )。
A. 信息隐藏 B. 数据封装 C. 数据抽象 D.软件重用
7. ( ) 经过实例化而生成具体的类。
A. 对象 B. 函数模板 C. 类模板 D. STL 8. 类的构造函数是在 ( ) 调用的。
A. 类创建时 B. 创建对象时 C. 删除对象时 D. 不自动调用
9. 在保护性继承的情况下,基类的public和protected成员在派生类中变为 ( )成员。
A. 公有 B. 私有 C. 受保护 D. 任意
10.下列哪种做法不符合面向对象设计的原则( )。
A. 类与类之间的耦合应该很松散 B. 继承耦合应尽可能松散
C. 继承耦合应尽可能紧密 D. 设计应该具有最优的可重用性
11.( )是从用户使用系统的角度描述系统功能的图形表达方法。 A. 对象图 B. 类图 C. 序列图 D.用例图 12.在对象模型中,( )体现了继承性概念。
A.关联 B. 依赖关系 C.泛化关系 D.聚合/组合关系 13. ( )是面向对象设计的核心,建立状态图、协作图和其他图的基础。 A. 对象图 B. 组件图 C. 类图 D. 序列图
14.下面哪个是UML中的动态视图( )
A. 用例图 B. 类图 C.对象图 D. 序列图
15.下列说法错误的是( )
A. 活动图不能用于描述系统业务流程。
B. 活动图由一系列的动作状态构成,动作的状态控制可以从一个状态流 向另一个与之相邻的状态。
C. 活动图还可以表示决策、条件、动作状态的并行执行、消息的规范说明等内容。 D. 协作图可以用来描绘系统业务流程。
16.在一个“图书管理系统”中,借书处理和还书处理都需要先通过身份验证。那么,用例“借书处理”、“还书处理”与用例“身份验证”之间是( )关系 A. 特化 B. 泛化 C. 使用 D.扩展
17.( )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A.对象图 B.类图 C.组件图 D.配置图 18.阅读图例,判断下列哪个说法是错误的。( )
A.读者可以使用系统的还书用例
B.每次执行还书用例都要执行图书查询用例
C.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例
D. 每次执行还书用例都要执行交纳罚金用例
19.( )描述了一组交互对象间的动态协作关系,它表示完成某项行为操作的参与对象和这些对象之间传递消息的时间顺序。
A. 协作图 B.序列图 C.对象图 D.组件图 20.( )能够更好地用于对数据库建模。
A.传统的ER图 B.UML的用例图 C.UML的类图 D.数据流图
二、填空题 ( 每空 1 分,共 20 分 )
1. 面向对象开发方法模拟人们理解和处理客观世界的方式来__(1)__问题,把系统视为一
系列__(2)__的集合,其面向对象的__(3)__又将分析的结果映射到某种面向对象__(4)__工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使__(5)__空间与__(6)__空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的__(7)__、__(8)__、__(9)__态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服__(10)_。因此,它已成为成熟的广为采用的软件开发方法。到20世纪末,面向对象软件工程逐渐发展成熟,特别是__(11)__的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术。
2. UML 通过9种视图来为系统建模,这9种视图是:
_____(12)_______、_____(13)_______、_____(14)________、 _____(15)_______、_____(16)_______、_____(17)________、 _____(18)______、_____(19)______、______(20)_______。
三、写出下列程序的输出结果 ( 满分 10 分 ) #include
virtual void show()
{ cout<<“ It is a person”< } }; class student:public person { public:
共分享92篇相关文档