2009年上半年軟件設(shè)計(jì)師下午試題解析_第1頁(yè)
2009年上半年軟件設(shè)計(jì)師下午試題解析_第2頁(yè)
2009年上半年軟件設(shè)計(jì)師下午試題解析_第3頁(yè)
2009年上半年軟件設(shè)計(jì)師下午試題解析_第4頁(yè)
2009年上半年軟件設(shè)計(jì)師下午試題解析_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2009年上半年軟考軟件工程師下午試題解析以上內(nèi)容僅供參考還差試題七【試題一】考察數(shù)據(jù)流圖,每年第1題必考。這道題就從題中找文字。連鎖超市提出供貨請(qǐng)求,圖中E3只能是連鎖超市。另外雖然D4也有可能,但是D是數(shù)據(jù)存儲(chǔ),不是外部實(shí)體,所以E3是連鎖超市,而D4不是,事實(shí)上,那條線畫(huà)錯(cuò)了。接到供貨請(qǐng)求,從商品庫(kù)存記錄文件中查詢庫(kù)存信息,所以D2必定是商品庫(kù)存記錄文件無(wú)疑了。如果缺貨,向采購(gòu)部門(mén)發(fā)出缺貨通知,所以E2必定是采購(gòu)部門(mén)。配送處理接收配送通知后,查詢供貨請(qǐng)求數(shù)據(jù)記錄文件,更新商品庫(kù)存記錄文件,所以D4是供貨請(qǐng)求數(shù)據(jù)記錄文件,進(jìn)一步證實(shí)D2是商品庫(kù)存記錄文件。同時(shí),也說(shuō)明“供貨請(qǐng)求處理”與D4(供貨請(qǐng)求數(shù)據(jù)記錄文件)之間連線方向錯(cuò)誤。向配送部門(mén)發(fā)送配送單,所以E4必定是配送部門(mén)。在配送貨品的同時(shí)記錄配送信息至商品配送記錄文件,所以D3必定是商品配送記錄文件。采購(gòu)部門(mén)進(jìn)行商品采購(gòu)處理,合格商品入庫(kù),并記錄采購(gòu)清單至采購(gòu)清單記錄文件,所以D1必定是采購(gòu)清單記錄文件,而合格商品入庫(kù),則需更新D2(商品庫(kù)存記錄文件),但是這里確實(shí)讀取,所以從“采購(gòu)處理”到D2之間的箭頭方向相反。同時(shí),采購(gòu)部門(mén)進(jìn)行商品采購(gòu)處理,則需要在E2采購(gòu)部門(mén)和采購(gòu)處理中增加一條線。同時(shí)通知財(cái)務(wù)部門(mén)給供貨商付款,所以E1是付款通知,但是奇怪圖上的付款同時(shí)是給E2(采購(gòu)部門(mén))的,有問(wèn)題,所以這個(gè)線不需要。【答案】【問(wèn)題1】E1財(cái)務(wù)部門(mén) D1采購(gòu)清單記錄文件E2采購(gòu)部門(mén) D2 商品庫(kù)存記錄文件E3連鎖超市 D3 商品配送記錄文件E4配送部門(mén) D4 供貨請(qǐng)求記錄文件【問(wèn)題2】錯(cuò)誤的數(shù)據(jù)流起點(diǎn) 終點(diǎn)D4 供貨請(qǐng)求處理D2 采購(gòu)處理E1 E2補(bǔ)充的數(shù)據(jù)流起點(diǎn) 終點(diǎn)供貨請(qǐng)求處理 D4E2 采購(gòu)處理采購(gòu)處理 D2【試題二】【問(wèn)題1】顯然,一個(gè)商場(chǎng)對(duì)應(yīng)多個(gè)部門(mén),一個(gè)部門(mén)對(duì)應(yīng)多個(gè)員工,一個(gè)部門(mén)對(duì)應(yīng)一個(gè)經(jīng)理,每個(gè)經(jīng)理對(duì)應(yīng)了一個(gè)員工?!締?wèn)題2】部門(mén)中,必須記錄其歸屬的商場(chǎng)。員工中,必須記錄其歸屬的部門(mén)。經(jīng)理的情況比較特殊,首先他是員工,所以必須記錄其員工編號(hào),其次他對(duì)應(yīng)一個(gè)部門(mén),所以記錄中必須有一個(gè)部門(mén)編號(hào),但是每個(gè)員工都對(duì)應(yīng)了一個(gè)部門(mén),即知道經(jīng)理的員工編號(hào),就已經(jīng)知道了經(jīng)理的部門(mén)?!締?wèn)題3】緊急聯(lián)系人必定作為一個(gè)獨(dú)立實(shí)體而存在,并且每個(gè)員工都必須對(duì)應(yīng)一個(gè)緊急聯(lián)系人,所以他們之間是1對(duì)多關(guān)系?!敬鸢浮俊締?wèn)題1】聯(lián)系名關(guān)系實(shí)體聯(lián)系類型聯(lián)系1商場(chǎng)與部門(mén)1:n聯(lián)系2部門(mén)與員工1:n聯(lián)系3部門(mén)與經(jīng)理1:1聯(lián)系4員工與經(jīng)理1:1【問(wèn)題2】a:所在商場(chǎng)編號(hào)b:所在部門(mén)編號(hào)c:?jiǎn)T工編號(hào)表名主鍵外鍵商場(chǎng)商場(chǎng)編號(hào)無(wú)部門(mén)部門(mén)編號(hào)所在商場(chǎng)編號(hào)員工員工編碼所在部門(mén)編號(hào)經(jīng)理員工編號(hào)員工編號(hào)【問(wèn)題3】(1)緊急聯(lián)系人(2)1:n緊急聯(lián)系人編號(hào),姓名,聯(lián)系電話,主鍵:緊急聯(lián)系人編號(hào)【試題三】這是一道UML的面向?qū)ο蠓治鲱}目?!締?wèn)題1】顯然,A2是用戶,而U3是交互核心,就是那個(gè)Session。那么還剩下插卡和密碼錯(cuò)誤處理。我們知道,要進(jìn)入Session,插卡、讀卡是必須的,而密碼錯(cuò)誤判斷不一定需要,而必須的是include關(guān)系,不一定要的是extend關(guān)系,所以U1是插卡,U2是密碼錯(cuò)誤判斷。所以A1是讀卡器。【問(wèn)題2】其實(shí)表中的內(nèi)容在圖3-2中已經(jīng)出現(xiàn)很多了,一對(duì)比,發(fā)現(xiàn)只有4個(gè)沒(méi)有出現(xiàn),分別是讀PIN,PIN信息,創(chuàng)建事務(wù)和執(zhí)行事務(wù),那么答案就在這4個(gè)中選擇。Customerconsole是人機(jī)交互控制臺(tái),考慮到循環(huán)在8,9處,而可以循環(huán)的自然是辦交易,也就是多次的創(chuàng)建事務(wù)和執(zhí)行事務(wù),所以8,9分別為創(chuàng)建事務(wù)和執(zhí)行事務(wù)。這樣一來(lái),67就簡(jiǎn)單多了,自然是讀密碼和密碼信息了?!締?wèn)題3】四個(gè)用例具有共同的特征,就是讀卡、讀密碼,輸入(金額、確定)等,所以他們與Session剛好滿足泛化要求?!敬鸢浮繂?wèn)題1:A1讀卡器U1InsertCardA2用戶U2InvalidPINProcess(1)extendU3Session問(wèn)題2:6 readPIN()7 PIN8 create(atm,this,card,pin)9 performTransaction()問(wèn)題3:他們之間是泛化關(guān)系,無(wú)論存、取、轉(zhuǎn)、查,他們擁有共同的結(jié)構(gòu)和行為。【試題四】這表明上是一道關(guān)于頂點(diǎn)之間最短路徑的相當(dāng)難的算法題,很多考試可能就是倒在算法上的,其實(shí)對(duì)于算法,你完全可以一知半解,但是仍然可以作出答案來(lái)?!镜?空,第3空|】首先看題目的方程,再看空:這不就是說(shuō)現(xiàn)在需要dij(k)取值了,麻煩你們給個(gè)最小值給他,如果if成立,那么最小值就是dij(k-1),如果不成立,那么就小值就是dik(k-1)+dkj(k-1),大膽寫(xiě)就行了,別管這個(gè)算法是為什么?!镜?空】這里面有i,j,k,其中i和j已經(jīng)定了,就是k沒(méi)有,所以第1空必定與k有關(guān),是關(guān)于k的循環(huán),那么是不是1Ton呢?當(dāng)前計(jì)算第n個(gè),需要第n-1個(gè)的數(shù)據(jù)。如果n=1,那么就是第0個(gè)的數(shù)據(jù),而題中也講了,dij(0)就是Wij,有意義!所以就是1到n。【第4空】這下面計(jì)算每個(gè)頂點(diǎn)的最小和,總之別管dij(n)是怎么計(jì)算出來(lái)的,但是這里肯定是要把相加到SP[i]中。SP[i]=di1(n)+di2(n)+…+din(n)【第5空】這么多SP[i],誰(shuí)是最小的呢?就記在min_SP中,最小值就記在min_v中,初始時(shí)假設(shè)第1個(gè)最小,于是min_SP=SP[1],min_v=1?!镜?空】返回最小頂點(diǎn),自然就是min_v了?!镜?空】你看前面I,j,k三個(gè)循環(huán),就應(yīng)該知道時(shí)間復(fù)雜度是O(n3)了?!敬鸢浮俊締?wèn)題1】1k=1ton2dij(k)=dij(k-1)3dij(k)=dik(k-1)djk(k-1)4SP[i]+=dij(n)5min_v=16min_v【問(wèn)題2】O(n3)【試題五】算法題,表明上是求非遞歸中序遍歷,其實(shí)大部分有鏈棧的內(nèi)容。二叉樹(shù)中序遍歷非遞歸算法使用一個(gè)棧,其基本思想為:將根結(jié)點(diǎn)入棧S。while(棧不空){讀取棧頂結(jié)點(diǎn)信息。依次棧頂結(jié)點(diǎn)的左子樹(shù)的根結(jié)點(diǎn)入棧。本步為一個(gè)循環(huán),直到最左結(jié)點(diǎn)入棧時(shí)結(jié)束。將棧頂結(jié)點(diǎn)出棧,并訪問(wèn)之。如果棧頂結(jié)點(diǎn)具有右子樹(shù),則將右子樹(shù)的根結(jié)點(diǎn)入棧,下一次循環(huán)將中序遍歷此右子樹(shù)。}其實(shí)就是一個(gè)勁兒的找當(dāng)前結(jié)點(diǎn)的左子樹(shù),直到最左為止,路上的左子樹(shù)全部入棧。然后訪問(wèn)最左左子樹(shù)的那個(gè)結(jié)點(diǎn),再按照這個(gè)方法遍歷這個(gè)結(jié)點(diǎn)的右孩子?!镜?空】其實(shí)可以猜測(cè)出來(lái),這里對(duì)二叉樹(shù)的遍歷,都將依靠ptr來(lái)完成,所以是ptr不能為NULL。如果ptr和棧都是空了,就說(shuō)明遍歷完成了。【第2空】這里演示鏈棧的插入,新結(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn)為棧頂結(jié)點(diǎn),所以q->link=stacktop?!镜?空】訪問(wèn)最左結(jié)點(diǎn),自然ptr等于左孩子,即ptr->lchild。就算你不懂算法也沒(méi)有關(guān)系,題目中都提示了“進(jìn)入左子樹(shù)”?!镜?空】這里是鏈棧的出棧,棧頂指針移動(dòng)下一個(gè)結(jié)點(diǎn),即stacktop->link?!镜?空】到結(jié)點(diǎn)的右子樹(shù),其實(shí)題目中提示了“進(jìn)入右子樹(shù)”,你就大膽的寫(xiě)就行了!軟件設(shè)計(jì)師下午考試不會(huì)太難的!所以萬(wàn)事朝簡(jiǎn)單的想就行了?!敬鸢浮?ptr!=NULL2q->link=stacktop3ptr=ptr->lchild4stacktop=stacktop->link5q->rchild【試題六】這是一道C++設(shè)計(jì)題,只有真正用過(guò)C++的繼承和多態(tài)功能的考生才能正確答出。如果你的C++僅僅停留在封裝層面,這樣是不行的。【第1空】這里是設(shè)置成員變量的取值,由于兩個(gè)變量名稱一樣,所以必須區(qū)分,this->就特指成員變量了?!镜?空】聯(lián)系第1空,就直到這里應(yīng)按是真實(shí)畫(huà)圖的那個(gè)類指針,也就是ImageImp,其實(shí)可以從第1空抄下來(lái)?!镜?空】這里考察封裝,就是如何調(diào)用類里面的函數(shù),顯然對(duì)象是imp,函數(shù)名稱是doPaint,參數(shù)是m?!镜?空,第5空】這里開(kāi)始主函數(shù)了,代碼自然是要?jiǎng)?chuàng)建一個(gè)真實(shí)畫(huà)圖類的對(duì)象,再創(chuàng)建一個(gè)解析圖形文件類的對(duì)象,所以要new兩個(gè),聯(lián)系到BMP和Windows,自然是BMP和WinImp,顯然Image對(duì)應(yīng)BMP,ImageImp對(duì)應(yīng)WinImp,別寫(xiě)反了。【第6空】調(diào)用類的Setimp函數(shù),前面的鋪墊就是為了這里的,以便Bmp把WinImp聯(lián)系起來(lái),就是image1調(diào)用Setimp把imageImp1聯(lián)系起來(lái)。【第7空】10個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論