2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)_第1頁
2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)_第2頁
2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)_第3頁
2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)_第4頁
2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2018年5月計(jì)算機(jī)技術(shù)與軟件《中級(jí)軟件設(shè)計(jì)師(下午卷)》試題(網(wǎng)友回憶版)[問答題]1.某海外代購公司為擴(kuò)展公司業(yè)務(wù),需要開發(fā)(江南博哥)一個(gè)信息化管理系統(tǒng)。請根據(jù)公司現(xiàn)有業(yè)務(wù)及需求完成該系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)。【需求描述】(1)記錄公司員工信息。員工信息包括工號(hào)、身份證號(hào)、姓名、性別和一個(gè)手機(jī)號(hào),工號(hào)唯一標(biāo)識(shí)每位員工,員工分為代購員和配送員。(2)記錄采購的商品信息。商品信息包括商品名稱、所在超市名稱、采購價(jià)格、銷售價(jià)格和商品介紹,系統(tǒng)內(nèi)部用商品條碼唯一標(biāo)識(shí)每種商品。一種商品只在一家超市代購。(3)記錄顧客信息。顧客信息包括顧客真實(shí)姓名、身份證號(hào)(清關(guān)繳稅用)、一個(gè)手機(jī)號(hào)和一個(gè)收貨地址,系統(tǒng)自動(dòng)生成唯一的顧客編號(hào)。(4)記錄托運(yùn)公司信息。托運(yùn)公司信息包括托運(yùn)公司名稱、電話和地址,系統(tǒng)自動(dòng)生成唯一的托運(yùn)公司編號(hào)。(5)顧客登錄系統(tǒng)之后,可以下訂單購買商品。訂單支付成功后,系統(tǒng)記錄唯一的支付憑證編號(hào),顧客需要在訂單里指定運(yùn)送方式:空運(yùn)或海運(yùn)。(6)代購員根據(jù)顧客的訂單在超市采購對應(yīng)商品,一份訂單所含的多個(gè)商品可能由多名代購員從不同超市采購。(7)采購?fù)甑纳唐方挥膳渌蛦T根據(jù)顧客訂單組合裝箱,然后交給托運(yùn)公司運(yùn)送。托運(yùn)公司按顧客訂單核對商品名稱和數(shù)量,然后按顧客的地址進(jìn)行運(yùn)送。【概念模型設(shè)計(jì)】根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。【邏輯結(jié)構(gòu)設(shè)計(jì)】根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):員工(工號(hào),身份證號(hào),姓名,性別,手機(jī)號(hào))商品(條碼,商品名稱,所在超市名稱,采購價(jià)格,銷售價(jià)格,商品介紹)顧客(編號(hào),姓名,身份證號(hào),手機(jī)號(hào),收貨地址)托運(yùn)公司(托運(yùn)公司編號(hào),托運(yùn)公司名稱,電話,地址)訂單(訂單ID,(a),商品數(shù)量,運(yùn)送方式,支付憑證編號(hào))代購(代購ID,代購員工號(hào),(b))運(yùn)送(運(yùn)送ID,配送員工號(hào),托運(yùn)公司編號(hào),訂單ID,發(fā)運(yùn)時(shí)間)【問題1】根據(jù)問題描述,補(bǔ)充圖2-1的實(shí)體聯(lián)系圖。【問題2】補(bǔ)充邏輯結(jié)構(gòu)設(shè)計(jì)結(jié)果中的(a)、(b)兩處空缺。【問題3】為方便顧客,允許顧客在系統(tǒng)中保存多組收貨地址。請根據(jù)此需求,增加“顧客地址”弱實(shí)體,對圖2-1進(jìn)行補(bǔ)充,并修改“運(yùn)送”關(guān)系模式。參考答案:詳見解析參考解析:【問題1】【問題2】(a)商品條碼、顧客編號(hào)(b)訂單ID、商品條碼【問題3】新增一個(gè)弱實(shí)體顧客地址,新增一個(gè)聯(lián)系客戶收貨地址,聯(lián)連接顧客實(shí)體和顧客地址類型為1:*;弱實(shí)體用雙矩型運(yùn)送關(guān)系模式增加屬性:顧客地址運(yùn)送(運(yùn)送ID,配送員工號(hào),托運(yùn)公司編號(hào),訂單ID,顧客地址,發(fā)運(yùn)時(shí)間)[問答題]2.生成器(Builder)模式的意圖是將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。圖5-1所示為其類圖。【C++代碼】#include#includeusingnamespacestd;classProduct{private:stringpartA,partB;public:Product(){}voidsetPartA(conststring&s){PartA=s;}voidsetPartB(conststring&s){PartB=s;}//其余代碼省略};classBuilder{public:(1);virtualvoidbuildPartB()=0;(2);};classConcreteBuilder1:publicBuilder{private:Product*product;public:ConcreteBuilder1(){product=newProduct();}voidbuildPartA(){(3)("ComponentA");}voidbuildPartB(){(4)("ComponentB");}Product*getResult(){returnproduct;}//其余代碼省略};classConcreteBuilder2:publicBuilder{/*代碼省略*/};classDirector{private:Builder*builder;public:Director(Builder*pBuilder){builder=pBuilder;}voidconstruct(){(5);//其余代碼省略}//其余代碼省略};intmain(){Director*director1=newDirector(newConcreteBuilder1());director1->construct();deletedirector1;return0;參考答案:詳見解析參考解析:(1)virtualvoidbuildPartA()=0(2)virtualProduct*getResult()=0(3)product-setPartA(4)product->setPartB(5)builder-buildPartA();builder-buildPartB();Product*p=builder-getResult();[問答題]3.某醫(yī)療護(hù)理機(jī)構(gòu)為老年人或有護(hù)理需求者提供專業(yè)護(hù)理,現(xiàn)欲開發(fā)一基于web的醫(yī)療管理系統(tǒng),以改善醫(yī)療護(hù)理效率,該系統(tǒng)的主要要功能如下:(1)通用信息查詢,客戶提交通用信息查詢請求,查詢通用信息表,返回查詢結(jié)果。(2)醫(yī)生聘用。醫(yī)生提出應(yīng)聘/辭職申請,交由主管進(jìn)行聘用/解聘審批,更新醫(yī)生表,并給醫(yī)生反饋聘用/解聘結(jié)果:刪除解聘醫(yī)生的出診安排。(3)預(yù)約處理。醫(yī)生安排出診時(shí)間,存入醫(yī)生出診時(shí)間表,根據(jù)客戶提交的預(yù)約查詢請求,查詢在職醫(yī)生及其出診時(shí)間等預(yù)約所需數(shù)據(jù)并返回:創(chuàng)建預(yù)約,提交預(yù)約請求,在預(yù)約表中新增預(yù)約記錄,更新所約醫(yī)生出診時(shí)間并給醫(yī)生發(fā)送預(yù)約通知;給客戶反饋預(yù)約結(jié)果。(4)藥品管理。醫(yī)生提交處方,根據(jù)藥品名稱從藥品數(shù)據(jù)中查詢相關(guān)藥品庫存信息,開出藥品,更新對應(yīng)藥品的庫存以及預(yù)約表中的治療信息;給醫(yī)生發(fā)送“藥品已開出”反饋。(5)報(bào)表創(chuàng)建。根據(jù)主管提交的報(bào)表查詢請求(報(bào)表類型和時(shí)間段),從預(yù)約數(shù)據(jù)、通用信息、藥品庫存數(shù)據(jù)、醫(yī)生以及醫(yī)生出診時(shí)間中進(jìn)行查詢,生成報(bào)表返回給主管。現(xiàn)采用結(jié)構(gòu)化方法對醫(yī)療管理系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。【問題1】使用說明中的詞語,給出圖1-1中的實(shí)體E1~E3的名稱。【問題2】使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D5的名稱。【問題3】使用說明和圖中術(shù)語,補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)。【問題4】使用說明中的詞語,說明“預(yù)約處理”可以分解為哪些子加工,并說明建模圖1-1和圖1-2是如何保持?jǐn)?shù)據(jù)流圖平衡。參考答案:詳見解析參考解析:【問題1】E1:客戶E2:醫(yī)生E3:主管【問題2】D1:通用信息表D2:預(yù)約表D3:在職醫(yī)生表D4:出診時(shí)間表D5:藥品庫存信息表【問題3】數(shù)據(jù)流名稱:刪除解聘醫(yī)生的預(yù)約信息起點(diǎn):P2終點(diǎn):D2數(shù)據(jù)流名稱:刪除解聘醫(yī)生的出診安排起點(diǎn):P2終點(diǎn):D4數(shù)據(jù)流名稱:查詢相關(guān)藥品庫存信息起點(diǎn):D5終點(diǎn):P4數(shù)據(jù)流名稱:查詢相關(guān)藥品庫存信息起點(diǎn):P4終點(diǎn):D2【問題4】“預(yù)約處理”可以分為預(yù)約就診、安排出診時(shí)間兩個(gè)子加工。父圖與子圖要在數(shù)據(jù)流的數(shù)量與流向上保持一致。[問答題]4.某公司購買長鋼條,將其切割后進(jìn)行出售。切割鋼條的成本可以忽略不計(jì),鋼條的長度為整英寸。已知價(jià)格表P,其中中Pi(i=1,2,...,m)表示長度為i英寸的鋼條的價(jià)格。現(xiàn)要求解使銷售收益最大的切割方案。求解此切割方案的算法基本思想如下:假設(shè)長鋼條的長度為n英寸,最佳切割方案的最左邊切割段長度為i英寸,則繼續(xù)求解剩余長度為n-i英寸鋼條的最佳切割方案。考慮所有可能的i,得到的最大收益rn對應(yīng)的切割方案即為最佳切割方案。rn的遞歸定義如下:rn=max1≤i≤n(pi+rn-i)對此遞歸式,給出自頂向下和自底向上兩種實(shí)現(xiàn)方式【C代碼】/*常量和變量說明n:長鋼條的長度P[]:價(jià)格數(shù)組*/#defineLEN100intTop_Down_Cut_Rod(intP[],intn){/*自頂向下*/intr=0;inti;if(n==0){retum0;}for(i=1;(1);i++){inttmp=p[i]+Top_Down_Cut_Rod(p,n-i);r=(r>=tmp)?r:tmp;}returnr;}intBottom_Up_Cut_Rod(intp[],intn){/*自底向上*/intr[LEN]={0};inttemp=0;inti,j;for(j=1;j=n;j++){temp=0;for(i=1;(2);i++){temp=(3);}(4)}returnr[n];}【問題1】根據(jù)說明,填充C代碼中的空(1)~(4)。【問題2】根據(jù)說明和C代碼,算法采用的設(shè)計(jì)策略為(5)。求解rn時(shí),自頂向下方法的時(shí)間復(fù)雜度為(6);自底向上方法的時(shí)間復(fù)雜度為(7)(用O表示)。參考解析:【問題1】(1)i=n(2)i<=j(3)temp=(temp=r[i]+r[j-1])temp:(r[i]+r[j-1])(4)r[j]=temp【問題2】(5)動(dòng)態(tài)規(guī)劃(6)O(2n)(7)O(n2)[問答題]5.某ETC(ElectronicTollCollection,不停車收費(fèi))系統(tǒng)在高速公路沿線的特定位置上設(shè)置一個(gè)橫跨道路上空的龍門架(Tollgantry),龍門架下包括6條車道(Trafficlanes),每條車道上安裝有雷達(dá)傳感器(Radarsensor)、無線傳輸器(Radiotransceiver)和數(shù)碼相機(jī)(DigitalCamera)等用于不停車收費(fèi)的設(shè)備,以完成正常行駛速度下的收費(fèi)工作。該系統(tǒng)的基本工作過程如下:(1)每輛汽車上安裝有車載器,駕駛員(Driver)將一張具有唯一識(shí)別碼的磁卡插入車載器中。磁卡中還包含有駕駛員賬戶的當(dāng)前信用記錄。(2)當(dāng)汽車通過某條車道時(shí),不停車收費(fèi)設(shè)備識(shí)別車載器內(nèi)的特有編碼,判斷車型,將收集到的相關(guān)信息發(fā)送到該路段所屬的區(qū)域系統(tǒng)(Regionalcenter)中,計(jì)算通行費(fèi)用創(chuàng)建收費(fèi)交易(Transaction),從駕駛員的專用賬戶中扣除通行費(fèi)用。如果駕駛員賬戶透支,則記錄透支賬戶交易信息。區(qū)域系統(tǒng)再將交易后的賬戶信息發(fā)送到維護(hù)駕駛員賬戶信息的中心系統(tǒng)(Centralsystem)(3)車載器中的磁卡可以使用郵局的付款機(jī)進(jìn)行充值。充值信息會(huì)傳送至中心系統(tǒng),以更新駕駛員賬戶的余額。(4)當(dāng)沒有安裝車載器或者車載器發(fā)生故障的車輛通過車道時(shí),車道上的數(shù)碼相機(jī)將對車輛進(jìn)行拍照,并將車輛照片及拍攝時(shí)間發(fā)送到區(qū)域系統(tǒng),記錄失敗的交易信息;并將該交易信息發(fā)送到中心系統(tǒng)。(5)區(qū)域系統(tǒng)會(huì)獲取不停車收費(fèi)設(shè)備所記錄的交通事件(Trafficevents);交通廣播電臺(tái)(Trafficadvicecenter)根據(jù)這些交通事件進(jìn)行路況分析并播報(bào)路況。現(xiàn)采用面向?qū)ο蠓椒▽ι鲜鱿到y(tǒng)進(jìn)行分析與設(shè)計(jì),得到如表3-1所示的用例列表以及如圖3-1所示的用例圖和圖3-2所示的分析類圖。【問題1】根據(jù)說明中的描述,給出圖3-1中A1~A4所對應(yīng)的參與者名稱。【問題2】根據(jù)說明中的描述及表3-1,給出圖3-1中U1-U5所對應(yīng)的用例名稱。【問題3】根據(jù)說明中的描述,給出圖3-2中C1~C6所對應(yīng)的類名。?參考解析:【問題1】A1:Centralsystem/DriverA2:Driver/CentralsystemA3:Regionalcenter/TrafficadvicecenterA4:Trafficadvicecenter/Regionalcenter【問題2】U1:Underpaidtransaction/RecordIllegaluseU2:RecordIllegaluse/UnderpaidtransactionU3:CreatetransactionU4:RecordtrafficeventU5:Chargecard【問題3】C1:CentersystemC2:TollgantryC3:TrafficlanesC4:Radarsensor/Radiotransceiver/DigitalCameraC5:Radiotransceiver/Radarsensor/DigitalCameraC6:DigitalCamera/Radarsensor/Radiotransceiver[問答題]6.生成器(Builder)模式的意圖是將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。圖6-1所示為其類圖。【C++代碼】#include#includeusingnamespacestd;classProduct{private:stringpartA,partB;public:Product(){}voidsetPartA(conststring&s){PartA=s;}voidsetPartB(conststring&s){PartB=s;}//其余代碼省略};classBuilder{public:(1);virtualvoidbuildPartB()=0;(2);};classConcreteBuilder1:publicBuilder{private:Product*product;public:ConcreteBuilder1(){product=newProduct();}voidbuildPartA(){(3)("ComponentA");}voidbuildPartB(){(4)("ComponentB");}Product*getResult(){returnproduct;}//其余代碼省略};classConcreteBuilder2:publicBuilder{/*代碼省略*/};classDirector{private:Builder*builder;public:Director(Builder*pBuilder){builder=pBuilder;}voidconstruct(){(5);//其余代碼省略}//其余代碼省略};intmain(){Director*director1=newDirector(newConcreteBuilder1());director1-construct();deletedirector1;return0;【Java代碼】importjav(6)A.util.*;classProduct{privateStringpartA;privateStringpartB;publicProduct(){}publicvoidsetPartA(Strings){partA=s;}publicvoidsetPartB(Strings){partB=s;}}interfaceBuilder{public(1);publicvoidbuildPartB();public(2);}}classCon

溫馨提示

  • 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)論