【开题答辩全过程】以 报修系统为例,包含答辩的问题和答案
个人简介
一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等
开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。
感谢大家的关注与支持!
各位老师好,我是XX同学,本次毕业设计的题目是《基于 Express + MongoDB 的报修系统设计与实现》。系统面向企业、维修员和普通用户三类角色,核心功能包括:用户在线报修、维修员接单与进度更新、管理员进行人员/产品/故障类型及备件管理。前端用 jQuery + Bootstrap + Ajax 做页面交互,后端用 Node.js + Express + Mongoose 提供 RESTful 接口,数据库选 MongoDB,开发工具是 VS Code 和 Robo3T。目标是让报修流程规范化、进度透明化,提高维修效率。下面请各位老师提问。
评委老师:为什么选择 MongoDB 而不是 MySQL?
答辩学生:因为我之前只学过一点点 SQL,连表查询写起来吃力;MongoDB 是文档型,一条报修单正好存成一个 JSON 对象,不用提前建很多表,对我这种基础弱的上手快,而且网上教程多。
评委老师:系统里三类角色登录后看到的界面怎么区分?
答辩学生:登录成功后后端把 userType(0 用户/1 维修员/2 管理员)存到 session,前端 JS 根据这个值用 if-else 控制菜单显隐,不同角色进不同首页,页面写在一起,用 div 包起来按需显示。
评委老师:如果两台电脑同时用同一个手机号注册,会不会出现重复账号?
答辩学生:注册接口里我先去数据库 count 一下手机号,大于 0 就返回“已存在”,不让重复插入,所以不会重复。
评委老师:维修员点击“完成维修”后,用户怎么立刻知道?
答辩学生:维修员更新状态后,后端把状态字段改成“已完成”,用户端的“我的报修”列表是用 Ajax 每 5 秒自动刷新一次,能看到最新状态,颜色也会变绿。
评委老师:前端只用 jQuery,后期如果页面越来越多,会不会变得难维护?
答辩学生:确实会,但目前我只做 10 来个页面,把公共头尾单独写成 header.js、footer.js 引入,每个页面一个独立的 JS 文件,先保证能跑起来,以后再学 Vue 再重构。
评委老师:系统打算怎么备份数据库?
答辩学生:我本地用 Robo3T 每周手动导出一次 BSON,放到 D 盘“backup”文件夹,文件名带日期;如果以后放到云服务器,就写一条 cron 定时执行 mongodump,每天凌晨跑一次。
评委老师:进度安排里第 6 周就要“程序可演示”,你现在写到哪了?
答辩学生:今天是 2025 年 3 月 8 日,按计划属于第 2 周,我已经把用户注册、登录、报修单提交和列表显示跑通了,维修员接单功能代码写完,正在调接口,预计第 5 周可以提前演示。
【答辩结束·评委评价】
XX 同学对系统整体思路比较清晰,技术选型贴合自身基础,能说出关键的数据校验、角色区分和状态同步做法,说明确实动手做了。下一步要注意代码结构拆分、提前写测试用例,并留出时间做论文排版和查重。总体开题可行,同意按计划继续推进。
以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取
最后
有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi博主,没有选题的也可以联系我们进行帮你选题、定功能和建议。