福大软工 · 最终作业 - 软件工程实践总结(个人)
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
这次的软工实践对我而言是一次全新的、富有挑战的体验,在此之前我是没有参加团队项目的经验的,在这次实践中,我不仅对软件项目的内容有了深刻的了解,也对各个领域的工作有了深刻的认知。学会了后端、服务器的搭建,也学会了前后端的对接方式,所获颇丰。新鲜的事物尝试了很多,也走了很多的弯路,最终的项目没有成型,是这次实践中最为遗憾的地方。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
代码量大概在1500行左右
2、软工实践的各次作业分别花了多少时间?
第一次作业 - 准备 1h
第二次作业 - 个人项目 8h
第三次作业 - 原型设计 6h
第四次作业 - 团队展示 2h
第五次作业 - 结对作业2 15h
第六次作业 - 团队选题报告 2h
第七次作业 - 需求分析报告 6h
第八次作业 - 现场UML设计 6h
项目Alpha冲刺(团队) 32h
团队现场编程实战(抽奖系统) 7h
第十一次作业 - Alpha 事后诸葛亮(团队) 3h
福大软工 · 第十次作业 - 项目测评(团队) 3h
项目Beta 冲刺 (团队)20h
福大软工 · 第十二次作业 - Beta答辩总结 2h
最终作业 - 软件工程实践总结(个人) 3h
3、哪一次作业让你印象最深刻?为什么?
我觉得团队现场编程令我印象最深刻。现场团队编程不仅考验个人的编程能力,还考验团队的协作能力,整个过程就是一个项目开发的缩影。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
累计花了116h,可能还有部分零碎时间没有统计上。平均差不多一周7-9小时。
5、学习和使用的新软件;
Axure,starUML,Git
6、学习和使用的新工具;
Android Studio
7、学习和掌握的新语言、新平台;
安卓平台,serverlet平台
8、学习和掌握的新方法;
在github上面查找资料
9、其他方面的提升
对软件项目制作的过程、人员的分配等有深刻的认知
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
在个人项目中,个人的学习能力,理解能力非常的重要,对新的知识,新的软件、工具要做到理解快、理解深、使用得手。
在团队项目or结对项目中,沟通则是最为重要的。沟通是解决问题的最佳途径,能力不足可以去提升,一旦沟通不到位,能力好对项目也只是杯水车薪。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
1)你有什么想建议、告知和期许想要告诉他们呢?
选择软工实践前,一定要认识清楚这门课所要做的内容,综合考量自己后再做决定,并且一旦做出决定,就不要反悔,好好坚持下去,对自己对他人负责。
2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?假设依旧是一个90+人数的大班
我建议取消这个部分,新的队员要从头理解项目的内容,而且班级、队伍间存在的矛盾等会随着人数的增多而变得复杂,难以评判。强制的换队员容易起到反作用,可以考虑让人申请自愿交换。
3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
我觉得6-8个人已经足够应对大部分问题
4)个人/结对/团队作业应该控制在怎样的规模?
个人:结对:团队=1:3:7
5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
感谢这个团队的每个人,感谢大家的辛勤付出
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
我们团队经历了萌芽,磨合,规范,半创造阶段。从最初开始的大家并不相互熟悉,到协作,到共同规范项目的细节,再到最后我们能够为实现共同的目标而努力,但是团队的沟通、自治问题存在严重障碍,导致了最终的遗憾。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。
请在随笔中用数据证明上述内容或侧重选择之一。
我就第四点做一个总结。对于其中的问卷,我甚至在一些基本的问题上都没办法交出满意的回答,自身能力的不足,经验的缺乏,使得自己碰壁。对此我能够做的,就是稳步进取,扎实基础,使自己能全面发展起来
总结
通过这次软工实践,我收获颇丰,虽有心酸、有苦恼,但这些经验与教训也会让我进一步成长,望今后能稳步进取,扎实基础,努力地使自己全面发展起来