面向对象分析与设计试题及其答案_第1页
面向对象分析与设计试题及其答案_第2页
面向对象分析与设计试题及其答案_第3页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象分析与设计试题 B 卷一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。每小题 2 分,共 20 分 )1. 到 20 世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。A. Simula67 语言 B. Smalltalk 语言C. Java语言D.统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言 , 其中 ( )是一种混合性面向对象语言 , 既 支持面向过程的程序设计方法, 又支持面向对象的程序设计方法, 有广泛应用的基础和丰

2、富 开发环境的支持,因而使面向对象的程序设计能得到很快普及。A. Smalltalk B. EiffelC. C+D. Java3下列不属于面向对象技术的基本特征的是()。A. 封装性 B. 模块性 C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与 () 封装在一起 ,作为一个相互依存、不可分割的整体来处理。A. 信息B. 数据隐藏 C. 对数据的操作 D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是 ()。A. 与人类习惯的思维方法比较一致B. 可重用性好C.以数据操作为中心D.可维护性好6. ( )是从用户使用系统的角度描述系统功能的图形表达方法。A. 类图

3、B. 对象图7. () 是表达系统类及其相互联系的图示和其他图的基础。A.对象图B.组件图C. 序列图D. 用例图,它是面向对象设计的核心,建立状态图、协作图C. 类图D. 配置图8. ()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。A.对象图B.协作图C. 状态图D. 序列图A. 组件图B. 协作图10. 使用 UML 进行关系数据库的 并把它们映射成为关系数据库表(A.业务Use Case模型设计C. 物理数据模型设计9. ()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。C. 状态图D.

4、配置图)时,需要设计出表达持久数据的实体类及其联系,Table)、视图(View)等。B. 逻辑数据模型设计C. 物理实现设计二、填空题 ( 每空 1 分,共 20 分 )1. 面向对象开发方法一改过去传统的以_功能分析 _为基础的 _面向过程 _的结构化分析与设计方法, 它模拟人们理解和处理客观世界的方式来分析问题, 把系统视为一系列_对象 _的集合,其 _面向对象的设计 _又将分析的结果映射到某种面向对象实现工具的结构上, 使映射过程有着比较直接的对应关系, 使分析者、 设计者和编程者都可使用 相同的 _概念 _,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与 _

5、解空间 _ 在结构上尽可能一致。因此,采用面向对象方法可以更有效地开 发大型软件系统。 面向对象方法的 _封装_、_继承_、_多态 _等机制不仅支持软件复用, 而且使软件维护工作可靠有效, 可实现软件系统的柔性制造, 更好地克服 _软件危机 _。 因此,它已成为成熟的广为采用的软件开发方法。2. 对象是客观实体的抽象表示, 是由 _描述对象属性的数据 _和 _对这些数据进行的操作行 为_两部分组成。 而_类_是对具有相同属性和行为的一组对象的抽象描述。因此, 它可作为一种用户自定义类型和创建对象的样板, 而按照这种样板所创建的一个个具体对象 就是类的 _实例_。通过 _继承_关系又可形成一种类

6、层次结构。3. UML 中用于描述系统的静态建模的视图称为静态视图,包括_用例图 _、_类图 _、_对象图 _、_包图 _和_构件图 _。三、写出下列程序的输出结果。 ( 满分 10 分 )#include <>#include <>class Personpublic:Person(char *s)name=new charstrlen(s)+1;strcpy(name, s);virtual void print() cout<< ”My name is ”<<name<<endl; protected:char *name;cl

7、ass Student:public Person public:Student(char *s, float g):Person(s) avg=g; void print(char *s) cout<<s<< ”My name is “<<name<<”and my grade is”<<avg<<endl; private:float avg;class professor:public Person public:Professor(char *s, int n):Person(s) publs=n; void pr

8、int() cout<<”My name is ”<<name<<”and I have”<<publs<<”publication. ”<<endl; private:int publs;void main(void) Person *p;Person x(“Zhang”);Student y( “Wang”, 4, 2);Professor z(“Liu”, 5);p=&x; p->print();p=&y; p->print();p=&z; p->print(); 【运行结果

9、:My name is ZhangMy name is WangMy name is Liu and I have 5 publications.四. 简答题(每小题 5 分,共 20 分)1. 简述面向对象软件开发方法的优点。2. 简述面向对象技术的三大机制。答:( 1)封装性 (encapsulation)所谓封装就是把对象的属性和行为结合成一个独立的单位, 使外界不能直接访问或修改 这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这 就实现了消息隐蔽。(2) 继承性 如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不 仅继承了前一个类的

10、全部特征, 而且具有新的特性, 因此可看作前一个类的特例, 是对前 一个类的继承。 前一个类称为父类, 新产生的类叫做子类。 通过继承关系可形成一种类层 次结构,叫做继承结构。( 3)多态性在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。3. 简述 OOA 模型的层次结构。答:00A模型采用五层次结构,它们分别是:(1) 对象 -类层划分待开发系统及其环境信息的基本构造单位, 标出反映问题域的对象和类, 并用符号 进行规范的描述,用信息提供者熟悉的术语为对象和类命名。(2) 属性层定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。 标识对象类必需的属性并放在

11、合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。(3)服务层表示对象的服务或行为,即是要定义类上的操作。(4)结构层标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。(5)主题层可将相关类或对象划分为一个主题。4. 简述00D模型的总体结构,并画图表示。【4】答案:00D体系结构的各个部分内容:(1)问题论域部分,在00A模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对 象。(2)人机交互部分:设计用户界面模型 ,该用户界面模型中的类和对象提供实现人机交互操作的接口

12、函数。用户界面设计包括菜单设计、窗口设计、输入 /输出界面设计等等。(3)任务管理部分:建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及 其它与特定平台有关的问题。(4)数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。数据管理设计包括:数据存放设计:数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放)。设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,类和对象的定义中加以描述。class & object layer(类及对象层attribute layer(类及对象层service

13、 layer(服务层struct layer(结构层subject layer(主题层问 题 论 域 部 分人 机 交 互 部 分任 务 管 理 部 分数 据 管 理 部 分<)实例连接服务主题属性消息沪类边界 il实例边界五试用UML对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包 括(1)选课管理功能;(2)成绩管理功能。试完成下列工作:(1 )建立系统静态结构模型 一画出系统用例图和类图;(10分)(2)建立系统动态结构模型 一画出系统序列图和协作图;(10分)(3) 建立关系数据库逻辑模型。(10分)【答案:(1)系统用例图如下-查询课程信息/9 /学生老师选课

14、注册月管理老师信息”管理学生信息管理员亠管理课程信息“管理开设课程(a)选课管理的用例图/、老师学生管理员::查询学生成绩查询课程成绩珂学生成绩管理一*"成绩统计(b)成绩管理的用例图对象类图如下:(a)选课对象类图开设课程课程名 授课日期 授课时间 地点指定老师() 学生满否()学生成绩登记学生名 学期 课程名 成绩 加入成绩() 打印()(b)成绩管理对象类图成绩统计学期课程名成绩按课程统计()按学生统计 o打印()(2)把需要持久存储的数据实体类及其联系,映射成为如下关系数据库表:学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注) 教师(教师号、姓

15、名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)课程(课程号、课程名、描述、学分、学时、性质、备注)开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)】面向对象分析与设计试题C卷一、单项选择题 (在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。每小题 1分,共20分)1面向对象技术的最重要的基本特征是()。A. 抽象性 B.封装性C.多态性D.继承性2. 面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割的整体来处理。A.信息B.数据隐藏C.对数据的操作 D.数据抽象3. 关于面向对象方法的优点,下列不正确的叙

16、述是()。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. 类创建

17、时B. 创建对象时C. 删除对象时D. 不自动调用9. 在公有继承的情况下,基类成员在派生类中的访问权限 ( )A. 受限制 B. 保持不变 C. 受保护 D. 不受保护10. C+ 语言通过 ( ) 来建立类族。A. 类的嵌套 B. 类的继承 C. 虚函数 D. 抽象类11在 UML 中,有 3 种基本构造块,分别是( A)A. 事物、关系和图B. 注释、关系和图C. 事物、关系和结构D. 注释、关系和结构12在 UML 中,有四种关系,下面哪个不是(B)A.依赖关系B继承关系C泛化关系D实现关系13下面哪个不是 UML 中的静态视图()A.状态图B.用例图C对象图D.类图14在用例之间,会

18、有三种不同的关系,下列哪个不是它们之间可能的关系(D)A. 包含(in elude)B.扩展(exte nd )C.泛化(generalization )D.关联(connect)15下列关于活动图的说法错误的是()A. 一张活动图从本质上说是一个流程图,显示从活动到活动的控制流B. 活动图用于对业务过程中顺序和并发的工作流程进行建模。C. 活动图的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流。D. 活动图是 UML 中用于对系统的静态方面建模的五种图中的一种16. 用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关 性的。在一个“订单输入子系统”中

19、,创建新订单和更新订单都需要检查用户帐号是否正确。 那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A. 扩展(exte nd)B.包含(in elude)C分类(classification )D.聚集( aggregati on)17. UML中类的有三种,下面哪个不是其中之一()A.实体类 B.抽象类C控制类D.边界类18阅读图例,判断下列哪个说法是错误的。()千i密者还书交纳罚全A. 读者可以使用系统的还书用例B. 每次执行还书用例都要执行图书查询用例C. 每次执行还书用例都要执行交纳罚金用例D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例19.

20、关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织;B. 协作图是顺序图的一种特例C协作图中有消息流的顺序号;D. 在 ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;20. 在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对 象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。A.组合活动B.同步条C.活动D.泳道二、填空题 ( 每空 1 分,共 20 分 )1. 对象是客观实体的抽象表示,是由 和 两部分组成。而是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用 户自定义类型

21、和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的 。通过 关系又可形成一种类层次结构。 在类层次结构的不同类 中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做2. UML 从不同的视角为系统架构建模,可产生九种视图:3. 是用来反映若干个对象之间动态协作关系的一种交互图。 它主要反映对象之间已发送消息的先后次序和对象之间的交互过程。 是用来描述实现某些服务所涉及的对象及其相互之间的关系(包括消息通信 )的动态视图。建模者可以选择 来反映对象之间的协作关系; 如果需要强调时间和序列,最好选择 ;如果需要强调上下文相关,最好选择三、写出下列程序的输出结果。 ( 满分

22、 10 分 )#include <>#include <>class Personpublic:Person(char *s)name=new charstrlen(s)+1; strcpy(name, s);virtual void print() cout<< ”My name is ”<<name<<endl; protected:char *name;class Student:public Person public:Student(char *s, float g):Person(s) avg=g; void print(

23、char *s) cout<<s<< ”My name is “<<name<<”and my grade is”<<avg<<endl; private:float avg;class professor:public Person public:Professor(char *s, int n):Person(s) publs=n; void print() cout<<”My name is ”<<name<<”and I have”<<publs<<”pu

24、blication. ”<<endl; private:int publs;void main(void) Person *p;Person x(“Zhang”);Student y( “Wang”, 4, 2);Professor z(“Liu”, 5);p=&x; p->print();p=&y; p->print();p=&z; p->print(); 四. 简答题(每小题 4 分,共 20 分)1. 简述统一建模语言 UML 的优点。2. 简述面向对象技术的三大机制。3. 简述面向对象分析的基本步骤。4. 简述 OOD 模型的总体结

25、构,并画图表示。5. 应用 UML 进行系统分析和设计所需建立视图有那几种五. 试用 UML 对图书管理系统及相关的数据库系统进行分析和设计。图书管理系统应实现 (1)借书; (2) 还书;( 3)图书资料和借阅信息查询;( 4)系统维护。试完成下列工作: (1)建立系统静态结构模型 画出系统用例图和类图;( 10 分) (2)建立系统动态结构模型 画出序列例图和协作图;( 10 分) (2)建立关系数据库逻辑模型。( 10 分)面向对象分析与设计试题 D 卷 一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。每小题 1 分,共 20 分 )

26、1. 到 20 世纪末,面向对象软件工程已经逐渐发展成熟,特别是() 的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。A. Simula67 语言B. Smalltalk 语言C. Java语言D.统一建模语言(UML)的标准2下列不属于面向对象技术的基本特征的是()。A. 封装性 B. 模块性 C. 多态性D. 继承性3. 面向对象程序设计将描述事物的数据与 () 封装在一起 ,作为一个相互依存、不可分割的整体来处理。A. 信息B. 数据隐藏 C. 对数据的操作 D. 数据抽象4. C+ 对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A

27、. 增加了一些新的运算符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. 创建对象

28、时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)用来描述系统在事件做出

29、响应时所采取的行动。用例之间是具有相关性的。 在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否 正确。 那么,用例“创建新订单” 、“更新订单” 与用例“检查用户帐号” 之间是( ) 关系。C分类(classification )D.聚集aggregation)15. ( )是描述系统中在某一时刻,一组对象以及它们之间关系的图形,其可以看作是 类图在系统某一时刻的实例。D.部署图下面哪个不是用来描述顺序图的组成部分A.组件图B.类图C.对象图16. 顺序图是强调消息随时间顺序变化的交互图,()A.状态B.生命线C.激活期D.类角色17. 下面哪个选项中有不是活动图中的基本

30、元素 ( )A.状态、分支B.状态、汇合C. 泳道、转移D. 信号、转移18. 以下是图书管理系统中的相关类,属于边界类的是 ( )A.书类B.借书操作界面类C书籍管理类D.读者类( ) 就是进行数据库的需求分析,使用用19. 在用 UML 进行数据库的分析与设计过程中,例图、类图、顺序图、活动图等建立业务模型。A. 逻辑数据模型设计B业务Use Case模型设计C. 物理数据模型设计D. 物理实现设计20. 使用 UML 进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。B. 逻辑数据模型设计C. 物理实现设计A.

31、 业务Use Case模型设计C. 物理数据模型设计 二、填空题 ( 每空 1 分,共 20 分 )1. UML中用于描述系统的静态建模的视图称为静态视图,包括 、 、 和。用于描述系统的 动态建模的视图称为动态视图,包括 、 、 和 。2. 对象是客观实体的抽象表示,是由 和 两部分组成。而 是对具有相同属性 和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创 建对象的样板,而按照这种样板所创建的一个个具体对象就是类的通过 关系又可形成一种类层次结构。3. 是美国 Rational 公司的面向对象建模工具,利用这个工具可以建立用 描述的 的模型, 而且可以自动生成和维护 C+、

32、 Java、 VB、 Oracle 等语言和系统的代码。 的界面分为三个部分 窗口、 窗口和 窗口。三、写出下列程序的输出结果。 ( 满分 10 分 )#include <>#include <>class Base protected:int *p;public:Base(int a=0)p=new int(a);Base() delete p;virtual void print() cout<<"p->"<<*p<<endl; ;class Derived:public Base static int

33、y;public:Derived(int b=0) *p=b; y+;void print() cout<<*p<<','<<y<<endl; ;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. 应

34、用 UML 进行数据库系统分析和设计步骤。五. 试用 UML 对网上超市系统及相关的数据库系统进行分析和设计。请完成下列工作:(1) 建立系统静态结构模型 画出系统用例图和类图;( 10 分)(2) 建立系统动态结构模型 画出序例图和活动图;( 10 分) (2)建立关系数据库逻辑模型。( 10 分)2009-2010第一学期面向对象分析与设计试题一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。每小题 1 分,共 20 分 )1. ( ) 常常被定义成虚函数。A. 构造函数 B. 析构函数 C. 友元函数 D. 静态函数2. ( )是对具有

35、相同属性和行为的对象集合的抽象描述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. 类

36、模板D. STL8. 类的构造函数是在 ( ) 调用的。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

37、泛化关系D聚合/组合关系13. ()是面向对象设计的核心,建立状态图、协作图和其他图的基础。A.对象图B.组件图 C.类图D.序列图14. 下面哪个是 UML中的动态视图()A.用例图B.类图C对象图D.序列图15. 下列说法错误的是()A. 活动图不能用于描述系统业务流程。B. 活动图由一系列的动作状态构成,动作的状态控制可以从一个状态流 向另一个与之相邻的状态。C. 活动图还可以表示决策、条件、动作状态的并行执行、消息的规范说明等内容。D. 协作图可以用来描绘系统业务流程。16. 在一个“图书管理系统”中,借书处理和还书处理都需要先通过身份验证。那么,用 例“借书处理”、“还书处理”与用例

38、“身份验证”之间是()关系A.特化B.泛化C.使用D.扩展17. ()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示 系统中软件和硬件的物理架构。A.对象图B.类图 C组件图D.配置图18. 阅读图例,判断下列哪个说法是错误的。()<<iFrclude»交纳罚主A读者可以使用系统的还书用例B. 每次执行还书用例都要执行图书查询用例C执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例D. 每次执行还书用例都要执行交纳罚金用例19. ()描述了一组交互对象间的动态协作关系,它表示完成某项行为操作的参与对象 和这些对象之间传递消息的时间顺序。A.协作

39、图B.序列图C对象图D.组件图20. ()能够更好地用于对数据库建模。A.传统的ER图B. UML的用例图C. UML的类图D.数据流图二、填空题(每空1分,共20分)1. 面向对象开发方法模拟人们理解和处理客观世界的方式来_(1)_问题,把系统视为一系列(2)的集合,其面向对象的 又将分析的结果映射到某种面向对象工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动, 使_(5)_空间与空间在结构上尽可能一致。因此,采用面向对象方法可以更有 效地开发大型软件系统。面向对象方法的_(7)_、_(8)_、

40、_(9)_态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_(10)_。因此,它已成为成熟的广为采用的软件开发方法。到20世纪末,面向对象软件工程逐渐发展成熟,特别是(11)的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术。2. UML通过9种视图来为系统建模,这9种视图是: (12) 、 (13) 、(14) 、_ (15)、_ (16)、. (17) 、(18)、(19)、(20)。三、写出下列程序的输出结果(满分10分)#inelude <>class pers on public:virtual void show(

41、) cout<< “ is a person ” <<endl;class student:public person public:virtual void show() cout<< It“is a student ” <<endl;void main() person O1, *ps;Student O2;();();ps=&O1;ps->show();ps=&O2;ps->show();四、简答题(每小题 5 分,共 20 分)1. 简述面向对象分析的基本步骤。2. 简述建立面向对象设计模型的方法步骤。3. 简

42、述基于 UML 的面向对象系统开发方法的基本步骤。4. 简述基于 UML 的关系数据库设计的方法步骤。五、请用 UML 对图书借阅管理系统及相关的数据库系统进行分析和设计。图书管理系统应 实现图书资料和借阅信息查询、借书、 还书以及系统维护功能操作。试完成下列工作:(1)画出读者用例图( 5 分)(2)画出“读者查询图书信息”用例的序列图和协作图(10 分)(3)画出设计类图( 10 分);(4)“读者”与“图书”类之间存在多对多的关联,试将这种关联转化为一个关联表。( 5分)2010-2011第一学期 面向对象分析与设计试题一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将

43、正确答案的序号 填在题干的括号内。每小题 1 分,共 20 分 )1. ( )是对具有相同属性和行为的一组对象的抽象描述。A. 实体 B. 对象 C. 类模板 D. 类2. 一类对象向另一类对象所发消息的格式中不包括( )。A. 对象名B. 操作函数名C. 参数表D. 类名3面向对象技术的三大机制不包括( )。A. 抽象B. 封装C. 多态D. 继承4. 从整体功能层面考虑类的设计应遵循下列三条原则,除了( )。A.单一功能原则B.封装原则C.最小惊讶原则D.开放 /封闭原则5. 可以在类外访问类的()。A.私有成员B.受保护性成员C.公有成员D.纯虚函数6. 类的( )是供创建类的实例对象时

44、调用,完成对象的初始化。A.内联函数 B.析构函数 C.友员函数D.构造函数7. 派生类可以继承 ( )。A. 私有成员B. 部分公有成员C. 构造函数D. 析构函数8. 如果合理地利用(),就可以在类的复杂层次关系中为共享访问与成员隐蔽之间找到一个平衡点 ,既实现部分成员隐蔽 ,又能方便部分成员的继承,实现代码的高效重用和扩 充。A. 私有继承 B. 保护继承 C. 公有继承 D. 多继承9. 如果将某类族中的一个同名成员函数说明为虚函数,则可用()来调用不同派生类的虚函数,实现运行时多态。A. 基类对象B. 派生类对象C. 基类对象的指针D. 派生类对象的指针10. C+中既可实现文件输入

45、又可实现文件输出的类是()A. ifstreamB. ofstreamC. iostreamD. fstream11. 基类中的 protected 成员,通过 public 派生,其在派生类中的可见性为 ()。A. 不可访问B. privateC. protectedD. public12. 在C+程序中,对象之间的相互通信可以通过()来实现。A.继承B.调用成员函数C.封装D.函数重载13. ()阶段的主要目标是为了更精确地理解用户需求,并获得一个使用开发人员熟悉的 语言描述的、易于维护且能体现系统基本结构的模型。A.系统需求分析B.系统分析C.系统设计D.系统实现14. 在面向对象程序设

46、计语言中,()是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性。A.封装B.继承C.抽象D.引用15. ()是从用户使用系统的角度描述系统功能的图形表达方法。D.配置图(包括消息通信)的动态视图就称为A.类图B.组件图C.用例图16. 用来描述实现某些服务所涉及的对象及其交互关系(),可用于描绘业务流程。D.活动图D.配置图()描述的是系统的静态组D.类图D.配置图A.对象图B.协作图C.状态图17. ()表示构成系统的代码部件及其相互之间联系的图示。A.状态图B.协作图C组件图18. UML提供了一系列的图支持面向对象的分析与设计,其中织结

47、构和数据结构。A.序列图B协作图C.对象图19. ()是描述系统体系结构的静态实现视图。A.类图B.对象图C.组件图20. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。A.物理数据模型设计C.业务Use Case模型设计B. 物理实现设计C. 逻辑数据模型设计二、填空题(每空1分,共20分)1. 用_ ( 1 ) _机制可以实现发送一个通用消息而调用不同的方法:(2_)机制是实现信息隐蔽的一种技术,其目的是使类的(3)相互分离。2. 类是一组具有相同属性和服务的对象的抽象描述,类中的每个对象都是这个类

48、的一个(4 )。类之间共享属性与服务的机制叫做(5 )o一个对象通过发送_( 6)一来请求另一个对象为其服务。3. 派生类的生成包含三个步骤:_( 7 )_、_( 8 )_和_( 9 )_。4. 二(10) _描述完成某项行为操作的参与对象和这些对象之间传递消息的时间顺序。 (11)描述系统运行过程中某类对象可能具有的状态,以及在不同状态间的跳转和触发这些跳转的外部事件。12可用于描述系统业务流程,它由一系列的动作状态构成,动作的状态控制可以从一个状态流向另一个与之相邻的状态。5. 基于UML的系统分析的主要目标是为了更精确地理解_ (13_) _,并获得一个使用开发人员的语言描述的、易于维护

49、的且能体现系统基本结构的 (14 ) 模型。该模型主要包括(15 ) 和 (16 )。6. 基于UML的关系数据库设计一般可分为4个阶段: (17)、(18 )、( 19 ) 和 ( 20 )。三、写出下列程序的输出结果。(满分10分)class B public:B( ) cout << "B" << endl;virtual void f( ) cout << "B:f" << en dl; virtual B( ) cout << "B" << endl;

50、;Class D: public B private:int d;public:D( ) cout << "D" << endl; void f( ) cout << "D:f" << endl; virtual D( ) cout << "D" << endl; ;void mai n()B* pB;D d1; pB=&d1; pB->f(); delete pB;四简答题(每小题4分,共20分)1. 为什么面向对象方法能更有效地克服软件危机2.

51、如何实现运行时多态3. 基于UML的面向对象系统开发方法包括哪几步4. 简述确定分析类的方法。5. 简述基于UML的数据库系统分析和设计的步骤。五分析与设计题试用UML对开放式学籍管理系统及相关的数据库系统进行分析和设计。学籍管理系统的主要用户是系统管理员和学生:系统管理员使用学籍管理系统来实现教师信息管理、学生信息管理,课程管理、成绩管理和打印报表;学生使用学籍管理系统来实现选课管理和成绩查询。试完成下列工作:(1) 画出学籍管理系统的用例图;(6分)(2)定义学籍管理系统的三个基本分析类;(6分)(3)画出学籍管理系统的类图;(6分)(4)画出学生查询成绩的活动图;(6分)(5)学生类和课

52、程类之间存在多对多的关联,试将这种关联转化为关系数据库模式。( 分)2010-2011第二学期面向对象分析与设计试题A卷一、单项选择题 (在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分)1. 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,属于面向对象分析阶段。A.构建分析模型 B.识别分析类 C.用例动态建模D.评估分析模型2. 在面向对象方法中, 可看成是属性数据以及这些属性数据上的专用操作的封装体。A.实体B.类C.类模板D.对象3. 类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个OA

53、.实体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. 如果某基类的一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论