第一次接觸通訊和服務端框架,在前期準備階段學習了很多不同的技術,也相應花費了很多時間去嘗試。剛開始時還不知道框架這種東西,準備自己寫,於是學習並嘗試了一些簡單的http通訊,比較麻煩,而且還要自己連線底層的資料庫,這些都太費時間,和我們想要的敏捷開發不符。
後來在一次開會時,看了之前學長們留下的部落格,發現他們都是使用一些框架,能夠簡化這些底層的操作,為我們節約更多的時間,於是我們也決定使用django框架,雖然這並不是最合適的,但也能滿足我們的需求。當然在嘗試階段發現django的http通訊並不能完全滿足我們的需求,使用輪訓進行實時通訊對前端的壓力又太大,於是又花了幾天的時間學了channel,最終準備階段的知識都儲備的差不多了,我們開始進入到了開發階段。
在開發階段,我們在一開始就定義好了前後端互動的介面和各種屬性。這對前後端的開發都有很大的益處,方便了很多,也在很大的程度上給予了前後端開發的自由,不必頻繁的交流介面通訊問題。當然在開發過程中遇到一些新需求之類的我們還會經常修改增加介面,並且用github統一管理,讓大家都能及時知道介面的變化。
最終的測試階段應該是整個工程最複雜的階段,也是我們在下一階段工作的核心。對於已有的介面,測試時還是會發現有各種各樣的bug需要修改,不斷的變更,才能達到前後端都滿足的要求。還有一點就是構造遊戲場景,這個很繁瑣,畢竟找一堆人來測我們的程式是不現實的,我們只能自己先初始化各種資料,然後進行介面測試,在某種程度上測試介面的正確性。這種做法雖然不是最完美的,但卻是現階段我們能做的最好的選擇了。
1). 遊戲介面的修改與完善。
2). 遊戲介面的測試,這個任務量比較大。
3). 異常處理,在alpha階段,對於異常還未進行統一處理。
4). 不同玩家掉線的處理方案,暫時沒有考慮這種情況。
大三上的課程安排一直是廣被各屆學生所詬病的,就我個人而言,除了軟工以外,編譯實驗,資料庫大作業,機器學習大作業,移動計算大作業,大資料大作業這些全都是這幾周要完成。對於這些課程我也是很想去認真做的,比如軟工,很想做出東西來,可是真的不能在這上面投資太多時間,畢竟這只是一門選修,我們還有很多重要的課業要完成。我想那些中途放棄的同學大概就是這個原因吧,畢竟我們作為乙個學生,還是要以學業為重,不能想做什麼就做什麼。希望學院好好思考一下課程的安排是否合理,草草應對我們又能學到多少呢?
在這學期經常會有種無力感,對於很多課都想過要學什麼,要做什麼,不過大都放棄了,非常遺憾。即使我們想只選幾門課好好的搞,可是學分要求卻不允許,大一大二總共才修了5分,總共要修20分,下學期也沒什麼課,只能全放在這學期了,真應該調調課程安排或者學分制度。
在一開始就分配好了每個人的任務,定義好了前後端互動的介面。在前期的開發階段給予了前後端充分的自由,極大的節約了交流所花費的時間。
對於後端而言,下階段除了介面的修改與完善之外,最重要的就是測試,主要有以下幾點:
1). 介面是否能正確的返回執行結果,邏輯部分是否正確。
2). 對於玩家突然掉線的判斷與處理。
3). 多執行緒是否會有資料不同步的問題測試。
個人總結 Alpha階段
一 個人總結 經過幾周的alpha階段,對於軟體設計有了大概的認識,也深刻感覺到一款軟體設計出來的不易,每款軟體背後都是開發人員辛勤的汗水。在軟體開發的過程中,也是會出現很多的問題,出現各種各樣的bug,雖然真的很煩,但是還得耐著性子去做,大家一起討論,一起學習,一起尋找解決問題的方法。經過幾周的開...
個人作業3 個人總結(Alpha階段)
2017 5 15 22 00pm,以部落格發表日期為準 我們在alpha 結束之後,每位寫乙個部落格,總結自己的alpha 過程,同時,大家一定會在過程中產生了很多問題,結合你的讀書 教材,部落格,參考書 實踐,提出關於軟體工程的 5 個問題。在每個問題後面,請說明哪一章節的什麼內容引起了你的提問...
個人作業3 個人總結(Alpha階段)
2017 5 15 22 00pm,以部落格發表日期為準 我們在alpha 結束之後,每位寫乙個部落格,總結自己的alpha 過程,同時,大家一定會在過程中產生了很多問題,結合你的讀書 教材,部落格,參考書 實踐,提出關於軟體工程的 5 個問題。在每個問題後面,請說明哪一章節的什麼內容引起了你的提問...