259
社区成员
发帖
与我相关
我的任务
分享一、本周计划任务和本周实际完成的任务
| 本周预计完成任务 | 是否完成 | 预计用时 | 实际用时 |
| 整合完善团队报告 | 是 | 5h | 6h |
| 测试并且完善交流功能 | 是 | 4h | 4h |
| 实现ai聊天功能 | 是 | 5h | 5h |
| 实现管理员功能 | 是 | 5h | 6h |
| 优化匹配算法,计算匹配度 | 是 | 4h | 3h |
| 完善整体ui界面 | 是 | 2h | 2h |
| 优化登录注册隐私保护 | 是 | 2h | 2h |
| 完善TAPD | 是 | 3h | 3h |
二、本周团队工作中存在的主要问题以及应对措施
1.ai模型配置有点困难
如何获得ai大模型的api,如何将ai大模型的api在后端配置?
文档资料杂乱不统一:
前期产生的周报、会议记录、技术文档、TAPD记录格式参差不齐,文件存放散乱,整合团队报告时耗费大量时间进行排版、校对、汇总。
收尾阶段时间规划松散:
临近结项,部分成员出现松懈心态,前期进度拖沓,大量整理、测试工作堆积在最后几天,任务集中且赶工压力较大。.
1.团队会议一起商量,在csdn,及配置ai网站文档上学习如何配置。
2.统一所有文档格式,规整TAPD流程记录、会议纪要、开发日志,分类存放项目源码与资料,规范排版,完成最终版团队结题报告。
3.重新拆分收尾任务,明确每个人的截止时间,要求每日同步进度,避免任务堆积;优先完成重要材料整理,合理分配剩余时间,杜绝拖延赶工。
三、项目整体总结与反思
刚拿到需求的时候,我们整个团队其实挺迷茫的。TAPD上列了一堆任务——登录注册、个人信息、招募、聊天、AI匹配、管理员后台……看起来很全,但我们不知道从哪里开始。后来我们按照软件工程的流程,先把用例图、活动图、顺序图画了一遍,一边画一边争论“这个功能到底该归到哪个模块”“队长和队员的权限哪里不一样”。画着画着,很多逻辑就清晰了。
真正开始敲代码之后,问题一个接一个地冒出来。比如前后端联调的时候,前端说“我调了你的接口怎么返回null”,后端说“我本地测的好好的啊”,最后发现是数据库字段改了但接口文档没更新。还有一次匹配模块死活跑不通,调试了两天才发现是VO实体类的字段类型和数据库对不上,构造器实例化一直报错。这些问题逼着我们学会了怎么去定位问题:是先看日志?还是先看接口返回?还是直接查SQL?慢慢地,我们不再一上来就瞎改代码,而是先复现问题,再一步步缩小范围。
中期检查之后,我们团队专门开了一次复盘会,把进度偏差、遗漏的缺陷、估不准的工作量一条条列出来。那时候挺难受的,因为暴露了很多问题,但也是从那时候开始,我们学会了不光要低头写代码,还要抬头看整个项目的状态。现在回头想,分析问题的能力不是看几本书就能学会的,是真的被问题“教育”出来的。
设计/开发解决方案方面:
我们选择了SpringBoot + MySQL的三层架构(UI层、业务层、数据层),说实话一开始只是觉得大家都在用,我们就跟着用了。但做着做着就发现好处了:比如业务层改了逻辑,只要接口不变,前端基本不用动;数据库表结构再怎么迭代,业务层也可以做适配。我们分工也比较明确:有人负责用户和个人信息模块,有人负责招募集队伍管理,有人负责聊天和AI推荐,还有人专门管数据库设计。
中间遇到过好几个技术大坑。印象最深的是匹配模块:一开始我们设计了一套VO实体类来封装数据库查询结果,结果字段类型各种不匹配,构造器一直实例化失败,匹配接口怎么也返回不了数据。后来我们实在没办法,干脆放弃了VO封装,直接用List<Map<String, Object>>把数据扔回去,虽然不那么“面向对象”了,但至少能跑通了。
另一个坑是多表联查的SQL写得又长又乱,我们参考了GitHub上开源的匹配算法,把联查逻辑拆成几步来调,最后才把筛选效率提上去。 还有AI工具的使用,前期我们太依赖它了。遇到不会的就问AI,AI给一段代码我们就粘上去,结果好几个模块的代码风格不统一,逻辑互相打架,改一个地方崩三个地方。后来我们调整了策略:AI只用来查报错信息、解释语法、生成工具类,核心业务逻辑我们自己去B站和博客上学,搞懂了再写。虽然慢了一点,但代码质量明显上来了,后期改bug也轻松很多。 数据库表我们前后改了四五版。user表、team表、recruit表、message表、ai_recommend_log表……每张表都是边开发边调整,加字段、删冗余、改类型。有一次忘记通知前端改了字段类型,导致前端解析JSON报错,从那天起我们就定了个规矩:改表或者改接口,必须群里@所有人,并且更新共享文档。
使用工具方面 开发工具:
我们统一用了IntelliJ IDEA,Maven管理依赖。初期配环境是真的痛苦,SpringBoot项目一创建就各种红,有的是Maven镜像问题,有的是JDK版本不对,折腾了快两天才让大家的环境统一起来。
版本控制:Git我们基本是从零学起的。刚开始只会add、commit、push,有一次两个人同时改了同一个文件,直接冲突到代码崩掉,差点把队友的代码覆盖了。后来我们专门花了一个晚上学习Git规范:分支怎么命名、提交日志怎么写、每次提交前必须pull、有冲突先喊人一起解决。虽然过程很狼狈,但到了第六周,我们已经能很顺畅地用Git多人协作了。
项目管理:TAPD我们算是“先挂后用”。前几周只是把任务挂上去,实际不怎么更新,中期检查被指出问题之后,我们才开始认真对待:每周拆任务、定截止时间、更新状态。虽然起步晚了,但确实帮我们理清了每个人的进度和待办事项。
学习和查资料:B站、CSDN、博客园是我们的三大法宝。每次遇到不会的,第一反应不是问队友,而是先搜一下。我们还建了一个“技术好文共享”的群,谁看到好的文章就丢进去,大家一起学习。AI辅助查报错也很好用,直接复制粘贴错误信息,AI能给出比较靠谱的分析。
团队协作沟通方面:
这个应该是我们进步最大的地方,也是最曲折的地方。 一开始我们开会特别没效率,聊着聊着就偏题了,一个会能开两三个小时,最后也没定出个结果。后来队长每次开会之前先把议题写出来发群里,严格控制每个话题的时间,会后发会议纪要,慢慢地开会变成了解决问题而不是浪费时间。 前后端对接的问题我们在前几周吃了大亏。前端把页面写完了,后端接口还没好;后端把接口写完了,发现前端要的字段对不上。有一次前端传的字段名和我SQL查出来的差一个下划线,查了半天才发现。后来我们强制要求:每次后端写完接口,先输出一份接口文档(包括字段名、类型、示例);
前端接之前先确认文档;任何改动必须同步给对方。从那以后,联调效率高了很多。 Git协作也是个磨合的过程。我们定了一个简单的规范:主分支保护,开发都在自己的分支上做,功能完成后再合并到dev分支,最后统一测试再合master。合并之前先拉最新的代码,解决冲突的时候不能只靠一个人改,必须两个人一起确认逻辑再合并。虽然规则很简单,但大家严格执行下来,后期基本没有因为代码冲突耽误过时间。 还有一点很重要的是:出了问题不甩锅。前期我们会互相埋怨“你接口没写好”“你前端没调对”,后来意识到这样解决不了问题。中期检查之后我们约定,遇到问题先看流程哪里出了问题,而不是找人背锅。这个转变让团队的氛围好了很多,大家也更愿意主动同步进度、主动帮忙解决问题。
项目管理方面:
项目管理对我们来说是现学现卖的。我们尝试了敏捷开发,每周规划冲刺任务,但初期太乐观了,加上大家课多、实习多,经常做不完。后来我们把任务拆得更细——不是“完成招募模块”,而是“完成发布招募的后端接口”“完成招募列表页面”“完成队伍管理的前后端联调”——这样每个人对自己要做什么、做多久心里更有数。 中期检查是我们团队的一个转折点。
老师指出了我们很多问题:TAPD不更新、缺陷没有记录、工作量预估偏得离谱、前后端进度不同步……当时挺受打击的,但也正是这次检查让我们意识到:软件工程不止是写代码,规划、文档、沟通、进度追踪同样重要。从第五周开始,我们每周日晚固定开一次复盘会,不光是报进度,更重要的是把这一周踩的坑、犯的错摊开来,一起分析原因、定改进措施。
作为团队,我们也有过松懈的时候。中期检查刚结束那几天,大家明显放松了,任务拖到周五才开始赶,细节做得也不够好。队长主动承认了自己没有及时发现和监督的问题,我们也一起讨论怎么调整节奏。后来我们约定每天在群里简单说一下“今天做了什么、明天做什么”,虽然只是几句话,但让每个人的状态都透明了,谁慢了大家都能看到,也会主动帮一把。 到了第六周,我们终于把匹配、聊天、队伍管理这几个核心模块跑通了,代码整合到GitHub上,没有大的冲突,功能也能正常用。虽然牺牲了五一假期的两天来赶进度,但看到系统能跑起来的那一刻,大家都觉得值得。到报告提交时,大家也一起努力,共同让报告变得更好。
总结下来,这一个多月,我们团队从什么都不太会、连Git冲突都搞不定,到最后能把一个完整的游戏队友匹配平台做出来,中间熬过夜、(熬到一两点)也互相鼓励过。虽然还有很多地方不完美,但每个人不仅在技术上、在团队合作上都实实在在地进步了,都掌握了企业上一些主流的技术,也有了自己的项目,不仅对日后工作实习也都有了不小的助力。也亲自实践了敏捷开发流程,结对编程,积累下了宝贵的经验。这可能就是软件工程这门课最大的意义吧。
四、未来展望
课程虽已完结,但技术学习永无止境。本次项目圆满交付并不代表学习的结束。
在后续空闲时间里,我们会继续完善这个项目,比如加上多并发,redis,等多的功能。通过复盘本次开发遗留的问题,针对性优化项目现存瑕疵。进一步打磨项目,提升系统流畅度与稳定性。
同时,我们也会不断总结在这次开发中,积累宝贵开发经验。继续不断深耕开发技术,了解前沿技术。希望在这个ai时代,我们队伍能够互帮互助,都能够拥抱程序员这个职业。
五、会议记录
|
会议主题 |
会议地点 |
会议时间 |
出席人员 |
缺席人员及情况说明 |
|
项目AI功能选择会议 | 未来城校区学生公寓一组团三栋 |
2025.05.05 18:30-21:30 |
董浩宇,熊东毅,惠子豪,李鑫磊 |
无 |
| 文档整理会议 |
未来城校区学生公寓一组团三栋 |
2025.05.10 18:30-21:30 | 董浩宇,熊东毅,惠子豪,李鑫磊 |
无 |
达成结论:
会议一:最终选用火山引擎的api进行开发。
会议二:对文档进行分工,建立工作表格。