【Alpha版本】沖刺階段 - Day7 - 靠泊

Alpha:指集成了主要功能的第一個試用版本。在這個版本中有些小功能并未實現(xiàn)。事實上很多軟件的 Alpha 版本只是在內(nèi)部使用。給外部用戶使用的 Alpha 版本會起一個比較美妙的名字,例如,技術(shù)預(yù)覽版(Technical Preview)。
------ 引用自《構(gòu)建之法(第三版)》
今日進展
-
袁逸灝: 1. 添加音樂; 2. 稍微再次測試了一下游戲(0.5h)
-
劉偉康:總結(jié)團隊在 Alpha 階段的總進展框架,繼續(xù)學(xué)習(xí)了部分 Android 基礎(chǔ)內(nèi)容,參考其他大學(xué)的團隊博客,修改 Alpha 階段終極版安卓編碼規(guī)范和項目說明書的 markdown 及 pdf 文件 ,檢查團隊成員的大致任務(wù),并對本產(chǎn)品進行使用測試(7h)
-
劉先潤:優(yōu)化背景圖片(1h)
-
馬軍:閱讀設(shè)計代碼。使用打包好的 apk 試運行了幾次,各個功能界面都運行良好。和劉誠昊商議下一階段的測試計劃(3h)
-
劉誠昊:重制燃盡圖;分析游戲代碼;學(xué)習(xí)Android測試(4h)
-
莫禮鐘:閱讀代碼規(guī)范并做了小部分修改,收集同組成員們的今日進展匯總,并且與其他小組進行了交互任務(wù)(1.5h)
問題困難
-
袁逸灝:當(dāng)游戲結(jié)束返回主界面的時候,按退出游戲會進入另外一個主界面(已解決)
-
劉偉康: Android 基礎(chǔ)還是很薄弱,最后一天組內(nèi)的管理有些混亂。
-
劉先潤:無。
-
馬軍:Android Studio 配置出了一點問題,還在調(diào)試中。
-
劉誠昊:對Android Studio需要更多了解。
-
莫禮鐘:無。
站立式會議
-

最后一次會議仍然全員到齊,開會內(nèi)容主要是下一階段的展望以及本階段的成果展示方式,還提了一下作業(yè)提交情況有點混亂。在我檢查了燃盡圖之后,發(fā)現(xiàn)不太符合我們團隊的實際進展,所以又讓劉誠昊改了一下,馬軍和劉誠昊即將討論出下一步的測試方案。對于我們來說,暫時可以“靠泊”休息一下了,alpha 沖刺階段有喜有悲,是時候總結(jié)反思一下了。
今日貢獻量
| 袁逸灝 | 劉偉康 | 劉先潤 | 馬軍 | 劉誠昊 | 莫禮鐘 |
|---|---|---|---|---|---|
| 0.5 | 7 | 1 | 3 | 4 | 1.5 |
【Alpha 階段】貢獻量匯總
| 袁逸灝 | 劉偉康 | 劉先潤 | 馬軍 | 劉誠昊 | 莫禮鐘 | |
|---|---|---|---|---|---|---|
| 第一天 | 5 | 4 | 5 | 2 | 2 | 1 |
| 第二天 | 3.5 | 2 | 3 | 2 | 2 | 1 |
| 第三天 | 5 | 2 | 3 | 3 | 3 | 0.5 |
| 第四天 | 5 | 3 | 3 | 2 | 1 | 1 |
| 第五天 | 5 | 1 | 5 | 1 | 2 | 1 |
| 第六天 | 7 | 4 | 4 | 2 | 1 | 1 |
| 第七天 | 0.5 | 7 | 1 | 3 | 4 | 1.5 |
| 預(yù)期貢獻 | 25 | 20 | 25 | 15 | 10 | 10 |
| 實際貢獻 | 31 | 23 | 24 | 15 | 15 | 7 |
| 完成情況 | 5 | 4 | 5 | 4 | 4 | 4 |
| 總合計 | 36 | 27 | 29 | 19 | 19 | 11 |
| 貢獻比例 | 25.53% | 19.15% | 20.57% | 13.48% | 13.48% | 7.80% |
(做這張表時我大致體會到了助教計算成績時的辛苦!(╯—﹏—)╯┷━━━┷)
-
【注】貢獻比例 = (貢獻量 + 完成情況量化)/ 實際總?cè)蝿?wù)量
貢獻量的計算規(guī)則在第一篇博客中已規(guī)定,詳見:【Alpha版本】沖刺階段 - Day1 - 啟航
完成情況 即預(yù)期目標(biāo)完成情況和任務(wù)提交情況。
【說明】預(yù)期任務(wù)全部完成,并且任務(wù)按時提交貢獻量記為5,未完成一項減1,任務(wù)拖延太久提交再減1。
【Alpha 階段】TODOList 及項目燃盡圖
-
最終TODOList:



-
最終項目燃盡圖:
【Alpha 階段】交互
-
Alpha 階段的沖刺馬上落下帷幕,莫禮鐘在小組沖刺的最后一天去其他小組進行了交互任務(wù),詢問了其他小組這幾個問題:
- 問題1:在alpha階段中你們小組準(zhǔn)備拿出一個什么樣的成果展示?
- 問題2:在沖刺階段的博客是怎么安排的呢,有具體的格式嗎?
- 問題3:在沖刺階段遇到了什么困難,又是怎么解決的?
- 問題4:下個階段的沖刺的打算?
-
其他小組的回答是這樣的:
- JaWorld小組的張師瑜同學(xué)是這樣回答的:
1.就是一個可以簡單操作玩的APP。
2.每人寫一篇博客,沒有具體格式。
3.困難?沒法保證每天一篇一直拖延,解決?沒解決......
4.等到下次沖刺時再做打算。- JAVA實驗站的張?zhí)┴雇瑢W(xué)是這樣回答的:
1.第一次沖刺我們會實現(xiàn)一個基本的可玩性的功能作為展示!
2.沖刺階段的博客由張韻琪完成。
3.沖刺階段的問題主要在對安卓游戲的開發(fā)不太熟悉解決方法只能是多去學(xué)習(xí)!
4.下一個階段我們打算對未實現(xiàn)的其他模塊進行補充!!- 我愛學(xué)Java的春旺同學(xué)是這樣回答的:
1.成果是一個簡單能玩的游戲(后續(xù)有其他功能會添加進去)
2.博客是每人寫一篇博客。金立清同學(xué)寫了三篇,第二天到第六天的博客有格式,第一天和第七天沒有格式。
3.問題都呈現(xiàn)在博客里了。
4.下階段的計劃還沒有出來。- bug終結(jié)者的張旭升同學(xué)是這樣回答的:
1.第一次沖刺我們會做出一個相對完整的游戲界面,實現(xiàn)一個基本的可玩性的功能作為展示!
2.沖刺階段的博客我們將游戲的各個模塊分配到每個人來完成!
3.沖刺階段的問題主要在于代碼邏輯方面,由于對Android的類庫并不熟悉,一些內(nèi)置方法并不理解,所以在代碼邏輯的編寫方面問題比較多,解決方法只能是多去學(xué)習(xí)!
4.下一個階段我們打算將界面進行一定的優(yōu)化然后對未實現(xiàn)的其他模塊進行補充!!感謝他們的回答!
【Alpha 階段】感想、總結(jié)等
-
袁逸灝:
我們這個學(xué)期的最后進行了安卓游戲的開發(fā),最近這段時間我們小組進行為期7天的Alpha階段的沖刺,該階段的沖刺主要是能夠做出一個基本滿足需求的測試品出來。作為開發(fā)小組的,我想談?wù)勯_發(fā)的感受。一開始開發(fā)的時候很迷茫,我們都不知道應(yīng)該用什么類,用什么方法來實現(xiàn)功能需求說明書里的功能。為此,我們討論了很多,也討論了很久,從不重要的用什么圖畫,怎么找再到怎么用類去實現(xiàn)一個功能,真的傾瀉了很多心思下去。在整整一天的討論后,終于想到了一個比較系統(tǒng)的開發(fā)方案。然后就是代碼步驟了,代碼步驟我認為是最不簡單的,這不僅是技術(shù)活,還是體力活。不僅邏輯上要過得去,還要打一大串代碼。一天下來感覺眼睛都要瞎了,何況我們兩個人還打了四天的代碼,而且方法的實現(xiàn)也不那么簡單,一堆堆的exception,就算沒有exception,一堆堆的bug也讓我們十分頭疼。讓我印象最深刻的是:為了解決如何判定用戶車輛與敵方車輛的碰撞判斷和用戶車輛和敵方障礙物碰撞的判斷問題,我上網(wǎng)去尋找相近事例。事例找到了,但是代碼很多,代碼間的聯(lián)動性也很強,并不能直接用。因此,一不做二不休,決定要把這段代碼看懂。因此那天我熬夜了,熬到了凌晨四點,終于弄明白了代碼,但由于電腦電繼續(xù)下去了,只得作罷。睡了三個小時,逃了跑操。7點多起來繼續(xù)弄,終于弄好了。當(dāng)時就覺得自信心爆棚。

然后我和劉先潤解決剩下的類,并對類中的代碼進行規(guī)范。在我們五天孜孜不倦地打碼后,游戲大概終于出來了,我們也感覺自己收獲了不少的新知識,例如:二級緩存,自定義View,背景的移動的方法,線程的靈活使用等。。。這無疑對我們?nèi)蘸蟮膶W(xué)習(xí)以及工作留下厚實的基礎(chǔ)。





雖然游戲看起來很爛,沒什么技術(shù)含量,但對我們來說,這一次的升值過程更為重要。在最后,我想感謝劉偉康同學(xué)每天的監(jiān)督與開會的主導(dǎo),感謝測試組的文檔幫助,感謝莫禮鐘同學(xué)的交互。
-
劉偉康:
Alpha 階段是什么,在上周一早上看到這樣一個任務(wù)之后,我產(chǎn)生了這樣的疑問,于是查了查資料,看了看《構(gòu)建之法》,大致了解了。我又看了看具體的任務(wù),哇!竟然要在兩周內(nèi)沖刺7天,我迅速通知團隊并且當(dāng)天就制定了計劃,在第一次沖刺會議上也給組員做了相關(guān)介紹。其實我們本來打算從上周一開始沖刺,但是當(dāng)時我考慮到計劃得不完整,準(zhǔn)備得也不充分,因此就特意花費了一天時間來準(zhǔn)備沖刺,周二才正式開始。在這沖刺的7天中,由于我充當(dāng)了我們團隊的管理者、會議策劃者、分工策劃者以及整理博客者這個多重角色。想要做好這個角色,尤其是管理整個團隊、推動整體進程,確實不太容易。對于我們這所學(xué)校的這個專業(yè),想要模仿軟工團隊做一個項目還是一件挺有挑戰(zhàn)的事,但是我就喜歡這種挑戰(zhàn),新鮮、刺激、前無古人,如果能夠帶領(lǐng)一個團隊前進,并不斷取得一定的成就,這種感覺在大學(xué)中比一些功利性的東西更為重要和真實。最初可能是受到團隊中袁逸灝和劉先潤的影響,我的拖延癥稍微好一點了。轉(zhuǎn)眼間,我們這個團隊已經(jīng)成立2個多月了,團隊中誰做事積極我最清楚,因為每次的團隊任務(wù)都是我來匯總,所以這也是一個向其他組員相互學(xué)習(xí)的機會。
不由自主地扯了一些團隊之前的情況,接下來回歸正軌,說說 Alpha 階段的事。在這個階段中,我們一次次地商定計劃,一次次地磨合計劃,雖然在這個過程中有一些組員劃了幾天水或者承擔(dān)了較少的任務(wù),但是在我的催促下,都能夠以端正的態(tài)度對待團隊任務(wù)。在沖刺的7天中,我?guī)缀趺刻鞂懖┛突蛘吒械綗o助時都會去反復(fù)查閱其他大學(xué)的博客,在看懂了一些流程之后才去決定組員們每天的任務(wù),每天應(yīng)該提交什么,在做這個任務(wù)時要注意什么,每次指定分工或者召開會議都是一次經(jīng)驗,這7天,我們 實打?qū)嵉?/strong> 開了7次站立式會議,雖然有一兩次會議有些混亂,但是每次會議的大體內(nèi)容我都講到了。每次會議我是有提前準(zhǔn)備的,只有準(zhǔn)備好討論內(nèi)容,站立式會議才有效率:
(請自動忽略我字跡潦草的問題,畢竟這是草稿紙)
其實我們團隊的每次會議都是比較輕松的,討論前,人沒到,就先吃點零食,等待一會。人到齊了,還要拉一個拍照的人,我們團隊的大部分會議是在寢室開,有一次是在實驗室開的,所以在這里要感謝之前給我們團隊拍照的春旺,張旭升和張師瑜。
說完了小組會議,再來說說分工問題,我們團隊這次的分工情況不太合理,主要因為我沒能考慮到一些情況,本來想要全組的人都了解代碼的,結(jié)果之前的測試規(guī)范沒完成,就指定了一個測試組(2人)完成,另一人基礎(chǔ)不太好,所以開始就分配了 2 人負責(zé)代碼工作,沒想到測試組的規(guī)范寫了 7 天,這之中我也了解他們的困難,主要是測試方法和測試工具的選擇問題,這些問題沒能得到及時的討論解決,加上 alpha 階段的主要任務(wù)沒有集中在測試這方面,才會一直拖延到后期,測試組最終的測試規(guī)范質(zhì)量較高,參考了挺多的資料。所以整個 alpha 階段,我們組只有 2 個人在負責(zé)代碼工作,到后期我才意識到不合理,于是我也開始抽時間彌補Android基礎(chǔ),這幾天又建議組員再看看代碼,建議莫禮鐘借幾本書彌補代碼基礎(chǔ)。總的來說,Alpha 階段的分工由我負責(zé),我這一次做得不太好,沒能讓全組成員都適當(dāng)參與敲代碼工作,大致的分工泳道圖如下:
最后總結(jié)一下我們在Alpha階段的項目,基本功能已經(jīng)實現(xiàn),雖然是小游戲,但是真的耗費了相當(dāng)多的精力,袁逸灝為代碼熬過一次夜,我也曾經(jīng)為了嘗試碼云上“奇特”的markdown格式熬過夜,我們都是為了團隊,雖然組員們沒能全部參與代碼工作,但是項目的commit推送還是挺積極的,目前為止我們的項目一共有 266次 commit 提交記錄,每次說明書修改圖片,或者加一行功能說明等等,組員在這件事上比較積極,我們6個都參與了進來:

我因為不斷嘗試markdown格式和整理md文件內(nèi)容所以推送次數(shù)較多,袁逸灝和劉先潤大部分是每次的代碼文件推送,馬軍、劉誠昊負責(zé)測試規(guī)范等內(nèi)容,莫禮鐘也在我的監(jiān)督下為團隊commit了一次,繼續(xù)努力。在博客方面,我也體會了一次兩周寫 8 篇博客的爽快感,我還特意根據(jù)我們團隊的進度添加了后綴名,具體為什么是這個后綴名讀了每次的會議總結(jié)就會知道:

總之,在這樣一個過程中,包含著奮斗的經(jīng)歷、熬夜的經(jīng)歷、一次次開會討論的經(jīng)歷,當(dāng)然還有幾次劃水的經(jīng)歷,擁有如此豐富經(jīng)歷的團隊留下了一段值得回憶的光輝歲月,雖然和其他大學(xué)的軟工團隊相比還有一定的距離,但是我們堅持不懈,能夠一次次進步,而且組內(nèi)總有一些優(yōu)秀的人積極地帶動起在電科院難得的活力和氣氛,這也算是一次過程的享受吧。
-
劉先潤:
在組建這個團隊之前,我從來沒有想過我會有一個自己的app,因為這一切聽上去實在是太難了。除了所學(xué)習(xí)的java知識和薄弱的android基礎(chǔ)以外沒有任何關(guān)于軟件開發(fā)方面的知識和經(jīng)驗。在建立小組后,我主動攬下了副代碼手和要素畫手這兩個任務(wù)角色,當(dāng)然還有測試驗收標(biāo)準(zhǔn)、oop規(guī)范和異常規(guī)范、ER圖、狀態(tài)圖等任務(wù)。這些任務(wù)幾乎所有我都是從來沒有涉及過,每次都要去學(xué)習(xí)相關(guān)知識,閱讀樣例才能知道該怎么去實現(xiàn),實在是特別耗時間。
在兩周的時間內(nèi)老師要求沖刺七天,其實我們小組我和袁逸灝是天天都在沖刺,我們?yōu)榱藢崿F(xiàn)一個功能常常需要絞盡腦汁,熬夜也成為了開發(fā)app階段的常態(tài)。如何將查找方法放入app中實現(xiàn),如何實現(xiàn)動畫效果,如何解決app中車輛碰撞死亡的代碼等一系列的問題和bug被我們一一解決和修復(fù),終于一個初版的賽車游戲成型,這個團隊任務(wù)實屬不易。
在實現(xiàn)完app后,如何讓大眾接受這款游戲成為了后一階段我所考慮的問題。總的來說,這次團隊開發(fā)是一個苦盡甘來的過程,從最初的折磨到現(xiàn)在的如釋重負,當(dāng)時開發(fā)的熱血激情到現(xiàn)在所剩無幾,不過我感到很滿意,我不會在乎結(jié)局,因為我付出過,加油! -
馬軍:
Alpha 階段我們小組一共沖刺了七天。我的最開始的任務(wù)是完成測試規(guī)范的編寫,做好下個階段要進行的測試準(zhǔn)備工作,同時有需要的時候幫助代碼組的同學(xué)完成他們的功能設(shè)計。最開始的目標(biāo)完成了一半吧。從最開始對測試毫無頭緒,對測試規(guī)范一無所知,到查資料可以寫出自己期望的測試規(guī)范;讀代碼做出測試計劃中經(jīng)歷了幾天時間。在這個過程中,我學(xué)習(xí)了一些關(guān)于測試的一些另外的知識,對《構(gòu)建之法》中提到的一些測試類型和方法有了更多的理解。沒有幫助完成設(shè)計代碼,本來是想后來幾天就提前做下一個階段才涉及的代碼測試的,但是后面幾天有其他的事情,一直沒來得及和劉誠昊同學(xué)一起商量進行,所以還是放在下一階段進行。
在編寫代碼規(guī)范的時候看了一些網(wǎng)上的測試規(guī)范,發(fā)現(xiàn)跟我想的完全不一樣。我原本認為測試規(guī)范就是像代碼規(guī)范一樣,對測試代碼中的測試名,變量名,格式進行一定的規(guī)范。讀了幾個版本之后我才明白:測試并不只是代碼測試,而測試規(guī)范也并不只是代碼的規(guī)范。原本我對于android上的app怎么測試一頭霧水:代碼中很多是功能界面和按鈕功能設(shè)計代碼,這些都沒法像以前那樣直接驅(qū)動或者做單元測試。讀了一些測試規(guī)范和本組的代碼后我也大致有了思路。 -
劉誠昊:
相比之前的階段,alpha沖刺中感受到的團隊精神更加明顯,大家分工明確,各自做好各子的任務(wù),確實對目標(biāo)的精進更快更好。團隊中我的任務(wù)在開始是“制作測試規(guī)范、列toDoList、以及畫燃盡圖”,后來因為種種原因去掉了第一個項目,就使我的空閑時間多了很多。到后面的測試任務(wù),便是時候把我的精力用出去啦!
-
莫禮鐘:
在alpha沖刺中,我感受到了團體的凝聚力和執(zhí)行力,深受啟發(fā)。我們把所有的項目任務(wù)壓縮壓縮再壓縮,變成七天的任務(wù)。每一次沖刺都完成七分之一。緊張的氣氛在小組蔓延,但當(dāng)成果出現(xiàn)后,我們的感受更多的是喜悅和興奮。迫不及待地想與其他人分享自己團隊的成果。跟著團隊一起做項目,學(xué)習(xí)到了很多知識。不僅僅體現(xiàn)在代碼上,我有一種“授人以漁不如授人以漁”的感受。我從小組的“高玩”做法中體會到了他們是如何安排時間以及學(xué)習(xí)的。團隊中雖然我的任務(wù)最劃水,但我也學(xué)習(xí)到了非常多的知識,我希望能在下一階段沖刺時體現(xiàn)出來。
下個階段的展望或計劃
- 袁逸灝:
- 添加用戶車輛的血條
- 碰撞后會有無敵時間
- 無敵的時候會有閃爍效果
- 解決偶爾出現(xiàn)的圖片重疊問題
- 將結(jié)束界面,通關(guān)界面用自定義彈窗做出來
- 劉偉康:
- 時刻關(guān)注小組博客,在內(nèi)容上可以向其他大學(xué)學(xué)習(xí),排版上、動畫渲染上繼續(xù)自學(xué)
- 繼續(xù)提高自己的代碼水平,熟悉 Android 的內(nèi)容,代碼審核爭取開展起來
- 吸取之前的經(jīng)驗,提升組織會議、分工、管理的水平
- 尋找更好的工具和資料
- 要經(jīng)常了解代碼進展,組內(nèi)交流不能斷層
- 劉先潤:
- 優(yōu)化構(gòu)圖要素的質(zhì)量
- 根據(jù)需求增加一些功能,例如增加一個boss功能
- 嘗試能不能將app推廣出去
- 定期維護app
-
馬軍:
下一階段我會和劉誠昊同學(xué)一起進行產(chǎn)品測試方面的工作。這些測試大致分為兩個方面:
(1)第一種是像功能界面還有功能按鈕這一類。我們將采用app上運行的方式來測試這些功能和設(shè)計是否正常;
(2)而其他的比如車輛索引查找,判定游戲失敗這些可以通過代碼測試的方法類可以直接在Android Studio配置后進行單元測試。最開始我以為這些在android studio上做不了,后來查了資料之后發(fā)現(xiàn)android studio本身也有單元測試,不用把相關(guān)抽到IDEA上進行測試,雖然還沒開始做但是想必是會簡單很多。
關(guān)于各種測試類別在測試規(guī)范中已給出。 -
劉誠昊:
開始進行測試。
-
莫禮鐘:
繼續(xù)交互以及收集成員進展任務(wù),在此基礎(chǔ)上增加修改、完善說明書的任務(wù)。以及一些“符合”我水平的代碼任務(wù)。
項目的發(fā)布說明
-
本版本的新功能:
- 選擇賽車
- 選擇音樂
- 射擊子彈
- 分數(shù)總結(jié)
- 關(guān)卡信息
-
軟件對運行環(huán)境的要求:
安卓系統(tǒng)要在4.0以上。
-
系統(tǒng)已知的問題和限制:
- 偶爾會出現(xiàn)車倆與障礙物重疊的問題
- 沒有聯(lián)網(wǎng)的功能
- 未提供用戶添加音樂的功能
-
軟件的發(fā)布方式以及發(fā)布地址:
Gitee v1.0-alpha-release:https://gitee.com/JavaDeduction_Game/AndroidGame/releases/v1.0-alpha
【碼云】項目鏈接:https://gitee.com/JavaDeduction_Game/AndroidGame/tree/master/
【碼云】說明書及編碼規(guī)范:https://gitee.com/JavaDeduction_Game/AndroidGame/tree/master/Docs

浙公網(wǎng)安備 33010602011771號