个人课程总结

 经过这一个学期对软件工程这门可得学习还是学到了不少的知识的,就单单回顾自己的博客就不难发现,自己从这一点一滴中还是有了很大进步的。

回顾自己刚开学的时候,自己仅仅是一个只会写简单的web程序的,连最简单的css样式,以及一些简单的js都不会使用,虽然现在对于界面美观化实现起来还是相当困难的,可能自己对于布局方面还是欠缺的,可是我可以读的懂每一部分是该干嘛的,对其相关的语句已经有所了解了,另外,我可以通过设计好的样式模板,大街一个简单的网站结构,把那个运用数据库的增删改查功能实现相应的需求了。

说实话,在这门课刚开始的时候也懈怠过,老师都是讲的都是按照《构建之法》这本书中的一些关于软件开发的流程、需要注意的问题,看起来似乎并没有任何关于技术方面的明确的知识,感觉这门课其实并没有那么深奥,就是每天去听课、上课可能做几个简单的小练习。直到从第一个难题出现“结对开发地铁的乘车系统”说实话这个项目真的困扰了我好久,自己看着似乎地铁换乘好像就是一个简单的逻辑啊,但是如何将他转换为计算机能够执行的语言呢,在与队友的共同努力下终于攻下了这个山头,对于地铁换乘的核心的实现代码就完成了。由于两个人在界面方面的功底都比较差,无奈就只好用一个比较简陋的界面交差了。

经过老师不断地讲解、以及时不时的课堂小测试、以及自己的读书,我也慢慢的认识到了这门课的重要性。也让我重新认识到了软年工程这门专业,其实软件工程,并不像我们想的那样,只要坐下来通过人月来计算,不断地累代码就行。作为一个工程来说他也是需要有着一定的规则的,软件也就像一栋房子,如果你不按照要求来,他也是一个豆腐渣工程根本不堪一击。这门课就是让你掌握在实际的开发过程中我们需要注意的问题,无论是对于代码的编写过程,还是团队的合作,对项目问题的分析,对用户场景的模拟,对于异常事件的处理。这些都是我们不曾接触,没有在遇到甚至从未考虑过得问题。这就说明我们之前所做的实验都仅仅是实验室版本,只能是通过自己规定的正确输入,然后得出自己预想的结果,这样的程序只能存在学校这个象牙塔中,无论是从程序的健壮性还是安全性考虑根本经不住任何的考验。看看那些做过的课堂测试。从一维数组的最大子数组、二维数组的最大子数组、统计单词找水王、计算最长单词链,每一个问题似乎看起来都不是很难,但是动起手来却发现他并不是那么的容易的。这其中揭露了我们在编程方面所存在的巨大问题,总是好高骛远,然而其实连这种看似简单的问题,处理这种问题的思维都没有,另外,我们对于代码的重构,以及对于时间的异常处理机制还十分的欠缺,表名我们考虑问题的时候还是比较浅显,不够全面的。经过这些老师的讲解以及练习中,发现了这些问题,这也对之后的学习指引了方向。

另外,在这一学期的学习中,我们进行了团队开发的实践,第一次进行团队合作,并且严格按照团队开发使用的开发流程,经过这一此也对团队开发有了一定的了解,由于是第一次进行合作,并且,是我们第一次使用进行APP开发,所以所有人对于环境、使用的语言具体的操作流程都不熟悉,所以在进行工作时也是很艰难的,在第一阶段冲刺的时候,感觉自己并不是那么的投入吧,如果按照构建之法中的效绩评价的话我就是团队中的鸡吧,后期也是意识到了这个问题,这是整个团队的事情,自己这样是对团队的不负责,是在拖队友的后腿,所以在后期尽量的去补救,尽量积极地承担项目中的问题,积极地去准备,为团队共同的目标去努力。最终在大家共同的努力下还是完成了开发任务,虽然界面显得比较低级,也只能实现记账本的基础功能吧,但是大家都努力去做了,虽然没少碰壁,但还是学到了不少的知识的。说实话,项目中的许多控件都是从网上找的,然后根据需要进行相应的修改,对于其中的不少知识还是不怎么了解的,所以在接下来的学习过程中,还要多去实践,去掌握相关的知识的。

对于给老师的问题:

  1. 希望老师可以提供一些软件需求,我们在选题时没有任何的方向
  2. 还是进行一点练习吧,光听那些知识性的内容,记忆还是不够深刻
  3. 希望老师对我们的软件提一些改进意见,我们对软件的考虑还不是很全面。
原文地址:https://www.cnblogs.com/1gaoyu/p/11032166.html