版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象分析与设计试题B卷一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分).到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( )的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。A.Simula67语言 B.Smalltalk语言C。Java语言 D.统一建模语言(UML)的标准2。面向对象的运动产生了多种面向对象的语言,其中()是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及.A.Smalltalk B。Eiffel C。C++ D。Java3.下列不属于面向对象技术的基本特征的是()。A。封装性B.模块性 C。多态性 D。继承性.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。A.信息B.数据隐藏 C。对数据的操作D.数据抽象.关于面向对象方法的优点,下列不正确的叙述是().A。与人类习惯的思维方法比较一致 B.可重用性好C。以数据操作为中心 D.可维护性好。()是从用户使用系统的角度描述系统功能的图形表达方法。A.类图 B。对象图C.序列图D.用例图。 ()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。A.对象图B.组件图 C.类图 D.配置图.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序.A.对象图B.协作图 C。状态图D。序列图9。()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。A。组件图B。协作图 C。状态图 D。配置图10.使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。A。业务UseCase模型设计 B.逻辑数据模型设计C。物理数据模型设计 C。物理实现设计二、填空题(每空1分,共20分).面向对象开发方法一改过去传统的以___功能分析___为基础的__面向过程__的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列__对象_的集合,其__面向对象的设计__又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的_概念_,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与_解空间__在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的_封装_、_继承_、__多态_等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_软件危机__。因此,它已成为成熟的广为采用的软件开发方法。.对象是客观实体的抽象表示,是由__描述对象属性的数据__和_对这些数据进行的操作行为__两部分组成.而_类_是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的__实例__.通过_继承__关系又可形成一种类层次结构。.UML中用于描述系统的静态建模的视图称为静态视图,包括_用例图__、_类图__、_对象图__、__包图__和__构件图_。三、写出下列程序的输出结果。(满分10分)#include<iostream。h>#include〈string.h〉classPerson{public:Person(char*s){name=newchar[strlen(s)+1];strcpy(name,s);}virtualvoidprint(){cout〈<"Mynameis”<〈name〈<endl;}protected:char*name;};classStudent:publicPerson{public:Student(char*s,floatg):Person(s) {avg=g;}voidprint(char*s){cout<<s〈<"Mynameis“<〈name<<"andmygradeis”〈〈avg<<endl;}private:floatavg;};classprofessor:publicPerson{public:Professor(char*s,intn):Person(s){publs=n;}voidprint(){cout〈〈”Mynameis”〈<name<<"andIhave"〈〈publs〈<"publication.”〈<endl; }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();}【运行结果:MynameisZhangMynameisWangMynameisLiuandIhave5publications.四。简答题(每小题5分,共20分).简述面向对象软件开发方法的优点。。简述面向对象技术的三大机制。答:(1)封装性(encapsulation)所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽.(2)继承性如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承.前一个类称为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构。(3)多态性在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。.简述OOA模型的层次结构.答:OOA模型采用五层次结构,它们分别是:(1)对象-类层划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。
(2)属性层定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中.标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。(3)服务层表示对象的服务或行为,即是要定义类上的操作。(4)结构层标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用”整体-部分”关系表示;当一个类属于另一个类时,用类之间继承关系表示。(5)主题层可将相关类或对象划分为一个主题。4。简述OOD模型的总体结构,并画图表示。【4】答案:OOD体系结构的各个部分内容:(1)问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。(2)人机交互部分:设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。用户界面设计包括菜单设计、窗口设计、输入/输出界面设计等等.(3)任务管理部分:建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。(4)数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。数据管理设计包括:—数据存放设计:数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放).—设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。问题论域部位人机交互部金任务管理部处数据管理部分问题论域部位人机交互部金任务管理部处数据管理部分class&objectlayer(class&objectlayer(类及对象层)attributelayer(类及对象层)servicelayer(服务层)实例边界structlayer(结构层)服务structlayer(结构层)服务subjectlayer(主题层)r"lF"1o主题图1.5OOD模型的总体结构}五.试用UML对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包括(1)选课管理功能;(2)成绩管理功能。试完成下列工作:(1)建立系统静态结构模型—画出系统用例图和类图;(10分)(2)建立系统动态结构模型-画出系统序列图和协作图;(10分)(3)建立关系数据库逻辑模型。(10分)【答案:(1)系统用例图如下学生,《管理老师信息学生 *管理学生信息
管理员学生,《管理老师信息学生 *管理学生信息
管理员管理课程信息♦■管理开设课程学生成绩管理管理员(a(a)选课管理的用例图(b)成绩管理的用例图对象类图如下:教师课程学生编号1* 0*课程名描述1*0*编号姓名1姓名地址中话开设课程学时选修课程地址中话课程名加入课程()学生名课程名学期授课日期授课时间地点指定老师()学生满否() 增加记录()选课统计() 开设课程学生成绩登记课程名学生名授课日期学期授课时间课程名开设课程学生成绩登记课程名学生名授课日期学期授课时间课程名地点成绩指定老师()加入成绩()学生满否()打印()印1A成绩统计学期课程名成绩 按课程统计()按学生统计()打印() (b)成绩管理对象类图(2)把需要持久存储的数据实体类及其联系,映射成为如下关系数据库表:学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注)教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)课程(课程号、课程名、描述、学分、学时、性质、备注)开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)】面向对象分析与设计试题C卷一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内.每小题1分,共20分)1。面向对象技术的最重要的基本特征是()。A.抽象性 B。封装性C。多态性 D。继承性面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。A。信息B.数据隐藏C。对数据的操作D.数据抽象关于面向对象方法的优点,下列不正确的叙述是()。
B.可重用性好D.B.可重用性好D.可维护性好C.以数据操作为中心C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A。增加了一些新的运算符 B。允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念下列不属于类的成员函数的是()。A。构造函数 B.析构函数C。友元函数 D.拷贝构造函数继承机制的作用是()。A。信息隐藏 B。数据封装C.派生新类 D.数据抽象类模板经过实例化而生成具体()A.对象 B.模板函数C.函数模板 D.类类的析构函数是在()调用的。A.类创建时 B。创建对象时C。删除对象时 D。不自动调用在公有继承的情况下,基类成员在派生类中的访问权限()A.受限制B。保持不变 C。受保护 D.不受保护10。C++语言通过()来建立类族。A.类的嵌套B。类的继承C。虚函数D.抽象类.在UML中,有3种基本构造块,分别是(A)A。事物、关系和图 B.注释、关系和图C.事物、关系和结构 D.注释、关系和结构.在UML中,有四种关系,下面哪个不是(BA.依赖关系 B.继承关系 C.泛化关系 D.实现关系.下面哪个不是UML中的静态视图()A.状态图 B。用例图 C.对象图D.类图14.在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include) B。扩展(extend)C。泛化C。泛化(generalization)D.关联(connect)15.下列关于活动图的说法错误的是()一张活动图从本质上说是一个流程图,显示从活动到活动的控制流活动图用于对业务过程中顺序和并发的工作流程进行建模。活动图的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。D.活动图是UML中用于对系统的静态方面建模的五种图中的一种16.用例(Use—case)用来描述系统在事件做出响应时所采取的行动用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A。扩展(extend) B.包含(include)C.分类(classification) D.聚集(aggregation).UML中类的有三种,下面哪个不是其中之一()A.实体类 B.抽象类 C.控制类 D.边界类.阅读图例,判断下列哪个说法是错误的。( )- f<<:inc5ude»A <-> O读者 点书 - Q可查询1
.,<^ex1errd^>"-。交纳费金A。读者可以使用系统的还书用例B.每次执行还书用例都要执行图书查询用例C.每次执行还书用例都要执行交纳罚金用例D。执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例.关于协作图的描述,下列哪个不正确(B)A。协作图作为一种交互图,强调的是参加交互的对象的组织;B。协作图是顺序图的一种特例C。协作图中有消息流的顺序号;D。在ROSE工具中,协作图可在顺序图的基础上按用5”键自动生成;.在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。A.组合活动 B.同步条 C.活动 D.泳道二、填空题(每空1分,共20分)1。对象是客观实体的抽象表示,是由和两部分组成。而是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的。通过关系又可形成一种类层次结构.在类层次结构的不同类中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做2。UML从不同的视角为系统架构建模,可产生九种视图:、、、、、、、 、 。3。 是用来反映若干个对象之间动态协作关系的一种交互图。它主要反映对象之间已发送消息的先后次序和对象之间的交互过程。 是用来描述实现某些服务所涉及的对象及其相互之间的关系(包括消息通信)的动态视图。建模者可以选择 来反映对象之间的协作关系;如果需要强调时间和序列,最好选择 ;如果需要强调上下文相关,最好选择 。三、写出下列程序的输出结果。(满分10分)#include<iostreamh>#include<stringh〉classPerson{public:Person(char*s){name=newchar[strlen(s)+1];strcpy(name,s);}virtualvoidprint(){cout〈<”Mynameis”<<name<<endl;}protected:char*name;};classStudent:publicPerson{public:Student(char*s,floa)t:gPerson(s){avg=g;}voidprint(cha*rs){cout<<s<<”Mynameis<<name<<%ndmygradei”<<avg<<endl;}private:floatavg;};classprofesso:rpublicPerson{publi:cProfessor(char火s,int)n:Person(s){publs=n}voidprint(){cou<t<”Mynameis”<<name<<”andIhav”e<<publs<<”publication<."<endl;}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分).简述统一建模语言UML的优点。.简述面向对象技术的三大机制。。简述面向对象分析的基本步骤。.简述OOD模型的总体结构,并画图表示。5。应用UML进行系统分析和设计所需建立视图有那几种?五。试用UML对图书管理系统及相关的数据库系统进行分析和设计。图书管理系统应实现(1)借书;(2)还书;(3)图书资料和借阅信息查询;(4)系统维护。试完成下列工作:(1)建立系统静态结构模型—画出系统用例图和类图;(10分)(2)建立系统动态结构模型—画出序列例图和协作图;(10分)(2)建立关系数据库逻辑模型。(10分)面向对象分析与设计试题D卷一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内.每小题1分,共20分).到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( )的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法.A.Simula67语言 B。Smalltalk语言C.Java语言 D。统一建模语言(UML)的标准2.下列不属于面向对象技术的基本特征的是().A。封装性B.模块性 C。多态性 D.继承性面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理.A。信息B。数据隐藏 C。对数据的操作D。数据抽象C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数C。规定函数说明符必须用原型D.引进了类和对象的概念下列不属于类的成员函数的是()。A。构造函数B。析构函数 C.友元函数D。拷贝构造函数继承机制的作用是()。A。信息隐藏B。数据封装 C。派生新类 D.数据抽象通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定符()A.公有的 B。受保护的 C.友员的D。私有的类模板经过实例化而生成具体()A。对象B。模板函数C。函数模板 D.类类的构造函数是在()调用的.A。类创建时 B.创建对象时C.删除对象时 D。不自动调用10在公有继承的情况下,基类成员在派生类中的访问权限()A.受限制B。保持不变C。受保护 D。不受保护11.C++语言通过()来建立类族。A.类的嵌套 B。类的继承C.虚函数D。抽象类12。UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化其中()是面向对象系统建模中最常用的图,用于说明系统的静态设计视图A。用例图B.类图C。对象图D。序列图.当需要描述体系结构的静态实施视图时,应该选择()。A.对象图B.组件图 C。类图 D。配置图.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统"中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系.A。扩展(extend) B.包含(include)C。分类(classification) D.聚集(aggregation).()是描述系统中在某一时刻,一组对象以及它们之间关系的图形,其可以看作是类图在系统某一时刻的实例.A.组件图 B.类图C.对象图 D.部署图16。顺序图是强调消息随时间顺序变化的交互图,下面哪个不是用来描述顺序图的组成部分()A。状态 B.生命线C.激活期 D。类角色17。下面哪个选项中有不是活动图中的基本元素()A.状态、分支 B.状态、汇合C。泳道、转移 D。信号、转移.以下是图书管理系统中的相关类,属于边界类的是()A.书类 B.借书操作界面类C。书籍管理类D。读者类.在用UML进行数据库的分析与设计过程中,()就是进行数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型.A。逻辑数据模型设计 B业务UseCase模型设计C。物理数据模型设计 D.物理实现设计.使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等.A。业务UseCase模型设计 B.逻辑数据模型设计C.物理数据模型设计 C。物理实现设计二、填空题(每空1分,共20分).UML中用于描述系统的静态建模的视图称为静态视图,包括 、 、 和 。用于描述系统的动态建模的视图称为动态视图,包括 、 、 和 。。对象是客观实体的抽象表示,是由 和 两部分组成.而 是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的 通过 关系又可形成一种类层次结构。.是美国Rational公司的面向对象建模工具,利用这个工具可以建立用描述的的模型,而且可以自动生成和维护C++、Java、VB、Oracle等语言和系统的代码。 的界面分为三个部分—— 窗口、 窗口和 窗口。三、写出下列程序的输出结果。(满分10分)#include〈iostream。h>#include〈string。h〉classBase{protected:int*p;public:Base(inta=0){p=newint(a);}〜Base(){deletep;}virtualvoidprint(){cout<〈”p->”〈〈*p〈〈endl;}};classDerived:publicBase{staticinty;public:Derived(intb=0) {*p=b;y++;}voidprint(){cout〈〈*p〈〈',‘〈<y<〈endl;}};intDerived::y=0;voidmain(void){Derivedd(10);Base*pb=&d;pb->print();Derived(20).print();}四。简答题(每空4分,共20分).简述UML的优点。.简述面向对象技术的三大机制。3。简述OOA模型的层次结构.4.简述OOD模型的总体结构,并画图表示。5。应用UML进行数据库系统分析和设计步骤。五.试用UML对网上超市系统及相关的数据库系统进行分析和设计.请完成下列工作:(1)建立系统静态结构模型—画出系统用例图和类图;(10分)(2)建立系统动态结构模型-画出序例图和活动图;(10分)(2)建立关系数据库逻辑模型。(10分)2009—2010第一学期面向对象分析与设计试题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)()常常被定义成虚函数.A.构造函数B.析构函数C.友元函数 D。静态函数()是对具有相同属性和行为的对象集合的抽象描述A。系统B.实体 C。对象 D。类封装的目的是实现信息的有效()A。共享 B。隐蔽C。操作 D.继承()是实现“一种接口,多种方法”的技术。A.抽象性B。封装性 C。多态性D.继承性5。C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A。增加了一些新的运算符 B。引进了类和对象的概念C.允许类的继承和派生 D.允许函数重载.继承机制的作用是().A。信息隐藏 B。数据封装 C.数据抽象 D.软件重用.()经过实例化而生成具体的类。A.对象B。函数模板 C.类模板D.STL。类的构造函数是在()调用的。A。类创建时 B.创建对象时C。删除对象时 D.不自动调用9。在保护性继承的情况下,基类的public和protected成员在派生类中变为()成员。A.公有B.私有C.受保护D.任意10。下列哪种做法不符合面向对象设计的原则( )。类与类之间的耦合应该很松散继承耦合应尽可能松散继承耦合应尽可能紧密D.设计应该具有最优的可重用性11.()是从用户使用系统的角度描述系统功能的图形表达方法。A.对象图B。类图C。序列图D.用例图12.在对象模型中,()体现了继承性概念.A。关联B。依赖关系 C。泛化关系 D。聚合/组合关系. ()是面向对象设计的核心,建立状态图、协作图和其他图的基础.A.对象图B.组件图C.类图D.序列图.下面哪个是UML中的动态视图()A.用例图 B.类图 C。对象图D。序列图15.下列说法错误的是()A.活动图不能用于描述系统业务流程。活动图由一系列的动作状态构成,动作的状态控制可以从一个状态流向另一个与之相邻的状态。活动图还可以表示决策、条件、动作状态的并行执行、消息的规范说明等内容。协作图可以用来描绘系统业务流程。16.在一个“图书管理系统”中,借书处理和还书处理都需要先通过身份验证。那么,用例“借书处理”、“还书处理”与用例“身份验证”之间是()关系A。特化 B。泛化 C.使用 D。扩展17.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。A.对象图 B。类图 C。组件图 D.配置图18.阅读图例,判断下列哪个说法是错误的.( )《■ 「—<^indkjde»A <ZD谏者 还书一 国可查询1一,X。交纳北金A。读者可以使用系统的还书用例B.每次执行还书用例都要执行图书查询用例C。执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例D。每次执行还书用例都要执行交纳罚金用例.()描述了一组交互对象间的动态协作关系,它表示完成某项行为操作的参与对象和这些对象之间传递消息的时间顺序。A。协作图B。序列图C。对象图D.组件图.()能够更好地用于对数据库建模.A.传统的ER图 B.UML的用例图C.UML的类图 D.数据流图二、填空题(每空1分,共20分).面向对象开发方法模拟人们理解和处理客观世界的方式来」1__问题,把系统视为一系列一()__的集合,其面向对象的一0_又将分析的结果映射到某种面向对象」4__工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使一(5)—空间与_(6)__空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的一(7)__、,8)__、 _(9)__态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服__3^.因此,它已成为成熟的广为采用的软件开发方法。到20世纪末,面向对象软件工程逐渐发展成熟,特别是一(11__的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术.2。UML通过9种视图来为系统建模,这9种视图是:(12)、 (13)、 (14)、、 (16) 、 一(17)、一(18) 、 (19) 、 (20).三、写出下列程序的输出结果(满分10分)#include<iostream.h〉classperson{public:virtualvoidshow(){cout<<“Itisaperson”〈〈endl;}};classstudent:publicperson{public:virtualvoidshow(){cout<〈“Itisastudent”〈〈endl;}};voidmain(){personO1,*ps;StudentO2;O1.show();O2.show();ps=&O1;ps-〉show();ps=&O2;ps-〉show();}四、简答题(每小题5分,共20分)。简述面向对象分析的基本步骤。。简述建立面向对象设计模型的方法步骤。.简述基于UML的面向对象系统开发方法的基本步骤..简述基于UML的关系数据库设计的方法步骤。五、请用UML对图书借阅管理系统及相关的数据库系统进行分析和设计.图书管理系统应实现图书资料和借阅信息查询、借书、还书以及系统维护功能操作。试完成下列工作:(1)画出读者用例图(5分)(2)画出“读者查询图书信息”用例的序列图和协作图(10分)(3)画出设计类图(10分);(4)“读者"与“图书"类之间存在多对多的关联,试将这种关联转化为一个关联表.(5分)---2010—2011第一学期面向对象分析与设计试题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分).()是对具有相同属性和行为的一组对象的抽象描述。A。实体B。对象 C.类模板D.类。一类对象向另一类对象所发消息的格式中不包括().A.对象名B.操作函数名C.参数表 D。类名3.面向对象技术的三大机制不包括( ).A.抽象B.封装 C。多态 D。继承4。从整体功能层面考虑类的设计应遵循下列三条原则,除了( )。A.单一功能原则 B。封装原则C.最小惊讶原则C.最小惊讶原则5。可以在类外访问类的(A.私有成员C.公有成员D。开放/封闭原则)。B。受保护性成员D.纯虚函数C.基类对象的指针C.基类对象的指针D.派生类对象的指针.类的( )是供创建类的实例对象时调用,完成对象的初始化.A.内联函数 B。析构函数 C。友员函数D。构造函数.派生类可以继承()。A。私有成员 B。部分公有成员C.构造函数 D。析构函数。如果合理地利用(),就可以在类的复杂层次关系中为共享访问与成员隐蔽之间找到一个平衡点,既实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。A。私有继承B。保护继承C。公有继承D.多继承.如果将某类族中的一个同名成员函数说明为虚函数,则可用()来调用不同派生类的虚函数,实现运行时多态.A.基类对象B。A.基类对象10。C++中既可实现文件输入又可实现文件输出的类是()A。ifstreamB.ofstream C。iostreamD.fstream11.基类中的protected成员,通过public派生,其在派生类中的可见性为()。A.不可访问 B.privateC。protected D。public12。在C++程序中,对象之间的相互通信可以通过()来实现.A.继承 B.调用成员函数C封装 D.函数重载13.()阶段的主要目标是为了更精确地理解用户需求,并获得一个使用开发人员熟悉的语言描述的、易于维护且能体现系统基本结构的模型。A.系统需求分析 B。系统分析C.系统设计 D。系统实现14。在面向对象程序设计语言中,()是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性.A.封装 B.继承 C.抽象 D。引用15。()是从用户使用系统的角度描述系统功能的图形表达方法。A.类图 B.组件图 C.用例图 D.配置图16。用来描述实现某些服务所涉及的对象及其交互关系(包括消息通信)的动态视图就称为(),可用于描绘业务流程。A.对象图 B。协作图 C。状态图 D。活动图17。()表示构成系统的代码部件及其相互之间联系的图示.A。状态图 B.协作图 C。组件图 D.配置图18。UML提供了一系列的图支持面向对象的分析与设计,其中()描述的是系统的静态组织结构和数据结构。A。序列图B协作图C.对象图D。类图.( )是描述系统体系结构的静态实现视图.A.类图 B.对象图C。组件图D。配置图.使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。A.物理数据模型设计 B。物理实现设计C。业务UseCase模型设计 C。逻辑数据模型设计二、填空题(每空1分,共20分).用_(1)_机制可以实现发送一个通用消息而调用不同的方法;工_2_)机制是实现信息隐蔽的一种技术,其目的是使类的_3)_相互分离..类是一组具有相同属性和服务的对象的抽象描述,类中的每个对象都是这个类的一个_(4)_。类之间共享属性与服务的机制叫做_(5)。一个对象通过发送—(6)_来请求另一个对象为其服务。3。派生类的生成包含三个步骤:_(7)_、_(8)_和_(9)_.。一(10)_描述完成某项行为操作的参与对象和这些对象之间传递消息的时间顺序。一(11)_描述系统运行过程中某类对象可能具有的状态,以及在不同状态间的跳转和触发这些跳转的外部事件。_12可用于描述系统业务流程,它由一系列的动作状态构成,动作的状态控制可以从一个状态流向另一个与之相邻的状态。.基于UML的系统分析的主要目标是为了更精确地理解_(13_),并获得一个使用开发人员的语言描述的、易于维护的且能体现系统基本结构的(14)模型。该模型主要包括_(15_)和(16_)。.基于UML的关系数据库设计一般可分为4个阶段:(17)、(18)、(19)和(20)。三、写出下列程序的输出结果。(满分10分)classB{public:B(){cout<<”B"<〈endl;}virtualvoidf(){cout〈〈"B::f"<〈endl;}virtual~B() {cout<〈"〜B"〈〈endl;}};ClassD:publicB{private:intd;public:D(){cout<<”D”<<endl;}voidf() {cout〈<"D::f"<〈endl; }virtual~D(){cout〈<“〜D”<〈endl;}};voidmain(){B*pB;Dd1;pB=&d1;pB-〉f();deletepB;}四。简答题(每小题4分,共20分)。为什么面向对象方法能更有效地克服软件危机?.如何实现运行时多态?.基于UML的面向对象系统开发方法包括哪几步?.简述确定分析类的方法。5。简述基于UML的数据库系统分析和设计的步骤.五。分析与设计题试用UML对开放式学籍管理系统及相关的数据库系统进行分析和设计。学籍管理系统的主要用户是系统管理员和学生:系统管理员使用学籍管理系统来实现教师信息管理、学生信息管理,课程管理、成绩管理和打印报表;学生使用学籍管理系统来实现选课管理和成绩查询。试完成下列工作:(1)画出学籍管理系统的用例图;(6分)(2)定义学籍管理系统的三个基本分析类;(6分)(3)画出学籍管理系统的类图;(6分)(4)画出学生查询成绩的活动图;(6分)(5)学生类和课程类之间存在多对多的关联,试将这种关联转化为关系数据库模式。(6分)2010-2011第二学期面向对象分析与设计试题A卷一、单项选择题(在每小题的四个备选答案中,选出一个正确答案并将正确答案的序号填在题干的括号内。每小题1分,共20分)1.面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,不属于面向对象分析阶段。A.构建分析模型B.识别分析类C用例动态建模D.评估分析模型2。在面向对象方法中, 可看成是属性数据以及这些属性数据上的专用操作的封装体。A。实体B。类 C.类模板D.对象。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个A。实体B.实例C.用例 D.组件.一个对象通过发送 来请求另一对象为其服务.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.继承.如果某基类的一个成员函数被说明为 ,则该成员函数在派生类中可以有不同的函数实现。A。内联函数 B。静态函数 C.友元函数 D.虚函数.在二进制模式下,可利用文件输入/输出流类中定义的——函数将所有数据以字符形式存储到文件里.A。load B。save C。writeD。read.基类中的public成员,通过protected派生,其在派生类中的可见性为.A。pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融行业区块链金融服务方案
- IoT技术在制造业的应用指南
- 市场调查新方法探讨考核试卷
- 塑料零件加工工艺流程考核试卷
- PET瓶回收再利用技术研发及产业化项目投资合同书
- 信用体系建设与监管要求考核试卷
- 餐饮外卖平台快速配送与顾客体验优化方案
- 差分异或门课程设计
- 幼儿园奥运爱国课程设计
- 零售连锁行业统一采购与配送管理方案
- 部编版语文五年级下册第二单元走进中国古典名著 大单元整体教学设计
- 开诊所可行性分析报告
- 项目复盘工作报告(模版)课件
- 设备操作手册编写与更新方法和技巧讲解与实操演示
- 心力衰竭治疗中的体外机械循环辅助
- 《无线局域网》课件
- 益丰大药房入职测评题库
- 排水沟修复方案
- 人教版五年级数学上册专项计算题12套(每日一练)
- RB-T 131-2022 绿色钢材产品评价要求
- 护理质量管理实践课件
评论
0/150
提交评论