饱满骑士——alpha阶段问题总结随笔
这个作业属于哪个课程 | 2021春软件工程实践S班(福州大学) |
---|---|
这个作业要求在哪里 | 团队作业六——beta冲刺+事后诸葛亮 |
团队名称 | 饱满骑士 |
这个作业的目标 | 完成Beta冲刺 |
其他参考文献 | 无 |
alpha阶段问题总结随笔
设想和目标
- 实现游戏的基本功能,产出一个可玩的游戏。
计划
1.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
计划内容 | 实现进展 |
---|---|
实现主角逻辑,玩家操作 | 100% |
实现怪物逻辑 | 11/15 73% |
实现游戏菜单,游戏场景切换 | 100% |
对话 | 100% |
背包 | 100% |
地图 | 80%(未实现根据游戏进度展示不同地图) |
存档 | 100% |
制作部分角色、怪物动画 | 13/15 87% |
场景素材 | 90% |
总进度 | 92% |
没完成的部分主要是怪物和地图,怪物由于低估了制作时间,而分配了过多的怪物。地图与场景有关,制定任务时忽略了这一点。
3.是否每一项任务都有清楚定义和衡量的交付件?
基本上没有,大部分是与策划沟通后开始工作,工作结束后交予策划评判,修改完即完成任务。
4.是否项目的整个过程都按照计划进行?
都在按计划进行。
5.在计划中有没有留下缓冲区,缓冲区有作用么?
有缓冲区。缓冲区是让工作有关联的人交流和让不了解技术的人学习。
6.将来的计划会做什么修改?(例如:缓冲区的定义,加班)
分配专人写博客,增加缓冲区灵活分配任务。
资源
1.我们有足够的资源来完成各项任务么?
除了美工以外足够,但是由于经验不足没能全部完成。美工工作量大,而且对于非专业来说进度也比较慢。
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
由组长和组员讨论估计的,根据大家的直觉和经验。
3.测试的时间,人力和软件/硬件资源是否足够?
仓促得做了测试。因为一开始预想,各部分能做到自己测试没问题,那放在一起也没问题。实际上并没有因为整合而新增问题,问题都来自原本。
资源可以说是溢出。
4.你有没有感到你做的事情可以让别人来做(更有效率)?
有些同学更适合怪物编写,因为他们编程能力比较强,掌握比较好的设计模式。但是任务有多个,把一个任务分配给最合适他的人不一定是最优解,因为剩下的任务不一定合适其他人。我们在分配任务的时候考虑了所有人得能力,从结果上来说,满足预期。
变更管理
1.每个相关的员工都及时知道了变更的消息?
有,变更需要组长同意,组长同意后便会告知所有相关的人员。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
与α冲刺目标最接近得功能为“必须实现”的功能,不是那么需要的功能就是“推迟”的功能。
3.项目的出口条件(Exit Criteria)是否得到清晰的定义?
没有,是模糊的定义。往往是“看起来可以”就算成功。
4.对于可能的变更是否能制定应急计划?
有。一开始主角动画打算用骨骼绑定,后来发现骨骼操作有难度,于是紧急改成手绘动画。
5.员工是否能够有效地处理意料之外的工作请求?
很有效率。毛富林同学在变更动画方案后,快速完成了替换动画。
设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作在项目实际编码之前开始。由所有人完成。是合适的时间,合适的人。参与相关部分设计的人在alpha阶段基本负责他们设计的部分。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有。在设计存档功能的时候还没有很好的存档实现方案,所以在设计的时候不知道要提供什么接口。我们例举需要存档的数据,像黑盒一样描述存档的功能,然后把我们能看到的作为接口。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
使用UML来作为指导。有效,方便了任务分配,统一接口。
4.什么功能产生的Bug最多,为什么?
存档的bug最多,因为对C#序列化不太了解,而且测试比较容易。
5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
组员提交后,组长合并他的分支,然后检查代码,频率是每两天。由于只有一人代码复审,细致的地方可能依靠组员自觉。
测试/发布
1.团队是否有一个测试计划?为什么没有?
有一个简单的测试计划。
2.团队是否有测试工具来帮助测试?
使用VS的单元测试功能测试部分.
3.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
没有测试和跟踪软件的效能. 主要靠主观判断, 由于没有需要高性能的地方, 所以没发现性能瓶颈.
4.在发布的过程中发现了哪些意外问题?
人物死亡不会重置场景. 原因是主角部分代码更新了, 覆盖了先前死亡处理的代码.