个人作业——软件工程实践总结作业
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 这门课程在代码能力上的要求远远超出了我当初选它时所做的猜测,也非常结实地在我薄弱的能力上狠狠敲打了一击。我到现在都记得当初结对编程作业时,连题目都无法看懂时的惊慌失措。
- 课程本身的节奏不慢,很有些督促人行动起来的动感,我觉得自己的懒怠都在此情况下有了不小的改进。然后是能力方面,代码能力受到了磨练,而不只是编程,还知道了很多新方面,第一次做原型设计,第一次画UML图,非常有收获。
- 不足之处的话主要还是来源于自己的能力不够,而且这次的课程经常涉及一些需要同别人交流探讨的部分,我感觉自己做得不太好,还是太羞于开口。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
5k左右吧。 -
2、软工实践的各次作业分别花了多少时间?(做一个列表)
第X次作业 | 耗时(小时) |
---|---|
1 | 2 |
2 | 12 |
3 | 1 |
4 | 3 |
5 | 13 |
6 | 25 |
7 | 2 |
UML | 2 |
ALPHA | / |
软件产品案例分析 | 6 |
BETA | / |
-
3、哪一次作业让你印象最深刻?为什么?
大概是第二次的结对编程作业吧,当时我和我的搭档出了一些问题,导致整个作业难以行进下去。最后我虽然勉勉强强完成了作业,但完成得并不很好,算是还有进步的空间却没法再前进的情况,现在想来是有一点失落的。 -
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了多少时间这个实在是不太好算,大概80个小时起步?平均下去每周应该有6个小时吧。自身能力不足,有的时候无用功会多做不少。 -
5、学习和使用的新软件;
Mockplus & Android Studio,两神器,受益匪浅。
VS 2017,也是神器,但不算新了,不过我之前基本都是在2010和dev之间流连,觉得简单易用,这回上了这门课才开始正式使用最新版的2017。 -
6、学习和使用的新工具;
AI会用一点点了;还有starUML,它的功能很尽善尽美,可惜我用得不太趁手…… -
7、学习和掌握的新语言、新平台;
算是和Js来了一次亲密接触。
processon,一个在线绘图平台,用它画图很清新好看,但画不了太复杂的图。 -
8、学习和掌握的新方法;
像原型设计,NABCD,还有UI设计之类的都是我在此之前所没有见识过的。 -
9、其他方面的提升。
真的是涨了见识,对团队开发的工作流程等有了很深切的了解。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 当时尚未开学却先接到了作业,着实让人惊愕了一阵。第一个数独的编程作业是这门课给我落下的第一槌,后面虽然陆陆续续还有很多,但作为“第一”它给我的触动是独一无二的。一个人对一份任务束手无策,可能是因为信心不足也可能是能力不足,而我则包圆了——既觉得自己不行,也确实没什么能行的本事。一开始是真的毫无头绪,在网上大肆搜索了半天相关算法和资料后,才终于理出了一些想法,然而等我倒腾出了一份代码,交上去却又不能运作了,真可谓是生活如戏剧。我当时的第一反应就是两眼一黑——众人皆言万事开头难,然而很多事开了头也难,磕磕绊绊走到最后一步却栽下去,那感觉真是……一言难尽。总而言之,这份个人作业在技术水平上给我带来的进步有一些,但更多的还是在心态上的磨练。接到作业的第一反应可以是无头绪,但不能是“做不出来”;作业途中可以感到困难,但不能因此就觉得“做不下去”;作业交上去却无法正常运行的确让人灰心,但也要学会调整心态积极应对,一蹶不振是万万不能的。
- 结对作业是一个双人作业,我当初对它的想法是较为放松的,因为有了专属搭档,它比起个人作业就多了一份底气,比起团队作业则多了一丝亲密。原型设计的作业也证实了这一点,两个人坐在一起商讨着题目,一起咬文嚼字,一起做设计,一起找素材,虽然在软件的选择上有点“识物不清”,但最后也是很开心地完成了,挺有成就感的。可惜后面席卷而来的编程作业远不如她的姐妹温柔,我们两个都不太懂json该如何使用,分头学习也未能学出什么效果,手忙脚乱,最后提交作业的时候我都感觉自己像蜕了一层皮的蛇。这一趟下来我最大的感触就是,双人作业很考验两个人的默契和互补能力,但万事逃不过实力,如果你水平够高,那就是什么牛鬼蛇神都不在怕的了,很直接的提起了我想要提升自己的念头。
- 团队作业……嗯,这个其实我是有很多话想要说的,但真的到嘴边了又不太说得出来。我在中途换过团队,大概是我们班唯一的一个吧……老实说这个调整,我挺抱歉的。这不止是我一个人的变动,它涉及了两个团队,可能大家人善觉得没关系不碍事,但我还是感到非常抱歉,说到底影响了别人的原计划。我离开原团队是因为一些想法上的不同,大家都很好,愿意迁就我,但我实在不想因为自己一个人影响整个团队,所以便起了转去理念更相和的现团队的念头。这个事情看着简单做起来好像也不太难,但它对我的影响澎湃如浪潮,我想可以算是我这个学期里做过的最大胆的事了。融入新团队的槛主要在于两个团队项目的不相搭,为此很是费了不少心神。说到这里就要感谢一下我的队长安琪,她是很好的队长和友人,在我踌躇的时候接受了我,在我无措的时候扶住了我,在我茫然的时候指点了我——她真的是很好的人,我真的很感谢她。团队作业期间我学会了很多也经历了很多,我想这些东西过再久我都不会忘的。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
- 唔,大一新生似乎不用选这门课,那对于可以选这门课的人,我比较想给一点提示:单纯想要混学分的人和没有大把时间可以挥霍的人,还是不要选这门课会好一点。这门课虽然坚持下来就一定能学到非常多的东西,但基本上都是要靠自己,用在上面的精力花在上面的时间,都是货真价实的。没有野心,没有时间,没有毅力,选前真的需慎思。
- 然后关于中途换队员这一点,嗯,我的想法很简单:换可以,不强制。
- 听说隔壁班有强制要求换组员的要求,说实话,我感到不可思议。对我而言这是挺严肃的一件事,不能像“今天我不喜欢这个食堂了,明天我就换一个食堂”这样随心所欲,如果把它变成一个强制的作业,感觉就有些颇为儿戏了。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 现团队应是到了规范阶段。
- 萌芽阶段:我曾经处过的原团队,当时的队员是各种巧合下集结的,所以大家互相之间并不都非常熟识,有的时候沟通和交流会出现一些冷场,或者欲言又止的生疏状态。不过大家的态度都很积极,都是很想要融入团队的人,所以也没有遇上什么很大的问题。
- 磨合阶段:这个应该算是每个团队的必经阶段了吧,我的情况有一点复杂,因为我更换队伍时间就是在这段时期内。大家在互相的生疏客气之后,会慢慢变得开始放开来,很多想法和思路都会共享出来探讨,大家之间的关系也都可以更进一步,也是团队工作进行的关键。但在这里我发觉了自己与其他人观念上的分歧,以致磨合失败。我的原团队度过了磨合期,我却没能同他们一起,真的非常遗憾。
- 规范阶段:在我看来,我转到新团队的时候,他们已经到了规范阶段——组内分工明确,大家各司其职,队内氛围也很好。组长很明确地为我分配了任务,使我能无缝衔接进去,而我的突然加入并没有打乱他们的步调,我觉得凭这点就已经足够体现这个团队的规整了。
- 创造阶段:嗯,这个阶段毕竟同前面三个不是一个段位的,我想我们团队还需历练才能达到。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
3)并且通过数据展现软件是可以维护和继续发展的。
4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。
- 总结其实同上面零零总总大半篇下来的结论差不多——我的能力还需要极大的不足开拓和锻炼。
- 在这门实践课程中我经历了挺多普通课程不可能遇到,周边同学也未曾有的问题,会碰上它们,有外界因素的影响,但更多的根源还是在个人因素上。我的表现欠佳,在这将近一个学期的时间里,一次又一次无比清晰地看到自己的薄弱点,在弱小上挣扎。很刻骨铭心,我想我对自己之后需要做的那些增进从未这么清晰和迫不及待过。