从上个月二十号至今,我和六位小伙伴一直致力于新项目,安全教育项目的开发中。这是一个关于大学生安全知识学习和在线安全考试的一个系统。系统本身不算太复杂,主要涉及到了安全知识学习和在线考试以及题库练习等模块。
这是一个对我有很大挑战的一个项目,这个项目中我是主要的开发负责人,负责人员分配以及推动整个项目开发,同时参与开发其中。从最开始的需求对接以及ER图,建库建表以及原型图的设计,我参与到了整个项目的开发流程。
本次开发预计一个月左右,正好四周,恰好也对项目做了四个阶段的规划。本周是第二周开发结束。本周计划完成度约80%,与计划差别有些大。反思原因 最大的问题在于第一周开发过于粗糙,第一周计划是后端的所有接口完毕和前端的所有页面。为了完成基础开发任务,接口写的逻辑不够完善,测试也不够充分。导致本周测试时,代码出现好多bug,前端测出了问题 后端改,后端改完前端再测,再加上前端都是使用如此往复,浪费了许多时间。同时,由于原型图的改版,也耽误不少前端同学的开发时间。
我们这周进行项目同步了三次,每次联调都会发现新的问题,后端逻辑,页面展示等。拿后端来说,这是给我体会最深的,莫过于接口的实现方案和逻辑。写了好几个项目了,这次我深深明白了提前规划好实现方案对业务是多么的重要。写考试配置模块时,因这个模块比较简单,写接口时就比较粗糙,测试的时候发现问题一大堆。后续为了解决问题,我们不得不新增了一个大题模块。这是第一次因为没有规划好而新增一个模块来解决问题的。
好的是,虽然我们这个项目不是很大,但是麻雀虽小,五脏俱全。这次的项目经历,让我在程序的设计上与接口的实现上,得到了许多的历练。这次我负责的考试模块,模块略微复杂。考试创建,考试配置,考试发布,生成试卷,提交答案,完成考试,定时记录考试信息。为了搞通这七大步花了我将近5天的时间,从规划到实现,到推翻重写再到最后完成。每一次代码的修改都对我来说是一种提升。如何封装好,如何实现复用,如何让之后的同学方便维护,如何确保数据完整,如何确保访问速度,如何让前端同学处理方便等等。我也是第一次写项目考虑这么多的内容。附两张画的流程图吧。
项目还有最后两周就要结束了,下周初步计划把写过的代码重写一遍,算是进行一次回炉吧。继续加油,望下周少出一些BUG,加油!!!