学习总结

软件工程学习心得体会

经过一个学期的学习,这门课程不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合。整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想,是一个如何去分析和处理问题的过程。

在上课的时候我还是很认真地去听老师所讲述的内容的,我觉得这门课程教给了我们在完成一个实际项目时的一般程序及过程,我认为这是一份非常具有实际意义的教学内容。当我们在毕业之后,这是我们实际要运用的一项非常有用的技能,而且不仅仅局限于软件工程的范畴,我们即使是从事与其它行业,不也是要从需求获取开始,一直有条有理地到最后成品的出炉吗?应该说这就是这门课的价值所在。

通过学习我了解到单元测试和回归测试,好的程序总是要在最低的功能上验证程序的正确性,正如很多软件他们的源代码是在最低的版本上编写的,便是为了能够在任意版本上兼容。好的单元测试必须由代码作者来写,这样才能够保证程序在测试的过程中有相对性。一个软件工程师的技术和能力也是有衡量指标的,好的工程师需要具备的基本条件包括良好的编程能力、自觉的规范意识和团队精神、认识和运用数据库的能力、求知欲和进取心。程序是基本功,但是在算法和数据结构之上,决定软件质量的是软件工程;决定一个软件企业成败的是商业模式。

怎么提高技能?以前我总是把注意力集中于类似如何使用eclipse,某个函数该怎么拼写这样的“低层次问题”,忽略了最重要的东西:理论和思想。这样并不能提高技能。就像邹老师所说:“只有通过不断地练习把那些低层次的问题解决了,变成不经大脑思考的自动操作,然后才有时间和脑力来解决较高层次的问题。

     我们这些初学的同学们在学习和实践中都特别注重代码的编写,把编程序看的格外重要,拿到一个要求的时候,总是不加思考,马上就会下手开始写程序。往往只能开个头,接下来就手足无措了。但是要做好一个软件并不只是要写代码,而是代码加上复杂的一个工程。

 以前,我一直觉得一个好的程序员,必须具有良好的个人素质,具体表现为熟练掌握各种语言,精通各种算法,软硬件都有所了解,是一个学术大咖,直到学习了本门课程我才了解到,一个优秀的程序员不仅要有良好的个人素质,还要学会合作,一个好的项目不可能单凭一己之力开发出来,必须借助大家的长处,才能有的放矢。

      团队合作精神非常重要,在一个组织之中,很多时候,合作的成员不是我们能选择得了的,所以,很可能出现组内成员各方面能力参差不齐的情况,要开发好的作品,就要发挥每个人的长处,加强与他人的合作,保证集体成员是忠诚的,有责任心的,有意志力的,而且,还要有着对于团队的荣誉感,使命感。团队的所有成员相互信任,彼此之间要开诚布公,互相交心,做到心心相印,毫无保留;集思广议,多听听别人的建议,不要一意孤行,同时,作为领导者也要有领导者的风范,工作上对成员严格要求,在生活上也要关心成员,做好团队成员之间的沟通和协调工作,作为组员,也不能总想着从团队获取什么,应该从大局出发,把集体的利益看做最高利益,这样的团队才能开发出真正有意义的作品。

很多人觉得代码规范终究是个人习惯问题,你喜欢用全拼我喜欢用英文,都无关大雅,只要能运行,能实现功能的代码,都是好代码,直到今天才知道其实不然,团队合作对一个软件的开发太重要了,而个人代码的规范对团队合作又起到了相当重要的作用,可以说,一个程序员代码的规范程度,关系到他自身能否融入团体,这种习惯不仅关系到我们程序员个人的发展,还关系到整个团队的开发。

有的同学认为测试是整个软件开发过程中最简单,最形式化的部分,不过是输入几个测试数据,属于验证性步骤,代码已经运行成功,就算测试失败也只不过是边缘数据的问题,其实远远不是这样,好的软件测试是好的软件发布的基础,工程师所想和工程师所做以及程序所运行是不同的概念,用正确的数据令程序运行成功太简单了,在软件的整开发过程中,我们是无法预料用户会输入什么的,一旦输入类型,长度,范围等不同,没有测试做后盾,很可能导致崩溃闪退等严重错误,从而降低用户体验好感,严谨正确的软件测试同开发一样重要,而且也是个技术活,编写专门的测试软件做测试其实是最简单的测试方法,回想之前做过的题目,其实都没有进行测试,作为后台开发者,其实有很多已交付的都有漏洞,通过本章节的学习充分认识到测试的重要性,在以后的工作学习中会摆正态度,认真完成后期的测试部分。

在纯粹的理论上,我觉得开设这样一门课程是很成功的。但是毕竟现实里有太多的不确定的因素。最重要的因素就是授课的老师和听课的学生。这两个可以说是这门课成与败的决定性的因素。
       老师方面来说,我觉得给我们上试验课的老师非常的优秀,作为一名很有工作经验的老船长,看问题的确是有他自己独特的一套方法,我的话对他也是非常崇拜的。王老师讲课非常有激情,原本枯燥的科目也被他讲的有声有色,他把枯燥的理论的知识转化为生动的实例,让大家听起来感兴趣还能学到知识,不过,课下的随堂作业真是一点也不轻松,果然“课上一分钟,课下十年功”……

作为我们学生来说,在大学里有了太多的基础课程,基础课程大多都比较枯燥无味,也许在第一个学期里我们还能够保持着新鲜感,但是在5个学期之后,可以说再有新鲜感就是一件比较困难的事情了,我们都已经开始变得迟钝了。因为并不是每个同学毕业之后都回从事计算机行业,很多人觉得既然和我没什么关系,那我就不听,反正听了也没什么用,很多同学报着的就是这么个心态。

今天在这里写了很多,算是我对软件工程这门课程的一点点心得体会,也许是正确的,也许在一定的程度上存在着观点的偏激错误,但是起码这些东西是我觉得存在着的一些问题,但愿软件工程这门课程能够开的越来越好,让更多的学生们能够从这门课程中受益,在以后社会残酷的竞争之中存活下来!

原文地址:https://www.cnblogs.com/fooreveryu/p/5606749.html