版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2016年下半年軟件設計師考試 下午真題(試題及參考答案)試題部分1.閱讀下列說明,回答問題1至問題4,將解答填 入答題紙的對應欄內。【說明】某證券交易所為了方便提供證券交易服務,欲開 發(fā)一證券交易平臺,該平臺的主要功能如下:(1)開戶。根據(jù)客戶服務助理提交的開戶信息, 進行開戶,并將客戶信息存入客戶記錄中,賬戶 信息(余額等)存入賬戶記錄中;(2)存款??蛻艨梢韵蚱滟~戶中存款,根據(jù)存 款金額修改賬戶余額;(3)取款。客戶可以從其賬戶中取款,根據(jù)取 款金額修改賬戶余額;(4)證券交易??蛻艉徒?jīng)紀人均可以進行證券 交易(客戶通過在線方式,經(jīng)紀人通過電話), 將交易信息存入交易記錄中;(5)檢查交
2、易。平臺從交易記錄中讀取交易信息,將交易明細返回給客戶?,F(xiàn)采用結構化方法對該證券交易平臺進行分析與設計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和 圖1-2所示的0層數(shù)據(jù)流圖si-i上下文數(shù)拆流圉E3 遼券交縣晴衆(zhòng)*證券交易(電話11-2 0層數(shù)據(jù)流蔓【問題1】(3分)使用說明中的詞語,給出圖 1-1中的實體E1-E3的名稱【問題2】(3分)使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1-D3的名稱?!締栴}3】(4分)根據(jù)說明和圖中的術語,補充圖1-2中缺失的 數(shù)據(jù)流及其起點和終點。【問題4】(5分)實際的證券交易通常是在證券交易中心完成的, 因此,該平臺的“證券交易”功能需將交易信息 傳遞給證券交
3、易中心。針對這個功能需求,需要 對圖1-1和圖1-2進行哪些修改,請用200字以 內的文字加以說明。2.閱讀下列說明,回答問題1至問題3,將解答填 入答題紙的對應欄內。【說明】某賓館為了有效地管理客房資源,滿足不同客戶 需求,擬構建一套賓館信息管理系統(tǒng),以方便賓 館管理及客房預訂等業(yè)務活動?!拘枨蠓治鼋Y果】該系統(tǒng)的部分功能及初步需求分析的結果如下:(1 )賓館有多個部門,部門信息包括部門號、 部門名稱、電話、經(jīng)理。每個部門可以有多名員 工,每名員工只屬于一個部門;每個部門只有一 名經(jīng)理,負責管理本部門。(2) 員工信息包括員工號、姓名、崗位、電話、 工資,其中,員工號唯一標識員工關系中的一個
4、元組,崗位有經(jīng)理、業(yè)務員。(3) 客房信息包括客房號(如1301、1302等)、 客房類型、收費標準、入住狀態(tài)(已入住/未入 住),其中客房號唯一標識客房關系中的一個元組,不同客房類型具有不同的收費標準。(4) 客戶信息包括客戶號、單位名稱、聯(lián)系人、 聯(lián)系電話、聯(lián)系地址,其中客戶號唯一標識客戶 關系中的一個元組。(5) 客戶預訂客房時,需要填寫預訂申請。預 訂申請信息包括申請?zhí)?、客戶號、入住時間、入 住天數(shù)、客房類型、客房數(shù)量,其中,一個申請 號唯一標識預訂申請中的一個元組; 一位客戶可 以有多個預訂申請,但一個預訂申請對應唯一的 一位客戶。(6) 當客戶入住時,業(yè)務員根據(jù)客戶的預訂申 請負責
5、安排入住客房事宜。安排信息包括客房 號、姓名、性別、身份證號、入住時間、天數(shù)、 電話,其中客房號、身份證號和入住時間唯一標 識一次安排。一名業(yè)務員可以安排多個預訂申 請,一個預訂申請只由一名業(yè)務員安排, 而且可 安排多間同類型的客房?!靖拍钅P驮O計】根據(jù)需求階段收集的信息,設計的實體聯(lián)系圖如 圖2-1所示。|刪|部門|客戶員工言鳥業(yè)務員1預訂申請圉實體聯(lián)系関【關系模式設計】部門(部門號,部門名稱,經(jīng)理,電話) 員工(員工號,Ua一_),姓名,崗位,電話,工資)客戶(b ),聯(lián)系人,聯(lián)系電話,聯(lián) 系地址)客房(客房號,客房類型,收費標準,入住狀 態(tài))預訂申請(c),入住時間,天數(shù),客房類型,客房
6、數(shù)量)安排(申請?zhí)?,客房號,姓名,性別,(c),天數(shù),電話,業(yè)務員)【問題1】(4分)根據(jù)問題描述,補充四個聯(lián)系,完善圖2-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】(8分)(1)根據(jù)題意,將關系模式中的空(a)(d) 補充完整,并填入答題紙對應的位置上。(2)給出“預訂申請”和“安排”關系模式的 主鍵和外鍵。【問題3】(3分)【關系模式設計】中的“客房”關系模式是否 存在規(guī)范性問題,請用100字以內文字解釋你的 觀點(若存在問題,應說明如何修改“客房”關 系模式)。閱讀下列說明,
7、回答問題1至問題3,將解答填 入答題紙的對應欄內?!菊f明】某種出售罐裝飲料的自動售貨 機.(Vending Machine )的工作過程描述如下:(1)顧客選擇所需購買的飲料及數(shù)量。(2) 顧客從投幣口向自動售貨機中投入硬幣(該自動售貨機只接收硬幣)。硬幣器收集投入 的硬幣并計算其對應的價值。如果所投入的硬幣 足夠購買所需數(shù)量的這種飲料且飲料數(shù)量足夠, 則推出飲料,計算找零,顧客取走飲料和找回的 硬幣;如果投入的硬幣不夠或者所選購的飲料數(shù) 量不足,則提示用戶繼續(xù)投入硬幣或重新選擇飲 料及數(shù)量。(3) 一次購買結束之后,將硬幣器中的硬幣 移走(清空硬幣器),等待下一次交易。自動售 貨機還設有一個
8、退幣按鈕,用于退還顧客所投入 的硬幣。已經(jīng)成功購買飲料的錢是不會被退回 的?,F(xiàn)采用面向對象方法分析和設計該自動售貨機 的軟件系統(tǒng),得到如圖3-1所示的用例圖,其中, 用例“購買飲料”的用例規(guī)約描述如下。參與者:顧客。主要事件流:1 顧客選擇需要購買的飲料和數(shù)量,投入 硬幣;2自動售貨機檢查顧客是否投入足夠的硬 幣;3自動售貨機檢查飲料儲存?zhèn)}中所選購的 飲料是否足夠;4自動售貨機推出飲料;5自動售貨機返回找零。各選事件流:2a.若投入的硬幣不足,則給出提示并退回 到1;3a.若所選購的飲料數(shù)量不足,則給出提示 并退回到1。根據(jù)用例“購買飲料”得到自動售貨機的 4 個狀態(tài):“空閑”狀態(tài)、“準備服務
9、”狀態(tài)、“可 購買”狀態(tài)以及“飲料出售”狀態(tài),對應的狀態(tài) 圖如圖3-2所示。所設計的類圖如圖3-3所示。計笄找爭圖頭2狀志圖圏類圏ri【問題11( 6分)根據(jù)說明中的描述,使用說明中的術語,給出 圖3-2中的S1S4所對應的狀態(tài)名?!締栴}21 (4分)根據(jù)說明中的描述,使用說明中的術語,給出 圖3-2中的E1E4所對應的事件名【問題3】(5分)根據(jù)說明中的描述,使用說明中的術語,給出圖3-3中C1C5所對應的類名。4.閱讀下列說明和C代碼,回答問題1至問題3, 將解答寫在答題紙的對應欄內?!菊f明】模式匹配是指給定主串t和子串s,在主串 t中尋找子串s的過程,其中s稱為模式。如果 匹配成功,返回
10、s在t中的位置,否則返回-1。KMP算法用next數(shù)組對匹配過程進行了優(yōu) 化。KMP算法的偽代碼描述如下:1. 在串t和串s中,分別設比較的起始下標 i=j=O。2. 如果串t和串s都還有字符,則循環(huán)執(zhí)行 下列操作:(1)如果j=-l或者ti=sj,則將i 和 j分別加1,繼續(xù)比較t和s的下一個字符;(2)否則,將j向右滑動到nextj的位置, 即 j =nextj。3. 如果s中所有字符均已比較完畢,則返回 匹配的起始位置(從1開始);否則返回-1.其中,next數(shù)組根據(jù)子串s求解。求解next 數(shù)組的代碼已由get_next函數(shù)給出?!綜代碼】(1) 常量和變量說明t, s:長度為憫鉑Is
11、的字符串next:next數(shù)組,長度為Is(2) C程序#in elude #in elude #in elude /* 求 next的值 */void get_ next( int *n ext, char *s, i nt Is) int i=0 , j=-1;next0=-1;/* 初始化 next0*/ while(i ls)/* 還有字符 */ if(j=-1l lsi=sj)/* 匹配 */j+;i+;if( si=sj)n exti = n extj;elseNexti = j;elsej = nextj;int kmp( int *n ext, char *t ,char *s
12、, int It, int Is ) Int i= 0,j =0 ;while (i = ls)return ;elsereturn -1;【問題1】(8分)根據(jù)題干說明,填充C代碼中的空(1)(4).【問題2】(2分)根據(jù)題干說明和C代碼,分析出kmp算法的時 間復雜度為(5)(主串和子串的長度分別為 It 和Is,用0符號表示)?!締栴}3】(5分)根據(jù)C代碼,字符串“BBABBCAC的next數(shù)組 元素值為(6)(直接寫素值,之間用逗號隔開)。 若主串為“AABBCBBABBCACCD ,子串為“ BBABBCAC,則函數(shù)Kmp的返回值是(7)。5.閱讀下列說明和C+-代碼,將應填入 (n
13、)處 的字句寫在答題紙的對應欄內?!菊f明】某發(fā)票(lnvoice)由抬頭(Head)部分、正 文部分和腳注(Foot )部分構成?,F(xiàn)采用裝飾(Decorator)模式實現(xiàn)打印發(fā)票的功能,得到 如圖5-1所示的類圖。園51類圖【C+代碼】#in elude using n amespace std;class In voicepublic:-(1)coutThisis the content of thein voice!e ndl;class Decorator : public In voice In voice *ticket;public:Decorator(l nvoice *t) t
14、icket = t void printinvoice() if(ticket != NULL)(2);class HeadDecorator : public Decorator public:HeadDecorator(l nvoice*t): Decorator(t) void printInvoice() cout This is the header of the in voice! en dl;(3);class FootDecorator : public Decorator public:FootDecorator( In voice *t): Decorator(t) voi
15、d prin tl nvoice()(4);cout This is the foot note of the in voice! en dl;int main (void) In voice t FootDecorator f(&t); HeadDecorator h(&f);h.pri ntI nvoice();coutvv ” ” endl;FootDecorator a(NULL);HeadDecorator b(5);b.pri ntI nvoice();return 0;程序的輸出結果為:This is the header of the in voice!This is the
16、content of the in voice!This is the foot note of the in voice!This is the header of the in voice!This is the foot note of the in voice!6.閱讀下列說明和java代碼,將應填入 (n)處 的字句寫在答題紙的對應欄內。【說明】某發(fā)票(In voice)由抬頭(Head)部分、正 文部分和腳注(Foot )部分構成。現(xiàn)采用裝飾(Decorator)模式實現(xiàn)打印發(fā)票的功能,得到 如圖6-1所示的類圖。6-1類囹【java代碼】class in voicepublic
17、void printin voice()System.out.println( This is thecontent of the in voice!);class Decorator exte nds In voice protected In voice ticke t;public Decorator(l nvoice t)ticket = tpublic void print In voice() if(ticket != null)(1 ;class HeadDecorator exte nds Decorator public HeadDecorator( In voice t)
18、super(t);public void printin voice ()Systent.out.println(This is theheader of the in voice!);class FootDecorator exte nds Decorator public FootDecorator(I nvoice t) super(t);public void printin voice();Systent.out.println( This is the foot note of the in voice!);Class test public static void main( S
19、tri ng args)In voice t =new In vioce();In voice ticke t;ticket= ;ticket.pri ntI nvoice();Syste nt.out.pri ntl n(-“ “);ticket= ;ticket.pri ntI nvoice();程序的輸出結果為:This is the header of the in voice!This is the content of the in voice!This is the foot note of the in voice!This is the header of the in vo
20、ice!This is the foot note of the in voice!1.參考答案:參考答案問題1 E1 : 紀人。問題2 D1 : 易記錄。問題3 數(shù)據(jù)流名稱:客戶服務助理,E2:客戶,E3:經(jīng)客戶記錄,D2 :賬戶記錄,D3:交修改賬戶余額,起點:存款,終點:D2。數(shù)據(jù)流名稱:修改賬戶余額,起點:取款,終點:D2。數(shù)據(jù)流名稱:交易信息存入交易記錄(在線) 起點:證券交易(在線),終點:D3。數(shù)據(jù)流名稱:交易信息存入交易記錄(電話)起點:證券交易(電話),終點:D3。問題4圖1增加外部實體“證券交易中心”,增加“證 券交易平臺”到“證券交易中心”,數(shù)據(jù)流:交 易信息圖2增加外部
21、實體“證券交易中心”,增加“證 券交易(在線)“到“證券交易中心”,數(shù)據(jù)流: 交易信息圖2增加“證券交易(電話)“到“證券交易中 心”,數(shù)據(jù)流:交易信息試題分析:本題問題1要求識別E1-E3具體為哪個外部實 體,通讀試題說明,可以了解到適合充當外部實 體的包括:客戶、客戶服務助理、經(jīng)記人。具體 的對應關系,可以通過將頂層圖與題目說明進行 匹配得知。如:從圖中可看出 E1會向交易平臺 發(fā)出數(shù)據(jù)流“開戶信息”;而從試題說明“根據(jù) 客戶服務助理提交的開戶信息, 進行開戶,并將 客戶信息存入客戶記錄中,賬戶信息存入賬戶記 錄中”可以看出,E1對應是客戶服務助理。E2、 E3同理可得。本題問題2要求識別
22、存儲,解決這類問題,以圖 的分析為主,配合說明給存儲命名,因為存儲相 關的數(shù)據(jù)流一般展現(xiàn)了這個存儲中到底存了些 什么信息,如從圖中可以看到D1中有客戶信息, 而D2中有賬戶信息,題目說明中又有“根據(jù)客 戶服務助理提交的開戶信息,進行開戶,并將客 戶信息存入客戶記錄中,賬戶信息存入賬戶記錄 中?!弊匀籇1應為客戶記錄,D2應為賬戶記錄。 同理,D3為交易記錄。問題3分析: 缺失數(shù)據(jù)流1 名稱:修改賬戶余額,起點:存款,終點:D2。理由:從試題說明“客戶可以向其賬戶中存款, 根據(jù)存款金額修改賬戶余額”可以看出,這個功 能有操作“根據(jù)存款金額修改賬戶余額”。據(jù)此 可以了解到從該功能應有數(shù)據(jù)流“存款”
23、至D2, 而0層圖沒有。缺失數(shù)據(jù)流2:名稱:修改賬戶余額,起點:取款,終點:D2。理由:從試題說明“客戶可以從其賬戶中取款, 根據(jù)取款金額修改賬戶余額”可以看出,這個功 能有操作“根據(jù)取款金額修改賬戶余額”。據(jù)此 可以了解到從該功能應有數(shù)據(jù)流“取款”至D2, 而0層圖沒有。缺失數(shù)據(jù)流3-4名稱:交易信息存入交易記錄,起點:證券交易 (分為在線與電話),終點:D3。理由:從試題說明“客戶和經(jīng)紀人均可以進行證 券交易,將交易信息存入交易記錄中”可以看出, 這個功能有操作“將交易信息存入交易記錄中”。 據(jù)此可以了解到從該功能應有數(shù)據(jù)流“證券交 易”至D3,而0層圖沒有。fusio nal2016-1
24、1-18存貯的時候,客戶記錄我寫得客戶記錄表,賬戶 記錄,我寫得賬戶記錄表,對不對Megumilsh 2016-11-20沒有影響的2.參考答案:問題1:1、經(jīng)理與部門 之間 存在1:1的聯(lián)系2、部門與員工 之間 存在1:n的聯(lián)系。3、客戶與預訂申請 之間 存在1:n的聯(lián)系。4、業(yè)務員、客房、預訂申請之間存在1:m:n的 聯(lián)系。問題2:(a)部門號。(b)客戶號、單位名稱(c)申請?zhí)枴⒖蛻籼?。(d)身份證號、入住時間?!邦A訂申請”關系模式中的主鍵是申請?zhí)?,外鍵 是申請?zhí)枴⒖蛻籼??!鞍才拧标P系模式中的主鍵是:(客房號、身份 證號、入住時間),外鍵是:申請?zhí)?、客房號?業(yè)務員。問題3:根據(jù)試題中的
25、描述,客房信息中客房號是唯一標 識客房關系的一個元組,即可以作為唯一的主 鍵。在客房關系模式中,不存在其他部分依賴關 系,但客戶號-類型-收費標準,存在傳遞函數(shù) 依賴,所以冗余,添加異常,修改異常,刪除異 常均存在。fusio nal2016-11-17寫員工關系模式時,應該填部門號吧,應為部門 號才是主鍵,寫客戶關系模式時,不需要寫申請 號和客房號吧,應為客戶可以單獨存在,還有最 后最后一問,不同的客房類型具有不同的收費標 準,存在著數(shù)據(jù)曾與,及修改不一致的問題Megumilsh 2016-11-18答案已經(jīng)做了修改fusio nal2016-11-20老師,我寫預定申請關系模式時,我寫的是
26、客戶 號和申請?zhí)柡蜆I(yè)務員號,你們的答案是客戶號和 申請?zhí)?。我主鍵寫的是申請?zhí)枺怄I是客戶號和 業(yè)務員號。因為預定申請需要客戶申請,業(yè)務員 處理。我記得哪年的真題和這個一樣的,不知道我的想法對不?flycity 2016-11-25預定的環(huán)節(jié)沒有強調需要記錄業(yè)務員信息,所以 不需要寫業(yè)務員號。在現(xiàn)實的設計中,根據(jù)需要,可寫業(yè)務員號,而 在考試中,一般沒有強調需要這個信息,我們就 不寫。fusio nal 2016-11-29老師,那不是這個我得不到分了哦?flycity 2016-12-02這個得看評分時嚴格程度了,一般來說,評分時, 看到合理答案但非標準答案,會組織閱卷老師進 行研討,研討之后若大家覺得這種解決方案也可 行,會把這種答法納入給分的范疇。3.參考答案:問題1: S1:空閑,S2:準備服務,S3:飲料出 售,S4:可購買。問題2: E1 :飲料數(shù)量不足,E2:硬幣數(shù)量足夠,E3 :推出飲料,E4:返回找零。問題3: C1:自動售貨機,C2:硬幣器,C3: 飲料儲存?zhèn)},C4:硬幣,C5:飲料。試題分析:本題問題1系統(tǒng)中的狀態(tài)圖,是對狀態(tài)轉換的圖 形化表達。從題目的說明部分可知,在狀態(tài)轉換 過程中,涉及到的狀態(tài)一共有四種:空閑、準備 服務、可購買、飲料出售。從狀態(tài)圖涉
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《珠寶玉石教程》課件
- 車輛租賃協(xié)議三篇
- 人力資源行業(yè)員工福利顧問工作總結
- 2003年海南高考語文真題及答案
- 水利行業(yè)的保安工作總結
- 2023-2024年企業(yè)主要負責人安全培訓考試題附答案【培優(yōu)】
- 2023年-2024年項目部安全培訓考試題【易錯題】
- 1000字的貧困申請書范文5篇
- 開題答辯概覽
- 電灼傷護理查房
- 調味料生產(chǎn)工藝流程圖
- 2023北師大版六年級上冊數(shù)學期末試卷(共8套)
- 企業(yè)的涉稅風險
- 武漢大學抬頭信簽紙
- 新人教版七年級下冊生物每課知識點總結
- 印刷作業(yè)指導書
- 2022年農(nóng)業(yè)示范基地建設工作總結
- 硬筆書法比賽方案精選
- 火力發(fā)電廠山谷型干貯灰場設計
- 柳宗元毛筆楷書字帖
- 電伴熱帶熱計算表xls
評論
0/150
提交評論