一、项目的测试情况
1、对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 期待和目标:
- 通过博客园这样一个开放的平台,参观大牛们的博客以学习知识,在个人博客下看到大家对我提出的意见或建议。
- 通过结对编程、团队编程的编程形式,实现了不同思维之间的协作与碰撞,很好的培养了个人团队意识。
- 依靠团队的力量,开发出一款微信小程序,并拥有实际的用户量。
- 不足:
- 该课程的博客作业量较大,占用了同学们大量的课余时间。
2、总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门课程中,完成了多少行的代码;
- 老实说,我也不知道......1000行应该有吧?
- 软工的各次作业分别花了多少时间?(做一个列表)
各次作业 | 所花时间 |
---|---|
个人阅读作业1 | 2h |
结对编程练习 | 30h |
个人阅读作业——提问题 | 5h |
团队作业1——团队组队&展示 | 1h |
个人作业3——案例分析 | 4h |
团队作业2——团队计划 | 4h |
团队作业3——需求分析与设计 | 10h |
软工网络15Alpha阶段敏捷冲刺 | 70h |
团队作业5——测试与发布 | 4h |
团队作业6——展示博客 | 4h |
alpha阶段项目复审 | 2h |
团队作业7——alpha阶段之事后诸葛亮分析 | 2h |
个人作业4——alpha阶段个人总结 | 2h |
团队作业8——敏捷冲刺(Beta阶段) | 70h |
团队作业9——项目验收与总结 | 4h |
beta版验收互评 | 2h |
- 哪一次作业让你印象最深刻?为什么?
- 印象最深刻的一次大概是结对编程吧,和舍友一起走路吃饭睡觉都在讨论项目内容。让本就形影不离的我们更加亲密无间。。。
- 累计花了多少个小时在软工上?平均每周花多少个小时?
- 从表格来看,累计花了216h在软工上,平均每周15.4h。
- 学习和使用的新软件;
- 微信web开发者工具
- 学习和使用的新工具;
- 微信web开发者工具
- 学习和掌握的新语言、新平台;
- WXML,WXSS,JS(学习而已,谈不上掌握)
- 微信web开发者工具,博客园,问卷星
- 学习和掌握的新方法;
- 单元测试
- 其他方面的提升。
- 编码能力提高,学习能力提高,与人交流能力提高。
二、属于自己的人月神话
个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 所谓人月神话的含义:人是程序员,月是时间,如果1人干10个月如果等同10人干1个月,那就成神话。
- 在团队开发的过程中,不同的项目PM有不同的管理风格。如我Alpha阶段和Beta阶段所处的两个团队,一位PM喜欢将某项任务分给某一位或多位成员去完成,另一位PM喜欢将任务细化到个人。
- 我在前者管理的团队中,常常因为任务的交叉或是意见的不一导致进度缓慢,甚至是出现互相推脱责任的现象。而在后者的团队中,每人分工明确,能够较为高效的完成任务。
- 例如,我们在设计邮箱绑定界面时,我和我的伙伴关于界面设计及跳转界面设计意见出现了分歧,我们僵持了很久后才决定只由一个人设计,浪费了不少时间。
三、建议
对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
- 对于刚踏入大学校园的萌新们,我有以下几点建议:
- 学好高数和C语言,打好基础,对于日后的思维逻辑培养和专业课的学习都有很大帮助。
- 找到自己的兴趣点,就算不喜欢本专业而考虑转专业,也趁大一决定。
- 大一对校园里的任何事物都感到新鲜,充满热情。请保持你的热情,好好学习专业知识,争取掌握一两项独特的技能。
- 对于换人机制:
- 个人认为换人机制没有必要强制
- 我在Alpha阶段所处的团队,大家相处的非常和谐,都尽心尽力的为项目的发布而努力。当Beta阶段决定换人时候,我们团队内部非常纠结,没有人愿意离开这样一个团结的集体。
- 然而Beta阶段我到一个新的环境,我对于熟悉这个现有的项目就花了不少时间,然而关于项目的许多关键代码仍然不大了解。
- 如果说换人机制是模拟企业换人,那么和谐而团结的企业为什么要求它一定要踢人换人呢?
四、分析一下自己所处的团队
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 团队合作的几个阶段:
- 萌芽阶段
- 磨合阶段
- 规范阶段
- 创造阶段
- 我的Alpha阶段和Beta阶段分别处于两个团队,这四个阶段都经历过。
五、怎样证明你学会了软件工程?
1、研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
- 由于我两个阶段所处两个团队,所以在此提供两款软件的打开方式:
- 打开方式之一:微信搜索“滴卡录”或“喵喵喵记账”小程序。
- 打开方式之二:微信扫描以下二维码
2、通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
- 参考团队阶段博客集合贴及博客发布时间:
- 想不出队名:
- 都行可以随它去:
3、并且通过数据展现软件是可以维护和继续发展的。
- 而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
- 参考码云项目链接:
- 想不出队名:
- 都行可以随它去: