回首过去,扬帆起航

这个作业属于哪个课程 2021春软件工程实践|S班
这个作业要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标 进行软工实践总结,对自己最擅长的一个相关技术,进行分析描述并总结
其他参考文献 CSDN、简书等

目录

第一部分:课程回顾与总结

软工实践寒假作业(2/2)链接

问题解答

问题一:读了56~57页“专和精的关系”,我想问的是究竟该往哪个方向发展:是成为一个什么都会一点的全栈工程师,还是成为只精通某一种语言的工程师?哪个方面会更吃香?

解答:在阅读CSDN上的相关博客后,我有了自己的结论:专注一个领域,成为精通某一种语言的工程师,使自己在这个领域站稳脚跟后,再去了解其他语言、技术。一技傍身,才有底气。

问题二:读了74页的注释规范,这里说“应该只用ASCILL码,不能用中文字符”我有点不大理解?

解答:在经历此次团队编程,以及编程过程中参考的网络上他人的技术博客,我有了自己的结论:在目前国内,注释还是使用中文字符比较合适的。在团队编程中,我在解决bug时,涉及到了他人的代码,我需要看懂他人写的代码。这时候注释便起了很大的作用,中文的注释,使我能够及时的看懂他人写的代码。若是英文的注释,我可能需要借助翻译工具将其转为中文,降低了我工作的效率。以及在查看网上他人技术博客时,学习这一技术时,看着他人在代码块的中文注释,使我能够很快学会这一技术。

问题三:读了84~85页,我认识到结对编程的必要之处,那我想问如何进行有效的结对编程?若是其中一个人能力不足,或者总在偷懒,又因为项目要到时间了,另一个人只能被迫完成大部分内容,这样的结对编程反而无法带来好处,那么如何避免这种情况的出现呢?

解答:在经过软工实践的结对编程的作业之后,我有了自己的结论:最好是找能力相近的、有责任心的、擅长技术不同的队友。比如在结对编程作业中,我的队友lw就是一个能力很强,而且很负责的队友。而且他擅长的前端相关的技术——vue,我擅长的是后端相关的技术——spring boot。因此在结对编程作业中,我们选择了前后端分离的开发模式,及时地交流遇到的问题,及时地解决问题,大大提高了开发的效率。

问题四:敏捷开发的一个原则是“可用的软件是衡量项目进展的主要指标”,我想问的是“可用的软件”的具体含义指的是什么?指的是仅实现功能需求的软件,但是仍存在一些bug,还是指的是无bug的软件?如何判断一个软件是可用的?有没有什么具体的标准?

解答:在经过α冲刺和β冲刺之后,我有了自己的结论:可用的软件指的是指实现功能需求且目前暂未发现bug的软件。在我们α阶段结束后,做出的微信小程序存在着许多bug,虽然完成大部分的功能,但是存在着会导致某些功能不可用的bug,这称不上是一个可用的软件。在β阶段,主要的工作就是对遗留的bug的解决,所以在β冲刺结束后,开发出的产品基本没有bug了,基本功能都是可用的,这时的微信小程序才能称为可用的软件。

问题五:读到第八章收集用户需求时,我有一个问题:软件开发时是满足大部分人所需要的需求,还是尽量满足所有用户各式各样的需求,即对小众用户的需求是否要满足?

解答:在经过此次微信小程序开发后,我有了自己的结论:尽量满足用户的各种合理的需求。我们小组在开发微信小程序之前,在需求分析阶段,曾发起一次问卷调查,其中一个问题就是用户希望小程序具备什么样类型的功能。在后续的实现中,我们针对用户所需要的功能,都尽量做到了一一实现。虽然增加了工作量,但是我们想要做出的不止是一个可用的软件,更想做出一个好用的软件,尽量满足用户的需求,使软件更好地服务用户。

是否原来的问题还不明白?

是否产生了新的问题

阶段收获

需求:NABCD模型的使用,学习了《构建之法》第八章中介绍了一种竞争性需求分析的框架——NABCD模型后,在实践中使用NABCD模型对项目进行需求分析

设计:数据库合理的设计,根据规范,增加每个表必要的字段id、创建时间——gmtCreate、修改时间——gmtModify、逻辑删除——deleted

实现:Mybatis-Plus的使用,学会了其代码生成器的使用,生成了各个层有关数据库的操作,大大减少代码的工作量

测试:使用JUnit进行的单元测试,根据条件覆盖设计测试用例,对自己写的service层代码都进行了测试,使得service层的功能达到预期的效果

发布:发布的产品的功能应该基本可用、好用,且无重大bug。由于我们的微信小程序产品是具有社交功能的,需要企业证明才能正式发布,目前只能发布体验版,有点遗憾。

心得

软件工程实践接近尾声了,这其中的过程是很累的,时间也是很赶的,但是收获同样是满满的,锻炼了自己的专业能力,学到了很多东西。MybatisPlus、SpringBoot等一系列的学习,让我强化了自己的专业能力。一个好的软件的诞生,离不开队友之间的共同努力,共同奋斗。前后端分离工作,各自完成各自的部分,最后再测试连接,使得工作清晰明朗,大大提高工作效率。大家在开发中都在尽自己最大的努力做好产品,彼此之间互相努力,共同解决遇到的困难。尤其是在前后端接口交互的阶段,遇到了一大堆bug,但是在大家共同的努力下,在发布之前共同解决了遇到的bug,最终开发出了让人满意的产品。相信经过此次软工实践的我们,大大提高了自身的专业能力,相信在未来的软件开发中,会做得更好。

第二部分:个人技术总结

MyBatis-Plus的基本使用

概述:MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无需编写Mybatis中的大量的xml文件(可在其中通过编写SQL语句操作数据库),可直接调用其封装好的有关数据库的操作的方法,大大减少了开发的工作量,提高了开发效率。

posted @ 2021-06-28 16:30  羊羊羽  阅读(116)  评论(3编辑  收藏  举报