北京邮电大学房鸣老师C++期末试卷 下载本文

内容发布更新时间 : 2024/10/19 3:34:47星期一 下面是文章的全部内容请认真阅读。

总复习

一.基本要求与非基本要求

·掌握软件工程的基本分析方法;

·掌握UML有关对象系统的分析与构建方法; ·理解RUP的分析工作流程与迭代式开发的方法; ·掌握C++语言的面向对象技术基本程序设计方法; ·了解C++语言的非面向对象技术的程序设计手段; 二.考题的结构 ⒈填空题(20%)

考查学生对面向对象技术的最基本概念的掌握情况。绝大多数是有关软件工程和面向对象技术的概念定义。

⒉是非判断题(20%)

考查学生对面向对象技术的各种概念的理解深度和广度。 ⒊单项选择题(16%)

考查学生对UML和RUP的基本概念和术语的综合掌握水平。 ⒋分析题(30%)

考查学生对面向对象技术的建模方法有关的知识点的综合掌握水平。该题目由六个小题组成。 ⒌C++语言综合题(14%)

给定一段C++程序,分析题目所体现和反应的面向对象技术的基本概念,考查学生逻辑分析的能力。 三.练习 ⒈填空题

①软件的生存周期是一个软件产品从(定义)、(开发)、(使用)到(废弃)的时间的总合。 ②失去定义对象能力的类被称为(抽象类)。

③C++语言中的静态成员函数是(类方法)的具体实现。 ④连接属性是(关联/连接)关系的两个对象内的属性。 ⑤边界类与(Actor(角色))对呈一一对应关系。 ⒉是非判断题

①只有属性的类也具有封装性。(×)

②在面向对象技术系统分析中,问题陈述是获取对象的重要来源。(√) ③在面向对象技术系统分析中不使用数据流图。(×) ④一个对象的方法只能改变本对象的属性值。(×) ⑤一个对象内存在另一个对象的关系称为包容关系。(×)(原因:有可能是派生) ⑥含有定性的属性的类就是抽象类。(×)

⑦当使用一个类方法时,消息是传向一个类的。(√) ⑧一个对象所呈现的不同状态称为多态。(×)

⑨静态链接是在面向对象技术语言编译时建立的对象关系。(√) ⑩RUP的开发周期由三个阶段所构成。(×)(六个阶段)

⑩+1RUP中的系统行为是对其全部的外来激励进行作用和反作用。(√) ⑩+2RUP中的系统行为可以从对象模型中获得。(√) ⒊单项选择题

1.面向对象技术是(A)。

(A)指导构建软件的系列法则 (B)一种探索可被认同的新理论

(C)由Grady Booch提出的一种动态的新语言 (D)基于抽象与模块化原理的新技术 2.一个模型(C)。

(A)对于十分理解其工作内容的团队成员可以不使用。 (B)必须是有结构的和动作的体系。 (C)是一个实例的简化。

(D)一个建构精确计划的原由。 3.建模的根本目的是(D)。

(A)有助与于一个系统的可视化。 (B)获得一个准备构建系统的模板。 (C)见证设计成果。 (D)上述三条的总合。

4.最好的模型将与(B)联系在一起。 (A)Java-Script代码 (B)实体 (C)C++ (D)与面向对象开发者联系在一起的命题 5.(B)项目对建模的要求度最小。 (A)立交桥 (B)沙发 (C)列车 (D)光盘 6.以下RUP中的(D)视聚焦在结构问题上。 (A)用例 (B)处理 (C)实现 (D)逻辑 7.使用UML建模时(C)的处理不是其最基本特征。 (A)迭代与增量 (B)用例驱动 (C)弹性设计 (D)以架构为核心 8.一个对象的状态(C)。

(A)是一个被称为“状态”的属性或属性集 (B)始终不发生常规的变化 (C)被描述成对象的属性和关系 (D)仅是一个对象可能存在的条件 ⒋分析题

指出下列对象之间的关系 ·地球与太阳(关联关系) ·家庭影院与音箱(包容关系) ·信息与印刷品(继承关系) ·钥匙与锁(关联关系) ·灯泡与灯丝(包容关系) ·计算机与打印机(关联关系) ·公司与雇员(包容关系)

·建筑体与墙(包容/继承关系)

②试在下图给定的括号内写出已知关联关系的作用名(Role Name): 张三(通知人)(被通知人)李四 人(老板) (雇员)

③根据给定的C++程序绘制对象模型图

阅读下述C++程序后试在其右侧对应的对象图中填充描述其关系的对象模型符号。

#include using namespace std; class A {

protected: int i; public: A(int x):i(x){} int virtual operator!()=0; };

class B:public A { A* p; public: B(int x,A* y=NULL):A(x){p=y;} int operator!() { if(p)return !*p; else return 1; } };

void main() { A* p1=new B(1); A* p2=new B(2,(A*)p1); cout<

④已知下图所示的某系统中关于A和B的顺序图,图中给出了关于class A的3个不同状态,试绘制与该类对应的状态图,设没有明示的状态迁移视为可通达。

解:经过对图中已知的消息逻辑,绘制出如下图所示的状态图:

⒌C++语言综合题

①设下述C++程序运行于字长为32位的硬件环境中,请在以下C++程序的右侧写出将该源程序变为类模板的对应程序代码。 #include using namespace std; class A { int order; public:

A(){cout<<\ A(int x):order(x){}

int operator!(){return order;}