一、请回望开学时的第一次作业,你对于软件工程课程的想象
1.对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
所得:
- 团队编程入门,通过多人合作,开发完成了一个项目,在这过程中提升了团队协调能力。
- 在完成团队项目的过程中学习了很多新东西,比如前端的js、墨刀工具、燃尽图的使用等。
不足:
- 新学习的东西没有完全掌握。
2.总结这门课程的实践总结和给你带来的提升,包括以下内容:
1)统计一下,你在这门课程中,完成了多少行的代码;
九百行左右
2)软工的各次作业分别花了多少时间?(做一个列表)
作业 | 花的时间 |
---|---|
软工网络15个人阅读作业1 | 2.5小时 |
软工网络15个人阅读作业2——提问题 | 3小时 |
软工网络15结对编程练习 | 一周 |
软工网络15团队作业1——团队组队&展示 | 1小时 |
软工网络15个人作业3——案例分析 | 3小时 |
团队作业2——团队计划 | 4小时 |
团队作业3——需求分析与设计 | 6小时 |
软工网络15Alpha阶段敏捷冲刺 | 一周 |
团队作业6——展示博客 | 4小时 |
团队作业5——测试与发布 | 3小时 |
团队作业7——alpha阶段之事后诸葛亮分析 | 1小时 |
个人作业4——alpha阶段个人总结 | 2小时 |
团队作业8——敏捷冲刺(Beta阶段) | 一周 |
个人作业5——软工个人总结 | 2.5小时 |
3)哪一次作业让你印象最深刻?为什么?
调查用户需求的那次作业,因为可以知道大众对我们团队项目的看法。
4)累计花了多少个小时在软工上?平均每周花多少个小时?
累计140小时,平均每周10小时。
5)学习和使用的新软件;
AIDE、itellij idea、android studio
6)学习和使用的新工具;
同上
7)学习和掌握的新语言、新平台;
js、css
8)学习和掌握的新方法;
开发手机app
9)其他方面的提升。
团队协作能力,沟通能力,编程知识巩固。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 团队的沟通很重要,出现分歧要好好沟通,不然项目要么进行不下去,要么就心存怨气挑毛病。
- 要做好大众需求分析,我们做的产品是给大众用户使用的,不仅仅是收集开发者个人的需求。
- 每个团队成员都应做好自己的任务,否则会妨碍到其它成员的工作。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
个人能力要过硬,要有自己的强项,不能什么都不会,这样在团队里就是个没用的拖油瓶,做不了什么事。对于目前的换人机制,我们都是相识的朋友之间互换而已,如果非要根据贡献的话,根本选择不了换哪个人。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 萌芽阶段:还没有真正意识到自己是个团队,初期也就是分配一下博客作业。
- 磨合阶段:博客作业越来越多,团队项目也开始进行开发,期间发生了许多分配不合理的情况,通过沟通后基本解决问题,也磨合了整个团队。
- 规范阶段:主要是代码规范。
- 创造阶段:完成了网站的成品还有一个安卓手机app,可以正常使用,老师觉得挺好的,还让我们推广出去。
五、怎样证明你学会了软件工程?
1.研发出符合用户需求的软件
- 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
团队项目网站:http://www.powerli.xyz
2.通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
团队博客地址:https://www.cnblogs.com/liaoyujun233/
3.并且通过数据展现软件是可以维护和继续发展的。
- 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料请在随笔中用数据证明上述内容或侧重选择之一。