提问回顾与个人总结

提问回顾与个人总结

项目 内容
这个作业属于哪个课程 2019春BUAA SCSE软件工程
这个作业的要求在哪里 提问回顾与个人总结
我在这个课程的目标是 学习团队开发项目,为以后的工作提供经验
这个作业在哪个具体方面帮助我实现目标 对软件工程课程进行总结

以前的博客

软工第1次个人作业

请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的

1.关于结对编程的效率

​ 我后来觉得,结对编程在普通的任务上可能看不出效果,但是在一些非常重要、开发难度高、容错率低的时候,结对编程的效果将会大大提高,毕竟能显著避免错误的产生,在后续的测试、修复会省很多功夫

2. 关于goto语句

​ 仍然是尽量不去使用goto语句,但是为了逻辑清晰,在避免使用goto的地方都写上注释,就会好很多。

3. 迷思之四: 创新者都是一马当先

​ 创新者不一定是一马当先,但是一马当先的肯定是创新者,除非他使用他的力量禁止了别人在这一领域的继续研发。

4. 用户体验之不让用户犯简单的错误

​ 让用户犯一些简单的错误是有效果的,比如高防的广告,能够加大用户点击广告的概率,同时客户也不会产生比较严重的困扰,只会觉得自己太不小心了。我自己经常在贴吧、微博等不小心点到广告,有时候尽管没点到,也会看上几秒反应过来,我觉得这种设计的效率比大大的广告两个字贴上效果好了很多。

5. 迷思之五:要成为领域的专家,才能创新

​ 创新谁都能创新,即使成为了领域的专家,创新也不能停止,创新当然不只是在自己的研究方向上,也要在自己的研究方向之外,思考是否有新的空间可以开拓,这样或许就能和领域之外的研究者一样了。

请问你们在项目的 需求/设计/实现/测试/发布/维护阶段(一共6 个阶段)中都学到了什么“知识点”。

需求

​ 学会了NABCD,即N(Need),A(Approach),B(Benefit),C(Competitors),D(Delivery),我们在讨论用户需求的时候都会在这几个方面进行综合考虑评估,最终确定下来用户的需求。

设计

​ 在设计的过程中,我所在的前端开发是靠着设计人员的模板来进行网页的设计,对于代码的编写则由两人一起共同商定,比如函数、变量、文件的命名,缩进等等。双方对于规定都尽量做到落实。在样式确定好了之后我们则商定功能的具体实现方式,看是否会有更好的方式,比如对于分页的处理,前端分页和后端分页到底哪个更好,确定了之后我们再开始编写。

实现

​ 实现过程中要严格按照设计的时候来完成,脱离了设计将会带来很大的麻烦,比如Alpha阶段本身设定是两个人基本上一人一半,可是另外一个前端开发人员可能能力略有不足,速度比我慢了很多,最终导致大部分工作都是由我一个人来完成的,然后这一现象继续延伸到了Beta和Gamma阶段,对整个项目进程虽然影响不是很大,但也造成了一定的困扰。

测试

​ 单元测试非常重要。我们只有一个测试人员,因此他比较辛苦,而我们也是按照要求,开发人员都进行了自己的单元测试,保证自己的功能能够通过基础测试,不出现bug,确认后再提交到开发分支上去。同时前端开发人员还会进行互测,检查对方的代码里是否存在漏洞。

发布

​ 发布的时候要着重于创新点,这里当然是对比与友商而言,因为两者的功能基本一样,大家对第二组的基本功能肯定没兴趣了,所以要靠创新部分来吸引大家。

维护

​ 前端的维护主要在于页面的功能稳定性以及页面的访问速度。在开发过程中,经常会出现添加了新功能后导致旧功能出现了瑕疵的现象,不过好在绝大部分都在单元测试中就发现并解决了问题。对于页面访问速度我们主要靠减少ajax请求数目及长度,调整页面加载逻辑来实现。

结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。

​ 虽然这门课程难度不高,但是工作量还是挺大的,也有可能是我负责的内容实在是太多了,自己在后面几个阶段的心态不是很好,对于工作失去了积极性,但还是尽量在项目结束前将前端部分所需要的功能都完成了。虽然在一开始的阶段自己还不是很熟练,对于html/js基本不会,但是到了后期,已经能够较为熟练的添加上新的功能了。在绝大多数时间里我还是比较开心的,也有非常急躁的时候,比如当我们的网站被攻击的时候,看着14W个用户真的是哭笑不得,只能怪我们在Alpha初期当初没有考虑到安全性的问题,正准备添加安全验证的时候就被攻击了。还有就是,希望有的人态度认真一点,认真对待编程,认真对待测试,按时完成,不要写完代码自己都不进行测试,一堆BUG就往分支上面推,导致其他人还要给你的代码擦屁股,给大家的项目带来麻烦。

posted @ 2019-06-28 10:22  Yukinoshita  阅读(190)  评论(0编辑  收藏  举报