




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件設(shè)計(jì)師考試模擬題及答案-試題1 閱讀下列說明和數(shù)據(jù)流圖,回答問題1至問題3。說明 某圖書管理系統(tǒng)的主要功能是圖書管理和信息查詢。對于初次借書的讀者,系統(tǒng)自動生成讀者號,并與讀者基本信息(姓名、單位、地址等)一起寫入讀者文件。 系統(tǒng)的圖書管理功能分為四個方面:購入新書、讀者借書、讀者還書以及圖書注銷。 1購入新書時需要為該書編制入庫單。入庫單內(nèi)容包括圖書分類目錄號、書名、作者、價格、數(shù)量和購書日期,將這些信息寫入圖書目錄文件并修改文件中的庫存總量(表示到目前為止,購入此種圖書的數(shù)量)。 2讀者借書時需填寫借書單。借書單內(nèi)容包括讀者號和所借圖書分類目錄號。系統(tǒng)首先檢查該讀者號是否有效,若無效,
2、則拒絕借書;若有效,則進(jìn)一步檢查該讀者已借圖書是否超過最大限制數(shù)(假設(shè)每位讀者能同時借閱的書不超過5本),若已達(dá)到最大限制數(shù),則拒絕借書;否則允許借書,同時將圖書分類目錄號、讀者號和借閱日期等信息寫入借書文件中。 3讀者還書時需填寫還書單。系統(tǒng)根據(jù)讀者號和圖書分類目錄號,從借書文件中讀出與該圖書相關(guān)的借閱記錄,標(biāo)明還書日期,再寫回到借書文件中,若圖書逾期,則處以相應(yīng)的罰款。 4注銷圖書時,需填寫注銷單并修改圖書目錄文件中的庫存總量。 系統(tǒng)的信息查詢功能主要包括讀者信息查詢和圖書信息查詢。其中讀者信息查詢可得到讀者的基本信息以及讀者借閱圖書的情況;圖書信息查詢可得到圖書基本信息和圖書的借出情況。
3、 圖書管理系統(tǒng)的頂層圖如圖1-1所示;圖書管理系統(tǒng)的第0層DFD圖如圖1-2所示,其中,加工2的細(xì)化圖如圖1-3所示。 數(shù)據(jù)流圖1.1 圖1-1 圖書管理系統(tǒng)項(xiàng)層圖數(shù)據(jù)流圖1-2 圖1-2 圖書管理系統(tǒng)第0層DFD圖數(shù)據(jù)流圖1-3 圖1-3 加工2的細(xì)化圖1、【問題1】 數(shù)據(jù)流圖1-2中有兩條數(shù)據(jù)流是錯誤的,請指出這兩條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。2、【問題2】 數(shù)據(jù)流圖1-3中缺少三條數(shù)據(jù)流,請指出這三條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。3、【問題3】 根據(jù)系統(tǒng)功能和數(shù)據(jù)流圖填充下列數(shù)據(jù)字典條目中的(1)和(2): 查詢請求信息=【查詢讀者請求信息|查詢圖書請求信息】 讀者情況;讀者號+姓名+所在單位+借書情況
4、管理工作請求單= (1) 入庫單= (2) 試題2 閱讀下列說明和E-R圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。說明 某網(wǎng)上訂書系統(tǒng)的E-R圖(已消除了不必要的冗余)如圖2-1所示(圖中沒有標(biāo)出主碼)。圖中實(shí)體的說明如表2-1所示,相關(guān)屬性說明如表2-2所示。 表 2-1實(shí)體說明Books書店內(nèi)的書Crstomers與書店有業(yè)務(wù)的顧客Orders顧客向書店下的購書單 表 2-2 主要屬性說明qty_in_stock圖書庫存量year_prblished出版日期ordernum購書單編號cid顧客編號bid惟一標(biāo)識每種圖書的編碼cardnum顧客信用卡號碼orderdate填購書單日
5、期qty訂購某種圖書的數(shù)量ship_date發(fā)貨日期 一個顧客可以在同一天填寫多張購書單,每張購書單上可填寫多種圖書,每種圖書可以訂購多本,bid相同的圖書在同一張購書單上不能出現(xiàn)多次。 注:為簡化起見,不考慮信用卡號碼泄漏所帶來的安全性等問題。 4、【問題1】 根據(jù)E-R圖中給出的詞匯,按照“關(guān)系模式名(屬性,屬性,)”的格式,將此 E-R圖轉(zhuǎn)換為4個關(guān)系模式,并指出每個關(guān)系模式中的主碼和外碼,其中模式名根據(jù)需要取實(shí)體名或聯(lián)系名。5、【問題2】 創(chuàng)建Customers表時,cid使用INTEGER數(shù)據(jù)類型,cnarne使用CHAR(80)數(shù)據(jù)類型,address使用CHAR(200)數(shù)據(jù)類型
6、,cardnum使用CHAR(16)數(shù)據(jù)類型并且要求此列值惟一。請?jiān)谙铝杏糜趧?chuàng)建表Customers的SQL語句空缺處填入正確的內(nèi)容。 CREATE TABLE Customers(cid INTEGER NOT NULL, cname CHAR(80)NOT NULL, address CHAR(200), cardnum CHAR(16)NOT NULL, (1) , (2) )6、【問題3】 如下的SQL語句是書店用于查詢“所有訂購了bid為123-456圖書的用戶訂購其他圖書的情況”的不完整語句,請?jiān)诳杖碧幪钊胝_的內(nèi)容。 Select bid From Orderlist A Whe
7、re not exists(Select*from Orders B where A.ordemum=B.ordemum and B.cid (3) (Select cid from Ordcrlist C,Orders D where (4) bid=123-456 and (5) =D.ordemum)試題3 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】 某指紋門禁系統(tǒng)的體系結(jié)構(gòu)如圖3-1所示,其主要部件有:主機(jī)(MainFrame)、鎖控器(LockController)、指紋采集器(FingerReader)和電控鎖(Lock)。 (1)系統(tǒng)中的每個電控鎖
8、都有一個惟一的編號。鎖的狀態(tài)有兩種:“已鎖住”和“未 鎖住”。 (2)在主機(jī)上可以設(shè)置每把鎖的安全級別以及用戶的開鎖權(quán)限。只有當(dāng)用戶的開鎖權(quán)限大于或等于鎖的安全級別并且鎖處于“已鎖住”狀態(tài)時,才能將鎖打開。 (3)用戶的指紋信息、開鎖權(quán)限以及鎖的安全級別都保存在主機(jī)上的數(shù)據(jù)庫中。 (4)用戶開鎖時,只需按一下指紋采集器。指紋采集器將發(fā)送一個中斷事件給鎖控器,鎖控器從指紋采集器讀取用戶的指紋并將指紋信息發(fā)送到主機(jī),主機(jī)根據(jù)數(shù)據(jù)庫中存儲的信息來判斷用戶是否具有開鎖權(quán)限,若有且鎖當(dāng)前處于“已鎖住”狀態(tài),則將鎖打開;否則系統(tǒng)報警。 該系統(tǒng)采用面向?qū)ο蠓椒ㄩ_發(fā),系統(tǒng)中的類以及類之間的關(guān)系用UML類圖表示
9、,圖3-2是該系統(tǒng)類圖的一部分;系統(tǒng)的動態(tài)行為采用UML序列圖表示,圖3-3是用戶成功開鎖的序列圖。 圖3-1 圖3-2 圖3-37、【問題1】 圖3-2是該系統(tǒng)類圖的一部分,依據(jù)上述說明中給出的術(shù)語,給出類Lock的主要屬性。8、【問題2】 依據(jù)上述說明中給出的詞語,將圖3-3中的(1)(5)處補(bǔ)充完整。9、【問題3】 組裝(composition)和聚集(aggregation)是UML中兩種非常重要的關(guān)系。請說明組裝和聚集分別表示什么含義?兩者的區(qū)別是什么?試題4 閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】 在并發(fā)系統(tǒng)設(shè)計(jì)中,通過對信號量S的P、V操作實(shí)現(xiàn)
10、進(jìn)程的同步與互斥控制。 P(S):S:=S-1,若S0,則執(zhí)行P操作的進(jìn)程繼續(xù)執(zhí)行:若S0,則置該進(jìn)程為阻塞狀態(tài),并將其插入阻塞隊(duì)列。 V(S):S:=S+1,若S0,則執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行;若S0,則從阻塞隊(duì)列喚醒一個進(jìn)程,并將其插入就緒隊(duì)列,然后執(zhí)行V操作的進(jìn)程繼續(xù)執(zhí)行。10、【問題1】 在某并發(fā)系統(tǒng)中,有一個發(fā)送進(jìn)程A、一個接收進(jìn)程B、一個環(huán)形緩沖區(qū)BUFFER、信號量S1和S2。發(fā)送進(jìn)程不斷地產(chǎn)生消息并寫入緩沖區(qū)BUFFER,接收進(jìn)程不斷地從緩沖區(qū)BUFFER取消息。假設(shè)發(fā)送進(jìn)程和接收進(jìn)程可以并發(fā)地執(zhí)行,那么,當(dāng)緩沖區(qū)的容量為N時,如何使用P、V操作才能保證系統(tǒng)的正常工作。發(fā)送進(jìn)程
11、A和接收進(jìn)程B的工作流程如圖4-1所示。請?jiān)趫D4-1中的空(1)(4)處填入正確的內(nèi)容。11、【問題2】 若系統(tǒng)中有多個發(fā)送進(jìn)程和接收進(jìn)程,進(jìn)程間的工作流程如圖4-2所示,其中空 (1)(4)的內(nèi)容與圖4-1相同。發(fā)送進(jìn)程產(chǎn)生消息并順序地寫入環(huán)形緩沖區(qū)BUFFER,接收者進(jìn)程順序地從BUFFER中取消息,且每條消息只能讀取一次。為了保證進(jìn)程間的正常通信,增加了信號量SA和SB。 請說明信號量SA和SB的物理意義,并在圖4-2中的空(5)和空(6)處填入正確的內(nèi)容。 請從圖4-2的(a)(1)中選擇四個位置正確地插入P(SA)、V(SA)、P(SB)、V(SB)。12、【問題3】 設(shè)系統(tǒng)中只有進(jìn)
12、程A和進(jìn)程B,除了互斥地使用CPU和打印機(jī)R外,進(jìn)程A和B不使用其他資源。另外,進(jìn)程B的優(yōu)先級比A高,而進(jìn)程A先于B準(zhǔn)備好。進(jìn)程A和 B的執(zhí)行情況如圖4-3所示,其中粗實(shí)線表示進(jìn)程在執(zhí)行中,細(xì)實(shí)線表示打印機(jī)R在使用中(每個進(jìn)程具有三種狀態(tài):運(yùn)行、就緒和阻塞)。 圖4-1 圖4-2圖4-3 請分別說明進(jìn)程A和B在圖4-3所示的t1、t2、t3、t4時刻所處的狀態(tài);若是阻塞狀態(tài),請說明阻塞原因。試題513、閱讀下列函數(shù)說明和c代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)?!菊f明】 函數(shù)int Toplogical(Linded WDipaph G.的功能是對圖G中的頂點(diǎn)進(jìn)行拓?fù)渑判颍⒎祷?/p>
13、關(guān)鍵路徑的長度。其中圖G表示一個具有n個頂點(diǎn)的AOE-網(wǎng),圖中頂點(diǎn)從1n依次編號,圖G的存儲結(jié)構(gòu)采用鄰接表表示,其數(shù)據(jù)類型定義如下: typedefstruct Gnode /* 鄰接表的表結(jié)點(diǎn)類型*/ iht adjvex; /* 鄰接頂點(diǎn)編號*/ iht weight; /* 弧上的權(quán)值*/ street Gnode *nextarc; /* 指示下一個弧的結(jié)點(diǎn)*/ Gnode; typedef struct Adjlist /* 鄰接表的頭結(jié)點(diǎn)類型*/ char vdata; /*頂點(diǎn)的數(shù)據(jù)信息*/ struct Gnode *Firstadj; /* 指向鄰接表的第一個表結(jié)點(diǎn)*/ Ad
14、jlist; typedef street LinkedWDigraph /* 圖的類型*/ int n, e; /* 圖中頂點(diǎn)個數(shù)和邊數(shù)*/ struct Adjlist *head; /*指向圖中第一個頂點(diǎn)的鄰接表的頭結(jié)點(diǎn) */ LinkedWDigraph; 例如,某AOE-網(wǎng)如圖5-1所示,其鄰接表存儲結(jié)構(gòu)如圖5-2所示。 圖5-1 圖5-2【函數(shù)】 iht Toplogical(LinkedWDigraph G. Gnode *p; intj, w, top = 0; iht *Stack, *ye, *indegree; ye = (int *)malloe(G.n+1) * si
15、zeof(int); indegree = (int *)malloc(G.n+1)*sizeof(int); /* 存儲網(wǎng)中各頂點(diǎn)的入度*/ Stack = (int *)malloe(G.n+1)*sizeof(int); /* 存儲入度為0的頂點(diǎn)的編號*/ if(!ve|!indegree | !Stack) exit(0); for (j = 1;j = G.n;j+) vej = 0; indegreej= 0; /*for*/ for(j= 1;j且權(quán)值為30、v2,v6且權(quán)值為50,則其的鄰接表表示形式如下圖所示。 因此,掃描頂點(diǎn)v2的鄰接表可以將鄰接于v2的所有頂點(diǎn)的入度加10
16、所以,空(1)處應(yīng)填入“indegree【pmdjvex】+”或其等價形式。 以下代碼實(shí)現(xiàn)拓?fù)渑判虿⑶蠼飧鱾€頂點(diǎn)時事件的最早發(fā)生時間。 while(top0) w= (2) ; printf(%c”,G.head【w】.vdata); p=G.head【w】.Firstadj; while(p) (3) ; if(!indegreepadjvex) Stack【+top】=padjvex; if( (4) ) ve【padjvex】=ve【w】+pweight; p=pnextarc; /*while*/ /*while*/ 由于入度為0的頂點(diǎn)由棧中彈出,而且根據(jù)w在后續(xù)代碼中所起的作用,可知
17、空(2)處應(yīng)填入“Stack【top-】”。然后將鄰接到頂點(diǎn)w的各個頂點(diǎn)(padjvex)的入度減一,所以,空(3)應(yīng)填入“indegree【padjvex】-”或其等價形式。同時,對于頂點(diǎn)padjvex而言,當(dāng)刪除其所有引入邊之后,從源點(diǎn)出發(fā)到達(dá)它的最長路徑長度也就計(jì)算出來了,所以每刪除一條到達(dá)頂點(diǎn)padjvex的引入邊,都要查看一下最長路徑長度是否需要更新。因此,空(4)填入“ve【w】+pweightve【padjvex】”或其等價形式。 最后,匯點(diǎn)的最早發(fā)生時間即為該AOE網(wǎng)的關(guān)鍵路徑長度。由于AOE網(wǎng)中匯點(diǎn)未必是編號最大的頂點(diǎn),因此,當(dāng)它必然是從棧中彈出的最后一個頂點(diǎn),因此空(5)處
18、填入“ve【w】”。試題614、private (2)Configure*Configure_inStance (3)new Configure (4)_instance (5)ConfigureInstance()解析 根據(jù)題目要求Configure類為單身模式,即只能產(chǎn)生一個實(shí)例。為了實(shí)現(xiàn)這一目標(biāo)常用的方法是:第一種,把類本身的構(gòu)造函數(shù)加訪問權(quán)限控制符private讓外部方法無法直接調(diào)用它:第二種,聲明一個此類的靜態(tài)指針,用于指向僅能產(chǎn)生的那一個實(shí)例;第三種,聲明一個public的返回結(jié)果為此類的方法,供外界調(diào)用。 本題(1)空處要求填寫構(gòu)造函數(shù)的訪問權(quán)限public、protected和
19、private,由于是單身模式,所以類必須只能有一個實(shí)例,所以其構(gòu)造函數(shù)應(yīng)該設(shè)置為private,防止類的使用者構(gòu)造類的多個實(shí)例。 又由于staticConfigure*_instance是一個靜態(tài)成員變量,必須初始化,所以(2)空處應(yīng)填寫static ConfigureConfigure*_instance。 對于本題(3)空處應(yīng)構(gòu)造類的一個實(shí)例new Configure()。 對于本題(4)空處返回instance,在主函數(shù)中應(yīng)用此類時,只能通過Instance來實(shí)例化一個Configure對象。試題715、try (t)EmptyQueueException e (3)throws Em
20、pbtyQUeUeExCeption (4)throw(new EmptyQueueException() (5)Exception解析 本題以隊(duì)列為例,考查Java的異常處理機(jī)制。 異常是指程序執(zhí)行期間中斷指令的正常流程的事件。當(dāng)一個方法中發(fā)生錯誤時,此方法創(chuàng)建一個對象并將它交給運(yùn)行時系統(tǒng),此對象被稱為異常對象。它包含關(guān)于錯誤的信息,包括錯誤的類型和錯誤發(fā)生時程序的狀態(tài)。創(chuàng)建異常對象并將它交給運(yùn)行時系統(tǒng)被稱為拋出二個異常。 (Java運(yùn)行時系統(tǒng)要求方法必須捕獲或者指定它可以拋出的所有被檢查的異常。) 捕獲。方法可以通過為某類型的異常提供異常處理器來捕獲異常。 指定。方法通過在它的聲明塊中使用throws子句(throws異常類型)指定它可以拋出異常。 被檢查的異常。存在兩種異常:運(yùn)行時異常和非運(yùn)行時異常。運(yùn)行時異常在Java運(yùn)行時系統(tǒng)內(nèi)發(fā)生,如算術(shù)異常、指針異常等。方法不必捕獲或指定運(yùn)行時異常。非運(yùn)行時異常是在Java運(yùn)行時系統(tǒng)外的代碼中發(fā)生的異常。編譯器確保非運(yùn)行時異常被捕獲或
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽車電噴項(xiàng)目規(guī)劃申請報告模板
- 農(nóng)村合作社財務(wù)監(jiān)管制度協(xié)議
- 公司股權(quán)轉(zhuǎn)讓書面協(xié)議文件
- 高檔辦公用品采購與配送協(xié)議
- 電子商務(wù)平臺開發(fā)與運(yùn)營合作合同
- 媒體版權(quán)轉(zhuǎn)讓與使用授權(quán)協(xié)議內(nèi)容
- 工業(yè)生產(chǎn)線自動化升級改造協(xié)議
- 2025至2030建材商業(yè)地產(chǎn)行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 環(huán)保節(jié)能產(chǎn)品研發(fā)與技術(shù)轉(zhuǎn)移合同
- 姨媽家的新房800字(14篇)
- DB12-T368-2008鹵蟲池塘養(yǎng)殖技術(shù)規(guī)范
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 航圖zbyn太原武宿-機(jī)場細(xì)則
- 浙江省城市體檢工作技術(shù)導(dǎo)則(試行)
- 人教版八年級(上冊)物理習(xí)題全集(附答案)
- 義務(wù)教育歷史課程標(biāo)準(zhǔn)(2022年版)
- 防火封堵施工方案(新版)
- 真空度正壓和負(fù)壓關(guān)系及負(fù)壓中MPa和Pa對應(yīng)關(guān)系
- 大面積地面荷載作用附加沉降量計(jì)算
- 山東省普通初中小學(xué)音樂、美術(shù)、衛(wèi)生設(shè)備配備標(biāo)準(zhǔn)
評論
0/150
提交評論