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
我们在1.4日将我们的app包放到了服务器上提供下载,但是因为没有什么宣传的缘故,下载数量较少。
3.团队分工
在Beta阶段,面临各种大作业和期末考试的轮番轰炸,加上我们的团队只有四名成员,我们的团队深刻面临着人手缺乏和时间不足的问题。为了解决这个问题,我们仍旧沿用了Alpha阶段的伪结对编程方式进行开发。
而具体开发过程中,在Beta阶段我们的软件已经有了一个雏形,不像之前是完全一片空白,而且学习得也差不多了,不存在新技术的学习障碍。并且由于我们高瞻远瞩的采用了React Native
Redux
Restful API
Django
框架等结构架设的初始软件结构,在Alpha阶段就打下了一个良好的程序编码习惯和结构基础,不用陷入不停重构的死循环中,我们得以在Beta阶段能够轻车熟路,走到正确的轨道上来。不过,仍然有一个问题摆在眼前:我们的界面依旧不够好看。
所以到底是美化界面还是增加新功能,我们决定要两头分工并进。
最后分工如下:韩青长同学主要负责流程问题的功能改进,石浩然同学主要负责界面UI的美化,陈彦吉同学主要负责新功能的添加。同时三个前端都进行新技术的研究,并加入到软件中。
而后端方面,由于后端接口设计规范,已经全部实现,陈鸿超同学则主要负责根据前端的新需求改进接口。
4.团队工程质量
4.1 测试
关于测试的部分,详情请见测试文档
4.2 源代码管理
我们采用了GitHub
进行源代码管理,采用Pull-Push的方式进行协同编程。前端代码和后端代码均位于Git仓库中
4.3 项目工作流程
由于采用了近乎无PM制,主要是通过每日例会进行讨论,大家都提出自己的改进和工作意见,然后各自决定下一步的工作计划,然后每人独立完成。因为完成了学习阶段的初始成本,效率还是很高的。但是后期由于各种作业轰炸,不能保证每天都能开会讨论。
4.4 时间与进度管理
主要由石浩然同学提醒大家完成任务,大家的主动性都比较高,没有出现消极怠工的情况,但是各种客观原因确实影响到了进度。
4.5 文档
我们团队的文档在一开始就使用了MarkDown
格式进行编写,这种简洁美观的纯文本格式对于编写软件工程的文档,统一格式有着很大的提升。并且方便我们上传至GitHub
实时进行预览和多人协作修改。
在文档方面,我们编写了技术规格说明书
、功能规格说明书
、API设计文档
、团队贡献分分配规则
、团队文档格式规范
、需求分析文档
、团队介绍文档
等七篇文档。
其中技术规格说明书
详细介绍了我们团队这次使用的技术方案,并提供了入门级的介绍,为今后可能的接手团队提供了一条快速上手的渠道。
5.团队实际进展
Alpha阶段结束时的提交记录
Beta阶段结束时的记录
可以看出,到2017年1月5日为止,在Github
上一共有176次提交,且全员都参与了项目在Github
上的编辑,相比Alpha阶段新增代码数近7000行。
下面介绍一下我们具体实现的功能
5.1登陆页面优化
5.2 房间列表界面优化
5.3 玩家游戏页面优化
5.4 搜索好友页面
6.贡献分分配
7.软件特色功能
Beta版本在功能上的更新大致如下
功能 | Alpha | Beta |
---|---|---|
机器法官功能 | 已实现 |
已实现 |
统计场上存活局势功能 | 已实现 |
已实现 |
统计上轮投票功能 | 已实现 |
已实现 |
狼人交流、战术部署功能 | 已实现 |
已实现 |
记录玩家身份猜测功能 | 已实现 |
已实现 |
战绩系统功能 | 部分实现 |
部分实现 |
搜索附近的局功能 | 已实现 |
|
语音提示功能 | 已实现 |
|
搜索好友功能 | 已实现 |
|
登录持久化功能 | 已实现 |
|
忘记密码功能 | 已实现 |
|
LOGO | 已实现 |
|
UI美化重构 | 已实现 |
- 搜索附近的局功能
已实现
可以获取服务器上正在游戏的房间列表,同时能看到房间中进行的状态,人数,房主,房间名等信息,并可以点击下方的按钮一键进入房间。
- 语音提示功能
已实现
在游戏中,在相应的阶段会播放语音提示玩家要进行的行动,增加用户友好度。
- 搜索好友功能
已实现
遇到了志同道合的朋友,想再约一局?那就加好友吧,加好友以后,你将能看到对方当前的在线状态和游戏状态,更加方便一起玩耍。
- 登录持久化功能
已实现
不想每次登录都输入密码?程序自动帮您保存,并自动登录。但是如果用户在远程登录别的设备或者改变了密码,那么登录持久化功能就会失效。
- 忘记密码功能
已实现
忘记密码了?没关系通过我们的忘记密码功能,登录状态能够轻松找回。
- UI界面美化
已实现
想要更酷炫的界面,我们不断重构打磨,只为提供给你一个最简洁优雅的狼人杀。
- LOGO
已实现
如果没有一个响当当的名字怎么行,来浪带你来浪!Logo让你过目不忘。