2016年下半年軟件設(shè)計(jì)師考試下午真題(試題與參考答案)_第1頁
2016年下半年軟件設(shè)計(jì)師考試下午真題(試題與參考答案)_第2頁
2016年下半年軟件設(shè)計(jì)師考試下午真題(試題與參考答案)_第3頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE1 / NUMPAGES152016年下半年軟件設(shè)計(jì)師考試下午真題(參考答案)試題部分1.閱讀下列說明,回答問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某證券交易所為了方便提供證券交易服務(wù),欲開發(fā)一證券交易平臺,該平臺的主要功能如下:(1)開戶。根據(jù)客戶服務(wù)助理提交的開戶信息,進(jìn)行開戶,并將客戶信息存入客戶記錄中,賬戶信息(余額等)存入賬戶記錄中;(2)存款??蛻艨梢韵蚱滟~戶中存款,根據(jù)存款金額修改賬戶余額;(3)取款??蛻艨梢詮钠滟~戶中取款,根據(jù)取款金額修改賬戶余額;(4)證券交易??蛻艉徒?jīng)紀(jì)人均可以進(jìn)行證券交易(客戶通過在線方式,經(jīng)紀(jì)人通過),將交易信息存入交易記錄中;(5

2、)檢查交易。平臺從交易記錄中讀取交易信息,將交易明細(xì)返回給客戶?,F(xiàn)采用結(jié)構(gòu)化方法對該證券交易平臺進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖?!締栴}1】(3分)使用說明中的詞語,給出圖1-1中的實(shí)體E1-E3的名稱。【問題2】(3分)使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1-D3的名稱。【問題3】(4分)根據(jù)說明和圖中的術(shù)語,補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)?!締栴}4】(5分)實(shí)際的證券交易通常是在證券交易中心完成的,因此,該平臺的“證券交易”功能需將交易信息傳遞給證券交易中心。針對這個(gè)功能需求,需要對圖1-1和圖1-2進(jìn)行哪些修改,請用200字

3、以內(nèi)的文字加以說明。2.閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某賓館為了有效地管理客房資源,滿足不同客戶需求,擬構(gòu)建一套賓館信息管理系統(tǒng),以方便賓館管理及客房預(yù)訂等業(yè)務(wù)活動?!拘枨蠓治鼋Y(jié)果】該系統(tǒng)的部分功能及初步需求分析的結(jié)果如下:(1)賓館有多個(gè)部門,部門信息包括部門號、部門名稱、經(jīng)理。每個(gè)部門可以有多名員工,每名員工只屬于一個(gè)部門;每個(gè)部門只有一名經(jīng)理,負(fù)責(zé)管理本部門。(2)員工信息包括員工號、XX、崗位、工資,其中,員工號唯一標(biāo)識員工關(guān)系中的一個(gè)元組,崗位有經(jīng)理、業(yè)務(wù)員。(3)客房信息包括客房號(如1301、1302等)、客房類型、收費(fèi)標(biāo)準(zhǔn)、入住狀態(tài)(已入

4、住未入?。渲锌头刻栁ㄒ粯?biāo)識客房關(guān)系中的一個(gè)元組,不同客房類型具有不同的收費(fèi)標(biāo)準(zhǔn)。(4)客戶信息包括客戶號、單位名稱、聯(lián)系人、聯(lián)系、,其中客戶號唯一標(biāo)識客戶關(guān)系中的一個(gè)元組。(5)客戶預(yù)訂客房時(shí),需要填寫預(yù)訂申請。預(yù)訂申請信息包括申請?zhí)?、客戶號、入住時(shí)間、入住天數(shù)、客房類型、客房數(shù)量,其中,一個(gè)申請?zhí)栁ㄒ粯?biāo)識預(yù)訂申請中的一個(gè)元組;一位客戶可以有多個(gè)預(yù)訂申請,但一個(gè)預(yù)訂申請對應(yīng)唯一的一位客戶。(6)當(dāng)客戶入住時(shí),業(yè)務(wù)員根據(jù)客戶的預(yù)訂申請負(fù)責(zé)安排入住客房事宜。安排信息包括客房號、XX、性別、XX號、入住時(shí)間、天數(shù)、,其中客房號、XX號和入住時(shí)間唯一標(biāo)識一次安排。一名業(yè)務(wù)員可以安排多個(gè)預(yù)訂申請,一

5、個(gè)預(yù)訂申請只由一名業(yè)務(wù)員安排,而且可安排多間同類型的客房。【概念模型設(shè)計(jì)】根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖如圖2-1所示?!娟P(guān)系模式設(shè)計(jì)】部門(部門號,部門名稱,經(jīng)理,)員工(員工號,(a),XX,崗位,工資)客戶(b),聯(lián)系人,聯(lián)系,)客房(客房號,客房類型,收費(fèi)標(biāo)準(zhǔn),入住狀態(tài))預(yù)訂申請(c),入住時(shí)間,天數(shù),客房類型,客房數(shù)量)安排(申請?zhí)?,客房號,XX,性別,(c),天數(shù),業(yè)務(wù)員)【問題1】(4分)根據(jù)問題描述,補(bǔ)充四個(gè)聯(lián)系,完善圖2-1,的實(shí)體聯(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】(8分

6、)(1)根據(jù)題意,將關(guān)系模式中的空(a)(d)補(bǔ)充完整,并填入答題紙對應(yīng)的位置上。(2)給出“預(yù)訂申請”和“安排”關(guān)系模式的主鍵和外鍵。【問題3】(3分)【關(guān)系模式設(shè)計(jì)】中的“客房”關(guān)系模式是否存在規(guī)X性問題,請用100字以內(nèi)文字解釋你的觀點(diǎn)(若存在問題,應(yīng)說明如何修改“客房”關(guān)系模式)。3.閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某種出售罐裝飲料的自動售貨機(jī)(VendingMachine)的工作過程描述如下:(1)顧客選擇所需購買的飲料及數(shù)量。(2)顧客從投幣口向自動售貨機(jī)中投入硬幣(該自動售貨機(jī)只接收硬幣)。硬幣器收集投入的硬幣并計(jì)算其對應(yīng)的價(jià)值。如果所投入的

7、硬幣足夠購買所需數(shù)量的這種飲料且飲料數(shù)量足夠,則推出飲料,計(jì)算找零,顧客取走飲料和找回的硬幣;如果投入的硬幣不夠或者所選購的飲料數(shù)量不足,則提示用戶繼續(xù)投入硬幣或重新選擇飲料及數(shù)量。(3)一次購買結(jié)束之后,將硬幣器中的硬幣移走(清空硬幣器),等待下一次交易。自動售貨機(jī)還設(shè)有一個(gè)退幣按鈕,用于退還顧客所投入的硬幣。已經(jīng)成功購買飲料的錢是不會被退回的?,F(xiàn)采用面向?qū)ο蠓椒ǚ治龊驮O(shè)計(jì)該自動售貨機(jī)的軟件系統(tǒng),得到如圖3-1所示的用例圖,其中,用例“購買飲料”的用例規(guī)約描述如下。參與者:顧客。主要事件流:1顧客選擇需要購買的飲料和數(shù)量,投入硬幣;2自動售貨機(jī)檢查顧客是否投入足夠的硬幣;3自動售貨機(jī)檢查飲料

8、儲存?zhèn)}中所選購的飲料是否足夠;4自動售貨機(jī)推出飲料;5自動售貨機(jī)返回找零。各選事件流:2a若投入的硬幣不足,則給出提示并退回到1;3a若所選購的飲料數(shù)量不足,則給出提示并退回到1。根據(jù)用例“購買飲料”得到自動售貨機(jī)的4個(gè)狀態(tài):“空閑”狀態(tài)、“準(zhǔn)備服務(wù)”狀態(tài)、“可購買”狀態(tài)以及“飲料出售”狀態(tài),對應(yīng)的狀態(tài)圖如圖3-2所示。所設(shè)計(jì)的類圖如圖3-3所示。【問題1】(6分)根據(jù)說明中的描述,使用說明中的術(shù)語,給出圖3-2中的S1S4所對應(yīng)的狀態(tài)名?!締栴}2】(4分)根據(jù)說明中的描述,使用說明中的術(shù)語,給出圖3-2中的E1E4所對應(yīng)的事件名【問題3】(5分)根據(jù)說明中的描述,使用說明中的術(shù)語,給出圖3-

9、3中C1C5所對應(yīng)的類名。4.閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應(yīng)欄內(nèi)?!菊f明】模式匹配是指給定主串t和子串s,在主串t中尋找子串s的過程,其中s稱為模式。如果匹配成功,返回s在t中的位置,否則返回-1。KMP算法用next數(shù)組對匹配過程進(jìn)行了優(yōu)化。KMP算法的偽代碼描述如下:1在串t和串s中,分別設(shè)比較的起始下標(biāo)i=j=0。2如果串t和串s都還有字符,則循環(huán)執(zhí)行下列操作:(1)如果j=-l或者ti=sj,則將i和j分別加1,繼續(xù)比較t和s的下一個(gè)字符;(2)否則,將j向右滑動到nextj的位置,即j=nextj。3如果s中所有字符均已比較完畢,則返回匹配的起始位置

10、(從1開始);否則返回-1其中,next數(shù)組根據(jù)子串s求解。求解next數(shù)組的代碼已由get_next函數(shù)給出。【C代碼】(1)常量和變量說明t,s:長度為憫鉑Is的字符串next:next數(shù)組,長度為Is(2)C程序#include#include#include/*求next的值*/voidget_next(int*next,char*s,intIs)inti=0,j=-1;next0=-1;/*初始化next0*/while(ils)/*還有字符*/if(j=-1llsi=sj)/*匹配*/j+;i+;if(si=sj)nexti=nextj;elseNexti=j;elsej=next

11、j;intkmp(int*next,char*t,char*s,intlt,intIs)Inti=0,j=0;while(i=ls)return(4);elsereturn-1;【問題1】(8分)根據(jù)題干說明,填充C代碼中的空(1)(4).【問題2】(2分)根據(jù)題干說明和C代碼,分析出kmp算法的時(shí)間復(fù)雜度為(5)(主串和子串的長度分別為It和Is,用O符號表示)?!締栴}3】(5分)根據(jù)C代碼,字符串“BBABBCA”C的next數(shù)組元素值為(6)(直接寫素值,之間用逗號隔開)。若主串為“AABBCBBABBCA”CCD,子串為“BBABBCA”C,則函數(shù)Kmp的返回值是(7)。5.閱讀下列說

12、明和C+-代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。【說明】某發(fā)票(lnvoice)由抬頭(Head)部分、正文部分和腳注(Foot)部分構(gòu)成。現(xiàn)采用裝飾(Decorator)模式實(shí)現(xiàn)打印發(fā)票的功能,得到如圖5-1所示的類圖。【C+代碼】#includeusingnamespacestd;classInvoicepublic:(1)coutThisisthecontentoftheinvoice!endl;classDecorator:publicInvoiceInvoice*ticket;public:Decorator(lnvoice*t)ticket=t;voidprintInv

13、oice()if(ticket!=NULL)(2);classHeadDecorator:publicDecoratorpublic:HeadDecorator(lnvoice*t):Decorator(t)voidprintInvoice()coutThisistheheaderoftheinvoice!endl;(3);classFootDecorator:publicDecoratorpublic:FootDecorator(Invoice*t):Decorator(t)voidprintlnvoice()(4);coutThisisthefootnoteoftheinvoice!end

14、l;intmain(void)Invoicet;FootDecoratorf(&t);HeadDecoratorh(&f);h.printInvoice();cout”類型-收費(fèi)標(biāo)準(zhǔn),存在傳遞函數(shù)依賴,所以冗余,添加異常,修改異常,刪除異常均存在。試題分析:fusional2016-11-17寫員工關(guān)系模式時(shí),應(yīng)該填部門號吧,應(yīng)為部門號才是主鍵,寫客戶關(guān)系模式時(shí),不需要寫申請?zhí)柡涂头刻柊?,?yīng)為客戶可以單獨(dú)存在,還有最后最后一問,不同的客房類型具有不同的收費(fèi)標(biāo)準(zhǔn),存在著數(shù)據(jù)曾與,及修改不一致的問題MegumiIsh2016-11-18答案已經(jīng)做了修改fusional2016-11-20老師,我寫

15、預(yù)定申請關(guān)系模式時(shí),我寫的是客戶號和申請?zhí)柡蜆I(yè)務(wù)員號,你們的答案是客戶號和申請?zhí)枴N抑麈I寫的是申請?zhí)?,外鍵是客戶號和業(yè)務(wù)員號。因?yàn)轭A(yù)定申請需要客戶申請,業(yè)務(wù)員處理。我記得哪年的真題和這個(gè)一樣的,不知道我的想法對不?flycity2016-11-25預(yù)定的環(huán)節(jié)沒有強(qiáng)調(diào)需要記錄業(yè)務(wù)員信息,所以不需要寫業(yè)務(wù)員號。在現(xiàn)實(shí)的設(shè)計(jì)中,根據(jù)需要,可寫業(yè)務(wù)員號,而在考試中,一般沒有強(qiáng)調(diào)需要這個(gè)信息,我們就不寫。fusional2016-11-29老師,那不是這個(gè)我得不到分了哦?flycity2016-12-02這個(gè)得看評分時(shí)嚴(yán)格程度了,一般來說,評分時(shí),看到合理答案但非標(biāo)準(zhǔn)答案,會組織閱卷老師進(jìn)行研討,研討之

16、后若大家覺得這種解決方案也可行,會把這種答法納入給分的X疇。3.參考答案:問題1:S1:空閑,S2:準(zhǔn)備服務(wù),S3:飲料出售,S4:可購買。問題2:E1:飲料數(shù)量不足,E2:硬幣數(shù)量足夠,E3:推出飲料,E4:返回找零。問題3:C1:自動售貨機(jī),C2:硬幣器,C3:飲料儲存?zhèn)},C4:硬幣,C5:飲料。試題分析:本題問題1系統(tǒng)中的狀態(tài)圖,是對狀態(tài)轉(zhuǎn)換的圖形化表達(dá)。從題目的說明部分可知,在狀態(tài)轉(zhuǎn)換過程中,涉及到的狀態(tài)一共有四種:空閑、準(zhǔn)備服務(wù)、可購買、飲料出售。從狀態(tài)圖涉及的轉(zhuǎn)換可知S1S4分別為:空閑、準(zhǔn)備服務(wù)、飲料出售、可購買。關(guān)于狀態(tài)轉(zhuǎn)換的分析如下:(1)清空硬幣器后,自動售貨機(jī)等待下一次交

17、易,進(jìn)入空閑狀態(tài)。此時(shí)可任意的進(jìn)行飲料選擇數(shù)量,一旦顧客投入硬幣,自動售貨機(jī)便進(jìn)入準(zhǔn)備服務(wù)狀態(tài)。(2)當(dāng)自動售貨機(jī)進(jìn)行準(zhǔn)備服務(wù)狀態(tài)時(shí),開始計(jì)算硬幣價(jià)值,如果硬幣不夠則提示顧客繼續(xù)投入硬幣。如果硬幣足夠,則進(jìn)入可購買狀態(tài)。(3)進(jìn)行可購買狀態(tài)后,自動售貨機(jī)判斷飲料數(shù)量。如果數(shù)量不夠,則返回準(zhǔn)備服務(wù)狀態(tài)提示用戶重新選擇飲料。如果數(shù)量足夠,則推出飲料進(jìn)入飲料出售狀態(tài)。(4)進(jìn)行飲料出售狀態(tài)后,自動售貨機(jī)計(jì)算找零,并返回進(jìn)入空閑狀態(tài)等待下一次交易。本題問題2主要是分析四種狀態(tài)中的跳轉(zhuǎn)事件。根據(jù)狀態(tài)圖和試題主要事件流的描述可以推出事件E1是飲料數(shù)量不足,事件E2是硬幣數(shù)量足夠,事件E3是推出飲料,事件E4是返回找零。本題問題3根據(jù)主要事件流的描述,可以推斷出C1C5的類名分別對應(yīng)自動售貨機(jī)、硬幣器、飲料儲存?zhèn)}、硬幣、飲料。4.參考答案:問題1:(1):jls;(2):ti=sj;(3):get_next(next,s,ls);j=nextj;(4):i+1-ls;問題2:問題3:(6):-1,-1,1,-1,-1,2,0,0,(7)6。試題分析:本題問題1根據(jù)KMP算法的偽代碼描述進(jìn)行推導(dǎo)。根據(jù)偽代碼中第2步

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論