1、华南农业大学期末考试试卷(A卷)答案2007学年第1学期 考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号 姓名 年级专业 题号一二三四五总分得分评阅人一、判断题(每题1分,共10分。对的标“T”,错的标“F”,将答案写入下表)12345678910FTFTFTFTFT1. 一个状态图最多只能由一个初态和一个终态。(F)2. 协作图中的消息必须要有消息顺序号。(T)3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。(F)4.
2、 参与者(actor)和用例(use case)之间的关系是关联(association)关系。(T)5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的 getName()方法的重载(overload)。(F)图1 getName()方法之间的关系图2 活动图6. 如图2所示,活动Gesture和Stream audio可以并发进行。(T)7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。(F)8. CMM描述了五个级别的软件过程成熟度,即初始级、可重
3、复级、已定义、已管理级、优化级。(T)9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。(F)10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。(T)二、单项选择题(每题2分,共30分。将正确答案填入下表)123456789101112131415BACACADACDDADDC1. 一个设计得好的OO系统具有(B)A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征2.下面()不是UML的基本构成元素。(A)A. 控制语言B. 基本构造块C. 规则D. 公共机制3.
4、面向对象的特点主要概括为(C)。A. 可分解性、可组合性、可分类性B. 继承性、封装性、多态性C. 抽象性、继承性、封装性、多态性D. 封装性、易维护性、可扩展性、可重用性4构成对象的两个主要因素是(A)。A. 属性和服务B. 标识和内容C. 继承和多态D. 消息和封装5.下列关于面向对象方法中描述中错误的是(C)。A. 使用设计模式有助于在软件开发中应用面向对象技术B. 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C. UML作为一种可视化建模语言需要与RUP开发过程同时使用D. 目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法6. 顺序图主要可以为设计人员提供
5、(A)信息。A. 消息发送的顺序B. 某个方法的执行流程C. 类之间关联关系的多重性D. 某个对象在不同状态之间的转移7. 类和接口的关系类似于下面哪种类型的关系(D)。A. 关联(association)和聚集(aggregation)B. 关联(association)和组合(composition)C. 脚本(scenario)和用例(use case)D. 包(Package)和子系统(subsystem)8. 在类图中,那个类图中的类Order所生成的代码具有Public class Order Public Customer recipient;的形式(A)A. B. C. D.
6、9. 下面那个图符表示UML中的实现关系(C)A. B. C. D. 10. 一个银行业务系统采用如图琐事的配置图,则错误的是(D)A. 与GUI有关的类应该部署在Branch Client上B. 这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、Database Server是运行在同一台机器上还是在不同机器上C. 为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在Financial App Server上D. 为了系统的可伸缩性,与业务逻辑有关的对象应该部署在Branch Client上11. 关于用例与类的对
7、比中(D)是错误的。 A 都属于模型结构元素 B 都存在继承关系 C 类描述系统的部分静态视图,用例描述系统动态的行为视图 D 类描述的是系统的内部构成,用例也可以描述系统的内部构成12. Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,在下面这些图中,那个是最适合的(A)(注:活动图可以用来描述细节)A. 活动图 B. 状态图C. 类图D. 用例图13. 计算机(Computer)由中央处理器、内存、软盘、硬盘、
8、显示器、键盘、鼠标等组成。那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A. 泛化关系(Generalization)B. 实现关系(Realization)C. 包含关系(Inclusion)D. 聚集关系(Aggregation)14. 在状态图中不能表示下面那些概念(D)A. 动作(action)B. 事件(event)C. 转移(transition)D. 类(class)15.在数据库设计的 阶段开始考虑具体的数据库管理系统(DBMS)的特性。(C)A. 需求分析B. 概念设
9、计C. 逻辑设计.D 物理设计三、简单题(共36分,每题6分)1. “要迭代开发、真是有道理。我决定在我们的项目组实施迭代开发,第一迭代先做需求,第二个迭代做分析,第三个迭代做设计”这段话有什么问题(6分)2. 分析下面的类图,画出新的类图,将原图中的多对多关系转换为1:M(一对多)关系。(6分)答案:3信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状态,而从“关闭”状态必须提供密码验证才能进入“开放”状态。“开放”状态又包括“透支”和“正常”状态之间的变化,当剩余金额少于零、或者使用额度大于剩余金额、或者结算余额小于零时进入透支状态,反之则为正常状态。画出信用卡的
10、状态图。(6分)参考答案:4. 假设下面是某些以完工用例图等截屏形状,其中有2张图不合适,请说明原因。(6分)图A. 图B. 图C. 参考答案: 图C合适,其他有问题。5. 请判断以下类图中的类关系是否合适,并说明理由。(6分)(1)飞机有机翼、机身、驾驶舱(2)商场里的电器。1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可以是1台空调,也可以不是;(3)公司的员工很多,包括程序员、分析员、项目经理参考答案:(1)飞机有机翼、机身、驾驶舱应改为“组合”(2)商场里的电器。1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可
11、以是1台空调,也可以不是;应该为“泛化”(3)公司的员工很多,包括程序员、分析员、项目经理应改为“泛化”6. 假设你从垃圾堆里捡到这样一张小纸片(如图5所示)。(6分)根据现有信息尽可能判断:(1)“小车”类有哪几个操作(2)“指挥小车UC”类的“执行任务”操作要做哪些工作(采用伪代码描述)图5 时序图参考答案:(1)“小车”类有哪几个操作返回小车当前位置()转向和前进()(2)“指挥小车UC”类的“执行任务”操作要做哪些工作(采用伪代码描述)移动任务:更新行走断表和目的地()移动任务:判断现有信息足以让小车行走()小车:放回小车当前位置()小车:验证小车尚未到达目的地()移动:根据但前位置及
12、断表信息计算出速度、角度()小车:转向和前进()四、设计题(共24分)1 仔细分析“语音邮箱系统”的“保留语音信息”和“拨打邮箱号”的用例事件流描述,请找出里面的对象,并画出时序图和协作图。(14分)用例1: 拨打邮箱号(1) 呼叫者拨打语音邮件系统的主号码.(2) 语音邮件系统发出提示音:输入邮箱号码并加#号.(3) 呼叫者输入接收者的邮箱号.(4) 语音邮件系统发出问候语:已进入XX的邮箱,请留言.用例2: 保留语音信息(1) 呼叫者”拨打邮箱号”.(2) 呼叫者说出信息.(3) 呼叫者挂断电话.(4) 语音邮件系统将记录的信息存放在接收者的邮箱中.参考答案:2 假设某高校需要建立一个档案管理系统,而您是该软件系统的负责人。你所在的软件公司与高校一致同意系统的构建采用面向对象方法。作为开发负责人,请您结合本课程中的学习知识,提供参考的软件体系结构设计方案,描述开发这个系统的过程,并写出开发过程的每个步骤中您认为应该用到的主要技术。(10分)根据学生的情况给分。