版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件水平考試(中級)數(shù)據(jù)庫系統(tǒng)工程師上午(基礎(chǔ)知識)試題章節(jié)練習(xí)試卷1(共9套)(共601題)軟件水平考試(中級)數(shù)據(jù)庫系統(tǒng)工程師上午(基礎(chǔ)知識)試題章節(jié)練習(xí)試卷第1套一、中文選擇題(本題共26題,每題1.0分,共26分。)1、軟件開發(fā)中的瀑布模型典型地刻畫了軟件生存周期的階段劃分,與其最相適應(yīng)的軟件開發(fā)方法是(1)。A、構(gòu)件化方法B、結(jié)構(gòu)化方法C、面向?qū)ο蠓椒―、快速原型法標(biāo)準(zhǔn)答案:B知識點解析:瀑布模型嚴(yán)格遵循軟件生命周期各階段的固定順序:計劃、分析、設(shè)計、編程、測試和維護(hù),上一階段完成后才能進(jìn)入下一階段,整個模型就像一個飛流直下的瀑布,如圖9-1所示。下面,我們來分析試題所給出的4個選項。1.快速原型法快速原型是指快速建立起來的可以在計算機上運行的程序,它所完成的功能往往是最終軟件產(chǎn)品功能的一個子集??焖僭湍P偷牡谝徊绞强焖俳⒁粋€能反映用戶主要需求的軟件原型,讓用戶在計算機上使用它,通過實際操作了解目標(biāo)系統(tǒng)的概貌。開發(fā)人員按照用戶提出的意見快速地修改原型系統(tǒng),然后再次請用戶試用……一旦用戶認(rèn)為這個原型系統(tǒng)確實能夠滿足他們的需求,開發(fā)人員便可據(jù)此書寫軟件需求說明,并根據(jù)這份文檔開發(fā)出可以滿足用戶真實需求的軟件產(chǎn)品。因此,快速原型法主要用于獲取用戶的真實需求,適合開發(fā)用戶需求不是很明確的軟件系統(tǒng)。2.結(jié)構(gòu)化方法結(jié)構(gòu)化方法(StructuredMethod)是強調(diào)開發(fā)方法的結(jié)構(gòu)合理性及所開發(fā)軟件的結(jié)構(gòu)合理性的軟件開發(fā)方法。結(jié)構(gòu)是指系統(tǒng)內(nèi)各個組成要素之間的相互聯(lián)系、相互作用的框架。結(jié)構(gòu)化開發(fā)方法提出了一組提高軟件結(jié)構(gòu)合理性的準(zhǔn)則,如分解與抽象、模塊獨立性、信息隱蔽等。針對軟件生存周期各個不同的階段,它有結(jié)構(gòu)化分析(SA)、結(jié)構(gòu)化設(shè)計(SD)和結(jié)構(gòu)化程序設(shè)計(SP)等方法。在系統(tǒng)分析階段,按全局的觀點對企業(yè)進(jìn)行分析,自上而下,從粗到精,由表及里,將系統(tǒng)逐層逐級進(jìn)行分解,最后進(jìn)行逆向綜合,構(gòu)成系統(tǒng)的信息模型。在系統(tǒng)設(shè)計階段,先把系統(tǒng)功能作為一個大模塊,然后逐層分解,完成系統(tǒng)模塊結(jié)構(gòu)設(shè)計。在實施階段,先實現(xiàn)系統(tǒng)的框架,自上而下完善系統(tǒng)的功能。程序的編寫遵循結(jié)構(gòu)化程序設(shè)計的原則,自頂向下,逐步求精。3.面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ㄊ且环N非常實用的軟件開發(fā)方法。它以客觀時間中的對象為中心,其分析和設(shè)計思想符合人們的思維方式,分析和設(shè)計的結(jié)果與客觀世界的實際比較接近,容易被人們接受。在面向?qū)ο蠓椒ㄖ?,分析和設(shè)計的界限并不明顯,他們采用相同的符號表示,能方便地從分析階段平滑地過渡到設(shè)計階段。4.構(gòu)件化方法構(gòu)件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng)。結(jié)構(gòu)上,它是語義描述、通訊接口和實現(xiàn)代碼的復(fù)合體。簡單地說,構(gòu)件是具有一定的功能,能夠獨立工作或能同其他構(gòu)件裝配起來協(xié)調(diào)工作的程序體,構(gòu)件的使用同它的開發(fā)、生產(chǎn)無關(guān)。從抽象程度來看,面向?qū)ο蠹夹g(shù)已達(dá)到了類級重用(代碼重用),它以類為封裝的單位。這樣的重用粒度還太小,不足以解決異構(gòu)互操作和效率更高的重用。構(gòu)件將抽象的程度提到一個更高的層次,它是對一組類的組合進(jìn)行封裝,并代表完成一個或多個功能的特定服務(wù),也為用戶提供了多個接口。整個構(gòu)件隱藏了具體的實現(xiàn),只用接口對外提供服務(wù)?;跇?gòu)件的開發(fā)(ComponentBasedSortwareDevelopment,CBSD)方法主要是利用已有構(gòu)件組合集成,它的開發(fā)過程與傳統(tǒng)方法不同。(1)需求分析和構(gòu)件的評選需求分析階段除分析外,還要進(jìn)行構(gòu)件的評選。一般分兩步:查找所要構(gòu)件和評價構(gòu)件。首先按需求分析結(jié)果,從構(gòu)件庫或構(gòu)件市場查找所需要標(biāo)準(zhǔn)的構(gòu)件,了解構(gòu)件的功能、可靠性、可預(yù)測性等特性,包括市場份額、以前業(yè)績;然后選出一些候選構(gòu)件,再進(jìn)行評價和決策。由于評價方法不精確,需求有時也不十分明確,因此評價和決策比較難。這一步主要確定構(gòu)件適應(yīng)性,主要考慮修改定制構(gòu)件的投資和風(fēng)險。(2)構(gòu)件的剪裁和擴展經(jīng)過評選的構(gòu)件不可能馬上都能用,有時要對已有構(gòu)件進(jìn)行屬性擴展或修改,稱為構(gòu)件的剪裁和擴展。這常常需要對構(gòu)件開發(fā)者提出擴展或修改的意見,由構(gòu)件開發(fā)者去完成。注意只能改內(nèi)部屬性,不能改接口。(3)構(gòu)件的測試經(jīng)過剪裁和擴展后,也可能要重新開發(fā)一些新構(gòu)件,這些擴展或新開發(fā)的構(gòu)件,必須在構(gòu)造應(yīng)用工具上進(jìn)行測試,保證構(gòu)件功能及接口規(guī)范的實現(xiàn)。這一步比傳統(tǒng)的單元測試要快和容易。(4)構(gòu)件的裝配和集成構(gòu)件的裝配和集成是把構(gòu)件裝配成模塊或打成包,在模塊或包中都可以有自己的定制描述符。從上面的分析可以看出,與瀑布模型最相適應(yīng)的開發(fā)方法為結(jié)構(gòu)化方法。2、下述任務(wù)中,不屬于軟件工程需求分析階段的是(2)。A、分析軟件系統(tǒng)的數(shù)據(jù)要求B、確定軟件系統(tǒng)的功能需求C、確定軟件系統(tǒng)的性能要求D、確定軟件系統(tǒng)的運行平臺標(biāo)準(zhǔn)答案:D知識點解析:軟件需求分析的目標(biāo)是深入描述軟件的功能和性能,確定軟件設(shè)計的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。在系統(tǒng)需求分析階段,就要擬定系統(tǒng)的目標(biāo)、范圍和要求(需求),明確項目視圖和范圍。具體地說,需求分析的任務(wù)主要有以下幾個方面:(1)確定軟件的綜合要求:系統(tǒng)界面,系統(tǒng)功能,系統(tǒng)性能,安全性、保密性和可靠性方面的要求,系統(tǒng)的運行要求,異常處理,將來的擴充和修改等。(2)分析軟件系統(tǒng)的數(shù)據(jù)要求:基本數(shù)據(jù)元素,數(shù)據(jù)元素之間的邏輯關(guān)系,數(shù)據(jù)量,峰值等。(3)導(dǎo)出系統(tǒng)的邏輯模型。(4)修正項目開發(fā)計劃。3、軟件設(shè)計的主要任務(wù)是設(shè)計軟件的結(jié)構(gòu)、過程和模塊,其中軟件結(jié)構(gòu)設(shè)計的主要任務(wù)是要確定(3)。A、模塊間的操作細(xì)節(jié)B、模塊間的相似性C、模塊間的組成關(guān)系D、模塊的具體功能標(biāo)準(zhǔn)答案:C知識點解析:軟件設(shè)計階段的任務(wù)是著手實現(xiàn)軟件的需求,即要著手解決“軟件怎么做”的問題。根據(jù)用數(shù)據(jù)、功能和行為模型表示的軟件需求,采用某種設(shè)計方法進(jìn)行數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計和過程設(shè)計。數(shù)據(jù)設(shè)計將E-R圖中描述的對象和關(guān)系,以及數(shù)據(jù)詞典中描述的詳細(xì)數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。體系結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要成分之間的關(guān)系。接口設(shè)計根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成分之間、軟件與其他協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。過程設(shè)計則是把結(jié)構(gòu)成分轉(zhuǎn)換成軟件的過程性描述。軟件設(shè)計是開發(fā)階段中最重要的步驟,它是軟件開發(fā)過程中質(zhì)量得以保證的關(guān)鍵步驟。軟件設(shè)計又可分為概要設(shè)計和詳細(xì)設(shè)計兩個步驟。概要設(shè)計將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。詳細(xì)設(shè)計通過對結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。常用的軟件設(shè)計方法有結(jié)構(gòu)化設(shè)計方法(SD)、Jackson設(shè)計方法(JSD)、Parnas方法和面向?qū)ο蟮脑O(shè)計方法(OOD)等。軟件設(shè)計的原則有抽象的原則、模塊化的原則、信息隱蔽的原則、模塊獨立的原則等。4、系統(tǒng)測試是將軟件系統(tǒng)與硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合,對整個軟件系統(tǒng)進(jìn)行測試。(4)不是系統(tǒng)測試的內(nèi)容。A、路徑測試B、可靠性測試C、安裝測試D、安全測試標(biāo)準(zhǔn)答案:A知識點解析:系統(tǒng)測試的任務(wù)是把軟件放在實際的硬件和網(wǎng)絡(luò)環(huán)境中進(jìn)行測試,主要測試軟件的非功能需求和質(zhì)量屬性是否得到滿足。系統(tǒng)測試通常采用黑盒測試,強調(diào)的是功能而不是結(jié)構(gòu),其中主要的幾種測試如下。(1)恢復(fù)測試:是指通過各種手段,讓軟件強制性地發(fā)生故障,然后來驗證恢復(fù)是否能正常進(jìn)行的一種系統(tǒng)測試方法。(2)安全測試:用來驗證集成在系統(tǒng)內(nèi)的保護(hù)機制是否能夠在實際中保護(hù)系統(tǒng)不受到非法侵入。(3)壓力測試:本質(zhì)上說,進(jìn)行壓力測試的人應(yīng)該這樣問“我們是將系統(tǒng)折騰到什么程度而不會出錯?”。壓力測試是在一種需要反常數(shù)量、頻率或資源的方式下執(zhí)行系統(tǒng)。(4)性能測試:就是用來測試軟件在集成系統(tǒng)中的運行性能的。選項中的可靠性測試包含了容錯性、恢復(fù)及安全等測試。路徑測試是白盒測試方法,一般用在單元測試中。5、項目管理工具中,將網(wǎng)絡(luò)方法用于工作計劃安排的評審和檢查的是(5)。A、Gantt圖B、PERT網(wǎng)圖C、因果分析圖D、流程圖標(biāo)準(zhǔn)答案:A知識點解析:本題考查考生對項目開發(fā)中用到的幾種圖形的理解。(1)Gantt圖(甘特圖):以水平線段表示任務(wù)的工作階段:線段的起點和終點分別對應(yīng)著任務(wù)的開工時間和完成時間;線段的長度表示完成任務(wù)所需的時間。從甘特圖上可以很清楚地看出各子任務(wù)在時間上的對比關(guān)系,并以文檔編制與評審作為軟件開發(fā)進(jìn)度的里程碑。甘特圖的優(yōu)點是標(biāo)明了各任務(wù)的計劃進(jìn)度和當(dāng)前進(jìn)度,能動態(tài)地反映軟件開發(fā)進(jìn)展情況。缺點是難以反映多個任務(wù)之間存在的復(fù)雜的邏輯關(guān)系。(2)PERT網(wǎng)圖:PERT圖也叫做計劃評審技術(shù),它采用網(wǎng)絡(luò)圖來描述一個項目的任務(wù)網(wǎng)絡(luò)。不僅可以表達(dá)子任務(wù)的計劃安排,還可以在任務(wù)計劃執(zhí)行過程中估計任務(wù)完成的情況,分析某些子任務(wù)完成情況對全局的影響,找出影響全局的區(qū)域和關(guān)鍵子任務(wù),以便及時采取措施,確保整個項目的完成。(3)因果分析圖:又叫特性要素圖、樹枝圖和魚刺圖等,是質(zhì)量管理常用工具之一。(4)流程圖:流程圖以圖解方式來說明實現(xiàn)一個解決方案所需完成的一系列操作。6、在結(jié)構(gòu)化分析方法中,數(shù)據(jù)字典是重要的文檔。對加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法(6)。A、只有結(jié)構(gòu)化語言B、有結(jié)構(gòu)化語言和判定樹C、有結(jié)構(gòu)化語言、判定樹、判定表D、有判定樹和判定表標(biāo)準(zhǔn)答案:C知識點解析:結(jié)構(gòu)化分析(StructuredAnalysis,SA)方法是一種面向數(shù)據(jù)流的需求分析方法。它的基本思想是自頂向下逐層分解,把一個大問題分解成若干個小問題,每個小問題再分解成若干個更小的問題。經(jīng)過逐層分解,每個最低層的問題都是足夠簡單、容易解決的,于是復(fù)雜的問題也就迎刃而解了。數(shù)據(jù)流圖和數(shù)據(jù)字典是結(jié)構(gòu)化分析的常見工具,數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。沒有數(shù)據(jù)流圖,數(shù)據(jù)字典難以發(fā)揮作用;沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格。只有把數(shù)據(jù)流圖和對數(shù)據(jù)流圖中每個元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。數(shù)據(jù)詞典精確、嚴(yán)格地定義了每一個與系統(tǒng)相關(guān)的數(shù)據(jù)元素,并以字典式順序?qū)⑺鼈兘M織起來,使得用戶和分析員對所有的輸入、輸出、存儲成分和中間計算有共同的理解。在數(shù)據(jù)詞典的每一個詞條中應(yīng)包含以下信息:(1)名稱:數(shù)據(jù)對象或控制項、數(shù)據(jù)存儲或外部實體的名字。(2)別名或編號。(3)分類:數(shù)據(jù)對象/加工/數(shù)據(jù)流/數(shù)據(jù)文件/外部實體/控制項(事件/狀態(tài))。(4)描述:描述內(nèi)容或數(shù)據(jù)結(jié)構(gòu)等。(5)何處使用:使用該詞條(數(shù)據(jù)或控制項)的加工。對加工的描述是數(shù)據(jù)字典的組成內(nèi)容之一,常用的加工描述方法有結(jié)構(gòu)化語言、判定樹、判定表。(1)結(jié)構(gòu)化語言:介于自然語言和形式語言之間的一種半形式語言,它在自然語言基礎(chǔ)之上加了一些限度,使用有限的詞匯和有限的語句來描述加工邏輯。結(jié)構(gòu)化語言是受結(jié)構(gòu)化程序設(shè)計思想啟發(fā)而擴展出來的。結(jié)構(gòu)化程序設(shè)計只允許三種基本結(jié)構(gòu)。結(jié)構(gòu)化語言也只允許三種基本語句,即簡單的祈使語句、判斷語句、循環(huán)語句。與程序設(shè)計語言的差別在于,結(jié)構(gòu)化語言沒有嚴(yán)格的語法規(guī)定。與自然語言的不同在于,它只有極其有限的詞匯和語句。結(jié)構(gòu)化語言使用三類詞匯:祈使句中的動詞、數(shù)據(jù)字典中定義的名詞,以及某些邏輯表達(dá)式中的保留字。(2)判定樹:若一個動作的執(zhí)行不只是依賴一個條件,而是與多個條件有關(guān),那么這項策略的表達(dá)就比較復(fù)雜。如果用結(jié)構(gòu)化語言的判斷語句,就有多重嵌套。層次一多,可讀性就下降。用判定樹來表示可以更直觀一些。(3)判定表:一些條件較多、在每個條件下取值也較多的判定問題,可以用判定表表示。判定表能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動作之間的對應(yīng)關(guān)系,判定表的優(yōu)點是能夠簡潔、無二義性地描述所有的處理規(guī)則。但判定表表示的是靜態(tài)邏輯,是在某種條件取值組合情況下可能的結(jié)果,它不能表達(dá)加工的順序,也不能表達(dá)循環(huán)結(jié)構(gòu),因此判定表不能成為一種通用的設(shè)計工具。這三種描述加工的方法各有千秋,除上面談到的幾個方面外,從直觀性、可修改性等方面的比較,如表9-1所示。7、CMM模型將軟件過程的成熟度分為5個等級。在(7)使用定量分析來不斷地改進(jìn)和管理軟件過程。A、優(yōu)化級B、管理級C、定義級D、可重復(fù)級標(biāo)準(zhǔn)答案:A知識點解析:CMM模型將軟件過程的成熟度分為5個等級,分別如下。(1)初始級:軟件過程的特點是無秩序的,有時甚至是混亂的。軟件過程定義幾乎處于無章法和步驟可循的狀態(tài),軟件產(chǎn)品所取得的成功往往依賴于極個別人的努力和機遇。初始級的軟件過程是未加定義的隨意過程,項目的執(zhí)行是隨意甚至是混亂的。也許,有些企業(yè)制定了一些軟件工程規(guī)范,但若這些規(guī)范未能覆蓋基本的關(guān)鍵過程要求,且執(zhí)行沒有政策、資源等方面的保證時,那么它仍然被視為初始級。(2)可重復(fù)級:已經(jīng)建立了基本的項目管理過程,可用于對成本、進(jìn)度和功能特性進(jìn)行跟蹤。對類似的應(yīng)用項目,有章可循并能重復(fù)以往所取得的成功。焦點集中在軟件管理過程上。一個可管理的過程則是一個可重復(fù)的過程,一個可重復(fù)的過程則能逐漸演化和成熟。從管理角度可以看到一個按計劃執(zhí)行的、且階段可控的軟件開發(fā)過程。(3)定義級:用于管理和工程的軟件過程均已文檔化、標(biāo)準(zhǔn)化,并形成整個軟件組織的標(biāo)準(zhǔn)軟件過程。全部項目均采用與實際情況相吻合的、適當(dāng)修改后的標(biāo)準(zhǔn)軟件過程來進(jìn)行操作。要求制定企業(yè)范圍的工程化標(biāo)準(zhǔn),而且無論是管理還是工程開發(fā)都需要一套文檔化的標(biāo)準(zhǔn),并將這些標(biāo)準(zhǔn)集成到企業(yè)軟件開發(fā)標(biāo)準(zhǔn)過程中去。所有開發(fā)的項目需根據(jù)這個標(biāo)準(zhǔn)過程,剪裁出項目適宜的過程,并執(zhí)行這些過程。過程的剪裁不是隨意的,在使用前需經(jīng)過企業(yè)有關(guān)人員的批準(zhǔn)。(4)管理級:軟件過程和產(chǎn)品質(zhì)量有詳細(xì)的度量標(biāo)準(zhǔn)。軟件過程和產(chǎn)品質(zhì)量得到了定量的認(rèn)識和控制。(5)優(yōu)化級:通過對來自過程、新概念和新技術(shù)等方面的各種有用信息的定量分析,能夠不斷地、持續(xù)地進(jìn)行過程改進(jìn)。有關(guān)CMM/MMI的知識,請讀者閱讀希賽網(wǎng)軟件工程頻道中的CMM/CMMI專欄或者過程改進(jìn)專欄(http://51/pubcmm/),該專欄是目前國內(nèi)有關(guān)CMM方面資料的最權(quán)威的欄目。8、在面向數(shù)據(jù)流的設(shè)計方法中,一般把數(shù)據(jù)流圖中的數(shù)據(jù)劃分為(8)兩種。A、數(shù)據(jù)流和事務(wù)流B、變換流和數(shù)據(jù)流C、變換流和事務(wù)流D、控制流和事務(wù)流標(biāo)準(zhǔn)答案:C知識點解析:數(shù)據(jù)流圖簡稱DFD,是描述數(shù)據(jù)處理過程的一種圖形工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)在系統(tǒng)流程中流動和處理的移動變換過程,反映數(shù)據(jù)的流向、自然的邏輯過程和必要的邏輯數(shù)據(jù)存儲。一般把數(shù)據(jù)流圖中的數(shù)據(jù)劃分為變換流和事務(wù)流兩種。變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。事務(wù)型數(shù)據(jù)處理接受一項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。9、下列敘述中,與提高軟件可移植性相關(guān)的是(12)。A、選擇時間效率高的算法B、盡可能減少注釋C、選擇空間效率高的算法D、盡量用高級語言編寫系統(tǒng)中對效率要求不高的部分標(biāo)準(zhǔn)答案:D知識點解析:軟件的可移植性(Portability)是指與一個軟件從一個環(huán)境轉(zhuǎn)移到另一個環(huán)境運行的能力有關(guān)的一組屬性。它包括如下內(nèi)容。(1)適應(yīng)性(Adaptability):是指與軟件無須采用有別于為該軟件準(zhǔn)備的活動或手段就可能適應(yīng)不同的規(guī)定環(huán)境有關(guān)的軟件屬性。(2)可安裝性(Installability):是指與應(yīng)指定環(huán)境下安裝軟件所需努力有關(guān)的軟件屬性。(3)遵循性(一致性,Conformance):是指使軟件遵循與可移植性有關(guān)的標(biāo)準(zhǔn)或約定的軟件屬性。(4)可替換性(Replaceability):是指與軟件在該軟件環(huán)境中用來替代指定的其他軟件的機會和努力有關(guān)的軟件屬性。為避免可能與互操作性(互用性)的含義相混淆,此處用易替換性而不用兼容性。特定軟件的易替換性并不隱含此軟件可由所考慮的軟件所替代。易替換性可能包含易安裝性和適應(yīng)性這兩個屬性。我們現(xiàn)在來看題目的備選答案,首先可以排除的是選項B“盡可能減少注釋”,注釋本來就是給人看的東西,不是給機器看的,注釋是不會生成目標(biāo)代碼的。減少注釋只會使程序的可讀性變差,不會提高可移植性。選擇時間效率高的算法能提高程序的運行速度,選擇空間效率高的算法可以減少程序運行時所需內(nèi)存。但這都和可移植性沒什么關(guān)聯(lián)。選項D所說的“盡量用高級語言編寫系統(tǒng)中對效率要求不高的部分”是與可移植性有關(guān)的,這句話可以反過來看,也就是說如果一個系統(tǒng)所有部分都用低級語言來編寫將是什么狀況。比如說匯編語言就是一種低級語言,這種語言中直接用到了大量寄存器,而我們知道不同的系統(tǒng)中寄存器的數(shù)量和特性是不同的,所以用低級語言寫的代碼雖執(zhí)行的效率很高,但可移植性卻并不好。因此,正確的答案應(yīng)為D。10、采用瀑布模型進(jìn)行系統(tǒng)開發(fā)的過程中,每個階段都會產(chǎn)生不同的文檔。以下關(guān)于產(chǎn)生這些文檔的描述中,正確的是(19)。A、外部設(shè)計評審報告在概要設(shè)計階段產(chǎn)生B、集成測試計劃在程序設(shè)計階段產(chǎn)生C、系統(tǒng)計劃和需求說明在詳細(xì)設(shè)計階段產(chǎn)生D、在進(jìn)行編碼的同時,獨立地設(shè)計單元測試計劃標(biāo)準(zhǔn)答案:A知識點解析:在軟件生產(chǎn)過程中,總是產(chǎn)生和使用大量的信息。軟件文檔在產(chǎn)品的開發(fā)過程中起著重要的作用。它能提高軟件開發(fā)過程的能見度,作為檢查軟件開發(fā)進(jìn)度和開發(fā)質(zhì)量的依據(jù),實現(xiàn)對軟件開發(fā)的工程管理,提高開發(fā)效率。軟件文檔的編制,使得開發(fā)人員對各個階段的工作都進(jìn)行周密思考、全盤權(quán)衡、減少返工。并且可在開發(fā)早期發(fā)現(xiàn)錯誤和不一致性,便于及時加以糾正。文檔作為開發(fā)人員在一定階段的工作成果和結(jié)束標(biāo)志,記錄開發(fā)過程中有關(guān)信息,便于協(xié)調(diào)以后的軟件開發(fā)、使用和維護(hù)。文檔還提供對軟件的運行、維護(hù)和培訓(xùn)的有關(guān)信息,便于管理人員、開發(fā)人員、操作人員、用戶之間的協(xié)作、交流和了解。文檔使軟件開發(fā)活動更科學(xué)、更有成效。文檔便于潛在用戶了解軟件的功能、性能等各項指標(biāo),為他們選購符合自己需要的軟件提供依據(jù)。國家標(biāo)準(zhǔn)《計算機軟件產(chǎn)品開發(fā)文件編制指南GB8567-88》中規(guī)定,在一項軟件開發(fā)過程,一般地說應(yīng)該產(chǎn)生十四種文件。按照文檔產(chǎn)生和使用的范圍,軟件文檔大致可分為三類。(1)開發(fā)文檔:軟件需求說明書、數(shù)據(jù)要求說明書、數(shù)據(jù)庫設(shè)計說明書、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、可行性研究報告、項目開發(fā)計劃、測試計劃和測試分析報告。(2)管理文檔:項目開發(fā)計劃、可行性研究報告、測試計劃、測試分析報告、開發(fā)進(jìn)度月報、模塊開發(fā)卷宗和項目開發(fā)總結(jié)報告。(3)用戶文檔:用戶手冊、操作手冊、維護(hù)修改建議和軟件需求說明書。在采用瀑布模型進(jìn)行系統(tǒng)開發(fā)的過程中,系統(tǒng)計劃和需求說明在需求分析階段產(chǎn)生,集成測試計劃在概要設(shè)計階段產(chǎn)生,單元測試計劃在詳細(xì)設(shè)計階段產(chǎn)生。11、在軟件項目管理中可以使用各種圖形工具來輔助決策,下面對Gantt圖的描述中,不正確的是(22)。A、Gantt圖表現(xiàn)了各個活動的持續(xù)時間B、Gantt圖表現(xiàn)了各個活動的起始時間C、Gantt圖反映了各個活動之間的依賴關(guān)系D、Gantt圖表現(xiàn)了完成各個活動的進(jìn)度標(biāo)準(zhǔn)答案:C知識點解析:進(jìn)度是按時間順序計劃活動的一個列表,我們稱之為Gantt圖,它有以下幾個關(guān)鍵的成分:(1)橫跨圖頂部排列的是日歷表。(2)最左邊的一列包含了每項任務(wù)的標(biāo)識號(ID)。(3)左邊第二列是要做的任務(wù)的名稱。(4)在圖表當(dāng)中,任務(wù)條表示各項任務(wù)計劃的開始和結(jié)束時間。(5)在表的左下方是項目名稱、進(jìn)度表的作者和制訂此進(jìn)度的原始日期。Gantt圖是展現(xiàn)項目中各個任務(wù)進(jìn)展?fàn)顩r的一種有用的工具。這種圖表對于協(xié)調(diào)多種活動特別有用。它能表現(xiàn)各個活動的持續(xù)時間、各個活動的起始時間及完成各個活動的進(jìn)度,但不能表現(xiàn)各個活動之間的依賴關(guān)系?;顒又g的依賴關(guān)系可用工程網(wǎng)絡(luò)圖來表現(xiàn)。12、耦合度描述了(23)。A、模塊內(nèi)各種元素結(jié)合的程度B、模塊內(nèi)多個功能之間的接口C、模塊之間公共數(shù)據(jù)的數(shù)量D、模塊之間相互關(guān)聯(lián)的程度標(biāo)準(zhǔn)答案:D知識點解析:耦合度是指從模塊外部考察模塊的獨立性程度。它用來衡量多個模塊間的相互聯(lián)系。一般來說,耦合度應(yīng)從以下三方面來考慮,即:耦合內(nèi)容的數(shù)量,即模塊間發(fā)生聯(lián)系的數(shù)據(jù)和代碼的多少,同這些數(shù)據(jù)和代碼發(fā)生聯(lián)系的模塊的多少,多的耦合強,少的耦合弱。模塊的調(diào)用方式,即模塊間代碼的共享方式??煞譃橛肅ALL語句調(diào)用方式和用GOTO語句直接訪問方式。模塊間的耦合類型有以下幾種方式:(1)獨立耦合:指兩個模塊彼此完全獨立,沒有直接聯(lián)系。它們之間的唯一聯(lián)系僅僅在于它們同屬于一個軟件系統(tǒng)或同有一個上層模塊。這是耦合程度最低的一種。當(dāng)然,系統(tǒng)中只可能有一部分模塊屬于此種聯(lián)系,因為一個程序系統(tǒng)中不可能所有的模塊都完全沒有聯(lián)系。(2)數(shù)據(jù)耦合:指兩個模塊彼此交換數(shù)據(jù)。如一個模塊的輸出數(shù)據(jù)是另一個模塊的輸入數(shù)據(jù),或一個模塊帶參數(shù)調(diào)用另一個模塊,下層模塊又返回參數(shù)。應(yīng)該說,在一個軟件系統(tǒng)中,此種耦合是不可避免的,且有其積極意義。因為任何功能的實現(xiàn)都離不開數(shù)據(jù)的產(chǎn)生、表示和傳遞。數(shù)據(jù)耦合的聯(lián)系程度也較低。(3)控制耦合:若在調(diào)用過程中,兩個模塊間傳遞的不是數(shù)據(jù)參數(shù)而是控制參數(shù),則模塊間的關(guān)系即為控制耦合??刂岂詈蠈儆谥械瘸潭鹊鸟詈希葦?shù)據(jù)耦合模塊間的聯(lián)系更為緊密。但控制耦合不是一種必須存在的耦合。當(dāng)被調(diào)用模塊接收到控制信息作為輸入?yún)?shù)時,說明該模塊內(nèi)部存在多個并列的邏輯路徑,即有多個功能。控制變量用于從多個功能中選擇所要執(zhí)行的部分,因而控制耦合是完全可以避免的。(4)公共耦合:又稱公共環(huán)境耦合或數(shù)據(jù)區(qū)耦合。若多個模塊對同一個數(shù)據(jù)區(qū)進(jìn)行存取操作,則它們之間的關(guān)系稱為公共耦合。公共數(shù)據(jù)區(qū)可以是全程變量、共享的數(shù)據(jù)區(qū)、內(nèi)存的公共覆蓋區(qū)、外存上的文件、物理設(shè)備等。當(dāng)兩個模塊共享的數(shù)據(jù)很多,通過參數(shù)傳遞可能不方便時,可以使用公共耦合。公共耦合共享數(shù)據(jù)區(qū)的模塊越多,數(shù)據(jù)區(qū)的規(guī)模越大,則耦合程度越強。公共耦合最弱的一種形式是:兩個模塊共享一個數(shù)據(jù)變量,一個模塊只向里寫數(shù)據(jù),另一個模塊只從里讀數(shù)據(jù)。當(dāng)公共耦合程度很強時,會造成關(guān)系錯綜復(fù)雜,難以控制,錯誤傳遞機會增加,系統(tǒng)可靠性降低,可理解、維護(hù)性差。(5)內(nèi)容耦合:是耦合程序最高的一種形式。若一個模塊直接訪問另一模塊的內(nèi)部代碼或數(shù)據(jù),即出現(xiàn)內(nèi)容耦合。內(nèi)容耦合的存在嚴(yán)重破壞了模塊的獨立性和系統(tǒng)的結(jié)構(gòu)化,代碼互相糾纏,運行錯綜復(fù)雜,程序的靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu)很不一致,其惡劣結(jié)果往往不可預(yù)測。內(nèi)容耦合往往表現(xiàn)為以下幾種形式:①一個模塊訪問另一模塊的內(nèi)部代碼或數(shù)據(jù);②一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi)部;③兩個模塊有一部分代碼重疊;④一個模塊有多個入口。一般講,在模塊劃分時,應(yīng)當(dāng)盡量使用數(shù)據(jù)耦合,少用控制耦合(盡量轉(zhuǎn)成數(shù)據(jù)耦合),限制公共耦合的范圍,完全不用內(nèi)容耦合。13、數(shù)據(jù)流程圖的作用是(24)。A、描述了數(shù)據(jù)對象之間的關(guān)系B、描述了對數(shù)據(jù)的處理流程C、說明了將要出現(xiàn)的邏輯判定D、指明了系統(tǒng)對外部事件的反應(yīng)標(biāo)準(zhǔn)答案:B知識點解析:數(shù)據(jù)流程圖簡記為DFD,指把信息流看做一個組織或系統(tǒng)動作的線索,通過外部實體、數(shù)據(jù)處理、數(shù)據(jù)存儲和數(shù)據(jù)流四個基本元素描述某項業(yè)務(wù)處理系統(tǒng)的信息來源、存儲、處理、去向的全面情況,力圖簡明扼要地勾畫出全面的概念模式。它描述了對數(shù)據(jù)的處理流程。14、內(nèi)聚是一種指標(biāo),表示一個模塊(25)。A、代碼優(yōu)化的程度B、代碼功能的集中程度C、完成任務(wù)的及時程度D、為了與其他模塊連接所要完成的工作量標(biāo)準(zhǔn)答案:B知識點解析:內(nèi)聚是指一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度。內(nèi)聚按強度從低到高有以下幾種類型。(1)偶然內(nèi)聚:如果一個模塊的各成分之間毫無關(guān)系,則稱為偶然內(nèi)聚。(2)邏輯內(nèi)聚:幾個邏輯上相關(guān)的功能被放在同一模塊中,則稱為邏輯內(nèi)聚。如一個模塊讀取各種不同類型外設(shè)的輸入。盡管邏輯內(nèi)聚比偶然內(nèi)聚合理一些,但邏輯內(nèi)聚的模塊各成分在功能上并無關(guān)系,即使局部功能的修改有時也會影響全局,因此這類模塊的修改也比較困難。(3)時間內(nèi)聚:如果一個模塊完成的功能必須在同一時間內(nèi)執(zhí)行,但這些功能只是因為時間因素關(guān)聯(lián)在一起,則稱為時間內(nèi)聚。(4)過程內(nèi)聚:如果一個模塊內(nèi)部的處理成分是相關(guān)的,而且這些處理必須以特定的次序執(zhí)行,則稱為過程內(nèi)聚。(5)通信內(nèi)聚:如果一個模塊的所有成分都操作同一數(shù)據(jù)集或生成同一數(shù)據(jù)集,則稱為通信內(nèi)聚。(6)順序內(nèi)聚:如果一個模塊的各個成分和同一個功能密切相關(guān),而且一個成分的輸出作為另一個成分的輸入,則稱為順序內(nèi)聚。(7)功能內(nèi)聚:模塊的所有成分對于完成單一的功能都是必需的,則稱為功能內(nèi)聚。15、在軟件項目開發(fā)過程中,評估軟件項目風(fēng)險時,(26)與風(fēng)險無關(guān)。A、高級管理人員是否正式承諾支持該項目B、開發(fā)人員和用戶是否充分理解系統(tǒng)的需求C、最終用戶是否同意部署已開發(fā)的系統(tǒng)D、開發(fā)需要的資金是否能按時到位標(biāo)準(zhǔn)答案:C知識點解析:軟件開發(fā)中的風(fēng)險與高級管理人員的支持程度有關(guān),與對系統(tǒng)需求理解的程度有關(guān),與開發(fā)資金的及時投入有關(guān),但是與最終用戶無關(guān),系統(tǒng)的最后部署與運行不屬于開發(fā)過程。Boehm提出的十大風(fēng)險是:開發(fā)人員短缺、不能實現(xiàn)的進(jìn)度和預(yù)算、開發(fā)了錯誤的軟件功能、開發(fā)了錯誤的用戶接口、華而不實的需求、需求不斷變動、外部執(zhí)行的任務(wù)不符合要求、外部提供的組件不符合要求、實時性不符合要求、超出了計算機科學(xué)發(fā)展的水平。16、開發(fā)專家系統(tǒng)時,通過描述事實和規(guī)則由模式匹配得出結(jié)論,這種情況下適用的開發(fā)語言是(27)。A、面向?qū)ο笳Z言B、函數(shù)式語言C、過程式語言D、邏輯式語言標(biāo)準(zhǔn)答案:D知識點解析:面向?qū)ο笳Z言(Object-OrientedLanguage)是一類以對象作為基本程序結(jié)構(gòu)單位的程序設(shè)計語言,指用于描述的設(shè)計是以對象為核心的,而對象是程序運行時刻的基本成分。語言中提供了類、繼承等成分。函數(shù)式語言。這種語言的語義基礎(chǔ)是基于數(shù)學(xué)函數(shù)概念的值映射的丸算子可計算模型。這種語言非常適合于進(jìn)行人工智能等工作的計算。典型的函數(shù)式語言如Lisp、Haskell、ML、Scheme等。函數(shù)式程序設(shè)計是一種強調(diào)表達(dá)式賦值而不是執(zhí)行命令的程序設(shè)計。過程式語言是一種通過指明一列可執(zhí)行的運算及運算的次序來描述計算過程的語言。非過程式語言是一種不顯式地指明處理細(xì)節(jié)的程序設(shè)計語言。邏輯式語言。這種語言的語義基礎(chǔ)是基于一組已知規(guī)則的形式邏輯系統(tǒng)。這種語言主要用于專家系統(tǒng)的實現(xiàn)中。最著名的邏輯式語言是Prolog。17、結(jié)構(gòu)化開發(fā)方法中,數(shù)據(jù)流圖是(28)階段產(chǎn)生的成果。A、需求分析B、總體設(shè)計C、詳細(xì)設(shè)計D、程序編碼標(biāo)準(zhǔn)答案:A知識點解析:結(jié)構(gòu)化分析是面向數(shù)據(jù)流進(jìn)行需求分析的方法,數(shù)據(jù)流圖是分析過程中用來描述數(shù)據(jù)處理過程的工具,它從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程,是對軟件所要處理數(shù)據(jù)的抽象。由于數(shù)據(jù)流圖只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。18、以下關(guān)于原型化開發(fā)方法的敘述中,不正確的是(29)。A、原型化方法適應(yīng)于需求不明確的軟件開發(fā)B、在開發(fā)過程中,可以廢棄不用早期構(gòu)造的軟件原型C、原型化方法可以直接開發(fā)出最終產(chǎn)品D、原型化方法有利于確認(rèn)各項系統(tǒng)服務(wù)的可用性標(biāo)準(zhǔn)答案:C知識點解析:原型是軟件開發(fā)過程中,軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的部分重要特性。原型化軟件開發(fā)方法的基本思想是軟件開發(fā)人員對用戶提出的需求和問題進(jìn)行總結(jié),就系統(tǒng)的主要需求取得一致意見后,構(gòu)造一個軟件原型(原型是軟件的一個早期版本,通常反映最終軟件的部分重要特性,原則應(yīng)該是可以運行和修改的),使用戶在試用原型過程中得到感受和啟發(fā),并做出反應(yīng)和評價。然后開發(fā)者根據(jù)用戶的意見對原型進(jìn)行改進(jìn),使之逐步完善,直到用戶對系統(tǒng)完全滿意為止。這種方法強調(diào)的是軟件開發(fā)人員與用戶的不斷交互,通過原型的演進(jìn)不斷適應(yīng)用戶任務(wù)改變的需求。將維護(hù)和修改階段的工作盡早進(jìn)行,使用戶驗收提前,從而使軟件產(chǎn)品更加適用。它的優(yōu)點是需求表示清楚,用戶滿意度較高、可降低開始風(fēng)險和開發(fā)成本。所以原型化方法特別適用于原始需求不明確的軟件,通過用戶的不斷使用和體驗并提出評價,使得不斷修改的原型逐步達(dá)到用戶要求。通常,軟件開發(fā)過程中會得到多個軟件原型,只有得到用戶認(rèn)可的才是最終的產(chǎn)品。19、CVS是一種(30)工具。A、需求分析B、編譯C、程序編碼D、版本控制標(biāo)準(zhǔn)答案:D知識點解析:CVS的全稱是ConcurrentVersionSystem,它是一個免費的協(xié)同版本控制工具,主要用于軟件源碼的維護(hù)。此外CVS可以維護(hù)任意文檔的開發(fā)和使用。CVS維護(hù)的文件類型可以是文本類型也可是二進(jìn)制類型。CVS基于客戶端朋臣務(wù)器模式,多個用戶可通過網(wǎng)絡(luò)(或本地)方式同時訪問,從而使用CVS成為位于不同地點、位于不同地點的人同時處理數(shù)據(jù)文件(特別是程序的源代碼)時的首選。20、通常在軟件的(31)活動中無需用戶參與。A、需求分析B、維護(hù)C、編碼D、測試標(biāo)準(zhǔn)答案:C知識點解析:為確保軟件符合用戶需求,在各種軟件開發(fā)過程中,用戶承擔(dān)著非常重要的作用。進(jìn)行需求分析時,需要用戶和軟件人員共同討論,并且只有用戶參與,才能有助于軟件人員了解用戶的知識、管理和技能等背景,也才能確保軟件符合用戶需求。軟件設(shè)計是將需求分析階段確定的、直接反映用戶需求的邏輯方案轉(zhuǎn)換為可以在計算機中實現(xiàn)的技術(shù)方案。在此過程中,不僅需要技術(shù)專家參與,也要求系統(tǒng)的用戶高度參與和控制,用戶主要參與系統(tǒng)總體設(shè)計、代碼設(shè)計和數(shù)據(jù)庫設(shè)計等工作。測試是軟件質(zhì)量的保證性手段,因為用戶是軟件的直接或間接使用者,這一群體能對軟件系統(tǒng)成果產(chǎn)生重大影響,不同種類的用戶可以以不同形式參與系統(tǒng)測試活動。軟件編碼是用程序代碼實現(xiàn)軟件設(shè)計活動,這一活動只是將軟件人員與用戶共同確定的軟件設(shè)計用指定的程序設(shè)計語言進(jìn)行實現(xiàn),得到可以在計算機上運行的實體,用戶通常不需要參與這個過程。21、進(jìn)行軟件項目的風(fēng)險分析時,風(fēng)險避免、風(fēng)險監(jiān)控和風(fēng)險管理及意外事件計劃是(32)活動中需要考慮的問題。A、風(fēng)險識別B、風(fēng)險預(yù)測C、風(fēng)險評估D、風(fēng)險控制標(biāo)準(zhǔn)答案:D知識點解析:軟件項目風(fēng)險是指在軟件開發(fā)過程中遇到的預(yù)算和進(jìn)度等方面的問題,以及這些問題對軟件項目的影響。軟件風(fēng)險分析包括風(fēng)險識別、風(fēng)險預(yù)測、風(fēng)險評估和風(fēng)險控制共4個不同的活動。風(fēng)險識別是風(fēng)險管理的第一步,它是指對企業(yè)所面臨的及潛在的風(fēng)險加以判斷、歸類和鑒定性質(zhì)的過程。風(fēng)險評估是在風(fēng)險識別的基礎(chǔ)上,對所收集的大量風(fēng)險信息運用數(shù)量化方法,估計和預(yù)測風(fēng)險發(fā)生的可能性和損失的嚴(yán)重程度。風(fēng)險控制是指利用某些技術(shù)和方法設(shè)法避開或轉(zhuǎn)移風(fēng)險,在此活動中,通常需要考慮風(fēng)險避免、風(fēng)險監(jiān)控和風(fēng)險管理及意外事件計劃三個方面的問題。22、在統(tǒng)一建模語言(UML)中,(33)用于描述系統(tǒng)與外部系統(tǒng)及用戶之間的交互。A、類圖B、用例圖C、對象圖D、協(xié)作圖標(biāo)準(zhǔn)答案:B知識點解析:本題考查的是UML語言,詳細(xì)分析見第11題。用例圖用于描述系統(tǒng)與外部系統(tǒng)及用戶之間的交互。23、用來輔助軟件開發(fā)、運行、維護(hù)、管理、支持等過程中的活動的軟件稱為軟件開發(fā)工具;通常也稱為(97)工具。A、CADB、CAIC、CAMD、CASE標(biāo)準(zhǔn)答案:D知識點解析:軟件開發(fā)工具是指用于輔助軟件開發(fā)、運行、維護(hù)、管理、支持等過程中的活動的軟件,通常也稱為CASE(ComputerAidedSoftwareEngineering,計算機輔助軟件工程)工具。24、使用軟件開發(fā)工具有助于提高軟件的開發(fā)、維護(hù)和管理的效率。集成型軟件開發(fā)環(huán)境通常由工具集和環(huán)境集成機制組成。這種環(huán)境應(yīng)具有(98)。環(huán)境集成機制主要有數(shù)據(jù)集成機制、控制集成機制和界面集成機制。A、開放性和可剪裁性B、開放性和不可剪裁性C、封閉性和可剪裁性D、封閉性和不可剪裁性標(biāo)準(zhǔn)答案:A知識點解析:軟件開發(fā)環(huán)境是指支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng)。集成型軟件開發(fā)環(huán)境是一種把支持多種軟件開發(fā)方法和開發(fā)模型、支持軟件開發(fā)全過程的軟件工具集成在一起的軟件開發(fā)環(huán)境。軟件開發(fā)環(huán)境具有集成性、開放性、可裁減性、數(shù)據(jù)格式一致性、風(fēng)格統(tǒng)一的用戶界面等特性,因而能大幅度提高軟件生產(chǎn)率。其中開放性是指允許其他的軟件工具加入到軟件開發(fā)環(huán)境之中,為環(huán)境外的工具集成到環(huán)境中來提供方便。可剪裁性是指根據(jù)不同的應(yīng)用或不同的用戶需求進(jìn)行剪裁,以形成特定的開發(fā)環(huán)境。通常,軟件開發(fā)環(huán)境可由環(huán)境機制和工具集構(gòu)成。按功能劃分,環(huán)境機制又可分為環(huán)境信息庫(數(shù)據(jù)集成機制)、過程控制和消息服務(wù)(控制集成機制)、用戶界面規(guī)范(界面集成機制)。數(shù)據(jù)集成機制提供統(tǒng)一的數(shù)據(jù)接口規(guī)范,需要相互協(xié)作的工具通過這種統(tǒng)一的模式與規(guī)范交換數(shù)據(jù)。數(shù)據(jù)集成可以有不同的層次,如共享文件、共享數(shù)據(jù)結(jié)構(gòu)和共享信息庫等。環(huán)境信息庫存儲軟件工程項目在生存周期中的全部信息,是軟件開發(fā)環(huán)境的核心??刂萍蓹C制支持各工具或各開發(fā)活動之間的通信、切換、調(diào)度和協(xié)同工作,并支持軟件開發(fā)過程的描述、執(zhí)行和轉(zhuǎn)接。通常使用消息通信機制實現(xiàn)控制集成,工具間發(fā)送的消息統(tǒng)一由消息服務(wù)器進(jìn)行管理。界面集成機制為統(tǒng)一的工具界面風(fēng)格和統(tǒng)一的操作方式提供支持,使得環(huán)境中的工具具有相同的視覺效果和操作規(guī)則,減少用戶為學(xué)習(xí)不同工具的使用所花費的開銷。界面集成主要體現(xiàn)在相同或相似的窗口、菜單、工具條、快捷鍵、操作規(guī)則與命令語法等。工具集包括事務(wù)系統(tǒng)規(guī)劃工具、項目管理工具、支撐工具、分析設(shè)計工具、程序設(shè)計工具、測試工具、原型建造工具、維護(hù)工具和框架工具等,所有這些工具可分為貫穿整個開發(fā)過程的工具(例如軟件項目管理工具)和解決軟件生命周期中某一階段問題的工具(例如軟件價格模型及估算工具)。25、概要設(shè)計是軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計,以下選項中不屬于概要設(shè)計的是(106)。A、把軟件劃分成模塊B、確定模塊之間的調(diào)用關(guān)系C、確定各個模塊的功能D、設(shè)計每個模塊的偽代碼標(biāo)準(zhǔn)答案:D知識點解析:在概要設(shè)計階段,設(shè)計人員將系統(tǒng)劃分為一個個具有特定功能的模塊,并給出相應(yīng)模塊的功能、模塊間的聯(lián)系與調(diào)用關(guān)系、決定模塊的界面等。詳細(xì)設(shè)計階段的主要工作之一就是根據(jù)概要設(shè)計的文檔,設(shè)計每個模塊的偽代碼。26、在下列說法中,(109)是造成軟件危機的主要原因。①用戶使用不當(dāng)②軟件本身特點③硬件不可靠④對軟件的錯誤認(rèn)識⑤缺乏好的開發(fā)方法和手段⑥開發(fā)效率低A、①③⑥B、①②④C、③⑤⑥D(zhuǎn)、②⑤⑥標(biāo)準(zhǔn)答案:D知識點解析:軟件危機是指在計算機軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。軟件危機主要表現(xiàn)在:軟件需求的增長得不到滿足,軟件生產(chǎn)成本高、價格昂貴,軟件生產(chǎn)進(jìn)度無法控制,軟件需求定義不夠準(zhǔn)確,軟件質(zhì)量不易保證,軟件可維護(hù)性差。歸納起來,產(chǎn)生軟件危機的內(nèi)在原因可歸結(jié)為兩個重要方面:一方面是由于軟件生產(chǎn)本身存在著復(fù)雜性:另一方面與軟件開發(fā)所使用的方法和技術(shù)有關(guān)。二、中文選擇題(含2小題)(本題共2題,每題1.0分,共2分。)信息工程是計算機信息系統(tǒng)發(fā)展的產(chǎn)物,形成了以(4)為中心的開發(fā)方法,以(5)的組織和實施來實現(xiàn),并提供直到系統(tǒng)完成的各階段的實施方法。27、信息工程是計算機信息系統(tǒng)發(fā)展的產(chǎn)物,形成了以(4)為中心的開發(fā)方法,以(5)的組織和實施來實現(xiàn),并提供直到系統(tǒng)完成的各階段的實施方法。A、應(yīng)用B、程序C、對象D、數(shù)據(jù)標(biāo)準(zhǔn)答案:D知識點解析:暫無解析28、A、邏輯數(shù)據(jù)庫B、物理數(shù)據(jù)庫C、主題數(shù)據(jù)庫D、面向?qū)ο髷?shù)據(jù)庫標(biāo)準(zhǔn)答案:C知識點解析:信息工程中包含了系統(tǒng)的方法論。形成了“以數(shù)據(jù)為中心”,而不是“以應(yīng)用為中心”的開發(fā)方法,并在方法中強調(diào)以數(shù)據(jù)為戰(zhàn)略資源,以數(shù)據(jù)規(guī)劃為基礎(chǔ)的信息工程方法,它以主題數(shù)據(jù)庫的組織和實施來實現(xiàn),并提供直到系統(tǒng)完成的各階段的實施方法。軟件水平考試(中級)數(shù)據(jù)庫系統(tǒng)工程師上午(基礎(chǔ)知識)試題章節(jié)練習(xí)試卷第2套一、中文選擇題(本題共8題,每題1.0分,共8分。)1、對于以下編號為①、②、③的正規(guī)式,正確的說法是(5)。①(aa*|ab)*b②(a|b)*b③((a|b)*|aa)*bA、正規(guī)式①、②等價B、正規(guī)式①、③等價C、正規(guī)式②、③等價D、正規(guī)式①、②、③互不等價標(biāo)準(zhǔn)答案:C知識點解析:由正規(guī)式①產(chǎn)生的字串為a*b或(ab)*b;②產(chǎn)生的字串為a*b或b*b、③產(chǎn)生的字串為a*b或b*b。因此,正規(guī)式②、③等價。2、高級程序設(shè)計語言中用于描述程序中的運算步驟、控制結(jié)構(gòu)及數(shù)據(jù)傳輸?shù)氖?6)。A、語句B、語義C、語用D、語法標(biāo)準(zhǔn)答案:A知識點解析:程序設(shè)計語言的基本成分:包括數(shù)據(jù)、運算、控制和傳輸。數(shù)據(jù)成分是程序操作的對象,具有存儲類別、類型、名稱、作用域和生存期等屬性,使用時要為它分配內(nèi)存空間。數(shù)據(jù)包括常量、變量、全局量、局部量。運算成分指明允許使用的運算符號及運算規(guī)則。函數(shù):函數(shù)的定義,函數(shù)的聲明,函數(shù)的調(diào)用。函數(shù)的定義包括函數(shù)首部和函數(shù)體。函數(shù)應(yīng)先聲明后引用。函數(shù)調(diào)用時實參與形參間交換信息的方法有傳值調(diào)用和引用調(diào)用兩種。傳值調(diào)用中,若函數(shù)調(diào)用時以實參向形參傳遞相應(yīng)類型的值,則這種方式下,形參將不能向?qū)崊⒎祷匦畔ⅲ怀鞘褂弥羔樧餍螀?,在調(diào)用時先對實參進(jìn)行取址運算,然后將實參地址傳遞給指針形參,這樣才可以實現(xiàn)被調(diào)用函數(shù)對實際參數(shù)的修改。程序設(shè)計語言是用于編寫計算機程序的語言。它的基礎(chǔ)是一組記號和一組規(guī)則。根據(jù)規(guī)則由記號構(gòu)成的記號串的總體就是語言。在程序設(shè)計語言中,這些記號串就是程序。程序設(shè)計語言包含三個方面,即語法、語義和語用。語法表示程序的結(jié)構(gòu)或形式,即表示構(gòu)成程序的各個記號之間的組合規(guī)則,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,即表示按照各種方法所表示的各個記號的特定含義,但也不涉及使用者,語用表示程序與使用者的關(guān)系。在高級程序設(shè)計語言中,語句用于描述程序中的運算步驟、控制結(jié)構(gòu)及數(shù)據(jù)傳輸。3、“<titlestyle="italic">science</title>",是XML中一個元素的定義,其中元素的內(nèi)容是(9)。A、titleB、stvleC、italicD、science標(biāo)準(zhǔn)答案:D知識點解析:“<titlestyle="italic">science</title>”是一個XML元素的定義,其中title是元素標(biāo)記名稱:style是元素標(biāo)記屬性名稱;italic是元素標(biāo)記屬性值;science是元素內(nèi)容。4、下面關(guān)于編程語言的各種說法中,(10)是正確的。A、由于C語言程序是由函數(shù)構(gòu)成的,因此它是一種函數(shù)型語言B、Smalltalk、C++、Java、C#都是面向?qū)ο笳Z言C、函數(shù)型語言適用于編寫處理高速計算的程序,常用于超級計算機的模擬計算D、邏輯型語言是在Client/Server系統(tǒng)中用于實現(xiàn)負(fù)載分散的程序語言標(biāo)準(zhǔn)答案:B知識點解析:函數(shù)是一種對應(yīng)規(guī)則(映射),它使定義域中每個元素和值域中唯一的元素相對應(yīng)。函數(shù)式語言是一類以λ-演算為基礎(chǔ)的語言,其代表為LISP,主要用于人工智能領(lǐng)域。邏輯型語言是一類以形式邏輯為基礎(chǔ)的語言,其代表是建立在關(guān)系理論和一階謂詞理論基礎(chǔ)上的PROLOG。PROLOG有很強的推理功能,適用于書寫自動定理證明、專家系統(tǒng)和自然語言理解等問題的程序。5、在面向?qū)ο蟮恼Z言中,(11)。A、類的實例化是指對類的實例分配存儲空間B、每個類都必須創(chuàng)建一個實例C、每個類只能創(chuàng)建一個實例D、類的實例化是指對類進(jìn)行初始化標(biāo)準(zhǔn)答案:A知識點解析:本題考查面向?qū)ο蟪绦蛟O(shè)計語言中類的實例化概念。類是用戶定義的類型。與語言定義的基本類型一樣,有了類型后,就可以定義(創(chuàng)建)該類型的變量,其含義是系統(tǒng)為變量分配存儲空間。對于程序中定義的類,并不要求一定要創(chuàng)建其實例,對實例的數(shù)目也沒有限制。創(chuàng)建類的實例時,系統(tǒng)需要為該實例分配存儲空間。6、給定C語言的數(shù)據(jù)結(jié)構(gòu)structT{intw;unionT{charc;intI;doubled;)U;};假設(shè)char類型變量的存儲區(qū)大小是1字節(jié),int類型變量的存儲區(qū)大小是4字節(jié),double類型變量的存儲區(qū)大小是8字節(jié),則在不考慮字對齊方式的情況下,為存儲一個structT類型變量所需要的存儲區(qū)域至少應(yīng)為(12)字節(jié)。A、4B、8C、12D、17標(biāo)準(zhǔn)答案:C知識點解析:unionT定義T為一個共用體,它所占用的存儲空間的大小是它所包含的元素中占用存儲空間最多的那個,即d的存儲空間8字節(jié),intw要占用存儲空間4字節(jié),所以存儲一個structT類型變量所需要的存儲區(qū)域至少應(yīng)為4+8=12字節(jié)。7、若程序運行時系統(tǒng)報告除數(shù)為0,這屬于(15)錯誤。A、語法B、靜態(tài)語義C、動態(tài)語義D、運算對象不匹配標(biāo)準(zhǔn)答案:C知識點解析:在程序執(zhí)行期間,會有許多意外的事件發(fā)生。例如,程序申請內(nèi)存時沒有申請到、對象還未創(chuàng)建就被使用、死循環(huán)等,稱為運行錯誤。根據(jù)錯誤的性質(zhì)將運行錯誤分為錯誤與異常兩種類型。程序進(jìn)入了死循環(huán)或內(nèi)存溢出,這類現(xiàn)象稱為錯誤或致命性錯誤。錯誤只能在編程階段解決,運行時程序本身無法解決,只能依靠其他程序干預(yù),否則會一直處于一種不正常的狀態(tài)。運算時除數(shù)為0,或操作數(shù)超出數(shù)據(jù)范圍,打開一個文件時發(fā)現(xiàn)文件不存在,網(wǎng)絡(luò)連接中斷等,這類運行錯誤現(xiàn)象稱為異常。對于異常情況,可在源程序中加入異常處理代碼,當(dāng)程序出現(xiàn)異常時,由異常處理代碼調(diào)整程序運行流程,使程序仍可正常運行直到正常結(jié)束。由于異常是可以檢測和處理的,所以產(chǎn)生了相應(yīng)的異常處理機制。而錯誤處理一般由系統(tǒng)承擔(dān)。對于一個應(yīng)用軟件,異常處理機制是不可缺少的。該題中出現(xiàn)的是語義錯誤,但不是編譯的時候出現(xiàn)的,是運行的時候出現(xiàn)的,所以是動態(tài)語義錯誤。8、程序設(shè)計語言引入“類”的概念是為了解決數(shù)據(jù)保護(hù)問題。C++語言將類的成員封裝在類體之中,使之具有一定的存取規(guī)則,這些規(guī)則規(guī)定了存取類的成員的權(quán)利,其中,對于用private說明的成員,它(62)。A、既能被該類的成員函數(shù)訪問,又能被外界直接訪問B、只能被該類的成員函數(shù)訪問,外界不能直接訪問C、不能被該類的成員函數(shù)訪問,只能被外界直接訪問D、既不能被該類的成員函數(shù)訪問,也不能被外界直接訪問標(biāo)準(zhǔn)答案:B知識點解析:在C++語言中,共有三個存取規(guī)則規(guī)定存取類的成員的權(quán)利,分別為public,protected和private。其中public表示既能被該類的成員函數(shù)訪問,也能被派生類的成員函數(shù)訪問,且能被外界直接訪問:protected表示既能被該類的成員函數(shù)訪問,也能被派生類的成員函數(shù)訪問,但不能被外界直接訪問;ptivate則表示只能被該類的成員函數(shù)訪問,不能被派生類的成員函數(shù)訪問,也不能被外界直接訪問。二、中文選擇題(含2小題)(本題共18題,每題1.0分,共18分。)在一個單CPU的計算機系統(tǒng)中,有兩臺外部設(shè)備R1、R2和三個進(jìn)程P1、P2、P3。系統(tǒng)采用可剝奪方式優(yōu)先級的進(jìn)程調(diào)度方案,且所有進(jìn)程可以并行使用I/O設(shè)備,三個進(jìn)程的優(yōu)先級、使用設(shè)備的先后順序和占用設(shè)備時間如表5-4所示。假設(shè)操作系統(tǒng)的開銷忽略不計,三個進(jìn)程從投入運行到全部完成,CPU的利用率約為(4)%;R2的利用率約為(5)%(設(shè)備的利用率指該設(shè)備的使用時間與進(jìn)程組全部完成所占用時間的比率)。9、在一個單CPU的計算機系統(tǒng)中,有兩臺外部設(shè)備R1、R2和三個進(jìn)程P1、P2、P3。系統(tǒng)采用可剝奪方式優(yōu)先級的進(jìn)程調(diào)度方案,且所有進(jìn)程可以并行使用I/O設(shè)備,三個進(jìn)程的優(yōu)先級、使用設(shè)備的先后順序和占用設(shè)備時間如表5-4所示。假設(shè)操作系統(tǒng)的開銷忽略不計,三個進(jìn)程從投入運行到全部完成,CPU的利用率約為(4)%;R2的利用率約為(5)%(設(shè)備的利用率指該設(shè)備的使用時間與進(jìn)程組全部完成所占用時間的比率)。A、60B、67C、78D、90標(biāo)準(zhǔn)答案:D知識點解析:暫無解析10、A、70B、78C、80D、89標(biāo)準(zhǔn)答案:A知識點解析:根據(jù)題目的描述,可以把系統(tǒng)運行的時空圖畫出,如圖5-2所示。那么這個圖是怎么來的呢,下面詳細(xì)介紹。首先,P1進(jìn)程使用只:資源30ms,所以P1的前30ms注明為R2。與此同時P2使用R1資源20ms,P3同時申請使用CPU40ms,當(dāng)P3申請使用CPU時,沒有其他進(jìn)程申請使用CPU,所以P3順利得到了CPU的使用權(quán)(如果此時P1或P2也申請CPU的話,則P3得不到CPU使用權(quán),因為P3的優(yōu)先級最低)。當(dāng)系統(tǒng)時間到20ms時,P3失去了CPU資源,這是為什么呢?因為此時P2已經(jīng)使用完R1,它開始申請使用CPU了,P2的優(yōu)先級比P3高,所以系統(tǒng)從P3手中收回CPU的使用權(quán)(因為系統(tǒng)采用可剝奪方式調(diào)度方案),把CPU分配給P2使用,當(dāng)系統(tǒng)時間到30ms時,系統(tǒng)又從P2手中收回了CPU的使用權(quán),把CPU分配給了P1使用,因為系統(tǒng)中P1的優(yōu)先級比P2高。依次類推,便完成了系統(tǒng)時空圖。從圖5-2我們可以看出,三個進(jìn)程運行完畢需要100ms,CPU工作了90ms,所以CPU的利用率為90%,R2工作了70ms所以,R2的利用率為70%。為了解決進(jìn)程間的同步和互斥問題,通常采用一種稱為(6)機制的方法。若系統(tǒng)中有5個進(jìn)程共享若干個資源R,每個進(jìn)程都需要4個資源R,那么使系統(tǒng)不發(fā)生死鎖的資源R的最少數(shù)目是(7)。11、為了解決進(jìn)程間的同步和互斥問題,通常采用一種稱為(6)機制的方法。若系統(tǒng)中有5個進(jìn)程共享若干個資源R,每個進(jìn)程都需要4個資源R,那么使系統(tǒng)不發(fā)生死鎖的資源R的最少數(shù)目是(7)。A、調(diào)度B、信號量C、分派D、通訊標(biāo)準(zhǔn)答案:B知識點解析:暫無解析12、A、20B、18C、16D、15標(biāo)準(zhǔn)答案:C知識點解析:在系統(tǒng)中,多個進(jìn)程競爭同一資源可能會發(fā)生死鎖,若無外力作用,這些進(jìn)程都將永遠(yuǎn)不能再繼續(xù)運行。信號量是最早出現(xiàn)的用來解決進(jìn)程同步與互斥問題的機制,在操作系統(tǒng)的進(jìn)程管理中最常用的方法是采用信號量機制,信號量是表示資源的實體,它包括一個稱為信號量的變量及對它進(jìn)行的兩個原語P、V操作,“P操作”檢測信號量是否為正值,若不是,則阻塞調(diào)用進(jìn)程:“V操作”喚醒一個阻塞進(jìn)程恢復(fù)執(zhí)行。根據(jù)用途不同,信號量分為公用信號量和私有信號量,公用信號量用于實現(xiàn)進(jìn)程間的互斥,初值通常設(shè)為1,它所聯(lián)系的一組并行進(jìn)程均可對它實施P、V操作;私有信號量用于實現(xiàn)進(jìn)程間的同步,初始值通常設(shè)為0或n。本題系統(tǒng)中有5個進(jìn)程共享若干個資源R,每個進(jìn)程都需要4個資源R,若系統(tǒng)為每個進(jìn)程各分配了3個資源,即5個進(jìn)程共分配了15個單位的資源R,這時只要再有1個資源R,就能保證有一個進(jìn)程運行完畢。因此,使系統(tǒng)不發(fā)生死鎖的資源R的最少數(shù)目是16。某磁盤共有10個盤面,每個盤面上有100個磁道,每個磁道有16個扇區(qū),假定分配以扇區(qū)為單位。若使用位示圖管理磁盤空間,則位示圖需要占用(9)字節(jié)空間。若空白文件目錄的每個表項占用5個字節(jié),當(dāng)空白區(qū)數(shù)目大于(10)時,空白文件目錄大于位示圖。13、某磁盤共有10個盤面,每個盤面上有100個磁道,每個磁道有16個扇區(qū),假定分配以扇區(qū)為單位。若使用位示圖管理磁盤空間,則位示圖需要占用(9)字節(jié)空間。若空白文件目錄的每個表項占用5個字節(jié),當(dāng)空白區(qū)數(shù)目大于(10)時,空白文件目錄大于位示圖。A、16000B、1000C、2000D、1600標(biāo)準(zhǔn)答案:C知識點解析:暫無解析14、A、400B、380C、360D、320標(biāo)準(zhǔn)答案:A知識點解析:本題考查的是操作系統(tǒng)文件管理的基本知識。外存具有容量大,被多用戶共享等特點,因此,文件系統(tǒng)必須對磁盤空間進(jìn)行管理。位示圖就是用來管理磁盤存儲空間的,每一位對應(yīng)文件存儲器上的一個物理塊,當(dāng)該位為1時表示該位所對應(yīng)的存儲空間不空閑,為0則表示空閑。根據(jù)題意,磁盤共有10個盤面,每個盤面上有100個磁道,每個磁道有16個扇區(qū),以扇區(qū)為分配單位,這意味著磁盤盤組共有10×100×16等于16000個物理塊。因此,如果使用位示圖管理磁盤空間,則位示圖需要占用16000÷8等于2000字節(jié)空間。若空白文件目錄的每個表項占用5個字節(jié),空白區(qū)數(shù)目為400時,則空白文件目錄大小為400×5=2000個字節(jié)??梢姰?dāng)空白區(qū)數(shù)目大于400時,空白文件目錄大于位示圖。某系統(tǒng)的進(jìn)程狀態(tài)轉(zhuǎn)換如圖5-3所示,圖中1、2、3和4分別表示引起狀態(tài)轉(zhuǎn)換的不同原因,原因4表示(13);一個進(jìn)程狀態(tài)轉(zhuǎn)換會引起另一個進(jìn)程狀態(tài)轉(zhuǎn)換的是(14)。15、某系統(tǒng)的進(jìn)程狀態(tài)轉(zhuǎn)換如圖5-3所示,圖中1、2、3和4分別表示引起狀態(tài)轉(zhuǎn)換的不同原因,原因4表示(13);一個進(jìn)程狀態(tài)轉(zhuǎn)換會引起另一個進(jìn)程狀態(tài)轉(zhuǎn)換的是(14)。A、就緒進(jìn)程被調(diào)度B、運行進(jìn)程執(zhí)行了P操作C、發(fā)生了阻塞進(jìn)程等待的事件D、運行進(jìn)程的時間片到了標(biāo)準(zhǔn)答案:C知識點解析:暫無解析16、A、1→2B、2→1C、3→2D、4→1標(biāo)準(zhǔn)答案:B知識點解析:本題考查的是計算機操作系統(tǒng)進(jìn)程管理方面的基礎(chǔ)知識。一個進(jìn)程的生命期可以劃分為一組狀態(tài),這些狀態(tài)刻劃了整個進(jìn)程。系統(tǒng)根據(jù)PCB結(jié)構(gòu)中的狀態(tài)值控制進(jìn)程。執(zhí)行狀態(tài):一個進(jìn)程在并發(fā)執(zhí)行中,由于資源共享與競爭,處于執(zhí)行狀態(tài)。(1)用戶執(zhí)行狀態(tài)(用戶態(tài)):進(jìn)程的用戶程序段在執(zhí)行時所處的狀態(tài)。(2)系統(tǒng)執(zhí)行狀態(tài)(系統(tǒng)態(tài)或核心態(tài)):進(jìn)程的系統(tǒng)程序段在執(zhí)行時所處的狀態(tài)。等待狀態(tài):進(jìn)程則因等待某種事件發(fā)生而處于等待狀態(tài)。就緒狀態(tài):進(jìn)程得到了除CPU之外的其他資源,只要由調(diào)度得到處理機,便可立即投入執(zhí)行。(1)內(nèi)存就緒狀態(tài):可以立即投入執(zhí)行。(2)外存就緒狀態(tài):只有先成為內(nèi)存就緒狀態(tài)后,才可能被調(diào)度執(zhí)行。圖5-3中原因1是由于調(diào)度程序的調(diào)度引起的;原因2是由于時間片用完引起的;原因3是由于I/O請求引起的,例如進(jìn)程執(zhí)行了P操作,由于申請的資源得不到滿足進(jìn)入阻塞隊列;原因4是由于I/O完成引起的,例如某進(jìn)行執(zhí)行了V操作將信號量值減1,若信號量的值小于0,則意味著有等待該資源的進(jìn)程,將該進(jìn)程從阻塞隊列中喚醒使其進(jìn)入就緒隊列。試題(24)選項A“1→2”不可能,因為調(diào)度程序從就緒隊列中調(diào)度一個進(jìn)程投入運行,不會引起另外一個進(jìn)程時間片用完;選項B“2→1”可能,因為當(dāng)現(xiàn)運行進(jìn)程的時間片用完,會引起調(diào)度程序調(diào)度另外一個進(jìn)程投入運行:選項C“3→2”不可能,因為現(xiàn)運行進(jìn)程由于等待某事件被阻塞,使得CPU空閑,此時調(diào)度程序會從處于就緒狀態(tài)的進(jìn)程中挑選一個新進(jìn)程投入運行;選項D“4→1”不可能,一般一個進(jìn)程從阻塞狀態(tài)變化到就緒狀態(tài)時,不會引起另一個進(jìn)程從就緒狀態(tài)變化到運行狀態(tài)。某虛擬存儲系統(tǒng)采用最近最少使用(LRU)頁面淘汰算法,假定系統(tǒng)為每個作業(yè)分配3個頁面的主存空間,其中一個頁面用來存放程序?,F(xiàn)有某作業(yè)的部分語句如下:VarA:Array[1..150,1..100]OFinteger;i,j:integer;FORi:=1to150DOFORj:=1to100DOA[i,j]:=0;設(shè)每個頁面可存放150個整數(shù)變量,變量i、j放在程序頁中。初始時,程序及變量i、j已在內(nèi)存,其余兩頁為空,矩陣A按行序存放。在上述程序片段執(zhí)行過程中,共產(chǎn)生(16)次缺頁中斷。最后留在內(nèi)存中的是矩陣A的最后(17)。17、某虛擬存儲系統(tǒng)采用最近最少使用(LRU)頁面淘汰算法,假定系統(tǒng)為每個作業(yè)分配3個頁面的主存空間,其中一個頁面用來存放程序。現(xiàn)有某作業(yè)的部分語句如下:VarA:Array[1..150,1..100]OFinteger;i,j:integer;FORi:=1to150DOFORj:=1to100DOA[i,j]:=0;設(shè)每個頁面可存放150個整數(shù)變量,變量i、j放在程序頁中。初始時,程序及變量i、j已在內(nèi)存,其余兩頁為空,矩陣A按行序存放。在上述程序片段執(zhí)行過程中,共產(chǎn)生(16)次缺頁中斷。最后留在內(nèi)存中的是矩陣A的最后(17)。A、50B、100C、150D、300標(biāo)準(zhǔn)答案:B知識點解析:暫無解析18、A、2行B、2列C、3行D、3列標(biāo)準(zhǔn)答案:C知識點解析:采用了三個頁面來存儲,由于第一個頁面用來存放程序及i、j。所以只有兩個頁面用來存放數(shù)組。整個數(shù)組有150×100=15000個整數(shù),而每一頁可存放150個整數(shù)變量,所以整個程序執(zhí)行完,共產(chǎn)生15000÷50=100次缺頁。每一行100個整數(shù),最后保留在兩個內(nèi)存頁面的內(nèi)容是矩陣A的最后3行的數(shù)值。假設(shè)磁盤上每個磁道劃分成9個物理塊,每塊存放1個邏輯記錄。邏輯記錄R1,R2,…,R9存放在同一個磁道上,記錄的安排順序如表5-5所示。假定磁盤的旋轉(zhuǎn)速度為27ms/周,磁頭當(dāng)前處在R1的開始處,系統(tǒng)使用單緩沖區(qū),當(dāng)緩沖區(qū)內(nèi)容處理完時才能再存放新的記錄,且每個記錄的處理時間為3ms。若系統(tǒng)順序處理這些記錄,則處理這9個記錄的最長時間為(18);若對信息存儲進(jìn)行優(yōu)化分布后,處理9個記錄的最少時間為(19)。19、假設(shè)磁盤上每個磁道劃分成9個物理塊,每塊存放1個邏輯記錄。邏輯記錄R1,R2,…,R9存放在同一個磁道上,記錄的安排順序如表5-5所示。假定磁盤的旋轉(zhuǎn)速度為27ms/周,磁頭當(dāng)前處在R1的開始處,系統(tǒng)使用單緩沖區(qū),當(dāng)緩沖區(qū)內(nèi)容處理完時才能再存放新的記錄,且每個記錄的處理時間為3ms。若系統(tǒng)順序處理這些記錄,則處理這9個記錄的最長時間為(18);若對信息存儲進(jìn)行優(yōu)化分布后,處理9個記錄的最少時間為(19)。A、243msB、246msC、254msD、280ms標(biāo)準(zhǔn)答案:B知識點解析:暫無解析20、A、30msB、36msC、54msD、60ms標(biāo)準(zhǔn)答案:C知識點解析:因為在同一個磁道上,所以處理完記錄的時間=處理時間+旋轉(zhuǎn)延遲時間。要想處理這9個記錄的時間最長,則應(yīng)該先處理R9,磁頭從R1旋轉(zhuǎn)到R9的時間為27-27×(1/9)=24ms,然后處理R9記錄的時間為3ms,再處理R8、R7、R6、R5、R4、R3、R2、R1,則處理完9個記錄的最長時間為9×(24+3)=246ms。對信息存儲進(jìn)行優(yōu)化分布后,要想使處理9個記錄的時間最少,則應(yīng)該先處理R1,需要3ms,由于系統(tǒng)使用單緩沖區(qū),當(dāng)緩沖區(qū)內(nèi)容處理完時才能再存放新的記錄,這樣存放新的記錄需要時間,磁頭不能直接取R2,繼續(xù)旋轉(zhuǎn),3ms后可直接處理R3,同理,接下來處理R5,R7,R9,R2,R4,R6,R8,共需時間為9×(3+3)=54ms。某系統(tǒng)中有四種互斥資源R1、R2、R3和R4,可用資源數(shù)分別為3、5、6和8。假設(shè)在T0時刻有P1、P2、P3和P4四個進(jìn)程,并且這些進(jìn)程對資源的最大需求量和已分配資源數(shù)如表5-6所示,那么在T0時刻系統(tǒng)中R1、R2、R3和R4的剩余資源數(shù)分別為(20)。如果從T0時刻開始進(jìn)程按(21)順序逐個調(diào)度執(zhí)行,那么系統(tǒng)狀態(tài)是安全的。21、某系統(tǒng)中有四種互斥資源R1、R2、R3和R4,可用資源數(shù)分別為3、5、6和8。假設(shè)在T0時刻有P1、P2、P3和P4四個進(jìn)程,并且這些進(jìn)程對資源的最大需求量和已分配資源數(shù)如表5-6所示,那么在T0時刻系統(tǒng)中R1、R2、R3和R4的剩余資源數(shù)分別為(20)。如果從T0時刻開始進(jìn)程按(21)順序逐個調(diào)度執(zhí)行,那么系統(tǒng)狀態(tài)是安全的。A、3、5、6和8B、3、4、2和2C、0、1、2和1D、0、1、0和1標(biāo)準(zhǔn)答案:D知識點解析:暫無解析22、A、P1→P2→P4→P3B、P2→P1→P4→P3C、P3→P2→P1→P4D、P4→P2→P3→P1標(biāo)準(zhǔn)答案:C知識點解析:互斥資源R1,可用資源數(shù)為3,已分別分了1個資源給P1、P3、P4,所以在T0時刻系統(tǒng)中R1的剩余資源數(shù)為3-1-1-1=0,同理,在T0時刻系統(tǒng)中R2的剩余資源數(shù)為1,R3的剩余資源數(shù)為0,R4的剩余資源數(shù)為1。要想系統(tǒng)狀態(tài)是安全的,可以采用銀行家算法,分析詳見第3題。先算出各進(jìn)程還需要的資源數(shù)。在T0時刻各進(jìn)程還需要的資源數(shù)見表5-7。根據(jù)前面求出的各資源剩余數(shù),此時只能將資源分配給P3,讓P3先運行,系統(tǒng)才是安全的。只有答案C的第一個進(jìn)程是P3,后面的分析就不用做了。在一單處理機中,若有5個用戶進(jìn)程,在非管態(tài)的某一時刻,處于就緒狀態(tài)的用戶進(jìn)程最多有(37)個,最少有(38)個。23、在一單處理機中,若有5個用戶進(jìn)程,在非管態(tài)的某一時刻,處于就緒狀態(tài)的用戶進(jìn)程最多有(37)個,最少有(38)個。A、1B、2C、3D、4E、5標(biāo)準(zhǔn)答案:D知識點解析:暫無解析24、A、1B、2C、3D、4E、0標(biāo)準(zhǔn)答案:E知識點解析:在一個單處理機中,處理器只有一個,非管態(tài)(即用戶進(jìn)程執(zhí)行狀態(tài))的某一時刻,處于運行態(tài)的進(jìn)程最多只有一個,系統(tǒng)中處于就緒態(tài)或阻塞的進(jìn)程可能有多個,這樣處于就緒態(tài)的進(jìn)程數(shù)最多只能是進(jìn)程總數(shù)減1,本題為5-1,因此最多可有4個就緒進(jìn)程。如果除了運行態(tài)的一個進(jìn)程外,其余進(jìn)程均處于阻塞態(tài),則就緒態(tài)進(jìn)程個數(shù)為0。在UNIX操作系統(tǒng)中,當(dāng)用戶執(zhí)行如下命令:link(“/user/include/myfile.Sh”,“/usr/userwang/youfile.sh”)則文件名“/usr/userwang/youfile.sh”存放在(44)。2.假設(shè)在系統(tǒng)中一個文件有兩個名字,它與一個文件保存兩個副本的區(qū)別是(45)。25、在UNIX操作系統(tǒng)中,當(dāng)用戶執(zhí)行如下命令:link(“/user/include/myfile.Sh”,“/usr/userwang/youfile.sh”)則文件名“/usr/userwang/youfile.sh”存放在(44)。2.假設(shè)在系統(tǒng)中一個文件有兩個名字,它與一個文件保存兩個副本的區(qū)別是(45)。A、user目錄文件中B、include目錄文件中C、userwang目錄文件中D、youfile.sh的文件內(nèi)容中標(biāo)準(zhǔn)答案:C知識點解析:暫無解析26、A、前者比后者所占用的存儲空間更大B、前者需要兩個目錄項,后者只需要一個目錄項C、前者存取文件的速度快,后者存取文件的速度慢D、前者改變與某個名字相聯(lián)系的文件時,另一個名字相連的文件也改變;后者的另一個副本不改變標(biāo)準(zhǔn)答案:D知識點解析:在本題中,Link命令的功能是為一個文件創(chuàng)建鏈接文件。在UNIX系統(tǒng)中,不同進(jìn)程可以用系統(tǒng)調(diào)用Link原語來鏈接非目錄文件,從而可以直接共享該非目錄文件。而且不同的用戶還可以對此文件使用不同的文件名。調(diào)用格式:Linkoldname,newname調(diào)用描述:為一個已存在的文件oldname創(chuàng)建一個名為newname的鏈接(別名)。與此相對應(yīng)的還有取消鏈接原語Unlink。一個文件有兩個名字,實際上一個為文件,另一個為文件的快捷方式;一個文件保存有兩個副本,實際上是一個文件的兩份拷貝。三、中文選擇題(含3小題)(本題共35題,每題1.0分,共35分。)被操作數(shù)的最高位移入“進(jìn)位”位,其余所有位接收其相鄰低位值,最低位移入0的操作是(22)指令。被操作數(shù)的最高位保持不變,其余所有位接收其相鄰高位值,最低位移到“進(jìn)位”位中的操作是(23)指令。在程序執(zhí)行過程中改變按程序計數(shù)器順序讀出指令的指令屬于(24)。相對尋址方式的實際地址是(25)。特權(quán)指令在多用戶、多任務(wù)的計算機系統(tǒng)中必不可少,它主要用于(26)。27、被操作數(shù)的最高位移入“進(jìn)位”位,其余所有位接收其相鄰低位值,最低位移入0的操作是(22)指令。被操作數(shù)的最高位保持不變,其余所有位接收其相鄰高位值,最低位移到“進(jìn)位”位中的操作是(23)指令。在程序執(zhí)行過程中改變按程序計數(shù)器順序讀出指令的指令屬于(24)。相對尋址方式的實際地址是(25)。特權(quán)指令在多用戶、多任務(wù)的計算機系統(tǒng)中必不可少,它主要用于(26)。A、邏輯左移B、算術(shù)左移C、乘2運算D、除2運算標(biāo)準(zhǔn)答案:A知識點解析:暫無解析28、A、邏輯左移B、算術(shù)左移C、乘2運算D、除2運算標(biāo)準(zhǔn)答案:D知識點解析:暫無解析29、A、特權(quán)指令B、傳送指令C、輸入/輸出指令D、轉(zhuǎn)移指令標(biāo)準(zhǔn)答案:D知識點解析:暫無解析30、A、程序計數(shù)器的內(nèi)容加上指令中形式地址值B、基值寄存器的內(nèi)容加上指令中形式地址值C、指令中形式地址中的內(nèi)容D、棧頂內(nèi)容標(biāo)準(zhǔn)答案:A知識點解析:暫無解析31、A、檢查用戶的權(quán)限B、系統(tǒng)硬件自檢和配置C、用戶寫匯編程序時調(diào)用D、系統(tǒng)資源的分配和管理標(biāo)準(zhǔn)答案:D知識點解析:算術(shù)移位中左移則在空位補0,右移則補符號位。邏輯移位中無論左移右移都補0。循環(huán)移位是指把移動空位由移出的位來填補的移位,又分帶符號位移動的大循環(huán)和不帶符號位移動的小循環(huán)。其中算術(shù)左移等于做乘2的操作,而算術(shù)右移等于做除2的操作。程序計數(shù)器是一個指針,控制器從這里取得指令的地址,再從內(nèi)存中得到指令。只有改變程序順序執(zhí)行的指令才會改變程序計數(shù)器的值,在提供的中只有轉(zhuǎn)移指令符合要求。相對尋址、基址尋址、變址尋址這幾種尋址方式有類似的地方,都是一個寄存器內(nèi)的地址加上指令中的地址值和作為需要的地址。不同的地方在于使用的寄存器不同,如表1-3所示。為保護(hù)系統(tǒng)資源的正確分配和利用,把“啟動I/O”等的一類可能影響系統(tǒng)安全的指令定義為特權(quán)指令。一些高級(現(xiàn)在已經(jīng)很常見了)的微處理器有不同的工作狀態(tài),在不同的狀態(tài)下可以執(zhí)行不同的指令和使用不同的微處理器資源,這樣才能保證系統(tǒng)的穩(wěn)定性?,F(xiàn)采用四級流水線結(jié)構(gòu)分別完成一條指令的取指、指令譯碼和取數(shù)、運算,以及送回運算結(jié)果四個基本操作,每步操作時間依次為60ns,100ns,50ns和70ns。該流水線的操作周期應(yīng)為(27)ns。若有一小段程序需要用20條基本指令完成(這些指令完全適合于流水線上執(zhí)行),則得到第一條指令結(jié)果需(28)ns,完成該段程序需(29)ns。在流水線結(jié)構(gòu)的計算機中,頻繁執(zhí)行(30)指令時會嚴(yán)重影響機器的效率。當(dāng)有中斷請求發(fā)生時,采用不精確斷點法,則將(31)。32、現(xiàn)采用四級流水線結(jié)構(gòu)分別完成一條指令的取指、指令譯碼和取數(shù)、運算,以及送回運算結(jié)果四個基本操作,每步操作時間依次為60ns,100ns,50ns和70ns。該流水線的操作周期應(yīng)為(27)ns。若有一小段程序需要用20條基本指令完成(這些指令完全適合于流水線上執(zhí)行),則得到第一條指令結(jié)果需(28)ns,完成該段程序需(29)ns。在流水線結(jié)構(gòu)的計算機中,頻繁執(zhí)行(30)指令時會嚴(yán)重影響機器的效率。當(dāng)有中斷請求發(fā)生時,采用不精確斷點法,則將(31)。A、50B、70C、100D、280標(biāo)準(zhǔn)答案:C知識點解析:暫無解析33、A、100B、200C、280D、400標(biāo)準(zhǔn)答案:D知識點解析:暫無解析34、A、1400B、2000C、2300D、2600標(biāo)準(zhǔn)答案:C知識點解析:暫無解析35、A、條件轉(zhuǎn)移B、無條件轉(zhuǎn)移C、算術(shù)運算D、訪問存儲器標(biāo)準(zhǔn)答案:A知識點解析:暫無解析36、A、僅影響中斷響應(yīng)時間,不影響程序的正確執(zhí)行B、不僅影響中斷響應(yīng)時間,還影響程序的正確執(zhí)行C、不影響中斷響應(yīng)時間,但影響程序的正確執(zhí)行D、不影響中斷響應(yīng)時間,也不影響程序的正確執(zhí)行標(biāo)準(zhǔn)答案:B知識點解析:有關(guān)流水線執(zhí)行時間的問題,請讀者參考第2題的分析。在流水線結(jié)構(gòu)的計算機中,影響流水線效率的因素主要有以下幾個方面。1.條件轉(zhuǎn)移指令(轉(zhuǎn)移相關(guān)性)在存在轉(zhuǎn)移指令的情況下,下一條需要執(zhí)行的指令未必是程序計數(shù)器所指定的指令。只有在這條轉(zhuǎn)移指令執(zhí)行完成后,才能判斷下一條指令是什么。如果在遇到轉(zhuǎn)移指令時,關(guān)閉流水線的進(jìn)入端口,防止錯誤發(fā)生,那么這種方法無疑會降低流水線的效率,而且程序中的條件轉(zhuǎn)移是大量存在的,這勢必使得流水線在很多時間內(nèi)閑置,影響計算機的性能。為了解決這個問題,有的計算機采用猜測法,當(dāng)發(fā)現(xiàn)條件轉(zhuǎn)移指令時則系統(tǒng)猜測可能會跳轉(zhuǎn)到的語句,如果猜測正確,則流水線正常運行,如果猜測錯誤,則需要清空當(dāng)前流水線的內(nèi)容。如圖1-6(a)所示。還有一種需要編譯系統(tǒng)的支持的方法,如圖1-6(b)所示。方法是這樣的:將必須執(zhí)行的D指令提前執(zhí)行,在D指令執(zhí)行之后,條件轉(zhuǎn)移指令的結(jié)果出來后,再判斷是B或者C進(jìn)入流水線。同樣也可以把A指令前的指令滯后到A指令執(zhí)行后執(zhí)行,這樣能保持流水線閑置的時間盡可能少。但是必須在D和B、C指令不存在前后依存關(guān)系的情況下采用。統(tǒng)計的結(jié)果還是不錯的,50%的條件轉(zhuǎn)移指令能夠進(jìn)行這樣的優(yōu)化。2.資源共享(數(shù)據(jù)相關(guān)性)由于使用流水線,因此當(dāng)相鄰的兩條指令都對同一個資源進(jìn)行操作時,或者前一條指令的輸出是后一條指令的輸入時,在沒有流水線的情況下是正常的,在有流水線時就可能出現(xiàn)錯誤。例如:前一條指令是寫,后一條指令是讀,當(dāng)前一條指令保存結(jié)果沒有完成時,后一條指令的讀操作數(shù)就已經(jīng)開始,這樣后一條指令讀到的就是未改寫的數(shù)據(jù)。為了解決這個問題,當(dāng)遇到資源沖突時,就只好暫停后續(xù)指令進(jìn)入流水線,這樣也就降低了流水線的效率,顯然,流水線步驟越多越容易引起資源沖突的發(fā)生。解決方法是:當(dāng)發(fā)現(xiàn)相鄰的語句存在資源共享沖突的時候,在兩者之間插入其他語句,將兩條指令進(jìn)入流水線的時間拉開,以避免錯誤。3.寄存器相關(guān)(功能部件沖突)相鄰的指令使用了相同的寄存器,也會使流水線失常。通常的解決方法是如果此時還有其他寄存器可用,則給兩個指令分配不同的寄存器,以避免沖突的發(fā)生;4.中斷系統(tǒng)當(dāng)有中斷發(fā)生時,和條件轉(zhuǎn)移指令類似,流水線也不得不停止,以載入中斷處理程序,由于中斷的其他方面的優(yōu)點,這種影響對流水線而
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西經(jīng)濟管理職業(yè)技術(shù)學(xué)院《大規(guī)模集成電路制造工藝》2023-2024學(xué)年第一學(xué)期期末試卷
- 技術(shù)合伙人合同范例
- 印刷制作宣傳合同范例
- 公司度分紅合同范例
- 私人買賣車合同范例
- 紅木家具承運合同范例
- 河南 裝修合同范例·
- 2024年文化旅游開發(fā)與經(jīng)營合同
- 簽訂店面轉(zhuǎn)讓合同范例
- 2024年版建筑工程分包合同規(guī)定
- 2024-2030年中國廢棄電器電子產(chǎn)品回收處理行業(yè)發(fā)展?fàn)顩r及投資規(guī)劃分析報告版
- 數(shù)據(jù)標(biāo)注合作合同模板
- 紀(jì)檢監(jiān)察干部實務(wù)培訓(xùn)
- 3.1《中國科學(xué)技術(shù)史序言(節(jié)選)》課件
- 旅游業(yè)VR體驗館建設(shè)與管理計劃
- 2024-2025學(xué)年北師大版小學(xué)五年級上學(xué)期期末英語試題及答案指導(dǎo)
- 語文修辭-【專練02】 修辭手法考點專訓(xùn)(表達(dá)效果 主觀題1)(教師版)
- 獎牌設(shè)計 課件 2024-2025學(xué)年人教版(2024)初中美術(shù)七年級上冊
- 第六單元(整體教學(xué)課件)七年級語文上冊大單元教學(xué)名師備課系列(統(tǒng)編版2024)
- 幼兒園聘用人員管理制度
- (新版)中級制鞋工技能鑒定理論考試題庫大全-上(單選題)
評論
0/150
提交評論