软件工程概论课已经结课了,回忆起这一学期感慨颇多。最终还是没有完成学期开始时候的小flag,回想自己的学习生涯,好像都是这样的结果。原因有好多,老师说是没有危机感,不知道自己要做什么;自律性比较差,感觉自己也不是特别贪玩,但就是比较容易浪费时间,养成一拖再拖的坏习惯。这个寒假下定决心一定要改掉这个坏习惯,不在拖沓。
王老师讲课是非常有激情的,也是非常的用心。老师从来不带扩音器,但教室的每一个角落都能听的清清楚楚。教课内容主要是根据构建之法做的ppt,内容覆盖了做一个项目完整的流程。老师讲课非常地生动,有时候手舞足蹈地,不但能够吸引学生的注意力,而且强化了需要我们记住的重点。特别喜欢老师上课举例子跟我们分享一些他知道的IT行业的小故事和自己亲身经历的事,这样能开阔我们的眼界,提起兴趣,了解到哪些错误是新手做的时候经常犯的,以后就可以有意识的避免这些问题。老师还要求每个软件工程系的学生都注册的博客园和GitHub账号,感觉这个工作是非常有意义的。学生从上面不但可以获取到很多的最新的信息和技术,找到常见问题的解决办法;还可以把自己的学习历程记录下来,总结自己遇见的错误和一些小项目的开发过程及在GitHub中开源自己的小项目。正如老师所说,我们这个行业没有人会去看你的成绩单上考了多少分,自己的学习历程和自己做过的项目才是真正的干货,到时候直接拿出来,别人就能看到你切实的进步。
在谈软件工程概论课的作业,老师留的作业是真的多呀,感觉比别的所有科目加起来都多。作业感觉主要是多了记录项目开发过程,记录周总结等一些发表博客的作业,其实这些作业都是习惯养成类的,养成记录和总结的好习惯后,也就不感觉是负担了。但是自己最后的几次周总结还是拖到后边才补的,补的时候非常的痛苦后悔,其实自己也做了东西,但是当时犯懒没有记录下来,后边补的时候只能早早了事,没有起到应该有的效果。以后要养成总结记录的习惯,这样才知道自己做了什么,毕业后才知道自己能做什么。
团队项目我们做的博客小助手,这个部分感受挺多的。
第一:确定项目做什么的时候,我们一直想创新,想实用,但是最后好像忘记了我们要锻炼的能力,老师一直强调的能力是独立完成一个javaBean+jsp+servlet的mis系统,但是我们项目做的方法好像跟这个没有太大关系。总结:做团队项目时所有的创新还是要在比较扎实的基础上进行,不能把一个单独创新的点子拿出来做东西,而是要补在现有的成熟的东西上。那些创新的单点还是自己空余时间做吧。
第二:团队项目构思完后,开始确定框架时,一定要尽量的写全,写正确,方法统一,软件的统一。我们这次最开始也写了大的框架,但是出现了一些小问题导致浪费了很多时间:
1.开始写完框架后,有一个地方变量名的书写有点错误,导致连接数据库和后边方法调用有了问题,以后要仔细。2.其他三个人数据库都用的mysql,我用的SqlServer,本来以为只要把连接的部分和value的方法改了就可以了,但是后来才发现表名命名的方法也不一样,sqlserver中表的名字不能用全数字。3.数据库软件不一样,那可以直接导入数据库的文件也就不可用了。
第三:要预估好团队项目的大概工作量,合理分配好工作内容。像我们这个项目,这点做的就不太好,由于是四个人,所以我分了四块:功能一(进博客)、功能二(查博客)、做界面、测试和优化。选到最后剩下了一个测试和优化给我,后来我就发现这个部分好像没有什么必要。每次我要等其他成员写完一部分后,然后拷给我,我在把他们代码和在一起,这时候就发现问题了,本来我想的是花很短的时间和代码,把主要精力放在找错误和优化方法上,实际成了把时间都花在和代码上了。每个人有的地方变量名有小改动,而且也没有注释,我就要一点一点理解然后慢慢调试,还不如直接让他们两个和代码。总结:像现在这样小的团队项目,没有必要单独分出测试优化部分,不如自己测试自己的部分,在讨论谁的哪个部分需要优化,然后在由写代码的人去优化,这样效率还比较高。
最后给老师的建议:
1.软件工程概论这种理论课,尽管老师上课讲的热闹,但好多时候都是讲完了就忘完了,希望老师每节课!多留出一点时间!做一些小测试来加强学生的理解和思维。
2.不一定非要最后节课在一起总结,可以在开课两周或一个月做一次小总结,这样可以减轻学生最后考试周前的负担,还可能提起学生的危机感,课程都已经过了一半了或者多长时间,自己学到了点什么。