写在高级软件工程课前
由于我们哈工大的六位同学是第一批参加联合培养班的HITer,导致我们没有可以交流经验的学长。不过通过看往届科大班学长们的blog,加上在学校上的软件工程的课程以及之前做软件开发的一些经历,我还是有一些想法的。
首先说说在学校上的软件工程的课。我们这门课分为两部分,一部分是理论学习,就是正常的老师授课的形式,把软件开发的每个阶段都要做什么,怎么做大概讲一讲,只有非常少量的作业,而且仅仅停留在理论阶段,这个理论课要上半学期。另一部分是软件开发实践,几个人一个组开发一个软件,在开发的各个时期要给出需求分析报告,系统设计报告等等,最后也要做出一个成品来。
看起来非常合理的课程设计,但是实际操作起来就没有看起来那么好了。学习理论时,由于这门课实践性很强,学了如果不用,那些概念性的东西很容易就忘记了,现在我还能记住的大概就是开发的那个几个步骤的名字以及黑盒白盒是什么(因为考试考来着)了。其他的基本就随风而去了。到实践开发软件时,各种报告文档大家分着写,写完的报告到编码阶段也用不上,到了编码阶段就是一个人按照自己的想法来写,剩下的人抱大腿,没有测试,没有发布,答辩过了就行。可以说除了干了一堆体力活以及锻炼了写代码的那个人的代码能力以外没有任何收获。初衷是好的,但是与预期的效果差很多。
看过了前辈们的blog,感受到了这个课程的课业压力还是很大的,有一些时期是要每天跟踪进度的,对我们的要求也比较高,同时也非常锻炼能力。我相信相比与在学校上的所谓的软件工程课,这门课可以使我们虽说不上是掌握软件开发的命脉但至少是获得第一手的开发体会,为我们未来进行软件开发做好铺垫。之前写项目基本上都是一个人完成一个组的任务,很少有人跟我合作,唯一的一次称得上是合作写的项目也只是两个人一起写而已,所以这次五个人真正一起来分工合作完成一个项目对我来说一定会有更多的收获与感悟。
最让我觉得兴奋的一点就是基本上每个组最后都会有最终的产品发布出来,无论成功与失败。因为之前我们做的一些项目都会因为种种原因没有最终发布出来,做了很多却拿不出任何result,耗费的精力都白白浪费了,非常没有意义。希望我们通过这个课程,可以真正做出一个能被用户使用的东西,并在这个过程中体味软件开发的酸甜苦辣。
最后把一句话写在课程开始前,这句话最近听了很多次,觉得很有道理,写在这里也算是送给组里每位组员:
idea不值钱,值钱的是踏踏实实把事干出来。
Yue Hu