2025年上半年軟件設計師考試真題下午_第1頁
2025年上半年軟件設計師考試真題下午_第2頁
2025年上半年軟件設計師考試真題下午_第3頁
2025年上半年軟件設計師考試真題下午_第4頁
2025年上半年軟件設計師考試真題下午_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

年上六個月軟件設計師考試真題(下午)閱讀下列闡明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。【闡明】某巴士維修連鎖企業(yè)欲開發(fā)巴士維修系統(tǒng),以維護與維修有關的信息。該系統(tǒng)的重要功能如下:(1)記錄巴士ID和維修問題。巴士到車庫進行維修,系統(tǒng)將巴士基本信息和ID記錄在巴士列表文獻中,將待維修機械問題記錄在維修記錄文獻中,并生成維修訂單。(2)確定所需部件。根據(jù)維修訂單確定維修所需部件,并在部件清單中進行標識。(3)完畢維修。機械師根據(jù)維修記錄文獻中的待維修機械問題,完畢對巴士的維修,登記維修狀況;將機械問題維修狀況記錄在維修記錄文獻中,將所用部件記錄在部件清單中,并將所用部件清單發(fā)送給庫存管理系統(tǒng)以對部件使用狀況進行監(jiān)控。巴士司機可查看已維修機械問題。(4)記錄維修工時。將機械師提供的維修工時記錄在人事檔案中,將維修總結發(fā)送給主管進行績效考核。(5)計算維修總成本。計算部件清單中實際所用部件、人事檔案中所用維修工時的總成本;將維修工時和所用部件成本詳細信息給會計進行計費。現(xiàn)采用構造化措施對巴士維修系統(tǒng)進行分析與設計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。【問題1】(5分)使用闡明中的詞語,給出圖1-1中的實體E1~E5的名稱。【問題2】(4分)使用闡明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D4的名稱。【問題3】(3分)闡明圖1-2中所存在的問題。【問題4】(3分)根聽闡明和圖中術語,釆用補充數(shù)據(jù)流的方式,改正圖1-2中的問題。規(guī)定給出所補充數(shù)據(jù)流的名稱、起點和終點。二、閱讀下列闡明和圖,回答問題1至問題3,將解答填入答題紙的對應欄內。【闡明】某家電銷售電子商務企業(yè)擬開發(fā)一套信息管理系統(tǒng),以以便對企業(yè)的員工、家電銷售、家電廠商和客戶等進行管理?!拘枨蠓治觥浚?)系統(tǒng)需要維護電子商務企業(yè)的員工信息、客戶信息、家電信息和家電廠商信息等。員工信息重要包括:工號、姓名、性別、崗位、身份證號、電話、住址,其中崗位包括部門經(jīng)理和客服等??蛻粜畔⒅匾ǎ嚎蛻鬒D、姓名、身份證號、電話、住址、賬戶余額。家電信息重要包括:家電條碼、家電名稱、價格、出廠曰期、所屬廠商。家電廠商信息包括:廠商ID、廠商名稱、電話、法人代表信息、廠址。(2)電子商務企業(yè)根據(jù)銷售狀況,由部門經(jīng)理向家電廠商訂購各類家電。每個家電廠商只能由一名部門經(jīng)理負責。(3)客戶通過瀏覽電子商務企業(yè)網(wǎng)站查詢家電信息,與客服溝通獲得優(yōu)惠後,在線購置?!靖拍钅P驮O計】根據(jù)需求階段搜集的信息,設計的實體聯(lián)絡圖(不完整)如圖1-1所示?!具壿嫎嬙煸O計】根據(jù)概念模型設計階段完畢的實體聯(lián)絡圖,得出如下關系模式〔不完整):客戶(客戶ID、姓名、身份證號、電話、住址、賬戶余額)員工(工號、姓名、性別、崗位、身份證號、電話、住址)家電(家電條碼、家電名稱、價格、出廠曰期、(1))家電廠商(廠商ID、廠商名稱、電話、法人代表信息、廠址、(2))購置(訂購單號、(3)、金額)【問題1】(6分)補充圖1-1中的聯(lián)絡和聯(lián)絡的類型?!締栴}2】(6分)根據(jù)圖1-1,將邏輯構造設計階段生成的關系模式中的空(1)~(3)補充完整。用下劃線指出“家電”、“家電廠商”和“購置”關系模式的主鍵。【問題3】(3分)電子商務企業(yè)的主營業(yè)務是銷售各類家電,對賬戶有余額的客戶,還可以聯(lián)合第二方基金企業(yè)提供理財服務,為此設置客戶經(jīng)理崗位。客戶通過電子商務企業(yè)的客戶經(jīng)理和基金企業(yè)的基金經(jīng)理進行理財。每名客戶只有一名客戶經(jīng)理和一名基金經(jīng)理負責,客戶經(jīng)理和基金經(jīng)理均可負責多名客戶。請根據(jù)該規(guī)定,對圖1-1進行修改,畫出修改後的實體間聯(lián)絡和聯(lián)絡的類型。三、閱讀下列闡明和圖,回答問題1至問題3,將解答填入答題紙的對應欄內?!娟U明】某高校圖書館欲建設一種圖書館管理系統(tǒng),目前已經(jīng)完畢了需求分析階段的工作。功能需求均使用用例進行描述,其中用例“借書(CheckOutBooks)”的詳細描述如下。參與者:讀者(Patron)。經(jīng)典事件流:1.輸入讀者ID;2.確認該讀者可以借閱圖書,并記錄讀者ID;3.輸入所要借閱的圖書ID;4.根據(jù)圖書目錄中的圖書ID確認該書可以借閱,計算償還時間,生成借閱記錄;5.告知讀者圖書償還時間。反復環(huán)節(jié)3~5,直到讀者結束借閱圖書。備選事件流:2a.若讀者不能借閱圖書,闡明讀者違反了圖書館的借書制度(例如,沒有支付借書費用等)①告知讀者不能借閱,并闡明拒絕借閱的原因;②本用例結束。4a.讀者要借閱的書無法外借①告知讀者本書無法借閱;②回到環(huán)節(jié)3。闡明:圖書的償還時間與讀者的身份有關。假如讀者是教師,圖書可以借閱一年;假如是學生,則只能借閱3個月。讀者ID中包括讀者身份信息?,F(xiàn)采用面向對象措施開發(fā)該系統(tǒng),得到如圖3-1所示的系統(tǒng)類模型(部分);以及如圖3-2所示的系統(tǒng)操作“checkOut(bookID)(借書)”通信圖(或協(xié)作圖)?!締栴}1】(8分)根聽闡明中的描述,以及圖3-1和圖3-2,給出圖3-1中C1-C4處所對應的類名(類名使用圖3-1和圖3-2中給出的英文詞匯)?!締栴}2】(4分)根聽闡明中的描述,以及圖3-1和圖3-2,給出圖3-2中M1-M4處所對應的措施名(措施名使用圖3-1和圖3-2中給出的英文詞匯)。【問題3】(3分)用例“借書”的備選事件流4a中,根據(jù)借書制度來鑒定讀者能否借閱圖書。若圖書館的借書制度會不停地擴充,并需要根據(jù)圖書館的實際運行狀況來調整詳細使用哪些制度。為滿足這一規(guī)定,在原有類設計的基礎上,可以釆用何種設計模式?簡要闡明原因。四、閱讀下列闡明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應欄內?!娟U明】采用歸并排序對n個元素進行遞增排序時,首先將n個元素的數(shù)組提成各含n/2個元素的兩個子數(shù)組,然後用歸并排序對兩個子數(shù)組進行遞歸排序,最終合并兩個已經(jīng)排好序的子數(shù)組得到排序成果。下面的C代碼是對上述歸并算法的實現(xiàn),其中的常量和變量闡明如下:arr:待排序數(shù)組p,q,r:一種子數(shù)組的位置從p到q,另一種子數(shù)組的位置從q+1到rbegin,end:待排序數(shù)組的起止位置left,right:臨時寄存待合并的兩個子數(shù)組n1,n2:兩個子數(shù)組的長度i,j,k:循環(huán)變量mid:臨時變量【C代碼】#inciude<stdio.h>#inciude<stdlib.h>#defineMAX65536voidmerge(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");exit(1);}if((right=(int*)malloc((n2+1)*sizeof(int)))=NULL){perror("mallocerror");exit(1);}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;(1);k++){if(left[i]>right[j]){(2);j++;}else{arr[k]=left[i];i++;}}}voidmergeSort(intarr[],intbegin,intend){intmid;if((3)){mid=(begin+end)/2;mergeSort(arr,begin,mid);(4);merge(arr,begin,mid,end);}}【問題1】根據(jù)以上闡明和C代碼,填充1-4?!締栴}2】根據(jù)題干闡明和以上C代碼,算法采用了(5)算法設計方略。分析時間復雜度時,列出其遞歸式位(6),解出漸進時間復雜度為(7)(用O符號表達)??臻g復雜度為(8)(用O符號表達)。【問題3】兩個長度分別為n1和n2的已經(jīng)排好序的子數(shù)組進行歸并,根據(jù)上述C代碼,則元素之間比較次數(shù)為(9)。五、閱讀下列闡明和C++代碼,將應填入(n)處的字句寫在答題紙的對應欄內.【闡明】某試驗室欲建立一種試驗室環(huán)境監(jiān)測系統(tǒng),可以顯示試驗室的溫度、濕度以及潔凈度等環(huán)境數(shù)據(jù)。當獲取到最新的環(huán)境測量數(shù)據(jù)時,顯示的環(huán)境數(shù)據(jù)可以更新。目前采用觀測者(Observer)模式來開發(fā)該系統(tǒng)。觀測者模式的類圖如圖5-1所示。【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;//當主題發(fā)生變化時告知觀測者};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;}六、閱讀下列闡明和Java代碼,將應填入(n)處的字句卸載答題紙的對應欄內.【闡明】某試驗室欲建立一種試驗室環(huán)境監(jiān)測系統(tǒng),可以顯示試驗室的溫度、濕度以及潔凈度等環(huán)境數(shù)據(jù)。當獲取到最新的環(huán)境測量數(shù)據(jù)時,顯示的環(huán)境數(shù)據(jù)可以更新。目前采用觀測者(Observer)模式來開發(fā)該系統(tǒng)。觀測者模式的類圖如圖6-1所示?!綣ava代碼】importjav(6)A.util.*;interfaceObserver{publicvoidupdate(floattemp,floathumidity,floatcleanness);}interfaceSubject{publicvoidregisterObserver(Observero);//注冊對主題感愛好的觀測者publicvoidremoveObserver(Observero);//刪除觀測者publicvoidnotifyObservers(); //當主題發(fā)生變化時告知觀測者}classEnvironmentDataimplements(1){privateArrayListobservers;privatefloattemperature,humidity,cleanness;publicEnvironmentData(){observers=newArrayList();}publicvoidregisterObserver(Observero){observers.add(o);}publicvoidremoveObserver(Observero){/*代碼省略*/}publicvoidnotifyObservers(){for(inti=0;i<observers.size();i++){Observerobserver=(Observer)observers.get(i);(2);}}publicvoidmeasurementsChanged(){(3);}publicvoidsetMeasurements(floattemperature,floathumidity,floatcleanness){this.temperature=temperature;this.humidity=humidity;this.cleann

溫馨提示

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

評論

0/150

提交評論