東北大學(xué)軟件需求分析與設(shè)計(jì)測試題_第1頁
東北大學(xué)軟件需求分析與設(shè)計(jì)測試題_第2頁
東北大學(xué)軟件需求分析與設(shè)計(jì)測試題_第3頁
東北大學(xué)軟件需求分析與設(shè)計(jì)測試題_第4頁
東北大學(xué)軟件需求分析與設(shè)計(jì)測試題_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

10名目\l“_TOC_250004“2007年上半年 3\l“_TOC_250003“設(shè)計(jì)題〔共15分〕 3某圖書治理系統(tǒng)的主要功能如下: 3\l“_TOC_250002“編碼題 4某玩耍公司現(xiàn)欲開發(fā)一款面對兒童的模擬玩耍該玩耍主要模擬現(xiàn)實(shí)世界中各種鴨子的發(fā)聲特征、飛行特征和外觀特征。玩耍需要模擬的鴨子種類及其特征 42007年下半年 6\l“_TOC_250001“設(shè)計(jì)題 6某唱片播放器不僅可以播放唱片而且可以連接電腦并把電腦中的歌曲刻錄到唱片上〔同步歌曲。連接電腦的過程中還可自動(dòng)完成充電。 6編碼題 7某企業(yè)的選購審批是分級(jí)進(jìn)展的5萬元以下〔5萬元〕5萬元10萬元〔10萬元〕1050萬元〔不包括50萬元〕的選購單,50萬元及以上的選購單就需要開會(huì)爭論打算。 72008上半年 9設(shè)計(jì)題 9某汽車停車場欲建立一個(gè)信息系統(tǒng),已經(jīng)調(diào)查到的需求如下: 9編碼題 11某企業(yè)欲開發(fā)一家用電器遙控系統(tǒng)即用戶使用一個(gè)遙控器即可掌握某些家用電器的開與關(guān)。 11\l“_TOC_250000“2008年下半年 13設(shè)計(jì)題 13在線會(huì)議審稿系統(tǒng)〔ORS:OnlineReviewingSystem〕主要處理睬議前期的投稿和審稿事務(wù),其功能描述如下: 13編碼題 152009Application類和Document們之間的關(guān)系如圖7-1ApplicationDocument類則表示應(yīng)用程序翻開的文檔。Application類負(fù)責(zé)翻開一個(gè)已有的以外部形式存儲(chǔ)的文檔,如一個(gè)文件,一旦從該文件中讀出信息后,它就由一個(gè)Document對象表示。2009...............................................................................................................................16設(shè)計(jì)題 16某銀行打算開發(fā)一個(gè)自動(dòng)存提款機(jī)模擬系統(tǒng)〔ATMSystem。系統(tǒng)通過讀卡器CardReader〕讀取ATM卡;系統(tǒng)與客戶〔Customer〕的交互由客戶掌握臺(tái)〔CustomerConsole〕實(shí)現(xiàn): 16編碼題 182009現(xiàn)欲實(shí)現(xiàn)一個(gè)圖像掃瞄系統(tǒng)要求該系統(tǒng)能夠顯示BMPJPEG和GIF三種格式的文件,并且能夠在Windows和Linux兩種操作系統(tǒng)上運(yùn)行。2009...............................................................................................................................19設(shè)計(jì)題 19某企業(yè)為了便利員工用餐,為餐廳開發(fā)了一個(gè)訂餐系統(tǒng)〔COS:Cafeteria Ordering................................................................................................................................................19編碼題 212010現(xiàn)欲構(gòu)造一文件/名目樹承受組〔Composite〕設(shè)計(jì)模式來設(shè)計(jì)得到的類圖2010...............................................................................................................................22設(shè)計(jì)題 22某運(yùn)輸公司打算為的售票機(jī)開發(fā)車票銷售的掌握軟件 22編碼題 25某軟件公司欲開發(fā)一款飛機(jī)飛行模擬系統(tǒng)該系統(tǒng)主要模擬不同種類飛機(jī)的飛行特征與起飛特征 252010年下半年 26設(shè)計(jì)題 26某網(wǎng)上藥店允許顧客憑借醫(yī)生開具的處,通過網(wǎng)絡(luò)在該藥店購置處方上的藥品該網(wǎng)上藥店的根本功能描述如27編碼題 28某公司的組織構(gòu)造圖如圖5-1所示,現(xiàn)承受組合(Composition)設(shè)計(jì)模式來構(gòu)造該公司的組織構(gòu)造,得到如圖5-2所示的類圖。 282011年上半年 30設(shè)計(jì)題 30一個(gè)簡潔的圖形編輯器供給應(yīng)用戶的根本操作包括創(chuàng)立圖形創(chuàng)立元素選擇元素以及刪除圖形 302011年下半年 30設(shè)計(jì)題 30Pay&Drive系統(tǒng) 30編碼題 30某大型商場內(nèi)安裝了多個(gè)簡易的紙巾售賣機(jī) 302007年上半年設(shè)計(jì)題〔15分〕閱讀以下說明和圖,答復(fù)以下問題13,將解答填入答題紙的對應(yīng)欄內(nèi)。[說明]某圖書治理系統(tǒng)的主要功能如下:圖書治理系統(tǒng)的資源名目中記錄著全部可供讀者借閱的資源,每項(xiàng)資源都有一個(gè)唯一的索引號(hào)。系統(tǒng)需登記每項(xiàng)資源的名稱、出版時(shí)間和資源狀態(tài)〔可借閱或已借出。者和介質(zhì)類型〔CD或者磁帶。系統(tǒng)為每個(gè)讀者創(chuàng)立了一個(gè)借書記錄文件,用來保存讀者所借資源的相關(guān)信息。的類。表3-1給出了[說明]中消滅的所知名詞。通過對表3-13-1UML〔類的說明如表3-2所示。[1]〔3分〕表3-2所給出的類并不完整,依據(jù)[說明]3-13-1中的〔a〕~〔c〕處補(bǔ)充完整。[2]〔6分〕依據(jù)[說明]中的描述,給出圖3-1中的類CatalogItem以及〔b〔〕處所對應(yīng)的類的關(guān)鍵屬性〔使用表3-1中給出的詞匯,其中,CatalogItem有4〔b〔c〕處對應(yīng)的類各有2個(gè)關(guān)鍵屬性。[3]〔6分〕[說明]中給出的描述,成圖3-1中的(1)~(6)。答案:1資源名目圖書唱片問題2CatalogItem的關(guān)鍵屬性:索引號(hào)、名稱、資源狀態(tài)、出版時(shí)間(b)的關(guān)鍵屬性有:作者、頁數(shù)(c)的關(guān)鍵屬性有:演唱者、介質(zhì)類型問題3〔1〕1〔2〕0..* 〔3〕1〔4〕0..*〔5〕1〔6〕1或0..1編碼題閱讀以下說明和Java代碼,將應(yīng)填入〔n〕 處的字句寫在答題紙的對應(yīng)欄內(nèi)。[說明]行特征和外觀特征。玩耍需要模擬的鴨子種類及其特征如表7-1所示:為支持將來能夠模擬更多種類鴨子的特征,承受策略設(shè)計(jì)模式(Strategy)設(shè)計(jì)的類圖如圖7-1所示:Duck為抽象類,描述了抽象的鴨子,而類RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分別描述具體的鴨子種類,方法fly、quack和display分別表示不同種類的鴨子都具有FlyBehavior與QuackBehavior分別用于表示抽象的飛行行為與發(fā)FlyNoWay與FlyWithWingsQuackSqueakQuackNoWay以下代碼中的空缺。[Java代碼]FlyBehavior{publicvoidfly;};QuackBehavior{publicvoidquack;};classFlyWithWingsimplementsFlyBehavior{publicvoidfly{System.out.println(“使用翅膀飛行!“);}};classFlyNoWayimplementsFlyBehavior{publicvoidfly{System.out.println(“不能飛行!“);}};classQuackimplementsQuackBehavior{publicvoidquack{System.out.println(“發(fā)出\”嘎嘎\”聲!“); }};classSqueakimplementsQuackBehavior{publicvoidquack{System.out.println(“發(fā)出空氣與橡皮摩擦聲!“);}};classQuackNoWayimplementsQuackBehavior{publicvoidquack{System.out.println(“不能發(fā)聲!“);}};abstractclassDuck{protected FlyBehavior〔3〕;protected QuackBehavior〔4〕;publicvoidfly{ 〔5〕;}publicvoidquack{ 〔6〕;};public 〔7〕 voiddisplay;};classRubberDuckextendsDuck{publicRubberDuck{flyBehavior=new 〔8〕 ;quackBehavior=new 〔9〕 }publicvoiddisplay{/*此處省略顯示橡皮鴨的代碼*/ }};答案:(1) interface(2)interface(3)flyBehavior(4)quackBehavior(5)flyBehavior.fly(6)flyBehavior.quack(7)abstract(8)FlyNoWay(9)Squeak設(shè)計(jì)題

2007年下半年閱讀以下說明和圖,答復(fù)以下問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】〔同步歌曲。連接電腦的過程中還可自動(dòng)完成充電。關(guān)于唱片,還有以下描述信息:有兩首歌曲的這三局部信息完全一樣時(shí),才認(rèn)為它們是同一首歌曲。藝術(shù)家可能是一名歌手或一支由2名或2名以上的歌手所組成的樂隊(duì)。一名歌手可以不屬于任何樂隊(duì),也可以屬于一個(gè)或多個(gè)樂隊(duì)。2.每張唱片由多條音軌構(gòu)成;一條音軌中只包含一首歌曲或?yàn)榭眨皇赘枨煞植荚诙鄺l音軌上;同一首歌曲在一張唱片中最多只能消滅一次。3.條音軌,播放器需要準(zhǔn)確地知道,它的下一條音軌和上一條音軌是什么〔假設(shè)存在的話。3-13-1所3-2所示的描述播放器行為的UML狀態(tài)圖。3-1類列表類名ArtistSong藝術(shù)家歌曲BandMusicianTrackAlbum唱片1A1A1演奏0..*0..*B(3)(4)CD(1)(2)E(5)(6)F3-1初始類圖3-2UML狀態(tài)圖1〔3分〕依據(jù)說明中的描述,使用表3-1給出的類的名稱,給出圖3-1中的A~F所對應(yīng)的類。2〔6分〕依據(jù)說明中的描述,給出圖3-1中〔1〕~〔6〕處的多重度。3〔4分〕類多重度圖3-1類多重度4〔2分〕UML狀態(tài)圖,給出從“關(guān)閉”狀態(tài)到“播放”狀態(tài)所經(jīng)過的最短大事序列〔假設(shè)電池一開頭就是有電的。答案:1A.ArtistB.SongC.BandD.MusicianE.TrackF.Album問題2〔1〕0..*〔2〕2..*〔3〕0..1〔4〕1..*〔5〕1..*〔6〕1問題3 Track 0..1Track 0..14按任意鍵選擇歌曲編碼題Java〔n〕處的字句寫在答題紙的對應(yīng)欄內(nèi)。【說明】5萬元以下〔5萬元〕510萬元〔10萬元〕的萬元〔50萬元〕的選購單,50萬元及以上的選購單就需要開會(huì)爭論打算?!睠hainofResponsibility〕7-1PurchaseRequestPurchaseRequest+Amount:Float+Number:Integer+Purpose:StringApprover-successor:Approver+SetSuccessor(aSuccesssor:Approver)+ProcessRequest(aRequest:PurchaseRequest)批準(zhǔn)者選購單DirectorVicePresidentPresidentCongress主任副董事長董事長例會(huì)7-1設(shè)計(jì)類圖[JavaclassPurchaseRequest{public doubleAmount; //一個(gè)選購的金額public intNumber; //選購單編號(hào)public StringPurpose; //選購目的};classApprover{ //審批者類public Approver{ successor=null;}public voidProcessRequest(PurchaseRequestaRequest){if(successor!=null){successor. 〔1〕;}}public voidSetSuccessor(ApproveraSuccesssor){successor=aSuccesssor;}private 〔2〕 successor;};classCongressextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){if(aRequest.Amount>=500000){/*打算是否審批的代碼省略*/}else 〔3〕.ProcessRequest(aRequest);}};classDirectorextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此處代碼省略*/ }};classPresidentextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此處代碼省略*/}};classVicePresidentextendsApprover{public voidProcessRequest(PurchaseRequestaRequest){/*此處代碼省略*/}};publicclassrs{publicstaticvoidmain(String[]args)throwsIOException{CongressMeeting=newCongress;VicePresidentSam=newVicePresident;DirectorLarry=newDirector;PresidentTammy=newPresident;//構(gòu)造責(zé)任鏈Meeting.SetSuccessor(null); Sam.SetSuccessor( 〔4〕 );Tammy.SetSuccessor( 〔5〕); Larry.SetSuccessor( 〔6〕 //構(gòu)造一選購審批懇求PurchaseRequestaRequest=newPurchaseRequest;BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));aRequest.Amount=Double.parseDouble(br.readLine);〔7〕.ProcessRequest(aRequest); //開頭審批return;}}答案:ProcessRequest(aRequest)2.Approver3.super4.Tammy5.Meeting6.Sam7.Larry2008上半年設(shè)計(jì)題試題三〔試題三〔15分〕閱讀以下說明和圖,答復(fù)以下問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】某汽車停車場欲建立一個(gè)信息系統(tǒng),已經(jīng)調(diào)查到的需求如下:傳感器,示意圖如下:命令欄桿自動(dòng)抬起;汽車通過入口后,入口處的傳感器通知系統(tǒng)發(fā)出命令,欄桿自動(dòng)放下。費(fèi)。付清停車費(fèi)之后,將獲得一張出場卡,用于離開停車場。當(dāng)汽車到達(dá)出口時(shí),駕駛員將出場卡插入出口處的讀卡器。假設(shè)這張卡是有效的,系統(tǒng)命令欄桿發(fā)出欄桿抬起命令而發(fā)出告警信號(hào)?!败囄灰褲M“信息。這時(shí),停車卡打印機(jī)將不再出卡,只允許場內(nèi)汽車出場。依據(jù)上述描述,承受面對對象方法對其進(jìn)展分析與設(shè)計(jì),得到了如下表所示的類/用例/狀態(tài)列表、以下圖UML類/用例/狀態(tài)列表用例名 說明 類名 說明 狀態(tài)名停車場Carentry 汽車進(jìn)入停車場CentralComputerCarexit 汽車離開停車場PaymentMachineCarPark

信息系統(tǒng)器保存車位信息

IdleDisableAwaitEntryReport Statistics 關(guān)信息

Barrier

AwaitTicketTakeCar entrywhenfullCar entrywhenfull沒有車位時(shí),汽場EntryBarrier入口的護(hù)欄護(hù)欄AwaitEnableExitBarrier〔b〕初始類圖〔a〕用例圖〔點(diǎn)擊查看大圖〕〔c〕入口護(hù)欄的狀態(tài)圖1】〔a〕U1、U2U3所對應(yīng)的用例。2】依據(jù)說明中的描述,使用上頁表給出的類的名稱,給出圖〔依據(jù)說明中的描述,使用上頁表給出的類的名稱,給出圖〔b〕中的A~D所對應(yīng)的類。所對應(yīng)的狀態(tài)。簡要解釋圖〔a〕中用例U1和U3之間的extend關(guān)系的內(nèi)涵。答案:U1:CarentryU2:CarexitU3:CarentrywhenfullA:CarParkB:BarrierC:EntryBarrierD:ExitBarrier其中,C、D的答案可以互換S1:IdleS2:AwaitTicketTakeS3:AwaitEnableS4:AwaitEntry行為從必需的行為中分別出來。Java〔n〕【說明】某企業(yè)欲開發(fā)一家用電器遙控系統(tǒng),即用戶使用一個(gè)遙控器即可掌握某些家用電器的開與關(guān)?!瞐〕40021和2,按鈕1312。由于遙控系統(tǒng)需要支持形式多樣的電器,因此,該系統(tǒng)以下圖〔b〕所示。〔點(diǎn)擊查看大圖〕〔a〕圖〔b〕RomoteControlleronPressButton〔intbutton〕表示當(dāng)遙控器按鍵按下時(shí)調(diào)用的方法,Command接口中on和offLight中turnLigtintdegree〕方法用于調(diào)整電燈燈光的強(qiáng)弱,參數(shù)degree0100時(shí)表示開燈并且將燈光亮度調(diào)整到最大;TVsetChannel〔intchannel〕方法表示設(shè)置電視播放的頻道,參數(shù)channel0時(shí)表示關(guān)閉電11頻道?!綣ava代碼】classLight{//電燈類publicvoidtrunLight(intdegree){//調(diào)整燈光亮度,0,100};classTV{//電視機(jī)類publicvoidsetChannel(intchannel){//0,11};interfaceCommand{//抽象命令類voidon;voidoff;};classRemoteController{ //遙控器類protectedCommand[]commandsnewCommand[4];//44CommandpublicvoidonPressButton(intbutton){//按鈕被按下時(shí)執(zhí)行命令對象中的命令if(button%2==0)commands[button].on;elsecommands[button].off;}publicvoidsetCommand(intbutton,Commandcommand){〔1〕 =command;//設(shè)置每個(gè)按鈕對應(yīng)的命令對象}};classLightCommandimplementsCommand{ 電燈命令類protectedLightlight; //指向要掌握的電燈對象publicvoidon{light.trunLight(100);};publicvoidoff{light.〔2〕;};publicLightCommand(Lightlight){this.light=light;};};classTVCommandimplementsCommand{//電視機(jī)命令類protectedTVtv; //指向要掌握的電視機(jī)對象publicvoidon{tv.〔3〕;};publicvoidoff{tv.setChannel(0);};publicTVCommand(TV tv){this.tv=tv;};};};publicclassrs{publicstaticvoidmain(String[]args){LightlightnewLight;TVtvnewTV;//創(chuàng)立電燈和電視對象LightCommandlightCommand=newLightCommand(light);TVCommandtvCommand=newTVCommand(tv);RemoteControllerremoteController=newRemoteController;//設(shè)置按鈕和命令對象remoteController.setCommand(0,〔4〕);…//123}}〔5〕〔6〕〔7〕之間的耦合性降至最小。參考答案〔1〕commands[button]〔2〕trunLight(0) 〔3〕setChannel(1)〔4〕lightCommand〔5〕RemoteController 〔6〕Light〔7〕TV2008年下半年設(shè)計(jì)題〔共15分〕閱讀以下說明和圖,答復(fù)以下問題14,將解答填入答題紙的對應(yīng)欄內(nèi)?!菊f明】〔ORS:OnlineReviewingSystem〕主要處理睬議前期的投稿和審稿事務(wù),其功能描述如下:〔register〕成為作者或?qū)徃迦?。作者登錄〔login〕后提交稿件和掃瞄稿件批閱結(jié)果。提交稿件必需在規(guī)定提交時(shí)間范圍內(nèi),其過程為先〔存儲(chǔ)位置。上述幾步假設(shè)未完成,則重復(fù);假設(shè)完成,則上傳稿件至數(shù)據(jù)庫中,系統(tǒng)發(fā)送通知。審稿人登錄后可設(shè)置興趣領(lǐng)域、批閱稿件給出意見以及排列錄用和〔或〕拒絕的稿件。〔或〕拒絕的稿件以及關(guān)閉審稿過程。其中關(guān)閉審稿過程須包括排列錄用和〔或〕拒絕的稿件。系統(tǒng)承受面對對象方法開發(fā),使用UML進(jìn)展建模。在建模用例圖時(shí),常用的方式是先識(shí)別參與者,然后確定參與者如何使用系統(tǒng)來確定用例,每個(gè)用例可以構(gòu)造一個(gè)活動(dòng)圖。參與者名稱、用例和活動(dòng)名稱分別參見表3-13-2和表3-33-1和圖3-2所示。表3-1 參與者列表名稱說明名稱說明User用戶Author作者Reviewer審稿人Pcchair委員會(huì)主席名稱表說明3-2名稱說明login登錄系統(tǒng)register注冊submitpaper提交稿件browsereviewresults掃瞄稿件批閱結(jié)果closereviewingprocesssetpreferenceslistaccepted/rejectedpapers

關(guān)閉審稿過程高定興趣領(lǐng)域絕的稿件

assiagnpapertoreviewerenterreviewbrowsesubmittedpapers

掃瞄提交的稿件名稱說明名稱說明表名稱說明名稱說明selectpaperlocationselectpaperlocation選擇稿件位置uploadpaper上傳稿件electsubjectgroupentertitleandabstract選擇主題類型輸入標(biāo)題和摘要sendnotification發(fā)送通知loginloginA1register《exted》submitBrowsereviewA2setA3enteru1u2〔2〕A4u3closereviewing3-1ORS用例圖圖3-2 提交稿件過程的活動(dòng)圖【問題1〔4分〕依據(jù)【說明】中的描述,使用表3-13-1A1~A4所對應(yīng)的參與者。【問題2〔3分〕依據(jù)【說明】中的描述,使用表3-23-1U1~U3所對應(yīng)的用例。【問題3〔4分〕依據(jù)【說明】中的描述,給出圖3-1中〔1〕和〔2〕所對應(yīng)的關(guān)系?!締栴}4〔4分〕3-23-33-2中Action1~Action4對應(yīng)的活動(dòng)。答案:[1(4”)]A1:UserA2:AuthorA3:ReviewerA4:PCChair[2(3”)]U1:Listaccepted/rejectedpapersU2:browsesubmittedpapersU3:assignPapertoreviewer[3(4”)](1)<<extend>>(2)<<include>>[4(4”)]Action1:entertitleandabstractAction2:SelectSubjectgroupAction3:SelectpaperlocationAction4:Uploadpaper編碼題〔15分〕閱讀以下說明和Java代碼,將應(yīng)填入〔n〕處的字句寫在答題紙的對應(yīng)欄內(nèi)?!菊f明】某類庫開發(fā)商供給了一套類庫,類庫中定義了Application類和Document類,它們之間的關(guān)系如圖7-1所示,其中,Application類表示應(yīng)用程序自身,而Document類則表示應(yīng)用程序翻開的文檔。Application類負(fù)責(zé)翻開一個(gè)已有的以外部形式存儲(chǔ)的文檔,如一個(gè)文件,一旦從該文件中讀出信息后,它就由一個(gè)Document對象表示。Document+save+open(docName:String)+close

Application-docs+canOpenDocument(docName:String)+addDocument(aDocuent:Document)+doCreateDocumentMyDocument+read

Application-docs+doCreateDocument圖7-1 Application與Document關(guān)系圖當(dāng)開發(fā)一個(gè)具體的應(yīng)用程序時(shí),開發(fā)者需要分別創(chuàng)立自己的ApplicationDocument子類,例如圖7-1 中的類MyApplication 和類MyDocument,并分別實(shí)現(xiàn)Application和Document類中的某些方法。ApplicationopenDocument方法承受了模板方法〔TemplateMethod〕設(shè)計(jì)模式,該方法定義了翻開文檔的每一個(gè)主要步驟,如下所示:首先檢查文檔是否能夠被翻開,假設(shè)不能翻開,則給出出錯(cuò)信息并返回;創(chuàng)立文檔對象;通過文檔對象翻開文檔;通過文檔對象讀取文檔信息;5Application的文檔對象集合中?!綣ava代碼】abstractclassDocument{publicvoidsave{/*存儲(chǔ)文檔數(shù)據(jù),此處代碼省略*/}publicvoidopen(StringdocName){ /* 翻開文檔,此處代碼省略*/}publicvoidclose{/* 關(guān)閉文檔,此處代碼省略*/ }publicabstractvoidread(StringdocName);};abstractclassAppplication{private Vector< 〔1〕 > docs;/*文檔對象集合*/public booleancanOpenDocument(StringdocName){返回假值表示不行翻開,此處代碼省略*/}publicvoidaddDocument(DocumentaDocument){/*將文檔對象添加到文檔對象集合中*/docs.add( 〔2〕);}publicabstractDocumentdoCreateDocument;/*創(chuàng)立一個(gè)文檔對象*/publicvoidopenDocument(StringdocName){/*翻開文檔*/if( 〔3〕){System.out.println(“文檔無法翻開 !“);return;}(4) adoc= 〔5〕 ;(6) ;(7) ;(8) ;}};(1)Document(2)aDocument(3)!canOpenDocument(docName)(4)Document(5)docreateDocument(6)adoc.open(docName)(1)Document(2)aDocument(3)!canOpenDocument(docName)(4)Document(5)docreateDocument(6)adoc.open(docName)(7)adoc.read(docName)(8)addDocument(adoc)2009設(shè)計(jì)題【說明】〔ATMSysteCardReader〔Customer〕的交互由客戶掌握臺(tái)〔CustomerConsole〕實(shí)現(xiàn);銀行操作員〔Operator〕可掌握系統(tǒng)的啟動(dòng)SystemStartup〕和停頓〔SystemShutdown;系統(tǒng)通過網(wǎng)絡(luò)和銀行系統(tǒng)〔Ban〕通信。當(dāng)讀卡器推斷用戶已將TM卡插入后,創(chuàng)立會(huì)話〔Session。會(huì)話開頭后,讀卡器進(jìn)展讀卡,并要求客戶輸入個(gè)人驗(yàn)證碼〔PIN戶可從菜單項(xiàng)選擇擇如下事務(wù)〔Transactio:從TM卡賬戶取款〔Withdra;向TM卡賬戶存款〔Deposit;進(jìn)展轉(zhuǎn)賬〔Transfe;查詢〔Inquire〕ATM卡賬戶信息。個(gè)人驗(yàn)證碼錯(cuò)誤,則轉(zhuǎn)個(gè)人驗(yàn)證碼錯(cuò)誤處理InvalidPINProces事務(wù)或退卡。選擇退卡時(shí),系統(tǒng)彈出ATM卡,會(huì)話完畢。系統(tǒng)承受面對對象方法開發(fā),使用UML進(jìn)展建模。系統(tǒng)的頂層用例圖如圖3-1所示,一次會(huì)話的序列圖〔不考慮驗(yàn)證〕如圖3-23-1。名稱說明名稱說明cardInserted()名稱說明名稱說明cardInserted()ATM卡已插入performTransaction()執(zhí)行事務(wù)performSession()執(zhí)行會(huì)話readCard()讀卡readPIN()讀取個(gè)人驗(yàn)證碼PIN個(gè)人驗(yàn)證碼信息creat(atm,this,card,pin)為當(dāng)前會(huì)話創(chuàng)立事務(wù)create(this)cardATM卡信息doAgainATM創(chuàng)立會(huì)話執(zhí)行下一個(gè)事務(wù)ejectCard()ATM卡【問題1〔7分〕依據(jù)【說明】中的描述,給出圖3-1中A1和A2U1至U3所對應(yīng)的用例,以及該圖中空〔1〕所對應(yīng)的關(guān)系〔U1U3的可選用例包括:SessionTransactionInsertCard、InvalidPINProcess和Transfer〕【問題2〔6分〕依據(jù)【說明】中的描述,使用表3-13-26~9對應(yīng)的消息?!締栴}3〔2分〕3-1U3Withdraw、Deposit等四個(gè)用例之間的關(guān)系及其內(nèi)涵。圖3-1 ATM系統(tǒng)頂層用例圖圖3-2 的序列圖〔無驗(yàn)證消息〕答案:編碼題〔15分〕閱讀以下說明和Java代碼,將應(yīng)填入 〔n〕 處的字句寫在答題紙的對應(yīng)欄內(nèi)?!菊f明】現(xiàn)欲實(shí)現(xiàn)一個(gè)圖像掃瞄系統(tǒng),要求該系統(tǒng)能夠顯示BMP、JPEG和GIF三種格式的文件,并且能夠Windows和LinuxBMP、JPEGGIF三種格式的文件解析為像素矩陣,然后將像素矩陣顯示在屏幕上。系統(tǒng)需具有較好的擴(kuò)展性以支持的文件格式和操作系統(tǒng)。為滿足上述需求并削減所需生成的子類數(shù)目,承受橋接〔Bridge〕設(shè)計(jì)模式進(jìn)展設(shè)計(jì)所得類圖如圖7-1所示。圖7-1 類圖承受該設(shè)計(jì)模式的緣由在于:系統(tǒng)解析BMP、GIF與JPEG文件的代碼僅與文件格式相關(guān),而在屏幕上顯示像素矩陣的代碼則僅與操作系統(tǒng)相關(guān)?!綣ava代碼】classMatrix{ //各種格式的文件最終都被轉(zhuǎn)化為像素矩陣//此處代碼省略};abstractclassImageImp{public abstractvoiddoPaint(Matrixm); //m};classWinImpextendsImageImp{publicvoiddoPaint(Matrixm){/*windows系統(tǒng)的繪制函數(shù)繪制像素矩陣*/}};classLinuxImpextendsImageImp{publicvoiddoPaint(Matrixm){/*Linux系統(tǒng)的繪制函數(shù)繪制像素矩陣*/}};abstractclassImage{publicvoidsetImp(ImageImpimp){};〔1〕 =imp;}publicabstractvoidparseFile(StringfileName);protected 〔2〕 imp;class BMPextendsImage{public voidparseFile(StringfileName){/ /BMP文件并獲得一個(gè)像素矩陣對象m〔3〕 ;// 顯示像素矩陣m}};class GIFextendsImage{//此處代碼省略};class JPEGextendsImage{//此處代碼省略};publicclassjavaMain{publicstaticvoidmain(String[]args){上查看demo.bmp圖像文件Imageimage1= 〔4〕 ;ImageImpimageImp1= 〔5〕 ;〔6〕 ;image1.parseFile(“demo.bmp“);}}答案:2009圖像文件和5種操作系統(tǒng),不考慮類Matrix和類javaMain,假設(shè)承受橋接設(shè)計(jì)模式則至少需要設(shè)計(jì) 〔7答案:2009設(shè)計(jì)題〔共15分〕閱讀以下說明和UML圖,答復(fù)以下問題1至問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。【說明】某企業(yè)為了便利員工用餐,為餐廳開發(fā)了一個(gè)訂餐系統(tǒng)〔 COS:Cafeteria OrderingSys約規(guī)律的訂餐,在特別狀況下可以掩蓋預(yù)訂。及記錄收費(fèi)〔對于沒有注冊 是1.2.3.4.5.6.7.8.

顧客懇求查看菜單;顧客選菜;顧客確認(rèn)訂單;系統(tǒng)顯示可送餐時(shí)間;顧客指定送餐時(shí)間、地點(diǎn)和支付方式;Email1923工。系統(tǒng)承受面對對象方法開發(fā),使用UML進(jìn)展建模。系統(tǒng)的頂層用例圖和一次訂餐的活動(dòng)圖初稿分別如圖3-1和圖3-2所示。【問 依據(jù)【說明】中的描述,給出圖3-1中A1和A2所對應(yīng)的參與者?!?據(jù)【說明】中的描述,給出圖3-1中缺少的四個(gè)用例及其所對應(yīng)的參與者。問8據(jù)【說明】中的描述,給出圖3-2中〔1〕~〔4〕處對應(yīng)的活動(dòng)名稱或圖形符號(hào)。題〔1分〕問4題〔1分〕圖3-1 COS系統(tǒng)頂層用例圖圖3-2 一次訂餐的活動(dòng)圖答案:編碼題閱讀以下說明和Java代碼,將應(yīng)填入〔n〕編碼題【Java代碼】importjava.util.ArrayList;importjava.util.List;〔1〕classAbstractFile{protectedStringname;publicvoidprintName{System.out.println(name);}publicabstractbooleanaddChild(AbstractFilefile);publicabstractbooleanremoveChild(AbstractFilefile);publicabstractList<AbstractFile>getChildren;}classFileextendsAbstractFile{publicFile(Stringname){=name;}publicbooleanaddChild(AbstractFilefile){returnfalse;}publicbooleanremoveChild(AbstractFilefile){returnfalse;}publicList<AbstractFile>getChildren{return 〔2〕;}}classFolderextendsAbstractFile{privateList<AbstractFile>childList;publicFolder(Stringname){=name;this.childList=newArrayList<AbstractFile>;}publicbooleanaddChild(AbstractFilefile){returnchildList.add(file);}publicbooleanremoveChild(AbstractFilefile){returnchildList.remove(file);}public 〔3〕 <AbstractFile>getChildren{return 〔4〕;}}publicclassClient{publicstaticvoidmain(String[]args){// 構(gòu)造一個(gè)樹形的文件/名目構(gòu)造AbstractFilerootFolder=newFolder(“c:\\“);AbstractFilecompositeFolder=newFolder(“composite“);AbstractFilewindowsFolder=newFolder(“windows“);AbstractFilefile=newFile(“TestComposite.java“);rootFolder.addChild(compositeFolder);rootFolder.addChild(windowsFolder);compositeFolder.addChild(file);// 打印名目文件樹printTree(rootFolder);}privatestaticvoidprintTree(AbstractFileifile){ifile.printName;List<AbstractFile>children=ifile.getChildren;if(children==null) return;for(AbstractFilefile:children){〔5〕;}}}該程序運(yùn)行后輸出結(jié)果為:答案:2010答案:2010設(shè)計(jì)題某運(yùn)輸公司打算為的售票機(jī)開發(fā)車票銷售的掌握軟件答案:答案:試題三1、A1:乘客 A2:技術(shù)人員〔1〕n:m 〔2〕1:n U1:支付金額2、C1:連續(xù)/取消接口 C2:插卡口C3:車票鍵盤 C4:目的地鍵盤〔3〕+2..*〔4〕+1..*〔5〕+1..*〔6〕1..*3、Mediator模式的意圖是定義一個(gè)對象,該對象將對象集合之間的交互封裝起來。利用式可以降低對象之間的耦合程序,避開了相關(guān)對象之間的顯式引。中介者模式廣泛應(yīng)用于GUI應(yīng)用程序的開發(fā)過程,特別是玩耍開發(fā)的時(shí)候,借助這個(gè)模式,可以不必直接治理組件之間的簡單的交互。編碼題編碼題某軟件公司欲開發(fā)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論