軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午(應(yīng)用技術(shù))試題模擬試卷75_第1頁
軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午(應(yīng)用技術(shù))試題模擬試卷75_第2頁
軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午(應(yīng)用技術(shù))試題模擬試卷75_第3頁
軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午(應(yīng)用技術(shù))試題模擬試卷75_第4頁
軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午(應(yīng)用技術(shù))試題模擬試卷75_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午

(應(yīng)用技術(shù))試題模擬試卷75

一、必答題(本題共13題,每題1.0分,共13分。)

閱讀下列說明和圖晌答問題。【說明】某會(huì)議中心提供舉辦會(huì)議的場地設(shè)施和各

種設(shè)備,供公司與各類組織機(jī)構(gòu)租用。場地包括一個(gè)大型報(bào)告廳、一個(gè)小型報(bào)告廳

以及諸多會(huì)議室。這些果告廳和會(huì)議室可提供的設(shè)備有投影儀、白板、視頻播放/

回放設(shè)備、計(jì)算機(jī)等。為了加強(qiáng)管理,該中心欲開發(fā)一會(huì)議預(yù)訂系統(tǒng),系統(tǒng)的主要功

能如下:(1)檢查可用性。客戶提交預(yù)訂請求后,檢查預(yù)訂表,判定所申請的場地是否

在申請日期內(nèi)可用;如果不可用,返回不可用信息。(2)臨時(shí)預(yù)訂。會(huì)議中心管理員

收到客戶預(yù)訂請求的通知之后,提交確認(rèn)。系統(tǒng)生成新臨時(shí)預(yù)訂存入預(yù)訂表,并對新

客戶創(chuàng)建一條客戶信息汜錄加以保存。根據(jù)客戶記錄給客戶發(fā)送臨時(shí)預(yù)訂確認(rèn)信息

和支付定金要求“(3)分配設(shè)施與設(shè)備。根據(jù)臨時(shí)預(yù)訂或變更預(yù)訂的設(shè)備和設(shè)施需

求,分配所需設(shè)備(均能滿足用戶要求)和設(shè)施,更新相應(yīng)的表和預(yù)訂表。(4)確認(rèn)預(yù)

訂。管理員收到客戶支討定金的通知后,檢查確認(rèn),更新預(yù)訂表,根據(jù)客戶記錄給客戶

發(fā)送預(yù)訂確認(rèn)信息。(5)變更預(yù)訂。客戶還可以在支付余款前提交變更預(yù)訂請求,對

變更的預(yù)訂請求檢查可用性,如果可用,分配設(shè)施和設(shè)備;如果不可用,返回不可用信

息。管理員確認(rèn)變更后根據(jù)客戶記錄給客戶發(fā)送確認(rèn)信息。(6)要求付款。管理員

從預(yù)訂表中查詢距預(yù)訂的會(huì)議時(shí)間兩周內(nèi)的預(yù)訂,根據(jù)客戶記錄給滿足條件的客戶

發(fā)送支付余款要求。(7)支付余款。管理員收到客戶余款支付的通知后,檢查確認(rèn),更

新預(yù)訂表中的已支付余款信息。現(xiàn)采用結(jié)構(gòu)化方法對會(huì)議預(yù)訂系統(tǒng)進(jìn)行分析與設(shè)

計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖(不完整)。

不可用信9

崎時(shí)預(yù)支付

—KtT清末/

一變更HH丁請求

客戶信息/ftrfuHiir

付款倭據(jù)

會(huì)以依仃系統(tǒng)

崎時(shí)情訂/傳仃/變更

啾認(rèn)信Q

?認(rèn)質(zhì)訂

?

1、使用說明中的詞語,給出圖1-1中的實(shí)體E1?E2的名稱。

標(biāo)準(zhǔn)答案:El:客戶E2:管理員

知識(shí)點(diǎn)解析:暫無解析

2、使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1?D4的名稱。

標(biāo)準(zhǔn)答案:D1:預(yù)訂表D2:客戶表D3:場地表(設(shè)施表或場地設(shè)施表)D4:設(shè)備

表注:D3和D4可互換

知識(shí)點(diǎn)解析:暫無解析

3、使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲(chǔ)DI?D4的名稱。

標(biāo)準(zhǔn)答案:

數(shù)據(jù)流起點(diǎn)終點(diǎn)

已支付余款憑據(jù)EI或客戶7或支付余款

距Hi訂會(huì)議時(shí)間兩周內(nèi)的訂D1或訂表6或要求付款

8(訂確認(rèn)信息4或確認(rèn)預(yù)訂E1或客戶

客戶記錄D2或客戶表6或要求付款

客戶記錄D2或客戶表5或變更定

客戶記錄D2或客戶表4或確認(rèn)定

注:上述6條數(shù)據(jù)流無順序要求.

知識(shí)點(diǎn)解析:暫無解析

4、如果發(fā)送給客戶的確認(rèn)信息是通過Email系統(tǒng)向客戶信息中的電子郵件地址進(jìn)

行發(fā)送的,那么需要對圖1-1和圖1-2進(jìn)行哪些修改。用150字以內(nèi)文字加以說明。

標(biāo)準(zhǔn)答案:將Email系統(tǒng)作為外部實(shí)體,并將發(fā)送給客戶(El)的確認(rèn)信息數(shù)據(jù)流的終

點(diǎn)全部改為Email系統(tǒng)(或具體說明確認(rèn)信息數(shù)據(jù)流:臨時(shí)預(yù)訂確認(rèn)信息、預(yù)訂確

認(rèn)信息、變更確認(rèn)信息,終點(diǎn)均改為Email系統(tǒng))。

知識(shí)點(diǎn)解析:本題考查采用結(jié)構(gòu)化方法進(jìn)行系統(tǒng)分析與設(shè)計(jì),主要考查數(shù)據(jù)流圖

(DFD)的應(yīng)用,是比較傳統(tǒng)的題目,考點(diǎn)4往年類似,要求考生細(xì)心分析題目中所描述

的內(nèi)容。面向數(shù)據(jù)流建模是目前仍然被廣泛使用的結(jié)構(gòu)化分析與設(shè)計(jì)的方法之一.

而DFD是面向數(shù)據(jù)流建模的重要工具,是一種便于用戶理解、分析系統(tǒng)數(shù)據(jù)流程的

圖形化建模工具,是系統(tǒng)邏輯模型的重要組成部分。DFD將系統(tǒng)建模成輸入■加工

(處理)-輸出的模型,即流入軟件的數(shù)據(jù)對象,經(jīng)由加工的轉(zhuǎn)換,最后以結(jié)果數(shù)據(jù)對象的

形式流出軟件,并采用分層的方式加以表示。上下文DFD(頂層DFD)通常用來確定

系統(tǒng)邊界,將待開發(fā)系統(tǒng)看作一個(gè)大的加工(處理),然后根據(jù)系統(tǒng)從哪些外部實(shí)體接

收數(shù)據(jù)流,以及系統(tǒng)將數(shù)據(jù)流發(fā)送到哪些外部實(shí)體,建模出的上下文圖中只有唯一的

一個(gè)加工和一些外部實(shí)體,以及這兩者之間的輸入輸出數(shù)據(jù)流。0層DFD在上下文

確定的系統(tǒng)外部實(shí)體以及與外部實(shí)體的輸入輸出數(shù)據(jù)流的基礎(chǔ)上,將上下文DFD中

的加工分解成多個(gè)加工,識(shí)別這些加工的輸入輸出數(shù)據(jù)流,使得所有上下文DFD中的

輸入數(shù)據(jù)流,經(jīng)過這些加工之后變換成上下文DFD的輸出數(shù)據(jù)流。根據(jù)。層DFD

中加工的復(fù)雜程度進(jìn)一步建模加工的內(nèi)容。在建分層DFD時(shí),根據(jù)需求情況可以將

數(shù)據(jù)存儲(chǔ)建模在不同層次的DFD中,注意在繪制下層數(shù)據(jù)流圖時(shí)要保持父圖與子圖

平衡。父圖中某加工的輸入輸出數(shù)據(jù)流必須與它的子圖的輸入輸出數(shù)據(jù)流在數(shù)量和

名字上相同,或者父圖中的一個(gè)輸入(或輸出)數(shù)據(jù)流對應(yīng)于子圖中幾個(gè)輸入(或輸出)

數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好是父圖中的這一條數(shù)據(jù)流。本

問題考查上下文DFD,要求確定外部實(shí)體。在上下文DFD中,系統(tǒng)名稱作為唯一加

工的名稱,外部實(shí)體和該唯一加工之間有輸入輸出數(shù)據(jù)流。通過考查系統(tǒng)的主要功

能,不難發(fā)現(xiàn),系統(tǒng)中涉及客戶和會(huì)議中心管理員,沒有提到其他與系統(tǒng)交互的外部實(shí)

體。根據(jù)描述(1)客戶提交預(yù)訂請求后,(2)會(huì)議中心管理員收到客戶預(yù)訂請求的通知

之后,提交確認(rèn)根據(jù)客戶記錄給客戶發(fā)送臨時(shí)預(yù)訂確認(rèn)信息和支付定金要求等信息、,

對照圖1?1,從而即可確定EI為客戶實(shí)體,E2為管理員實(shí)體。本問題要求確定圖1-2

所示的0層數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)。重點(diǎn)分析說明中與數(shù)據(jù)存儲(chǔ)有關(guān)的描述。根據(jù)

(1)客戶提交預(yù)訂請求后檢查預(yù)訂表,⑵系統(tǒng)生成新臨時(shí)預(yù)訂存入預(yù)訂表,并對新客

戶創(chuàng)建一條客戶信息記錄加以保存,可知D1為預(yù)訂表、D2為客戶表;根據(jù)會(huì)議中

心提供舉辦會(huì)議的場地設(shè)施和各種設(shè)備,(3)根據(jù)臨時(shí)預(yù)訂或變更預(yù)訂的設(shè)備和沒施

需求,分配所需設(shè)備(均能滿足用戶要求)和設(shè)施,更新相應(yīng)的表和預(yù)訂表分配設(shè)施和

設(shè)備可知,D3為場地(設(shè)施)表,D4為設(shè)備表。本問題要求補(bǔ)充缺失的數(shù)據(jù)流及其起

點(diǎn)和終點(diǎn)。對照圖1-1和圖1-2的輸入、輸出數(shù)據(jù)流,數(shù)量不同,考查圖1-1中從加

工會(huì)議預(yù)訂系統(tǒng)輸出至EI的數(shù)據(jù)流,有臨時(shí)預(yù)訂/預(yù)訂/變更確認(rèn)信息,而圖1-2中

從加工輸出至EI的數(shù)據(jù)流有臨時(shí)預(yù)訂確認(rèn)信息和變更預(yù)訂確認(rèn)信息,但缺少了其中

一條數(shù)據(jù)流預(yù)訂確認(rèn)信息。另外,圖1-1中有付款憑據(jù),圖1-2中沒有付款憑據(jù),而只

有已支付定金憑據(jù),沒有針對說明(7)管理員收到客戶余款支付的通知后中的支付余

款憑據(jù)。上述兩條數(shù)據(jù)流的遺失,使父圖和子圖數(shù)據(jù)流沒有達(dá)到平衡。所以需要確

定這兩條數(shù)據(jù)流或者其分解的數(shù)據(jù)流的起點(diǎn)或終點(diǎn)。考查說明中的功能,先考查確

認(rèn)預(yù)訂,功能(4)中給客戶發(fā)送預(yù)訂確認(rèn)信息,對照圖1?2,加工4沒有到實(shí)體E1客戶

的預(yù)訂確認(rèn)信息數(shù)據(jù)流;功能(7)中管理員收到客戶余款支付的通知后,對照圖1-2,

加工7沒有從實(shí)體E1客戶輸入的數(shù)據(jù)流余款支付憑據(jù)。圖中余款支付憑據(jù)數(shù)據(jù)流

是上下文數(shù)據(jù)流圖中數(shù)據(jù)流支付憑據(jù)的分解,與另一條分解出的數(shù)據(jù)流已支付定金

憑據(jù)對照,改名為已支付余款憑據(jù)。下面再仔細(xì)核對說明和圖1-2之間是否還有遺

失的數(shù)據(jù)流。不難發(fā)現(xiàn),功能(4)中根據(jù)客戶記錄給客戶發(fā)送預(yù)訂確認(rèn)信息,而圖1-2

中加工4從D1預(yù)訂表中讀取預(yù)訂信息,并沒有讀取客戶信息,所以,此處遺失了數(shù)據(jù)

流客戶記錄,起點(diǎn)是D2客戶表,終點(diǎn)是加工4確認(rèn)預(yù)訂:功能(5)中管理員確認(rèn)變更

后,根據(jù)客戶記錄給客戶發(fā)送確認(rèn)信息,而圖1-2中加工5并沒有所根據(jù)的客戶記錄

輸入數(shù)據(jù)流,所以,此處遺失了數(shù)據(jù)流客戶記錄,起點(diǎn)是D2客戶表,終點(diǎn)是加工5變更

預(yù)訂;功能(6)中根據(jù)客戶記錄給滿足條件的客戶發(fā)送支付余款要求,而圖1-2中加

工6并沒有所根據(jù)的客戶記錄輸入數(shù)據(jù)流,所以,此處遺失了數(shù)據(jù)流客戶記錄,起點(diǎn)是

D2客戶表,終點(diǎn)是加工6要求付款。繼續(xù)核對說明和圖1-2,不難發(fā)現(xiàn),功能(6)中管

理員從預(yù)訂表中查詢距預(yù)訂的會(huì)議時(shí)間兩周內(nèi)的預(yù)訂,而圖1-2中沒有從D1預(yù)訂表

到加工6的輸入流,所以,此處遺失了數(shù)據(jù)流距預(yù)訂會(huì)議時(shí)間兩周內(nèi)的預(yù)訂,其起點(diǎn)是

D1預(yù)訂表,終點(diǎn)是加工6要求付款。DFD中,外部實(shí)體可以是用戶,也可以是與本系

統(tǒng)交互的其他系統(tǒng)。如果某功能交互的是外部系統(tǒng)(在本題中是Email系統(tǒng)),則本系

統(tǒng)需要將發(fā)送給客戶的確認(rèn)信息發(fā)送給Email系統(tǒng)。然后由第三方Email系統(tǒng)向客

戶發(fā)送郵件,此時(shí)第三方Email系統(tǒng)即為外部實(shí)體,而非本系統(tǒng)內(nèi)部加工,因此需要對

圖1-1和圖1-2進(jìn)行修改,添加外部實(shí)體Email系統(tǒng),并將數(shù)據(jù)流確認(rèn)信息的終點(diǎn)全部

改為Email系統(tǒng)。即將數(shù)據(jù)流臨時(shí)預(yù)訂確認(rèn)信息預(yù)訂確認(rèn)信息變更確認(rèn)信息數(shù)據(jù)流

的終點(diǎn)改為新的外部實(shí)體Email系統(tǒng)。

閱讀下列說明和圖,回答問題。【說明】某銷售公司當(dāng)前的銷售業(yè)務(wù)為商城實(shí)體店

銷售。現(xiàn)該公司擬開展網(wǎng)絡(luò)銷售業(yè)務(wù),需要開發(fā)一個(gè)信息化管理系統(tǒng)。請根據(jù)公司

現(xiàn)有業(yè)務(wù)及需求完成該系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)。【需求描述】(1)記錄公司所有員工的

信息。員工信息包括工號(hào)、身份證號(hào)、姓名、性別、出生日期和電話,并只登記一

部電話。(2)記錄所有腐品的信息。商品信息包括商品名稱、生產(chǎn)廠家、銷售價(jià)格

和商品介紹。系統(tǒng)內(nèi)部用商品條碼唯一區(qū)別每種商品。一種商品只能放在一個(gè)倉庫

中。(3)記錄所有顧客的信息。顧客信息包括顧客姓名、身份證號(hào)、登錄名、登錄

密碼和電話號(hào)碼。一位顧客只能提供一個(gè)電話號(hào)碼。系統(tǒng)自動(dòng)生成唯一的顧客編

號(hào)。(4)顧客登錄系統(tǒng)之后,在網(wǎng)上商城購買商品。顧客可將選購的商品置入虛隊(duì)的

購物車內(nèi),購物車可長期存放顧客選購的所有商品。顧客可在購物車內(nèi)選擇商品、

修改商品數(shù)量后生成網(wǎng)購訂單。訂單生成后,由顧客選擇系統(tǒng)提供的備選第三方支

付平臺(tái)進(jìn)行電子支付,支付成功后系統(tǒng)需要記錄唯一的支付憑證編號(hào),然后由商城根

據(jù)訂單進(jìn)行線下配送。(5)所有的配送商品均由倉庫統(tǒng)一出庫。為方便顧客,允許每

位顧客在系統(tǒng)中提供多組收貨地址、收貨人及聯(lián)系電話。一份訂單所含的多個(gè)商品

可能由多名分揀員根據(jù)商品所在倉庫信息從倉庫中進(jìn)行分揀操作,分揀后的商品交

由配送員根據(jù)配送單,的收貨地址進(jìn)行配送。(6)新設(shè)”的系統(tǒng)要求記錄實(shí)體店的

每筆銷售信息,包括營業(yè)員、顧客、所售商品及其數(shù)量。【概念模型設(shè)計(jì)】根據(jù)需

求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。

計(jì)】根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):員工

(工號(hào),身份證號(hào),姓名,性別,出生日期,電話)商品(商品條碼,商品名稱,生產(chǎn)廠家.銷售

價(jià)格,商品介紹,⑶)顧客(顧客編號(hào),姓名,身份證號(hào),登錄名,登錄密碼,電話)收貨地點(diǎn)

(收貨ID.顧客編號(hào),收貨地址,收貨人.聯(lián)系電話)購物車(顧客編號(hào),商品條碼,商品數(shù)

量)訂單(訂單ID,顧客編號(hào),商品條碼,商品數(shù)量.(b))分揀(分揀ID.分揀員工號(hào),化),分

揀時(shí)間)配送(配送,分揀ID,配送員工號(hào),收貨ID,配送時(shí)間,簽收時(shí)間,簽收快照)銷售

(銷售ID,營業(yè)員工號(hào),顧客編號(hào),商品條碼,商品數(shù)量)

5、補(bǔ)充圖2-1中的配送聯(lián)系所關(guān)聯(lián)的對象及聯(lián)系類型。

標(biāo)準(zhǔn)答案:補(bǔ)充內(nèi)容如圖中虛線所示。

知識(shí)點(diǎn)解析:暫無解析

6、補(bǔ)充邏輯結(jié)構(gòu)設(shè)計(jì)中的(a)、(b)和(c)三處空缺。

標(biāo)準(zhǔn)答案:(a)所在倉庫(b)支付憑證編號(hào)(c)訂單ID

知識(shí)點(diǎn)解析:暫無解析

7、對于實(shí)體店銷售,若要增加送貨上門服務(wù),由營.業(yè)員在系統(tǒng)中下訂單,與網(wǎng)購的訂

單進(jìn)行后續(xù)的統(tǒng)一管理。請根據(jù)該需求,對圖2-1進(jìn)行補(bǔ)充,并修改訂單關(guān)系模式。

標(biāo)準(zhǔn)答案:補(bǔ)充內(nèi)容如圖中虛線所示。

單(訂單ID.顧客編號(hào),商品條碼,商品數(shù)量,銷售ID)

知識(shí)點(diǎn)解析:本題考查數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)。此類題目要求考生

認(rèn)真閱讀題目中的需求描述,配合已給出的E-R圖,理解概念結(jié)構(gòu)設(shè)計(jì)中設(shè)計(jì)者對實(shí)

體及聯(lián)系的劃分和組織方法,結(jié)合需求描述完成E-R圖中空缺部分,并使用E-R圖向

關(guān)系模式的轉(zhuǎn)換方法,完成邏輯結(jié)構(gòu)設(shè)計(jì)。根據(jù)所給E-R圖,結(jié)合需求描述,購物車

作為顧客和商品之間的聯(lián)系,而訂單由顧客從購物車中選擇商品生成,因此將購物車

這一聯(lián)系當(dāng)作實(shí)體,與訂單實(shí)體產(chǎn)生聯(lián)系。將聯(lián)系當(dāng)作實(shí)體參與另一聯(lián)系,稱為聚合,

通常當(dāng)后一聯(lián)系與此聯(lián)系相關(guān)時(shí),采用這種設(shè)計(jì)方法。顧客可以從購物車中生成多

個(gè)訂單,一個(gè)訂單只能從一個(gè)購物車?yán)锾崛∩唐罚瑢儆谝粚Χ嗦?lián)系。根據(jù)需求描述中

的分揀后的商品交由配送員根據(jù)配送單上的收貨地址進(jìn)行配送可以知道,配送是與

分揀聯(lián)系相關(guān)的聯(lián)系,同樣的,將分揀聯(lián)系進(jìn)行聚合,參與配送聯(lián)系,同時(shí)參與配送聯(lián)系

的還有配送員和地點(diǎn),為多對多對多聯(lián)系,語義為配送員根據(jù)分揀結(jié)果按照收貨地點(diǎn)

進(jìn)行配送,與需求相符。本小題考核E-R圖向關(guān)系模式的轉(zhuǎn)換。由于E-R圖中沒有

畫出實(shí)體及聯(lián)系的屬性,需要根據(jù)需求描述進(jìn)行補(bǔ)充。根據(jù)需求中的一種商品只能

放在一個(gè)倉庫中和一份訂單所含的多個(gè)商品可能由多名分揀員根據(jù)商品所在倉庫信

息從倉庫中進(jìn)行分揀操作,可以確定所在倉庫作為商品實(shí)體的屬性,轉(zhuǎn)入商品關(guān)系

中。訂單關(guān)系由E-R圖中的訂單實(shí)體和一對多聯(lián)系網(wǎng)購合并而成,取一方的主瑪,即

購物車這一聯(lián)系的主碼,為參與該聯(lián)系的實(shí)體的主碼商品條碼和顧客編號(hào),加上網(wǎng)購

聯(lián)系的屬性數(shù)量,并入到訂單實(shí)體轉(zhuǎn)成的關(guān)系模式中。訂單ID為訂單實(shí)體的標(biāo)識(shí)

符,訂單實(shí)體的其他屬性需要從需求描述中獲取。根據(jù)需求訂單生成后,由顧客選擇

系統(tǒng)提供的備選第三方支付平臺(tái)進(jìn)行電子支付,支付成功后系統(tǒng)需要記錄唯一的支

付憑證編號(hào),支付憑證編號(hào)應(yīng)為訂單的屬性,轉(zhuǎn)入訂單關(guān)系中。E-R圖中的分揀聯(lián)系

為分揀員與訂單之間的多對多聯(lián)系,轉(zhuǎn)換成獨(dú)立的分揀關(guān)系模式,應(yīng)包含分揀員實(shí)體

的標(biāo)識(shí)符分揀員工號(hào)和r單實(shí)體的標(biāo)識(shí)符訂單ID,及分揀聯(lián)系的屬性分揀時(shí)間,實(shí)

體店的訂單是營業(yè)員根據(jù)銷售結(jié)果生成的,將銷售聯(lián)系聚合成實(shí)體,與訂單產(chǎn)生聯(lián)

系。一筆銷售對應(yīng)一個(gè)訂單,一個(gè)訂單對應(yīng)一筆銷售,為一對一聯(lián)系。轉(zhuǎn)換為關(guān)系模

式時(shí),將此聯(lián)系歸入訂單關(guān)系,即取銷售的標(biāo)識(shí)符銷售ID加入到訂單關(guān)系模式中。

閱讀下列說明和圖,回答問題。【說明】某軟件公司欲設(shè)計(jì)實(shí)現(xiàn)一個(gè)虛擬世界仿真

系統(tǒng)。系統(tǒng)中的虛擬世界用于模擬現(xiàn)實(shí)世界中的不同環(huán)境(由用戶設(shè)置并創(chuàng)建),用戶

通過操作仿真系統(tǒng)中的1?2個(gè)機(jī)器人來探索虛擬世界。機(jī)器人維護(hù)著兩個(gè)變量bl

和b2,用來保存從虛擬世界中讀取的字符。該系統(tǒng)的主要功能描述如下:(1)機(jī)器

人探索虛擬世界(RunRobots)o用戶使用編輯器(Editor)編寫文件以設(shè)置想要模擬的

環(huán)境,將文件導(dǎo)入系統(tǒng)(LoadFile)從而在仿真系統(tǒng)中建立虛擬世界(SetupWorld)。機(jī)

器人在虛擬世界中的行為也在文件中進(jìn)行定義,建立機(jī)器人的探索行為程序(Setup

Program)o機(jī)器人在虛擬世界中探索時(shí)(RunProgram),有2種運(yùn)行模式:①自動(dòng)控

制(Run):事先編排好機(jī)器人的動(dòng)作序列(指令(Instruction)),執(zhí)行指令,使機(jī)器人可以

連續(xù)動(dòng)作。若干條指令溝成機(jī)器人的指令集(InstructionSet)。②單步控制(Step):

自動(dòng)控制方式的一種特殊形式,只執(zhí)行指定指令中的一個(gè)動(dòng)作。(2)手動(dòng)控制機(jī)器人

(ManipulateRobots)o選定1個(gè)機(jī)器人后(SelectRobot),可以采用手動(dòng)方式控制它。

手動(dòng)控制有4種方式:?Move:機(jī)器人朝著正前方移動(dòng)一個(gè)交叉點(diǎn)。?Left:機(jī)

器人原地沿逆時(shí)針方向旋轉(zhuǎn)90度。③Read:機(jī)器人讀取其所在位置的字符,并將

這個(gè)字符的值賦給bl;如果這個(gè)位置上沒有字符,則不改變bl的當(dāng)前值。

@WIiie:將bl中的字符寫入機(jī)器人當(dāng)前所在的位巴,如果這個(gè)位置上已經(jīng)有字符,

該字符的值將會(huì)被bl的值替代。如果這時(shí)bl沒有值,即在執(zhí)行Write動(dòng)作之前沒有

執(zhí)行過任何Read動(dòng)作,那么需要提示用戶相應(yīng)的錯(cuò)誤信息(ShowErrors)。手動(dòng)控制

與單步控制的區(qū)別在于,單步控制時(shí)執(zhí)行的是指令中的動(dòng)作,只有一種控制方式,即執(zhí)

行下一個(gè)動(dòng)作;而手動(dòng)控制時(shí)有4種動(dòng)作。現(xiàn)采用面向?qū)ο蠓椒ㄔO(shè)計(jì)并實(shí)現(xiàn)該仿

真系統(tǒng),得到如圖3-1所示的用例圖和圖3-2所示的初始類圖。圖3-2中的類

Interpreter和Parser用于解析描述虛擬世界的文件以及機(jī)器人行為文件中的指令

圖3?1用例圖

圖3?2初始類圖

集。

8、根據(jù)說明中的描述,給出圖3?1中U1?U6所對應(yīng)的用例名。

標(biāo)準(zhǔn)答案:UI:RunU2:StepU3:WriteU4:ReadU5:LeftU6:Move注:UI

和U2可以互換;U4?U6可以互換。

知識(shí)點(diǎn)解析:暫無解析

9、圖3?1中用例U1?U6分別與哪個(gè)(哪些)用例之間有關(guān)系,是何種關(guān)系?

標(biāo)準(zhǔn)答案:UI~U2與RunProgram有關(guān)系;是泛化關(guān)系。U3~U6與Manipulate

Robots有關(guān)系;是泛化關(guān)系。

知識(shí)點(diǎn)解析:暫無解析

10、根據(jù)說明中的描述,給出圖3-2中Cl-C5所對應(yīng)的類名。

標(biāo)準(zhǔn)答案:Cl:WorldC2:Robot/RobotsC3:InstructionC4:InstructionSetC5:

Error/Errors

知識(shí)點(diǎn)解析:本題屬于經(jīng)典的考題,主要考查面向?qū)ο蠓治龇椒ㄅc設(shè)計(jì)的基本概

念。在建模方面,本題涉及UML的類圖和用例圖。本題的考點(diǎn)比較常規(guī),題目難度

不大。在圖3-1的用例圖中,需要確定6個(gè)用例。在面向?qū)ο蠓椒ㄖ?用例及用例圖

是描述功能需求的工具,每一個(gè)用例表示一個(gè)單一的功能單元。通過對說明中功能

描述的閱讀,可以將未出現(xiàn)在圖3-1中的功能單元列舉出來:Run、Step.Move.

Left、ReadWWriteo下面就是要判斷這6個(gè)用例在圖中的對應(yīng)關(guān)系了。由圖3-1

可知,U3中包含了ShowErrors的功能,所以U3只能對應(yīng)用例Write.其余的沒芍嚴(yán)

格的順序要求,但是在回答問題2時(shí)要根據(jù)所填寫的用例來判斷用例之間的關(guān)系。

這里我們按照下列順序填寫:U1一Run;U2—Step;U3—Write;U4-Read;

U5-Left;U6-Move。圖3-1中沒有將用例之間的關(guān)系完整地給出來,因此需要根

據(jù)說明中的功能描述判定U1?U6與其他用例之間的關(guān)系。根據(jù)說明中的描述可

知,Run和Step是RunProgram的兩種具體方式,所以這3個(gè)用例之間是有關(guān)系的,在

UML用例圖中,這種關(guān)聯(lián)通常采用泛化關(guān)系描述。同理,U3?U6用例是用例

ManipulateRobots的4種具體實(shí)現(xiàn)方法,因此這5個(gè)用例之間也是泛化關(guān)系。本題

要求將類圖中缺失的5個(gè)類補(bǔ)充完整。在解答此類題目時(shí),首先考慮類圖中的特殊

關(guān)系,如繼承關(guān)系、聚集或組合關(guān)系等,這是比較好的突破口°另外應(yīng)關(guān)注類之間的

多重度。在圖3-2中出現(xiàn)了兩個(gè)聚集關(guān)系:C1和C2之間以及C3和C4之間。我

們先考慮C1和C2這一對,因?yàn)檫@兩個(gè)類之間的多重度是一個(gè)具體的范圍1..2o說

明中有一句話,用戶通過操作仿真系統(tǒng)中的1?2個(gè)機(jī)器人來探索虛擬世界,也就是說

在虛擬世界中包含著1?2個(gè)機(jī)器人,由此可以推斷C2對應(yīng)的是機(jī)器人Robot/

Robots,Cl代表的就是整個(gè)虛擬世界Worldo下面我們來看C3和C4這一對聚集關(guān)

系。C4和Interpreter、Parser有關(guān)聯(lián),而這兩個(gè)類與文件及機(jī)器人指令集的解析有

關(guān),由此可以推斷,C3、C4這兩個(gè)類也應(yīng)該跟解析功能相關(guān)。由說明可知,系統(tǒng)中有

兩類需要解析的事物:虛擬世界文件和機(jī)器人指令集,而機(jī)器人指令集是由若干條

指令構(gòu)成的,這里就出現(xiàn)了一個(gè)聚集結(jié)構(gòu)。因此C3應(yīng)該對應(yīng)Instruction。對應(yīng)的

是InstructionSeto對于最后一個(gè)類,將功能需求與用例圖再回顧一遍,發(fā)現(xiàn)在類圖中

還缺少關(guān)于錯(cuò)誤信息的描述,因此C5所對應(yīng)的就是類Erroro

閱讀下列說明和C代碼、回答問題。【說明】在一塊電路板的上下兩端分別有n個(gè)

接線柱。根據(jù)電路設(shè)計(jì),用(i,兀⑴)表示將上端接線柱i與下端接線柱兀⑴相連,稱其為

該電路板上的第i條連線。如圖4?1所示的兀⑴排列為{8,7,4,2,5,1,9,3,10,6}。對于任

何l<i<j<n,mi條連線和第j條連線相交的充要條件是兀⑴〉兀⑴。

圖4-i電路布線示意圖在制作電路板時(shí),要求將這n條連線

分布到若干絕緣層上,在同一層上的連線不相交。現(xiàn)在要確定將哪些連線安排在一

層上,使得該層上有盡可能多的連線,即確定連線集Nets={(i,7r⑴),lgiWn}的最大不相

交子集。【分析問題】記N(i,j尸{tIt,7i(t))6Nets,母兀(t)Wj}。N(i,j)的最大不相交子

集為MNS(i,j),size(iJ)=MNS(iJ)I。經(jīng)分析,該問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。對規(guī)模

為n的電路布線問題,可以構(gòu)造如下遞歸式:

[0/<x(l)

⑴當(dāng)i時(shí),問5寸其他情況

(2)"1時(shí)‘(max{size"T,J),sizcQ-l,如-1)+1)其他情況[C代碼]

下面是算法的C語言實(shí)現(xiàn)。(1)變量說明size[i][j]:上下端分別有i個(gè)和j個(gè)接線柱

的電路板的第一層最大不相交連接數(shù)pi[i]:兀⑴,下標(biāo)從1開始(2)C程序

?includeNstdllb.h"

?include<stdio.h>

?defineN10/?問題規(guī)模*/

mtm-0;/?記錄?大連接集合中的接線柱?/

voidmaxNutn(intpi[],intsize[N?1](N?1],intn)(

/?求?大不相交連接收”

inti,j;

for(j-0;j<pi(l);size[l](jl-0;/?當(dāng)j<*(1)時(shí)*/

for(j-pi(1];j<-n;,?+)(1);/?當(dāng)j>■■(1)時(shí)*/

for(1-2;i<n;(

for(j-0;j<pi(l];<2);八當(dāng)j<pi【i]時(shí)?/

for(j-pi(i];j<-n;”?)</*當(dāng)j>■c(i]時(shí),考慮兩種情況?/

size(il(j)-size[1-1](j]>-size(i-l)?8ize(i-l][j]:

size(i-lj

)

}

/?量大連接數(shù)?/

size(n)(n)-size(n-1](n)>■size[n-l][pi(nl-l]*l?size[n-1][n]:

size[n-l](pi(n)-l)*l;

/.構(gòu)造?大不相交連接集合?net[i)猥示?大不相交f集中第i條連線的上端接線柱的序號(hào)?/

voidconstructSet(intpi()rint8ize[N?1][N?1),intn,intnet[nJ)(

int1,j-n;

m-0;

ford-n;i>1;i-)(/?從后往前?/

if(size[i][j]!-size[i-l][j]){

/*(i,p“i】)是■大不相交子集的一條連線*/

(3);/?將1記錄到數(shù)綱net中.連接線數(shù)自增1./

j-pi(i)-l;/*更新獷履連線柱區(qū)間“

I

I

if(j>-pi(l]>netIm**]-1;/?當(dāng)iT時(shí)“

II、根據(jù)以上說明和C代碼,填充C代碼中的空(1)-(3)。

標(biāo)準(zhǔn)答案:(l)size口皿=1(2)size[i]U]:size[i-l][j](3)net[m++]=i或其等價(jià)形式

知識(shí)點(diǎn)解析:暫無解析

12、根據(jù)題干說明和以上C代碼,算法采用了(4)算法設(shè)計(jì)策略。函數(shù)maxNum和

constructSet的時(shí)間復(fù)雜度分別為(5)和(6)(用O表示)。

標(biāo)準(zhǔn)答案:(4)動(dòng)態(tài)規(guī)劃(5)O(/)(6)O(n)

知識(shí)點(diǎn)解析:暫無解析

13、若連接排列為(8,742,5,1,9,3,10,6),即如圖4-1所示,則最大不相交連接數(shù)為(7),

包含的連線為(8)(用(i,7t(i))的形式給出)。

標(biāo)準(zhǔn)答案:(7)4(8)(3,4)(5,5)(7,9)(9,10)

知識(shí)點(diǎn)解析:本題考查算法設(shè)計(jì)和C語言實(shí)現(xiàn)算法的能力。本題要求考生對常用

的算法設(shè)計(jì)策略,包括分治法、動(dòng)態(tài)規(guī)劃、貪心算法、回溯法等有基本的掌握,并理

解每類算法策略中的幾個(gè)典型實(shí)例。一般不要求考生設(shè)計(jì)問題的求解算法,但要求

考生能夠理解題目給出的算法設(shè)計(jì)思路,并補(bǔ)充C程序。如本題中的空(1),可以根據(jù)

題干中遞歸式第一部分和C代碼中的注釋,得到答案size[l][j]=l。

0;<K(I)

(1)當(dāng)2I時(shí).size(l.J)-

1其他情況空(2)則根據(jù)閱讀題干中遞歸式第二部分和C代

碼中的注釋,得到答案size[i][j]=size[i-l][j]o(2)

size(i-IJ)j<n(i)

(2)當(dāng)時(shí),size(i.y)

max{sizc(i-1,7),size(i-1,rt(i)-1)+U其他情況空⑶則依據(jù)C

代碼中的注釋,即可得到答案nct[m++]=io題干在敘述過程中,較明顯地提到了動(dòng)態(tài)

規(guī)劃策略的幾個(gè)特點(diǎn),如最優(yōu)子結(jié)構(gòu)、遞歸式、自底向上求解等,因此這是一個(gè)動(dòng)態(tài)

規(guī)劃算法。算法的時(shí)間復(fù)雜度分析也較簡單。函數(shù)maxNum中有兩重循環(huán),時(shí)間復(fù)

雜度為0(/)。函數(shù)constructSet中有i重循環(huán),時(shí)間復(fù)雜度為0(n)。本問題考查該

算法的一個(gè)實(shí)例,理解了題干就可以直接計(jì)算出該實(shí)例的解,即最大不相交連接數(shù)為

4,連線為:(3,4)(5,5)(7,9)(9,10)。

二、選答題(本題共2題,每題1.0分,共2分。)

14、閱讀下列說明和C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。【說

明】某軟件系統(tǒng)中,己設(shè)計(jì)并實(shí)現(xiàn)了用于顯示地址信息的類Address(如圖5-1所示),

現(xiàn)要求提供基于Dutch語言的地址信息顯示接口。為了實(shí)現(xiàn)該要求并考慮到以后可

能還會(huì)出現(xiàn)新的語言的接口,決定采用適配器(Adapter)模式實(shí)現(xiàn)該要求,得到如圖5-1

所示的類圖。1?5-1適配器模式類圖【C++代碼】

?include<iostream>

usingnamespacestd;

classAddress(

public:

voidstreet()"?實(shí)現(xiàn)代碼省略?/

voidzipO(/?實(shí)現(xiàn)代碼省略?/

voidcity()(/?實(shí)現(xiàn)代碼省略?/

〃其他成員省略

I;

classDutchAddress(

public:

virtualvoidstraat()-0;

virtualvoidpostcode()-0;

virtualvoidplaats()-0;

〃其他成員省略

);

classDutchAddressAdapter:publicDutchAddress(

private:

(1);

public:

DutchAddressAdapter(Address*addr){

address-addr;

}

voidstraat()(

(2);

voidpostcode(>(

(3);

voidplaats()(

_U);

〃其他成員省略

I;

voidtestDutch(DutchAddress*addr)(

addr->straat();

addr->postcode();

addr->plaats();

I

intmain。(

Address?addr?newAddress();

(S);

cout?"\nTheDutchAddress\n*?endl;

testDutch(addrAdapter);

return0;

標(biāo)準(zhǔn)答案:(1)Address*address(2)address->street()(3)address->zip()(4)address->

city()(5)DutchAddress*addrAdapter=newDutchAddressAdapter(addr)

知識(shí)點(diǎn)解析:本題考查Adapter(適配器)模式的基本概念和應(yīng)用。Adapter模式的設(shè)

計(jì)意圖是,將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本

由于接口不兼容而不能一起工作的那些類可以一起工作。Adapter模式有兩種實(shí)現(xiàn)

方式。類適配使用多重繼承對一個(gè)接口與另一個(gè)接口進(jìn)行匹配,其結(jié)構(gòu)如圖5-2所

示。圖務(wù)2類適配器結(jié)構(gòu)圖對象適配

器依賴于對象組合,其結(jié)構(gòu)如圖5-3所示。

圖5-3對象送配舞結(jié)構(gòu)圖.Target定義

Client使用的與特定領(lǐng)域相關(guān)的接口。Client與符合Target接口的對象協(xié)

同。?Adaptee定義一個(gè)三經(jīng)存在的接口,這個(gè)接口需要適配。?Adapter對Adaptec的

接口與Targe[接口進(jìn)行適配。Adapier模式適用于:?想使用一個(gè)已經(jīng)存在的類,而

它的接口不符合要求。?想創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不相關(guān)的類或不

可預(yù)見的類(即那些接口不一定兼容的類)協(xié)同工作。?僅適用于對象Adapter:想使

用一個(gè)已經(jīng)存在的子類,但是不可能對每一個(gè)都進(jìn)行子類化以匹配它們的接口。對

象適配器可以適配它的父類接口。本題中采用對象適配器,題中類

DutchAddressAdapter對應(yīng)圖5-3匚P的Adapter>DutchAddrcss對應(yīng)圖5-3中的

Target>Address對應(yīng)圖5-3中的Adaptec。由圖5-3可知,在Adapter中應(yīng)該有一個(gè)

Adaptee的對象,因此空⑴處應(yīng)該填寫的是Address的對象:Address*addresso類

DutchAddress的實(shí)現(xiàn)采用了C++中的抽象類,作為其子類DutchAddressAdapter,必須

對DutchAddrcss中的3個(gè)純虛擬函數(shù)進(jìn)行重置,所以空(2)-(4)是在考查這3個(gè)純虛

擬函數(shù)在子類中的實(shí)現(xiàn)方式。由圖5-3可知,Adaptei?中方法的實(shí)現(xiàn)方式還是要借助

于Adaptee中所提供的行為,也就是說,DulchAddressAdapter中3個(gè)純虛擬函數(shù)的實(shí)

現(xiàn)與Address是密不可分的。由此可知,空⑵?⑷分別應(yīng)填入:address->street()^

address->zip()和address->city()o第(5)空考查Adapter模式的使用。這里調(diào)用普

通函數(shù)testDutch來進(jìn)行測試,這個(gè)函數(shù)要求傳遞DutchAddress類型的參數(shù),并且給出

了實(shí)參的名字:addrAdatper。因此第⑸空應(yīng)該填寫的是addrAdapter的創(chuàng)建語句,這

里需要使用DutchAddress的構(gòu)造函數(shù)。因此第(5)空應(yīng)填寫:

DutchAddress*addrAdapler=newDutchAddressAdapter(addr)。

15、閱讀下列說明和Java代碼,將應(yīng)填入⑻處的字句寫在答題紙的對應(yīng)欄內(nèi)。【說

明】某軟件系統(tǒng)中,己設(shè)計(jì)并實(shí)現(xiàn)了用于顯示地址信息的類Address(如圖6-1所示),

現(xiàn)要求提供基于Dutch語言的地址信息顯示接口。為了實(shí)現(xiàn)該要求并考慮到以后可

能還會(huì)出現(xiàn)新的語言的接口,決定采用適配器(Adap3)模式實(shí)現(xiàn)該要求,得到如圖6-1

所示的類圖。圖適配器模式類圖[Java代碼】

importjava.util.*;

classAddress(

publicvoidstreet()(〃實(shí)現(xiàn)代碼省略)

publicvoidzip()(〃實(shí)現(xiàn)代碼省電)

publicvoidcity()(〃實(shí)現(xiàn)代碼省略)

〃其他成員省略

classDutchAddress(

publicvoidstraat()(〃實(shí)現(xiàn)代碼省略

publicvoidpostcode()(//實(shí)現(xiàn)代碼省1略

publicvoidplaats()(〃實(shí)現(xiàn)代碼省略

〃其他成員省略

classDutchAddressAdapterextendsDutchAddress

溫馨提示

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

評(píng)論

0/150

提交評(píng)論