08学年第2学期面向对象分析与设计试卷(B) - 答案

更新时间:2023-10-15 01:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华南农业大学期末考试试卷(B卷)

2008学年第2学期 考试科目: 面向对象分析与设计

考试类型:(闭卷) 考试时间: 120 分钟

学号 姓名 年级专业

题号 得分 评阅人 1 B 2 A 3 D 4 B 5 C 6 A 7 B 8 C 一 二 三 9 C 10 11 12 13 14 15 C A D A A D 四 五 总分 一、单项选择题(每题2分,共30分。将正确答案填入下表)

1.下面关于面向对象方法中消息的叙述,不正确的是()。B

A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息。

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息。 C.应用程序之间可以相互发送消息。

D.发送与接收消息的通信机制与传统的子程序调用机制不同。

2.面向对象技术中,对象是类的实例。对象有三种成分:()、属性和方法(或操作)。A

A.标识

B.规则

C.封装

D.消息

3~5:在UML提供的图中,可以采用(3)对逻辑数据库模型建模;(4)用于接口、类和协作的行为建模,并强调对象行为的事件顺序;(5)用于系统的功能建模,并强调对象间的控制流。D、B、C A.用例图

A.协作图 A.状态图 A.重用性更强

B.构件图 B.状态图 B.用例图

C.活动图 C.序列图 C.活动图

D.类图 D.对象图 D.类图

6.采用面向对象技术开发的应用系统的特点是()。A

B.运行数度更快 C.占用存储量小 D.维护更复杂

7.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系。B

A.继承 B.组合 C.封装 D.多态 8.下列叙述中正确的是()。C

A.面向对象程序设计语言都不支持过程化的程序设计 B.面向对象系统只可采用面向对象设计语言实现 C.某些过程化程序设计语言也可实现面向对象系统 D.面向对象程序设计语言不支持对成员变量的直接访问 9.面向对象的特点主要概括为( )。C

A.可分解性、可组合性、可分类性

B.继承性、封装性、多态性

C.抽象性、继承性、封装性、多态性 D.封装性、易维护性、可扩展性、可重用性 10.下列关于面向对象方法中描述中错误的是( )。C

第 1 页 共 7 页

A.使用设计模式有助于在软件开发中应用面向对象技术

B.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度 C.UML作为一种可视化建模语言需要与RUP开发过程同时使用

D.目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法 11.在类图中,那个类图中的类Order所生成的代码具有 public class Order {

public Customer recipient; }

的形式?( )A

A.

B.

C D.

12.关于用例与类的对比中()是错误的。D

A.都属于模型结构元素 B.都存在继承关系

C.类描述系统的部分静态视图,用例描述系统动态的行为视图 D.类描述的是系统的内部构成,用例也可以描述系统的内部构成

13.Innovation公司正在为Rose开发插件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,在下面这些图中,那个是最适合的?( )A

A.活动图

B.状态图

C.类图

D.用例图

14.对类模型、状态模型、交互模型描述不正确的是()。A

A.每种模型都可以描述系统的全部方面。 B.类模型描述的是系统内部对象的静态结构。

C.状态模型描述的是对象当中与时间相关的那些方面,以及那些界定了事件上下文的状态。

D.交互模型描述的是对象如何协作以达到某种结果。

15.下面说法不正确的是()。D

A.软件开发过程(software development process)通过使用一系列预定义的技术和表示法,

为有组织的软件生产提供了基础。

B.系统构思(system conception)要处理的是某项应用的起源。

C.在设计阶段的过程中,作为开发者,必须广泛利用各种结果作出策略决策。 D.类设计阶段是编写实际代码的阶段。

二、判断题(每题1分,共10分。对的标“T”,错的标“F”,将答案写入下表)

1 T 2 F 3 T 4 F 5 T 6 F 7 F 8 T 9 T 10 F 第 2 页 共 7 页

1.逆向工程是检查实现制品并推导出制品下层逻辑意图的过程。(T)

2.轮转建模适合专家建模人员,安排一次由10~20人参加会议,互相激励,进行头脑风暴。(F)

3.面对对象开发的一项主要目标就是最大限度地复用类和方法。(T) 4.一个状态图最多只能由一个初态和一个终态。(F)

5.因为公用接口描述了类的服务,在定义类的时候,最好是遵循“由外而内“的顺序。(T) 6.实现是软件工程的最后阶段,它描述了程序设计语言中的细节。(F)

7.一个软件系统,如果只有源代码,缺乏其它相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。(F) 8.类设计并不是从头开始的,而是详尽描述了前面的分析和设计阶段。(T)

9.在系统设计的过程中,要设计高层策略,即系统架构(system architecture),用于构造问题的解决方案。(T)

10.面向对象分析有两个阶段,领域分析和应用分析,应用分析捕获一项应用的通用知识。(F)

三、简答题(共30分,每题6分)

1.简述和说明“迭代开发”?(6分)

答:迭代开发是这样一种系统开发过程,它将一个过程划分为一系列步骤也称迭代,每次迭代都会比前一次更为完善地逼近目标系统。迭代开发由一系列迭代所组成。迭代的次数和持续时间要根据项目的大小而定。每次迭代都必须始于一条公共基线,结束于一条新的公共极限。

2.修改图1,使其可以确定某一行位于哪一页上,不需要首先确定列。

图1 报纸的部分类图

答:

第 3 页 共 7 页

3.简单的数字手表上面有一个显示屏和两个设置按钮,按钮A和按钮B。此表有两种操作模式:显示时间和设定时间。在显示时间模式下,手表会显示小时和分钟,小时和分钟由闪烁的冒号分隔。设定时间模式有两种模式:设定小时和设定分钟。按钮A选择模式。每次按下此按钮时,模式会连续前进:显示、设定小时、设定分钟和显示分钟,等等。在子模式内,每次只要按下按钮B,就会拨快小时或分钟。在按钮生成另一个事件之前,必须释放它们。绘制一个数字手表的状态图。(6分) 答:

B /advance hourDisplay timedo/ show hours and minutes按下A按钮Set hoursdo/ show hours按下A按钮B / advance minuteSet minutesdo/ show minutes按下A按钮

4.假设不小心从你的书本上111面撕下一角(如图2所示)。(6分) 根据现有信息尽可能判断:

(1)“StockBrokerSystem”类有哪几个操作?

(2)“买入股票”操作要做哪些工作?(采用伪代码描述)

图2 买入股票的顺序图

答:(1)“StockBrokerSystem”类有如下操作:确认输入买入日期();确认买入();报告交易结果(); (2)

StockBrokerSystem:确认输入买入日期() Customer:申请确认()

StockBrokerSystem:确认买入() Customer:请求显示订单号() SecurltesExchange:下订单() StockBrokerSystem:报告交易结果()

第 4 页 共 7 页

5.绘制一个类模型来描述无向图,如图3所示。无向图由一组顶点和边组成。边连接顶点对。提示:模型应该只捕获图的结构,不需要考虑象顶点位置或边长等外形问题。

图3 无向图示例

答:

四、设计题(共30分)

1.阅读下列说明及图4和图5,回答问题1、问题2和问题3。(20分)

【说明】

某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统功能如下: 浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。

登陆:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。

修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。

删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。 系统采用面对对象方法进行开发,在开发过程中认定出的类见表1.

图4 用例图

图5 类关联图

第 5 页 共 7 页

本文来源:https://www.bwwdw.com/article/r6jf.html

Top