一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
首先要说的就是再一次体验了团队开发的整体流程,对git源代码团队协作方面用了更深的理解。之前以为这是纯编码的一门课程,可能对于自己会较为轻松,担任组长后,组员的任务安排、方向分配和团队日常沟通这些都是编码之外的内容,但这对于个人协作团队开发的能力提升有极大的帮助。虽然有时候赶进度会感觉有点累,但学分还是要的,不如咬咬牙,从容去面对。最终坚持完成了大部分的预期效果!编码能力的提升不是太多,因为许多精力都放到了帮助组员去实现对应模块,而自己写的Android都是之前就实践过的,属于一个搬砖的过程。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
这次软工实践负责Android端的开发,代码大概17k行。
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 时间 |
---|---|
数独 | 8小时 |
部门纳新设计 | 6小时 |
部门纳新代码 | 4小时 |
团队alpha和beta | 50小时 |
个人技术博客 | 1小时 |
华为软件云 | 1小时 |
课程总结 | 3小时 |
3、哪一次作业让你印象最深刻?为什么?
除去团队作业应该是数独作业,因为涉及到算法,需要花时间去研究它的实现和效率以及改进。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
共计63小时,平均每周14小时左右。
5、学习和使用的新软件;
墨刀,visual studio
6、学习和使用的新工具;
墨刀
7、学习和掌握的新语言、新平台;
无
8、学习和掌握的新方法;
单元测试,Android UI集成测试
9、其他方面的提升。
代码测试方面,团队协作能力,源代码管理,编码规范
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
能尽早做完就尽早做完,别拖!beta和alpha到验收前期再赶代码很辛苦。至于换队员,我觉得想在课程中真实模拟日后的工作情况,是很难做到的,这次因为换人后时间短,所以最终没有让成员参与软件开发,而是做一些文档性质的工作。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
如果编码没什么基础,可以选择这门课体验一个完整的项目过程,代码能力能够得到提升。如果编码有基础,有过项目经验,可以通过选这门课提升自己的团队管理,协作能力。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽阶段->磨合阶段—>规范阶段—>创造阶段,都经历过,也达到了创造阶段。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
当我们和某个部门的部长沟通时,他们对Xmatch(部门管理软件)里的一些功能表示赞赏,如一键群发短信通知,一键排班,活动的发布与管理。
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
我们在每个阶段的开始都会列出所有需要完成的issue到github上。
3)并且通过数据展现软件是可以维护和继续发展的。
目前注册用户13个。