跳转至

6.2 完成答辩:陈述、PPT 与 Q&A

用清晰逻辑和真实证据,让别人相信你真的完成了项目

答辩不是背稿,而是展示思考过程

6.1 准备的演示视频和脚本解决了“让别人看懂项目”的问题,但答辩需要更进一步:回答“为什么这样做”“遇到什么困难”“如何验证”“还有什么不足”。评委或教师不仅关注结果,更关注你的思考过程、决策依据和解决问题的能力。

本节将帮助你完成答辩 PPT、准备答辩陈述、预判高频问题并制定回答策略,确保答辩过程自信、有据、可验证。

本节学习目标

完成 10—15 页答辩 PPT,突出架构图、核心流程图和关键界面截图;准备 5—8 分钟答辩陈述,逻辑清晰、重点突出;列出 10—15 个高频问题并准备回答要点;完成答辩并记录反馈。

返回上一节:准备演示 返回第六篇导读


🎯 本节完成后,你要交付

成果 要求
答辩 PPT 10—15 页,包含项目定位、需求、设计、实现、测试、部署、总结
答辩陈述稿 5—8 分钟,逻辑清晰、重点突出、时间可控
Q&A 准备清单 10—15 个高频问题,每个问题有回答要点和证据链接
AI 使用说明 讲清 AI 参与的任务、人工决策和验证方法,可结合 AI 协作记录
答辩反馈记录 评委或教师的建议、肯定和改进方向
答辩视频(如要求) 记录答辩过程,供复盘和作品集使用

答辩必须基于真实项目

不要虚构项目成果、夸大个人贡献或抄袭他人答辩内容。评委可能追问技术细节、查看代码或要求现场演示,虚构内容无法经受验证。


一、答辩 PPT:10—15 页讲清项目全貌

答辩 PPT 是视觉辅助工具,不是讲稿的复制。每页应突出一个核心信息,配合口播解释。

1. 推荐的 PPT 结构

页码 内容 核心信息 视觉元素
1 封面 项目名称、团队成员、指导教师 项目 Logo、背景图
2 问题背景 项目解决什么问题、为什么值得做 痛点示意图、用户场景图
3 需求分析 目标用户、核心功能、业务规则 用户角色图、功能清单
4 系统架构 技术选型、架构设计、模块划分 架构图、技术栈图标
5 数据库设计 核心表结构、关系、关键字段 ER 图、表结构截图
6 核心流程 主要业务流程、状态转换 流程图、时序图
7 关键界面 核心功能界面、权限差异 界面截图(3—4 张)
8 技术亮点 关键技术、难点解决、创新点 代码片段、技术对比
9 测试验证 测试策略、覆盖范围、缺陷修复 测试报告截图、数据图表
10 部署成果 部署方式、运行效果、访问地址 Docker 状态、访问截图
11 项目成果 完成度、质量、可复现性 成果清单、Git 标签
12 已知限制 当前不足、边界条件、风险 限制清单、改进方向
13 总结展望 项目价值、个人成长、后续计划 成长路径图、未来规划
14 Q&A 感谢聆听、准备回答问题 联系方式、项目链接

2. PPT 设计原则

  • 一页一主题:每页只讲一个核心信息,避免信息过载;
  • 视觉优先:用图、表、截图代替大段文字;
  • 逻辑清晰:按“问题 → 方案 → 验证 → 成果”的顺序组织;
  • 时间可控:每页讲解时间 20—30 秒,总时长 5—8 分钟。

3. 关键页面的详细说明

第 2 页:问题背景

1
2
3
4
5
# 问题背景

- 痛点:失物信息分散在多个微信群,认领过程难追踪
- 用户:校园学生、教职工、管理员
- 价值:统一平台、可验证流程、减少虚假信息

视觉建议:使用对比图(传统方式 vs 平台方式)。

第 4 页:系统架构

1
2
3
4
5
6
# 系统架构

- 前端:Vue 3 + Vite + Pinia
- 后端:Spring Boot 3 + MyBatis-Plus
- 数据库:MySQL 8
- 部署:Docker Compose + Nginx

视觉建议:分层架构图,标注各层职责。

第 8 页:技术亮点

1
2
3
4
5
6
# 技术亮点

1. JWT 鉴权 + 角色权限控制:确保数据安全
2. 统一异常处理:规范错误响应,便于前端处理
3. Docker 一键部署:降低部署门槛,确保可复现
4. 测试覆盖:15 个测试用例,覆盖正常、异常、权限场景

视觉建议:代码片段 + 效果截图。

第 9 页:测试验证

1
2
3
4
5
6
# 测试验证

- 测试范围:登录、核心流程、异常处理、权限控制
- 测试用例:15 个,通过率 100%
- 缺陷修复:发现 3 个 P0 缺陷,全部修复并回归通过
- 部署验证:Docker 环境完成核心流程

视觉建议:测试报告截图、缺陷统计图表。


二、答辩陈述:5—8 分钟逻辑清晰

答辩陈述是口头表达,需要与 PPT 配合,突出重点、控制时间。

1. 陈述的结构与时间分配

部分 内容 时间 关键句
开场 项目定位、团队介绍 30s “我们的项目是……,解决……问题”
问题背景 痛点、用户、价值 45s “传统方式存在……问题,我们的平台……”
需求分析 核心功能、业务规则 60s “系统支持……角色,核心功能包括……”
系统设计 架构、数据库、关键技术 90s “我们采用……架构,使用……技术解决……”
实现与测试 核心功能、测试验证、缺陷修复 90s “我们通过……测试,发现并修复了……”
部署成果 部署方式、运行效果 45s “项目已通过 Docker 部署,可一键启动”
总结展望 项目价值、个人成长、后续计划 60s “通过这个项目,我学会了……,未来计划……”

2. 陈述稿示例

# 校园失物招领平台答辩陈述稿

## 开场(30s)
各位老师好,我们的项目是“校园失物招领平台”,解决失物信息分散、认领过程难追踪、虚假认领难审核的问题,帮助校园用户完成可验证的失物归还流程。我是 XXX,负责后端开发和系统部署。

## 问题背景(45s)
传统失物招领依赖微信群和公告栏,信息分散、难以检索、认领过程缺乏验证。我们的平台提供统一的信息发布、搜索、认领和审核功能,确保流程可追踪、结果可验证。

## 需求分析(60s)
系统支持三类角色:失主、拾到者和管理员。核心功能包括:失物发布、关键词搜索、认领申请、管理员审核、归还确认。业务规则包括:同一用户不能重复认领、认领需管理员审核、归还后状态不可修改。

## 系统设计(90s)
我们采用前后端分离架构,前端使用 Vue 3 + Pinia,后端使用 Spring Boot 3 + MyBatis-Plus,数据库使用 MySQL 8。关键技术包括:JWT 鉴权确保身份安全,角色权限控制确保数据隔离,统一异常处理规范错误响应。数据库设计包含用户、失物、认领、审核四张核心表,通过外键关联确保数据一致性。

## 实现与测试(90s)
核心功能已全部实现,并通过 15 个测试用例验证,覆盖正常、异常和权限场景。测试中发现 3 个 P0 缺陷:重复认领、权限绕过、状态错误,全部修复并回归通过。部署方面,使用 Docker Compose 实现一键部署,已在本地环境完成核心流程验证。

## 部署成果(45s)
项目已通过 Docker 部署,访问地址为 http://localhost:8088。部署后完成登录、发布、搜索、认领、审核全流程验证,系统运行稳定,数据正确。

## 总结展望(60s)
通过这个项目,我掌握了 Spring Boot 和 Vue 的全栈开发能力,学会了使用 Docker 进行容器化部署,理解了测试驱动开发的重要性。未来计划增加消息通知、数据统计和移动端适配,进一步提升用户体验。谢谢各位老师,请批评指正。

3. 陈述的注意事项

  • 时间控制:提前练习,确保 5—8 分钟内完成;
  • 重点突出:技术亮点、难点解决、测试验证是评委关注的重点;
  • 逻辑清晰:按“问题 → 方案 → 验证 → 成果”的顺序组织;
  • 自信表达:语速适中、声音清晰、与评委眼神交流。

三、AI 使用说明:讲清"AI 做了什么、你做了什么"

本课程的答辩包含一个特殊环节:说明 AI 使用过程、人工决策和验证方法。这不是要你暴露"偷懒",而是证明你具备 AI 协同开发的核心能力——能为 AI 提供准确上下文、能判断 AI 建议的对错、能验证 AI 产出的结果。

1. 为什么必须说明 AI 使用过程

  • 课程验收重点是能解释、能定位、能修改自己的代码,而不是只会运行一个由 AI 生成的项目;
  • 评委会通过追问和代码抽查,验证你是否真正理解 AI 生成的代码;
  • 诚实说明 AI 使用过程,反而能展示你的工程判断力和验证能力。

2. AI 使用说明的结构

部分 内容 证据
AI 参与了什么 哪些任务使用了 AI(分析、设计、编码、调试、测试、文档) AI 协作记录、任务卡
AI 提了什么 AI 给出的关键建议或生成的代码 提示词记录、AI 输出
你决定了什么 采纳、修改或拒绝了哪些建议,为什么 AI 协作记录中的"人工判断"
你如何验证 运行、测试、评审的结果 测试报告、缺陷记录、Git 提交

AI 协作记录的格式参见文档与任务模板:模板五 AI 协作记录

3. AI 使用说明示例

# AI 使用说明(答辩用)

## AI 参与的任务
- 需求分析:AI 协助检查需求说明书的一致性,人工确认后修改 3 处业务规则;
- 编码实现:用户认证、失物管理模块由 AI 生成初稿,人工调整后提交;
- 缺陷修复:重复认领问题由 AI 协助定位根因,人工确认方案后修复;
- 测试:15 个测试用例由 AI 生成初稿,人工补充 3 个越权场景。

## 关键人工决策
- 拒绝 AI 建议引入 Redis 缓存:课程项目并发量低,引入 Redis 会增加部署复杂度;
- 修改 AI 生成的 JWT 过期时间:从 7 天改为 2 小时,符合安全要求;
- 调整 AI 生成的表结构:认领表增加审核状态字段,支持业务闭环。

## 验证方法
- 所有 AI 生成的代码均通过测试用例验证;
- 核心流程在 Docker 干净环境重新验证;
- AI 协作记录保存在 docs/ai-records/,可查阅。

4. 必问问题:"这段代码是 AI 写的还是你写的?"

回答策略

  • 诚实承认:"这段代码由 AI 生成初稿,我进行了修改和验证";
  • 讲清决策点:"我选择这个方案的原因是……我修改了……";
  • 现场解释:能够逐段讲清代码逻辑,说明关键语句的作用;
  • 展示验证:"这段代码通过了 XX 测试用例,验证结果是……"。

不能声称 AI 生成的代码完全是自己写的

评委可以通过追问细节、要求现场修改等方式验证。一段讲不清逻辑的"自己的代码",比诚实承认 AI 参与更影响成绩。


四、Q&A 准备:预判问题、准备回答

Q&A 是答辩的关键环节,评委通过追问验证你的真实理解和项目质量。

1. 高频问题分类与回答策略

类别 高频问题 回答策略
技术选型 为什么用 Spring Boot 不用 Django? 对比技术特点、团队熟悉度、生态成熟度
架构设计 为什么这样分层? 说明职责分离、可维护性、可测试性
数据库设计 为什么这样设计表结构? 说明业务需求、关系约束、查询效率
实现细节 XX 功能是怎么实现的? 展示代码、说明关键逻辑、演示运行效果
测试验证 怎么保证系统正确? 展示测试用例、覆盖率、缺陷修复记录
部署运维 怎么部署?遇到什么问题? 展示 Docker 配置、日志分析、解决方案
个人贡献 你在团队中负责什么? 明确职责、展示证据、说明协作方式
AI 使用 这段代码是 AI 写的还是你写的? 诚实说明、讲清人工决策点、能现场解释代码逻辑
不足改进 哪些地方做得不够好? 诚实承认、说明原因、后续改进计划

2. Q&A 准备清单示例

# Q&A 准备清单

## 技术选型类

### Q1:为什么选择 Spring Boot 而不是 Django 或 Flask?
**回答要点**- Spring Boot 生态成熟,适合企业级应用;
- 团队熟悉 Java,有课程基础;
- Spring Boot 的依赖注入、AOP 等特性便于模块化开发;
- 对比过 Django,认为 Spring Boot 更适合大型项目。

**证据链接**:技术选型文档、对比分析表。

### Q2:为什么选择 Vue 3 而不是 React?
**回答要点**- Vue 3 学习曲线平缓,适合课程项目;
- Vue 3 的组合式 API 便于代码组织;
- Pinia 状态管理简单直观;
- 团队有 Vue 基础,开发效率高。

**证据链接**:技术选型文档、Vue 3 特性说明。

## 架构设计类

### Q3:为什么采用前后端分离架构?
**回答要点**- 前后端职责分离,便于并行开发;
- 前端可独立部署,支持多端访问;
- API 接口规范,便于测试和维护;
- 符合现代 Web 开发趋势。

**证据链接**:架构设计文档、API 接口文档。

### Q4:数据库为什么这样设计?
**回答要点**- 根据业务需求设计用户、失物、认领、审核四张表;
- 通过外键关联确保数据一致性;
- 关键字段添加索引,提高查询效率;
- 考虑未来扩展,预留字段和表。

**证据链接**:数据库设计文档、ER 图。

## 实现细节类

### Q5:JWT 鉴权是怎么实现的?
**回答要点**- 用户登录后生成 JWT Token,包含用户 ID 和角色;
- 前端存储 Token,每次请求通过 Header 发送;
- 后端拦截器验证 Token,解析用户信息;
- Token 过期后需重新登录。

**证据链接**:JWT 工具类代码、拦截器代码、登录接口文档。

### Q6:角色权限控制是怎么实现的?
**回答要点**- 数据库用户表包含角色字段;
- JWT Token 中包含角色信息;
- 后端通过注解或拦截器验证角色权限;
- 前端根据角色显示不同界面。

**证据链接**:权限注解代码、角色验证代码、前端路由守卫代码。

## 测试验证类

### Q7:怎么保证系统正确?
**回答要点**- 编写 15 个测试用例,覆盖正常、异常和权限场景;
- 使用 Apifox 进行接口测试,验证请求和响应;
- 发现 3 个 P0 缺陷,全部修复并回归通过;
- 部署后重新执行核心流程,确保系统稳定。

**证据链接**:测试用例文档、缺陷修复记录、测试报告。

### Q8:测试覆盖率是多少?
**回答要点**- 核心功能测试覆盖率 100%;
- 异常场景测试覆盖率 80%;
- 权限场景测试覆盖率 100%;
- 使用 JaCoCo 生成覆盖率报告。

**证据链接**:测试覆盖率报告、测试用例统计。

## 部署运维类

### Q9:怎么部署项目?
**回答要点**- 使用 Docker Compose 编排 MySQL、后端、前端、Nginx;
- 执行 `docker compose up -d` 一键启动;
- 通过 Nginx 反向代理实现前后端分离部署;
- 已在本地环境完成部署验证。

**证据链接**:Docker Compose 配置文件、部署文档、访问截图。

### Q10:部署过程中遇到什么问题?
**回答要点**- 问题 1:数据库连接失败,原因是 DB_HOST 写成 localhost,改为服务名 mysql 后解决;
- 问题 2:Nginx 静态资源 404,原因是路径配置错误,调整后解决;
- 问题 3:跨域问题,通过 Nginx 代理解决。

**证据链接**:问题排查记录、解决方案文档、日志截图。

## 个人贡献类

### Q11:你在团队中负责什么?
**回答要点**- 负责后端开发,包括用户认证、失物管理、认领审核模块;
- 负责系统部署,编写 Docker Compose 配置和部署文档;
- 参与需求分析和系统设计,提出技术方案;
- 协助前端开发,解决跨域和接口对接问题。

**证据链接**:Git 提交记录、模块代码、部署文档、会议纪要。

### Q12:遇到团队冲突怎么解决?
**回答要点**- 冲突 1:需求变更频繁,通过需求基线冻结和变更评审解决;
- 冲突 2:技术方案分歧,通过对比分析和原型验证解决;
- 冲突 3:进度不一致,通过每日站会和任务分解解决。

**证据链接**:会议纪要、变更记录、任务看板。

## 不足改进类

### Q13:哪些地方做得不够好?
**回答要点**- 不足 1:测试计划制定较晚,部分功能测试不充分,后续应提前制定测试计划;
- 不足 2:性能测试未覆盖高并发场景,后续应使用 JMeter 进行压力测试;
- 不足 3:移动端适配不完善,后续应使用响应式设计或开发移动端应用。

**证据链接**:测试报告、性能测试计划、移动端适配方案。

### Q14:如果重新做,会怎么改进?
**回答要点**- 改进 1:采用测试驱动开发,先写测试用例再实现功能;
- 改进 2:使用 CI/CD 自动化部署,减少人工操作;
- 改进 3:增加监控和日志分析,提高系统可观测性。

**证据链接**:改进方案文档、技术调研报告。

3. Q&A 回答技巧

  • 诚实回答:不知道的问题诚实说明,不要编造;
  • 展示证据:尽量用代码、文档、截图等证据支持回答;
  • 控制时间:每个问题回答 1—2 分钟,避免过长;
  • 保持自信:即使遇到挑战性问题,也要保持冷静和自信。

4. 🤖 让 AI 帮你生成 Q&A 准备清单

可以让 AI 基于真实项目材料生成 Q&A 清单初稿,再由你补充和确认:

请先阅读当前项目的真实材料:需求分析说明书、系统设计说明书、测试报告、缺陷记录、部署说明和 AI 协作记录。

我要准备答辩 Q&A 清单。

请遵守:
1. 从技术选型、架构设计、实现细节、测试验证、部署运维、个人贡献、AI 使用七个类别,各提出 2—3 个最可能被追问的问题;
2. 每个问题给出回答要点,只使用材料中能够确认的事实;
3. 每个回答要点标注证据来源(文档、代码文件、测试报告);
4. 不虚构成果、数据和决策过程;
5. 列出我无法用现有材料回答、需要补充准备的问题。

先说明你读取到的依据和缺失项,再生成 Q&A 清单。

人工必须核对:

  • 每个回答要点是否与 v1.0 版本的实际代码和文档一致;
  • AI 推测的"可能被问的问题"是否遗漏了你项目特有的难点;
  • 证据来源是否真实存在,能否在答辩现场快速找到。

五、答辩反馈记录:持续改进

答辩结束后,记录评委或教师的反馈,作为后续改进的依据。

1. 答辩反馈记录表

反馈类型 反馈内容 改进方向 优先级
肯定 项目完成度高,测试覆盖全面 继续保持 -
建议 增加性能测试,验证高并发场景 学习 JMeter,补充压力测试
建议 优化移动端适配,提升用户体验 使用响应式设计或开发移动端
问题 部分技术细节解释不清 深入理解原理,准备更充分的材料

2. 答辩反馈记录示例

# 答辩反馈记录

## 答辩时间:2026-07-23 14:00—14:30
## 答辩地点:教学楼 A101
## 评委:张老师、李老师、王老师

## 肯定
- 项目完成度高,功能完整,测试覆盖全面;
- 答辩陈述逻辑清晰,重点突出;
- Docker 部署方案实用,降低了部署门槛。

## 建议
- 建议增加性能测试,验证高并发场景下的系统稳定性;
- 建议优化移动端适配,提升用户体验;
- 建议增加数据统计功能,帮助管理员分析失物招领情况。

## 问题
- JWT Token 过期机制解释不够清晰,需要深入理解原理;
- 数据库索引优化策略需要进一步说明。

## 改进方向
- 学习 JMeter,补充压力测试;
- 使用响应式设计或开发移动端应用;
- 深入理解 JWT 原理,准备更充分的材料。

六、提交前自查

  • 答辩 PPT 10—15 页,结构完整,视觉清晰;
  • 答辩陈述稿 5—8 分钟,逻辑清晰,时间可控;
  • Q&A 准备清单 10—15 个问题,每个问题有回答要点和证据链接;
  • AI 使用说明讲清了 AI 参与的任务、人工决策和验证方法;
  • 能现场解释核心代码的逻辑,包括 AI 生成的部分;
  • 已进行至少一次完整答辩演练,时间控制在规定范围内;
  • 已准备演示环境,确保答辩现场可正常运行;
  • 已记录答辩反馈,包括肯定、建议和改进方向;
  • 答辩 PPT、陈述稿和 Q&A 准备清单来自 v1.0 版本;
  • 答辩过程中使用的数据和截图来自真实项目,无虚构内容。

本节小结

完成答辩的核心是用清晰逻辑和真实证据,让别人相信你真的完成了项目

答辩 PPT 突出项目全貌 → 答辩陈述逻辑清晰 → AI 使用说明诚实有据 → Q&A 准备充分 → 答辩反馈记录持续改进。

完成本节后,你将拥有一个完整的答辩材料包,能够自信地回答评委或教师的问题。下一节将帮助你展示个人贡献,明确自己在团队中的角色和成果。

下一节:6.3 展示贡献 返回上一节:准备演示