面向对象复习材料3.docx
- 文档编号:4054925
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:24
- 大小:81.07KB
面向对象复习材料3.docx
《面向对象复习材料3.docx》由会员分享,可在线阅读,更多相关《面向对象复习材料3.docx(24页珍藏版)》请在冰豆网上搜索。
面向对象复习材料3
面向对象分析与设计复习材料3
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2分,共20分)
1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的
形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A.Simula67语言B.Smalltalk语言
C.Java语言D.统一建模语言(UML)的标准
2.面向对象的运动产生了多种面向对象的语言,其中()是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A.SmalltalkB.EiffelC.C++D.Java
3.下列不属于面向对象技术的基本特征的是()。
A.封装性B.模块性C.多态性D.继承性
4.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。
A.信息B.数据隐藏C.对数据的操作D.数据抽象
5.关于面向对象方法的优点,下列不正确的叙述是()。
A.与人类习惯的思维方法比较一致B.可重用性好
C.以数据操作为中心D.可维护性好
6.()是从用户使用系统的角度描述系统功能的图形表达方法。
A.类图B.对象图C.序列图D.用例图
7.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图B.组件图C.类图D.配置图
8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图B.协作图C.状态图D.序列图
9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A.组件图B.协作图C.状态图D.配置图
10.使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
A.业务UseCase模型设计B.逻辑数据模型设计
C.物理数据模型设计C.物理实现设计
二、填空题(每空1分,共20分)
1.面向对象开发方法一改过去传统的以_______________为基础的______________的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_______的集合,其______________又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的______,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与____________在结构上尽可能一致。
因此,采用面向对象方法可以更有效地开发大型软件系统。
面向对象方法的________、________、_________等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服____________。
因此,它已成为成熟的广为采用的软件开发方法。
2.对象是客观实体的抽象表示,是由__________________________和________________________两部分组成。
而______是对具有相同属性和行为的一组对象的抽象描述。
因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___________。
通过________关系又可形成一种类层次结构。
3.UML中用于描述系统的静态建模的视图称为静态视图,包括________、
_________、_________、__________和__________。
三、写出下列程序的输出结果。
(满分10分)
#include
#include
classPerson
{
public:
Person(char*s)
{
name=newchar[strlen(s)+1];
strcpy(name,s);
}
virtualvoidprint()
{cout<<”Mynameis”< protected: char*name; }; classStudent: publicPerson {public: Student(char*s,floatg): Person(s){avg=g;} voidprint(char*s) {cout< private: floatavg; }; classProfessor: publicPerson {public: Professor(char*s,intn): Person(s){publs=n;} voidprint() {cout<<”Mynameis”< <<”publication.”< private: intpubls; }; voidmain(void) {Person*p; Personx(“Zhang”); Studenty(“Wang”,4); Professorz(“Liu”,5); p=&x;p->print(); p=&y;p->print(); p=&z;p->print();} 四.简答题(每小题5分,共20分) 1.简述面向对象软件开发方法的优点。 2.简述面向对象技术的三大机制。 3.简述OOA模型的层次结构。 4.简述OOD模型的总体结构,并画图表示。 五.试用UML对教学管理系统及相关的数据库系统进行分析和设计。 学生选课系统一般包括 (1)选课管理功能; (2)成绩管理功能。 试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分) (2)建立系统动态结构模型—画出系统序列图和协作图;(10分) (3)建立关系数据库逻辑模型。 (10分) ---------------------------------------------------------------------------------------------------------------------- 面向对象分析与设计试题C卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。 每小题1分,共20分) 1.面向对象技术的最重要的基本特征是()。 A.抽象性B.封装性C.多态性D.继承性 2.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。 A.信息B.数据隐藏C.对数据的操作D.数据抽象 3.关于面向对象方法的优点,下列不正确的叙述是()。 A.与人类习惯的思维方法比较一致B.可重用性好 C.以数据操作为中心D.可维护性好 4.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。 A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念 5.下列不属于类的成员函数的是()。 A.构造函数B.析构函数C.友元函数D.拷贝构造函数 6.继承机制的作用是()。 A.信息隐藏B.数据封装C.派生新类D.数据抽象 7.类模板经过实例化而生成具体() A.对象B.模板函数 C.函数模板D.类 8.类的析构函数是在()调用的。 A.类创建时B.创建对象时 C.删除对象时D.不自动调用 9.在公有继承的情况下,基类成员在派生类中的访问权限() A.受限制B.保持不变C.受保护D.不受保护 10.C++语言通过()来建立类族。 A.类的嵌套B.类的继承C.虚函数D.抽象类 11.在UML中,有3种基本构造块,分别是() A.事物、关系和图 B.注释、关系和图 C.事物、关系和结构 D.注释、关系和结构 12.在UML中,有四种关系,下面哪个不是() A.依赖关系 B.继承关系 C.泛化关系D.实现关系 13.下面哪个不是UML中的静态视图() A.状态图 B.用例图 C.对象图 D.类图 14.在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系( ) A.包含(include) B.扩展(extend) C.泛化(generalization) D.关联(connect) 15.下列关于活动图的说法错误的是( ) A.一张活动图从本质上说是一个流程图,显示从活动到活动的控制流 B.活动图用于对业务过程中顺序和并发的工作流程进行建模。 C.活动图的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。 D.活动图是UML中用于对系统的静态方面建模的五种图中的一种 16.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。 用例之间是具有相关性的。 在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。 那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是( )关系 A.扩展(extend) B.包含(include) C.分类(classification) D.聚集(aggregation) 17.UML中类的有三种,下面哪个不是其中之一() A.实体类 B.抽象类 C.控制类 D.边界类 18.阅读图例,判断下列哪个说法是错误的。 ( ) A.读者可以使用系统的还书用例 B.每次执行还书用例都要执行图书查询用例 C.每次执行还书用例都要执行交纳罚金用例 D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例 19.关于协作图的描述,下列哪个不正确( ) A.协作图作为一种交互图,强调的是参加交互的对象的组织; B.协作图是顺序图的一种特例 C.协作图中有消息流的顺序号; D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成; 20.在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。 A.组合活动 B.同步条 C.活动 D.泳道 二、填空题(每空1分,共20分) 1.对象是客观实体的抽象表示,是由___________和___________两部分组成。 而___________是对具有相同属性和行为的一组对象的抽象描述。 因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___________。 通过___________关系又可形成一种类层次结构。 在类层次结构的不同类中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做___________。 2.UML从不同的视角为系统架构建模,可产生九种视图: ________________、_________________、_________________、 ________________、________________、_________________、 ________________、_________________、_________________。 3.________________是用来反映若干个对象之间动态协作关系的一种交互图。 它主要反映对象之间已发送消息的先后次序和对象之间的交互过程。 ________________是用来描述实现某些服务所涉及的对象及其相互之间的关系(包括消息通信)的动态视图。 建模者可以选择______________________________来反映对象之间的协作关系;如果需要强调时间和序列,最好选择________________;如果需要强调上下文相关,最好选择________________。 三、写出下列程序的输出结果。 (满分10分) #include #include classPerson { public: Person(char*s) { name=newchar[strlen(s)+1]; strcpy(name,s); } virtualvoidprint() {cout<<”Mynameis”< protected: char*name; }; classStudent: publicPerson {public: Student(char*s,floatg): Person(s){avg=g;} voidprint(char*s) {cout< private: floatavg; }; classprofessor: publicPerson {public: Professor(char*s,intn): Person(s){publs=n;} voidprint() {cout<<”Mynameis”< <<”publication.”< private: intpubls; }; voidmain(void) {Person*p; Personx(“Zhang”); Studenty(“Wang”,4,2); Professorz(“Liu”,5); p=&x;p->print(); p=&y;p->print(); p=&z;p->print();} 四.简答题(每小题4分,共20分) 1.简述统一建模语言UML的优点。 2.简述面向对象技术的三大机制。 3.简述面向对象分析的基本步骤。 4.简述OOD模型的总体结构,并画图表示。 5.应用UML进行系统分析和设计所需建立视图有那几种? 五.试用UML对图书管理系统及相关的数据库系统进行分析和设计。 图书管理系统应实现 (1)借书; (2)还书;(3)图书资料和借阅信息查询;(4)系统维护。 试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分) (2)建立系统动态结构模型—画出序列例图和协作图;(10分) (2)建立关系数据库逻辑模型。 (10分) --------------------------------------------------------------------------------------------------------------------- 面向对象分析与设计试题D卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。 每小题1分,共20分) 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A.Simula67语言B.Smalltalk语言 C.Java语言D.统一建模语言(UML)的标准 2.下列不属于面向对象技术的基本特征的是()。 A.封装性B.模块性C.多态性D.继承性 3.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。 A.信息B.数据隐藏C.对数据的操作D.数据抽象 4.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。 A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念 5.下列不属于类的成员函数的是()。 A.构造函数B.析构函数C.友元函数D.拷贝构造函数 6.继承机制的作用是()。 A.信息隐藏B.数据封装C.派生新类D.数据抽象 7.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定符() A.公有的B.受保护的C.友员的D.私有的 8.类模板经过实例化而生成具体() A.对象B.模板函数C.函数模板D.类 9.类的构造函数是在()调用的。 A.类创建时B.创建对象时 C.删除对象时D.不自动调用 10在公有继承的情况下,基类成员在派生类中的访问权限() A.受限制B.保持不变C.受保护D.不受保护 11.C++语言通过()来建立类族。 A.类的嵌套B.类的继承C.虚函数D.抽象类 12.UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。 其中( )是面向对象系统建模中最常用的图,用于说明系统的静态设计视图 A.用例图B.类图C.对象图D.序列图 13.当需要描述体系结构的静态实施视图时,应该选择( )。 A.对象图B.组件图C.类图D.配置图 14.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。 用例之间是具有相关性的。 在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。 那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是( )关系。 A.扩展(extend) B.包含(include) C.分类(classification) D.聚集(aggregation) 15.( )是描述系统中在某一时刻,一组对象以及它们之间关系的图形,其可以看作是类图在系统某一时刻的实例。 A.组件图 B.类图 C.对象图 D.部署图 16.顺序图是强调消息随时间顺序变化的交互图,下面哪个不是用来描述顺序图的组成部分( ) A.状态 B.生命线 C.激活期 D.类角色 17.下面哪个选项中有不是活动图中的基本元素() A.状态、分支B.状态、汇合 C.泳道、转移D.信号、转移 18.以下是图书管理系统中的相关类,属于边界类的是() A.书类B.借书操作界面类C.书籍管理类D.读者类 19.在用UML进行数据库的分析与设计过程中,()就是进行数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型。 A.逻辑数据模型设计B业务UseCase模型设计 C.物理数据模型设计D.物理实现设计 20.使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A.业务UseCase模型设计B.逻辑数据模型设计 C.物理数据模型设计C.物理实现设计 二、填空题(每空1分,共20分) 1.UML中用于描述系统的静态建模的视图称为静态视图,包括________、 _________、_________、__________和__________。 用于描述系统的 动态建模的视图称为动态视图,包括________、_________、__________ 和__________。 2.对象是客观实体的抽象表示,是由_________________________和 ________________________两部分组成。 而______是对具有相同属性 和行为的一组对象的抽象描述。 因此,它可作为一种用户自定义类型和创 建对象的样板,而按照这种样板所创建的一个个具体对象就是类的______ 通过________关系又可形成一种类层次结构。 3.________是美国Rational公司的面向对象建模工具,利用这个工具可以建立用_______描述的________的模型,而且可以自动生成和维护C++、Java、VB、Oracle等语言和系统的代码。 ____________的界面分为三个部分——___________窗口、_________窗口和__________窗口。 三、写出下列程序的输出结果。 (满分10分) #include #include classBase{ protected: int*p; public: Base(inta=0){p=newint(a);} ~Base(){deletep;} virtualvoidprint(){cout<<"p->"<<*p< }; classDerived: publicBase{ staticinty; public: Derived(intb=0){*p=b;y++;} voidprint(){cout<<*p<<','< }; intDerived: : y=0; voidmain(void) {Derivedd(10); Base*pb=&d; pb->print(); Derived(20).print(); } 四.简答题(每空4分,共20分) 1.简述UML的优点。 2.简述面向对象技术的三大机制。 3.简述OOA模型的层次结构。 4.简述OOD模型的总体结构,并画图表示。 5.应用UML进行数据库系统分析和设计步骤。 五.试用UML对网上超市系统及相关的数据库系统进行分析和设计。 请完成下列工作:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 复习 材料