第
1題: 閱讀以下說明和數(shù)據(jù)流圖,回答問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
現(xiàn)準備為某銀行開發(fā)一個信用卡管理系統(tǒng)CCMS,該系統(tǒng)的基本功能為:
1.信用卡申請。非信用卡客戶填寫信用卡申請表,說明所要申請的信用卡類型及申請者的基本信息,提交CCMS。如果信用卡申請被銀行接受,CCMS將記錄該客戶的基本信息,并發(fā)送確認函給該客戶,告知客戶信用卡的有效期及信貸限額;否則該客戶將會收到一封拒絕函。非信用卡客戶收到確認函后成為信用卡客戶。
2.信用卡激活。信用卡客戶向CCMS提交激活請求,用信用卡號和密碼激活該信用卡。激活操作結(jié)束后,CCMS將激活通知發(fā)送給客戶,告知客戶其信用卡是否被成功激活。
3.信用卡客戶信息管理。信用卡客戶的個人信息可以在CCMS中進行在線管理。每位信用卡客戶可以在線查詢和修改個人信息。
4.交易信息查詢。信用卡客戶使用信用卡進行的每一筆交易都會記錄在CCMS中。信用卡客戶可以通過CCMS查詢并核實其交易信息(包括信用卡交易記錄及交易額)。
圖1-1和圖1-2分別給出了該系統(tǒng)的頂層數(shù)據(jù)流圖和0層數(shù)據(jù)流圖的初稿。

【問題1】(3分)
根據(jù)【說明】,將圖1-1中的E1~E3填充完整。
?【問題2】(3分)
圖1-1中缺少三條數(shù)據(jù)流,根據(jù)【說明】,分別指出這三條數(shù)據(jù)流的起點和終點。(注:數(shù)據(jù)流的起點和終點均采用圖中的符號和描述)
?【問題 3】(5分)
圖1-2中有兩條數(shù)據(jù)流是錯誤的,請指出這兩條數(shù)據(jù)流的名稱,并改正。(注:數(shù)據(jù)流的起點和終點均采用圖中的符號和描述)
?【問題4】(4分)
根據(jù)【說明】,將圖1-2中P1~P4的處理名稱填充完整。
答案解析與討論:
m.xiexiliangjiufa.com/st/3808413365.html第
3題: 閱讀下列說明和UML圖,回答問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某企業(yè)為了方便員工用餐,餐廳開發(fā)了一個訂餐系統(tǒng)(COS:Cafeteria Ordering System),企業(yè)員工可通過企業(yè)內(nèi)聯(lián)網(wǎng)使用該系統(tǒng)。
企業(yè)的任何員工都可以查看菜單和今日特價。
系統(tǒng)的顧客是注冊到系統(tǒng)的員工,可以訂餐(如果未登錄,需先登錄)、注冊工資支付、預(yù)約規(guī)律的訂餐,在特殊情況下可以覆蓋預(yù)訂。
餐廳員工是特殊顧客,可以進行備餐、生成付費請求和請求送餐,其中對于注冊工資支付的顧客生成付費請求并發(fā)送給工資系統(tǒng)。
菜單管理員是餐廳特定員工,可以管理菜單。
送餐員可以打印送餐說明,記錄送餐信息(如送餐時間)以及記錄收費(對于沒有注冊工資支付的顧客,由送餐員收取現(xiàn)金后記錄)。
顧客訂餐過程如下:
1.顧客請求查看菜單;
2.系統(tǒng)顯示菜單和今日特價;
3.顧客選菜;
4.系統(tǒng)顯示訂單和價格;
5.顧客確認訂單;
6.系統(tǒng)顯示可送餐時間;
7.顧客指定送餐時間、地點和支付方式;
8.系統(tǒng)確認接受訂單,然后發(fā)送Email給顧客以確認訂餐,同時發(fā)送相關(guān)訂餐信息通 知給餐廳員工。
系統(tǒng)采用面向?qū)ο蠓椒ㄩ_發(fā),使用UML進行建模。系統(tǒng)的頂層用例圖和一次訂餐的活動圖初稿分別如圖3-1和圖3-2所示。

【問題1】(2分)
根據(jù)【說明】中的描述,給出圖3-1中A1和A2所對應(yīng)的參與者。
【問題2】(8分)
根據(jù)【說明】中的描述,給出圖3-1中缺少的四個用例及其所對應(yīng)的參與者。
【問題3】(4分)
根據(jù)【說明】中的描述,給出圖3-2中(1)~(4)處對應(yīng)的活動名稱或圖形符號。
【問題4】(1分)
指出圖3-1中員工和顧客之間是什么關(guān)系,并解釋該關(guān)系的內(nèi)涵。
答案解析與討論:
m.xiexiliangjiufa.com/st/3808624030.html第
4題: 閱讀下列說明,回答問題1至問題2,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
0-1背包問題可以描述為:有n個物品,對i=1,2,…,n,第i個物品價值為vi ,重量為wi(vi,和wi為非負數(shù)),背包容量為W(W為非負數(shù)),選擇其中一些物品裝入背包,使裝入背包物品的總價值最大,即

,且總重量不超過背包容量,即

,其中,xi∈{0,1},xi=0表示第i個物品不放入背包,xi=1表示第i個物品 放入背包。
【問題1】(8分)
用回溯法求解此0-1背包問題,請?zhí)畛湎旅鎮(zhèn)未a中(1)~(4)處空缺。
回溯法是一種系統(tǒng)的搜索方法。在確定解空間后,回溯法從根結(jié)點開始,按照深度優(yōu)先策略遍歷解空間樹,搜索滿足約束條件的解。對每一個當前結(jié)點,若擴展該結(jié)點己經(jīng)不滿足約束條件,則不再繼續(xù)擴展。為了進一步提高算法的搜索效率,往往需要設(shè)計一個限界函數(shù),判斷并剪枝那些即使擴展了也不能得到最優(yōu)解的結(jié)點?,F(xiàn)在假設(shè)已經(jīng)設(shè)計了BOUND(v,w,k,W)函數(shù),其中v, w, k和W分別表示當前已經(jīng)獲得的價值、當前背包的重量、己經(jīng)確定是否選擇的物品數(shù)和背包的總?cè)萘?。對?yīng)于搜索樹中的某個結(jié)點,該函數(shù)值表示確定了部分物品是否選擇之后,對剩下的物品在滿足約束條件的前提下進行選擇可能獲得的最大價值,若該價值小于等于當前已經(jīng)得到的最優(yōu)解,則該結(jié)點無需再擴展。
下面給出0-1背包問題的回溯算法偽代碼。
函數(shù)參數(shù)說明如下:
W:背包容量;n:物品個數(shù);w:重量數(shù)組;v:價值數(shù)組;fw:獲得最大價值時背包的重量;fp:背包獲得的最大價值;X:問題的最優(yōu)解。
變量說明如下:
cw:當前的背包重量;cp:當前獲得的價值;k:當前考慮的物品編號;Y:當前已獲得的部分解。

【問題2】(7分)
考慮表4-1的實例,假設(shè)有3個物品,背包容量為22。圖4-1中是根據(jù)上述算法構(gòu)造的搜索樹,其中結(jié)點的編號表示了搜索樹生成的順序,邊上的數(shù)字1/0分別表示選擇/不選擇對應(yīng)物品。除了根結(jié)點之外,每個左孩子結(jié)點旁邊的上下兩個數(shù)字分別表示當前背包的重量和已獲得的價值,右孩子結(jié)點旁邊的數(shù)字表示擴展了該結(jié)點后最多可能獲得的價值。為獲得最優(yōu)解,應(yīng)該選擇物品 (5) ,獲得的價值為 (6) 。

對于表4-1的實例,若采用窮舉法搜索整個解空間,則搜索樹的結(jié)點數(shù)為 (7) ,而用了上述回溯法,搜索樹的結(jié)點數(shù)為 (8) 。
答案解析與討論:
m.xiexiliangjiufa.com/st/3808721842.html第
5題: 閱讀下列說明和C++代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
現(xiàn)欲構(gòu)造一文件/目錄樹,采用組合(Composite)設(shè)計模式來設(shè)計,得到的類圖如5-1所示:


答案解析與討論:
m.xiexiliangjiufa.com/st/3808810811.html