uml補考練習(xí)匯總_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  UML補考練習(xí)匯總</b></p><p>  1、請根據(jù)本學(xué)期的課程,結(jié)合實際軟件開發(fā)過程,歸納出使用面向?qū)ο蠹夹g(shù)進行項目開發(fā),需要開展哪些活動,你認為最關(guān)鍵的活動是什么?(A卷考過)</p><p>  用例模型:用例文本和用例圖(1分)</p><p>  領(lǐng)域模型分析:領(lǐng)域模型(1分)</p>

2、<p>  用例順序圖分析:用例順序圖(1分)</p><p>  類圖建模:類圖(1分)</p><p>  最關(guān)鍵的活動是領(lǐng)域建模。(1分)</p><p>  2、“老師說要迭代開發(fā),真是有道理。我決定在我們的項目組實施迭代開發(fā),第一迭代先做需求,第二個迭代做分析,第三個迭代做設(shè)計….”,這句話正確嗎?為什么?</p><p&g

3、t;  不對(2分),每次迭代都是一次軟件開發(fā)完整的過程,不是按步驟的每次迭代完成不同的任務(wù)(3分)。</p><p>  3、假設(shè)要構(gòu)造一個和用戶下棋的游戲系統(tǒng),哪些UML圖對設(shè)計該游戲有幫助?為什么?(A卷考過)</p><p>  答:用例圖、類圖、順序圖(交互圖)(2分),用例圖可以歸納游戲系統(tǒng)需要完成的功能需求,類圖分析了系統(tǒng)需要的類,及其承擔(dān)職責(zé),刻畫了系統(tǒng)的靜態(tài)結(jié)構(gòu)。使用順序

4、圖可以對具體場景的交互進行動態(tài)建模。理解系統(tǒng)的內(nèi)部的交互過程。(3分)。</p><p>  4、在用例模型中,除了需要繪制用例圖,最重要的是為每個用例編寫用例文本,用例文本當(dāng)中常有:主要參與者、涉眾及其關(guān)注點、前置條件、后置條件、主成功場景、擴展場景、特殊需求等部分。阿呆比較笨,老是搞不清。請你告訴他那個部分最重要,解釋該部分含義,并說明重要理由。</p><p>  主成功場景 場

5、景里面有對話功能,交互過程</p><p>  5、根據(jù)下列代碼片斷,畫圖說明已經(jīng)創(chuàng)建的類的數(shù)據(jù)成員及類間的關(guān)系。(要求:如有關(guān)聯(lián)需要標(biāo)明關(guān)聯(lián)的方向、角色名和多重性)</p><p><b>  [代碼]</b></p><p>  ▲6、通信圖和順序圖都是交互圖,阿呆不明白什么時候用通信圖,什么時候用順序圖。請你為他解釋順序圖和通信圖的優(yōu)點和

6、缺點。</p><p>  順序圖和通信圖的優(yōu)缺點:順序圖對工具的支持更好,并有更多有效的表示法,可以更方便地表示調(diào)用流的順序,并且在文檔化方面更勝一籌。而通信圖則必須查閱順序編號,在墻上繪制“ UML草圖”時利用通信圖易于修改更具空間效用,而順序圖在墻上繪制(或窄幅紙張)時不如通信圖方便。</p><p>  7、Monopoly游戲中,由誰來創(chuàng)建Square對象比較合適?阿呆發(fā)現(xiàn)類圖中

7、有兩個類都可以承擔(dān)此職責(zé):MonopolyGame和Board。他有點迷糊不知道該選那個比較好。請你幫他選一個,并解釋理由。</p><p>  因為square是被包含關(guān)系,被包含于board</p><p>  所以由board來創(chuàng)建</p><p>  ▲8、阿呆剛學(xué)過GRASP設(shè)計原則,覺得很不錯,于是準(zhǔn)備應(yīng)用在設(shè)計的選課系統(tǒng)中,系統(tǒng)有課程類,課程類的實例包

8、含某門課程的具體信息。阿呆就想,依據(jù)信息專家的原則,那么,該由課程對象把課程信息存入到數(shù)據(jù)庫中。但是項目經(jīng)理告訴他這樣做不好。阿呆想不通,請你詳細為阿呆解釋一下,這樣做有什么壞處,應(yīng)該如何處理。(A卷考過)</p><p>  壞處:高內(nèi)聚,低耦合,冗余高;</p><p>  應(yīng)該虛構(gòu)一個類來幫助解決</p><p><b>  參考P213 <

9、/b></p><p>  將課程信息存入數(shù)據(jù)庫的職責(zé)分配給課程類會造成課程類與數(shù)據(jù)庫接口類的耦合,面向數(shù)據(jù)庫的操作與實際的課程類無關(guān),使得課程類非內(nèi)聚,不利于數(shù)據(jù)庫操作的復(fù)用,其它類也存在保存對象的職責(zé)。</p><p>  在某些情況下,專家模式建議的方法并不好,這是由于耦合與內(nèi)聚問題所產(chǎn)生的。專家會建議由課程對象把課程信息存入到數(shù)據(jù)庫中,那么按照這個決定進行邏輯推理,每個類都應(yīng)

10、當(dāng)把自身保存到數(shù)據(jù)庫中。但這樣會導(dǎo)致內(nèi)聚,耦合,及冗余方面的問題,例如現(xiàn)在課程類必須包含于數(shù)據(jù)庫處理相關(guān)的邏輯,如SQL和JDBC相關(guān)的處理邏輯。因此,課程類由于存在其他職責(zé)而降低了它的內(nèi)聚,這個類必須與其他子系統(tǒng)的數(shù)據(jù)服務(wù)進行耦合,會使得耦合度上升。這樣會導(dǎo)致大量持久性類中重復(fù)出現(xiàn)類似的數(shù)據(jù)庫邏輯,有大量的冗余。</p><p>  所以這樣的做法違反了基本架構(gòu)原則,應(yīng)將應(yīng)用邏輯和數(shù)據(jù)庫邏輯放置不同一處,而不是

11、在同一構(gòu)件中把不同的系統(tǒng)關(guān)注混合起來。因此,按照專家模式,該由課程對象把課程信息存入到數(shù)據(jù)庫中是合理的,但由于其他原因,會使得我們最終得出不佳的設(shè)計</p><p>  9、請你詳細說明一下領(lǐng)域模型與設(shè)計類圖的相同點及不同點。</p><p>  相同點 領(lǐng)域模型是沒有方法的類圖的集合</p><p>  不同點 領(lǐng)域模型只有屬性無類型無方法 類圖包括類名,屬性,操

12、作</p><p>  10下圖是一個“涉稅服務(wù)管理效能管理系統(tǒng)”中類模型的一個局部,請根據(jù)該圖回答以下問題。在描述“稅務(wù)審批服務(wù)申請”時,它主要包含哪幾個方面的內(nèi)容?它有幾種不同的類別?(A卷考過)</p><p>  1:三個指向他的“申請”</p><p><b>  2:4個被它指向的</b></p><p> 

13、 11 POS系統(tǒng)中,當(dāng)顧客以支付貨款時,需要計算出支付余額。阿呆發(fā)現(xiàn)類圖中有兩個類都可以承擔(dān)此職責(zé):Sale和Payment。他有點迷糊不知道該選那個比較好。請你幫他選一個最佳方案,并解釋理由。</p><p>  選SALE,因為SALE只需要一條線連接到paymant,而payment卻需要兩條連接到SALE</p><p>  根據(jù)內(nèi)聚耦合原理,應(yīng)當(dāng)選擇SALE(A卷考過)<

14、/p><p>  ▲12搬了新家,阿呆決定去申請安裝ADSL,他到營業(yè)廳填好單,和證件一起交給營業(yè)員。營業(yè)員查看阿呆的證件,接過單子開始操作電腦。如果站在營業(yè)員身后,會看見營業(yè)員打開一個“受理”菜單,選擇“ADSL”,彈出一個帶有好多個Tab的框框,營業(yè)員嗶哩叭啦把數(shù)據(jù)輸進去,然后讓阿呆設(shè)置一個服務(wù)密碼,又過一陣,營業(yè)員遞出單子,告訴阿呆回家等,施工人員一天內(nèi)就到。阿呆高興的出門。營業(yè)員嘆了一口氣,想“又弄完一個”…

15、…</p><p>  考慮營業(yè)員的“ADSL業(yè)務(wù)受理系統(tǒng)”,根據(jù)上述信息,分析下面所列對象或事件歸屬那一類別,并在表中填寫。(注意,所列的對象或事件有可能屬于多個類別,也有可能都不屬于任何一類,多填或少填都不得分,涉眾填不全扣一分)</p><p>  對象或事件:阿呆營業(yè)員設(shè)置密碼施工人員受理ADSL申請安裝ADSL “受理”菜單</p><p> 

16、 類別:主參與者 輔助參與者用例涉眾</p><p>  13狀態(tài)圖是為某個對象的狀態(tài)和事件以及響應(yīng)事件的行為的建模。下面的普通電話機的狀態(tài)圖,技術(shù)經(jīng)理已經(jīng)使用狀態(tài)圖對其詳細建模,但阿呆不小心把圖弄模糊了,請你幫忙補充完整。(狀態(tài)及事件名可以中文表示)</p><p>  14請根據(jù)下列代碼片斷,畫出設(shè)計類圖。注意類,類的屬性和方法以及類之間關(guān)聯(lián),關(guān)聯(lián)的導(dǎo)航性、多重性或是角色名。&

17、lt;/p><p>  15.下面是航空公司系統(tǒng)的部分類模型,模型里的類都是需要持久存儲的對象。請你為阿呆設(shè)計一個將該類圖映射為關(guān)系數(shù)據(jù)庫中的表的方案。即數(shù)據(jù)庫中該有用那些表存儲這些類的數(shù)據(jù),這些表該有那些列。(表的主鍵外鍵要說明)(A卷考過)</p><p>  Airline(Alid,name,symbol)</p><p>  Employee(idcard,n

18、ame,ALID)</p><p>  Pilot(idcard,fightRating)</p><p>  FightAssistant(idcard)</p><p>  Flight(fightNum,data,PilotID,copiloted,AlID)</p><p>  AttendantAssignment(fightNum

19、,idcard)</p><p>  16 請說明領(lǐng)域模型中要展示內(nèi)容(三個方面),并根據(jù)下面描述繪制出汽車公司調(diào)度管理系統(tǒng)的領(lǐng)域模型。(A卷考過無答案)</p><p>  阿呆開設(shè)了一家汽車公司專門為學(xué)生服務(wù),公司擁有40輛汽車,服務(wù)對象是1600個學(xué)生。汽車日常行駛的路線有30條。每條路線上設(shè)有許多站牌,學(xué)生們可在這些地方上下車。公司雇傭了20個全職的司機和30個兼職的司機。汽車公司

20、設(shè)有一個調(diào)度員,專門負責(zé)司機和路線的安排。公司經(jīng)常會收到學(xué)生或家長們對司機的投訴。如果投訴的情況相當(dāng)嚴(yán)重,司機有可能會被停職甚至被解雇</p><p>  17根據(jù)以下Java源程序片斷繪制出doPayroll函數(shù)實現(xiàn)的順序圖。</p><p>  20我家超級市場是大型的連鎖零售商場,銷售各類商品,超市的收銀員使用POS收銀系統(tǒng)處理用戶的銷售。請問收銀員是處于POS收銀系統(tǒng)的邊界外還是邊

21、界內(nèi)?為什么?</p><p>  21詳細解釋下列消息。(說明消息名稱、參數(shù)、返回值等)</p><p> ?。?)2:display(x,y)</p><p>  (2)1.3.1: p:=find(specs) </p><p> ?。?)[x<0]4:invert(x,color) </p><p>  

22、(4)3.1 *:update()</p><p> ?。?)1:create(p,4)</p><p>  22 請說明領(lǐng)域模型中要展示內(nèi)容(三個方面),根據(jù)下面描述繪制出領(lǐng)域模型。</p><p>  假設(shè)一個公司雇傭了若干員工,每個員工的信息包括員工號碼、姓名、地址和生日。該公司當(dāng)前有幾個項目,每個項目的信息包括項目名稱和開始日期。每個員工可同時被分派到一個或

23、幾個項目中,也可以不做任何項目。每個項目至少由一個員工來承擔(dān)。公司在每個月末給每個員工郵寄一張支票,支票上的數(shù)額與項目的性質(zhì)和工作時間相關(guān)。請用一張類圖描述上述情況。要求:給出相關(guān)的類、屬性、方法和關(guān)聯(lián)</p><p>  23下面是Monopoly游戲設(shè)計過程中的一張每個輪次實現(xiàn)順序圖,請根據(jù)順序圖所示,寫出takeTurn 方法的基本實現(xiàn)代碼。其中dice[i]中i等于2。(包括函數(shù)的定義,函數(shù)所在類的定義。

24、)</p><p>  24請根據(jù)下面描述回答相應(yīng)問題:</p><p>  學(xué)院圖書館需要一個新的圖書管理系統(tǒng)管理圖書資源。圖書由圖書館顧客借出、還入和預(yù)定。當(dāng)圖書逾期一周時,會以電子郵件的方式通知顧客。圖書每逾期一天,顧客將被罰1元。每本書最多罰款10元。顧客出有不同身份,這些身份能夠影響一本書被借出的時間。不同的身份所獲得的服務(wù)也不同。學(xué)生借書可借出四周,教師可借閱兩個月,圖書館工作

25、人員可以把書保留三個月。只要沒有其他顧客要求借閱,任何可借出的圖書館資源都可以續(xù)借。圖書管理系統(tǒng)必須聯(lián)網(wǎng),顧客可以通過瀏覽器進行檢索和預(yù)訂。</p><p>  (1)請畫出該圖書管理系統(tǒng)的主要用例圖。</p><p>  (2)建立該圖書管理系統(tǒng)的領(lǐng)域模型。</p><p>  25. GRASP是什么的縮寫(中文意思也可以),簡述“信息專家”(Informati

26、on Expert)設(shè)計原則的內(nèi)容。舉例說明。簡述“控制器(Controller)設(shè)計原則的內(nèi)容。舉例說明。</p><p>  答:GRASP:General Responsibility Assignment Software Patterns,通用職責(zé)分配軟件模式。</p><p>  信息專家:對象具有某方面完整的信息,應(yīng)將操作信息的職責(zé)交給這個對象。這個對象就是所謂的信息專家。&

27、lt;/p><p>  如銷售總額的獲得,應(yīng)當(dāng)尋找具有確定總額所需信息的那個對象負責(zé)。</p><p>  控制器:虛構(gòu)出一個用來接收和處理系統(tǒng)事件的職責(zé)的類。</p><p>  如Pos系統(tǒng)中處理銷售用例,外部參與者的發(fā)出請求首先提交給Register控制器處理</p><p>  26.請解釋和比較用例圖中用例間的擴展(<<ex

28、tend>>)和包含(<<include>>)兩種關(guān)系。</p><p>  答:擴展關(guān)系:擴展用例是基用例的一段相對獨立并且可選的動作流</p><p>  包含關(guān)系:使用包含(Inclusion)用例來封裝一組跨越多個用例的相似動作(行為片斷),以便多個基(Base)用例復(fù)用。</p><p>  27在面向?qū)ο蠓治鲞^程中,尋

29、找對象、類、屬性、屬性值的策略是什么?</p><p>  答:采用名詞法,把需求分析中出現(xiàn)的名詞全部列舉出來, 再進篩選。有的名詞可能轉(zhuǎn)化為對象,有些名詞可能建模為對象的屬性。對找出的對象進行數(shù)據(jù)抽象,提取出類。</p><p>  公司可以雇用多人,人也可以為多個公司工作。每個公司只有一個總經(jīng)理。下面的經(jīng)理可以管理多個員工,請在下圖中的關(guān)聯(lián)線上加上適當(dāng)標(biāo)注(關(guān)聯(lián)名、角色和多重性),使上

30、述含義清楚。(請標(biāo)注在答題紙上)</p><p><b>  答:</b></p><p>  28.請寫出類圖對應(yīng)的面向?qū)ο蟠a。</p><p>  Class Person{</p><p>  Company employer;</p><p>  Public void assign(D

31、epartment d){…}</p><p>  Public void setCompensation(Salary s){…}</p><p><b>  }</b></p><p>  Class Company{</p><p>  Person employee[10];</p><p&g

32、t;<b>  …</b></p><p><b>  }</b></p><p>  29.下面描述飛行公司雇員的類圖,請將該類圖映射為關(guān)系數(shù)據(jù)庫中的表。</p><p><b>  映射為一個表:</b></p><p>  EmployeeID, name, taxpay

33、erNumber, employeeType, flightRating, position</p><p>  EmployeeID為主鍵。employeeType為新增的字段,類的類型。</p><p>  30.下面給出了預(yù)訂航班用例的主要成功場景: </p><p>  用例:預(yù)訂航班的主成功場景</p><p>  1.顧客向系統(tǒng)提

34、交航班預(yù)訂信息(出發(fā)地、目的地、出發(fā)日期和人數(shù))</p><p>  2.系統(tǒng)檢索滿足這些條件的航班</p><p>  3.系統(tǒng)顯示滿足條件的航班信息</p><p>  4.顧客選擇所要的航班</p><p>  5.系統(tǒng)檢索該航班剩余的座位信息</p><p>  6.系統(tǒng)顯示可預(yù)訂的座位信息</p>

35、<p>  7.顧客選擇所要的座位</p><p>  8.系統(tǒng)生成一個臨時預(yù)訂記錄</p><p>  9.系統(tǒng)將顧客所選擇的座位狀態(tài)從“未預(yù)訂”修改為“已預(yù)訂”</p><p><b>  ……</b></p><p>  分析員張三認為與該用例相關(guān)的對象至少有Reservation(預(yù)訂)、Seat(

36、座位)和Flight(航班)。請繪制出該用例主成功場景順序圖(請補充必要的對象)</p><p>  31.設(shè)計一個電子投票系統(tǒng)。一次電子投票可能涉及到一個或多個職位的競選,每個職位的競選涉及到多個候選人。在一個具體的職位競選時,投票人能看到該職位的名稱及相應(yīng)的候選人(每個職位的候選人不超過5個),投票者只能為該職位選中一個候選人。每個職位的競選作為一屏獨立的信息提交給投票者,投票機由一名監(jiān)督員啟動。每個投票者在

37、投票前必須輸入自己的身份證號碼,以避免多次投票給同一個候選人。投票者可以查看每個職位的競選信息并投票,也可以翻屏的方式返回先前的屏幕修改投票決定。當(dāng)投票結(jié)束時,投票者將看到自己給每個職位的投票結(jié)果。每個職位的投票結(jié)果(職位的名稱和每個候選人的得票數(shù))將以獨立的一屏信息顯示。請根據(jù)上述情況,建立該電子投票系統(tǒng)的領(lǐng)域模型。</p><p>  32.下面的代碼描述了一個DataSet類,該類提供了對一組數(shù)據(jù)的基本統(tǒng)計

38、功能,以及一個ExamMarks類,它使用期DataSet存儲并計算一組考試分?jǐn)?shù)的平均值。主函數(shù)展示了讀入兩個分?jǐn)?shù),用ExamMarks保存它們,并打印輸出平均值。畫一個順序圖,說明主函數(shù)執(zhí)行時發(fā)生的交互。(8分)</p><p><b>  DataSet類</b></p><p>  ExamMarks類和Average類:</p><p>

39、;  33.通常自動售貨機會按用戶的要求進行自動售貨。供貨員會巡查向其內(nèi)供貨,取款員會定時取款。請根據(jù)上述描述建立用況圖。</p><p>  34假設(shè)一個公司雇傭了若干員工,每個員工的信息包括員工號碼、姓名、地址和生日。該公司當(dāng)前有幾個項目,每個項目的信息包括項目名稱和開始日期。每個員工可同時被分派到一個或幾個項目中,也可以不做任何項目。每個項目至少由一個員工來承擔(dān)。公司在每個月末給每個員工郵寄一張支票,支票上

40、的數(shù)額與項目的性質(zhì)和工作時間相關(guān)。請用一張類圖描述上述情況。要求:給出相關(guān)的類、屬性、方法和關(guān)聯(lián)。</p><p>  35某訂單管理系統(tǒng)的部分UML類圖如圖所示。</p><p>  圖訂單管理系統(tǒng)的部分UML類圖</p><p>  在圖中,Product表示產(chǎn)品,ProductList表示所銷售產(chǎn)品的列表,Order表示產(chǎn)品訂單,OrderItem表示產(chǎn)品訂

41、單中的一個條目,OrderList表示訂單列表,SalesSystem提供訂單管理系統(tǒng)的操作接口。</p><p>  有個用例要求依次統(tǒng)計產(chǎn)品目錄中每個產(chǎn)品的訂購總量,并打印出每個產(chǎn)品的編號、說明、訂購總量和訂購金額 </p><p>  請依據(jù)類圖,繪制此統(tǒng)計用例的用例順序圖。</p><p>  36、請根據(jù)下列的類圖,分析需要持久化這些類所需要的數(shù)據(jù)庫模型,

42、請注明主鍵和外鍵。(8分)</p><p><b>  (如:</b></p><p>  Student:studentNo,name,major,class,CourseNo</p><p>  主鍵:studentNo;外鍵:CourseNo ) chairperson:系主任/院長</p><p><b

43、>  答:</b></p><p>  School:id,name,address,phone;主鍵:id</p><p>  Student:studentID(主鍵),name,schoolId(外鍵)</p><p>  Course:CourseID(主鍵), name</p><p>  StudentCours

44、e:studentID,courseID</p><p>  CourseInstructor: courseID,instructorID</p><p>  Instructor:id,name,departmentId,</p><p>  Department:id,name,schoolId,chairperson</p><p>

45、  37考慮一個實際的超級市場,下面是給出的一張用例圖。請為“購買商品”用例編寫主場景流程,并給出在“購買商品”主場景中可能出現(xiàn)的異常情況(簡要列舉)。</p><p>  答:購買商品主場景流程</p><p>  客戶帶著商品來到柜臺</p><p>  收銀員掃描客戶的每項商品</p><p>  收銀員計算商品的總金額、含稅</

46、p><p><b>  收銀員詢問支付形式</b></p><p><b>  客戶給了一張信用卡</b></p><p><b>  收銀員掃描了信用卡</b></p><p>  校驗器報告信用卡付款是可以接受的</p><p><b>  客

47、戶簽署信用卡收條</b></p><p><b>  例外情況</b></p><p><b>  某項商品掃描出錯</b></p><p><b>  信用卡掃描出錯</b></p><p><b>  UML試卷</b></p>

48、<p>  一、選擇題:(共10題,共20分)</p><p>  1、在Java程序中,對象之間的相互通信通過(B)</p><p> ?。?、繼承實現(xiàn) B、調(diào)用成員函數(shù)實現(xiàn)?。谩⒎庋b實現(xiàn)?。摹⒑瘮?shù)重載實現(xiàn)</p><p>  2、為了描述和理解系統(tǒng)中的控制機制,如為了描述一個設(shè)備控制器在不同情況下所要完成的動作,下面幾個圖中哪個圖是最有用的?(B

49、)</p><p>  A、交互圖B、活動圖C、狀態(tài)圖D、類圖</p><p> ?。?、  對于用例分析的正確與否,有一些簡單的方法,如老板測試,不能通過老板測試的用例是(C)</p><p> ?。痢⑻幚硗素?B、協(xié)商合同C、用戶登錄 ?。?、處理銷售</p><p> ?。?、  GRASP原則一共9種,其中不包括的是(

50、D)</p><p>  A、多態(tài) B、高內(nèi)聚C、低耦合D、封裝</p><p> ?。?、Innovation公司在為Rose開發(fā)插入件,使得Rose可以把OOA/OOD模型以各種圖形格式導(dǎo)出。如JPEG格式、BMP格式、GIF格式等。在導(dǎo)出時,會根據(jù)不同的算法生成相應(yīng)的圖形文件,這些算法很復(fù)雜。為了描述這些算法,在下面這些圖中,哪個圖是最合適的?(A)</p&g

51、t;<p>  A、活動圖B、狀態(tài)圖C、類圖D、用例圖</p><p> ?。?、依據(jù)如下順序圖,選擇類Account必須實現(xiàn)哪些方法?(A)</p><p>  A、withdraw,checkBalanceB、withdraw,checkBalance,log</p><p>  C、withdraw,checkBalance,ackno

52、wledge</p><p>  D、withdraw,checkBalance,log,acknowledge</p><p> ?。?、有如下圖關(guān)系及根據(jù)類創(chuàng)建的對象,編譯器允許執(zhí)行的賦值語句是(C)</p><p>  Shape sh;</p><p>  Triangle tr=new Triangle ();</p>

53、;<p>  Square sq=new Square ();</p><p>  A、tr=sqB、sq=sh</p><p>  C、sh=trD、sq=tr</p><p> ?。浮⑾铝惺前⒋艚o一些用例的命名,(C)用例命名最好。</p><p> ?。?、進行圖像導(dǎo)入B、導(dǎo)入圖像 ?。谩⑻幚韴D像D、圖像處

54、理</p><p> ?。埂ⅰ》謱咏Y(jié)構(gòu)系統(tǒng)中,消息通常從頂層流向底層。但有些消息卻是從底層流向頂層,需要層間的向上協(xié)作模式。下面不能實現(xiàn)層間向上協(xié)作的方式是()</p><p> ?。?、觀察者模式?。?、UI外觀模式?。?、控制器模式?。摹⒔缑孑喸兡J?lt;/p><p>  10、下面的圖1和圖2分別說明了Car和Color類之間的關(guān)系是(C)</p>&

55、lt;p>  A、圖1:聚合;圖2:組合B、圖1:屬性;圖2:聚合</p><p>  C、圖1:屬性;圖2:組合D、圖1:組合;圖2:屬性 </p><p>  二、簡答題(共7題,共32分)</p><p>  1、請根據(jù)本學(xué)期的課程,結(jié)合實際軟件開發(fā)過程,歸納出使用面向?qū)ο蠹夹g(shù)運行項目開發(fā),需要開展哪些活動,你認為最關(guān)鍵的活動是什么?(6分)&

56、lt;/p><p>  需求分析;用例圖建模;領(lǐng)域模型建模;系統(tǒng)順序圖和操作契約</p><p>  用例實現(xiàn)交互圖建模;設(shè)計類圖建模;邏輯架構(gòu)設(shè)計建模</p><p>  關(guān)鍵的活動:用例實現(xiàn)交互圖建模</p><p>  實驗八 邏輯架構(gòu)設(shè)計建模2、“老師說要迭代開發(fā),真是有道理,我決定在我們的項目組實施迭代開發(fā),第一迭代先做需求,第二個迭代

57、做分析,第三個迭代做設(shè)計……”這句話正確嗎?為什么?(4分)</p><p>  錯誤,迭代不同于傳統(tǒng)的瀑布模型,并不按照先做需要,再做分析,設(shè)計這樣一個階段接一個階段進行,迭代是把一個項目分成多個小項目,每個小項目都經(jīng)歷各自的需求分析,設(shè)計,實現(xiàn)和測試活動,以循環(huán)反饋和調(diào)整為核心,每次迭代都對現(xiàn)有系統(tǒng)進行擴展和精化,最后成為適當(dāng)?shù)南到y(tǒng)。</p><p>  3、假設(shè)要構(gòu)造一個和用戶下棋的

58、游戲系統(tǒng),哪些UML圖對設(shè)計該游戲有幫助?為什么?(4分)</p><p>  用例圖 領(lǐng)域模型 交互圖 類圖</p><p>  4、我家超級市場是大型的連鎖零售商場,銷售各類商品,超市的收銀員使用POS收銀系統(tǒng)處理用戶的銷售。請問收銀員是處于POS收銀系統(tǒng)的邊界外還是邊界內(nèi)?為什么?(4分)</p><p>  在邊界外,POS系統(tǒng)是要被設(shè)計的系統(tǒng),任何該系統(tǒng)之

59、外的事物都在系統(tǒng)邊界之外,收銀員是外部參與者,是使用POS系統(tǒng)完成一系列行為的外部參與者。</p><p>  5、系統(tǒng)的分層實現(xiàn)讓阿呆很困惑。因為系統(tǒng)如果分為視圖層、業(yè)務(wù)層、持久層,對于某一模塊的實現(xiàn)每一層都寫代碼,每間層的交互處理增加了麻煩。如果用戶點擊某個按鈕,直接在按鈕事件里編寫實現(xiàn)的代碼,既直接,又方便。請你說明分層模式實現(xiàn)系統(tǒng)的理由,說服阿呆采用分層的方式實現(xiàn)系統(tǒng)。(5分)</p>&l

60、t;p>  1? 好的分層體系結(jié)構(gòu)使系統(tǒng)易于擴展和維護 </p><p>  – 做到關(guān)系分離、高級服務(wù)和低級服務(wù)分離、特定于應(yīng)用的服務(wù)與一般性服務(wù)分離 </p><p>  – 對某一特定層進行修改而不會影響到任何其他層 </p><p>  – 層是模塊化的,可以重寫某一層,或是整個替換某一層,只要接口不變,系統(tǒng)其他層次不受影響。這樣,某些層能夠用新的實現(xiàn)

61、替換 </p><p>  2? 在各層之間限制消息流動,減少層次耦合,增加移植性 </p><p>  3? 某些層可以分布式實現(xiàn) </p><p>  4? 利于在中間層實施安全特性 </p><p>  5? 通過邏輯劃分,有助于團隊開發(fā)</p><p>  6、阿呆剛學(xué)過GRASP設(shè)計原則,覺得很不錯,于是準(zhǔn)備

62、應(yīng)用在設(shè)計的選課系統(tǒng)中,系統(tǒng)有課程類,課程類的實例包含某門課程的具體信息。阿呆就想,依據(jù)信息專家的原則,那么,該由課程對象把課程信息存入到數(shù)據(jù)庫中。但是項目經(jīng)理告訴他這樣做不好。阿呆想不通,請你詳細為阿呆解釋一下。(5分)</p><p><b>  參考P213 </b></p><p>  將課程信息存入數(shù)據(jù)庫的職責(zé)分配給課程類會造成課程類與數(shù)據(jù)庫接口類的耦合,

63、面向數(shù)據(jù)庫的操作與實際的課程類無關(guān),使得課程類非內(nèi)聚,不利于數(shù)據(jù)庫操作的復(fù)用,其它類也存在保存對象的職責(zé)。</p><p>  在某些情況下,專家模式建議的方法并不好,這是由于耦合與內(nèi)聚問題所產(chǎn)生的。專家會建議由課程對象把課程信息存入到數(shù)據(jù)庫中,那么按照這個決定進行邏輯推理,每個類都應(yīng)當(dāng)把自身保存到數(shù)據(jù)庫中。但這樣會導(dǎo)致內(nèi)聚,耦合,及冗余方面的問題,例如現(xiàn)在課程類必須包含于數(shù)據(jù)庫處理相關(guān)的邏輯,如SQL和JDBC

64、相關(guān)的處理邏輯。因此,課程類由于存在其他職責(zé)而降低了它的內(nèi)聚,這個類必須與其他子系統(tǒng)的數(shù)據(jù)服務(wù)進行耦合,會使得耦合度上升。這樣會導(dǎo)致大量持久性類中重復(fù)出現(xiàn)類似的數(shù)據(jù)庫邏輯,有大量的冗余。</p><p>  所以這樣的做法違反了基本架構(gòu)原則,應(yīng)將應(yīng)用邏輯和數(shù)據(jù)庫邏輯放置不同一處,而不是在同一構(gòu)件中把不同的系統(tǒng)關(guān)注混合起來。因此,按照專家模式,該由課程對象把課程信息存入到數(shù)據(jù)庫中是合理的,但由于其他原因,會使得我們

65、最終得出不佳的設(shè)計。</p><p>  7、根據(jù)下列代碼,畫圖說明已經(jīng)創(chuàng)建的類的數(shù)據(jù)成員及類間的關(guān)系。(要求:如有關(guān)聯(lián)需要表明關(guān)聯(lián)的方向、角色名和多重性)(4分)</p><p><b>  [代碼]</b></p><p>  三、簡單分析題(每題5分,共3題,共15分)</p><p>  1、常見的網(wǎng)上商店里的購

66、物車(ShopCart),需要讓每種商品(Item)只在購物車內(nèi)出現(xiàn)一次,購買相同商品只需要更新商品的數(shù)量即可。(類圖如下)。當(dāng)往購物車內(nèi)添加商品時,需要比較是否有相同的商品在購物車內(nèi)。請問這個比較商品是否相同的職責(zé)由那個類實現(xiàn)比較合適?為什么?(5分)</p><p>  利用信息專家原則,這個比較商品的職責(zé)屬于購物車的,所以由購物車類實現(xiàn)</p><p>  2、搬了新家,阿呆決定去申

67、請安裝ADSL,他到營業(yè)廳填好單,和證件一起交給營業(yè)員。營業(yè)員查看阿呆的證件,接過單子開始操作電腦。如果站在營業(yè)廳身后,會看見營業(yè)員打開一個“受理”菜單,選擇“ADSL”,彈出一個帶有好多個Tab的框框,營業(yè)員嘩哩吧啦把數(shù)據(jù)輸進去,然后讓阿呆設(shè)置一個服務(wù)密碼,又過一隊,營業(yè)員遞出單子,告訴阿呆回家等,施工人員一天內(nèi)就到。阿呆高興的出門。營業(yè)員嘆了一口氣,想“又弄完一個”…….</p><p>  考慮營業(yè)員的“A

68、DSL業(yè)務(wù)受理系統(tǒng)”,根據(jù)上述信息,分析下面所列對象或事件的歸屬那一類別,并在表中類別填寫。(有可能屬于多個類別,也有可能都不屬于任何一類)(5分)</p><p>  對象或事件:阿呆 營業(yè)員 設(shè)置密碼 施工人員 受理ADSL申請 安裝ADSL </p><p>  類別:主參與者 輔助參與者 用例 涉眾</p><p&

69、gt;  3、狀態(tài)圖是為某個對象的狀態(tài)和事件以及響應(yīng)事件的行為的建模。下面的普通電話機的狀態(tài)圖,技術(shù)經(jīng)理已經(jīng)使用狀態(tài)圖對其詳細建模,但阿呆不小心把圖弄模糊了,請你幫忙補充完整。(5分)</p><p>  四、分析題(共4題,共33分)</p><p>  1、下面的代碼描述了一個DataSet類,該類提供了對一組數(shù)據(jù)的基本統(tǒng)計功能,以及一個ExamMarks類,它使用DataSet存儲并

70、計算一組考試分?jǐn)?shù)的平均值。主函數(shù)展示了讀入兩個分?jǐn)?shù),用ExamMarks保存它們,并打印輸出平均值。請畫一個順序圖,說明主函數(shù)執(zhí)行時發(fā)生的交互。(注意:下面的代碼是左右排版)。(8分)</p><p><b>  DataSet類</b></p><p>  ExamMarks類和Average類2、請根據(jù)下面描述繪制出汽車公司調(diào)度管理系統(tǒng)的領(lǐng)域模型。</p&g

71、t;<p>  阿呆開設(shè)了一家汽車 公司專門為學(xué)生服務(wù),公司擁有40倆汽車,服務(wù)對象是1600個學(xué)生。汽車日常行駛的路線有30條,但在節(jié)假日等特殊日子里會臨時增加新的路線。每條路線上設(shè)有許多站牌,學(xué)生們可在這些地方上下車。公司雇傭了20個全職的司機和30個兼職的司機。汽車公司設(shè)有一個調(diào)度員,專門負責(zé)司機和路線的安排。該調(diào)度員也負責(zé)學(xué)生和家長們上下車的地點以及時間等方面的特別要求傳達給司機。當(dāng)路線變更或增添新路線時,調(diào)度員必

72、須將這些信息傳達給司機、學(xué)生和家長。公司經(jīng)常會收到學(xué)生和家長們對司機的投訴。如果投訴的情況相當(dāng)嚴(yán)重,司機有可能會被停職甚至被解雇。另外,公司也可能會招募新員工,以代替被解雇和退休的員工,或配備給新的路線。(9分)</p><p>  3、下面是航空公司系統(tǒng)的部分類模型,模型里的類都是需要持久存儲的對象。請你為阿呆設(shè)計一個將該類圖映射為關(guān)系數(shù)據(jù)庫中的表的方案。即數(shù)據(jù)庫中該有用哪些表存儲這些類的數(shù)據(jù),這些表該有哪些列

73、。(7分) </p><p>  Airline(AlID,name,symbol)</p><p>  Employee(idCard,name,AlID)</p><p>  Pilot(idCard,fightRating)</p><p>  FightAssistant(idCard)</p><p>  F

74、ight(fightNum,date,pilotID,copilotID,AlID)</p><p>  AttendantAssignment(fightNum, idCard)</p><p>  4、下面是收音機系統(tǒng)設(shè)計過程中的一張為客戶折扣創(chuàng)建定價策略順序圖,請根據(jù)順序圖所示,寫出addCustomerPricingStrategy方法的基本實現(xiàn)代碼。(包括函數(shù)的定義,函數(shù)所在類的

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論