面向对象分析与设计练习题含答案(5)

2019-04-09 09:54

1. 为什么面向对象方法能更有效地克服软件危机? 2. 如何实现运行时多态 ?

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

3. 基于UML的面向对象系统开发方法包括哪几步? A 系统需求-用用户能动的语言-用例描述用户需求:

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

C 系统设计-用编程语言更精确的描述类图和对象图,未将类图和对象图映射到编码系统做好准备

D 系统设计-用源代码、脚本语言、二进制代码、可执行子程序或组件实现系统 4. 简述确定分析类的方法。

5. 简述基于UML的数据库系统分析和设计的步骤。

业务Use Case模型设计:就是进行数据库的需求分析,使用用例图等建立业务模型 逻辑数据模型设计:主要是确定应系统所需要的持久数据。使用类图、顺序图、活动图、状态图等建立数据库逻辑模型。如果是关系数据库设计,则需要设计出表达持久数据的 实体类及其联系,并把他们映射成为关系数据库表、视图等。

物理数据库模型设计:使用类图、组件图、配置图、设计数据库的物理模型。

物理实现设计:把物理数据模型转换成实际环境中的数据库系统。结合实际的数据库环境,定义构成数据库的基本表、文件的组织方式和处理方式等。 五. 分析与设计题

试用UML对开放式学籍管理系统及相关的数据库系统进行分析和设计。学籍管理系统的主要用户是系统管理员和学生:系统管理员使用学籍管理系统来实现教师信息管理、学生信息管理,课程管理、成绩管理和打印报表;学生使用学籍管理系统来实现选课管理和成绩查询。试完成下列工作:

(1)画出学籍管理系统的用例图;(6分) (2)定义学籍管理系统的三个基本分析类;(6分) (3)画出学籍管理系统的类图;(6分) (4)画出学生查询成绩的活动图;(6分)

(5)学生类和课程类之间存在多对多的关联,试将这种关联转化为关系数据库模式。(6

分)

----------------------------------------------------------------------------------------------------------------------

2010-2011第二学期面向对象分析与设计试题A卷

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

1. 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,__C_ 不属于面向对象分析阶段。

A.构建分析模型 B.识别分析类 C.用例动态建模 D.评估分析模型

2. 在面向对象方法中,___B__可看成是属性数据以及这些属性数据上的专用操作的封装体。 A. 实体 B. 类 C. 类模板 D. 对象

3. 类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个__B___。

A. 实体 B. 实例 C. 用例 D. 组件 4. 一个对象通过发送__B___来请求另一对象为其服务。

A. 参数 B. 消息 C. 成员函数名 D. 接口函数名 5.类之间共享属性和操作的机制称为___D___。

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

6. 类的设计应遵循三条基本原则。对于一个设计并实现好的类,如果需要功能上的扩充,一般来说应该通过添加新类实现,而不是修改原类的代码。这种原则叫__B____。 A. 封装原则 B. 开放/封闭原则 C. 最小惊讶原则 D. 单一功能原则

7. 一个类的___B___只能被类的成员函数、友元函数及派生类的成员函数所访问。 A. 私有成员 B. 受保护性成员 C. 公有成员 D. 纯虚函数

8. 当对象离开其有效范围,或被清除时,_D_____将被调用来释放对象所占用的内存。 A. 静态成员函数 B. 友员函数 C. 构造函数 D.析构函数 9. ___C___是实现“一种接口,多种方法”的技术。

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

10. 如果某基类的一个成员函数被说明为__D____,则该成员函数在派生类中可以有不同的函数实现。

A. 内联函数 B. 静态函数 C. 友元函数 D. 虚函数

11. 在二进制模式下,可利用文件输入/输出流类中定义的____C_函数将所有数据以字符形式存储到文件里。

A. load B. save C. write D. read

12. 基类中的public 成员,通过protected派生,其在派生类中的可见性为 __D____。 A. private B. 不可访问 C. public D. protected 13. ___D___是数据类型抽象化或参数化的类。

A.抽象类 B.基类 C.组件 D.类模板 14. ____D__是UML中用来描述用户对系统的功能需求的有效模型图。 A.类图 B. 对象图 C. 组件图 D. 用例图 15. 基于UML的___B___不但能对数据建模,而且能对行为建模。

A.组件图 B. 类图 C. 配置图 D. 序列图

16. 用来描述为完成某项行为操作所涉及的对象和这些对象之间传递消息的时间顺序的

UML模型图叫做____D__。

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

17. UML的____C__用于描述系统业务流程,它由一系列的动作状态构成, 动作的状态控制

可以从一个状态流向另一个与之相邻的状态。

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

18. UML的____D__是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以

表示系统中软件和硬件的物理架构。

A. 组件图 B.类图 C. 协作图 D. 配置图 19. UML的______用于表示系统的软件体系结构。

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

20. 使用UML进行关系数据库的( B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 D. 物理实现设计

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

1. 在面向对象技术中,用_(对象 1 )_来抽象地表示客观实体,用( 2_类)来抽象描述具有相同属性和行为的对象集合,用_(3类模板)_来抽象地描述一组数据属性相似但某些数据类型不同的类。

2. 基于UML的系统分析的主要目标是为了更精确地理解_需求( 4 ) _,并获得一个使用_ ( 5开发人员 ) _的语言描述的、易于维护的且能体现系统基本_( 6结构 )_的分析模型。分析模型是由一系列_( 类7 )_和_(类的实例 8 )_及其相互关系构成。分析模型中的类也叫分析类,分析类可分为三类:_( 边界类9 )_、 _( 实体类10 )_、_( 1控制类1 )_。 类与类之间的联系可以分为四种:_( 1关联2 )_、_(泛化 13)_、_( 组合14)_、_( 1依赖5 )_。

3. 在基于UML的系统设计阶段,应该根据靠近问题域的( 16逻辑模型 )_,转化得到靠近解域的( 17物理模型 )_;在转化的过程中,对分析阶段的模型进行( 扩张18 )_和( 1细化9 )_,并用类似于编程实现的语言来描述( 物理模型20 )。这个设计模型能够比较容易地被转化成程序代码。这就是系统设计的目的。

三、试编程实现下列类层次结构以实现对客户数据的管理。 ( 共 20 分 )

Customer-Cust_ID : string-Cust_Name : string-Desc : string+read()+show()Corp_Cust-Off_Price : string-Trust_Leve : string+read()+show()

四. 简答题(每小题4分,共 20 分)

Vip_cust-Phone : string-Vip_Leve : string+read()+show()

1. 为什么面向对象软件开发方法能成为软件开发的主流技术?

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

(1)封装机制:(2)继承机制 (3)多态机制 3. 由基类生成派生类的过程可分为几个步骤?

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

(1):系统需求分析-用用户能懂的语言—用例描述用户需求

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

(3):系统设计—用编程语言或接近编程语言来跟精确地描述类图和对乡土,为后面能将类图和对象图映射到编码实现的系统做好准备

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

4. 基于UML的面向对象系统开发方法包括哪几步?各步应画出哪些模型图? (1)系统需求-

(2)系统分析 (3)系统设计 (4)系统实现

5. 在于UML的数据库系统分析和设计过程中,逻辑数据模型设计阶段的主要任务是什么? 答: 逻辑数据库模型设计的主要任务是确定应用系统所需要持久数据。使用类图、顺序图、活动图、状态图等建立数据库逻辑模型。如果是关系数据库设计,则需要设计出表达持久数据的实体类及其联系,并把他们映射成为关系数据库表、视图等。 五. 分析与设计题 (共20分)

试用UML对库存管理系统及相关的数据库系统进行分析和设计。调查获知库存管理系统的主要用户是入库管理员、出库管理员、库存管理员和系统管理员:入库管理员负责登记、修改和查询入库流水账;出库管理员负责记录、、修改和查询出库流水账;库存管理员负责登记库存台帐、库存信息查询和打印库存报表;系统管理员负责用户信息管理、数据备份和产品基本信息管理。各种账目数据如下所示。

表 1 入库流水账产品代码 单位入库数量单价总价入库日期入库单编号 表 2 出库流水账产品代码 单位出库数量单价总价出库日期出库单编号 表 3 库存台账产品代码 单位日期入库数量出库数量库存数量

试完成下列工作:

(1)画出库存管理系统各用户的用例图;(5分) (2)定义库存管理系统的三个基本分析类;(5分) (3)画出库存管理系统的类图;(5分) (4)将类图转换为关系数据库模式;(5分)


面向对象分析与设计练习题含答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中日贸易现状及问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: