时光匆匆而过,不知不觉一学期就过去了,与此同时,也意味着软件工程课程的结束。通过这这一学期我在这门课程的学习实践中,我学到了不少东西,相应地,我的编程能力以及团队合作能力有了很大的提升。下面是我的一些感想。
在刚入大学时,我对于电脑各方面的了解并不多,只是会一些基本的东西,比如说文档的编辑、QQ等聊天工具的使用等。在前面的学习中我们进行了C语言、Java、linux、数据库、汇编语言的编程,但是由于自身的一些原因导致编程能力不是很高。在这学期的软件工程课程中,老师在每节课讲解了一些理论知识后,通常都会留下一道程序题,有个人练习,有双人练习,还有团队项目。通过各种练习,让我们学到了不少东西。
对于个人练习,从二柱子实验一开始到二柱子实验四,老师选择了逐步添加条件,在上一次实验的基础上进行叠加,让我们对二柱子咬牙切齿,但是通过这几次编程,让我的编程能力有了一定的提高。同时,我也学会了迭代开发的基本方法。
再后来的双人合作,从老师对《构建之法》课本中双人团队合作内容的讲解,让我们知道双人合作中两个人沟通的重要性。同时,双人合作不意味着一个人做一个人只是旁观,双人合作需要的是两个人都工作,正确分配,相互理解。我们不能抱有“抱大腿”的心理。双人合作就和双人跳舞一样,都有过程,都存在磨合阶段,通过这门课程对于两人合作的学习,同时在实践双人合作编程项目的过程中,我在与人合作这一块有了明显的提高。我不再只是自己干活了,两人一起编程,一起提高才是正确的选择。
对于这学期的团队项目,是我进入大学以来所编写的最复杂、历时最久的一个项目。在项目中我主要负责天气模块以及其他模块的一些功能。对于安卓开发,这学期我选修了移动应用开发这门课,由于只有八周的课程,老师讲解的知识不是很多,只是对一些基础的控件进行了讲解,因此对于安卓开发的很多控件、使用办法都不知道。在这次团队项目开发过程中,在第一次冲刺周期由于水平有限,只是选择了一些简单的控件,如TextView、EditView、button等基础控件。对于如何从网页上获取知识,如何对从网页上提取出来的信息进行筛选提取,一开始我并不明白。后来从网上查找了很多资料,通过自己动手实践,最终初步学会了如何从网页上获取知识,如何对从网页上提取出来的信息进行筛选提取。学会了这个以后,我有在选取合适的天气信息上出现了问题。通过自己多次查找,多次验证,最终找到了合适的天气信息。在第二次冲刺周期,由于想在第一次冲刺周期的基础上让界面变得更美观,我对控件进行了优化,选择了功能更多的ListView、ScrollView、HorizontalScrollView、ExpandableListView、Picker、imageView、imageButton等控件,同时对于城市选择界面,从一开始的信息杂乱、无法逐级选择到后面可以逐级选择、信息简单明了,让我学习到了不少东西。有对控件的监控、有对城市信息的提取。同时,根据同学们的建议,我在上次展示的基础上增加了定位功能,让天气模块和城市模块更加完善。通过这些的实现,让我对安卓开发没有了一开始的茫然,学到了不上东西,有控件的属性、使用、以及其他相关知识,收获了不少东西。
这门课程不仅仅让我的编程能力有了长进,我的团队合作能力也有了长进。同时,老师通过将理论与实践结合,让我们从实践中去学习知识,记忆知识。这样我对相关理论有了更深的记忆。例如我们在单元测试的学习中,老师通过让我们对四则运算2进行单元测试的书写,让我们自己从单元测试的五个方面来测试自己的实验,让我们对单元测试的理解更深刻,掌握得更牢靠。
对于这门课程,给我带来的好处很多,让我学习到了很多书本上没有的知识,同时也由于老师的严格标准和孟工助理的认真评分与评级,让我改掉了我编程的一些不良习惯,提高了我的编程素养。但是,对于这门课,我觉得老师如果讲解一些软件开发的一些文档的规范就好了。现如今我们也将面临着毕业,对于各种文档的书写方式、规范还不是很清楚,例如需求分析说明书等相关文档的书写,就是每次项目开发的大难题,不知道该如何书写。
很快的,这门课就结束了,不管过程怎样,我们都学到了很多,收获了很多。感谢老师这一学期以来的付出,感谢孟工、邹欣老师的倾情奉献以及对我博客的关注评价!