2022秋软工实践5:团队作业2

血小板3512 2023-01-08 23:33:02
这个作业属于哪个课程LinQF39社区
这个作业要求在哪里https://bbs.csdn.net/topics/611217765
团队名称07组-老师放过我们组
学号032004121
Video demo 链接项目演示视频
GitHub 链接https://github.com/mark-feng1219/Record_of_Cate

一、总结与收获

1.结对编程

  我的结对编程作业是和我的舍友一起制作的,我们沟通交流,相互协作,制作了一个查询中国最好大学排行榜的微信小程序。在这个小程序中,我们实现了翻页、搜索和点击搜索详情的功能。因为在写这个小程序的时候还没学会如何使前端小程序和后端做交互,所以使用的都是静态数据。

  为了完成此次作业,我系统的学习了微信小程序的官方文档,掌握了wxml、wxss、javascript、json的基本语法以及组件的使用方法。受限于本人的想象力,此次作业实现的功能并不是很多,但总体而言,我和我的舍友还是完成了此次作业的基本要求——掌握微信小程序或其他技术,为后续软件工程实践做铺垫。

  经过此次结对编程,我不仅掌握了编写微信小程序的技术,更重要的是提升了我的沟通合作能力,学会接受他人的建议,听取他人的想法。当然此次实践也让我更加深入地理解了结对编程的过程与意义,为团队编程打下坚实的基础。

  最后附上结对编程作业的代码链接:University_rank

img

2.团队编程

  我们的团队编程项目是一个美食分享平台——食珍录,意在打造满足用户分享美食的需求的社区。从项目分工上,我自认为是比较合理的(不过将编写代码任务繁重的前端交给女生也确实是辛苦前端组的女生了),而且大家也真的都尽职尽责的完成了自己的那部分工作,真的,这个项目少了我们中任何一个人都不行。

  在实际的团队编程中,可谓是艰辛重重。由于各门实践课的DDL临期,所以在需求答辩后的一周里,软件工程项目都没有任何的进展,并且没有人负责担任项目的管理员。出于对项目的关心,我组织好后端组后,还不时向前端组询问进度(这到后面证实也确实是给前端施加压力和焦虑了,这我的问题)。然而,由于我的计划决策失误,使前后端的进度不协调不匹配,直接导致了我们组中期答辩时只有前端的界面可以展示,却不能与后端对接。更严重的是我们组的矛盾更是在中期答辩后激化了,好在经过组内心平气和的开会讨论后,重新确立了人员分工以及规划,使我们组的项目进展进入了“快车道”。

  在那之后,我的主战场就从后端转变为前端。在整个项目中,如果把项目比喻成一辆自行车,那后端组就是车链,前端组就是车架,而我就是将车链与齿轮接合的“修理工”。在此期间,我不断接上前端和后端的接口并修复一些小程序的明显bug,不断完善小程序,精益求精,致力于将项目变为一个整体。而在这个过程中,也让我不得不佩服前端组女生的学习能力和攻坚克难的精神。许多技术难题,例如瀑布流的组织,vant组件的使用等,都被她们逐个攻克,真的很了不起。

  当看到项目从无到有,从粗糙到精致,项目成员从一开始的无法相互理解到最后的和平共处,我从内心里由衷地高兴,曾经辛苦的付出终于得到了回报,这一切都是值得的。软工实践让我重新认识了许多人,能遇到他们真的非常的幸运~

img

img

二、技术与工具

1.技术

(1)前端方面:

  前端方面,我们使用微信小程序来构建页面以及更多功能的实现。选择做微信小程序也是因为受到了结对编程作业的影响,组内多数人都有了开发微信小程序的相关经验,软件工程实践开发小程序将更加的有把握和自信,而不至于项目“流产”。

(2)后端方面:

  后端方面,我们使用的是Flask框架,因为在本学期,我们刚好学到了数据采集与融合的课程,通过这门课程,我们了解并掌握了如何使用Flask编写服务端程序。在软工实践中使用Flask不仅减轻了我们额外的技术学习的压力,同时也可以更加深入的学习和理解Flask框架,丰富我们编写Flask程序的经验经历。另一方面,Flask上手简单,实用性强,非常适合初次进入项目实践的我们。

(3)数据库方面:

  数据库方面,我们使用的是MySQL,它是一种使用广泛的关系型数据库管理系统,拥有体积小、速度快、成本低等优点。

2.工具

(1)微信开发者工具

  微信开发者工具是用于开发微信小程序的编辑器,包含了开发小程序过程中的所有功能,例如调试、预览、打包、上传等,极大的方便了小程序的开发者。

(2)PyCharm

  通过使用PyCharm,我们可以直接创建一个Flask项目,快速搭建后端框架。

(3)PostMan

  对于接口测试工具,我们使用的是PostMan,通过它可以检测接口能否正常返回符合我们预期的结果。由于最初编写的接口都是使用GET方法,所以使用浏览器直接访问http://127.0.0.1/还是可以满足需求的,但到后来,一些接口涉及POST方法就迫不得已要使用接口测试工具PostMan来进行测试。

(4)Git

  Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。关于它的使用与否,我们组里还发生过较大的分歧,但在经过组内交流后最终决定——"黑猫白猫,能抓老鼠的都是好猫!"。哈哈,我都不记得到底是谁当初给我起“git侠”的外号了。

三、经验总结

1.沟通很重要

  其实此次软件工程实践最大的问题还是沟通问题,通过沟通,我们可以更加明确项目的目标,细节实现,进度匹配等等等等,还可以抛出技术难题,大家一起想办法解决。没有沟通,一个团队就像一潭死水一样,失去灵魂,同时会增加成员之间的不理解并产生矛盾。

2.分工要合理

  不合理的分工会直接导致组内成员工作量失衡,并可能出现“忙的很忙,闲的很闲”的情况。只有合理的分工,才能让每个成员的能力得以充分发挥。不过这也是通过沟通可以解决的问题,从这也可以看得出沟通的重要性了,哈哈。

四、想说的话

  经历了这次软件工程实践,我不仅亲身体验了一番软件从无到有的全过程,还重新认识了很多人。当困难来临时,他们没有选择逃避,相互推卸责任,而是选择勇敢面对,相互讨论对策,尽心尽力的发挥着自己的才能,在自己的位置上发光发热,共同谋求更好的结果,真正的做到了“软工不摸鱼”(我们的QQ群名称是叫这个哈)。感谢软工,感谢这一路上,能有你们~

...全文
178 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

125

社区成员

发帖
与我相关
我的任务
社区描述
软件工程A2022秋
软件工程 高校
社区管理员
  • LinQF39
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧