Alpha:指集成了主要功能的第一个试用版本。在这个版本中有些小功能并未实现。事实上很多软件的 Alpha 版本只是在内部使用。给外部用户使用的 Alpha 版本会起一个比较美妙的名字,例如,技术预览版(Technical Preview)。
------ 引用自《构建之法(第三版)》
今日进展
袁逸灏: 1. 添加音乐; 2. 稍微再次测试了一下游戏(0.5h)
刘伟康:总结团队在 Alpha 阶段的总进展框架,继续学习了部分 Android 基础内容,参考其他大学的团队博客,修改 Alpha 阶段终极版安卓编码规范和项目说明书的 markdown 及 pdf 文件 ,检查团队成员的大致任务,并对本产品进行使用测试(7h)
刘先润:优化背景图片(1h)
马军:阅读设计代码。使用打包好的 apk 试运行了几次,各个功能界面都运行良好。和刘诚昊商议下一阶段的测试计划(3h)
刘诚昊:重制燃尽图;分析游戏代码;学习Android测试(4h)
莫礼钟:阅读代码规范并做了小部分修改,收集同组成员们的今日进展汇总,并且与其他小组进行了交互任务(1.5h)
问题困难
袁逸灏:当游戏结束返回主界面的时候,按退出游戏会进入另外一个主界面(已解决)
刘伟康: Android 基础还是很薄弱,最后一天组内的管理有些混乱。
刘先润:无。
马军:Android Studio 配置出了一点问题,还在调试中。
刘诚昊:对Android Studio需要更多了解。
莫礼钟:无。
站立式会议
最后一次会议仍然全员到齐,开会内容主要是下一阶段的展望以及本阶段的成果展示方式,还提了一下作业提交情况有点混乱。在我检查了燃尽图之后,发现不太符合我们团队的实际进展,所以又让刘诚昊改了一下,马军和刘诚昊即将讨论出下一步的测试方案。对于我们来说,暂时可以“靠泊”休息一下了,alpha 冲刺阶段有喜有悲,是时候总结反思一下了。
今日贡献量
-
袁逸灏 刘伟康 刘先润 马军 刘诚昊 莫礼钟 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 预期贡献 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% (做这张表时我大致体会到了助教计算成绩时的辛苦!(╯—﹏—)╯┷━━━┷)
【注】贡献比例 = (贡献量 + 完成情况量化)/ 实际总任务量
贡献量的计算规则在第一篇博客中已规定,详见:【Alpha版本】冲刺阶段 - Day1 - 启航
完成情况 即预期目标完成情况和任务提交情况。
【说明】预期任务全部完成,并且任务按时提交贡献量记为5,未完成一项减1,任务拖延太久提交再减1。
【Alpha 阶段】TODOList 及项目燃尽图
最终TODOList:
最终项目燃尽图:
【Alpha 阶段】交互
Alpha 阶段的冲刺马上落下帷幕,莫礼钟在小组冲刺的最后一天去其他小组进行了交互任务,询问了其他小组这几个问题:
- 问题1:在alpha阶段中你们小组准备拿出一个什么样的成果展示?
- 问题2:在冲刺阶段的博客是怎么安排的呢,有具体的格式吗?
- 问题3:在冲刺阶段遇到了什么困难,又是怎么解决的?
- 问题4:下个阶段的冲刺的打算?
其他小组的回答是这样的:
JaWorld小组的张师瑜同学是这样回答的:
1.就是一个可以简单操作玩的APP。
2.每人写一篇博客,没有具体格式。
3.困难?没法保证每天一篇一直拖延,解决?没解决......
4.等到下次冲刺时再做打算。JAVA实验站的张泰毓同学是这样回答的:
1.第一次冲刺我们会实现一个基本的可玩性的功能作为展示!
2.冲刺阶段的博客由张韵琪完成。
3.冲刺阶段的问题主要在对安卓游戏的开发不太熟悉解决方法只能是多去学习!
4.下一个阶段我们打算对未实现的其他模块进行补充!!我爱学Java的春旺同学是这样回答的:
1.成果是一个简单能玩的游戏(后续有其他功能会添加进去)
2.博客是每人写一篇博客。金立清同学写了三篇,第二天到第六天的博客有格式,第一天和第七天没有格式。
3.问题都呈现在博客里了。
4.下阶段的计划还没有出来。bug终结者的张旭升同学是这样回答的:
1.第一次冲刺我们会做出一个相对完整的游戏界面,实现一个基本的可玩性的功能作为展示!
2.冲刺阶段的博客我们将游戏的各个模块分配到每个人来完成!
3.冲刺阶段的问题主要在于代码逻辑方面,由于对Android的类库并不熟悉,一些内置方法并不理解,所以在代码逻辑的编写方面问题比较多,解决方法只能是多去学习!
4.下一个阶段我们打算将界面进行一定的优化然后对未实现的其他模块进行补充!!感谢他们的回答!
【Alpha 阶段】感想、总结等
袁逸灏:
我们这个学期的最后进行了安卓游戏的开发,最近这段时间我们小组进行为期7天的Alpha阶段的冲刺,该阶段的冲刺主要是能够做出一个基本满足需求的测试品出来。作为开发小组的,我想谈谈开发的感受。一开始开发的时候很迷茫,我们都不知道应该用什么类,用什么方法来实现功能需求说明书里的功能。为此,我们讨论了很多,也讨论了很久,从不重要的用什么图画,怎么找再到怎么用类去实现一个功能,真的倾泻了很多心思下去。在整整一天的讨论后,终于想到了一个比较系统的开发方案。然后就是代码步骤了,代码步骤我认为是最不简单的,这不仅是技术活,还是体力活。不仅逻辑上要过得去,还要打一大串代码。一天下来感觉眼睛都要瞎了,何况我们两个人还打了四天的代码,而且方法的实现也不那么简单,一堆堆的exception,就算没有exception,一堆堆的bug也让我们十分头疼。让我印象最深刻的是:为了解决如何判定用户车辆与敌方车辆的碰撞判断和用户车辆和敌方障碍物碰撞的判断问题,我上网去寻找相近事例。事例找到了,但是代码很多,代码间的联动性也很强,并不能直接用。因此,一不做二不休,决定要把这段代码看懂。因此那天我熬夜了,熬到了凌晨四点,终于弄明白了代码,但由于电脑电继续下去了,只得作罢。睡了三个小时,逃了跑操。7点多起来继续弄,终于弄好了。当时就觉得自信心爆棚。
然后我和刘先润解决剩下的类,并对类中的代码进行规范。在我们五天孜孜不倦地打码后,游戏大概终于出来了,我们也感觉自己收获了不少的新知识,例如:二级缓存,自定义View,背景的移动的方法,线程的灵活使用等。。。这无疑对我们日后的学习以及工作留下厚实的基础。
虽然游戏看起来很烂,没什么技术含量,但对我们来说,这一次的升值过程更为重要。在最后,我想感谢刘伟康同学每天的监督与开会的主导,感谢测试组的文档帮助,感谢莫礼钟同学的交互。
刘伟康:
Alpha 阶段是什么,在上周一早上看到这样一个任务之后,我产生了这样的疑问,于是查了查资料,看了看《构建之法》,大致了解了。我又看了看具体的任务,哇!竟然要在两周内冲刺7天,我迅速通知团队并且当天就制定了计划,在第一次冲刺会议上也给组员做了相关介绍。其实我们本来打算从上周一开始冲刺,但是当时我考虑到计划得不完整,准备得也不充分,因此就特意花费了一天时间来准备冲刺,周二才正式开始。在这冲刺的7天中,由于我充当了我们团队的管理者、会议策划者、分工策划者以及整理博客者这个多重角色。想要做好这个角色,尤其是管理整个团队、推动整体进程,确实不太容易。对于我们这所学校的这个专业,想要模仿软工团队做一个项目还是一件挺有挑战的事,但是我就喜欢这种挑战,新鲜、刺激、前无古人,如果能够带领一个团队前进,并不断取得一定的成就,这种感觉在大学中比一些功利性的东西更为重要和真实。最初可能是受到团队中袁逸灏和刘先润的影响,我的拖延症稍微好一点了。转眼间,我们这个团队已经成立2个多月了,团队中谁做事积极我最清楚,因为每次的团队任务都是我来汇总,所以这也是一个向其他组员相互学习的机会。
不由自主地扯了一些团队之前的情况,接下来回归正轨,说说 Alpha 阶段的事。在这个阶段中,我们一次次地商定计划,一次次地磨合计划,虽然在这个过程中有一些组员划了几天水或者承担了较少的任务,但是在我的催促下,都能够以端正的态度对待团队任务。在冲刺的7天中,我几乎每天写博客或者感到无助时都会去反复查阅其他大学的博客,在看懂了一些流程之后才去决定组员们每天的任务,每天应该提交什么,在做这个任务时要注意什么,每次指定分工或者召开会议都是一次经验,这7天,我们 实打实地 开了7次站立式会议,虽然有一两次会议有些混乱,但是每次会议的大体内容我都讲到了。每次会议我是有提前准备的,只有准备好讨论内容,站立式会议才有效率:(请自动忽略我字迹潦草的问题,毕竟这是草稿纸)
其实我们团队的每次会议都是比较轻松的,讨论前,人没到,就先吃点零食,等待一会。人到齐了,还要拉一个拍照的人,我们团队的大部分会议是在寝室开,有一次是在实验室开的,所以在这里要感谢之前给我们团队拍照的春旺,张旭升和张师瑜。
说完了小组会议,再来说说分工问题,我们团队这次的分工情况不太合理,主要因为我没能考虑到一些情况,本来想要全组的人都了解代码的,结果之前的测试规范没完成,就指定了一个测试组(2人)完成,另一人基础不太好,所以开始就分配了 2 人负责代码工作,没想到测试组的规范写了 7 天,这之中我也了解他们的困难,主要是测试方法和测试工具的选择问题,这些问题没能得到及时的讨论解决,加上 alpha 阶段的主要任务没有集中在测试这方面,才会一直拖延到后期,测试组最终的测试规范质量较高,参考了挺多的资料。所以整个 alpha 阶段,我们组只有 2 个人在负责代码工作,到后期我才意识到不合理,于是我也开始抽时间弥补Android基础,这几天又建议组员再看看代码,建议莫礼钟借几本书弥补代码基础。总的来说,Alpha 阶段的分工由我负责,我这一次做得不太好,没能让全组成员都适当参与敲代码工作,大致的分工泳道图如下:最后总结一下我们在Alpha阶段的项目,基本功能已经实现,虽然是小游戏,但是真的耗费了相当多的精力,袁逸灏为代码熬过一次夜,我也曾经为了尝试码云上“奇特”的markdown格式熬过夜,我们都是为了团队,虽然组员们没能全部参与代码工作,但是项目的commit推送还是挺积极的,目前为止我们的项目一共有 266次 commit 提交记录,每次说明书修改图片,或者加一行功能说明等等,组员在这件事上比较积极,我们6个都参与了进来:
我因为不断尝试markdown格式和整理md文件内容所以推送次数较多,袁逸灏和刘先润大部分是每次的代码文件推送,马军、刘诚昊负责测试规范等内容,莫礼钟也在我的监督下为团队commit了一次,继续努力。在博客方面,我也体会了一次两周写 8 篇博客的爽快感,我还特意根据我们团队的进度添加了后缀名,具体为什么是这个后缀名读了每次的会议总结就会知道:
总之,在这样一个过程中,包含着奋斗的经历、熬夜的经历、一次次开会讨论的经历,当然还有几次划水的经历,拥有如此丰富经历的团队留下了一段值得回忆的光辉岁月,虽然和其他大学的软工团队相比还有一定的距离,但是我们坚持不懈,能够一次次进步,而且组内总有一些优秀的人积极地带动起在电科院难得的活力和气氛,这也算是一次过程的享受吧。
刘先润:
在组建这个团队之前,我从来没有想过我会有一个自己的app,因为这一切听上去实在是太难了。除了所学习的java知识和薄弱的android基础以外没有任何关于软件开发方面的知识和经验。在建立小组后,我主动揽下了副代码手和要素画手这两个任务角色,当然还有测试验收标准、oop规范和异常规范、ER图、状态图等任务。这些任务几乎所有我都是从来没有涉及过,每次都要去学习相关知识,阅读样例才能知道该怎么去实现,实在是特别耗时间。
在两周的时间内老师要求冲刺七天,其实我们小组我和袁逸灏是天天都在冲刺,我们为了实现一个功能常常需要绞尽脑汁,熬夜也成为了开发app阶段的常态。如何将查找方法放入app中实现,如何实现动画效果,如何解决app中车辆碰撞死亡的代码等一系列的问题和bug被我们一一解决和修复,终于一个初版的赛车游戏成型,这个团队任务实属不易。
在实现完app后,如何让大众接受这款游戏成为了后一阶段我所考虑的问题。总的来说,这次团队开发是一个苦尽甘来的过程,从最初的折磨到现在的如释重负,当时开发的热血激情到现在所剩无几,不过我感到很满意,我不会在乎结局,因为我付出过,加油!马军:
Alpha 阶段我们小组一共冲刺了七天。我的最开始的任务是完成测试规范的编写,做好下个阶段要进行的测试准备工作,同时有需要的时候帮助代码组的同学完成他们的功能设计。最开始的目标完成了一半吧。从最开始对测试毫无头绪,对测试规范一无所知,到查资料可以写出自己期望的测试规范;读代码做出测试计划中经历了几天时间。在这个过程中,我学习了一些关于测试的一些另外的知识,对《构建之法》中提到的一些测试类型和方法有了更多的理解。没有帮助完成设计代码,本来是想后来几天就提前做下一个阶段才涉及的代码测试的,但是后面几天有其他的事情,一直没来得及和刘诚昊同学一起商量进行,所以还是放在下一阶段进行。
在编写代码规范的时候看了一些网上的测试规范,发现跟我想的完全不一样。我原本认为测试规范就是像代码规范一样,对测试代码中的测试名,变量名,格式进行一定的规范。读了几个版本之后我才明白:测试并不只是代码测试,而测试规范也并不只是代码的规范。原本我对于android上的app怎么测试一头雾水:代码中很多是功能界面和按钮功能设计代码,这些都没法像以前那样直接驱动或者做单元测试。读了一些测试规范和本组的代码后我也大致有了思路。刘诚昊:
相比之前的阶段,alpha冲刺中感受到的团队精神更加明显,大家分工明确,各自做好各子的任务,确实对目标的精进更快更好。团队中我的任务在开始是“制作测试规范、列toDoList、以及画燃尽图”,后来因为种种原因去掉了第一个项目,就使我的空闲时间多了很多。到后面的测试任务,便是时候把我的精力用出去啦!
莫礼钟:
在alpha冲刺中,我感受到了团体的凝聚力和执行力,深受启发。我们把所有的项目任务压缩压缩再压缩,变成七天的任务。每一次冲刺都完成七分之一。紧张的气氛在小组蔓延,但当成果出现后,我们的感受更多的是喜悦和兴奋。迫不及待地想与其他人分享自己团队的成果。跟着团队一起做项目,学习到了很多知识。不仅仅体现在代码上,我有一种“授人以渔不如授人以渔”的感受。我从小组的“高玩”做法中体会到了他们是如何安排时间以及学习的。团队中虽然我的任务最划水,但我也学习到了非常多的知识,我希望能在下一阶段冲刺时体现出来。
下个阶段的展望或计划
- 袁逸灏:
- 添加用户车辆的血条
- 碰撞后会有无敌时间
- 无敌的时候会有闪烁效果
- 解决偶尔出现的图片重叠问题
- 将结束界面,通关界面用自定义弹窗做出来
- 刘伟康:
- 时刻关注小组博客,在内容上可以向其他大学学习,排版上、动画渲染上继续自学
- 继续提高自己的代码水平,熟悉 Android 的内容,代码审核争取开展起来
- 吸取之前的经验,提升组织会议、分工、管理的水平
- 寻找更好的工具和资料
- 要经常了解代码进展,组内交流不能断层
- 刘先润:
- 优化构图要素的质量
- 根据需求增加一些功能,例如增加一个boss功能
- 尝试能不能将app推广出去
- 定期维护app
马军:
下一阶段我会和刘诚昊同学一起进行产品测试方面的工作。这些测试大致分为两个方面:
(1)第一种是像功能界面还有功能按钮这一类。我们将采用app上运行的方式来测试这些功能和设计是否正常;
(2)而其他的比如车辆索引查找,判定游戏失败这些可以通过代码测试的方法类可以直接在Android Studio配置后进行单元测试。最开始我以为这些在android studio上做不了,后来查了资料之后发现android studio本身也有单元测试,不用把相关抽到IDEA上进行测试,虽然还没开始做但是想必是会简单很多。
关于各种测试类别在测试规范中已给出。刘诚昊:
开始进行测试。
莫礼钟:
继续交互以及收集成员进展任务,在此基础上增加修改、完善说明书的任务。以及一些“符合”我水平的代码任务。
项目的发布说明
本版本的新功能:
- 选择赛车
- 选择音乐
- 射击子弹
- 分数总结
- 关卡信息
软件对运行环境的要求:
安卓系统要在4.0以上。
系统已知的问题和限制:
- 偶尔会出现车俩与障碍物重叠的问题
- 没有联网的功能
- 未提供用户添加音乐的功能
软件的发布方式以及发布地址:
Gitee v1.0-alpha-release:https://gitee.com/JavaDeduction_Game/AndroidGame/releases/v1.0-alpha
【码云】项目链接:https://gitee.com/JavaDeduction_Game/AndroidGame/tree/master/
【码云】说明书及编码规范:https://gitee.com/JavaDeduction_Game/AndroidGame/tree/master/Docs