中級軟件設(shè)計師下午試題-54_第1頁
中級軟件設(shè)計師下午試題-54_第2頁
中級軟件設(shè)計師下午試題-54_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、中級軟件設(shè)計師下午試題-54(總分:90.00,做題時間:90分鐘)一、B試題一 /B( 總題數(shù):1,分?jǐn)?shù):15.00)閱讀以下說明和流程圖,回答問題1和問題2,將解答寫在對應(yīng)欄內(nèi)。【說明】存在某鮮花批發(fā)系統(tǒng),系統(tǒng)中處理的信息單元有鮮花和客戶,對鮮花使用編號進(jìn)行唯一標(biāo)識,鮮花的具體 信息包括:名稱、顏色、等級。客戶包括鮮花種植商,鮮花經(jīng)銷商,客戶不使用編號,只需要名稱和地址。 系統(tǒng)功能如下所述。(1)當(dāng)系統(tǒng)統(tǒng)計銷存清單時發(fā)現(xiàn)某種鮮花當(dāng)前庫存數(shù)量少于指定最低庫存量時,向鮮花種植商發(fā)岀采購單, 訂單中要記錄所需鮮花的信息、數(shù)量、供應(yīng)商名稱和地址。(2)收到鮮花種植商的鮮花后,向系統(tǒng)錄入歸檔送貨單,

2、要記錄交易對應(yīng)的采購單和實際金額。(3)當(dāng)某種鮮花庫存數(shù)量大于或等于訂購數(shù)量時,接受鮮花經(jīng)銷商的訂貨單,并更新銷存清單,系統(tǒng)要求訂單中標(biāo)明鮮花的信息和經(jīng)銷商的信息。(4)鮮花經(jīng)銷商訂購的鮮花到達(dá)批發(fā)環(huán)節(jié)后,系統(tǒng)生成提貨單,包括鮮花信息和經(jīng)銷商信息,然后將提貨單發(fā)給經(jīng)銷商,等待提貨。(5)系統(tǒng)還要隨時可以接受管理人員對于銷售和庫存的查詢,并生成銷售與庫存情況表,提供給管理人員, 包括鮮花信息、本周銷售數(shù)量、庫存數(shù)量。現(xiàn)在假定頂層圖是正確的,客戶信息文件已經(jīng)存在并可使用。(分?jǐn)?shù):15.00 )(1).【問題1】完成下述文件格式:(分?jǐn)?shù):5.00 )正確答案:()解析:訂貨單=鮮花編號+ 名稱+顏色

3、+等級+數(shù)量+經(jīng)銷商名稱+地址銷存清單=鮮花編號+名稱+顏色+等級+ 本周銷售數(shù)量+當(dāng)前庫存數(shù)量+指定最低庫存數(shù)量(2).【問題2】指出哪張圖中的哪些文件不必畫出。(分?jǐn)?shù):5.00 ) 正確答案:()解析:0層圖中的“提貨單”和“采購訂單”不必畫出。(3).【問題3】指出在哪些圖中遺漏了哪些數(shù)據(jù)流?;卮饡r請用如下形式之一:XX圖中遺漏了 XX加工(或文件)流向XX加工(或文件)的XX數(shù)據(jù)流。XX加工XX遺漏了輸入(或輸出)數(shù)據(jù)流XX(分?jǐn)?shù):5.00)解析:加工1子圖中遺漏了“銷存清單”到 1.2加工的數(shù)據(jù)流。加工1子圖中1.2加工遺漏了 “采購請求” 輸岀數(shù)據(jù)流。解析數(shù)據(jù)流圖是下午考試的必考題

4、,描述說明和圖示內(nèi)容多,而且復(fù)雜,需要考生有充 分的理論掌握和分析能力。但可以發(fā)現(xiàn),這類題的岀題點和解答思路及方法還是比較固定的,只要考生經(jīng) 過一定的練習(xí),解答這類題會比較順利。對于數(shù)據(jù)流圖的基本知識,這里不再詳細(xì)講述,考生可參照相關(guān)書籍。這里只介紹岀題點,解答思路和方法。數(shù)據(jù)流圖基本岀題點有:(1)找岀缺少哪些輸入輸岀數(shù)據(jù)流。 找出哪張圖中的哪個文件不必畫出。(3)文件格式。 解答的總體原則是:(1)父圖與子圖的平衡。(2)輸入輸出數(shù)據(jù)流的平衡。(3)文件的隱蔽原則。具體解釋如下所述。(1)數(shù)據(jù)流圖的思想就是逐層細(xì)化,層層分解,父圖描述整體的信息,子圖描述特定的信息。所以,子圖應(yīng)該是父圖中某

5、個加工的分解,子圖 應(yīng)該能夠完整合并成父圖,即不能缺少父圖概括性表示的實際的完整信息。(2)打個比方,父圖是汽車,汽車有4個輪胎,現(xiàn)在將父圖中的一個加工一一底盤,生成子圖,這4個輪胎作為底盤與整車的連接,一個不能多,也一個不能少。所以,要嚴(yán)格遵守輸入輸岀數(shù)據(jù)流的平衡,仔細(xì)對照,找岀缺少或錯誤的數(shù)據(jù) 流。(3)如果,一個數(shù)據(jù)文件只是某個加工單獨使用的,那么這個數(shù)據(jù)文件就不應(yīng)該出現(xiàn)在父圖中,而應(yīng) 該只岀現(xiàn)于專門描述這個加工的子圖中,當(dāng)然,前提是這個數(shù)據(jù)文件的確對父圖沒有整體的實質(zhì)性影響。運用以上3個原則,加上仔細(xì)和耐心,是可以順利解答數(shù)據(jù)流圖的試題的。上述說明同樣適用于本套模擬題 其他同類試題,在

6、其他解析中不再復(fù)述,請考生注意?,F(xiàn)在分析本試題,問題1要求補(bǔ)充文件格式,這些文件是數(shù)據(jù)流圖中某個或某幾個加工使用的,一般在說明中都會直接給岀文件名稱和結(jié)構(gòu)描述,只要對應(yīng) 進(jìn)行填寫即可。 訂貨單是鮮花經(jīng)銷商向批發(fā)系統(tǒng)提交的,說明中已經(jīng)指岀要包括:鮮花信息、數(shù)量、客戶 信息。鮮花信息包括:鮮花編號、名稱、顏色、等級,客戶信息包括客戶姓名、地址。同理,可以得岀銷存清單的文件格式,注意,它包括本周銷售數(shù)量、現(xiàn)在庫存數(shù)量、指定最低庫存數(shù)量。問題2要指岀哪張圖中的哪些文件不必畫出。使用上面講述的原則,注意要從頂層開始,按照加工的分解,逐層細(xì)化。由于已知頂層圖假定正確,所以首先看0層圖,發(fā)現(xiàn)0層圖中的提貨單

7、和采購訂單是單個加工單獨使用的,是局部數(shù)據(jù)文件,根據(jù)數(shù)據(jù)隱蔽原則,這兩個數(shù)據(jù)文件不必在 0層圖中畫岀,只需要在對應(yīng)加工子圖中岀現(xiàn)。 繼續(xù)查看加工1子圖,發(fā)現(xiàn)岀現(xiàn)的文件都是共用文件,沒有局部數(shù)據(jù)文件。問題3是關(guān)于數(shù)據(jù)流的問題,應(yīng)該使用平衡原則。一是按照父圖與子圖的輸入輸岀逐條對應(yīng),第二是在子圖中確定子加工之間、子加工 與文件之間是否需要數(shù)據(jù)流,是否遺漏,以及方向。首先,可以比較容易地確認(rèn) 0層圖中沒有遺漏的數(shù)據(jù)流。結(jié)合0層圖和加工1子圖,發(fā)現(xiàn)缺少流向加工 2的“采購請求”輸出數(shù)據(jù)流,在給出的一系列子加工 中,按照處理流程逐個分析,可以得岀系統(tǒng)應(yīng)該在子加工1.2 “確定客戶訂單”后生成采購請求。同

8、理,子加工1.2 “確認(rèn)客戶訂單”要使用到銷存清單,以確認(rèn)合格訂貨單是否可以滿足,如果可以滿足,要生 成提貨單,不能滿足要生成采購單。所以遺漏了 “銷存清單”到加工1 . 2的輸岀數(shù)據(jù)流。二、B試題二/B( 總題數(shù):1,分?jǐn)?shù):15.00)閱讀以下說明,回答問題 1至問題3,將解答寫在對應(yīng)欄內(nèi)。【說明】下面是某醫(yī)院信息管理系統(tǒng)中需要的信息。 科室:科名、科地址、科電話、醫(yī)生姓名。 病房:病房號、床位號、所屬科室名。醫(yī)生:姓名、職稱、所屬科室名、年齡、工作證號。 病人:病歷號、姓名、性別、診斷、主管醫(yī)生、病房。其中,一個科室有多個病房,多個醫(yī)生,一個病房只能屬于一個科室,一個醫(yī)生只屬于一個科室,但

9、可以 負(fù)責(zé)多個病人的診治,一個病人的主管醫(yī)生只有一個。(分?jǐn)?shù):15.00 )(1).【問題1】畫出上述信息涉及的E R圖?!締栴}1】畫出上述信息涉及的E R圖(分?jǐn)?shù):5.00 )正確答案:()解析:E-R模型如下:.【問題2】將該E-R圖轉(zhuǎn)換為關(guān)系模型(分?jǐn)?shù):5.00) 正確答案:()解析:科室(科名,科地址,科電話):病房(病房號,床位號,科室名);醫(yī)生(工作證號,姓名,職稱, 科室名,年齡);病人(病歷號,姓名,性別,診治,主管醫(yī)生,病房號 );.【問題3】指出每個關(guān)系模式的候選碼。(分?jǐn)?shù):5.00) 正確答案:()解析:科室的候選碼是科名;病房的候選碼是病房名+床位號: 醫(yī)生的候選碼是工

10、作證號;病人的候選碼是病歷號。解析本題考查的是數(shù)據(jù)庫方面的知識。問題1解析 根據(jù)題意,可以得岀以下結(jié)論。有4個實體:科室、醫(yī)生、病房、病人。4個聯(lián)系:組成(科室與病房)、從屬(科室與醫(yī)生)、入?。ú》颗c病人)、診治(醫(yī)生與病人)。實體之間的聯(lián)系類型具體是:科室與病房的聯(lián)系是“一對多”;科室和醫(yī)生的聯(lián)系是“一對多”;病房和病人的聯(lián)系是“一對多”;醫(yī)生和病人的聯(lián)系是“一對多”。根據(jù)以上分析,可以畫出E-R模型。問題2解析根據(jù)上面的E-R圖和說明,可以得到4個關(guān)系模型結(jié)構(gòu),如下: 科 室(科名,科地址,科電話);病房(病房號,床位號,科室名):醫(yī)生(工作證號,姓名,職稱,科室名, 年齡);病人(病歷

11、號,姓名,性別,診治,主管醫(yī)生,病房號 ):問題3解析由科名就可以直接確認(rèn)科 室,沒有兩個科室共用一個科名;兩個醫(yī)生可能同名,但工作證號是唯一的,所以醫(yī)生的候選碼是工作證 號,同理,病人的候選碼是病歷號。病房里有多張床,這里病房是指一個實體,并不只是一個外觀上的屋 子,所以需要由“病房號,床位號”才能唯一確認(rèn)一個病房實體。三、B試題三/B( 總題數(shù):1,分?jǐn)?shù):15.00)閱讀以下說明,回答問題 1和問題2,將解答寫在對應(yīng)欄內(nèi)。【說明】一個野生動物園,有如下動物:老虎、豹、狼、丹頂鶴、鸚鵡、天鵝、金魚、熱帶魚、鱷魚等等。(分?jǐn)?shù):15.00 )(1).【問題1】依據(jù)說明,完成下面的類圖,要求第 1

12、層和第2層填寫標(biāo)識、主要屬性和操作, 第3層填寫標(biāo)識即可?!締栴}1】依據(jù)說明,完成下面的類圖,要求第 1層和第2層填寫標(biāo)識、主要屬性和操作, 第3層填寫標(biāo)識即可。(分?jǐn)?shù):7.50 )解析:(1)類1 名稱:動物 屬性:名稱,體重,壽命 操作:呼吸,進(jìn)食,運動 (2)類2 名 稱:哺乳類動物 屬性:四肢,哺乳期 操作:哺乳,胎生,用肺呼吸 (3)類6 名稱:老虎 類7 省略(4)類3 名稱:爬行類動物 屬性和操作:爬行類的屬性、操作特殊,難以表述,所以在該類中沒有特殊屬性和操作,繼承使用父類的屬性和操作。 (5)類8 名稱:鱷魚(6)類4 名稱:鳥類屬 性:羽毛,孵卵期 操作:飛行,唱歌,下蛋

13、(7)類9 名稱一丹頂鶴(8)類5 名稱:魚類 屬 性:腮,鰭操作:游泳,用腮呼吸 (9)類11 名稱:熱帶魚(2) .【問題 2】UML規(guī)定類圖中類之間的關(guān)系有關(guān)聯(lián)、聚集、繼承,請說明它們的含義和之間的 區(qū)別。(分?jǐn)?shù): 7.50 ) 正確答案: ()解析:關(guān)聯(lián)是類之間的語義聯(lián)系,代表類的實例 (對象)之間的一組連接。 聚集是一種特殊的二元關(guān)聯(lián),它 指出類間的“整體部分”關(guān)系,是關(guān)聯(lián)的特例。例如汽車是整體,輪胎是部分。繼承指出類間的“一般特殊”關(guān)系。例如,電視是特殊類,家用電器是一般類。 解析 面向?qū)ο蟮幕舅枷刖褪菍ο笥^念,如抽象與繼承。從一些對象中總結(jié)出共同的屬性和操作,作為父類,具體對象

14、作為子類繼承父類,在內(nèi)部 繼承并實現(xiàn)共同的操作,并增加自己特殊的屬性和方法。試題給出的類圖已經(jīng)給出了一些提示,第 3 層應(yīng)該是提到的具體動物,它們被分了類,第 2層應(yīng)該是這種分類的表示。那么,第 1 層的基類又是這種分類 的總結(jié)。 具體分析過程這里不詳細(xì)描述,考生結(jié)合面向?qū)ο蟮臅胬斫?。四、B 試題四 /B( 總題數(shù): 1,分?jǐn)?shù): 15.00)1. 【說明】 應(yīng)用Prim算法求解連通網(wǎng)絡(luò)的最小生成樹問題。請閱讀程序后填空。const int Maxlnt = INTMAX /INT MAX 的值在v limits . h中 const int n = 6; / 圖的頂點數(shù),應(yīng)由用戶定義 t

15、ypedef int AdjMatrixnn; / 用二維數(shù)組作為鄰接矩陣表示 typedef struct / 生成樹的邊結(jié)點 int fromVex,to Vex;/ 邊的起點與終點 int weight ;/ 邊上的權(quán)值 TreeEdSenode;typedef TreeEdgeNode MSTn-1 ; /最小生成樹定義 void PrimMST (AdjMatrix G ,MST T int rt) / 從頂點rt出發(fā)構(gòu)造圖 G的最小生成 樹 T,rt 成為樹的根結(jié)點 TreeEdgeNode e ; int i ,k=0,min,minpos,v; for(i =0;i vn;i+

16、) / 初始化最小生成樹 T if(i! =rt) Tk . fromVex=rt ;U (1) /U ; Tk+.weight = Grti ; for(k = 0; k v n-1 ; k+) / 依次求 MST的候選邊U/U; for(i = k; i v n-1 ; i+)八遍歷當(dāng)前候選邊集合 if(Ti.weight vmin) / 選具有最小權(quán)值的候選邊 min =Ti . weight ; U (3) /U ; if(min =MaxInt) / 圖不連通,出錯處理 cerr vv“Graph is disconnected! ”vv endl ; exit(1) ; e=Tmi

17、npos ;Tminpos =Tk ;U (4) /U; v=Tk.to Vex; for(i =k+1;ivn-1;i+) / 修改候選邊集合 if(GvTi.to Vex v Ti.weight) Ti .weight = GvTi.toVex ;U (5) /U; (分?jǐn)?shù): 15.00 ) 正確答案: ()解析: 解析 (1)Tk.toVex=i 樹 n 邊的入度點。 (2)min =MaxInt 最小值變量初始化。 (3)minpos =i最小值結(jié)點的位置。 (4)Tk=e; Tminpos 與 Tk 交換。 (5)Ti. fromVex =v 候選邊的出度點。五、B 試題五 /B(

18、總題數(shù): 1,分?jǐn)?shù): 15.00)2. 【說明】設(shè)單鏈表的結(jié)點類和鏈表類的定義如下, 鏈表不帶有表頭結(jié)點。請?zhí)羁眨?#include viostream .h> #include vassert .h> template vclass T> class List ; template v class T> class ListNOde friend U(1) /U; private : T data ; ListNode v T> *link ; public : ListNode() : link(NULL)()ListNOde(const T& ite

19、m , ListNOde vT>*next =NULL) :data(item) ,link(next) ;template vclass T>class List private : ListNode vT>*first; void createList(T A,int n ,int i , ListNOdev T> *&p) ; void printList(ListNOdev T> *p) ; public : List();List() ; friend ostream& operatorvv (ostream& ost,List

20、vT>&L); friend istream& operator >>(istream& ist ,List vT>&L); ; template vclass T > istream& operator >>(istream& ist ,List vT>&1) int i,n; ist >>n; TAn ; for(i= 0 ; i < n; i+)U(2) /U ; createList(A , n, 0, first) ; template < class T&

21、gt; void List< T>: createList(TA, int n , int i , ListNOde < T> *& p) /私有函數(shù):遞歸調(diào)用建立單鏈表 if(i = n)p = NULL; else p = new ListNode < T> (Ai); assert(p != NULL);createList(U (3) /U); template < class T > ostream& operator << (ostream& ost,List<T>& L) U(

22、4) /U; template <class T > void List<T>: printList(ostream& ostListNode < T> *p) if(p!= NULL) ost << p->data; U (5) /U; (分?jǐn)?shù): 15.00 ) 正確答案: ()解析: 解析 (1)class List < T> 模板類< class T > class List 必須聲明為模板類< class T > class ListNode 的友元類,這樣模板類< class T

23、> class List 的所有成員函數(shù)都可以直接訪問模板類< class T >class ListNode的私有成員。(2)ist >> Ai重載友元函數(shù)>>,從輸入流對象ist讀取具有n個值的數(shù)組 A ,調(diào)用成員函數(shù) createList 建立鏈表 L。 (3)A, n, i+1, p->link 遞歸成員函數(shù) createList , 根據(jù)給定的具有 n 個值的數(shù)組 A ,建立以指針 p 為頭指針的單鏈表。 (4)printList(ost , first) 重載 友元函數(shù)<<,將 first 鏈表輸出到輸出流對象 ost ,

24、調(diào)用成員函數(shù) printList 實現(xiàn)。 (5)printList(p- >link) 遞歸成員函數(shù) printLisk ,輸出以指針 p 為頭指針的鏈表各結(jié)點所包含的數(shù)據(jù)到輸出流對象 ost 中。六、B 試題六 /B( 總題數(shù): 1,分?jǐn)?shù): 15.00)3. 【說明】本程序 ExceptionTester 實現(xiàn)功能:讀入兩個整數(shù),第 1 個數(shù)除以第 2 個數(shù),之后輸出。若第2 個數(shù)為 0,則自動進(jìn)行異常處理。 程序如下: U (1) /U ; public class ExceptionTester publicstatic void main(String i=0; i<2; i+) validargs) int result ; =U (2) /U;int number = new int2 while(!valid) try Systemboolean valid ; for(int out println("Enternumber"+(i+1) ; numberi=Integer valueOf(Keyboard getString() true ; catch(NumberFormatExceptione)Systemoutprintln("Inval

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論