[软件工程]提问回顾与个人总结
一、学期初问题回顾
在学期初的时候,阅读《构建之法》教材,留下的一些问题,见阅读作业
二、如今对问题的答案
1.关于初学者进入公司后的状态
初学者的角色在这学期也体验过,我们团队是接手的以前团队留下来的项目,对他们所使用的技术没有一点了解,可以说非常符合这个问题的情景。我们团队中的每个人大概都花了一个多星期去了解这个项目,去学习其中所用到的技术,这个问题的答案也就不言而喻了。
2.关于结对编程协调性问题
在学期初的前2个星期,我们也进行了一次结对编程,程序也是千行以内,事实证明,千行左右的小程序结对编程还是非常有效率的,并不会出现不协调等情况。
3.关于每日例会的问题
在3个迭代阶段,我们也是开过30次每日例会的,对于每天汇报工作这件事,确实还是非常有用,有助于PM更好安排地接下来每个人的工作,但是到后期确实会有点敷衍的情况出现。
4.关于对接的问题
在这个问题上我是深有体会,在该学期的开发工作中,我完成了一个独立的模块,其中需要用到其他同学所写的东西,等到他完成我接入调试的时候,也出现了非常多次对接不好,出现bug的情况。所以在这个问题上,是对程序员自己需要提出要求,尽量减少自己代码中的bug。
5.PM对团队的开发介入问题
在这学期的开发工作中,PM的确让我们临时加入了一些新的功能,但都会评估需要加入的代码复杂度,是否容易完成等。并不能强制不管团队成本。
三、在实践中学习到的知识点
- 需求阶段:在一个阶段的开发工作前,尽量去弄清楚完整的需求,否则在中途加入的话有可能降低项目质量。
- 设计阶段:前端的设计应先画好草图,审核通过之后再去实现,避免之后不停地更改。后端的接口设计也应在实现之前认真完成。
- 实现阶段:在实现编码阶段,PM的作用其实是非常重要的,不能忽略这一点。还有很重要的就是边实现边测试。
- 测试阶段:单元测试必不可少,应该跟着实现阶段完成,否则可能出现最后时间不够而无法完成的情况。例外,最好还能做其他接口测试、压力测试等。
- 发布阶段:在发布的时候一定要考虑清楚是否达到了可以发布的标准,即是否将预期的需求功能全部实现,或是核心功能能够正常使用,并进行严格的测试,确保用户使用体验。
- 维护阶段:在维护阶段的工作,一定要对用户提出的问题及时地修复反馈回去,解决用户问题,提升用户使用体验。
四、学期心得体会
这一学期的软件开发课程已经结束,我主要是担当团队的开发和测试人员,刚开始也遇到了很多的困难。比如学习php、前端和之前项目使用的框架的问题,这些东西在以前的课程中可能都完全没有接触到。
虽然在开发中期也碰到了不少的问题,被很多莫名其妙的bug折磨得非常痛苦,但确实在解决这些问题的过程中学习到了很多实用的知识技能,这些都是在以后不管学习还是工作上都能派上用场的东西。这学期也是在一个小团队中协调工作,也学习到了很多与团队协调中自我协调的技能。
最后,非常感谢团队中的各位成员,一学期的合作还算是比较成功,也在团队中不断锻炼提升自己的能力。