版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)人類學(xué)(體質(zhì)人類學(xué))試題及答案
- 2025年高職機(jī)電(機(jī)電設(shè)備維修)試題及答案
- 2026年電工考證(電工理論考核)試題及答案
- 2025年中職園藝(園藝植物栽培)試題及答案
- 2025年大學(xué)藥品與醫(yī)療器械(醫(yī)藥技術(shù)推廣)試題及答案
- 2025年高職傳感器維修(傳感器維修技術(shù))試題及答案
- 2025年大學(xué)第四學(xué)年(通信原理)信號(hào)處理階段測試題及答案
- 2025年高職工藝美術(shù)品設(shè)計(jì)(工藝品設(shè)計(jì)技能)試題及答案
- 2025年大學(xué)糧食工程(糧食加工技術(shù))試題及答案
- 2025年大學(xué)廣播電視新聞學(xué)(節(jié)目策劃與制作)試題及答案
- QGDW11970.7-2023輸變電工程水土保持技術(shù)規(guī)程第7部分水土保持設(shè)施質(zhì)量檢驗(yàn)及評(píng)定
- 2024-2025學(xué)年四川省達(dá)州市高一上學(xué)期1月期末考試語文試題(解析版)
- 2025至2030年中國止鼾器行業(yè)市場現(xiàn)狀調(diào)查及前景戰(zhàn)略研判報(bào)告
- 人教版信息科技五年級(jí)全一冊(cè) 第26課 尋找最短的路徑 課件
- 人民軍隊(duì)性質(zhì)宗旨教育
- T-CEPPEA 5002-2019 電力建設(shè)項(xiàng)目工程總承包管理規(guī)范
- 護(hù)士長管理培訓(xùn)課件
- 暫緩行政拘留申請(qǐng)書
- 小學(xué)班主任經(jīng)驗(yàn)交流課件
- TSG 21-2015《固定式壓力容器安全技術(shù)監(jiān)察規(guī)程》
- 2025個(gè)人年終工作總結(jié)
評(píng)論
0/150
提交評(píng)論