关于我的实践总结与技术博客的一些事
关于我的实践总结与技术博客的一些事
这个作业属于哪个课程 | 2021春软件工程实践|W班 - 福州大学 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 课程回顾与总结、个人技术总结 |
其他参考文献 | 《构建之法》 |
目录
第一部分:课程回顾与总结
一.提问链接
二、回顾问题并解答
关于运用客户调查
在第八章需求分析中,作者提出了焦点小组、深入面谈、卡片分类、用户调查问卷、用户日志研究、人类学调查、眼动跟踪测试、快速原调查、A/B测试等调查方法,那么对于日常的开发来说,通过这些方法得到的海量用户数据,如何筛选出对开发有用的部分,以及最常用的方法是什么呢
答:对于用户调查问卷来说,我们可以从四个方面入手来删除无效问卷。1、 答题时间,事先计算正常答题大概所需的时间,若答卷的答题时间远小于正常答题时间,则该答卷很可能无效。2、IP地址是否相同。如果答卷IP大量相同,说明很可能存在问题。但IP地址相同并不能完全说明一定是重复答题,比如同在一个办公室的答卷人一般会用同个网络。3、填空题内容与问题不符合,答非所问,部分答题人会不认真填写填空题。4、陷阱题,在编辑调研问卷的时候有设置陷阱题,那通过陷阱题的答题数据里就可以排除无效答卷。5、连续使用某个选项,题目不相同的情况下,连续选择同一个选项的答卷就很可疑。通篇选A得答卷人可能连选项都没看全。
关于团队开发效率
在第五章介绍到了团队合作开发的模式,以及在第七章中介绍到MSF基本原则,其中有三条:1.推动信息共享与沟通,2:学习所有的经验和3:与客户合作。在实际开发中,如果遇到团队人数多,沟通所花费的时间以及精力必然上升,这会影响到开发效率。那么,该如何解决大团队开发效率问题?
答:从单个开发人员出发,假设:开发人员一天的工作时间是8 h(做梦),开发时间是4 h,其他工作时间就是4h。那么如果想将一天的产出提高一倍,该怎么办呢? 有两个办法,1. 把开发时间的效率产出,提高一倍。2. 开发时间增加一倍。我们可以通过一些方式提高开发时间,例如:高效的工具、技术架构,提升开发技术与经验积累,提升需求与沟通理解能力。相应的也可以减少非开发时间,例如不必要的开会,无意义的部门活动等。
关于项目经理
第九章讲了项目经理,作者介绍了其职责与能力要求。在现实生活中,项目管理难免和程序员之间产生分歧,进而引发冲突。那么,一个好的项目经理该如何养成?项目经理如何处理团队、客户之间的关系。
答:对于团队来说,应该做到三点:1.勇于担责。项目经理一定要勇于承担责任,更不要将自己犯的错误转嫁到他人身上。2.理解,项目经理,要有良好的包容心态。3.尊重,人都需要被尊重,这是人性的需要。而与客户沟通时,应谦虚礼让,切忌“据理力争”;应学会换位思考。 懂得留有缓冲,不要当场回绝。讨论时宜主题明确,不要海阔天空。
关于长期任务
在第六章的第二小节提到了长期任务,这种任务比较难且对项目又很重要,当完成的时间超过Sprint的计划时间,该如何到如何较好的解决这类问题。先做简单的还先做难的呢,是不是对这“长期任务”也应该今早安排固定的人来承担这部分任务?
答:我认为最难的那部分应该尽早去做,“长期任务”也应该尽早安排人手来承担这部分责任。可以组织一个小的团体解决问题。
三、"做中学"
-
需求
需求分析阶段主要是确定用户使用场景与角色。这里比较难的是如何从用户角度去考虑问题,也即换位思考。当然我们可以通过问卷调查等方式去获得用户的诉求。总之,我们要精准的刻画用户画像,使用场景,时间地点等关键要素,为后面的开发做准备。
-
设计
我自己主要负责了类图的设计。就相当于工程中的草图。但是由于团队在初期交流不够的问题,导致了数据库一些设计缺陷使得订单与购物车部分功能实现起来比较棘手。我觉得还是前期数据库设计与类图设计没有很好的结合。
-
实现
我主要负责App的用户部分功能开发。一开始由于不熟悉SpringBoot开发,出现了很多意料之外的情况(技术总结里有写),导致开发效率比较缓慢。这也是我们前期α冲刺时后面几天比较赶的原因。主要还是收获了实战的一些经验吧。
-
测试
测试的话其实我主要就做了接口的测试以及相关的性能测试,由于大部分bug在进行单元测试时就发现,后期其实没有发现特别多的bug。然后在前后端接口对接时,也会出现交流不及时导致的一些问题,再一次体会到保持沟通的重要性。
-
发布
发布的时候遇到的问题比较少了,第三方jar包的推送消息时发生签名错误还是困扰了我很长的时间。幸好最后通过查找资料解决了。
四、个人心得
-
个人项目
个人项目最大的收获可能是PSP表格吧。说实话,一开始是真的很不适应这种规划方式,而且自己一开始的预测数据与真实数据是差挺大的。但是做的多了之后,就会对自己的能力与时间安排更加游刃有余。虽然比较麻烦吧,但确实能找出自己的不足,并且能合理规划时间。 -
结对编程
结对编程是第一次合作编程,我和合作的同学负责做了一个论文网站的原型设计与网站开发编程。相较于之前一直是自己单干的作业来说,体验十分新奇的。在不断的讨论、修改与完善中,逐渐完成一个项目,这为后面的团队编程打下了基础。在此,也十分谢谢我的同学。 -
团队项目
由于自己是第一次使用SpringBoot吧,在第一轮冲刺的时候遇到了许多问题,导致了进度拖后的现象。还好最后还是完成了项目。在设计、开发期间,团队成员们也积极交流,发现比较难解决问题也会互相帮忙。这次团队编程的实践真的是非常宝贵的经验。
第二部分、个人技术总结
概述:使用SpringBoot处理前端请求的基本流程,如何连接数据库,如何使用相关注解进行开发。