UML項(xiàng)目實(shí)訓(xùn)教材(PPT 43頁).ppt_第1頁
UML項(xiàng)目實(shí)訓(xùn)教材(PPT 43頁).ppt_第2頁
UML項(xiàng)目實(shí)訓(xùn)教材(PPT 43頁).ppt_第3頁
UML項(xiàng)目實(shí)訓(xùn)教材(PPT 43頁).ppt_第4頁
UML項(xiàng)目實(shí)訓(xùn)教材(PPT 43頁).ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蠹夹g(shù)及UML教程,第13章 UML項(xiàng)目實(shí)訓(xùn),第13章 UML項(xiàng)目實(shí)訓(xùn),前面章節(jié)介紹了面向?qū)ο蟮幕靖拍?、軟件開發(fā)過程和UML。介紹了UML的主要圖符、模型圖以及這些模型圖的應(yīng)用。 在學(xué)習(xí)了這些知識(shí)、方法和技能后可能還不清楚如何在一個(gè)實(shí)際項(xiàng)目中應(yīng)用UML。 本章將給出一個(gè)具體的實(shí)例“打擊游戲”,應(yīng)用UML完成項(xiàng)目開發(fā)的全過程。,13.1 項(xiàng)目啟動(dòng),在實(shí)際的軟件公司中,軟件項(xiàng)目一般都是由軟件項(xiàng)目組開發(fā)的 在軟件項(xiàng)目組中每個(gè)項(xiàng)目組的成員都有自己明確的分工,他們相互合作完成項(xiàng)目開發(fā) 項(xiàng)目啟動(dòng)就是參照軟件公司的軟件項(xiàng)目開發(fā)方式,先組建項(xiàng)目組,確定項(xiàng)目的目標(biāo),制定項(xiàng)目開發(fā)計(jì)劃,為實(shí)際的項(xiàng)目開發(fā)做好

2、準(zhǔn)備。,13.1 項(xiàng)目啟動(dòng),項(xiàng)目組一般由4到5人組成,采用自由結(jié)組的方式 定義四個(gè)角色: 項(xiàng)目經(jīng)理 系統(tǒng)分析員 程序員 測試員,13.1.1 建立項(xiàng)目組,13.1 項(xiàng)目啟動(dòng),明確開發(fā)目標(biāo) 打擊游戲的項(xiàng)目目標(biāo)可以確定為:開發(fā)一個(gè)簡單的小娛樂游戲,通過點(diǎn)擊游戲窗口中的圖片,可以贏得游戲分?jǐn)?shù),隨著分?jǐn)?shù)的積累能夠升級(jí)。 制定開發(fā)計(jì)劃(詳細(xì)內(nèi)容見教材) 為什么先制定開發(fā)計(jì)劃?一般在軟件項(xiàng)目開發(fā)之初會(huì)根據(jù)項(xiàng)目開發(fā)的合同時(shí)間確定一個(gè)項(xiàng)目計(jì)劃 。,13.1.2 制定開發(fā)計(jì)劃,13.2 項(xiàng)目需求分析,這里要開發(fā)的打擊游戲?qū)儆谧约洪_發(fā)產(chǎn)品,因此需要系統(tǒng)分析員組織項(xiàng)目組成員進(jìn)行系統(tǒng)的需求分析 具體的需求可以參考市面

3、上流行的這些小游戲,根據(jù)它們提供的功能特點(diǎn),游戲特色,吸引玩家的地方等等 在項(xiàng)目組全體成員的共同努力下,盡量多的挖掘出系統(tǒng)的需求,13.2.1 需求獲取,13.2 項(xiàng)目需求分析,打擊游戲的需求分析是從功能描述、界面描述兩個(gè)方面著手的 游戲提供一個(gè)界面,隨機(jī)在某個(gè)位置上放置一幅圖片。玩家可以點(diǎn)擊該幅圖片,當(dāng)圖片被點(diǎn)中時(shí),圖片消失,在窗口上別的位置上再出現(xiàn)一幅圖片,游戲繼續(xù);如果在規(guī)定的時(shí)間內(nèi)玩家沒有點(diǎn)中圖片,游戲結(jié)束。 玩家每次點(diǎn)中圖片后,給玩家加分,將分?jǐn)?shù)顯示在界面上。當(dāng)玩家的分?jǐn)?shù)達(dá)到一定數(shù)值后,游戲晉級(jí),表現(xiàn)為圖片停留的最長時(shí)間減少。,13.2.2 需求描述,13.2 項(xiàng)目需求分析,用例圖,

4、13.2.2 需求描述,13.2 項(xiàng)目需求分析,用例說明: 玩家:實(shí)際游戲的軟件使用者,通過點(diǎn)擊圖片,獲取分?jǐn)?shù)。 Timer:計(jì)算機(jī)系統(tǒng)的定時(shí)器,負(fù)責(zé)放置圖片,記錄圖片顯示時(shí)間。 打擊游戲:玩家點(diǎn)擊圖片,贏得分?jǐn)?shù)。 記錄分?jǐn)?shù):系統(tǒng)記錄玩家的分?jǐn)?shù),顯示玩家的最后得分。 晉級(jí):當(dāng)玩家得到的分?jǐn)?shù)達(dá)到某個(gè)規(guī)定的限值時(shí)游戲晉升到下一個(gè)級(jí)別。,13.2.2 需求描述,13.2 項(xiàng)目需求分析,事件流: 1玩家啟動(dòng)游戲,進(jìn)入游戲界面; 2玩家點(diǎn)擊開始按鈕,游戲開始; 3定時(shí)器在界面的某個(gè)位置放置一張圖片 4規(guī)定時(shí)間內(nèi),點(diǎn)擊圖片,圖片消失,玩家得分; 5系統(tǒng)顯示玩家的分?jǐn)?shù); 6循環(huán)34; 7當(dāng)玩家分?jǐn)?shù)達(dá)到一個(gè)規(guī)

5、定的值時(shí),玩家晉級(jí),顯示玩家的級(jí)別。 8如果玩家已經(jīng)通關(guān),游戲結(jié)束; 9循環(huán)38;,13.2.2 需求描述,13.2 項(xiàng)目需求分析,備選事件流: 3.a玩家沒有點(diǎn)擊到圖片,并且時(shí)間片結(jié)束,游戲結(jié)束,顯示對(duì)話框“游戲結(jié)束,您的得分為XXX,是否重新開始游戲!”; 8.a玩家通關(guān)后,顯示對(duì)話框“您已經(jīng)通關(guān),是否重新開始游戲!”;,13.2.2 需求描述,13.2 項(xiàng)目需求分析,13.2.3 軟件界面,13.2 項(xiàng)目需求分析,1、加分規(guī)則: 2、晉級(jí)規(guī)則: 3、難度規(guī)則:,13.2.4 游戲規(guī)則定義,13.2 項(xiàng)目需求分析,1、啟動(dòng)游戲 2、進(jìn)行游戲 3、游戲晉級(jí) 4、游戲通關(guān) 5、游戲失敗 6、暫

6、停游戲,13.2.5 游戲說明,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),進(jìn)行系統(tǒng)設(shè)計(jì)主要步驟: 首先根據(jù)對(duì)需求用例的事件流進(jìn)行分析,找到系統(tǒng)中的備選對(duì)象。 其次分析系統(tǒng)中具體對(duì)象和對(duì)象之間的關(guān)系,也就是對(duì)象之間如何進(jìn)行消息傳遞。 再次根據(jù)上面的分析,設(shè)計(jì)出系統(tǒng)順序圖或協(xié)作圖。 最后,進(jìn)行抽象得到系統(tǒng)的靜態(tài)結(jié)構(gòu)圖-類圖。,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),從事件流描述中找出所有可能的對(duì)象: 界面:游戲的界面 圖片:打擊游戲界面上顯示的圖片 分?jǐn)?shù):游戲玩家在玩游戲中贏得的分?jǐn)?shù) 級(jí)別:游戲的難度等級(jí),玩家獲得的分?jǐn)?shù)達(dá)到一定值,游戲晉級(jí) 定時(shí)器:控制游戲界面中圖片的顯示時(shí)間,13.3.1 系統(tǒng)備選對(duì)象,13

7、.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),進(jìn)一步分析可能還有以下對(duì)象: 棋盤:游戲界面中的顯示圖片的區(qū)域,被劃分成3行4列共12個(gè)單元格,每個(gè)單元格中可以顯示圖片 系統(tǒng):控制和管理游戲中的系統(tǒng)事件,13.3.1 系統(tǒng)備選對(duì)象,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),被選對(duì)象: 系統(tǒng):System 圖片:Picture 棋盤:Board 定時(shí)器:Timer 級(jí)別:GameLevel 分?jǐn)?shù):Score,13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),玩家要想開始游戲,就需要給發(fā)一個(gè)開始消息 給系統(tǒng)對(duì)象System發(fā)送一個(gè)消息start(),13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),

8、系統(tǒng)對(duì)象收到開始游戲后,首先需要顯示游戲的棋盤。這時(shí)系統(tǒng)對(duì)象System需要給游戲盤對(duì)象Board發(fā)送一個(gè)顯示棋盤的消息displayPic(),13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),顯示棋盤,同時(shí)還需要在棋盤上顯示一張圖片。這時(shí)需要棋盤對(duì)象Board給圖片對(duì)象Picture發(fā)送一個(gè)消息show(),13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),顯示玩圖片后,需要開始記錄圖片的顯示時(shí)間。這時(shí)需要系統(tǒng)對(duì)象System給定時(shí)器對(duì)象Timer發(fā)送一個(gè)消息start(),13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),匯總得到協(xié)作圖,13.3.2

9、系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),點(diǎn)擊圖片后,隱藏圖片,增加分?jǐn)?shù),計(jì)算晉級(jí) 按照前面過程可以得到協(xié)作圖,13.3.2 系統(tǒng)對(duì)象分析,13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),前面分析了系統(tǒng)中的對(duì)象,進(jìn)一步對(duì)這些對(duì)象進(jìn)行抽象可以得到類和類間關(guān)系,13.3.3 系統(tǒng)類圖設(shè)計(jì),13.3 使用UML進(jìn)行系統(tǒng)設(shè)計(jì),完成系統(tǒng)類圖設(shè)計(jì)后繼續(xù): 編寫系統(tǒng)設(shè)計(jì)規(guī)格說明書 詳細(xì)記錄對(duì)象的分析和設(shè)計(jì)過程 給出系統(tǒng)順序圖或協(xié)作圖,并給出說明 給出經(jīng)過抽象后得到的類圖,給出類的主要屬性和方法的描述,13.3.3 系統(tǒng)類圖設(shè)計(jì),13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.1 添加系統(tǒng)類,13.4 使用UML進(jìn)行類設(shè)計(jì)

10、,13.4.2 類圖設(shè)計(jì),系統(tǒng)設(shè)計(jì)類在具體實(shí)現(xiàn)時(shí)可能被轉(zhuǎn)化成一個(gè)包,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.2 類圖設(shè)計(jì),系統(tǒng)設(shè)計(jì)中的類在實(shí)現(xiàn)中也可能還映射成一個(gè)類,例如System類 有時(shí)系統(tǒng)設(shè)計(jì)中的類在實(shí)現(xiàn)是可能消失或者變成了一個(gè)屬性或方法了,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.3 添加屬性,對(duì)設(shè)計(jì)類進(jìn)行細(xì)化,增加屬性 類Level中需要增加一個(gè)屬性gameLevel 類Board中需要增加一個(gè)圖片類的引用屬性pic,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.4 添加方法,對(duì)設(shè)計(jì)類進(jìn)行細(xì)化,例如System類增加方法: start():開始游戲方法。 hit():用戶點(diǎn)擊動(dòng)作處理方

11、法。 System():構(gòu)造系統(tǒng)中的主要對(duì)象。 init():初始化重要對(duì)象的屬性。 stop():結(jié)束游戲。 addScore():游戲加分。 addLevel():游戲晉級(jí)。,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.4 添加方法,例如System類增加方法后類圖,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),細(xì)化后實(shí)現(xiàn)類圖,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),System類的主要方法:,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),Timer類的主要方法:,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),TimeLength類的主要屬性和方法 :,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),Board類的主要方法 :,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),Score類的主要方法 :,13.4 使用UML進(jìn)行類設(shè)計(jì),13.4.5 類圖設(shè)計(jì),GameLevel類的主要方法 :,13.5 UML設(shè)計(jì)模型到代碼實(shí)現(xiàn)轉(zhuǎn)換,具體實(shí)現(xiàn)代碼參見教材,13.6 UML在測試階段應(yīng)用,部分測試用例和測試結(jié)果,13.7 項(xiàng)目總結(jié),本項(xiàng)目開是由項(xiàng)目小組完成的 每個(gè)項(xiàng)目組成員分配了不同的角色 項(xiàng)目開發(fā)過程中劃分成多個(gè)階段 開發(fā)過程中使用UML來描述各個(gè)階段的軟件產(chǎn)品

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論