2014年下半年軟件設計師下午真題試卷_第1頁
2014年下半年軟件設計師下午真題試卷_第2頁
2014年下半年軟件設計師下午真題試卷_第3頁
2014年下半年軟件設計師下午真題試卷_第4頁
2014年下半年軟件設計師下午真題試卷_第5頁
已閱讀5頁,還剩10頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

2014 年下半年軟件設計師下午試卷試題一閱讀下列說明和圖,回答問題 1 至問題 3,將解答填入答題紙的對應欄內。【說明】某大型披薩加工和銷售商為了有效管理生產和銷售情況,欲開發一披薩信息系統,其主要功能如下:(1)銷售。處理客戶的訂單信息,生成銷售訂單,并將其記錄在銷售訂單表中。銷售訂單記錄了訂購者、所訂購的披薩、期望的交付日期等信息。(2)生產控制。根據銷售訂單以及庫存的披薩數量,制定披薩生產計劃(包括生產哪些披薩、生產順序和生產量等) ,并將其保存在生產計劃表中。(3)生產。根據生產計劃和配方表中的披薩配方,向庫存發出原材料申領單,將制作好的披薩的信息存入庫存表中,以便及時進行交付。(4)采購。根據所需原材料及庫存量,確定采購數量,向供應商發送采購訂單,并將其記錄在采購訂單表中;得到供應商的供應量,將原材料數量記錄在庫存表中,在采購訂單表中標記已完成采購的訂單。(5)運送。根據銷售訂單將披薩交付給客戶,并記錄在交付記錄表中。(6)財務管理。在披薩交付后,為客戶開具費用清單,收款并出具收據;依據完成的采購訂單給供應商支付原材料費用并出具支付細節;將收款和支付記錄存入收支記錄表中。(7)存儲。檢查庫存的原材料、拔薩和未完成訂單,確定所需原材料?,F采用結構化方法對披薩信息系統進行分析與設計,獲得如圖 1-1 所示的上下文數據流圖和圖 1-2 所示的 0 層數據流圖。圖 1-1 所示的上下文數據流圖圖 1-2 所示的 0 層數據流圖問題:1.1 根據說明中的詞語,給出圖 1-1 中的實體 E1E2 的名稱。問題:1.2 根據說明中的詞語,給出圖 1-2 中的數據存儲 D1D5 的名稱。問題:1.3 根據說明和圖中詞語,補充圖 1-2 中缺失的數據流及其起點和終點。參考答案:【問題 1】E1:客戶;E2:供應商【問題 2】D1:銷售訂單表;D2:庫存表;D3:生產計劃表;D4:配方表;D5:采購訂單表【問題 3】(1)數據流名稱:支付細節;起點:財務管理;終點:E2。(2)數據流名稱:銷售訂單;起點:銷售訂單表;終點:5 運送。(3)數據流名稱:生產計劃;起點:D3;終點: 3 生產。(4)數據流名稱:庫存量;起點:D2;終點:4 采購。(5)數據流名稱:原材料數量;起點:4 采購;終點:庫存表。(6)數據流名稱:未完成訂單;起點:銷售訂單表;終點:7 存儲。試題分析:本題考查數據流圖(DFD)應用于采用結構化方法進行系統分析與設計,是比較傳統的題目,要求考生細心分析題目中所描述的內容。DFD 是一種便于用戶理解、分析系統數據流程的圖形化建模工具,是系統邏輯模型的重要組成部分。1、本問題考查上下文數據流圖。上下文數據流圖一般用來建立初始的項目范圍的,將待開發系統看作一個加工,因此圖中只有唯一的一個處理和一些外部實體,以及這兩者之間的輸入輸出數據流。題目要求根據描述來確定圖中的外部實體。分析題目中的描述,病結合已經在上下文數據流圖中給出的數據流進行分析。從中可以看出,與系統的交互者包括客戶和供應商。其中,客戶下訂單,將訂單信息交付給系統,系統向供應商發送采購訂單,可知 E1 為客戶,E2 為供應商。2、本問題考查 0 層 DFD 中數據存儲的確定。根據說明中描述:(1)銷售。處理客戶的訂單信息,生成銷售訂單,并將其記錄在銷售訂單表中。銷售訂單記錄了訂購者、所訂購的披薩、期望的交付日期等信息;(2)生產控制。根據銷售訂單以及庫存的披薩數量,制定披薩生產計劃(包括生產哪些披薩、生產順序和生產量等) ,并將其保存在生產計劃表中;(3)生產。根據生產計劃和配方表中的披薩配方,向庫存發出原材料申領單,將制作好的披薩的信息存入庫存表中,以便及時進行交付;(4)采購。根據所需原材料及庫存量,確定采購數量,向供應商發送采購訂單,并將其記錄在采購訂單表中;得到供應商的供應量,將原材料數量記錄在庫存表中,在采購訂單表中標記已完成采購的訂單。3、本問題考查 0 層 DFD 中缺失的處理和數據流。從說明中的描述和圖 1=2(依據:保持父圖與子圖的平衡(經??迹?)可知:1、財務管理需依據完成的采購訂單給供應商支付原材料費用并出具支付細節;2、運送的主要作用為根據銷售訂單將披薩交付給客戶,并記錄在交付記錄表中;3、生產計劃按生產計劃表進行生產;4、庫存表傳輸庫存量進行采購;5、采購完傳輸原材料數量給庫存表;6、銷售訂單表存儲未完成訂單。試題二閱讀下列說明,回答問題 1 至問題 3,將解答填入答題紙的對應欄內?!菊f明】某集團公司在全國不同城市擁有多個大型超市,為了有效管理各個超市的業務工作,需要構建一個超市信息管理系統?!拘枨蠓治鼋Y果】(1)超市信息包括:超市名稱、地址、經理和電話,其中超市名稱唯一確定超市關系的每一個元組。每個超市只有一名經理。(2)超市設有計劃部、財務部、銷售部等多個部門,每個部門只有一名部門經理,有多名員工,每個員工只屬于一個部門。部門信息包括:超市名稱、部門名稱、部門經理和聯系電話。超市名稱、部門名稱唯一確定部門關系的每一個元組。(3)員工信息包括:員工號、姓名、超市名稱、部門名稱、職位、聯系方式和工資。其中,職位信息包括:經理、部門經理、業務員等。員工號唯一確定員工關系的每一個元組。(4)商品信息包括:商品號、商品名稱、型號、單價和數量。商品號唯一確定商品關系的每一個元組。一名業務員可以負責超市內多種商品的配給,一種商品可以由多名業務員配給。【概念模型設計】根據需求分析階段收集的信息,設計的實體聯系圖和關系模式(不完整)如下:【關系模式設計】超市(超市名稱,經理,地址,電話)部門( (a ) ,部門經理,聯系電話)員工( (b) ,姓名,聯系方式,職位,工資)商品(商品號,商品名稱,型號,單價,數量)配給( (c ) ,配給時間,配給數量,業務員)【問題 1】 (4 分)根據問題描述,補充四個聯系,完善圖 1-1 的實體聯系圖。聯系名可用聯系 1、聯系 2、聯系 3 和聯系 4 代替,聯系的類型分為 1:1、1:n和 m:n(或 1:1、1:*和*:*) ?!締栴} 2】 (7 分) (1)根據實體聯系圖,將關系模式中的空(a)(c )補充完整;(2)給出部門和配給關系模式的主鍵和外鍵?!締栴} 3】 (4 分) (1)超市關系的地址可以進一步分為郵編、省、市、街道,那么該屬性是屬于簡單屬性還是復合屬性?請用 100 字以內文字說明。(2)假設超市需要增設一個經理的職位,那么超市與經理之間的聯系類型應修改為 (d) ,超市關系應修改為(e) 。參考答案:【問題 1】【問題 2】(a)超市名稱,部門名稱主鍵:(超市名稱,部門名稱)外鍵:超市名稱,部門經理(b)員工號,超市名稱,部門名稱(c)商品號主鍵:(商品號,業務員,配給時間)外鍵:業務員,商品號【問題 3】(1)超市關系中的地址屬于復合屬性。所謂復合屬性就是指屬性中含有多種信息,可以進一步拆分的屬性,地址可以拆分成多個簡單屬性,符合這一特征。(2) (d)1:n (e )超市名稱,地址,電話試題分析:本題考察數據庫設計,屬于比較傳統的題目,考察點也與往年類似。1、本問題考察數據庫的概念結構設計,題目要求補充完整實體聯系圖中的聯系和聯系的類型。配給有商品號的屬性,其主鍵可為商品號,業務員,配給時間,外鍵有業務員,商品號。根據題目的需求描述可知:每個超市只有一名經理;超市設有計劃部、財務部、銷售部等多個部門,每個部門只有一名部門經理,有多名員工,每個員工只屬于一個部門。一名業務員可以負責超市內多種商品的配給,一種商品可以由多名業務員配給。故答案如上所示。2、本問題考察數據庫的邏輯結構設計,題目要求補充完整各關系模式,并給出部門和配給關系模式的主鍵和外鍵。根據實體聯系圖和需求描述,部門有超市名稱和部門名稱 的屬性,而超市名稱和部門名稱均唯一可作為主鍵。超市名稱和部門經理可作為外鍵。員工還有員工號、超市名稱和部門名稱等屬性;配給關系中也需要商品號這一屬性且為主鍵,主鍵包括了商品號、業務員和配給時間, 外鍵有業務員和商品號。3、本問題考察的是數據庫的概念結構設計,根據新增的需求增加實體聯系圖中的實體的聯系和聯系的類型。根據問題描述,超市關系的地址可以進一步分為郵編、省、市、街道,那么該屬性是屬于復合屬性,所謂復合屬性就是指屬性中含有多種信息,可以進一步拆分的屬性,地址可以拆分成多個簡單屬性,符合這一特征。超市增設一個經理的職位,則超市和經理的聯系類型變為 1 對多,即 1:n。超市關系應修改為超市名稱,地址,電話。試題三閱讀下列說明和圖,回答問題 1 至問題 3,將解答填入答題紙的對應欄內。【說明】某公司欲開發一個管理選民信息的軟件系統。系統的基本需求描述如下:(1)每個人(Person) 可以是一個合法選民 (Eligible)或者無效的選民(Ineligible)。(2)每個合法選民必須通過該系統對其投票所在區域(即選區,Riding)進行注冊( Registration)。每個合法選民僅能注冊一個選區。(3)選民所屬選區由其居住地址(Address)決定。假設每個人只有一個地址,地址可以是鎮(Town)或者城市(City) 。(4)某些選區可能包含多個鎮;而某些較大的城市也可能包含多個選區。現采用面向對象方法對該系統進行分析與設計,得到如圖 1-1 所示的初始類圖。圖 1-1 所示的初始類圖問題:3.1 根據說明中的描述,給出圖 1-1 中 C1C4 所對應的類名(類名使用說明中給出的英文詞匯) 。問題:3.2 根據說明中的描述,給出圖 1-1 中 M1 M6 處的多重度。問題:3.3 對該系統提出了以下新需求:(1)某些人擁有在多個選區投票的權利,因此需要注冊多個選區;(2)對于滿足(1)的選民,需要劃定其“主要居住地” ,以確定他們應該在哪個選區進行投票。為了滿足上述需求,需要對閣 3-1 所示的類圖進行哪些修改?請用 100 字以內文字說明。參考答案:【問題 1】C1:Address C2:Riding C3:IneligibleC4:Eligible【問題 2】M1:1,M2:*,M3:*,M4:1,M5:*,M6 :1?!締栴} 3】將 M1 與 M4 由 1,修改為 1.*。試題分析:本題考察在面向對象分析與設計過程中,如何利用類圖描述系統需求模型及設計模型??荚囆枰斫饷嫦驅ο蠓椒ǖ南嚓P概念和思想,并熟悉 UML 的語法及應用。類圖及用例圖是考試題中最多出現的兩種 UML 模型。(1)由需求 1 可知,Person 下面只有 Ineligible 和 Eligible,C3 為孤立點,C4還與其他類有關系,故 C3 為 Ineligible,C4 為 Eligible。Person 與 C1 的關系是lives at,故 C1 應為 Address,C2 為 Riding。(2)Address 與 Person 應為 1 對多,故 M1 為 1,M2 為*。Eligible 與 Riding的關系應為多對 1,則 M3 應為*,M4 應為 1。一個選區包含多個鎮,每個鎮多個地址,故 Address 與 Riding 的關系為多對 1。(3)由需求 1 可知,一個人可能有多個地址,則 M1 應改為 1.*。需求 2 表示合法選民與選區的關系也變為多對多,故 M4 也應改為 1.*。試題四閱讀下列說明和 C 代碼,回答問題 1 至問題 3,將解答寫在答題紙的對應欄內。【說明】計算一個整數數組 a 的最長遞增子序列長度的方法描述如下:假設數組 a 的長度為 n,用數組 b 的元素 bi記錄以 ai(0iint maxL(int*b, int n) int i, temp=0;for(i=0; itemp)temp=bi;return temp;int main() int n, a100, b100, i, j, len;scanf(%d, &n);for(i=0; in; i+) scanf(%d, &ai);(1);for(i=1; in; i+) for(j=0, len=0; (2) ; j+) if( (3) & lenbj) len=bj;(4) ;Printf(len:%dn, maxL(b,n);printf(n);【問題 1】 (8 分)根據說明和 C 代碼,填充 C 代碼中的空(1)(4) ?!締栴} 2】 (4 分) 根據說明和 C 代碼,算法采用了 (5) 設計策略,時間復雜度為 (6) (用 O 符號表示) 。【問題 3】 (3 分)已知數組 a=3,10,5,15,6,8,根據說明和 C 代碼,給出數組b 的元素值。參考答案:【問題 1】 (1)b0=1 (2 )j=i(3)aj=ai(4 )bi=len+1【問題 2】 (5)動態規劃法(6)O(n2)【問題 3】b=1,2,2,3,3,4試題分析:本題考察算法設計與分析技術以及算法的 C 語言實現,是比較傳統的題目,要求考生細心分析題目中所描述的內容。(1) 根據題中說明, b 數組記錄最長遞增子序列的長,故應初始化 b0=1,這是第一問的答案。初始 Len=0,接下來 a 中某個元素的值大于前面某個元素,則 len+1 放進 b,故第二問為 j=i,第三問為 aj=ai,第四問為 bi=len+1。(2)算法將待求解問題分解成若干個子問題,先求解子問題,然后從這些子問題的解得到原問題的解。使用的是動態規劃的思想。時間復雜度計算最壞情況下的運算次數,最壞情況時 i 和 j 都從 1 跑到 n,故運算 n 的平方次。算法的時間復雜度為 O(n2)。(3)初始 b0=1,a0=3 ,a1=10 進入時 b1=2,a2=5 進入時有 3、5 的序列故 b2=2, a3=15 進入時有 3、10、15,故子序列為 3,a4=6 時有子序列3、5、6,故為 3,當最后一個元素 8 進入時有 3、5、6、8,故 b5=4。所以b=1,2,2,3,3,4。試題六閱讀下列說明和 Java 代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。【說明】某燈具廠商欲生產一個燈具遙控器,該遙控器具有 7 個可編程的插槽,每個插槽都有開關燈具的開關,現采用 Command(命令)模式實現該遙控器的軟件部分。Command 模式的類圖如圖 1-1 所示?!綣ava 代碼】class Light public Light() public Light(String name) /* 代碼省略 */ public void on() /* 代碼省略 */ / 開燈public void off() /* 代碼省略 */ / 關燈/ 其余代碼省略 (1) public void execute();class LightOnCommand implements Command / 開燈命令Light light;public LightOnCommand(Light light) this.light=light; public void execute() (2) ; class LightOffCommand implements Command / 關燈命令Light light; public LightOffCommand(Light light) this.light=light; public void execute() (3) ; class RemoteControl / 遙控器Command onCommands=new Command7;Command offCommands=new Command7;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) (7) ;class RemoteLoader public static void main(String args) RemoteControl remoteControl=new RemoteControl();Light livingRoomLight=new Light(Living Room);Light kitchenLight=new Light(kitchen);LightOnCommand livingRoomLightOn=new LightOnCommand(livingRoomLight);LightOffCommand livingRoomLightOff=new LightOffCommand(l

溫馨提示

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

評論

0/150

提交評論