这学期学了软件工程,我学到了很多,也对软件这块有了大体的了解,揭开了它在我心里的一层神秘面纱。当然这门课也让我 充分认识到了自身的不足。开始这门课的时候,感觉很不适应,它不同于以往的任何一门课程,有很多理论去了解,一开始就是以实践的方式拉开了软件工程的大幕。给了我一个措手不及,让我这个从小到大偏重于理论课的学生有些吃不消,讲课的风格也大不同于以往,每次课后都很茫然,自己到底学到些什么。但还是把自己该做的作业做了,但是随着课程的深入,我渐渐的感觉到平时课堂上的一些不起眼的理论什么的,正是我所用的。慢慢的我对软件工程这门课程有了全新的认识。
软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。在软件实践这门课中,讲到了有效利用现有资源进行软件编程的方法。提到软件开发也可以像练习书法一样,采用临贴的方式,借鉴他人的优秀代码资源。临摹优秀软件是学习软件开发的一个重要方法。正如一首诗中说的:“熟读唐诗三百首,不会写来也会吟”。软件开发也是一个道理。为了真正地掌握软件开发的技巧,“临贴”是个不错的起步方法。
以前总是觉得,既然编写一个程序,就应该完全靠自己,那样写出来才有成就感,才算是自己的程序,可是这门课程教会我原来适当地借鉴别人的东西,也不算抄,相反,还可以提高效率,节省时间。这可真是与以往的观点不一样了。具体如下:
“软件编程,拿来主义的作用很大:
1、源代码交换方便。
2、可行的例程序用处大。
3、借鉴现成少走弯路。”
不过借鉴别人的东西可是有说法的,可不是盲目地抄袭,下面是一些提到的途径:
1、既有系统:借鸡下蛋,买来就用;
2、书本例子:简单修改、直接使用;
3、联机或联网帮助:帮助文档、官方支持;
4、开放软件源代码:Linux Apache Eclipse …
5、互联网资源:论坛、搜索引擎、新闻组
借鉴过来后,还要多方面综合考虑,比如说代码的具体作用,完整性,还要考虑每个借鉴过来的东西的好坏。这些都要多方面考虑,可不能因为前面说软件编程可以借鉴别人的,就盲目地抄袭。到时候代码弄一堆凑在一块儿,谁也不知道它们会不会好好工作。弄不好乱了程序计划是小,公司的损失可不是哪个人都能承受得起的。
课程还提到,应该用一个小项目先从头到尾地练完,这样,有个整体性的了解,可以增加不少开发经验。看来,不学习此门课程,还不能深入地解读软件工程的奥义。这门课程为我们深入地了解软件工程这个庞大的前沿学科起到了推动性的作用。以上是我就此门课中提到的众多方法的一小段做的一些浅谈,更多的知识还在于我们自己去学习体会。
当然最让我收获最多的莫过于团队模式,第一次体会到人多力量大的原理,每个人都有自己的特色与拿手技术,我们不应该轻视任何一个人,即便有些人的编程技术不怎么好,但是它对一个问题的见解有时候比其他人深刻。往往我们只注重技术而忽略一些很重要的事,比如团队之间的和谐与交流之类的文化因素,而此时作为团队的负责人则起到了很重要作用,协调团队各个成员的联系。只有每个队员合力一处才能把工作做好。
这门课程教给我的会让我终身受益,在最后我想对各个助教,老师说声“谢谢”,相信在老师,助教的帮助及感悟下,每个同学在未来的人生路上走的更远,更美好。