61. 软件项目管理中可以使用各种图形工具,以下关于各种图形工具的论述中正确的是 (66) 。
(66) A.流程图直观地描述了工作过程的具体步骤,以及这些步骤之间的时序关系,可以用于控制工作过程的完成时间
B.PERT图画出了项目中各个活动之间的时序关系,可用于计算工程项目的关键路径,以便控制项目的进度
C.因果分析图能表现出软件过程中各种原因和效果之间的关系,并且表现了它们随时间出 现的顺序和重要程度,这些数据可用于改进软件过程的性能
D.Gantt图为整个项目建立了一个时间表,反映了项目中的所有任务之间的依赖关系,以及各个任务的起止日期,这些信息可用于项目的任务调度
参考答案:(66)B。
解析:项目管理是在指定时间内用最少的费用开发可接受的系统的管理过程,内容包括确定系统开发范围、计划、人员安排、组织、指导和控制。
对于选项A的“流程图”,它表达了系统中各个元素之间的信息流动情况,是进行系统详细设计的工具,因此选项A的说法是错误的。
选项B的“PERT图”,是一种图形化的网络模型,描述一个项目中的任务和任务之间的关系。PERT图用来在任务被调度之前弄清项目任务之间的依赖关系。PERT图的特点是通过关键路径法进行包括费用在内的资源最优化考虑,压缩关键路径上的工作,在规定的时间以前把它高效率地完成,因此选项B的说法是正确的。
选项C的“因果分析图”,也称鱼骨图,是一种用于确定、探索和描述问题及其原因和结果的图形工具。可以用因果分析图来迫使团队考虑问题的复杂性,并让他们以一种客观的态度来看待引起问题的原因。因果分析图可以帮助团队来确立引起问题的首要和次要原因,并帮助他们组织产生于头脑风暴会议中的观点,因此选项C的说法是错误的。
选项D的“Gantt图”,它和PERT图是安排进度时常用的图形描述方法。Gantt图中横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点所对应的横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。
Gantt图能够清晰地描述每个任务从何时开始,到何时结束及各个任务之间的并行关系,但是它不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在,因此选项D的说法是错误的。
62. 成功的SOA(面向服务架构体系结构)实施计划应该包含定义业务流程、SOA结构和模式、SOA基础架构和SOA开发程序等部分,其中 (67) 部分明确了需要哪些服务,哪些数据与此相关。
(67) A.定义业务流程
B.SOA开发程序
C.SOA基础架构
D.SOA结构和模式
参考答案:(67)A。
解析:面向服务架构体系结构(SOA)作为一种架构模型,它将应用程序的不同功能单元通过一些以中立方式定义的接口联系起来。成功的SOA实施计划应该包含①定义业务流程、②SOA结构和模式、③SOA基础架构和④SOA开发程序等4个主要的组成部分,每个部分完成的功能见表3。
表3 SOA各组成部分功能表
组 成 部 分 |
功 能 |
① 定义业务流程 |
明确为了支持业务流程需要哪些服务,哪些数据与此相关 |
② SOA结构和模式 |
制定开发服务过程中应该遵循的原则和标准,描述服务如何定义及实施,说明通用实施和使用模式 |
③ SOA基础架构 |
|
④ SOA开发程序 |
确定了服务开发和流程实施的优先顺序,指导整个项目,产生新的服务和流程 |
63. 面向对象系统中有两种基本的复用方式:框架复用和类库复用。以下关于框架和类库的描述中,说法错误的是 (68) 。
(68) A.框架是一个“半成品”的应用程序
B.框架会为一个特定的目的实现一个基本的、可执行的架构
C.类库只包含一系列可被应用程序调用的类
D.类库是框架的一种扩展形式
参考答案:(68)D。
解析:本试题讨论的主题是框架和类库之间的区别。类库是一种预先定义的程序库,它以程序模块的形式,按照类层次结构把一组类的定义和实现组织在一起。可见,类库只包含一系列可被应用程序调用的类。
框架是类库的一种扩展形式,它为一个特定的目的实现一个基本的、可执行的架构。换言之,它是一个“半成品”的应用程序。
64. 以下关于面向对象技术的叙述中,说法正确的是 (69) 。
(69) A.面向对象分析的第1步是定义类和对象
B.面向对象程序设计语言为面向对象用例设计阶段提供支持
C.构件表示的是物理模块而不是逻辑模块
D.抽象类的主要特征是没有方法
参考答案:(69)C。
解析:由于定义服务、确定附加的系统约束,以及定义类和对象的前提是要确定问题域,因此面向对象分析的第1步是确定问题域。
面向对象需求分析阶段、面向对象分析阶段和面向对象用例设计阶段都可以采用建模语言来进行描述,而面向对象程序设计语言主要为面向对象实现阶段提供支持。
UML中的构件是遵从一组接口并提供一组接口的实现,它是组成系统的一部分,是可替换的。它表示的是物理模块而不是逻辑模块。构件与类处于不同的抽象层次。
对象是数据及其操作的封装体。对象的名字、属性和方法是对象的三要素。对象之间的服务请求可以通过传递消息来实现。所有对象可以分成为各种对象类,每个对象都定义了一组方法。通常每个类都有实例,没有实例的类称之为抽象类。
65. 在面向对象技术中,同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为(70) 。
(70) A.参数多态
B.过载多态
C.包含多态
D.隐含多态
参考答案:(70)B。
解析:多态性是指作用于不同对象的同一个操作可以有不同的解释,从而产生不同的执行结果。通俗地说,具有相似功能的不同函数使用同一个函数名来实现,从而可以使用相同的调用方法来调用这些具有不同功能的同名函数。多态性可分为①参数多态、②包含多态、③过载多态和④隐含多态等4种类型,这些类型的说明见表4。
对于选项B的交互图(Interactive Diagram),是序列图(Sequence Diagram)和协作图的统称。它展现了各个对象如何依据某种行为进行相互协作。
对于选项C的活动图(Activity Diagram),是一种特殊的状态图,它用于描述需要进行的活动、执行这些活动的顺序及工作流。它强调对象间的控制流。
对于选项D的协作图(Collaboration Diagram),描述对象之间动态的交互关系,以及交互对象之间的静态链接关系。它强调收发消息对象的结构组织(上下层次关系)。
70. 可以用项目三角形表示项目管理中主要因素之间相互影响的关系, (75) 处于项目三角形的中心,它会影响三角形的每条边,对三条边的任何一条所作的修改都会影响它。
(75) A.范围
B.时间
C.成本
D.质量
参考答案:(75)D。
解析:项目三角形是指项目管理三角形,3条边分别是指时间、成本和范围,三者存在密切的关系。质量是项目三角形中的第4个关键因素,可以把它看成三角形的重心,具体分析如下。
① 如果调整项目三角形的时间边,在分析项目工期之后,可能发现项目的实际工期超过了原来的预算,此时有多种方法可以调整项目工期的长度。选择的方法受到各种约束条件(如资金、项目范围和项目质量等)的影响。最有效的缩短工期的办法是调整项目关键路径上的任务,具体做法是,缩短一些工作任务的工期、安排一些工作任务同步进行、分配额外资源加速进度或者缩小项目范围。当调整项目工期时,项目成本可能增加,资源可能会被过度分配,而且项目范围也可能发生变化;
参考答案:(71)D。
解析:由试题中的关键信息“类O由类P的1个实例和类Q的1个或多个实例构成”可知,类O、P和Q之间存在着“整体-部分”的构成关系,即类O表示整体概念,类P和Q为部分概念。在UML规范中,构成关系可以使用关联和聚集来表示。在UML模型图中,关联的图示是一条连接相同或不同类的实线( --或→ )。聚集是一种特殊的关联,在整体的一端用一个空心菱形修饰,即其图示为“ ”。图示“”表示的是一种泛化关系,据此可排除选项A和选项B。
选项C中,类Q端的关联多重度被指定为“1…*”,说明类Q中必须包含(1…*)个类O的对象,这与试题中的描述恰好相反,因此选项C是错误答案,选项D是正确答案。
67. 用UML建立业务模型是理解企业业务过程的第一步。使用活动图(Activity Diagram)可显示业务工作流的步骤和决策点,以及完成每一个步骤的角色和对象,它强调 (72) 。
(72) A.上下层次关系
B.时间和顺序
C.对象间的迁移
D.对象间的控制流
参考答案:(72)D。
解析:用UML建立业务模型是理解业务过程的第1步。使用活动图可表示企业业务的工作流。这种UML图显示工作流中的步骤和决策点,以及完成每一步骤的角色和对象。它强调对象间的控制流,是一种特殊的状态图(Statechart Diagram)。
在UML模型图中,协作图(Collaboration Diagram)按组织结构对控制流建模,它强调上下层次关系。序列图(Sequence Diagram)用于按时间顺序对控制流建模,它强调的是时间和顺序。
68.下面各语句中,能正确进行赋字符串操作的语句是(73)
(73)A. chars[5]={"ABCDE"};
B. chars[5]={’A’,’B’,’C’,’D’,’E’};
C. char*s;s="ABCDE";
D. char*s;scanf("%",s);
参考答案:(73)C。
解析:字符串最终存储于字符数组中,存储字符串的字符数组可以是程序主动引入的(定义或动态分配),也可以是字符串常量,由系统分配。其中字符数组用字符串初始化就是字符串存储于由程序引入的字符数组的例子。给字符指针赋字符串则是系统自动分配字符率存储空间的例子。给字符指针赋字符串并不是将一个长长的字符串存于字符指针变量中,而是将字符串常量存储于常量区,并将存储这个字符串的首字节地址赋给指针变量,让指针变量指向字符率常量的首字符。对于以字符串作为字符数组初值的情况,要求字符数组足够的大,能存得下字符串常量。这里有一个特别的规定,若数组的大小少于存储字符串有效字符的字节个数,系统将报告错误;当字符数组的大小只能存储字符串的有效字符,而不能存储字符率结束标记符时,则存储于字符数组中的内容是字符序列,因没有存储字符率结束标记符,存储的内容就不是字符串。如代码chara[5]="ABCDE"。另外,给字符数组元素逐一赋字符初值,并在字符初值中没有字符串结束标记符,则存于字符数组中的内容也不是字符率。如代码chars[5]={’A’,’B’,’C’,’D’,’E’}。特别要注意当字符指针还未指向某个字符数组的元素时,不可以通过字符指针输入字符串。如代码char*s;scanf("%s",s)。若写成char*str;scanf("%s",&str)更是错误的了。由于C语言规定数组不能相互赋值,所以只能将字符串常量赋给某字符指针。如代码char*s;s="ABCDE"是正确的。实际上,字符率"ABCDE"被存储于常量区中,向指针变量赋的是字符指针,让s指向其中的字符’A’。所以解答是C。
69. 在UML建模过程中,对象行为是对象间为完成某一目的而进行的一系列消息交换。若需要描述跨越多个用例的单个对象的行为,使用 (74) 是最为合适的。
(74) A.状态图(Statechart Diagram)
B.交互图(Interactive Diagram)
C.活动图(Activity Diagram)
D.协作图(Collaboration Diagram)
参考答案:(74)A。
解析:对于选项A的状态图(Statechart Diagram),展示了一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态间的转移。若需要描述跨越多个用例的单个对象的行为,使用它是最合适的。
对于选项B的交互图(Interactive Diagram),是序列图(Sequence Diagram)和协作图的统称。它展现了各个对象如何依据某种行为进行相互协作。
对于选项C的活动图(Activity Diagram),是一种特殊的状态图,它用于描述需要进行的活动、执行这些活动的顺序及工作流。它强调对象间的控制流。
对于选项D的协作图(Collaboration Diagram),描述对象之间动态的交互关系,以及交互对象之间的静态链接关系。它强调收发消息对象的结构组织(上下层次关系)。
70. 可以用项目三角形表示项目管理中主要因素之间相互影响的关系, (75) 处于项目三角形的中心,它会影响三角形的每条边,对三条边的任何一条所作的修改都会影响它。
(75) A.范围
B.时间
C.成本
D.质量
参考答案:(75)D。
解析:项目三角形是指项目管理三角形,3条边分别是指时间、成本和范围,三者存在密切的关系。质量是项目三角形中的第4个关键因素,可以把它看成三角形的重心,具体分析如下。
① 如果调整项目三角形的时间边,在分析项目工期之后,可能发现项目的实际工期超过了原来的预算,此时有多种方法可以调整项目工期的长度。选择的方法受到各种约束条件(如资金、项目范围和项目质量等)的影响。最有效的缩短工期的办法是调整项目关键路径上的任务,具体做法是,缩短一些工作任务的工期、安排一些工作任务同步进行、分配额外资源加速进度或者缩小项目范围。当调整项目工期时,项目成本可能增加,资源可能会被过度分配,而且项目范围也可能发生变化;
② 如果调整项目三角形的资金边,为了降低成本,可以缩小项目范围,这样任务减少,占用的资源也会下降,成本就会降低,同时项目的工期也会缩短;
③ 如果调整项目三角形的范围边,改变项目的范围一定包括改变项目任务的数量和工期。项目范围和质量是密切相关的,在缩小范围的同时,会降低既定的项目质量要求。否则不可能在原来的资源和时间内达成新的目标,所以项目的预期目标限定了相应的资源和时间;
④ 项目三角形的3条边中任何一条边发生变化都会影响项目质量,项目质量受3条边的约束。例如,如果发现项目工期还有剩余时间,可以通过增加项目任务来扩大范围。有了这种项目范围的扩大,就能够提高项目质量。反之,如果需要降低项目成本,将其控制在项目预算范围之内,就不得不通过减少项目任务或者缩短项目工期来缩小项目范围。随着项目的缩小,就很难保证既定的项目质量了,所以削减项目成本会导致项目质量的降低。
71. 以下关于用例(use case)的叙述中,说法不够准确的是 (76) 。
(76) A.用例将系统的功能范围分解成许多小的系统功能陈述
B.一个用例代表了系统的一个单一的目标
C.用例是一个行为上相关的步骤序列
D.用例描述了系统与用户的交互
参考答案:(76)D。
解析:用例(use case)用来描述系统在对事件做出响应时所采取的行动,即它确定了一个与系统参与者进行交互,并由系统执行的动作序列。可见,一个用例本身并不是一个功能需求,它代表了系统的一个单一的目标,是一个行为上相关的步骤序列。
选项D所描述的范围太广,不够准确。在UML规范中,参与者是指系统所涉及到的人,或者是用户在本系统中扮演的角色。一个参与者总是在系统的自动化边界之外。
72. 采用UML分析用户需求时,用例UCl可以出现在用例UC2出现的任何位置,那么UCl和UC2之间的关系是 (77) 关系。
(77) A.include
B.extend
C.generalize
D.call
参考答案:(77)C。
解析:用例之间的泛化(generalize)关系类似于类之间的泛化关系。子用例继承父用例的行为与含义。子用例还可以增加或者覆盖父用例的行为。子用例可以出现在父用例出现的任何位置。
本试题中,由于用例UCl可以出现在用例UC2出现的任何位置,因此UCl与UC2之间是选项C的“泛化(generalize)”关系。要注意,不是“用例UCl可以出现在用例UC2的任何位置”。
选项A的“包含(include)”关系,表示基础用例在它内部,说明某一位置上显式的合并是另一个用例的行为。被包含用例从不孤立存在,仅作为某些包含它的更大的基础用例的一部分出现。
选项B的“扩展(extend)”关系,表示基础用例在延伸用例间的一个位置上,隐式合并了另一个用例的行为。基础用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为延伸。
选项D的“call”可解释成“调用”。
73.若有以下定义,则值为3的表达式是(78)
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
(78) A. p+=2,*(p++)
B. p+=2,*++p
C. p+=3,*p++
D. p+=2,++*p
参考答案:(78) A。
解析:数组a有10个元素,分别有值1至10,指针变量p指向a[0],A逗号表达式p+=2,*(P++),先是P+=2使P指向a[2],接着是*(P++),以当时P所指变量a[2]取内容3为表达式的值,同时使p指向a[3]。B返号表达式p+=2,*++p,先是p+=2使p指向a[2],以后是*++p,又使p增1,让它指向a[3],并取指针p所指变量a[3]的内容4作为表达式的值。C逗号表达式p+=3,*p++,先是p+=3使p指向a[3],以后是*p++,表达式的值是a[3]为4,而使p指向a[4]。D逗号表达式p+=2,++*p,先是p+=2,使p指向a[2],以后是++*p,因当时的*p就是a[2],++a[2]使a[2]增1,变成4,并以4为表达式的值。所以只有p+=2,*(p++)的值是3。所以解答是A。
74.要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的函数是(79)
(79)A. funa(int*a,intn,intx)
{*a=x;
whlie(a[n]!=x)n--;
returnn;
}
B. funb(int*a,intn,intx)
{intk;
for(k=l;k<=n;k++)
if(a[k]==x)returnk;
return0;
}
C. func(inta[],intn,intx)
{int*k;
a[O]=x;k=a+n;
while(*k!=x)k--;
returnk-n;
}
D. fund(inta[],intn,intx)
{intk=0;
dok++;
while((kif((kelsereturn0;
}
参考答案:(79)C。
解析:在数组中找指定值是经常遇到的计算要求,有多种编程方法。在这里,数据预放在数组下标1至n的元素中,下标为0的元素没有放数据,程序可以利用这个位置简化查找函数。函数funa先将要查找的情放入a[0],从数据表的最后一个元素开始逆序向前查找。这样做的好处是循环条件不必担心因数组中原先没有值为x的元素而一直顺序查找下去,访问不是数表的元素,需插入条件n>O。在a[0]处放入x后,这个条件就不必要了,循环至少在访问了a[0]后终止,并返回0值。所以该函数能完成指定的功能。函数funb采用常规的办法编写,循环在a[1]与a[n]之间顺序寻找,一旦找到立即返回找到处的下标,直至查找循环结束,查不到指定的值而返回0值。函数func采用与函数funa相同的方法,不过是另外引入一个指针变量。但是该函数return语句后的表达式有严重的错误,应返回k-a,两指针的差,其值等于找到元素的下标。表达式k-n是指针k向前移n个位置的指针值。函数fund预置k为0,循环让k增1,并在k在界内和a[k]不等于x的情况下循环。循环结束有两种情况,或k已不在界内,或k在界内,并且a[k]等于x。若是后者,函数返回k,而若前者,函数返回比该函数也能正确完成查找工作。这样,不能正确完成查找工作的函数是函数fonc。所以正确选择是C。
75. 软件架构在软件需求与设计之间架起一座桥梁,也是风险承担者进行交流的手段,允许不同的风险承担者找出他们所关心的软件架构问题。逻辑视图的主要风险承担者是 (80) 。
(80) A.项目管理师
B.系统集成工程
C.系统实施工程师
D.最终用户
参考答案:(80)D。
解析:所谓风险承担者是指对软件系统某个方面(或层次)负责(或关注)的人员。也可以这样来理解风险承担者,软件系统的某个方面(或层次)如果存在缺陷或问题,对此负责任或受影响的人员。
逻辑视图描述了设计的对象模型,支持系统的功能需求。而系统的功能需求来自于最终用户,因此最终用户是逻辑
进程视图的风险承担者主要是系统集成人员;物理视图的风险承担者主要是系统实施工程师;开发视图的风险承担者主要是编程人员和软件项目管理人员;场景的风险承担者是最终用户和开发人员。
76. 某商场的部门、员工和商品3个实体之间的关系如图7所示。假设每个部门有若干名员工,每种商品只能由一个部门负责销售,那么部门到员工、部门到商品之间分别存在 (81) 的联系。
图7 某实体关系图 |
(81) A.1:1和1:1
B.1:1和1:n
C.1:n和1:1
D.1:n和1:n
参考答案:(81)D。
解析:E-R图中实体集A与实体集B有一对多(1:n)的联系是指实体集A中的每一实体,实体集B中有0个或多个实体与之联系,而对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系。
由题中的关键信息“每个部门有若干名员工,每种商品只能由一个部门负责销售”可知,实体“部门”与“员工”是一对多(1:n)的联系,实体“部门”与“商品”也是一对多(1:n)的联系,因此本试题的正确答案是选项D。
77. 关系模式Student(Sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一个学生可以选若干门课程,一个教师可以讲授若干门课程,一门课程可以由多个教师讲授,对于同一门课程,学生只能选定一个教师讲授的课程,教师不会重名。关系模式Student的分解ρ= (82) ,并且是无损联接及保持函数依赖。
(82) A.{(Sno,Sname,Cno,Tname,Taddr),(Sno,Sname,Cno,Cname,Grade)}∈1NF
B.{(Sno,Sname),(Sno,Cno,Grade,Tname,Taddr),(Cno,Cname)}∈2NF
C.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Cno,Cname,)∈3NF
D.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Tname,Cno),(Cno,Cname)}∈BCNF
参考答案:(82)B。
解析:关系模式Student(Sno,Sname,Cno,Cname,Grade,Tname,Taddr)的候选关键字有1个,为(Sno,Cno)。最小函数依赖集中有5个函数依赖。由于存在部分依赖现象,因此该关系模式属于1NF范式,分解ρ={(Sno,Sname),(Sno,Cno,Grade,Tname,Taddr),(Cno,Cname)}∈2NF,并且是无损联接及保持函数依赖。
78. 某企业职工和部门的关系模式如下所示,其中部门负责人也是一名职工。
职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
部门(部门号,部门名,负责人代码,任职时间)
查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
Select 职工号 from 职工 as E
where 月工资=(Select Max(月工资)from 职工 as M (83) );
(83) A.where M.部门号=E.部门号
B.where M.职工号=E.职工号
C.where M.职工号=E.负责人代码
D.where M.部门号=E.职工号
参考答案:(83)A。
解析:查询每个部门中月工资最高的“职工号”的SQL查询语句如下所示。
Select 职工号 from 职工 as E
where 月工资=(Select Max(月工资) from 职工 as M where M.部门号=E.部门号);
其中,子查询“Select Max(月工资) from 职工 as M where M.部门号=E.部门号”意为找出M.部门号最高月工资。主查询“Select 职工号 from 职工 as E where 月工资=”意为该职工的月工资等于最高工资。因此,(54)空缺处的正确答案是选项A。
79. 一级封锁协议解决了事务的并发操作带来的 (84) 不一致性的问题。
(84) A.读脏数据
B.数据重复修改
C.数据丢失修改
D.数据不可重复读
参考答案:(84)C。
解析:并发操作带来的数据不一致性表现为丢失修改、数据不可重复读和读脏数据3类。一级封锁协议是指在事务T修改数据R之前对其加X锁,直到事务结束前才释放该锁。事务T在执行期间,
其他事务不能对数据进行修改,只有事务T结束,其对数据R的修改写入数据库之后,其他事务才可以修改数据R,这样事务T的修改就不会丢失。
由于一级封锁协议没有限制其他事务对数据R的读取操作,因此可能使其他事务在T修改期间读取数据R,产生数据不可重复读和读脏数数据的错误。
80. 以下说法正确的是 (85) 。
(85) A.从结构的角度看,数据仓库主要有数据集市、企业仓库和用户仓库3种模型
B.数据挖掘就是要智能化和自动化地把数据转换为有用的信息和知识
C.OLAP技术为提高处理效率,必须绕过DBMS直接对物理数据进行读取和写入
D.数据仓库是从数据库中导入大量的数据,并对结构和存储进行组织以提高查询效率
参考答案:(85)B。
解析:从结构的角度看,数据仓库主要有企业仓库、数据集市和虚拟仓库等3种模型。其中,企业仓库用于收集跨越整个企业的各个主题的所有信息,它提供整个企业范围的数据集成。而数据集是包含对特定的用户有用的、企业范围数据的一个子集,其范围限于所选定的主题。虚拟仓库是操作型数据库上视图的集合。因此选项A的描述是错误的。
数据挖掘就是要智能化和自动化地把数据转换为有用的信息和知识。目前,常用的数据挖掘方法有关联分析、序列模式分析、分类分析和聚类分析等。由此可见,选项B的描述是正确的。
OLAP(on-line analytical processing)是联系分析处理的英文缩写。它仍使用DBMS存取数据,即选项C的描述是错误的。
数据仓库不是用做日常查询,也不是汇总和统计,它主要用于提取数据中的潜在信息和知识。因此选项D的描述是错误的。
【编辑推荐】