1.团队简介
韩青长
前端工程师
我是韩青长,技术小白,抱着对软工的好奇和对未来工作的憧憬选了这门课。暂时选择了测试的工作,也对开发和UI有一定兴趣。从前上帝创造了我们,现在轮到我们来创造自己的软件了~
陈彦吉
前端工程师
PM
呃,自我介绍。。怎么说呢,我叫陈彦吉。。作为一个没什么基础的渣渣,感觉一路被碾压了两年,成绩不如大多数人,能力可能也不如大多数人,其他人都可以说自己曾经拿过什么奖,做过什么项目,我感觉我可能什么也说不出来,不管怎么说,这都是因为自己怠惰了,但是我还没有放弃治疗,这个学期我一定要拿下这门课!
石浩然
前端工程师
有幸成为19勇士之一很开心啊!
选罗老师的软工真是一门需要情怀的课
献上自己的膝盖和所有假期
大神们带我飞吧
陈鸿超
后端工程师
除了会点编程啥都不懂,纯粹来学技术的小白,请轻虐o(╯□╰)o
2.项目简介
- 项目名称:狼人杀app
- 面向用户:玩狼人杀的所有人
- 开发者:北京航空航天大学软工 buaaoverwatch小组
2.1 典型用户
我们的app主要面向的四类用户
- 基本会玩,但是一般没有狼人杀牌的人。
- 基本会玩,但是重复很多回合之后就晕了的人。
- 很会玩,但是游戏中缺少布置战略条件的人。
- 不管会不会玩,总之对游戏界面的美观要求很高的人。
姓名 | 陈HC |
---|---|
性别 | 男 |
职业 | 某校大二学生 |
生活情况 | 每周周末有一定的空闲时间用于休闲,一般是和同学聚会 |
动机 | 上了五天课累死了,周末要好好休息一下 |
目的 | 放松,和朋友一起享受生活 |
困难 | 我没有狼人杀的牌,同学也没有,地处沙河周围也没有桌游吧,也不认识桌游社的人 |
用户偏好 | 有牌就行 |
用户比例 | 30% |
典型场景 | 又到了周末,在微信群里问朋友今晚打不打算玩狼人 |
典型描述 | 周末休息一下,来局狼人吧 |
姓名 | 石HR |
---|---|
性别 | 男 |
职业 | 某校大三学生,桌游社初级成员 |
生活情况 | 每月定期参加桌游社活动,或是自己跟一些爱好者线下切磋交流 |
动机 | 周末需要放松,同时不想在游戏中死得不明不白 |
目的 | 明确每局的局势与存活状况 |
困难 | 大家围桌坐,死者也不退场,玩了几轮之后我都不记得谁死了,更不要说投票情况了 |
用户偏好 | 没什么特殊偏好 |
用户比例 | 60% |
典型场景 | 这次的社团活动,我一定要努力记住每局谁票死了谁,好好分析,不能再冤死了 |
典型描述 | 看我精准的分析,诶,上局谁死了?? |
姓名 | 韩QC |
---|---|
性别 | 男 |
职业 | 某校大三学生,桌游社高玩 |
生活情况 | 每周负责组织狼人杀的活动与交流,热爱狼人杀,热衷于钻研狼人玩法 |
动机 | 每次"晚上"狼人交流战术的时候都会被别人"捕风捉影"到 |
目的 | 晚上狼人杀人时希望可以确定战术 |
困难 | 很难不声不响地交流战术,旁边的人总能听见 |
用户偏好 | 需要一个狼人之间夜间交流的方法 |
用户比例 | 40% |
典型场景 | 在游戏中的夜间与同伴商量:这次我眨左眼就是自刀,眨右眼就是上警 |
典型描述 | 你说你听到我昨晚狼人睁眼的时候有动静了? |
姓名 | 陈YJ |
---|---|
性别 | 男 |
职业 | 某校大一学生 |
生活情况 | 每周周末有一定的空闲时间用于休闲,一般是和同学聚会 |
动机 | 用软件就用个操作简单,界面优美的 |
目的 | 自己舒服,一起玩的人也舒服 |
困难 | 目前狼人杀的app都不好看 |
用户偏好 | 界面不要太丑 |
用户比例 | 50% |
典型场景 | 让我看看应用市场,有没有什么长得好看的app |
典型描述 | 这个也太丑了吧 |
2.2 预期功能
针对以上的预期典型用户,我们设计了如下的功能
- 对于找不到同伴或者没有牌的用户来说,我们的app可以解决牌的问题,附近的局这一功能可以用来搜索玩伴
- 对于追求清晰流畅的游戏体验的用户,我们的app可以随时查看每一轮的投票情况、目前场上存活情况,让玩家不再因为游戏进行了多轮而不能掌握当前局势,并且投票系统可以免去跟风投票的困扰
- 对于追求战术与配合的用户来说,我们的app可以让狼人在夜间部署战略,更好地潜伏在人群当中
- 对于追求优美UI的用户来说,我们的app能够做到简介优美的UI,给人最好的视觉和游戏体验
2.3 预期用户数
我们预计发布后第一周内IOS
+Android
平台的下载量为100
3.团队分工
我们的团队只有四名成员,比其他的团队都要少一个成员。所以我们在Alpha阶段中抛弃了全职PM的设定,打通所有角色,每个人都是设计人员,每个人都是编码人员,每个人也都是测试人员。
在初步学习了相关技术,勾画出大致的项目框架之后,我们感到前端的编写工作因为使用了全新的技术React Native
,全新的语言ECMA Script
会非常艰巨、而后端使用成熟的Django
框架和Python
语言,应该问题不大。所以我们决定了三人主攻前端,一人负责后端的组织架构。
在实际操作中,由于涉及到大量的服务器与客户端之间的通讯问题,即使我们已经设计了详细的API文档,但是不免我们最开始的设计有些不能满足后来的实际需要,于是在实际编程中我们大量采取了四人“伪”结对的编程方式(也就是四个人四台电脑同时编程),经过几晚上不眠不休的奋战,项目取得了极大的进展。
3.1 具体分工
在前端具体分工方面,韩青长同学主要负责个人资料页面和创建房间页面,陈彦吉同学主要负责房间列表页面和游戏设置页面,石浩然同学主要负责整个游戏界面的编写。
后端方面由陈鸿超同学整体负责。
3.2 一些反思
在Alpha阶段中,由于学习成本过高,导致即使我们加班加点,甚至熬夜通宵进行学习,仍然花费了开始开发的前两周的时间进行项目的学习。而直到第三周才开始真正编码(其实这已经到了冲刺的第二周了),更悲剧的是,其实这一周写的东西还有很多的不足,大家都在熟悉响应的语法和编写格式。直到第四周,我们的进度都很滞后,按理说这个时候已经应该开始进行测试工作了。好在后来在全体成员的齐心努力之下,经过三个晚上艰苦卓绝的熬夜工作,终于将整个项目的雏形上线运行了。
4.团队工程质量
4.1 测试
关于测试的部分,详情请见测试文档
4.2 代码规范
在编码之初,我们团队设计了详细的编码规范(数千字), 并且统一了文档与代码的格式和架构,使得所有人各司其职。这其中提前规定好的代码规范起到了很大的作用。
4.3 文档
我们团队的文档在一开始就使用了MarkDown
格式进行编写,这种简洁美观的纯文本格式对于编写软件工程的文档,统一格式有着很大的提升。并且方便我们上传至GitHub
实时进行预览和多人协作修改。
在文档方面,我们编写了技术规格说明书
、功能规格说明书
、API设计文档
、团队贡献分分配规则
、团队文档格式规范
、需求分析文档
、团队介绍文档
等七篇文档。
其中技术规格说明书
详细介绍了我们团队这次使用的技术方案,并提供了入门级的介绍,为今后可能的接手团队提供了一条快速上手的渠道。
5.团队实际进展
上面是我们的项目燃尽图,不过仅从这里不能完全看出我们进行的工作,下面贴出我们团队Github
上的的提交记录。
可以看出,到2016年11月16日为止,在Github
上一共有108次提交,且全员都参与了项目在Github
上的编辑,总代码数逾万行。
下面介绍一下我们具体实现的功能
5.1登陆页面
5.2 个人设置页面
5.3 玩家游戏页面
5.4 玩家技能页面
6.贡献分分配
7.软件特色功能
在软件初期需求分析阶段,我们就为软件规划了几大杀手级功能
详情如下
- 机器法官功能
已实现
这是我们统计了当下所有存在的狼人APP的共同缺点。也是用户最主要的痛点。现在所有已知存在的类似APP都不能提供法官功能,我们的APP将该功能革命性的自动实现。这是一个非常有用的革新。
- 统计场上存活局势功能
已实现
这同样也是当前现有的APP缺失的功能,我们实现了该功能,并在游戏界面的显著位置以图示的方式呈现出来。极大的方便了用户对场上局势的分析判断。
- 统计上轮投票结果功能
已实现
同样重要,而同样在别的APP中缺失。我们在APP中可以提供对于上一轮投票结果的统计功能,可以帮助用户记录上一轮投票结果,便于用户分析局势,并判断其他玩家的身份。
- 狼人交流、战术部署功能
已实现
这也是用户需求调查中的一大痛点,我们将这个功能实现。使用户摆脱以往的“打手势”、“对暗号”或者“使眼色”等低效而又不能准确的传递信息的交流方式,直接文字的方式准确快速传递,而又不会让其他的玩家察觉。
- 记录玩家身份猜测功能
已实现
狼人一局游戏的时间很长,在很多时候可能已经猜出了某个玩家的身份,当时时间过去又忘记了,我们的APP提供了玩家猜测并记录各个玩家身份的功能,使玩家不再为“记不住身份”而烦恼。
- 战绩系统功能
已部分实现
一个附加功能,便于玩家统计自己的游戏胜率,现在只能统计游戏记录。我们设想将要在Beta
版本中加入统计和别的玩家之间的游戏关系,自己使用哪个角色胜率最高等更高级的统计功能。
- 搜索附近的局功能
已部分实现
也是用户的一个痛点,想玩狼人但是又找不到人来玩,我们于是提供了搜索附近的局的功能,使得用户能够更方便的找到附近的玩家,一起进行游戏。目前只提供了搜索房间列表的功能,还不能显示距离信息。
- 复盘功能
待实现
帮助玩家分析游戏中的得失,并保存下游戏中的美好回忆以便以后查看。目前还没有做这个功能。