软件设计师面向对象方法学(一)

合集下载

面向对象方法学的出发点和基本原则

面向对象方法学的出发点和基本原则

面向对象方法学的出发点和基本原则1 面向对象方法学简介面向对象方法学( Object-Oriented Methodology, OOM)是一种软件工程的建模模式,它被广泛应用在软件工程的设计与开发中。

OOM是一种面向对象的分析、设计及编程的过程,用来组织抽象和构造有效的软件系统。

2 出发点及基本原则OOM的基本出发点是,让计算机能够更好的处理真实世界中复杂的问题。

它通过把巨大而复杂的系统分解为由许多独立的概念实体组成的、耦合度较低的“对象”来实现这一目标。

OOM的基本原则是要使组件(或对象)具有封装性、继承性和多态性:1. 封装性:能够将某些属性或功能封装到一个单一的实体之中,以达到良好的模块独立性、维护性等目的。

2. 继承性:直接通过之前定义的对象可以定义一个新的对象,新的对象将具有之前定义的对象的所有功能,从而极大的提高开发效率。

3. 多态性:每个子类可以具备不同的实现,以提高代码的可重用性。

3 典型应用OOM在软件工程设计与开发过程中被广泛应用。

一些软件语言,如C++、Java等都是面向对象编程语言,这些语言的使用都可以根据OOM的原则来实现。

此外,OOM的思想也可以被应用到其它的计算机应用领域。

例如,它可以用来设计具有分布式功能的大型系统,例如银行的信息系统等。

它也可以用来设计新的知识表示方法和面向对象数据库,以满足要求表示和处理复杂现实存在的事物与概念。

4 结论面向对象方法学是一种非常有效且实用的软件工程模式,它能够帮助程序员开发出更高质量的程序。

OOM的组件(或对象)具有封装性、继承性和多态性,这使得它能够更好的模拟真实世界中复杂的对象,并为实现这些对象的功能提供了一种有效的方法。

软件设计师中的面向对象分析知识点

软件设计师中的面向对象分析知识点

软件设计师中的面向对象分析知识点在软件设计领域中,面向对象编程是一种常见且重要的编程范式。

在实践中,面向对象的设计方法中的面向对象分析(Object-oriented Analysis,简称OOA)起着至关重要的作用。

本文将介绍软件设计师在面向对象分析过程中需要了解和掌握的知识点。

一、面向对象编程基础在深入了解面向对象分析之前,了解面向对象编程的基本概念是必要的。

面向对象编程主要包括封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)三个核心特性。

封装可以将数据和操作封装在一个类中,并对外提供接口,实现信息的隐藏和保护。

继承可以实现代码的重用和扩展,通过建立类之间的继承关系,子类可以继承父类的属性和方法。

多态则允许不同对象对同一个消息做出不同的响应,提高了代码的灵活性和可扩展性。

二、面向对象分析的概念和目标面向对象分析作为面向对象软件开发过程中的重要环节,旨在明确需求、定义系统的功能和性能,并基于此构建系统的需求模型。

面向对象分析的主要目标是识别问题领域中的对象、确定对象之间的关系,并分析对象的行为和属性。

通过面向对象分析,可以确保需求被准确地理解和收集,为后续的设计和实现工作提供基础。

三、面向对象分析的过程面向对象分析的过程可以分为以下几个步骤:1. 需求收集和定义:和其他软件开发过程一样,需求分析是面向对象分析的第一步。

此阶段中,软件设计师需要与用户、领域专家、系统分析师等人员深入交流,确定用户需求和系统需求,并将其清晰地文档化。

2. 领域建模:领域建模是面向对象分析的核心步骤。

在此阶段,软件设计师将问题领域中的实体(对象)以及它们之间的关系进行建模。

常用的建模工具包括UML(统一建模语言)等。

3. 对象行为和属性分析:通过领域建模,软件设计师可以获得系统中存在的对象及其相关属性和行为。

在此阶段,设计师需要深入分析对象的行为和属性,确定对象的职责和功能。

软件工程面向对象方法学概述

软件工程面向对象方法学概述
20前2一1页/1/12
面向对象方法学—优点
(4)可维护性好。 ❖面向对象的软件稳定性好 ❖面向对象的软件比较容易修改 ❖面向对象的软件容易理解 ❖易于测试和调试
13
喷泉模型
▪ 喷泉模型是面向对象软件过程的典型模型 ▪ 采用面向对象方法开发软件时,重点是面
向问题的对象的分析和定义,这个过程是 不断充实和反复迭代的, ▪ “喷泉”体现了面向对象软件开发过程迭 代和无缝的特性
▪ 一个系统应从不同的角度进行描述,从 一个角度观察到的系统称为一个视图 (view)。
新 数据用于表示对象的静态属性,是 途 对象的状态信息。

20前2一1页/1/12
6


面向对象方法学—要点


(3)按照子类(派生类)与父类 (基类)的关系,把若干个对象类组
的 成一个层次结构的系统(类等级)。
新 在这种层次结构中,通常下层的派生

类具有和上层的基类相同的特性(包 括数据和方法),这种现象称为继承
2021/1/12
37
面向对象建模
用面向对象方法开发软件,通常需要建 立三种形式的模型:
• 描述系统数据结构的对象模型 • 描述系统控制结构的动态模型 • 描述系统功能的功能模型
这三个模型从不同的侧面反映了系统的内 容,综合全面地反映了目标系统的需求。
20前2一1页/1/12
38
面向对象建模
用面向对象方法开发软件,在任何 情况下,对象模型始终都是最重要、 最基本、最核心的。
2021/1/12
3
面向对象方法学—要点
▪ 将客观世界遇到的问题与计算机中求解建 立联系
▪ 客观世界中的实体抽象为问题域中的对象 ▪ 计算机中的实体称为解空间对象

软件设计师的面向对象设计和设计模式

软件设计师的面向对象设计和设计模式

软件设计师的面向对象设计和设计模式在软件开发领域,面向对象设计和设计模式是软件设计师必备的核心知识。

面向对象设计是一种以对象为核心的设计思想,强调将系统的功能模块划分为独立的对象,并通过对象之间的交互实现系统的整体功能。

而设计模式则是针对常见问题的解决方案,通过提供经过实践验证的设计方法来解决软件开发中的复杂性。

一、面向对象设计的基本原则面向对象设计的基本原则有四个:单一职责原则、开放封闭原则、里氏替换原则和依赖倒置原则。

1. 单一职责原则:一个类只应该有一个单一的功能或职责。

这样可以确保类的职责清晰明确,降低代码复杂度,提高代码的可维护性。

2. 开放封闭原则:软件实体应该是可扩展的,但是不可修改的。

通过对扩展进行开放,对修改进行封闭,可以实现代码的复用性和可维护性。

3. 里氏替换原则:子类对象应该能够替换父类对象,并且保持程序的逻辑行为不发生变化。

这样可以保证系统的稳定性和灵活性。

4. 依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于抽象。

通过依赖倒置可以减少模块间的耦合性,提高代码的可拓展性。

二、常用的设计模式1. 创建型设计模式创建型设计模式包括:Singleton(单例模式)、Factory Method(工厂方法模式)、Abstract Factory(抽象工厂模式)、Builder(建造者模式)、Prototype(原型模式)等。

这些模式主要用于对象的创建,根据实际需求选择合适的创建型模式,可以提高系统的灵活性和可维护性。

2. 结构型设计模式结构型设计模式包括:Adapter(适配器模式)、Bridge(桥接模式)、Composite(组合模式)、Decorator(装饰者模式)、Facade (外观模式)、Proxy(代理模式)等。

这些模式主要用于对象的组合和组织,通过结构型模式可以实现系统的灵活性和可扩展性。

3. 行为型设计模式行为型设计模式包括:Observer(观察者模式)、Strategy(策略模式)、Template Method(模板方法模式)、Command(命令模式)、State(状态模式)等。

软件开发中的面向对象设计方法

软件开发中的面向对象设计方法

软件开发中的面向对象设计方法面向对象设计方法是软件开发中的重要一环,它的出现极大地提高了软件的复用性和可维护性。

本文将从面向对象设计方法的概念、原则、流程以及常见的设计模式等角度探讨,为广大软件开发者提供一些参考和借鉴。

一、面向对象设计方法的概念面向对象设计方法(Object-Oriented Design, 简称OOD)是一种将现实世界中的事物抽象成对象,通过对象之间的交互来完成程序设计的方法。

在面向对象设计中,程序被构建成一组对象,每个对象都拥有特定的属性和方法,对象之间可以通过方法进行交互和通信。

这种面向对象的编程方式,与传统的过程式编程方式相比,具有更加模块化、可复用、易维护的优点。

二、面向对象设计方法的原则面向对象设计方法有许多原则,下面列举四个最为重要的原则。

1. 单一职责原则:一个类应该只有一个单一的功能,并且该职责完全由该类进行封装。

2. 开闭原则:实体(类、模块、接口等)应该对扩展开放,对修改关闭。

即在不修改已有代码的前提下,通过扩展来满足新的需求。

3. 里氏替换原则:子类必须能够替换掉相应的父类。

即任何基类可以出现的地方,子类一定可以出现。

4. 依赖倒置原则:高层模块不应该依赖低层模块,二者应该依赖于抽象接口。

抽象不依赖于细节,而细节应当依赖于抽象。

三、面向对象设计方法的流程1. 需求分析:根据用户需求,对系统进行需求分析,明确系统的用途、功能和行为。

2. 面向对象设计:根据分析出的系统需求,抽象出不同的对象,对各个对象的功能和行为进行分析,确定它们之间的关系和交互方式,并设计并实现各个对象的属性和方法。

3. 编写代码:根据面向对象设计的成果,编写代码实现各个对象的属性和方法。

4. 测试和修正:对已写好的代码进行测试,及时发现和修正错误,保证系统的正常运行。

四、常见的面向对象设计模式面向对象设计模式是处理某些问题的经典方式,有助于提高代码的可复用性、可扩展性和可维护性。

下面介绍几个常见的面向对象设计模式。

面向对象程序设计方法学

面向对象程序设计方法学

⾯向对象程序设计⽅法学⾯向对象程序设计⽅法学⾯向对象程序设计吸取了结构化程序设计的⼀切优点,⼜考虑了现实世界与⾯向对象解空间的映射关系,它所追求的⽬标是将现实世界问题的求解尽可能的简单化。

⾯向对象程序设计将数据及对数据的操作放在⼀起,作为⼀个相互依存、不可分割的整体来处理,它采⽤数据抽象和信息隐藏技术。

它将对象及对对象的操作抽象成⼀种新的数据类型—类,并且考虑不同对象之间的联系和对象类的重⽤性。

下⾯我将就本⼈了解的⼀些⾯向对象基本概念和⼤家分享。

希望对⼤家有所帮助。

⼀、对象的基本概念⾯向对象=对象+类+继承+消息通信⾯向对象系统最突出的特性就是封装性、继承性和多态性,衡量某⼀种程序设计语⾔,看它是否是⾯向对象的程序设计语⾔,主要看它是否具有以上三种特性。

像C++,C#,java等都是这样的程序设计语⾔。

⼆、类与对象类(class)是对具有相同属性和服务的⼀个或⼀组对象的抽象定义。

类与对象是抽象与具体实例的关系,⼀个具体的对象被称做类的⼀个实例。

是否建⽴了丰富的类库是衡量⼀个⾯向对象程序设计语⾔成熟与否的⼀个重要标志。

对象(object)是系统中⽤来描述客观事物的⼀个实体,它是构成系统的⼀个基本单位,是类的实例。

⾯向对象的软件系统是由对象组成的,复杂的对象是由⽐较简单的对象组合⽽成。

也就是说,⾯向对象⽅法学使⽤对象分解取代了传统⽅法的功能分解。

对象的属性和⽅法称为这个对象的“成员”。

它是构成对象的主要部分。

类可以说是对象的蓝图(blueprint)三、对象三要素 对象三要素:对象标志、属性和服务对象标志:也就是对象的名字,供系统内部唯⼀地识别对象。

属性:也称状态或数据,⽤来描述对象的静态特征。

在某些⾯向对象的程序设计语⾔中,属性通常被称为成员变量或简称变量。

服务:也称操作、⾏为或⽅法等,⽤来描述对象的动态特征。

某些⾯向对象程序设计语⾔中,服务通常被称为成员函数或简称函数。

封装:对象的⼀个重要原则,⽬的是使对象的定义与实现分离。

第1章 面向对象的方法学

第1章 面向对象的方法学
为了在程序中使用cin/cout,必须在程序中包含iostream库
的相关头文件
#include<iostream>
计算机科学与工程学院
西安理工大学
C++流类库简介
iostream类同时从istream(输入流)类和ostream(输出 流)类派生而来,允许双向输入/输出。输入由重载的操作 符>>完成,输出由重载的操作符<<来完成。 cin>>变量名; cout<<变量名或常量;
对象
对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体。 对象是我们认识世界的基本单元,可以是人,也可以是物,还可以是一 件事。 术语“对象”既可以是指一个具体的对象,也可以泛指一般的对象。
实例
实例是一个类所描述的一个具体的对象。
例如,通过“大学生”类定义一个具体的对象学生王明就是大学生类的 一个实例,就是一个对象。 类和对象之间的关系是抽象和具体的关系。
面向对象分析
分析是问题抽象(即做什么)。 结构化方法采用面向过程的方法对问题进行分解 面向对象分析是指在深入、全面理解问题本质需求的基础上,准确地抽象出 系统必须做什么。
面向对象设计
分析是提取和整理用户需求,建立问题精确模型的过程,即做什么。设计是 问题求解 (即怎么做),是对分析阶段所建立的模型进行精雕细凿,并逐渐扩 充的一个过程。
[例9-5] 简单输出实例1。
[例9-6] 简单输出实例2。
计算机科学与工程学院
西安理工大学
基本输入流
流输入可以用流读取运算符——即重载的>>(右移位运算
符)来完成。 注意:
输入运算符>>也支持级联输入。在默认情况下,运算符>>跳过空格,读 入后面与变量类型相应的值。因此给一组变量输入值时,用空格或换行 将输入的数值间隔开,例如:

软件设计师中的面向对象设计知识点

软件设计师中的面向对象设计知识点

软件设计师中的面向对象设计知识点面向对象设计(Object-oriented Design,OOD)是软件设计中的一种方法论,旨在将现实世界中的事物以及它们之间的关系映射到软件系统中。

对于软件设计师来说,掌握面向对象设计的知识点是非常重要的。

本文将介绍软件设计师中必备的面向对象设计知识点,帮助读者深入了解并应用于实际项目中。

一、类和对象类是面向对象设计中的基本概念,它是一种描述对象的模板或蓝图。

对象是类的具体实例,它具有类所定义的属性和行为。

在面向对象设计中,通过类和对象的概念来描述系统中的各个组成部分和它们之间的关系。

1.1 类的定义在软件设计中,类的定义包括类名、属性和方法。

类名是类的唯一标识符,属性是类的成员变量,用于描述对象的状态,方法是类的成员函数,用于描述对象的行为。

1.2 对象的创建和销毁在面向对象设计中,通过创建对象来使用类所定义的属性和方法。

对象的创建可以使用类的构造函数,对象的销毁可以使用类的析构函数。

二、封装、继承和多态封装、继承和多态是面向对象设计中的三个核心特性,通过它们可以实现代码的重用性、灵活性和可维护性。

2.1 封装封装是将类的属性和方法封装在一起,形成一个类的内部。

通过访问修饰符来控制类的成员的访问权限,使得外部无法直接访问类的私有成员,只能通过公有方法来访问。

2.2 继承继承是通过一个类派生出一个或多个类,派生类继承了基类的属性和方法。

继承可以实现代码的重用,同时可以通过对基类进行扩展和修改,实现类的层次结构。

2.3 多态多态是指一个对象可以有多种不同的类型,在程序运行时,根据对象的实际类型,选择调用相应的方法。

多态提高了程序的灵活性和可扩展性。

三、关联、聚合和组合关联、聚合和组合是描述类之间关系的三个特性。

它们描述了一个类如何与其他类相互关联,并且在设计过程中需要根据实际需求来选择合适的关系。

3.1 关联关联是指一个类与其他类之间的联系,表示一个对象与另一个对象之间的关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[模拟] 软件设计师面向对象方法学(一)选择题第1题:下列关于静态多态实现重载的描述中正确的是______。

A.重载的方法(函数)的方法名(函数名)可以不同B.重载的方法(函数)必须在返回值类型以及参数类型上有所不同C.重载的方法(函数)必须在参数顺序或参数类型上有所不同D.重栽的方法(函数)只需在返回值类型上有所不同参考答案:C第2题:程序设计语言提供了基本类型及其相关的操作,而______则允许开发者自定义一种新的类型及其相关的操作。

A.对象B.实例C.类D.引用参考答案:C第3题:______表示了对象间“is-a”的关系。

A.组合B.引用C.聚合D.继承参考答案:D第4题:若对象A可以给对象B发送消息,那么______。

A.对象B可以看见对象AB.对象A可以看见对象BC.对象A、B相互不可见D.对象A、B相互可见参考答案:B第5题:类描述了一组对象共同的特性,下列叙述中正确的是______。

A.类本身不能具有变量B.对象具有类定义的所有变量的一份拷贝C.对象间不能共享类定义的变量D.可通过类名访问静态变量(类变量)参考答案:D(6) 反映了类间的一种层次关系,而(7) 反映了一种整体与部分的关系。

第6题:A.继承B.组合C.封装D.多态参考答案:A第7题:A.继承B.组合C.封装D.多态参考答案:B第8题:下列叙述中正确的是______。

A.d西向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象程序设计语言实现C.某些过程化程序设计语言也可实现面向对象系统D.面向对象程序设计语言不支持对成员变量的直接访问参考答案:C已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q是类O的派生类,其继承方式如下所示。

class P:protected O{};class Q:public O{…};关于方法F1的描述中正确的是(9) ;关于方法F2的描述中正确的是(10) ;关于方法F3的描述中正确的是(11) 。

第9题:A.方法F1无法被访问B.只有在类0内才能访问方法F1C.只有在类P内才能访问方法F1D.只有在类Q内才能访问方法F1参考答案:B第10题:A.类O、P和Q的对象都可以访问方法F2B.类P和Q的对象都可以访问方法F2C.类O和Q的对象都可以访问方法F2D.只有在类P内才能访问方法F2参考答案:C第11题:A.类O、P和Q的对象都可以访问方法F3B.类O、P和Q的对象都不可以访问方法F3C.类O和Q的对象都可以访问方法F3D.类P和Q的对象都可以访问方法F3参考答案:B第12题:在面向对象软件开发过程中,采用设计模式______。

A.允许在非面向对象程序设计语言中使用面向对象的概念B.以复用成功的设计和体系结构C.以减少设计过程创建的类的个数D.以保证程序的运行速度达到最优值参考答案:B第13题:以下关于单例模式(Singleton)的描述中,正确的是______。

A.它描述了只有一个方法的类的集合B.它能够保证一个类只产生一个唯一的实例C.它描述了只有一个属性的类的集合D.它能够保证一个类的方法只能被一个唯一的类调用参考答案:B第14题:下列关于一个类的静态成员的描述中,不正确的是______。

A.该类的对象共享其静态成员变量的值B.静态成员变量可被该类的所有方法访问C.该类的静态方法只能访问该类的静态成员变量D.该类的静态数据成员变量的值不可修改参考答案:D第15题:在MVC(模型—视图—控制器)模式中,视图部分描述的是______。

A.将应用问题域中包含的抽象领域知识呈现给用户的方式B.应用问题域中所包含的抽象类C.用户界面对用户输入的响应方式D.应用问题域中包含的抽象领域知识参考答案:A第16题:对于如图5-1所示的UML类图,正确的描述是______。

A.类B的实例中包含了对类C的实例的引用B.类A的实例中包含了对类B的实例的引用C.类A的实例中包含了对类C的实例的引用D.类B的实例中包含了对类A的实例的引用参考答案:B第17题:UML中关联的多重度是指______。

A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性参考答案:B第18题:已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是______。

A.B.C.D.参考答案:A第19题:面向对象分析的第一步是______。

A.定义服务B.确定附加的系统约束C.确定问题域D.定义类和对象参考答案:C第20题:面向对象程序设计语言为______提供支持。

A.面向对象用例设计阶段B.面向对象分析阶段C.面向对象需求分析阶段D.面向对象实现阶段参考答案:D第21题:下面关于面向对象的描述正确的是______。

A.针对接口编程,而不是针对实现编程B.针对实现编程,而不是针对接口编程C.接口与实现不可分割D.优先使用继承而非组合参考答案:AUML的设计视图包含了类、接口和协作,其中,设计视图的静态方面由(22) 和(23) 表现;动态方面由交互图、(24) 表现。

第22题:A.类图B.状态图C.活动图D.用例图参考答案:A第23题:A.状态图B.顺序图C.对象图D.活动图参考答案:C第24题:A.状态图和类图B.类图和活动图C.对象图和状态图D.状态图和活动图参考答案:D第25题:下面的______模式将对象组合成树形结构以表示“部分一整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。

A.组合(Composite)B.桥接(Bridge)C.修饰(Decorator)D.外观(Facade)参考答案:A第26题:图5-2描述了一种设计模式,该设计模式不可以______。

A.动态决定由一组对象中某个对象处理该请求B.动态指定处理一个请求的对象集合,并高效率地处理一个请求C.使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合关系D.将对象连成一条链,并沿着该链传递请求参考答案:B第27题:在面向对象程序设计中,常常将接口的定义与接口的实现相分离,可定义不同的类实现相同的接口。

在程序运行过程中,对该接口的调用可根据实际的对象类型调用其相应的实现。

为达到上述目的,面向对象语言需提供______机制。

A.继承和过载(overloading)B.抽象类C.继承和重置(overtiding)D.对象自身引用参考答案:C第28题:在面向对象的语言中,______。

A.类的实例化是指对类的实例分配存储空间B.每个类都必须创建一个实例C.每个类只能创建一个实例D.类的实例化是指对类进行初始化参考答案:A第29题:在统一建模语言(UML)中,______用于描述系统与外部系统及用户之间的交互。

A.类图B.用例图C.对象图D.协作图参考答案:B第30题:面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,______不属于面向对象分析阶段。

A.构建分析模型B.识别分析类C.确定接口规格D.评估分析模型参考答案:C第31题:面向对象分析需要找出软件需求中客观存在的所有实体对象(概念),然后归纳、抽象出实体类。

______是寻找实体对象的有效方法之一。

A.会议调查B.问卷调查C.电话调查D.名词分析参考答案:D在“模型一视图一控制器”(MVC)模式中,(32) 主要表现用户界面,(33) 用来描述核心业务逻辑。

第32题:A.视图B.模型C.控制器D.视图和控制器参考答案:A第33题:A.视图B.模型C.控制器D.视图和控制器参考答案:B第34题:在进行面向对象设计时,采用设计模式能够______。

A.复用相似问题的相同解决方案B.改善代码的平台可移植性C.改善代码的可理解性D.增强软件的易安装性参考答案:A下面给出了4种设计模式的作用。

外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这个子系统更加容易使用;装饰(Decorator):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。

请根据下面叙述的场景选用适当的设计模式。

若某面向对象系统中的某些类有且只有一个实例,那么采用(35) 设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(36) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条,或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类,(37) 设计模式可以实现该目的。

第35题:A.外观B.装饰C.单例D.模板方法参考答案:C第36题:A.外观B.装饰C.单例D.模板方法参考答案:D第37题:A.外观B.装饰C.单例D.模板方法参考答案:B第38题:在采用标准UML构建的用例模型(Use-Case Model)中,参与者(Actor)与用例(Use-Case)是模型中的主要元素,其中参与者与用例之间可以具有______关系。

A.包含(Include)B.递归(Recursive)C.关联(Association)D.组合(Composite)参考答案:C当采用标准UML构建系统类模型(Class Model)时,若类B除了具有类A的全部特性外,类B还可定义新的特性以及置换类A的部分特性,那么类B与类A 具有(39) 关系;若类A的对象维持类B对象的引用或指针,并可与类C的对象共享相同的类B的对象,那么类A与类B具有(40) 关系。

第39题:A.聚合B.泛化C.传递D.迭代参考答案:B第40题:A.聚合B.泛化C.传递D.迭代参考答案:A第41题:采用UML进行软件建模过程中,类图是系统的一种静态视图,用______可明确表示两类事物之间存在的整体/部分形式的关联关系。

A.依赖关系B.聚合关系C.泛化关系D.实现关系参考答案:B第42题:______表示了系统与参与者之间的接口。

相关文档
最新文档