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

下載本文檔

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

文檔簡介

1、2014 年下半年軟件設(shè)計師考試真題(下午)一、閱讀下列說明和圖,回答問題1至問題 3 ,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】某大型披薩加工和銷售商為了有效管理生產(chǎn)和銷售情況,欲開發(fā)一披薩信息系統(tǒng), 其主要功能如下:( 1)銷售。處理客戶的訂單信息,生成銷售訂單,并將其記錄在銷售訂單表中。銷售訂單 記錄了訂購者、所訂購的披薩、期望的交付日期等信息。( 2)生產(chǎn)控制。根據(jù)銷售訂單以及庫存的披薩數(shù)量,制定披薩生產(chǎn)計劃(包括生產(chǎn)哪些披 薩、生產(chǎn)順序和生產(chǎn)量等),并將其保存在生產(chǎn)計劃表中。( 3)生產(chǎn)。根據(jù)生產(chǎn)計劃和配方表中的披薩配方,向庫存發(fā)出原材料申領(lǐng)單,將制作好的 披薩的信息存入庫存表中,以便及

2、時進行交付。( 4)采購。根據(jù)所需原材料及庫存量,確定采購數(shù)量,向供應(yīng)商發(fā)送采購訂單,并將其記錄在采購訂單表中;得到供應(yīng)商的供應(yīng)量,將原材料數(shù)量記錄在庫存表中,在采購訂單表中標(biāo)記已完成采購的訂單。( 5)運送。根據(jù)銷售訂單將披薩交付給客戶,并記錄在交付記錄表中。( 6)財務(wù)管理。在披薩交付后,為客戶開具費用清單,收款并出具收據(jù);依據(jù)完成的采購 訂單給供應(yīng)商支付原材料費用并出具支付細節(jié);將收款和支付記錄存入收支記錄表中。( 7)存儲。檢查庫存的原材料、拔薩和未完成訂單,確定所需原材料?,F(xiàn)采用結(jié)構(gòu)化方法對披薩信息系統(tǒng)進行分析與設(shè)計,獲得如圖1-1 所示的上下文數(shù)據(jù)流圖和圖 1-2所示的 0層數(shù)據(jù)流

3、圖?!締栴} 1 】(4分)根據(jù)說明中的詞語,給出圖1-1中的實體 E1 E2 的名稱。【問題 2 】(5分)根據(jù)說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲 D1 D5 的名稱?!締栴} 3 】(6分)根據(jù)說明和圖中詞語,補充圖1-2 中缺失的數(shù)據(jù)流及其起點和終點。二、閱讀下列說明,回答問題1至問題 3 ,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某集團公司在全國不同城市擁有多個大型超市,為了有效管理各個超市的業(yè)務(wù)工作,需要構(gòu)建一個超市信息管理系統(tǒng)?!拘枨蠓治鼋Y(jié)果】( 1)超市信息包括:超市名稱、地址、經(jīng)理和電話,其中超市名稱唯一確定超市關(guān)系的每 一個元組。每個超市只有一名經(jīng)理。( 2)超市設(shè)有計劃部、財務(wù)

4、部、銷售部等多個部門,每個部門只有一名部門經(jīng)理,有多名 員工,每個員工只屬于一個部門。部門信息包括:超市名稱、部門名稱、部門經(jīng)理和聯(lián)系電話。超市名稱、部門名稱唯一確定部門關(guān)系的每一個元組。( 3)員工信息包括:員工號、姓名、超市名稱、部門名稱、職位、聯(lián)系方式和工資。其中,職位信息包括:經(jīng)理、部門經(jīng)理、業(yè)務(wù)員等。員工號唯一確定員工關(guān)系的每一個元組。( 4)商品信息包括:商品號、商品名稱、型號、單價和數(shù)量。商品號唯一確定商品關(guān)系的 每一個元組。一名業(yè)務(wù)員可以負責(zé)超市內(nèi)多種商品的配給,一種商品可以由多名業(yè)務(wù)員配給?!靖拍钅P驮O(shè)計】根據(jù)需求分析階段收集的信息,設(shè)計的實體聯(lián)系圖和關(guān)系模式(不完整)如下:

5、【關(guān)系模式設(shè)計】超市(超市名稱,經(jīng)理,地址,電話)部門(a) ,部門經(jīng)理,聯(lián)系電話)員工( (b) ,姓名,聯(lián)系方式,職位,工資) 商品(商品號,商品名稱,型號,單價,數(shù)量) 配給( (c) ,配給時間,配給數(shù)量,業(yè)務(wù)員)【問題 1 】(4 分)根據(jù)問題描述,補充四個聯(lián)系,完善圖1-1的實體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系 2、聯(lián)系 3和聯(lián)系 4代替,聯(lián)系的類型分為1:1 、1:n 和 m:n (或 1:1 、1:* 和*:* )。【問題 2 】(7 分)( 1)根據(jù)實體聯(lián)系圖,將關(guān)系模式中的空( a)( c)補充完整;( 2)給出部門和配給關(guān)系模式的主鍵和外鍵?!締栴} 3 】(4 分)( 1)

6、超市關(guān)系的地址可以進一步分為郵編、省、市、街道,那么該屬性是屬于簡單屬 性還是復(fù)合屬性?請用 100 字以內(nèi)文字說明。( 2)假設(shè)超市需要增設(shè)一個經(jīng)理的職位,那么超市與經(jīng)理之間的聯(lián)系類型應(yīng)修改 為 ( d) ,超市關(guān)系應(yīng)修改為 (e) 。三、閱讀下列說明和圖,回答問題1至問題 3 ,將解答填入答題紙的對應(yīng)欄內(nèi)。 【說明】某公司欲開發(fā)一個管理選民信息的軟件系統(tǒng)。系統(tǒng)的基本需求描述如下:(1)每個人 (Person)可以是一個合法選民 (Eligible)或者無效的選民(Ineligible)。( 2)每個合法選民必須通過該系統(tǒng)對其投票所在區(qū)域(即選區(qū),Riding )進行注冊 ( Registr

7、ation)。每個合法選民僅能注冊一個選區(qū)。( 3)選民所屬選區(qū)由其居住地址 (Address) 決定。假設(shè)每個人只有一個地址,地址可以是鎮(zhèn) (Town) 或者城市 (City) 。( 4)某些選區(qū)可能包含多個鎮(zhèn);而某些較大的城市也可能包含多個選區(qū)?,F(xiàn)采用面向?qū)ο蠓椒▽υ撓到y(tǒng)進行分析與設(shè)計,得到如圖1-1所示的初始類圖?!締栴}1】 (8 分)根據(jù)說明中的描述,給出圖1-1中 C1C4 所對應(yīng)的類名(類名使用說明中給出的英文詞匯)?!締栴} 2 】(3 分)根據(jù)說明中的描述,給出圖1-1中 M1M6 處的多重度。【問題 3 】(4 分)現(xiàn)對該系統(tǒng)提出了以下新需求:( 1)某些人擁有在多個選區(qū)投票的

8、權(quán)利,因此需要注冊多個選區(qū);( 2)對手滿足( 1)的選民,需要劃定其“主要居住地”,以確定他們應(yīng)該在哪個選區(qū) 進行投票。為了滿足上述需求,需要對圖 1-1 所示的類圖進行哪些修改?請用 100 字以內(nèi)文字說明。三、閱讀下列說明和 C 代碼,回答問題 1 至問題 3 ,將解答寫在答題紙的對應(yīng)欄內(nèi)。 【說明】 計算一個整數(shù)數(shù)組 a 的最長遞增子序列長度的方法描述如下:假設(shè)數(shù)組 a的長度為n,用數(shù)組 b的元素bi記錄以ai(0in)為結(jié)尾元素的最長遞增予序列的長度,則數(shù)組a的最長遞增子序列的長度為構(gòu),可遞歸定義為:;其中bi滿足最優(yōu)子結(jié)【 C 代碼】下面是算法的C 語言實現(xiàn)。( 1)常量和變量說明

9、 a:長度為 n的整數(shù)數(shù)組,待求其最長遞增子序列b:長度為 n的數(shù)組, bi記錄以 ai(0in) 為結(jié)尾元素的最長遞增子序列的長 度,其中0inlen :最長遞增子序列的長度i,j:循環(huán)變量temp:臨時變量( 2) C 程序 #include int maxL(int*b, int n)int i, temp=0;for(i=0; itemp)temp=bi; return temp; int main(4) int n, a100, b100, i, j, len; scanf(%d, &n); for(i=0; in;i+) scanf(%d, &ai); (1)for(i=1; in

10、; i+)for(j=0, len=0;(2) if(3)& lenlight=light; void execute() ( 2); ;class LightOffCommand:public Command /關(guān)燈命令private:Light*light;public:LightOffCommand(Light* light) this-light=light; void execute() ( 3); ;class RemoteControl / 遙控器private:Command*onCommands7;Command*offCommands7; public:RemoteCont

11、rol() /*代碼省略*/ void setCommand(int slot, Command* onCommand, Command* offCommand) ( 4)=onCommand;( 5)=offCommand;void onButtonWasPushed(int slot) ( 6); void offButtonWasPushed(int slot) ( 7); ;int main() RemoteControl* remoteControl=newRemoteControl(); Light* livingRoomLight=newLight(Living Room); L

12、ight* kitchenLight=newLight(kitchen);LightOnCommand* livingRoomLightOn=new LightOnCommand(livingRoomLight); LightOffCommand* livingRoomLightOff=newLightOffCommand(livingRoomLight); LightOnCommand* kitchenLightOn=new LightOnCommand(kitchenLight); LightOffCommand* kitchenLightOff=new LightOffCommand(k

13、itchenLight); remoteControl-setCommand(0, livingRoomLightOn, livingRoomLightOff); remoteControl-setCommand(1, kitchenLightOn, kitchenLightOff);remoteControl-onButtonWasPushed(0); remoteControl-offButtonWasPushed(0); remoteControl-onButtonWasPushed(1); remoteControl-offButtonWasPushed(1);/* 其余代碼省略 */

14、 return 0;五、閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。 【說明】某燈具廠商欲生產(chǎn)一個燈具遙控器,該遙控器具有7個可編程的插槽,每個插槽都有開關(guān)燈具的開關(guān),現(xiàn)采用Command(命令)模式實現(xiàn)該遙控器的軟件部分。 Command模式的類圖如圖1-1所示?!?Java 代碼】class Light public Light() public Light(String name) /*代碼省略*/ public void on() /* 代碼省略燈public void off() /* 代碼省略*/ */開關(guān)燈/ 其余代碼省略( 1)public void

15、 execute();class LightOnCommand implements Command /Light light;public LightOnCommand(Light light)開燈命令 this.light=light; public void execute() (2); class LightOffCommand implements Command /關(guān)燈命令Light light;public LightOffCommand(Light light) this.light=light; public void execute()( 3)class RemoteCon

16、trol / 遙控器CommandonCommands=newCommand7; Command offCommands=newCommand7; public RemoteControl() /*代碼省略*/ ; public void setCommand(int slot, Command onCommand, Command offCommand) ( 4) =onCommand;( 5) =offCommand;public void onButtonWasPushed(int slot) (6) ;public void offlButtonWasPushed(int slot)(

17、7) ;class RemoteLoader public static void main(String args) RemoteControl remoteControl=newRemoteControl(); Light livingRoomLight=newLight(Living Room); Light kitchenLight=newLight(kitchen);LightOnCommand livingRoomLightOn=new LightOnCommand(livingRoomLight); LightOffCommand livingRoomLightOff=new LightOffCommand(livingRoomLight); LightOnCommand kitchenLightOn=new LightOnCommand(kitchenLight); LightOffCommand kitchenLightOff=new LightOffCommand(kitchenLigh

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論