面向对象分析与设计复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象分析与设计习题一、单项选择题1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。A.Simula67语言B.Smalltalk语言C.Java语言D.统一建模语言(UML)的标准2.面向对象的运动产生了多种面向对象的语言,其中(C)是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。A.SmalltalkB.EiffelC.C++D.Java3.下列不属于面向对象技术的基本特征的是(B)。A.封装性B.模块性C.多态性D.继承性4.面向对象程序设计将描述事物的数据与(C)封装在一起,作为一个相互依存、不可分割的整体来处理。A.信息B.数据隐藏C.对数据的操作D.数据抽象5.关于面向对象方法的优点,下列不正确的叙述是(C)。A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好6.(D)是从用户使用系统的角度描述系统功能的图形表达方法。A.类图B.对象图C.序列图D.用例图7.(C)是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。A.对象图B.组件图C.类图D.配置图8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。A.对象图B.协作图C.状态图D.序列图9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。A.组件图B.协作图C.状态图D.配置图10.使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。A.业务UseCase模型设计B.逻辑数据模型设计C.物理数据模型设计C.物理实现设计11.一个设计得好的OO系统具有(B)A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征12.下面()不是UML的基本构成元素。(A)A.控制语言B.基本构造块C.规则D.公共机制13.面向对象的特点主要概括为(C)。A.可分解性、可组合性、可分类性B.继承性、封装性、多态性C.抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性14.构成对象的两个主要因素是(A)。A.属性和服务B.标识和内容C.继承和多态D.消息和封装15.下列关于面向对象方法中描述中错误的是(C)。A.使用设计模式有助于在软件开发中应用面向对象技术B.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C.UML作为一种可视化建模语言需要与RUP开发过程同时使用D.目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法16.顺序图主要可以为设计人员提供(A)信息。A.消息发送的顺序B.某个方法的执行流程C.类之间关联关系的多重性D.某个对象在不同状态之间的转移17.类和接口的关系类似于下面哪种类型的关系(D)。A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(usecase)D.包(Package)和子系统(subsystem)18.在类图中,那个类图中的类Order所生成的代码具有PublicclassOrder{PublicCustomerrecipient;}的形式?(A)A.B.C.D.19.下面那个图符表示UML中的实现关系?(C)A.B.C.D.20.一个银行业务系统采用如图琐事的配置图,则错误的是(D)A.与GUI有关的类应该部署在BranchClient上B.这个图表示一个三层的体系结构,不管BranchClient、FinancialAppServer、DatabaseServer是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在FinancialAppServer上D.为了系统的可伸缩性,与业务逻辑有关的对象应该部署在BranchClient上21.关于用例与类的对比中(D)是错误的。A都属于模型结构元素B都存在继承关系C类描述系统的部分静态视图,用例描述系统动态的行为视图D类描述的是系统的内部构成,用例也可以描述系统的内部构成22.Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,在下面这些图中,那个是最适合的?(A)(注:活动图可以用来描述细节)A.活动图B.状态图C.类图D.用例图23.计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)24.在状态图中不能表示下面那些概念?(D)A.动作(action)B.事件(event)C.转移(transition)D.类(class)25.在数据库设计的阶段开始考虑具体的数据库管理系统(DBMS)的特性。(C)A.需求分析B.概念设计C.逻辑设计.D物理设计26.在UML中,有3种基本构造块,分别是(A)A.事物、关系和图B.注释、关系和图C.事物、关系和结构D.注释、关系和结构27.在UML中,有四种关系,下面哪个不是(B)A.依赖关系B.继承关系C.泛化关系D.实现关系28.下面哪个不是UML中的静态视图()A.状态图B.用例图C.对象图D.类图29.在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)30.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是(B)关系A.扩展(extend)B.包含(include)C.分类(classification)D.聚集(aggregation)31.UML中类的有三种,下面哪个不是其中之一(B)A.实体类B.抽象类C.控制类D.边界类32.阅读图例,判断下列哪个说法是错误的。(c)A.读者可以使用系统的还书用例B.每次执行还书用例都要执行图书查询用例C.每次执行还书用例都要执行交纳罚金用例D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例33.关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织;B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号;D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;34.设计模式具有的优点(a)。A.适应需求变化B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计35.设计模式一般用来解决什么样的问题(a)。A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是36.设计模式的两大主题是(d)。A.系统的维护与开发B对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展37.以下哪些问题通过应用设计模式不能够解决。(c)A)指定对象的接口B)针对接口编程C)确定软件的功能都正确实现D)设计应支持变化38.外观模式的作用是(b)。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。39.Façade(外观)模式的意图是(a)。A.希望简化现有系统的使用方法。你需要定义自己的借口。B.将一个无法控制的现有对象与一个特定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离出来。D.你需要为特定的客户(或情况)提供特定系列的对象。40.Adapter(适配器)模式的意图是(B)。A.希望简化现有系统的使用方法。你需要定义自己的借口。B.将一个无法控制的现有对象与一个特定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离出来。D.你需要为特定的客户(或情况)提供特定系列的对象。41.下面不属于创建型模式的有(C)。A.抽象工厂模式(AbstractFactory)B.工厂方法模式(FactoryMethod)C.适配器模式(Adapter)D.单例模式(Singleton)42.将一个类的接口转换成客户希望的另一个接口。这句话是对下列哪种模式的描述(C)。A.策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)43.以下关于结构型模式说法不正确的是。(B)A)结构型模式可以在不破坏类封装性的基础上,实现新的功能。B)结构型模式主要用于创建一组对象。C)结构型模式可以创建一组类的统一访问接口。D)结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。44.关于继承表述错误的是:(D)。A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。C.在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。45.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在(D)。A外观模式(Facade)B装饰模式(Decorator)C策略模式(Strategies)D桥接模式(Bridge)46.行为类模式使用(B)在类间分派行为。A接口B继承机制C对象组合D委托47.下面的类图表示的是哪个设计模式?(D)。A抽象工厂模式(AbstractFactory)B观察者模式(Observer)C策略模式(Strategies)D桥接模式(Bridge)48.Bridge(桥接)模式的意图是(C)。A.希望简化现有系统的使用方法。你需要定义自己的借口。B.将一个无法控制的现有对象与一个特定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离出来。D.你需要为特定的客户(或情况)提供特定系列的对象。49.静态工厂的核心角色是(A)。A.抽象产品B.具体产品C.静态工厂D.消费者50.以下属于创建型模式的是(A)。A抽象工厂模式(AbstractFactory)B装饰模式(Decorator)C外观模式(Facade)D桥接模式(Bridge)51.下面的类图表示的是哪个设计模式?(A)。A抽象工厂模式B观察者模式C策略模式D桥接模式52.AbstractFactory(抽象工厂)模式的意图是(D)。A.希望简化现有系统的使用方法。你需要定义自己的借口。B.将一个无法控制的现有对象与一个特定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离出来。D.提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类53.在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是(D)。A.可以使用switch语句

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功