软件工程基础课程——个人最后总结
最后一次作业——现代软件工程基础课程总结
通过一个学期课程的学习,还是收获到了不少和软件工程有关的理论和方法。回想起上个学期选择这门课的时候,想的就是要去了解当编程真正应用到实际软件编写的时候,这一切如何是如何操作的。
Part1 回顾过去
其实这次回顾对我来说还是很有条理的,原因是针对在学习每一个阶段的回顾,只需要把每次作业博客打开就好了。这些曾经让我痛苦的作业,到如今却是我总结归纳的利器,这种心态的改变何尝不是一种收获呢。
第一次作业:自我介绍以及阅读和思考
在这次作业当中,我简单分析了自己的优势和缺点,还有阅读了一些材料,对一些问题提出了一些看法,经过一个学期的洗礼,到如今我看到曾经的我以前问题的看法,不免觉得还是有一些幼稚。例如:在人生选择方面来说,不应该这么早就把一门心思放在了考研上,我现在的观点倒是应该立足于当下,充实自己的生活,做好每一件我们应该做的事情,提高专业技能,让自己不后悔才是最棒的。
第二次作业:GIT和GitHub工具的使用
这次作业留下了一个问题,让我们编写一个程序,功能是自动生成小学四则运算题目和解决问题的答案,并通过GIT上传到GitHub中去,程序本身倒不是很难,主要功能:
1)接受一个命令行参数n,然后随机产生n道题目
2)练习题生成后,将生成的练习题和正确答案输出到一个文件subject.txt中
具体的源代码在上述链接中。
但是这次作业中我觉得最难的是GIT工具的使用,在此过程其实需要先熟悉非可视化界面的操作,这肯定是多了一些额外的学习成本的,还有也要去就是熟悉GitHub的操作。记得当初fork下来的代码完全都看不懂,恼火得只能去全盘推倒重新写(写代码的过程还发现了自己对数据结构的知识点有些生疏了),最后还有一个单元测试,也是以往没有接触到的功能。
总的来说,第二次作业的收获真的很大,学习到了很多以前根本不会去接触的知识,很快地写完了以前会认为需要很长时间才能实现的功能,接触到了当今全球程序员共享代码的平台,极大地扩大了我的视野。
第三次作业:原型工具的熟悉
这次作业很大程度上和设计有着千丝万缕的关系。市面上面有三款主流的原型工具:Sketch,墨刀,Axure RP
当时我用的是MockPlus来做的博客园班级博客客户端,在这过程,需求分析是必要的,然后才能进行原型设计。
第三次作业当中,了解到了前端的设计部分的知识,也是打开了一扇的新的大门。
第四次作业:结对编程
从这次作业开始,我们便开始以团队为单位来完成接下来的每一次作业。团队第一次作业是结对编程,两两结对完成任务,第四次作业的任务是编写文件攻击软件的WordCount功能。通过需求分析可知道,这个软件需要两个模块,分别是Core计算模块和个性输出模块,现在只记得当初在输入模块和个性输出模块画了不少功夫,具体的源代码在上述链接当中。
在这次作业当中,接触到了在编程当中最普遍的模式——结对编程,在结对编程的过程中,如果遇到困难了可以相互鼓励加油,如果其中一个人十分有趣的话,整个编程过程还是十分活跃的,而且当有人观看你写代码的时候,你会比一个人独处写代码的时候更加谨慎仔细,而且两个人可以一同解决,甚至整个团队可以一起来探讨问题,效率还是大大提高了的。
以后的每一次作业都变成了面向项目的团体作业,在项目的不断完善中,也一直在复习着前面学习到的知识。
Part2 问题
在第一次作业中,提出了一些问题,当时基本通过查书找到了答案。现在我想提出一些新的问题。
Q1.通过一个学期的学习,也开始逐渐接触到了一些有关硬件的知识了,那我想问一下,在以后的发展过程中,怎么确定自己的方向了,是软件还是硬件。
Q2.如何在接下来的大学生活中,提高自己的专业素养呢。
Part3 总结
本学期的学习已经接近尾声了,回顾过去,真的是感觉到时光流逝的速度。在这门课程当中,我也学习到了不少有关软件开发的大体过程,让自己收获了很多,不后悔选择这门课,在今后也会更加努力地投入到计算机专业的学习当中去的。