软工实践总结

软工实践总结

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

课程回顾与总结

问题博客

https://www.cnblogs.com/nosae/p/14455534.html

曾经的问题

1、具体该怎么根据PSP来提高工程师自身能力

通过阅读《构建之法》和在实践中得出结论:PSP是在实践过程不断针对自身的实际情况完善和趋于成熟的,稳定、成熟的PSP可以使我估计和计划自己的工作、
满足自己的承诺、拒绝不合理的承诺;PSP提供了一个得到证明的用于开发的基础框架、告诉你怎么来改进自己个体过程、持续改进工作效率、工作质量、工作可预测性的相关数据,量化整个工作过程。

2、如何正确应对团队存在处于“临时的寄托或工作(Temporary Work)”的队友的情况

在实际的工作环境中,老板肯定看不下去这样的人存在的,毕竟直接关系到公司的经济效益,在这门课中遇到这样的人也没办法,只能自己做多一点。

3、维工程师究竟是什么都会一点的艺人还是谱写乐章的作曲者

这个职业属于运用自己的技能去解决问题,属于技能的正面,虽然技能没有在某个领域十分深入,比如维护linux服务器,不需要对linux如何运行起来、源码等全面掌握,但运维工程师做好了本职工作——维护服务器运行,利用了维护服务器的知识,并随着不断地工作而越发熟练与精通

4、结对编程真的可以运用到实际公司开发中吗

结对编程适用范围看起来比书上说的更窄。我认为一个好的公司,应该充分考虑到员工的意见,将适合结对编程的人组合在一起,其他人则使用别的模式,使得效率最大化,或者实行少数服从多数的规则。

5、如何面对过早泛化问题

通过本次软件工程实践的冲刺阶段,我了解到泛化是要提前考虑的事情,不过在描述有限的需求文档的基础上,尽量符合文档需求就可以,不用考虑尚且未提出或者不存在的需求,只要泛化的手段拓展性足够好,后续的需求增删也不是什么问题。

每个阶段收获最大的知识或能力是什么

阶段 收获
需求 提升了与队友沟通的能力,学会了如何分析并收集具体需求,比如利用问卷等形式
设计 理解并学会了简单的原型设计,使用AXURE等工具设计原型
实现 学会了go爬虫库、http web框架的使用、gin中间件的使用、理解了duck typing概念
测试 学会了单元测试,并体验到了单元测试给软件质量提升带来的好处
发布 学会了go程序热更新技术、部署到服务器上等操作

心得

  • 个人项目

    这次个人项目比较小,所以没怎么列出需求,以及设计上也没有好好考虑要怎么设计,想到什么写什么,还有就是技术前期了解和准备不够充分,导致时间主要花在了因为一些在开发中挖掘的小需求而重构好几处地方的情况。以后无论什么样的项目,都要好好规划和设计,做好需求分析和设计上做好动手画画UML图

  • 结对编程

    不像团队编程那样要考虑到各个人员的对接和沟通,少了很多对接上的麻烦,而且结对编程有利于在一对一的沟通中发现自己的不足和错误,并且得到及时的修改,效率较高。

  • 团队项目

    在前期的需求分析和数据库设计上就存在各种问题,大家意见不统一,没有一致的统筹人,在关键的设计上也没有人愿意写一个规范并且统一执行,导致前期设计上,几乎是一边设计一边修改规范emmm,直接导致后面实现过程出现:“啊,这里是什么意思,这样设计不对吧,我改了一下你们看看”。横向对接(同一端的不同模块对接)的错漏百出直接导致纵向对接(不同端的对接)上都存在各种问题。以后要有人专门写一份开发规范文档,不能几个人一同参与,其他人只能做评审。

个人技术总结

主要负责的几次后端开发主要用的都是go gin框架,一款轻量级http web框架,学会了很多先进的设计理念,极大简化了请求处理工作,使得重心只需要放在业务逻辑上。其次还学会了爬虫技术,虽然是对着看起来没有反爬的网爬的虫,但也了解并掌握了基本的爬虫技术,还掌握了一定的针对爬虫过程中内存上涨的问题,学会了用非关系型数据库redis数据库做缓存。

技术博客总结

原文地址:https://www.cnblogs.com/nosae/p/14943928.html