飛機大戰概要設計文檔 4改


飛機大戰概要設計

文檔規格說明書

 

1. 引言部分

1.1目的

該文檔描述的是飛機大戰的概要設計,主要內容包括飛機大戰功能簡介等。

本文檔預期的讀者包括全體小組成員及指導教師。

1.2 范圍

1.2.1 項目目標

開發一個能為生活增添樂趣,填補空閑無聊時間、豐富我們的生活的小游戲,滿足我們休閑娛樂的要求。

1.2.2 主要項目需求

該游戲主要功能包括:

 操控戰機

 發射炮彈

 攻擊敵機

 收集道具

1.2.3 項目設計約束、限制

該游戲支持鼠標或鍵盤操控。

1.3縮寫

1.4參考資料

[1]軟件工程方法與實踐第3版  主編  竇萬峰  機械工業出版

2.數據設計

本部分主要描述軟件所涉及的外部數據的結構描述。如果數據以數據庫文件呈現,則要描述表的名稱和表字段結構;如果數據以外部文件的形式呈現,則要描述文件的內部結構。

2.1數據對象和形成的數據結構

該游戲系統涉及的主要數據結構如下:

存檔功能:用來記錄玩家當前的游戲進度。其數據結構是一個javascript對象類型。

戰機:描述戰機的基本信息,包括移動的最大最小速度、子彈數量等。其數據結構是一個javascript對象類型

道具:隨着經驗的加成到一定值后而生成的物品,用來各提升角色屬性值,使角色戰力提高。其數據結構是一個javascript對象類型。

敵機:戰機在游戲中遇到的敵軍戰機,包括普通戰機和Boss戰艦,擊敗后可獲得經驗加成。其數據結構是一個javascript對象類型。

游戲基本設置:包括游戲的開始,暫停等功能信息。數據結構是一個javascript對象類型。

系統信息:有關開始界面的相關音樂、背景設置。數據結構是一個javascript對象類型。

2.2文件和數據庫結構

描述文件的數據結構或者庫表的結構

2.2.1外部文件結構

 包括游戲所需的插圖、音樂、保存文檔、標志、配置文件、各類數據文檔(道具、敵機等)。該游戲主要的外部文件有:

背景音樂文檔achievement.mp3、buttet.mp3、game_music.mp3、enemy_down.mp3

插圖文檔shoot.png、shoot_background.png

游戲標志btnbg.png

游戲配置文件project.json

各類數據文檔data.json

 

2.2.2全局數據

該游戲系統的全局變量有:

游戲進行時間Totaltime。

公共事件處理器PublicEventProcessor。

變量計數器VariableCounter

游戲全局基本數據結構定義如下:

properties: {

按鈕;

分數;

子彈;

碰撞;

暫停;

戰機;

敵機;

音效;

}

2.2.3文件和數據交叉索引

背景音樂文檔用在系統地圖事件初始化功能中;

背景圖片文檔用在戰斗事件功能中;

游戲標志文檔用在數據庫初始化功能中;

游戲配置文件用在游戲戰斗事件功能中;

各類數據文檔用在數據庫初始化功能中。

 

3. 體系結構設計

  這一部分主要描述軟件的邏輯組成接口,即軟件結構圖的繪制。

 

3.1數據和控制流復審

對需求規格說明或產品規格說明中要實現的功能進行歸納分析,對涉及的數據和控制流進行匯總和歸並,為概要設計做准備。
    一般對數據流圖的精化分析包括兩個方面的內容,一是審查整個數據流圖,查看有沒有遺漏的地方,並補充和完善二是分析每一個數據流圖,去掉一些細節的內容,這里去掉數據存儲和外部用戶。  
  對於面對面結對編程系統,我們補充了一個總體數據流圖,如圖所示。

1:飛機大作戰系統總體數據流圖

對部分數據流圖的精華如下:

2:游戲初始化操控戰機數據流

3:游戲產生並使用道具數據流圖

 

 4:游戲生產敵機數據流圖

 

3.2得出程序結構

根據復審的數據流圖,逐步得出軟件的邏輯組成結構。利用優化思想,對軟件結構圖進行優化設計,得出模塊層次結構適中的軟件結構圖。如下圖,是優化過的系統結構圖。

3:飛機大作戰游戲系統結構圖

 

4.界面設計

這一部分主要給出界面設計的總體要求和界面序列,以及界面設計規約。

4.1人機界面規約
給出界面風格、約定和操作要求,設計出用戶的所有界面。

飛機大戰的界面主要包括下面幾種。

 游戲加載界面:該界面用於顯示游戲的加載進度。

 游戲開始界面:該界面作為游戲的起始界面,只有開始游戲一個按鍵。點開 始游戲即可進行游戲;該界面還顯示了游戲名稱,下方是不斷有飛機划過。

 系統總控界面:系統總控界面是系統的主界面,主要完成與用戶的交互任務,接收用戶的請求,並調用相應的模塊。另外總控界面應能夠顯示用戶的角色信息和駕馭者的工作時間,以及顯示強制交換的系統時間等。

 系統設置界面:系統設置界面主要設置系統的運行參數。

 游戲界面:用戶通過鼠標操作飛機進行游戲,不可觸碰其他飛行物,可通過攻擊來消滅其他飛行物。

 游戲結束界面:若觸碰了其他飛行物,游戲結束。該界面顯示了最終得分。可選擇重新開始、歷史成績、離開游戲。


4.2人機界面設計規約
  給出界面序列關系,以及每個界面的操作規則和處理規則。

Ø 游戲總控制界面序列:啟動游戲 — 啟動新游戲 — 進入游戲 —(游戲存檔)— 結束游戲。

 

5.接口設計

5.1外部接口設計

與外部系統或設備的連接關系和通信方式。

5.1.1外部數據接口

暫無

5.1.2外部系統或設備接口

與外部系統或接口的連接方式和通信方式。本系統與外部接口僅僅是硬件的接口要求,鼠標、鍵盤的要求是USB接口連接。

 

5.2內部接口設計規約

內部接口是軟件邏輯模塊之間的調用接口。內部接口設計規約定義內部模塊之間的調用關系和傳遞的數據結構。

5.2.1內部模塊接口調用關系

內部模塊的接口調用關系可參看圖B-8,為了便於討論,我們給每一個模塊一個編號,並對結構圖進一步進行優化。它們的接口調用關系如下。

 

 

 

B-9 飛機大戰系統結構圖(帶編號)

系統總模塊:SceneManager.run.

總控模塊:SceneManager.program.

1.1初始化模塊:SceneManager.init.

1.2 畫面制作模塊:ImageManager.make.

1.3 記錄分數:DataManager.score.

1.4 顯示成績:DataManager.outcome.

1.2.1 制作敵機:ImageManager.oppo.

1.2.2 制作戰機:ImageManager.regu.

1.2.3 制作子彈:ImageManager.bull.

1.2.4 制作道具:ImageManager.prop.

1.2.2.2 操控戰機:TouchInput.fight.

 

5.2.2接口數據結構

描述接口的每個參數數據結構、參數順序和默認值。

主要數據結構有user、Managers等。

6.模塊過程設計

6.1 處理說明

游戲程序加載模塊:設置基本的參數,對各個子系統模塊進行初始化操作。

游戲界面設計模塊:設置游戲界面等等。

游戲對象繪制模塊:對戰機、敵機、炮彈等進行設計。

游戲動作執行模塊:進行攻擊,移動等等

游戲規則調用模塊:對玩家當前所做出的動作做出相應的反應,判斷是否射中,擊毀敵機等等。

6.2使用的模塊

系統程序加載模塊在啟動時,會初始化其他各個模塊。

其余各個模塊在游戲進行時,會相互調用

 

7.需求交叉索引

描述需求與模塊的關系、存在交叉的部分,即共享模塊的調用關系。

●游戲開始:1-1 開始游戲。

●設置音效:1-2 音效設置。

●顯示成績:1-3 查看當前分數。

●結束游戲:1-4 退出游戲。

 

8.測試部分

本部分描述測試的原則與方法,以及測試策略和計划。

8.1測試方針

針對主要功能優先測試,查看是否游戲順利進行,得分是否正確等等。測試方法盒測試方式與白盒測試方式相結合

8.2集成策略

本項目采用自頂向下的方式進行測試。

一層一層往下測試。

8.3特殊考慮

注意擊中敵機與得分設置,和鍵盤或鼠標的穩定性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM