1. 程式人生 > >系統分析(團隊作業4)

系統分析(團隊作業4)

決勝 Poker

1.修改完善已提交的需求規格說明書

  • 不足:需求文件描述缺少目錄以及規範多人遊戲時的規範
    《需求規格說明書v1.1》


    2.討論制定團隊的編碼規範

    java程式碼開發規範

    一、基本編碼原則

  • 1.用空格字元縮排原始碼,不用tab,每個縮排4個空格。
  • 2、一行一個語句,每個語句後要換行。
  • 3、列限制(一行最多80個字元),否則需要換行。
  • 4、每次編寫完成部分任務需備份發給同伴檢查,及時為同伴解答程式碼意思,積極與同伴解決出現的問題。
  • 5、無直接關聯的程式碼之間空兩行方便辨識。


    二、命名

    一、識別符號

  • 1、明確
    識別符號能準確的表達出它所代表的意義。儘量不用ABC這些簡單的字母來設定識別符號。
  • 2、簡潔
    用盡量少的識別符號。一些較長的識別符號用縮寫來代替。(注意標註)
  • 3、使用英文
    儘可能的使用通俗易懂的英文單詞,實在不行則使用漢語拼音,避免拼音與英文混用。
  • 4、駱駝命名法
    混合使用大小寫字母來構成變數和函式的名字,函式名中的每一個邏輯斷點都有一個大寫字母來標記。例如:printEmployeePaychecks();

二、包名

  • 全部使用小寫字母。例如:com.xxx.test

三、類名

  • 1、類名首字母大寫。例如:NewService。
  • 2、類名字尾用規定好的字尾名來表達相應的意思。例如:PaymentOrderService,Service表明了這個類是個伺服器類。

四、方法名

  • 1、首字母小寫。例如:createText()。
  • 2、動詞在前。例如:textCreate()錯誤。
  • 3、動詞字首用規定好的字尾名來表達相應的意思。例如:deleteOrder,delete表明刪除。

五、域名

  • 1、靜態常量與列舉
    全用大寫字母和下劃線分割。例如:public static find String GET_MONEY = “GET_MONEY”

3.資料庫設計

  • 在隨筆中展示資料庫設計的結果,至少需要包含ER圖。

4.專案的後端架構設計

  • 選擇通用架構,因為其方便除錯


5.確定團隊Alpha版本要實現的功能

  • 參考分而治之(WBS - Work Breakdown Structure)給出相應的WBS圖。

  • 利用象限法(《構建之法》 8.5)稽核上一次作業所確定需求優先順序,明確專案的核心功能

優先順序 功能 使用者故事描述
基礎 正常運行遊戲 身為一名大學生,我想要有一款執行流暢的桌遊APP,可以隨時隨地玩轉桌遊
裝飾 使用者介面個性化裝飾 身為一名追求精緻的桌遊愛好者,在這款APP中我希望有與眾不同的個人介面,遊戲頭像
困難模式 讓使用者玩到更高難度的桌遊 我是一個桌遊的瘋狂愛好者,對於過於簡單的遊戲沒有興趣,我希望和我一樣有實力的人一起玩困難模式

6.關鍵技術與難點


6.1 線上會話

  • 多人模式線上會話通過線上會話節點完成,以下節點通過 藍圖 在多人遊戲中建立主機、尋找、加入或退出。 這些節點為 隱藏,意味著它們在後臺執行操作(通常因為這些操作必須通過網路進行交流),並在之後的某點結束。

I.建立會話

  首先從 Create Session 節點開始。遊戲成功建立一個會話後,遊戲的其他例項即可發現(使用 Find Session 節點)並加入(使用 Join Session 節點)。在此節點上可指定會話中允許的玩家數量,以及是否可在 LAN 模式中建立會話。對於支援的線上子系統模組而言,將 LAN 模式設為 false 將嘗試建立線上遊戲。


II.尋找會話

使用 Find Sessions 節點獲取當前公佈並可加入的遊戲會話的列表。BlueprintSessionResult 從成功呼叫返回後可獲取伺服器的名稱、ping 和玩家數量。


III.加入會話

確定加入的 BlueprintSessionResult 後,將其傳入 Join Session 呼叫。如遊戲成功連線到伺服器,它將自動前往伺服器的對映並加入遊戲。  


IV.銷燬會話

如不希望其他玩家發現並加入遊戲,可呼叫 Destroy Session 節點。此操作將導致您離開會話;如您為主機,將會話關閉,使其無法被發現。     


6.2難點:錯誤處理節點

  • 處理網路操作時始終存在出現錯誤的可能,遊戲需要對錯誤進行恰當的處理。可能主機已於先前推出您嘗試加入的會話,也可能您的網路服務已臨時關閉,還可能出現不勝列舉的各種其他錯誤。遊戲可通過藍圖靈活處理這些與網路相關的錯誤。
    以上會話操作出現的錯誤將通過 OnFailure 執行引腳進行報告,以便對遊戲進行設定,處理問題。對於一些特定型別的錯誤,或遊戲程序中發生的錯誤,可從 GameInstance 藍圖中呼叫兩個錯誤事件 - Network Error 和 Travel Error。

Event Network Error:
Network Error 事件允許遊戲對事件進行迴應,接收描述錯誤型別的列舉值,並進行適當的迴應 - 如遊戲可能對使用者顯示一個對話方塊。
Event Travel Error:
Travel Error 事件不及 Network Error 常見,使遊戲處理 Network Error 未涉及的情況(如嘗試載入無效地圖)。


7.團隊管理

  • 團隊分工
姓名 比例權重 參與工作範圍
鄭俊瑜 18% 製作ER圖,撰寫部落格及排版等
陳卓楠 16% 製作WBS圖 ,撰寫 Alpha版本要實現的功能
陳映巨集 16% 製作 WBS圖,撰寫Alpha版本要實現的功能
冉繁盛 17% 撰寫關鍵技術及難點
劉世華 17% 演講,撰寫專案的後端架構設計
姚皓鈺 16% 撰寫編碼規範


  • 用Leangoo的截圖來展示分工和完成的過程


  • 燃盡圖