软件工程结课作业-20194711阚宇航

 

软件工程课程总结

 

 

一丶软件工程课程的总结

*  软件工程课程是一门计算机学科的基础课程,也是极其重要的纯理论课程。

*  相比其他语言类,技术类的计算机科目,软件工程课程的难度并不小。

*  无论以后身处什么职位or等级,学好软件工程课对工作都是有极其重要的帮助的。

*  因为学好技术仅仅决定了你所在的领域,但是学好软件工程才能决定你能在某个领域走得更远更好。

 

还记得第一次软工作业,通读教材,我的疑惑是

1.看了第三章提到了“软件团队由个人组成的,在团队的大流程中,是每一个具体的人负责开发,测试,用户界面设计,管理,交流等工作”说明了,一个软件开发是由团队来共同完成的,软件工程也是个团队的工程。那么问题来了,我该怎么来确认自己更适合哪方面的工作呢?并且如何提高自己在软件开发流程中某方面的能力呢?并且该章节也提到了软件工程师的职业等级,作为更高级的首席软件工程师,或者更高的级别的大佬,作为一个能影响到整个团队项目成败的人,自己本身是不是也要能独挡一面?个人能力极强的情况下,那样的话团队是不是就变得次要?

 

2.代码复审会不会影响程序员的工作心情,就像老师疯狂留作业就会影响同学自主学习的积极性,当工作人员和复审人员,因为程序会发生的一些小问题的“可能性”发生争执该怎么办,代码复审人员要求经验丰富,熟悉代码的人来做,那么为什么不能让复审人员直接来进行代码的修改甚至是设计呢?

 

3.第十四章中的质量保证中的独立测试角色。我觉的一个完备的大公司会有更优秀的工程师来兼顾其他角色的工作,比如这个测试角色。而且优秀的团队能拥有更完备的技能,可以减少出错的几率。而小公司可能在缺乏大佬的情况下也没有能力组建一个专门的测试工作团队,那该怎么办?

 

4.关于第十六章IT行业的创新问题,正如书中说的,创新就是灵光一闪然后才出现的产物。但是书中还提到了练习创新,我就不是很能理解了,如果是为了创新而创新的话呐很容易出现无意义的构想。而失去了创新的本质。

 

5.通读本书,我最大的问题是,这本书写的是一些偏理论的或者说的是偏向引导性的书籍,其中的知识内容并不像是学习某种语言,或者算法之类的。具体的东西。像是以一种整体为视角的将学生带入软件工程的各个流程中。其中包括的很多方面更像是一个领导者该考虑的问题而不是一个工程师。这种视角的引导究其根本能应用到实际的带给我们的好处究竟有多少?

 

那么在学了一学期软件工程课程之后,面对我最初的疑惑,我心中也有了些许不成熟的解答

1.看了第三章提到了“软件团队由个人组成的,在团队的大流程中,是每一个具体的人负责开发,测试,用户界面设计,管理,交流等工作”说明了,一个软件开发是由团队来共同完成的,软件工程也是个团队的工程。那么问题来了,我该怎么来确认自己更适合哪方面的工作呢?并且如何提高自己在软件开发流程中某方面的能力呢?并且该章节也提到了软件工程师的职业等级,作为更高级的首席软件工程师,或者更高的级别的大佬,作为一个能影响到整个团队项目成败的人,自己本身是不是也要能独挡一面?个人能力极强的情况下,那样的话团队是不是就变得次要?

(1)我该怎么来确认自己更适合哪方面的工作呢?

答:精通那方面的技术就决定了你的工作领域,具体的工作层次取决于软件工程课程的学习程度。

(2)并且如何提高自己在软件开发流程中某方面的能力呢?

答:如果有意向提高自己在项目中某个角色的能力,一个好的团队会给予最大的助力,同时个人的努力也必不可少。

(3)个人能力极强的情况下,那样的话团队是不是就变得次要?

答:团队工作是工程项目的实际体现,再强的个人能力,也代替不了一个优秀的团队。合格的团队完全可以事半功倍。

 

2.代码复审会不会影响程序员的工作心情,就像老师疯狂留作业就会影响同学自主学习的积极性,当工作人员和复审人员,因为程序会发生的一些小问题的“可能性”发生争执该怎么办,代码复审人员要求经验丰富,熟悉代码的人来做,那么为什么不能让复审人员直接来进行代码的修改甚至是设计呢?

答:首先,众所周知相比其他国家,中国程序员在书写规范上,的确是有所欠缺。每个人都有每个人的习惯。所以,让复审人员直接来进行代码的修改是很不合理的。

       其次,如果复审人员直接进行设计的话,意思就是,由设计人员自己进行复审。但是,这样的方式在很多的情况下是行不通的,需要复审的原因就是需要另一个思维模式的人员来找出开发人员设计的漏洞,如果自己进行复审的话,还是一模一样的思维模式,就很难找出漏洞了。更别提更改的问题了。

       再者说,项目的工程量小的时候,这种方法可能还有可能性,但是如果所处的环境是一个大的工程项目的话,独挑大梁的事就特别的不现实了。

 

3.第十四章中的质量保证中的独立测试角色。我觉的一个完备的大公司会有更优秀的工程师来兼顾其他角色的工作,比如这个测试角色。而且优秀的团队能拥有更完备的技能,可以减少出错的几率。而小公司可能在缺乏大佬的情况下也没有能力组建一个专门的测试工作团队,那该怎么办?

答:关于独立测试人员的问题在第三次作业的时候已经分析过了,不多加赘述。https://www.cnblogs.com/designer97k/p/11563677.html

 

4.关于第十六章IT行业的创新问题,正如书中说的,创新就是灵光一闪然后才出现的产物。但是书中还提到了练习创新,我就不是很能理解了,如果是为了创新而创新的话呐很容易出现无意义的构想。而失去了创新的本质。

答:关于创新的问题,我们课上没有很深的涉猎。但是在我认真的思考了之后,发现自己钻了牛角尖。所谓创新就是在一个社会环境下,去发现去探索最后去完成的服务于客户。就是一个从    构想-->现实    的过程。所以没有主动的去思考,去练习的话,空谈创新基本毫无可能性。

 

5.通读本书,我最大的问题是,这本书写的是一些偏理论的或者说的是偏向引导性的书籍,其中的知识内容并不像是学习某种语言,或者算法之类的。具体的东西。像是以一种整体为视角的将学生带入软件工程的各个流程中。其中包括的很多方面更像是一个领导者该考虑的问题而不是一个工程师。这种视角的引导究其根本能应用到实际的带给我们的好处究竟有多少?

答:在学期末看到这个问题的时候,很轻松的就想象到了,在学习软工课的开始,我内心的抵触。并且坚定的认为,软件工程课对我们以后的工作没有实际的好处。但是在学了一学期之后,我对软工课有了彻底的改观。就像这篇博客开头说的那样

“软件工程课可能相对于其他的计算机课程显得更枯燥,更难。但是学好软件工程才能决定你能在某个领域走得更远更好。”

 

二丶学习软工课我的收获

 

课程上:

首先,我从一个小白到对软件工程课有了初步的认识。

其次,从自己对自己开学伊始的疑惑的解答,也能看出我对这门课掌握的些许进步。

最后,从个人项目,结对项目甚至后来的小组项目中都得到了很实际的学习,无论是个人技术还是团队项目的协作能力都有了很大的提升。

 

经验上: 

在开学的时候兴致冲冲的当了彭馨怡老师软件工程课的助教,我也同样收获颇丰。

 

加深了自己软工课程的认识。

做助教的这个学期以来,通过审阅同学们的作业,让我更好的学习了这门纯理论的略显复杂的课程,尤其时之前一些模糊的概念基本上搞清楚了,并且培养了自己提出问题、分析问题、解答问题的能力。

身为助教,自己要更好的理解书本中的知识点,在审阅同学作业的同时又汲取了同学们从各种渠道总结的知识,最大可能的填补了我的知识盲区。很好的加深了我对软件工程课程的认识。

培养了自己的责任心和能力。

软工助教的工作,一方面要求我们自己本身就要不断的学习,另一方面还要批阅同学的作业,还要去总结同学们的作业,然后进行反馈。每周批改作业的时候,还要对同学们博文中出现的问题进行评价。久而久之,我收获了一种比技术更重要的东西:坚持。

因为要准备考研,所以要自己给自己安排的课程比较多再加上助教的工作,工作下来,的确很累。偶尔也会有烦躁的心情,但是我还是毅然的坚持了下来,这也使我深刻的体会到想有多大的收获就要付出多大的心血,也进而培养了我的责任心,自己需要完成的工作无论有多么的艰难枯燥甚至是疲惫,也都要坚持!

培养了自己的沟通交流能力。

助教,从某一方面来说,就是老师在教学工作中的一座桥梁,连接学生与老师,让老师和同学之间能更好的进行沟通。

虽然我作为软件工程助教,但是自己本身也就只是一个学生,所以沟通的方式就成了一个很重要的问题。

如何沟通才能让同学们减少对软件工程课程的抵触心理,让同学们更加积极的自主的认真的完成每次老师布置的任务。成了我作为助教的必修课。

每次批改完作业之后,我们助教之间还要将一些共性的问题进行交流,最后汇总并且及时的向老师反映。

这很大程度上的培养了我的沟通交流的能力。

 

三丶总结

很庆幸在为期不长的本科学习中,有这样一门课,让我无论从知识还是能力上都有了大幅度的提升。

最后也希望在学期末的考试中能取得较好的成绩,也算是对一学期软件工程学习的一个总结!给自己的努力一个交代!

posted @ 2019-11-27 20:25  玖米  阅读(186)  评论(0编辑  收藏  举报