【开题答辩实录分享】以《足球社区微信小程序》为例进行答辩实录分享
大家好,我是韩立。
写代码、跑算法、做产品,从 Java、PHP、Python 到 Golang、小程序、安卓,全栈都玩;带项目、讲答辩、做文档,也懂降重技巧。
 这些年一直在帮同学定制系统、梳理论文、模拟开题,积累了不少“避坑”经验。
新学期开始,很多人卡在选题:想要新颖,又怕做不完。接下来我会持续分享一批“好上手且有亮点”的选题思路和完整开题答辩案例,给你参考,也给你灵感。关注我,毕业设计不再头秃!

足球社区微信小程序功能总结
该微信小程序围绕足球爱好者需求设计,核心功能涵盖五大板块:
一是足球比赛资讯分享,提供国内外赛事赛程、比分、球员表现等信息,支持用户评论、分享与讨论;
二是比赛线上报名,用户可报名各类足球比赛,配套线上支付与报名确认功能;
三是足球游戏分享与约战,用户能发布附近足球游戏信息,通过线上约战功能快速匹配比赛伙伴;
四是用户个人数据记录分析,记录用户比赛中的进球、助攻、红黄牌等数据,并提供数据分析服务,助力用户了解自身技能水平;
五是足球用具对比推荐商城,展示足球用具的价格、规格、用户评价等信息,提供用具对比与推荐功能,方便用户选购。

【开题陈述】
各位老师好,我是H同学。题目是“足球社区微信小程序”。系统给足球爱好者提供资讯、报名、约战、数据记录和装备推荐五大功能;前端用微信小程序原生+vant-weapp,后端SpringBoot+MySQL,B/S架构,部署在腾讯云开发环境。陈述完毕,请老师提问。
【答辩开始】
评委老师:资讯模块每天抓多少条数据?存哪?怎么保证去重?
答辩学生:计划每天抓新浪爱彩与懂球帝共60条赛事新闻;存MySQL,给title建唯一索引,爬虫先select,若title存在则跳过,实现去重。
评委老师:约战功能要定位附近球场,微信小程序如何拿到用户精确位置?
答辩学生:调用wx.getLocation,先弹窗获用户授权,再选type='gcj02'返回经纬度,后台用Haversine公式匹配3 km内球场。
评委老师:个人数据中心把“进球”记成字符串还是数字?后续做图表要注意什么?
答辩学生:进球用TINYINT存数字;画雷达图时把5项数据(进球、助攻等)统一归一化到0-100,否则量纲不同会导致图形失真。
评委老师:商城模块只有对比没有支付,以后想对接微信支付要改哪几处?
答辩学生:①小程序后台开通“微信支付”插件;②订单表加prepay_id、out_trade_no字段;③后端加统一下单与回调接口;④前端调起wx.requestPayment,完成后刷新订单状态。
评委老师:SpringBoot与小程序云开发各管什么?为何混搭?
答辩学生:云开发负责静态资源托管、云函数鉴权,省域名备案;SpringBoot管复杂业务如数据分析、定时爬虫,方便用MyBatis写多表SQL,混搭兼顾成本与灵活性。
评委老师:如果同时1 000人提交报名,怎样防止超报?
答辩学生:在MySQL层用乐观锁,报名表加version字段;更新前先比对version,失败则回滚并提示“名额已满”,接口限流100 QPS,超出排队。
评委老师:用户行为日志每天200万条,单表查询变慢,如何优化?
答辩学生:①按“年月”做RANGE分区;
②归档90天前数据到TiDB或ES;
③常用维度建联合索引(user_id, action, log_date),查询走覆盖索引避免回表;
④读写分离,主库写,从库提供报表。
【评价与总结】
H同学对高并发锁与大数据量分区方案思路清晰,技术栈选择合理;下一步重点验证分区脚本与乐观锁压测结果。总体方案可行,同意继续推进,预祝后续实现顺利。
以上是H同学的毕业设计答辩过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告可参考。




