最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

面向对象分析与设计试题A卷及答案

来源:动视网 责编:小OO 时间:2025-09-24 10:30:39
文档

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题A卷及答案一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。每小题1分,共20分)1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。A.OMTB.OOSEC.C++D.UML2.(D)为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。A.封装机制B.抽象机制C.多态机制D.继承机制3.面向对象程序设计中用(C)来描述
推荐度:
导读面向对象分析与设计试题A卷及答案一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。每小题1分,共20分)1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。A.OMTB.OOSEC.C++D.UML2.(D)为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。A.封装机制B.抽象机制C.多态机制D.继承机制3.面向对象程序设计中用(C)来描述
     面向对象分析与设计试题A卷及答案

一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。每小题 1 分,共 20 分 ) 

1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D  ) 的 

出现和广泛使用,使面向对象方法成为了软件开发的主流方法。 

A. OMT          B. OOSE        C.  C++             D. UML

2.(  D )为编程人员提供了重复利用程序资源的一种途径,使编程人员

可以扩充和完善旧的程序以适用新的需求。

A. 封装机制     B. 抽象机制     C. 多态机制      D. 继承机制 

3. 面向对象程序设计中用( C ) 来描述具有相同属性和行为的对象集合。

A. 实体         B. 对象         C. 类            D. 类模板 

4. 下列语言中, ( D ) 是一种混合型面向对象编程语言。

A. C语言       B. Java语言     C.  Basic语言    D. C++语言 

5. 下列不属于类的成员函数的是 (D )。 

A. 构造函数    B. 析构函数     C. 缺省构造函数    D. 友元函数 

6. 多态机制的作用是 ( B )。 

A. 信息隐藏                   B. 实现“一种接口,多种方法”

   C. 派生新类                   D. 数据抽象 

7. 合理地利用( B ), 既可以实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。

A.公有继承      B.保护继承      C.友员函数       D.私有继承

8. (   C )经过实例化而生成具体的类。 

A.抽象类       B.函数模板      C.类模板         D.对象

9. 类的析构造函数是在 (  C  ) 时调用的。 

A.不自动调用   B.创建对象  C.删除对象   D.创建派生类对象

10.在公有继承的情况下,基类的(  C)成员无法继承到派生类中。

A. 公有成员    B. 保护成员     C. 私有成员      D. 静态成员 

11. 在类族过定义 ( D ) 来实现运行时多态。

A. 类的嵌套     B. 类的继承     C. 抽象类         D. 虚函数

12. UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中( C)不属于这类视图。

    A. 对象图        B. 类图        C. 协作图       D.组件图

13.( D  )是从用户使用系统的角度描述系统功能的图形表达方法。 

    A.序列图       B. 协作图       C. 类图         D. 用例图

14. 在一个“库存管理系统”中,入库管理和出库管理都需要检查用户是否正确。那么,用例“入库管理”、“出库管理”与用例“检查用户”之间是(B )关系。

    A.扩展         B.包含            C.使用          D.泛化

15.( B )是表达构成系统的类及其相互联系的图示。

    A. 对象图      B.类图      C.组件图   D.配置图

16. (D )是用来描述实现某些服务所涉及的对象及其相互之间的协作关系(包括消息通信)的动态视图。

    A.状态图       B.活动图        C.序列图          D.协作图

17. 下面哪个选项中 ( C )不是序列图中的基本元素。

A.对象       B. 生命线      C. 泳道            D. 消息

18. 以下是图书管理系统的相关类,属于控制类的是(C)

A.图书类     B. 读者类    C.身份验证类      D.借书操作界面类

19. 在用UML进行数据库的分析与设计过程中,(B ) 就是进行数据库的需求分析,使用用例图等建立业务模型。

A. 逻辑数据模型设计              B 业务Use Case模型设计  

C. 物理数据模型设计              D. 物理实现设计

20. 基于UML的关系数据库设计中,将类与类之间“多对多”的关联映射成关系数据模型时应建立一个( C )来实现多对多的关联。

    A. 视图        B. 超类表        C.关联表           C. 子表

二、填空题 ( 每空 1 分,共 20 分 )

1. 作为模拟人们_理解_和_处理_客观世界思维方式的面向对象技

术,它也提供了_继承_的机制,使_继承性_成为了 C++面向对象技

术的最重要的基本特征。即C++面向对象技术将具有共性的事物抽象成

_类_,允许定义新的_派生类_,并建立合理的_层次_结构,以

精确地描述客观事物之间的联系。 C++的这种机制为编程人员提供了

_重复利用_程序资源的一种途径,编程人员可以扩充和完善_旧的程序_以适用_新的需求_,可用继承机制实现代码重用和代码扩充,大大提高程序的

开发效率。

2. 使用UML进行数据库设计,可以把_数据库设计_与_应用程序设计_结合在一起进行。传统的_ER图_仅仅着眼于数据的描述,而基于UML的_对象类图_不但对数据建模,而且能对_行为_建模。所以,使用 UML能够更好地对数据库建模。逻辑数据模型设计的主要任务是确定应用系统所需要的持久数据。使用_类图_等建立数据库逻辑模型。如果是关系数据库设计,则需要设计出表达持久数据的_实体类_及其_联系_,并把它们映射成为_关系数据库表_、_视图 _等。

三、写出下列程序的输出结果。 ( 满分 10 分 ) 

#include

class A

{   public:

virtual void print(){cout<< " printing of class A. " << endl; }; };

class B: publicA

{   public:

void print(){  } ;   };

class C: public B

{    public:

void print(){cout<< " printing of class C. " <void main()

{       A a,*p;

B b;

C c;

p=&a; p->print();

p=&b; p->print();

p=&c; p->print(); }

运行结果: printing of class A.

   printing of class C.

四. 简答题

1. 简述面向对象技术发展的动因。

答:面向对象开发方法一改过去传统的以功能分析为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。

2. 如何实现运行时多态?

答:在类层次结构的不同类中,将函数名相同但实现功能不同的函数定义为虚函数。然后定义一个基类的对象指针就可以指向不同派生类的对象,来调用不同派生类的虚函数,实现运行时多态。

3. 简述基于UML的面向对象分析与设计的方法步骤。

答:基于UML的面向对象系统开发方法也可以分为如下步骤:

(1)系统需求—用用户能懂的语言—用例描述用户需求;

(2)系统分析—用开发人员的语言描述用户需求,获得类图和对象图,作为构造系统的分析模型;

(3)系统设计—用编程语言更精确地描述类图和对象图,为将类图和对象图映射到编码系统做好准备。

(4)系统实现—用源代码、脚本语言、二进制代码、可执行子程序或组件实现系统。

4. 简述基于UML的数据库系统分析和设计的方法步骤

基于UML的关系数据库设计与传统的关系数据库设计的过程类似,一般分为4个阶段:(1)业务Use Case模型设计:就是进行数据库的需求分析,使用用例图等建立业务模型。(2)逻辑数据模型设计:主要是确定应用系统所需要的持久数据。使用类图、顺序图、活动图、状态图等建立数据库逻辑模型。如果是关系数据库设计,则需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。(3)物理数据模型设计:使用类图、组件图、配置图等,设计数据库的物理模型。(4)物理实现设计:把物理数据模型转换成实际环境中的数据库系统。结合实际的数据库环境,定义构成数据库的基本表、文件的组织方式和处理方式等。 

五. 试用UML对新闻发布系统及相关的数据库系统进行分析和设计。

假设管理员可以在后台对新闻、评论、注册会员进行管理,并发布新闻;任何游客可以浏览新闻,浏览者注册后可以成为系统会员;注册会员可以发表新闻评论。新闻信息实体的主要属性主要包含标题(title)、容(content)、发布日期(DateTime),主要操作有添加新闻(Addnews)、删除新闻(Delnews)、修改新闻(Modinews); 评论实体的主要属性包含新闻标识(ArticleID)、评论者名(UserName)和评论容(body),主要操作有添加评论(AddRemark)、删除评论(DelRemark); 会员实体的主要属性有会员编号(MemberNo)、会员密码(Memberpsw)、会员名字(MemberName)、会员描述(MemberDesc)等,主要操作有登陆(Login);管理员实体的主要属性有管理员编号(AdmNo)、会员密码(Admpsw)、会员名字(AdmName)等, 主要操作有添加用户(Adduser)、删除新闻(Deluser)。

请完成下列工作:

(1)画出系统用例图;(10分)

(2)画出分析类图;(5分)

(3)画出“新闻管理”的活动图;(5分)

(4)将类图转换成关系数据库逻辑模型。(10分)

5.(1) 系统用例图如下

答(1)系统用例图如下

(2)类图如下

    

(3)“新闻管理”的活动图如下: 

(4)只需将其中的类转换成对应的关系数据表。

文档

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题A卷及答案一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。每小题1分,共20分)1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。A.OMTB.OOSEC.C++D.UML2.(D)为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。A.封装机制B.抽象机制C.多态机制D.继承机制3.面向对象程序设计中用(C)来描述
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top