版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
試卷科目:軟件水平考試(中級)軟件設(shè)計(jì)師案例2014軟件水平考試(中級)軟件設(shè)計(jì)師真題及答案案例第02套PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpages2014軟件水平考試(中級)軟件設(shè)計(jì)師真題及答案案例第02套第1部分:問答題,共5題,請?jiān)诳瞻滋幪顚懻_答案。[問答題]1.閱讀下列說明和圖,回答問題,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】?某巴士維修連鎖公司欲開發(fā)巴士維修系統(tǒng),以維護(hù)與維修相關(guān)的信息,該系統(tǒng)的主要能如下:(1)記錄巴士ID和維修問題。巴士到車庫進(jìn)行維修,系統(tǒng)將巴士基本信息和ID記錄在巴士列表文件中,將待維修機(jī)械問題記錄在維修記錄文件中,并生成維修訂單。(2)確定所需部件,根據(jù)維修訂單確定維修所需部件,并在部件清單中進(jìn)行標(biāo)記。(3)完成維修,機(jī)械師根據(jù)維修記錄文件中的待維修機(jī)械問題,完成對巴士的維修,登記維修情況;將機(jī)械問題維修情況記錄在維修記錄文件中,將所用部件記錄在部件清單中,并將所用部件清單發(fā)送繪庫存管理系統(tǒng)以對部件使用情況進(jìn)行監(jiān)控,巴士司機(jī)可查看已維修機(jī)械問題。(4)記錄維修工時(shí),將機(jī)械師提供的維修工時(shí)記錄在人事檔案中,將維修總結(jié)發(fā)送給主管進(jìn)行績效考核。(5)計(jì)算維修總成本。計(jì)算部件清單中實(shí)際所用部件、人事檔案中所用維修工時(shí)的總成本;將維修工時(shí)和所用部件成本詳細(xì)信息給會計(jì)進(jìn)行計(jì)費(fèi)?,F(xiàn)采用結(jié)構(gòu)化方法對巴士維修系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1所示的上下文數(shù)據(jù)流圖1和圖2所示的0層數(shù)據(jù)流圖?!締栴}1】(5分)使用說明中的詞語,給出圖1中的實(shí)體E1~E5的名稱。【問題2】(4分)使用說明中的詞語,給出圖2中的數(shù)據(jù)存儲D1~D4的名稱【問題3】(4分)說明圖2中所存在的問題?!締栴}4】根據(jù)說明和圖中術(shù)語,采用補(bǔ)充數(shù)據(jù)流的方式,改正圖2中的問題。要求給出所補(bǔ)充數(shù)據(jù)流的名稱、起點(diǎn)和終點(diǎn)。答案:【問題1】(5分)E1:巴士司機(jī)E2:機(jī)械師E3:會計(jì)E4:主管E5:庫存管理系統(tǒng)【問題2】(4分)D1:巴士列表文件D2:維修記錄文件D3:部件清單D4:人事檔案【問題3】(4分)缺失以下數(shù)據(jù)流:(1)名稱:待維修機(jī)械問題;起點(diǎn):D2;終點(diǎn):3完成維修。(2)名稱:實(shí)際所用部件;起點(diǎn):D3;終點(diǎn):5計(jì)算總成本?!締栴}4】(2分)補(bǔ)充以下數(shù)據(jù)流:(1)名稱:待維修機(jī)械問題;起點(diǎn):D2;終點(diǎn):3完成維修。(2)名稱:實(shí)際所用部件;起點(diǎn):D3;終點(diǎn):5計(jì)算總成本解析:[問答題]2.閱讀下列說明和圖,回答問題,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某家電銷售電子商務(wù)公司擬開發(fā)一套信息管理系統(tǒng),以方便對公司的員工、家電銷售、家電廠商和客戶等進(jìn)行管理。[需求分析](1)系統(tǒng)需要維護(hù)電子商務(wù)公司的員工信息、客戶信息、家電信息和家電廠商信息等,員工信息主要包括:工號、姓名、性別、崗位、身份證號、電話、住址,其中崗位包括部門經(jīng)理和客服等,客戶信息主要包括:客戶ID、姓名、身份證號、電話、住址、賬戶余額。家電信息主要包括:家電條碼、家電名稱、價(jià)格、出廠日期、所屬商,家電廠商信息包括:廠商ID、廠商名稱、電話、法人代表信息、廠址。(2)電子商務(wù)公司根據(jù)銷售情況,由部門經(jīng)理向家電廠商訂購各類家電,每個(gè)家電廠商只能由一名部門經(jīng)理負(fù)責(zé)。(3)客戶通過瀏覽電子商務(wù)公司網(wǎng)站查詢家電信息,與客服溝通獲得優(yōu)惠后,在線購買。[概念模型設(shè)計(jì)]根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如下圖所示。[邏輯結(jié)構(gòu)設(shè)計(jì)]根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式[不完整]客戶(客戶ID、姓名、身份證號、電話、住址、賬戶余額)員工(工號、姓名、性別、崗位、身份證號、電話、住址)家電(家電條碼、家電名稱、價(jià)格、出廠日期、(1))家電廠商(廠商ID、廠商名稱、電話、法人代表信息、廠址、(2))購買(訂購單號、(3)、金額)【問題1】(5分)補(bǔ)充圖中的聯(lián)系和聯(lián)系的類型?!締栴}2】(5分)根據(jù)題干中的圖,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生成的關(guān)系模式中的空(1)-(3)補(bǔ)充完整,用下劃線指出?家電?、?家電廠商?和?購買?關(guān)系模式的主鍵?!締栴}3】(5分)電子商務(wù)公司的主營業(yè)務(wù)是銷售各類家電,對賬戶有余額的客戶,還可以聯(lián)合第二方基金公司提供理財(cái)服務(wù),為此設(shè)立客戶經(jīng)理崗位??蛻敉ㄟ^電子商務(wù)公司的客戶經(jīng)理和基金公司的基金經(jīng)理進(jìn)行理財(cái),每名客戶只有一名客戶經(jīng)理和一名基金經(jīng)理負(fù)責(zé),客戶經(jīng)理和基金經(jīng)理均可負(fù)責(zé)多名客戶。請根據(jù)該要求,對題干圖進(jìn)行修改,畫出修改后的實(shí)體間聯(lián)系和聯(lián)系的類型。答案:解析:[問答題]3.閱讀下列說明和C++代碼,回答問題,將答案填入相應(yīng)橫線處?!菊f明】某實(shí)驗(yàn)室欲建立一個(gè)實(shí)驗(yàn)室環(huán)境監(jiān)測系統(tǒng),能夠顯示實(shí)驗(yàn)室的溫度、濕度以及潔凈度等環(huán)境數(shù)據(jù)。當(dāng)獲取到最新的環(huán)境測量數(shù)據(jù)時(shí),顯示的環(huán)境數(shù)據(jù)能夠更新現(xiàn)在采用觀察者(observer)模式來開發(fā)該系統(tǒng),觀察者模式的類圖如下圖所示。?【C++代碼】#include<iostream>#include<vector>usingnamespacestd;classObserver{public:?virtualvoidupdate(floattemp,floathumidity,floatcleanness)=0;};classSubject{public:?virtualvoidregisterObserver(Observer*o)=0;//注冊對主題感興趣的觀察者?virtualvoidremoveObserver(Observer*o)=0;//刪除觀察者?virtualvoidnotifyObservers()=0;//當(dāng)主題發(fā)生變化時(shí)通知觀察者};classEnvironmentData:public(1)?{private:vector<Observer*>observers;floattemperature,humidity,cleanness;public:?voidregisterObserver(Observer*o){observers.push_back(o);}?voidremoveObserver(Observer*o){代碼省略*/}?voidnotifyObservers(){for(vector<Observer*>::const_iteratorit=observers.begin();it!=observers.end();it++){?(2);}}VoidmeasurementsChanged(){(3);}voidsetMeasurements(floattemperature,floathumidity,floatcleanness){?this->temperature=temperature;?this->humidity=humidity;?this->cleanness=cleanness;(4);?}};classCurrentConditionsDisplay:public(5){private:floattemperature,humidity,cleanness;?Subject*envData;public:?CurrentConditionsDisplay(Subject*envData){this->envData=envData;(6);}voidupdate(floattemperature,floathumidity,floatcleanness)?{this->temperature=temperature;?this->humidity=humidity;?this->cleanness=cleanness;?display();}voiddisplay(){代碼省略*/}};intmain(){?EnvironmentData*envData=newEnvironmentData();?CurrentConditionsDisplay*currentDisplay=newCurrentConditionsDisplay(envData);?envData->setMeasurements(80,65,30.4f);?return0;}答案:1、Subject[解析]當(dāng)主題中的環(huán)境發(fā)生變化,也就是調(diào)用measure-mentsChanged(),會通知觀察者,即調(diào)用notifyObservers(),在notifyObservers()方法中,觀查者會調(diào)用自身的up-date(floattemperature,floathumidity,floatcleanness)。在主題的registerObserver(Observe*o)中會注冊對主題感興趣的觀察者。2、(*it)->update(temperature,humidity,clean-ness)3、notifyObservers()4、measurementsChanged()5、Observer()6、this->envData->registerObserver(this)解析:[問答題]4.閱讀下列說明和圖,回答問題,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】某高校圖書館欲建設(shè)一個(gè)圖書館管理系統(tǒng),目前已經(jīng)完成了需求分析階段的工作,功能需求均使用用例進(jìn)行描述,其中用例?借書(CheckOut800ks)?的詳細(xì)描述如下。?參與者:讀者<Patron>?典型事件流:?1.輸入讀者ID:?2.確認(rèn)該讀者能夠借閱圖書,并記錄讀者ID;?3.輸入所要借閱的圖書ID;?4.根據(jù)圖書目錄中的圖書ID確認(rèn)該書可以借閱,計(jì)算歸還時(shí)間,生成借閱記錄;?5.通知讀者圖書歸還時(shí)間;?重復(fù)步驟3~5,直到讀者結(jié)束借閱圖書。?備選事件流:?2a.若讀者不能借閱圖書,說明讀者違反了圖書館的借書制度(例如,沒有支付借書費(fèi)用等)。?①告知讀者不能借閱,并說明拒絕借閱的原因;?②本用例結(jié)束。?4a.讀者要借閱的書無法外借。?①告知讀者本書無法借閱;?②回到步驟3。說明:圖書的歸還時(shí)間與讀者身份有關(guān)。如果讀者是教師,圖書可以借閱一年:如果是學(xué)生,則只能借閱3個(gè)月,讀者ID中包含讀者身份信息,現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng),得到如圖1所示的系統(tǒng)類模型(部分);以及如圖2所示的系統(tǒng)操作。?CheckOut(bookID)(借書)?通信圖?(或協(xié)作圖)?!締栴}1】(5分)根據(jù)說明中的描述,以及圖1和圖2,給出圖1中C1-C4處所對應(yīng)的類名(類名使用圖1和圖2中給出的英文詞匯)。【問題2】(5分)根據(jù)說明中的描述,以及圖1和圖2,給出圖2中M1-M4處所對應(yīng)的方法名(方法名使用圖1和圖2中給出的英文詞匯)?!締栴}3】(5分)用例?借書?的備選事件流4a中,根據(jù)借書制度來判定讀者能否借閱圖書,隨著圖書館的借書制度會不斷地?cái)U(kuò)充,并需要根據(jù)圖書館的實(shí)際運(yùn)行情況來調(diào)整具體使用哪些制度,為滿足這一要求,在原有類設(shè)計(jì)的基礎(chǔ)上,可以采用何種設(shè)計(jì)模式?簡要說明原因。答案:8、C1:PatronC2:BookC3:CatalogC4:CheckoutSes-sioncontro1Ier[解析]根據(jù)系統(tǒng)類模型,我們可以各個(gè)類之間的關(guān)聯(lián)關(guān)系。首先從類Accouts中的canCheckOut(patronID:string)方法,可以看出Accouts關(guān)聯(lián)Patron,因此圖中C1為Pa-tron。C1為Patron,則C1必會與書關(guān)聯(lián),從C1中的record-BookLoad(b,C2),可以看出C1關(guān)聯(lián)C2。因此C2為Book。C2為Book,根據(jù)系統(tǒng)操作checkOut的通信圖,可以看出與Book關(guān)聯(lián)的是Catalog,因此C3為Catalog。結(jié)合兩圖,則可以得出C4為chec-koutSessioncon-troller。9、M1():getforcheck(bookID)M2():isFacultyoM3():circulatesoM4():recordBookLoan[解析]結(jié)合典型事件流:1.輸入讀者ID;2.確認(rèn)該讀者能夠借閱圖書,并記錄讀者ID;以上兩步實(shí)際上就是判斷讀者是不是老師,也就是is-Faculty(),因此M2為isFaculty();3.輸入所要借閱的圖書ID;對應(yīng)的操作就是M1:get-{forcheck(bookID);4.根據(jù)圖書目錄中的圖書ID確認(rèn)該書可以借閱,計(jì)算歸還時(shí)間,生成借閱記錄;對應(yīng)的操作就是M3:circulates();5.通知者圖書歸還時(shí)間,對應(yīng)的操作就是M4:record-BookLoan()。10、應(yīng)采用策略模式,策略模式的優(yōu)勢在于可以靈活的添加對同一問題的不同處理方案,這與題目要求非常吻合。解析:[問答題]5.閱讀下列說明和C代碼,回答下列問題。[說明]?采用歸并排序?qū)個(gè)元素進(jìn)行遞增排序時(shí),首先將n個(gè)元素的數(shù)組分成各含n/2個(gè)元素的兩個(gè)子數(shù)組,然后用歸并排序?qū)蓚€(gè)子數(shù)組進(jìn)行遞歸排序,最后合并兩個(gè)已經(jīng)排序的子數(shù)組得到排序結(jié)果。?下面的C代碼是對上述歸并算法的實(shí)現(xiàn),其中的常量和變量說明如下:?arr:待排序數(shù)組?P,q,r:一個(gè)子數(shù)組的位置從P到q,另一個(gè)子數(shù)組的位置從q+1到r?begin,end:待排序數(shù)組的起止位量?left,right:臨時(shí)存放待合并的兩個(gè)子數(shù)組?n1,n2:兩個(gè)子數(shù)組的長度?i,j,k:循環(huán)變量?mid:臨耐變量?[C代碼]?#inciude<stdio,h>?#include<stdlib,h>?DefineMAX65536?voidmerge(intarr[],intp,intq,intr){?int*left,*right;?intn1,n2,I,j,k;?n1=q-p+1;?n2=r-q;?If(left=(int*)malloc((n1+1)*sizeof(int)))=NULL){?Perror("mallocerror");?exit11?}?If((right=(int*)malloc((n2+1)*sizeof(int)))=NULL)?Perror("mallocerror");?exit11;?}?for(i=0;i<n1;i++){?left[i]=arr[p+i];?}?left[i]=MAX;?for(i=0;i<n2;i++){?right[i]=arr[q+i+1]?}?right[i]=MAX;?i=0;j=0;?For(k=p;______;k++){?If(left[i]>right[j]{?______?j++;?}else{?arr[k1]=left[i];?i++;?}?}?}?VoidmergeSort(intarr[],intbegin,intend){?intmid;?if(______){?mid=(begin+end)/2;?mergeSort(arr,begin,mid);?______;?Merge(arr,begin,mid,end);?}?}答
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房產(chǎn)買賣合同模板(含房屋質(zhì)量保證)
- 非營利組織項(xiàng)目合同及信息化管理措施
- 2024年高效能源采購供應(yīng)合同
- 新能源技術(shù)研發(fā)保密合同協(xié)議
- 有機(jī)農(nóng)業(yè)生產(chǎn)基地建設(shè)合同
- 二零二五版寵物醫(yī)院獸醫(yī)國際合作與技術(shù)交流項(xiàng)目合同3篇
- 二零二五年度國際外匯交易遠(yuǎn)期合同
- 二零二五年度個(gè)人財(cái)富資金代管服務(wù)合同
- 二零二五年度舞蹈教育機(jī)構(gòu)合作框架合同
- 2025年度洗浴技師薪酬福利與勞動合同
- 肩袖損傷護(hù)理查房
- 迅雷網(wǎng)盤最最最全影視資源-持續(xù)更新7.26
- 設(shè)備運(yùn)維管理安全規(guī)范標(biāo)準(zhǔn)
- 辦文辦會辦事實(shí)務(wù)課件
- 大學(xué)宿舍人際關(guān)系
- 2023光明小升初(語文)試卷
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- GB/T 13234-2018用能單位節(jié)能量計(jì)算方法
- 申請使用物業(yè)專項(xiàng)維修資金征求業(yè)主意見表
- 房屋買賣合同簡單范本 房屋買賣合同簡易范本
- 無抽搐電休克治療規(guī)范
評論
0/150
提交評論