【开题答辩实录分享】以《农村人口信息管理系统的设计与开发》为例进行答辩实录分享
大家好,我是韩立。
写代码、跑算法、做产品,从 Java、PHP、Python 到 Golang、小程序、安卓,全栈都玩;带项目、讲答辩、做文档,也懂降重技巧。
这些年一直在帮同学定制系统、梳理论文、模拟开题,积累了不少“避坑”经验。
新学期开始,很多人卡在选题:想要新颖,又怕做不完。接下来我会持续分享一批“好上手且有亮点”的选题思路和完整开题答辩案例,给你参考,也给你灵感。关注我,毕业设计不再头秃!
农村人口信息管理系统功能概括与思维导图
该系统分为管理员端和用户端两大角色模块,以解决农村人口管理中信息不对称、管理滞后等问题为核心目标:
- 管理员端:可完成登录验证,对人口信息(增删改查)、户籍信息(登记 / 查询 / 修改 / 删除)、户籍迁入迁出(申请审核 / 记录)、家庭成员信息(管理)进行全流程管控,同时具备发布 / 管理系统公告、提供在线帮助、配置系统设置与用户权限的功能;
- 用户端:支持注册登录,可查看 / 管理个人及家庭成员信息、提交户籍迁入迁出申请并查看审批状态,还能浏览系统公告、通过在线帮助反馈问题,以及在个人中心维护账号资料。
【开题陈述】
各位老师好,我是软件工程专业的H同学。我的毕业设计题目是《农村人口信息管理系统》。系统面向乡镇计生办和村委会,提供人口档案、户籍变动、计生服务、政策补贴查询四大功能模块,支持按户主、身份证号快速检索,并可导出Excel报表。后端采用SpringBoot+MyBatis,MySQL8.0做数据库,前端用Vue+ElementUI,权限分管理员、村级用户两级,登录后动态加载菜单。下面请各位老师提问。
【答辩开始】
评委老师:农村网络条件差,系统离线能不能用?
答辩学生:前端做了PWA缓存,首次加载后关键页面可离线查看;联网时自动增量同步,冲突记录标红人工合并。
评委老师:身份证号想查重,数据库层面怎么保证?
答辩学生:对身份证号字段加唯一索引,捕获DuplicateKeyException,提示“该人口已建档”并回滚事务。
评委老师:村里共用一台电脑,权限只分两级会不会太粗?
答辩学生:细粒度到“村-组-户”三级数据范围,SQL里加WHERE village_id=#{当前用户村},跨村数据看不到也改不了。
评委老师:如果同一户同时有人在乡里办迁入、村里办迁出,你怎么避免死锁?
答辩学生:先统一按户主ID升序加行锁,再操作成员;迁出先减人口数,迁入后加人口数,两步放在同一事务里,保持顺序一致。
评委老师:补贴发放记录需要上级县局审计,你怎么留痕?
答辩学生:采用“谁修改、谁审批、谁查看”三日志表,字段含旧值新值、时间戳、用户ID,写入触发器自动插审计表,不允许UPDATE/DELETE,只能INSERT。
评委老师:SpringBoot默认会话30分钟,村干部填表常超时,怎么在不降低安全的前提下延长?
答辩学生:把JWT+RefreshToken方案嵌进去,AccessToken 15分钟,RefreshToken 8小时;页面每10分钟静默请求/refresh,后台验证RefreshToken未过期即下发新AccessToken,用户无感知。
评委老师:系统上线后数据量预计百万级,MySQL单表性能下降,你准备如何水平拆分?
答辩学生:按行政村编码做ShardingKey,用MyCat分8个库,每村落在同一分片,保证查询不跨库;对高频补贴查询再加ES索引,异步入库,实现OLTP与OLAP分离。
【评委总结】
评委老师:H同学需求调研扎实,功能贴合基层场景,对并发、权限、审计、性能都有对应策略,尤其刷新Token和分库思路超出常规本科难度。下一步把压测报告和分片规则写进论文,补充界面截图即可。
以上是H同学的毕业设计答辩过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告可参考。