2009年11月軟件設計師預測題及答案解析四
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的描述是錯誤的。
【編輯推薦】