软件工程(3)项目一总结

来源:互联网 发布:免费视频点播软件 编辑:程序博客网 时间:2024/05/19 23:04

         经历了近半个学期,软件工程(3)实验1重构popush项目告一段落。

         先说说进度的控制。从开学第2周分组完成,到第7周周末验收,在各门课大作业满天飞的大三,一个多月的时间并不充裕。根据我的观察,大部分的同学在项目初期进展缓慢,以至于原定第6周的验收被推迟到了第7周。我想,在进度控制这方面,有许多值得思考的地方。

         就我们组而言,虽然我们很重视进度的控制,但还是遇到了不小的问题。

         项目刚开始时,由于有很多知识需要学习,我们觉得没法立即开始开发,于是各自去学习相关的知识。可是我们马上发现,这样效果并不是很好。因为没有经过充分讨论,大家的开发思路不清晰、不统一,学习的针对性不强。于是我们开始保证足够的集中开发时间。现在看来,单独学习不利于组员之间互相了解进度。而且集中学习时有任何问题可以立刻讨论,更快的得到解决。单独学习不能发挥团队应有的作用。

         项目初期我们在集中开发时,每个人完成自己负责的任务。后来,我们采用了结对编程,两人一边讨论,一边进行开发,共同解决同一个问题。我们发现,这种开发方式效率高于单人开发,遇到的问题经过讨论能很快得到解决。不同人的知识积累以及对于项目的理解程度不同,而结对编程能够取长补短。如果能更早的采用结对编程的方式进行开发,我们的进度会更加理想。

         这次项目开发,带给我们很多收获。

         比如,解决未知问题的能力。具体的说,首先,找到问题出在哪里,然后,寻求解决方案,最后,真正动手把这个问题解决掉。其中每一个环节都是考验我们解决问题能力的机会。充分利用搜索引擎、尝试采取不同的渠道去获取信息,是解决新问题的关键。事实上,开发中遇到的许多问题都有前人遇到过,通过搜索相关内容,再结合我们的具体情况,问题往往能够得到满意的解决。

         由于我们这次选用的前端框架是比较新的AngularJS,其中文文档并不丰富,中文社区也不够壮大。我们不得不去阅读英文文档,向英文社区寻求帮助。不得不说,这样的过程无形中提高了我们利用英文获取信息的能力,能够和全世界范围内的AngularJS使用者交流信息。

         AngularJS在众多前端JS框架中属于上手难度较高的。我们在开发中深切体会到了这一点,我们花费了大量的时间去学习相关知识,甚至影响到了正常的开发进度,这一点值得思考。在这次开发中,工期要求紧迫的情况下,使用更加容易上手的框架进行重构也许是更好的选择,不过这限于完成作业这一方面。在另一方面,我们使用了较新的前端框架,组员们都认为这个框架十分强大,经过整个项目的重构,基本初步地了解了这个框架的使用方法,还是很有收获的。

         经历了这次项目,我们小组感到学到不少东西,也遇到了很多的困难。由于工期的原因,我们的项目没有按照要求实现全部的功能,但是我们完成的部分,我们认为还是经过了我们精心的重构的,我们的收获也来源于此。希望在下个项目中我们能纠正本次项目中的缺点,小组成员更加默契地配合,做出更好的项目。