




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο蠹夹g(shù)及UML教程第13章 UML工程實訓(xùn) 第13章 UML工程實訓(xùn) 前面章節(jié)引見了面向?qū)ο蟮母靖拍睢④浖_發(fā)過程和UML。引見了UML的主要圖符、模型圖以及這些模型圖的運用。 在學(xué)習(xí)了這些知識、方法和技藝后能夠還不清楚如何在一個實踐工程中運用UML。 本章將給出一個詳細(xì)的實例“打擊游戲,運用UML完成工程開發(fā)的全過程。 13.1 工程啟動 在實踐的軟件公司中,軟件工程普通都是由軟件工程組開發(fā)的 在軟件工程組中每個工程組的成員都有本人明確的分工,他們相互協(xié)作完成工程開發(fā) 工程啟動就是參照軟件公司的軟件工程開發(fā)方式,先組建工程組,確定工程的目的,制定工程開發(fā)方案,為實踐的工程開發(fā)做好預(yù)備
2、。13.1 工程啟動 工程組普通由4到5人組成,采用自在結(jié)組的方式 定義四個角色:工程經(jīng)理系統(tǒng)分析員程序員測試員13.1.1 建立工程組 13.1 工程啟動明確開發(fā)目的 打擊游戲的工程目的可以確定為:開發(fā)一個簡單的小文娛游戲,經(jīng)過點擊游戲窗口中的圖片,可以博得游戲分?jǐn)?shù),隨著分?jǐn)?shù)的積累可以晉級。 制定開發(fā)方案詳細(xì)內(nèi)容見教材 為什么先制定開發(fā)方案?普通在軟件工程開發(fā)之初會根據(jù)工程開發(fā)的合同時間確定一個工程方案 。13.1.2 制定開發(fā)方案 13.2 工程需求分析 這里要開發(fā)的打擊游戲?qū)儆诒救碎_發(fā)產(chǎn)品,因此需求系統(tǒng)分析員組織工程組成員進(jìn)展系統(tǒng)的需求分析 詳細(xì)的需求可以參考市面上流行的這些小游戲,根據(jù)
3、它們提供的功能特點,游戲特征,吸引玩家的地方等等 在工程組全體成員的共同努力下,盡量多的發(fā)掘出系統(tǒng)的需求 13.2.1 需求獲取 13.2 工程需求分析 打擊游戲的需求分析是從功能描畫、界面描畫兩個方面著手的 游戲提供一個界面,隨機(jī)在某個位置上放置一幅圖片。玩家可以點擊該幅圖片,當(dāng)圖片被點中時,圖片消逝,在窗口上別的位置上再出現(xiàn)一幅圖片,游戲繼續(xù);假設(shè)在規(guī)定的時間內(nèi)玩家沒有點中圖片,游戲終了。 玩家每次點中圖片后,給玩家加分,將分?jǐn)?shù)顯示在界面上。當(dāng)玩家的分?jǐn)?shù)到達(dá)一定數(shù)值后,游戲晉級,表現(xiàn)為圖片停留的最長時間減少。13.2.2 需求描畫 13.2 工程需求分析用例圖13.2.2 需求描畫 13.
4、2 工程需求分析用例闡明:玩家:實踐游戲的軟件運用者,經(jīng)過點擊圖片,獲取分?jǐn)?shù)。Timer:計算機(jī)系統(tǒng)的定時器,擔(dān)任放置圖片,記錄圖片顯示時間。打擊游戲:玩家點擊圖片,博得分?jǐn)?shù)。記錄分?jǐn)?shù):系統(tǒng)記錄玩家的分?jǐn)?shù),顯示玩家的最后得分。晉級:當(dāng)玩家得到的分?jǐn)?shù)到達(dá)某個規(guī)定的限值時游戲提升到下一個級別。13.2.2 需求描畫 13.2 工程需求分析事件流:1玩家啟動游戲,進(jìn)入游戲界面;2玩家點擊開場按鈕,游戲開場;3定時器在界面的某個位置放置一張圖片4規(guī)定時間內(nèi),點擊圖片,圖片消逝,玩家得分;5系統(tǒng)顯示玩家的分?jǐn)?shù);6循環(huán)34;7當(dāng)玩家分?jǐn)?shù)到達(dá)一個規(guī)定的值時,玩家晉級,顯示玩家的級別。8假設(shè)玩家曾經(jīng)通關(guān),游戲
5、終了;9循環(huán)38; 13.2.2 需求描畫 13.2 工程需求分析備選事件流:3.a玩家沒有點擊到圖片,并且時間片終了,游戲終了,顯示對話框“游戲終了,您的得分為XXX,能否重新開場游戲!;8.a玩家通關(guān)后,顯示對話框“您曾經(jīng)通關(guān),能否重新開場游戲??; 13.2.2 需求描畫 13.2 工程需求分析13.2.3 軟件界面 13.2 工程需求分析1、加分規(guī)那么:2、晉級規(guī)那么:3、難度規(guī)那么:13.2.4 游戲規(guī)那么定義 13.2 工程需求分析1、啟動游戲2、進(jìn)展游戲3、游戲晉級4、游戲通關(guān)5、游戲失敗6、暫停游戲13.2.5 游戲闡明 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計進(jìn)展系統(tǒng)設(shè)計主要步驟:首先
6、根據(jù)對需求用例的事件流進(jìn)展分析,找到系統(tǒng)中的備選對象。其次分析系統(tǒng)中詳細(xì)對象和對象之間的關(guān)系,也就是對象之間如何進(jìn)展音訊傳送。再次根據(jù)上面的分析,設(shè)計出系統(tǒng)順序圖或協(xié)作圖。最后,進(jìn)展籠統(tǒng)得到系統(tǒng)的靜態(tài)構(gòu)造圖-類圖。 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計從事件流描畫中找出一切能夠的對象:界面:游戲的界面圖片:打擊游戲界面上顯示的圖片分?jǐn)?shù):游戲玩家在玩游戲中博得的分?jǐn)?shù)級別:游戲的難度等級,玩家獲得的分?jǐn)?shù)到達(dá)一定值,游戲晉級定時器:控制游戲界面中圖片的顯示時間13.3.1 系統(tǒng)備選對象 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計進(jìn)一步分析能夠還有以下對象:棋盤:游戲界面中的顯示圖片的區(qū)域,被劃分成3行4列共12個
7、單元格,每個單元格中可以顯示圖片 系統(tǒng):控制和管理游戲中的系統(tǒng)事件 13.3.1 系統(tǒng)備選對象 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計被選對象:系統(tǒng):System圖片:Picture棋盤:Board定時器:Timer級別:GameLevel分?jǐn)?shù):Score13.3.2 系統(tǒng)對象分析 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計玩家要想開場游戲,就需求給發(fā)一個開場音訊給系統(tǒng)對象System發(fā)送一個音訊start()13.3.2 系統(tǒng)對象分析 PlayerSystemstart()13.3 運用UML進(jìn)展系統(tǒng)設(shè)計 系統(tǒng)對象收到開場游戲后,首先需求顯示游戲的棋盤。這時系統(tǒng)對象System需求給游戲盤對象Board發(fā)送
8、一個顯示棋盤的音訊displayPic() 13.3.2 系統(tǒng)對象分析 SystemBoarddisplayPic()13.3 運用UML進(jìn)展系統(tǒng)設(shè)計 顯示棋盤,同時還需求在棋盤上顯示一張圖片。這時需求棋盤對象Board給圖片對象Picture發(fā)送一個音訊show()13.3.2 系統(tǒng)對象分析 BoardPictureshow()13.3 運用UML進(jìn)展系統(tǒng)設(shè)計 顯示玩圖片后,需求開場記錄圖片的顯示時間。這時需求系統(tǒng)對象System給定時器對象Timer發(fā)送一個音訊start()13.3.2 系統(tǒng)對象分析 SystemTimerStart()13.3 運用UML進(jìn)展系統(tǒng)設(shè)計匯總得到協(xié)作圖13.
9、3.2 系統(tǒng)對象分析 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計 點擊圖片后,隱藏圖片,添加分?jǐn)?shù),計算晉級 按照前面過程可以得到協(xié)作圖13.3.2 系統(tǒng)對象分析 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計 前面分析了系統(tǒng)中的對象,進(jìn)一步對這些對象進(jìn)展籠統(tǒng)可以得到類和類間關(guān)系13.3.3 系統(tǒng)類圖設(shè)計 13.3 運用UML進(jìn)展系統(tǒng)設(shè)計完成系統(tǒng)類圖設(shè)計后繼續(xù):編寫系統(tǒng)設(shè)計規(guī)格闡明書詳細(xì)記錄對象的分析和設(shè)計過程給出系統(tǒng)順序圖或協(xié)作圖,并給出闡明給出經(jīng)過籠統(tǒng)后得到的類圖,給出類的主要屬性和方法的描畫 13.3.3 系統(tǒng)類圖設(shè)計 13.4 運用UML進(jìn)展類設(shè)計13.4.1 添加系統(tǒng)類 13.4 運用UML進(jìn)展類設(shè)計13.4
10、.2 類圖設(shè)計 系統(tǒng)設(shè)計類在詳細(xì)實現(xiàn)時能夠被轉(zhuǎn)化成一個包 13.4 運用UML進(jìn)展類設(shè)計13.4.2 類圖設(shè)計 系統(tǒng)設(shè)計中的類在實現(xiàn)中也能夠還映射成一個類,例如System類 有時系統(tǒng)設(shè)計中的類在實現(xiàn)是能夠消逝或者變成了一個屬性或方法了 13.4 運用UML進(jìn)展類設(shè)計13.4.3 添加屬性 對設(shè)計類進(jìn)展細(xì)化,添加屬性 類Level中需求添加一個屬性gameLevel 類Board中需求添加一個圖片類的援用屬性pic 13.4 運用UML進(jìn)展類設(shè)計13.4.4 添加方法 對設(shè)計類進(jìn)展細(xì)化,例如System類添加方法:start:開場游戲方法。hit:用戶點擊動作處置方法。System:構(gòu)造系統(tǒng)中
11、的主要對象。init:初始化重要對象的屬性。stop:終了游戲。addScore:游戲加分。addLevel:游戲晉級。13.4 運用UML進(jìn)展類設(shè)計13.4.4 添加方法 例如System類添加方法后類圖13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 細(xì)化后實現(xiàn)類圖13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 System類的主要方法:init():初始化參數(shù);start():啟動計時器,并顯示圖片;stop():游戲結(jié)束;addScore():計算和增加玩家分?jǐn)?shù);addLevel():計算和增加玩家級別;13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 Timer類的主要
12、方法:Star():啟動計時器; 13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 TimeLength類的主要屬性和方法 :INIT_TIME_LENGTH:初始的時間片長度屬性的值getTimeLenth():獲取時間片長度;setTimeLenth():重新設(shè)置時間片長度; 13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 Board類的主要方法 :displayPic():顯示一張圖片;hidePic():隱藏圖片; 13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 Score類的主要方法 :addScore():點擊圖片正確后,玩家加分;displayScore():顯示
13、玩家的得分;getScore():獲得玩家的得分; 13.4 運用UML進(jìn)展類設(shè)計13.4.5 類圖設(shè)計 GameLevel類的主要方法 :getLevel():獲取玩家的級別;setLevel():重新設(shè)置玩家的級別;displayLevel():顯示玩家的級別; 13.5 UML設(shè)計模型到代碼實現(xiàn)轉(zhuǎn)換 詳細(xì)實現(xiàn)代碼參見教材13.6 UML在測試階段運用 部分測試用例和測試結(jié)果編號操作期望結(jié)果實際結(jié)果結(jié)果1點擊圖片圖片消失,系統(tǒng)給玩家加分,分?jǐn)?shù)欄顯示分值的變化圖片消失,系統(tǒng)給玩家加分,分?jǐn)?shù)欄顯示分值的變化與期望的結(jié)果相符2沒有點中或未點擊圖片彈出對話框,提示游戲結(jié)束,詢問是否重新開始彈出對話框,提示游戲結(jié)束,詢問是否重新開始與期望的結(jié)果相符3點擊對話框上“是”按鈕游戲重新開始,各項數(shù)據(jù)置為初始值游戲重新開始,分?jǐn)?shù)和級別初始為0與期望的結(jié)果相符13.7 工程總結(jié) 本工程開是由工程小組完成的 每個工程組成員分配了不同的角色 工程開發(fā)過程中劃分成多
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)視角下的在線教育平臺盈利模式與市場前景
- 工程收支專項審計方案
- 物業(yè)管理文檔
- 房縣防滑施工方案
- 護(hù)理創(chuàng)新發(fā)展
- 供油項目投標(biāo)方案
- 園區(qū)底商招商方案
- 醫(yī)師宣傳方案
- 服裝市場調(diào)查報告范文-2
- 大型寺院裝修結(jié)算方案
- 學(xué)生集體外出活動備案表
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機(jī)組節(jié)能監(jiān)測方法
- 基于Qt的俄羅斯方塊的設(shè)計(共25頁)
- 西門子順序功能圖語言S7-Graph的應(yīng)用
- 中醫(yī)治療室工作制度管理辦法
- 提花裝造工藝技術(shù)培訓(xùn)課程
- 食堂投訴處理方案
- 北京市昌平區(qū)2021-2022學(xué)年八年級上學(xué)期期末考試語文試卷(word版含答案)
- 直播傳媒公司簡介PPT課件(參考)
- 水電工程分包勞務(wù)合同
- 五谷雜糧食品安全調(diào)查
評論
0/150
提交評論