智能查寝项目,岳麓山房管总队小组
可以说,第一次迭代的过程,是我从开始学习编程以来最快乐的一次写代码。第一次感受到小团队的共同编程,在一起一边进行讨论一边编写代码,这种体验让我非常享受。
我们的项目是安卓APP+java后端+mysql的分层架构,数据库很早就完成了,而我负责后端代码。在这个项目中,后端主要包括数据库的增删改查程序,以及前端需求的逻辑实现,最大的难点在于前后端通信的过程,以及复杂的逻辑如何架构,如何实现。
从个人角度讲,我们完全实现了第一次迭代预定的功能,尽管时间非常紧张,但每个人都得到了提升,并且体验到了真正紧张的实际项目编程。我非常享受团队编程的氛围,大家尽管都非常紧张,但是在高效的编程和信息的高速交换过程中,我感觉竭尽自己的记忆与创造力,全身心投入在代码中。这种体验非常难得,也非常珍贵,更是非常让我快乐。整体来说我对第一次迭代非常满意。
接下来是第一次迭代的具体分析。
设想和目标:
我们的项目是安卓APP+java后端+mysql的分层架构,目的是在app上完成教师和学生查寝的完成流程,而第一次迭代目的是完成所需的所有模块,并完成基础功能的完整流程。
我们成功完成了第一次迭代,实现了教师端、学生端的功能,也完成了后端逻辑和数据库设计与使用。
计划:
开发的计划并不明确,设想中只有项目的内容,而没有考虑项目的完成情况。这也导致了项目的工作量集中在最后一段时间,也会导致测试不足。虽然验收时没有出现bug,但是我们知道这存在幸运的成分。
团队对于计划十分统一,但是中途经历了分工的调换,总体上讲项目是在统一的认知下进行的。
最大的问题是,我们没有开发经验,对于项目的细节并没有足够了解,导致了从设计开始,有很多认知上的问题,但在开发过程中都一一化解了。
资源:
我们对于项目的资源分配没有任何经验,只能依据指导教师的分配方式进行。
最缺乏的资源在于测试,我们也明白了单独的测试人员对项目有怎样重大的意义。然而单独的测试人员对于我们组的分工来讲是不现实的,因此在下一次迭代中,我们会尽早完成开发,然后统一进行测试。
变更管理:
项目开始,我们对于变更没有任何的处理方法,只能在统一开发中口头声明并写入注释。后来我们使用了统一文档,对json的格式,接口等等都进行了文档化,所有变更在文档中一目了然,减少了不必要的交流,极大的提升了效率。
对于开发人员的一次变更,我们应对的比较到位。我们的项目开发是分成不同模块进行的,每个人的模块是统一接口的,因此交接工作并不复杂。
设计/实现:
设计在于前期准备,我们进行需求分析数据库设计等等,这个过程由大家几次开会完成。
使用的工具只有powerdesigner的数据库设计,其他工具我们并不适应,效率较低。设计文档一直在进行并参考,效果不错。
我只负责后端部分,最重要的bug在于测试用数据库和实际数据库字段名不统一,导致数据库调用和修改错误,这些bug在最后仍有留存,但也修改完成了。
测试/发布:
最大的问题在此,我们没有单独的测试人员,测试只是通过整个流程的实现来进行的,因此我们并不敢保证测试能够完美通过。从结果上讲,程序经过验收没有bug出现,虽然我认为也许有幸运的成分,但是至少项目经过验收,没有问题。
团队的角色,管理,合作:
团队的角色分工是由自愿进行的,尽量符合了大家的兴趣,也能尽每个人的全力。
团队之间交流很多,有非常好的团队氛围。当团队出现问题的时候,所有人都会尽力解决。我们只在技术实现上出现争执,团队非常团结。
感谢陈少碰和我完成后端代码,尤其是数据库操作部分。感谢前端同学的讨论与测试,营造了最佳的团队氛围。感谢指导老师的分析与帮助。