软件工程实践总结作业——个人作业
软件工程实践总结作业
回望初心
学习能力预期---2016.09.09
- 增强项目实践能力
- 学习大量新知识,加快学习效率以及自学能力
- 团队协作,增加合作能力
- 设计编写软件过程将遇到种种问题,通过网络上学习自行解决
- 写随笔,增加语言表达能力
现在的我---2016.12.30
增强项目实践能力
很庆幸有软工实践这门课,让我体会到一个项目的实践过程,不再是课本的纸上谈兵,从几个同学到一个队伍,一个项目把我们联系在了一块,有分工,有规划进行项目实践。
学习大量新知识,加快学习效率以及自学能力
对于之前从没有项目实践的经验我来说,这一过程应该是最让我受益匪浅的,学到了不少软工知识、语言、编码以及各类工具的使用。
团队协作,增加合作能力
从最开始的一个人编写c语言题目,再到第一次接触结对编程,最后小组六人共同开发一个项目,这个过程循序渐进,很好的让我适应了团队协作。
设计编写软件过程将遇到种种问题,通过网络上学习自行解决
刚开始接触安卓,仅仅通过一本教程是远远不够的,笼统的学习一遍下来,自己还是不懂得很多问题的解决方法,需要边学边做,做中学,上网查询各类论坛的大神留给我们的技巧。大部分问题在网络查询中得以解决,同时也学习到了不少知识。
写随笔,增加语言表达能力
上栋哥的软工课,很明显的不同就是,别的老师要求交实验报告,而我们是写着博客,相比而言,写博客更像是对一个人说话,把我的所学所想以说话的方式记录下来。
课程带来的提升
- 学习使用:
Android Studio
,BalsamiqMockups
,MarkDown
,Git
- 完成的代码:1600行
- 其余提升在上文已经提及到,就不再重复了。
人月神话
作为团队中的一名开发,编程中会遇到一些头疼的问题,例如心里有这样的想法,但是却不知道该怎样用编码体现出来,几经搜索才知道这个模块的函数名字,再去学习网络上的代码,创建一个demo进行不断尝试,最终才得以运行成功。还有时想凭自己的想法套用某些相似的函数代码时,正确的编写却又和自己所想不一致,导致程序无法运行,又得进行网上搜索,重新学习正确的写法。这些问题的产生主要来源于对android语言的不熟悉,前期没有进行系统的学习,导致软件需要什么功能,就不得不去搜索相应的功能的代码案例,看代码,写demo,尝试,成功后写入程序。如果前期系统的学习一遍相应的语言,相比之下会节约更多时间,花在功能的完善上。
还有另一点值得一提的是,团队内的结对编程也对编码效率有很大提升。这较为适合应对复杂的编码。当两位开发人员同时进行某一功能实现时,首先是浏览大量的博客教程,以及程序案例,对其代码有所了解后,进行结对编程,互补遗漏,将很快的把一个困难的功能给实现出来。
几句话
对于大一新生来说,能做到的就是多学习一些语言,多背些单词,不然你会看不懂全英论文的。
大三开学初建议看一遍《第一行代码》以及《构建之法》,这两本书可以说一本是代码基础,一本是软工思想,将会从中学习到很多有关软工的知识。
还有就是选这门栋哥的课请做好心理准备,因为大学不曾熬的夜可能都会在这个学期享受到,不过这也看团队的时间分配,谁说白天不能挤出时间来干活呢?其他的就只有身在其中才能体会的到了,JUST ENJOY IT.
团队
- 萌芽阶段:大家之前都没有共同合作完成过任务,对队员的了解也就停留在平时打球打游戏上课吃饭抄作业上,真正合作才是互相认知的开始,你会发现谁的哪方面能力强,谁办事靠得住,谁做任务时马虎,谁有小脾气,谁能在团队逆境中解围。通过这一过程后,队伍的分工强度就进一步得到改善,不求每个人平摊到分毫,只求合适就是最好。
- 磨合阶段:这一阶段队伍的凝聚的重要性开始慢慢体现出来,偶尔也会出现“一核工作多核围观”的尴尬现象,但是一经提醒,就会立即改正,团队意识慢慢深入队员心理,遇到难点时一个队伍都会参与解决,整个队伍也进入了熬夜期。
- 规范阶段:经过a版本之后,全队的信心都有了一定提升,看到自己做出软件的雏形也倍加兴奋,干劲十足迎来b版本阶段,这一阶段队员的主动性更强,不用PM跟在后面督促,每个人都自觉学习自己分配到的功能模块,配合更加默契,交流也不像之前各学各的默不作声。
论文阅读
自己写得代码基本上队友都能不费多大劲的读懂,有些复杂的地方写明注释,个人感觉上不算泥球。
怎样证明我学会了软件工程?
研发出符合用户需求的软件
在需求方面,解决了部分对手机便签有更高追求的用户的问题,便捷了复制-粘贴这一步骤需要来回切换界面的烦恼,用户量可能在十个左右,但是有更多一部分人想使用我们的软件,由于适配问题,在他们的机型上运行不成功。
介绍下自己
我叫章鼎,爱运动爱健身爱玩各种有趣的事情,当然在考试前我也爱学习,如果你真要知道我是六个人中的哪一个,那请翻开我们组的冲刺阶段博客,那里有一个拍照不上镜但是却很装酷的人。