ImageVerifierCode 换一换
格式:DOC , 页数:25 ,大小:148KB ,
资源ID:1323071      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1323071.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】中级软件设计师上午试题-99及答案解析.doc)为本站会员(figureissue185)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】中级软件设计师上午试题-99及答案解析.doc

1、中级软件设计师上午试题-99 及答案解析(总分:64.00,做题时间:90 分钟)一、B单项选择题/B(总题数:3,分数:64.00)某软件项目的活动图如图所示。图中顶点表示项目里程碑,连接顶点的边表示包含的活动,则该活动图的关键路径是_,活动 FG 的松弛时间为_。(分数:40.00)(1). A.A-D-F-G-J B.A-C-F-H-J C.A-D-F-H-J D.A-D-F-I-H-J(分数:2.00)A.B.C.D.(2). A.19 B.20 C.32 D.24(分数:2.00)A.B.C.D.(3).在面向对象技术中,有多种不同的多态形式,其中参数多态和_称为通用多态。 A.重置

2、多态 B.过载多态 C.隐含多态 D.包含多态(分数:2.00)A.B.C.D.(4).以下描述中,不正确的是_。 A.类是对象的抽象,对象是类的实例 B.类是一组具有相同属性和方法的对象的集合 C.每个类都可以被实例化 D.对象是指一组属性及这组属性上的专用操作的封装体(分数:2.00)A.B.C.D.(5).在 UML 的通用机制中,_是系统中遵从一组接口规范且付诸实现的物理、可替换的软件模块。 A.包 B.类 C.接口 D.构件(分数:2.00)A.B.C.D.(6).UML 的事物是对模型中最具有代表性的成分的抽象,_是模型的动态部分,描述了跨越时间和空间的行为。 A.结构事物 B.分

3、组事物 C.行为事物 D.注释事物(分数:2.00)A.B.C.D.(7).下列有关面向对象方面的描述,不正确的是_。 A.面向对象要求针对接口编程,而不要针对实现编程 B.接口与实现不可分割 C.设计职责单一的类 D.尽量使用已有的类库(分数:2.00)A.B.C.D.(8).已知两个类 O、P,类 O 中定义了一个私有方法 F1和一个公有方法 F2;类 P 中定义了一个公有方法F3,类 P 为类 O 的派生类。它们的继承方式如下所示。class P:private O.;在关于类 P 的描述中正确的是_。 A.类 P 的对象可以访问 F1,但不能访问 F2 B.类 P 的对象可以访问 F2

4、,但不能访问 F1 C.类 P 的对象既可以访问 F1,也可以访问 F2 D.类 P 的对象既不能访问 F1,也不能访问 F2(分数:2.00)A.B.C.D.(9).下来关于面向对象分析和设计的描述中,错误的是_。 A.组织并确定对象关系是面向对象设计阶段的活动 B.发现并确定业务对象是面向对象分析阶段的活动 C.建模系统功能是面向对象分析阶段的活动 D.确定对象间的通信方式是面向对象设计阶段的活动(分数:2.00)A.B.C.D.(10).已知 f1,f 2是同一个类的两个成员函数,但 f1不能调用 f2,说明_。 A.f1、f 2都是静态成员函数 B.f1是静态成员函数,f 2不是静态成

5、员函数 C.f1不是静态成员函数,f 2是静态成员函数 D.f1、f 2都不是静态成员函数(分数:2.00)A.B.C.D.(11).在 UML 的 5 大系统视图中,_是可执行线程和进程作为活动类的建模。 A.逻辑视图 B.进程视图 C.部署视图 D.用例视图(分数:2.00)A.B.C.D.(12).以下关于 C+中构造函数和析构函数的描述中,错误的是_。 A.构造函数的函数名必须与类名相同 B.构造函数的返回类型是 void 类型 C.析构函数无形参,也不可被重载 D.一个类只能有一个析构函数,但可以有多个构造函数(分数:2.00)A.B.C.D.(13).某 ATM 自动取款机系统中,

6、“查询余额”和“取现”两个用例都需要检查用户的验证码是否正确,为此定义一个通用的用例“核查验证码”。那么用例“查询余额”和“取现”与用例“核查验证码”之间是_。 A.包含关系 B.扩展关系 C.泛化关系 D.关联关系(分数:2.00)A.B.C.D.(14).在 UML 的建模机制中,_描述了对象之间动态的交互关系,还描述了交互的对象之间的静态链接关系,即同时反映系统的动态和静态牲。 A.活动图 B.顺序图 C.状态图 D.协作图(分数:2.00)A.B.C.D.(15).在常见的 UML 图中,下列属于结构性视图的是_。对象图 用例图 包图 定时图构件图 部署图 类图 状态图 A. B. C

7、. D.(分数:2.00)A.B.C.D.(16).遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用_原则可扩展已有的系统,并为之提供新的行为。 A.开闭 B.里氏替换 C.依赖倒置 D.接口隔离(分数:2.00)A.B.C.D.(17).以下关于设计模式的描述中,不正确的是_。 A.使用设计模式的主要目的是复用成功的设计和体系结构 B.设计模式具有适应需求变化的优点 C.设计模式可以改善代码的平台可移植性 D.设计模式可以减少方案出错的可能性(分数:2.00)A.B.C.D.(18)._主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为。 A.边界类 B.存储

8、类 C.抽象类 D.实体类(分数:2.00)A.B.C.D.(19)._使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 A.Adapter(适配器) B.Iterator(迭代器) C.Prototype(原型) D.Observer(观察者)(分数:2.00)A.B.C.D.(20)._是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。 A.封装 B.泛化 C.继承 D.多态(分数:2.00)A.B.C.D._设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。图为该设计模式的类图,其中,_用于定义实现部分的接口。(分数:20.00)(1). A.S

9、ingleton(单件) B.Bridge(桥接) C.Composite(组合) D.Facade(外观)(分数:2.00)A.B.C.D.(2). A.Abstraction B.ConcreteImplementorA C.ConcreteImplementorB D.Implementor(分数:2.00)A.B.C.D.(3).有两个类 X 和 Y,那么以下描述中,不正确的是_。 A.修改 X 会引起 Y 的变化,那么 X 和 Y 是一种依赖关系 B.X 表示一般,而 Y 表示特殊,那么 X 和 Y 是一种泛化关系 C.X 是整体,Y 是部分,且 X 和 Y 同生命周期,那么它们是组

10、合关系 D.X 是整体,Y 是部分,且 X 和 Y 同生命周期,那么它们是聚合关系(分数:2.00)A.B.C.D.(4)._除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。 A.框架 B.标准库 C.函数库 D.类库(分数:2.00)A.B.C.D.(5).当_时,用例是捕获系统需求最好的选择。 A.系统具有很少的用户 B.系统具有很少的接口 C.系统算法复杂,功能单一 D.系统有很多参与者(分数:2.00)A.B.C.D.(6).UML 中接口可用于_。 A.提供构造型(stereotype)名称为terface的具体类 B.Java 和 C+程序设计中,而 C#程序设计中

11、不支持 C.定义可以在多个类中重用的可执行逻辑 D.声明对象类所需要的服务(分数:2.00)A.B.C.D.(7).下列模式中,属于行为模式的是_。 A.原型模式 B.访问者模式 C.桥接模式 D.以上都不是(分数:2.00)A.B.C.D.(8).对于场景:一个公司负责多个项目,每个项目(Project)由一个员工(Employee)团队(Team)来开发。下列 UML 概念图中,_最适合描述这一场景。(分数:2.00)A.B.C.D.(9).在面向对象技术中,对象具有以下特性:_。清晰的边界 良好定义的行为 确定的位置和数量 可扩展性 A. B. C. D.(分数:2.00)A.B.C.D

12、.(10).UML 序列图是一种交互图,描述了系统中对象之间传递消息的时间次序。其中,异步消息与同步消息不同,异步消息并不引起调用者终止执行而等待控制权的返回。图中_分别表示一条同步消息和一条异步消息。(分数:2.00)A.B.C.D._设计模式可以动态地给一个对象增加其他职责,而且这种方式比生成子类实现更为灵活。图所示为该设计模式的类图,其中,_是装饰抽象类,维护一个内有的 Component。(分数:4.00)(1). A.Flyweight(享元) B.Proxy(代理) C.Strategy(策略) D.Decorator(装饰)(分数:2.00)A.B.C.D.(2). A.Comp

13、onent B.Concrete Component C.Decorator D.Concrete DecoratorA(分数:2.00)A.B.C.D.中级软件设计师上午试题-99 答案解析(总分:64.00,做题时间:90 分钟)一、B单项选择题/B(总题数:3,分数:64.00)某软件项目的活动图如图所示。图中顶点表示项目里程碑,连接顶点的边表示包含的活动,则该活动图的关键路径是_,活动 FG 的松弛时间为_。(分数:40.00)(1). A.A-D-F-G-J B.A-C-F-H-J C.A-D-F-H-J D.A-D-F-I-H-J(分数:2.00)A.B.C. D.解析:(2).

14、A.19 B.20 C.32 D.24(分数:2.00)A.B. C.D.解析:解析 本题主要考查项目活动图。这类题目是考试中常考的知识点,大家一定要掌握。而对于这类题目的考查,主要会考查关键路径、关键路径长度、某结点最早或最晚开始时间,以及某活动的松弛时间。 关键路径是图中从起点到终点长度最长的那条路径,而关键路径的长度则是整个项目的工期。对于关键路径的求解,可以用观察法,比如在本题中,我们通过看图不难发现,路径 A-D-F-H-J 的长度为48,是最长的一条路径,因此它就是关键路径。 如果对观察法不熟练的话,也可以用计算的方法来求解,这样就要求出每个结点的最早开始时间和最晚开始时间,然后最

15、早开始时间和最晚开始时间相等的结点就是关键路径上的点,这样也能求出关键路径及关键路径长度。 求每个结点最早开始时间时,采用顺推,从起点出发,起点的最早开始时间为 0,那么要求 B 的最早开始时间,用 0+3=3 即可,另外要注意,如果要求 F 点的最早开始时间,因为有两个箭头指向了它,那么就要分别将这两条路径的最早开始时间都计算出来,然后取较大的一个,从 C 到 F 的最早开始时间是 10,而从 D 到 F 的最早开始时间是 18,因此 F 的最早开始时间是 18。 而要求每个结点最晚开始时间时,则采用逆推,从终点出发,终点的最晚开始时间为关键路径长度,那么要求 G 的最早开始时间,用 48-

16、7=41 即可,另外要注意,如果要求 I 结点的最晚开始时间,因为有两个箭头从它出发,那么就要分别将这两条路径的最晚开始时间都计算出来,然后取较小的一个,从 J 到 I 的最晚开始时间是 48-12=36,而从 H 到 I 的最晚开始时间是 48-10-1=37,因此 I 的最晚开始时间是 36,否则就会影响整个项目的工期。 而要求活动的松弛时间,就要求出活动的最早开始时间和最晚开始时间,其最晚开始时间减去最早开始时间,就是活动的松弛时间。对于活动 FG,其最早开始时间是 10+8=18,而最晚开始时间 48-7-3=38,因此该活动的松弛时间是 20。(3).在面向对象技术中,有多种不同的多

17、态形式,其中参数多态和_称为通用多态。 A.重置多态 B.过载多态 C.隐含多态 D.包含多态(分数:2.00)A.B.C.D. 解析:解析 在面向对象技术中,对象在收到消息后要予以响应,不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。 参数多态应用比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。即通过语法对不同语义

18、的对象使用相同的名,编译能够消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。(4).以下描述中,不正确的是_。 A.类是对象的抽象,对象是类的实例 B.类是一组具有相同属性和方法的对象的集合 C.每个类都可以被实例化 D.对象是指一组属性及这组属性上的专用操作的封装体(分数:2.00)A.B.C. D.解析:解析 本题主要考查类和对象的概念。 在计算机系统中,对象是指一组属性及这组属性上的专用操作的封装体,它由对象标识(名称)、属性(状态、数据、成员

19、变量,也可以是另一个对象)和服务(操作、行为、方法)三个要素组成。对象是系统中用来描述客观事物的一个实体,它们被封装为一个整体,以接口的形式对外提供服务。 而类是一组具有相同属性和方法的对象抽象。一个类中的每个对象都是这个类的一个实例。在系统分析和设计时,通常要把注意力集中在类上,而不是具体的对象上。每个类一般都有实例,没有实例的类是抽象类。抽象类不能被实例化(不能用 new 关键字去产生对象),抽象方法只需声明,而无须实现。是否建立了丰富的类库是衡量一个 OO 程序设计语言成熟与否的重要标志之一。(5).在 UML 的通用机制中,_是系统中遵从一组接口规范且付诸实现的物理、可替换的软件模块。

20、 A.包 B.类 C.接口 D.构件(分数:2.00)A.B.C.D. 解析:解析 在 UML 中,把组织模型的组块称为包。包是用于把元素组织成组的通用机制,有助于组织模型中的元素,使得对它们的理解变得更容易,也使得用户能够控制对包的内容的访问,从而控制系统体系结构中的接缝。 接口是描述某个类或构件的一个服务操作集。也就是说,接口是类或构件对其他类或构件提供的功能、操作、行为。 构件是系统中遵从一组接口且提供实现的物理、可替换的部分。可以利用构件为可能存在于结点上的物理事物(如可执行体、库、表、文件及文档等)进行建模。一般情况下,构件表示将类、接口和协作等逻辑元素打包而形成的物理模块。好的构件

21、应采用定义良好的接口来定义灵活的抽象,以便将来可以用更新且接口兼容的构件来替换较旧的构件。(6).UML 的事物是对模型中最具有代表性的成分的抽象,_是模型的动态部分,描述了跨越时间和空间的行为。 A.结构事物 B.分组事物 C.行为事物 D.注释事物(分数:2.00)A.B.C. D.解析:解析 本题考查面向对象建模语言中的事物概念。 在 UML 中,有 4 种事物: (1)结构事物是 UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素。 (2)行为事物是 UML 模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为。 (3)分组事物是 UML 模型的组织部分。它们是

22、一些由模型分解成的“盒子”。 (4)注释事物是 UML 模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。(7).下列有关面向对象方面的描述,不正确的是_。 A.面向对象要求针对接口编程,而不要针对实现编程 B.接口与实现不可分割 C.设计职责单一的类 D.尽量使用已有的类库(分数:2.00)A.B. C.D.解析:解析 本题主要考查面向对象的基本知识。 “针对接口编程,而不是针对实现编程”是面向对象设计的 7 大原则之一,遵循此原则有以下几个方面的好处。 (1)使用者不必知道其使用对象的具体所属类。(2)使用者无须知道特定类,只需知道它们所期望的接口。 (3)一个对象可以很容易

23、地被(实现了相同接口的)另一个对象所替换。 (4)对象间的连接不必硬绑定到一个具体类的对象上,因此增加了灵活性。 另外,在这种方式下,接口与实现是可以分割的,这样利于变化,也符合面向对象的根本意图(便于需求的改变)。 设计职责单一的类也是 7 大设计原则中的一个,因为如果一个类有一个以上的职责,这些职责就耦合在了一起,这会导致脆弱的设计。比如,当一个职责发生变化时,就可能会影响其他的职责。另外,多个职责耦合在一起,也会影响程序的复用性。 类库,简单地说,就是很多类的集合,而这些类都是已经定义好的了,在编程时,可以直接使用,使用类库的好处主要有两个:一个是可以减少出差的概率;另外一个是可以节省大

24、量的时间和经历。因此,如果有类库可供使用,肯定是要尽量使用已有的类库。(8).已知两个类 O、P,类 O 中定义了一个私有方法 F1和一个公有方法 F2;类 P 中定义了一个公有方法F3,类 P 为类 O 的派生类。它们的继承方式如下所示。class P:private O.;在关于类 P 的描述中正确的是_。 A.类 P 的对象可以访问 F1,但不能访问 F2 B.类 P 的对象可以访问 F2,但不能访问 F1 C.类 P 的对象既可以访问 F1,也可以访问 F2 D.类 P 的对象既不能访问 F1,也不能访问 F2(分数:2.00)A.B.C.D. 解析:解析 本题主要考查继承中的一些基本

25、知识。在 C+中,类的继承主要有如下 3 种方式:(1)公有继承(public)。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。因此在公有继承时,派生类的对象可以访问基类中的公有成员,派生类的成员函数可以访问基类中的公有成员和保护成员。(2)私有继承(private)。私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。(3)保护继承(protected)。保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是

26、私有的。总的来说,基类成员对派生类的对象来说,是否能被访问,就要看基类的成员在派生类中变成了什么类型的成员。例如,私有继承时,基类的公有成员和私有成员都变成了派生类中的私有成员,因此对于派生类中的对象来说基类的公有成员和私有成员就是不可见的。在本题中,由于类 P 是对类 O 的私有继承,因此将类 O 的公有成员和私有成员都变成了派生类中的私有成员,因此类 P 的对象无法访问 F1,也无法访问 F2。(9).下来关于面向对象分析和设计的描述中,错误的是_。 A.组织并确定对象关系是面向对象设计阶段的活动 B.发现并确定业务对象是面向对象分析阶段的活动 C.建模系统功能是面向对象分析阶段的活动 D

27、.确定对象间的通信方式是面向对象设计阶段的活动(分数:2.00)A. B.C.D.解析:解析 本题考查面向对象分析与设计的活动。 面向对象分析基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为以及对象之间的关系。面向对象分析包括 3 个活动:建模系统功能,发现并且确定业务对象,组织对象并确定其关系。 面向对象设计是在分析对象模型的基础上,设计各个对象、对象之间的关系(如层次关系、继承关系等)和通信方式(如消息模式)等,其主要作用是对 OOA 的结果作进一步的规范化整理。(10).已知 f1,f 2是同一个类的两个成员函数,但 f1不能调用 f2,说明_。 A.f1、f 2都是静态成

28、员函数 B.f1是静态成员函数,f 2不是静态成员函数 C.f1不是静态成员函数,f 2是静态成员函数 D.f1、f 2都不是静态成员函数(分数:2.00)A.B. C.D.解析:解析 本题主要考查静态数据成员的内容。类的静态成员与一般的类成员不同,静态成员与对象的实例无关,只与类本身有关。它们一般用来实现类要封装的功能和数据,但不包括特定对象的功能和数据。静态成员和普通数据成员区别较大,体现在下面几点:(1)普通数据成员属于类的一个具体的对象,只有对象被创建了,普通数据成员才会被分配内存。静态数据成员属于整个类,即使没有任何对象创建,类的静态数据成员变量也存在。(2)外部访问类的静态成员只能

29、通过类名来访问。(3)类的静态成员函数无法直接访问普通数据成员(可以通过类的指针等作为参数间接访问),而类的任何成员函数都可以访问类的静态数据成员。(4)类的静态方法只能访问该类的静态数据成员。另外,静态成员和类的普通成员一样,也具有 public、protected、private3 种访问级别,也可以具有返回值及被修改等性质。而在本题中,虽然 f1和 f2都是同一个类的成员函数,但 f1不能调用 f2,如果它们都是普通成员函数,那么肯定是可以调用;如果它们都是静态成员函数,也可以调用;如果 f1是静态成员函数,而 f2不是的话,那么这种情况下,f 1不能调用 f2;如果 f1不是静态成员函

30、数,而 f2是的话,那么这种情况下,f 1也能调用 f2。综上所述,可知本题的答案选 B。(11).在 UML 的 5 大系统视图中,_是可执行线程和进程作为活动类的建模。 A.逻辑视图 B.进程视图 C.部署视图 D.用例视图(分数:2.00)A.B. C.D.解析:解析 UML 对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下 5 个系统视图: (1)逻辑视图。逻辑视图也称为设计视图,表示设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。 (2)进程视图。进程视图是可执行线程和进

31、程作为活动类的建模,是逻辑视图的一次执行实例,描述了并发与同步结构。 (3)实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。 (4)部署视图。部署视图把构件部署到一组物理结点上,表示软件到硬件的映射和分布结构。 (5)用例视图。用例视图是最基本的需求分析模型。(12).以下关于 C+中构造函数和析构函数的描述中,错误的是_。 A.构造函数的函数名必须与类名相同 B.构造函数的返回类型是 void 类型 C.析构函数无形参,也不可被重载 D.一个类只能有一个析构函数,但可以有多个构造函数(分数:2.00)A.B. C.D.解析:解析 在定义一个对象的同时,希望能给它的数据成员赋初

32、值对象的初始化。在特定对象使用结束时,还经常需要进行一些清理工作。C+程序中的初始化和清理工作分别由两个特殊的成员函数来完成,它们就是构造函数和析构函数。 构造函数是与类名相同的,在建立对象时自动调用的函数。如果在定义类时,没有为类定义构造函数,编译系统就生成一个默认形式的隐含的构造函数,这个构造函数的函数体是空的,因此默认构造函数不具备任何功能。构造函数是类的一个成员函数,除了具有一般成员函数的特征之外,还归纳出如下特殊的性质: (1)构造函数的函数名必须与定义它的类同名。 (2)构造函数没有返回值。如果在构造函数前加 void 是错误的。 (3)构造函数被声明定义为公有函数。 (4)构造函

33、数在建立对象时由系统自动调用。 析构函数也译作拆构函数,是在对象消失之前的瞬间自动调用的函数,析构函数具有以下特点: (1)析构函数没有任何参数,不能被重载,但可以是虚函数,一个类只有一个析构函数。 (2)析构函数没有返回值。 (3)析构函数名与类名相同,但在类名前加上一个逻辑非运算符“”,以示与构造函数对比区别。 (4)析构函数一般由用户自己定义,在对象消失时由系统自动调用,如果用户没有定义析构函数,系统将自动生成一个不做任何事的默认析构函数。(13).某 ATM 自动取款机系统中,“查询余额”和“取现”两个用例都需要检查用户的验证码是否正确,为此定义一个通用的用例“核查验证码”。那么用例“

34、查询余额”和“取现”与用例“核查验证码”之间是_。 A.包含关系 B.扩展关系 C.泛化关系 D.关联关系(分数:2.00)A. B.C.D.解析:解析 本题考查用例之间的基本关系。 用例之间存在 3 种关系,分别是包含关系、扩展关系和泛化关系。 包含关系。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。包含关系的一个重要特征,就是被抽象出来的用例是基础用例必须的部分,不能或缺。本题的描述就是一个包含关系。 扩展关系。如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支

35、,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。扩展关系的一个重要特征,就是抽取的用例相对于基础用例来说不是必须的。 泛化关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。例如,某学员进行课程注册时,假设既可以通过现场注册,也可以通过网上注册,则“注册课程”用例就是“现场注册”用例和“网上注册”用例的泛化。(14).在 UML 的建模机制中,_描述了对象之间动态的交互关系,还描述了交互的对象之间的静态链接

36、关系,即同时反映系统的动态和静态牲。 A.活动图 B.顺序图 C.状态图 D.协作图(分数:2.00)A.B.C.D. 解析:解析 本题主要考查 UML 中的图,是考试中的一个重要知识点,这里重点要理解各种图的作用和特点。 在 UML2.0 包括 14 种图,分别列举如下: (1)类图(Class Diagram)。类图描述一组类、接口、协作和它们之间的关系。在 OO 系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。 (2)对象图(Object Diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态

37、快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。 (3)构件图(Component Diagram)。构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。 (4)组合结构图(Composite Structure Diagram)。组合结构图描述结构化类(如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。 (5)用例图(Use Case Diagram)。用

38、例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。 (6)顺序图(Sequence Diagram,序列图)。顺序图是一种交互图(Interaction Diagram),交互图展现了一种交互,由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。 (7)通信图(Communication Diagram)。通信图也是一种交互图,强调收发消息的对象或参与者的结构组织。该图反映了对象之间的消息交互,与顺序图相似,但与顺序图不同的是,协作图不但描述了对象之间的交互还描

39、述了交互的对象之间的链接关系,即通信图同时反映了系统的动态和静态特征。在 UML 1.X 版本中,通信图称为协作图(Collaboration Diagram)。 (8)定时图(Timing Diagram,计时图)。定时图也是一种交互图,强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。 (9)状态图(State Diagram)。状态图描述一个状态机,由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,有助于对反应式系统建模。 (10)活动图(Activity Diagram)。活动图将进程或

40、其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。(11)部署图(Deployment Diagram)。部署图描述对运行时的处理结点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个结点包含一个或多个部署图。 (12)制品图(Artifact Diagram)。制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。 (13)包图(Package Diagram)。包图描述由模型本身分解而成的组织单元

41、,以及它们之间的依赖关系。 (14)交互概览图(Interaction Overview Diagram)。交互概览图是活动图和顺序图的混合物。 综上所述,可知本题的答案选 D。(15).在常见的 UML 图中,下列属于结构性视图的是_。对象图 用例图 包图 定时图构件图 部署图 类图 状态图 A. B. C. D.(分数:2.00)A.B.C. D.解析:解析 本题主要考查 UML 图的分类。UML2.0 中的 14 种视图可以分为结构性视图(静态)和行为性视图(动态)两种。结构领域主要是对系统中的结构成员及其相互关系进行描述;而行为领域则描述了系统随时间变化的行为。 结构性视图包括类图、对

42、象图、包图、组合结构图、构件图、部署图和制品图,而行为性视图包括用例图、顺序图、通信图、定时图、状态图、活动图、交互概览图。其中顺序图、通信图、定时图和交互概览图又统称为交互图。 综上所述,可知本题答案选 C。(16).遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用_原则可扩展已有的系统,并为之提供新的行为。 A.开闭 B.里氏替换 C.依赖倒置 D.接口隔离(分数:2.00)A. B.C.D.解析:解析 本题考查面向对象设计的设计原则。 面向对象设计有七大原则,分别是:单一职责原则、开放封闭原则、李氏替换原则、依赖倒置原则、接口隔离原则、组合重用原则和迪米特原则。下面我们分别

43、简单介绍一下这些原则。 (1)单一职责原则(SRP):就一个类来说,应该仅有一个引起它变化的原因。也就是说,一个类应该只有一个职责。如果有多个职责,那么就相当于把这些指责耦合在一起,一个职责的变化就可能削弱或抑制了这个类完成其他职责的能力,引起类的变化的原因就会有多个。所以在构造一个类时,将类的不同职责分离至两个或多个类中(或者接口中),确保引起该类变化的原因只有一个。 (2)开闭原则(OCP):软件组成实体应该是可扩展的,但是不可修改。开放一封闭原则认为应该试图设计永远也不需要改变的模块。可以添加新代码来扩展系统的行为,不能对已有的代码进行修改。这个原则很好的实现了面向对象的封装性和可重用性

44、。 (3)替换原则(LSP):子类应当可以替换父类并出现在父类能够出现的任何地方。这个原则是 Liskov 于 1987 年提出的设计原则。它同样可以从 Bertrand Meyer 的DBC(Design by Contract)的概念推出。以圆和椭圆为例,圆是椭圆的一个特殊子类。因此任何出现椭圆的地方,圆均可以出现。但反过来就可能行不通。 运用替换原则时,尽量把类 B 设计为抽象类或者接口,让 C 类继承类 B(接口 B)并实现操作 A 和操作 B,运行时,类 C 实例替换 B,这样即可进行新类的扩展(继承类 B 或接口 B),同时无须对类 A 进行修改。 (4)依赖倒置原则(DIP):在

45、进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。在结构化设计中,可以看到底层的模块是对高层抽象模块的实现,这说明,抽象的模块要依赖具体实现相关的模块,底层模块的具体实现发生变动时将会严重影响高层抽象的模块,显然这是结构化方法的一个“硬伤”。面向对象方法的依赖关系刚好相反,具体实现类依赖于抽象类和接口。为此,在进行业务设计时,应尽量在接口或抽象类中定义业务方法的原型,并通过具体的实现类(子类)来实现该业务方法,业务方法内容的修改将不会影响到运行时业务方法的调用。 (5)接口分离原则(ISP

46、):采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。ISP原则是另外一个支持诸如 COM 等组件化的使能技术。缺少 ISP,组件、类的可用性和移植性将大打折扣。这个原则的本质相当简单。如果拥有一个针对多个客户的类,为每一个客户创建特定业务接口,然后使该客户类继承多个特定业务接口将比直接加载客户所需所有方法有效。 (6)组合重用原则:就是能用组合实现的地方,尽量用组合来实现,而不要使用继承来扩展功能,因为组合能更好地实现封装,比继承具有更大的灵活性和更稳定的结构。 (7)迪米特原则:指一个对象应该对于其他对象有最少的了解,这样做的好处就是可以有效地降低类之间的耦合要求。

47、(17).以下关于设计模式的描述中,不正确的是_。 A.使用设计模式的主要目的是复用成功的设计和体系结构 B.设计模式具有适应需求变化的优点 C.设计模式可以改善代码的平台可移植性 D.设计模式可以减少方案出错的可能性(分数:2.00)A.B.C. D.解析:解析 此题考的是设计模式基本概念,要求考生清楚设计模式的作用和特点。 模式是一种问题的解决思路,已经适用于一个实践环境,并且可以适用于其他环境。设计模式通常是对于某一类软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要重用软件开发经验。 设计模式主要有以下几个方面的作用: (1)重用设计,重用设计比重用代码更有意义,它会自动带来代码重用。 (2)为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念是的程序员间的交流更加方便。 (3)在开发文档中采用模式词汇可以让其他人更容易理解你的想法和做法,编写开发文档也更加容易。 (4)应用设计模式可以让重构系统变得容易,可确保

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1