软件工程实践总结&个人技术博客

这个作业属于哪个课程 2021春软件工程实践 | W班 (福州大学)
这个作业要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标 课程回顾与总结
个人技术总结
其他参考文献 ...

课程回顾与总结

回顾自己列出的5到10个问题

以前提问题的博客

1. 如何准确记录PSP?

  在整个软工实践过程中,在alpha阶段刚开始一个项目的时候,进行每日的安排总是会与实际产生偏差。但是,在第二三天开始,对于自己的一个平均的一个完成速度有了大概的认识。因此,在任务安排方面和实际操作过程中的比对,就会发现趋于一致。而我觉得PSP表的记录,从某种角度来说,也是基于一个对于以往经验的积累的一个判断标准。并且,在一个项目的开发过程中,每天的集中开发时间内,其实不会太多的摸鱼时间。因此,对于一个开发时间的估计,也不会产生过多的偏差。并且,PSP表其实只是一种参考,其中的数据其实可以与现实有一点偏差。

2. 如果团队中的队员能力差距较大该怎么办?

  在之前思考,如果团队中的队员能力差距太多会不会造成麻烦。但是,其实在实际场景中,这类问题倒不会给自己造成太大的麻烦。整个团队当中的水平具有参差是非常常见的事情,而如何协调人员的工作这件事情,其实可以是组长进行一定的安排再加上一定的任务上的浮动。在规定的时间内,保证自己所完成的质量之后,不影响到其他人的工作开展就算是保底工作的完成。当然,如果有余力和时间的话,可以进行一定的优化工作。不过,人与人之间的能力不同,这一块的工作倒是没有硬性规定。大佬们想要优化,当然是极好的。总得来说,只要大家肯干活,不影响到其他人工作的开展的话,其实都是极好的。

3. 如果不是长期合作的话,结对编程效率会高吗?

  在软工实践的结队编程中,有幸体验了一次结队编程。其实,结队编程的话,在前期的需求分析和原型设计的耗时会比较大。毕竟是两个人第一次合作,在有观点不一样的情况下,就要出现需要协商并且协调的情况。但是,这样的过程,其实是良好的。一个人的观点毕竟具有局限性,两个脑子碰撞出来的点子,总是会比自己那边榨干脑干想来的好。而且,其实不用太局限于双方的技术差距。可以由技术能力较好的一方先搭设框架并开始干活,之后角色互换的时候,技术能力较弱的一方,可以加以参考与学习。并且,结对编程中不用一个人一直高强度编程,就效率来说,也是很可观的。

4. 美工没设计好页面的话,前端的工作能先开始吗?

  就这次软工实践的经历来看,前端的工作开始确实要等到原型设计结束之后才能进行开展。其实,代码的实现部分只是整个周期的一小部分。当然,不可否认开发阶段也是蛮重要的。但是,前期的需求分析和原型设计阶段如果没有好好完成的话,会造成后期的大规模修改与重新设计的麻烦。

5. 先行者会有优势吗?

  这个方面的话,在这次实践过程中并没有体会到。倒是在制作学生认证接口的时候,收获到了质疑的声音。可能那时候,算是在这门课先提出能够完成学生认证这一功能点。虽然不算是第一个吃螃蟹的人,但是,算得上第一个人声明了吃到螃蟹的人吧。确实有质疑,并且出于私心,并不想公开其具体流程。之后,因为这个点在群内的讨论,老师点出来了一个做法,倒也算是解决了这件事情。后来想想,如果那时候是直接有了成品辅以证明,应该比提出怎么实现来的直接。这样说来,合适的时机倒确实是重要的。

五个阶段的收获

1. 需求阶段

  在需求阶段,因为是整个团队思考去思考要制作一个怎么样的产品。这个产品的定位是什么,面向怎么样的群体,应该具有怎么样的功能。这些问题,其实我都是不擅长去思考的。也幸好,队里有那种盛产需求的同志们。不过使用软件进行原型的制作倒是头一回,这个算是需求阶段最大的收获了。在需求分析方面的话,一般对于小伙伴们提出的需求思考是否可以以我目前掌握的技术做出来,如果得到否定的答案就会有点头疼。但是,这样我就一直无法学习到新的东西。所以,参与原型设计对于我来说就足够了。并且大致掌握了原型设计的软件的大概的操作。当然,我觉得以我的审美,我还是适合负责把功能做出来(嘤)。

2. 设计阶段

  在设计阶段前期,需要绘制各种各样的图。讲道理,在这个作业布置之前,有些图都不知道该怎么画,这都是需要一步步摸索的过程。不过,这也是第一次和后端成为一起编写接口文档。以前的经历要么是作为一个前端,直接查看后端文档;要么是作为一个后端,根据前期前端提的需求一股脑自己写文档。并且,因为前期已经做完了原型设计,对于前端应该发送哪些数据以及后端应该返回那些数据都有了一个较为明确的目标。

3. 实现阶段

  这是第一次与好多人进行开发,原本会觉得造成很多冲突之类的情况。但是其实前期的话,根据各自的分工完成各自的活儿,这样的过程一点也不冲突。而且,具有自我的机动性,不会受其他人影响,也不会影响到其他人。并且,前端组一起干活的时候,如果自己手头的事情做完了,还可以跟其他小伙伴探讨一下遇到的问题。相当于是一个问题,教会了一群人的划算。并且,在实现阶段,可以说是效率最高的一个过程了。

4. 测试阶段

  测试阶段最痛的教训就是,一定要及时跟后端沟通,切记切记。并且,一定要督促后端及时修改接口文档。最开始测试接口的时候,以为只要根据之前的接口文档编写好请求部分,这部分就结束了,很轻松(?)。然而,事实上是,问题百出。也幸好,最开始就留有一定的缓冲时间,并且后端对于每个接口也都进行了相应的测试。所以,只要沟通好与接口文档不一致的部分,就可以很好的解决这个问题。至于功能性方面是否存在问题这方面,就不需要操行了。

5. 发布阶段

  发布阶段的问题,大概就是面对开发环境与线上环境的差异性的问题了。首先,在开发环境下,前端可以通过配置,实现跨域问题。如果部署到服务器上,就需要使用代理。而后端需要的session还要考虑在不同的浏览器上有不同的规则这样的问题,而因为不是https造成了需要紧急修改接口的问题。

结合经历,谈谈理解与心得

  1. 测试不是一件容易的事情,编写一些测试用例要考虑到的东西,也是让人十分头疼;
  2. 前后端的沟通是真的重要,相应的文档也要及时修改;
  3. 完成功能或许不会是什么太困难的事情,但是优化一定是一个需要耗费脑筋的事情;
  4. 在计划完成功能的时候,一定要给自己预留缓冲时间,毕竟谁也不知道意外会不会出现;
  5. 开发前的需求与设计是必须的,可以有效抑制后期因为不合理而返工的情况;

个人技术总结

React基于Router的导航栏显示
概述:React基于Router的导航栏显示

posted @ 2021-06-25 15:02  行露  阅读(139)  评论(7编辑  收藏  举报
the end