一、请回望开学时的第一次作业,你对于软件工程课程的想象
对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 1)统计一下,你在这门课程中,完成了多少行的代码;
答:在这门课程的alpha阶段,我在我们小组里面的角色是开发者,在这个阶段编写了微信小程序的布局还有简单的统计功能,整个alpha阶段大约完成了400行左右的代码。在beta阶段由于人员不足够和精力问题宣布团队解散,后面没有编写了其他代码。
- 2)软工的各次作业分别花了多少时间?(做一个列表)
作业 | 时间(h) |
---|---|
软工网络15个人阅读作业1 | 0.5 |
软工网络15结对编程练习 | 10 |
软工网络15个人阅读作业2——提问题 | 2.5 |
软工网络15团队作业1——团队组队&展示 | 1 |
软工网络15个人作业3——案例分析 | 4 |
团队作业3——需求分析与设计 | 6 |
团队作业2——团队计划 | 2 |
软工网络15Alpha阶段敏捷冲刺 | 60 |
团队作业6——展示博客 | 2 |
团队作业5——测试与发布 | 4 |
alpha阶段项目复审 | 5 |
团队作业7——alpha阶段之事后诸葛亮分析 | 5 |
个人作业4——alpha阶段个人总结 | 3 |
团队项目失败说明与总结 | 3 |
beta版验收互评 | 3 |
个人作业5——软工个人总结 | 4 |
- 3)哪一次作业让你印象最深刻?为什么?
答:在alpha阶段的冲刺阶段。因为alpha冲刺阶段的任务是两周挑选8天来冲刺,刚开始觉得时间很紧、任务非常重,老师刚宣布任务的时候是比较难受的,但是后面还是和团队一起坚持了下来,在那两周里面一有空余时间就会坐在电脑面前编写我们团队的项目,找bug,调试等。到了完成冲刺的时候回头想想,在这个过程还是收获挺多,自己的编程能力也得到很大的提升,所以在大的压力下自己能发挥出来的潜力自己都不想不到。
- 4)累计花了多少个小时在软工上?平均每周花多少个小时?、
答:大约累计花了400h。大概每周会花20~23个小时,这个不太准确,因为每天花费的时间不一样,我们都是根据空余时间安排的
- 5)学习和使用的新软件;
答:学习和使用的新软件有:微信开发小程序,服务器
- 6)学习和使用的新工具;
答:学习和使用的新软件有:微信开发小程序,服务器
- 7)学习和掌握的新语言、新平台;
答:学习的新语言有:HTML、JavaScript、了解了PHP
- 8)学习和掌握的新方法;
答:学习新方法有:单元测试、回归测试、制作燃尽图、以及对软件的管理
- 9)其他方面的提升。
答:提升了和团队相互共存的法则:团队利益为先,但是不违反个人利益;还有提升了自己语言的能力和写博客能力;最主要的提升还是专业上的提升
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
答:第一点:团队项目得提早做准备,比如虽然我们团队早就组好了,但是我们没有提前准备相应的技能还有资料,在真正编写项目的时候就会觉得很乱,像个无头苍蝇一样乱转,最后效率踢不来。
第二点:选择一个原则性、自律性很好的成员当PM。这样他(她)会把整个项目的安排的明明白白,把时候工作也会做得很好
第三点:根据成员的能力合理的分配任务,能者多劳,但是得到的奖励也要跟上;
第四点:在团队制定一个整体的项目进度计划以及个人确定编写内容和制定一个个人进度计划表,并且及时跟进其他成员的进度,不然后面某个成员掉队会很难受的。
第五点:团队里面的每个成员相处都要有个融洽的氛围,不要太收敛,PM对待每个成员要有耐心,成员犯错了要及时纠正。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
答:我想在这科课程中跟着老师走是次要的,最主要的还是在老师规定的时间范围内有自己的计划,而且还要有很强的自律性,不然项目进行一半就不想进行了,这样就会没什么效果。当然提高能力还是很重要的,有了一定能力的基础上在这科课程上的压力相对会小一点。所以我想在开始这科课程之前除了要准备相应的知识、技能外,还需要培养自己的自律、自觉性。
对于换人机制,我想说如果能力不行的话就不要耗着了,赶紧找个大腿收留你把,在大腿身边你也可以尽自己能力写好博客等等
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
答:我们团队组得不算成功吧,没有好的PM,没有人来管理团队,都是靠个人自觉来还有团队讨论来完成ALpha阶段,所以在beta阶段就走了两个剩余的进行不下去了,但是我们团队的成员都挺有责任性,讨论出来的任务分配都会自觉在规定时间完成。我觉得我们团队都经历的所有阶段,但是没有创造什么阶段吧,我们团队都解散了,没有完成老师给的beta阶段
五、怎样证明你学会了软件工程?
- 1.研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件 - 2.通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄 - 3.并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
答:因为没有完成软件产品,所以不好评论。
请在随笔中用数据证明上述内容或侧重选择之一。