一、请回望开学时的第一次作业,你对于软件工程课程的想象
对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
-
经过这学期软工的学习,学到最多的就是团队合作能力。依旧不足的,就是编程水平,但是这毕竟不是这门课的重点,所以重心并不在这。
总结这门课程的实践总结和给你带来的提升,包括以下内容:
1)统计一下,你在这门课程中,完成了多少行的代码;
-
大概500行左右。
2)软工的各次作业分别花了多少时间?(做一个列表)
作业 | 写博客时间 | 写博客的准备时间 |
---|---|---|
软工网络15个人阅读作业1 | 4小时 | 2小时 |
软工网络15个人阅读作业2——提问题 | 3小时 | 4小时 |
软工网络15结对编程练习 | 2小时 | 12小时 |
软工网络15团队作业1——团队组队&展示 | 0.5小时 | 4小时 |
软工网络15个人作业3——案例分析 | 3小时 | 3小时 |
团队作业3——需求分析与设计 | 1小时 | 4小时 |
团队作业2——团队计划 | 1小时 | 10小时 |
软工网络15Alpha阶段敏捷冲刺 | 1小时 | 一周 |
团队作业6——展示博客 | 1小时 | 3小时 |
团队作业5——测试与发布 | 1小时 | 3小时 |
团队作业7——alpha阶段之事后诸葛亮分析 | 1小时 | 2.5小时 |
个人作业4——alpha阶段个人总结 | 2.5小时 | 3小时 |
团队作业8——敏捷冲刺(Beta阶段) | 3小时 | 一周 |
beta版验收互评 | 0.2小时 | 1小时 |
个人作业5——软工个人总结 | 2小时 | 1小时 |
3)哪一次作业让你印象最深刻?为什么?
-
第一次提问题的作业吧。在什么都不懂的情况下要通读整本书,要理解里面的一些概念,同时还要思考,挺难的。
4)累计花了多少个小时在软工上?平均每周花多少个小时?
-
累计100多个小时,平均每周6,7个小时。
5)学习和使用的新软件;
-
微信开发工具,leango
6)学习和使用的新工具;
-
微信开发工具
7)学习和掌握的新语言、新平台;
-
微信小程序开发语言wxml,wxss,js等
8)学习和掌握的新方法;
-
scrum站立会议,用leango记录每天完成的任务。
9)其他方面的提升。
-
团队协作能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
-
团队项目选题要讨论好,不能盲目,且要有整体规划,不然会导致项目进展举步维艰。
冲刺阶段做好安排,不要把事全堆在最后几天来做,技术准备要提前完成。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
-
建议:编程是基础,一定一定要学好!!!
换人机制的话,很容易导致一些模块烂尾,所以要有足够多的缓冲时间交接工作。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
-
团队发展包括有萌芽阶段,磨合阶段,规范阶段和创造阶段。这几个阶段我们在团队开发过程中都经历了,最后团队到达创造阶段,各个成员各司其职,各尽其责,共同合作完成了一款软件。
五、怎样证明你学会了软件工程?
研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
-
有博客记录,leango规划并进行工作安排,有每日的站立会议
并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
-
源代码利用码云管理,代码仓库同步代码,学习使用或改善软件。