news 2026/5/11 17:47:00

AI 辅助开发实战:基于大模型高效完成购物网站毕业设计报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 辅助开发实战:基于大模型高效完成购物网站毕业设计报告


1. 痛点:代码+报告,时间只有四周

大四下学期,白天实习、晚上论文,老师还催着“系统要演示、报告要胶装”。典型的一天是这样循环的:

  • 上午调通支付接口,下午发现字段命名全乱,改到半夜;
  • 凌晨两点对着空白 Word 写“5.1 系统架构”,结果只憋出三行字;
  • 第二天早八答辩彩排,PPT 里还缺一张 ER 图。

编码和文档双重压力,本质上是“上下文切换”太频繁:刚进入代码区,又被格式、字号、引用文献拉回写作区,效率自然腰斩。

2. AI 工具怎么选?一张表看懂

场景GitHub Copilot通义灵码Claude 3.5
需求→用户故事补全快、中文提示弱中文需求理解好长文本梳理清晰
数据库建模靠注释猜字段ER 图一键生成可输出 PlantUML
API 开发实时补全,Clean Code 风格好注释→代码同步适合写复杂业务注释
报告生成不适合长文模板多,可直接出章节逻辑段落最自然

我的组合打法:

  1. 用 Claude 先出“系统总体结构”文字稿;
  2. 把文字稿粘到通义灵码生成对应 ER 图、时序图;
  3. 编码阶段让 Copilot 补 JWT、订单状态机,省掉 40% 敲代码时间。

3. 最小可行购物网站(Spring Boot + Vue)

功能边界:注册登录、商品列表、下单、支付回调、后台改状态。只保留毕业设计必考的核心链路,方便写报告时“有图有真相”。

3.1 项目骨架

shopping-mini/ ├── back/ (Spring Boot 33.1) └── front/ (Vue3 + Vite)

3.2 JWT 鉴权过滤器(back)

@Component @RequiredArgsConstructor public class JwtFilter extends OncePerRequestFilter { private final JwtUtil jwtUtil; private final UserService userService; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException { String token = resolveToken(request); if (token != null && jwtUtil.validate(token)) { String username = jwtUtil.getUsername(token); UserDetails user = userService.loadUserByUsername(username); UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken( user, null, user.getAuthorities()); SecurityContextHolder.getContext().setAuthentication(auth); } chain.doFilter(request, response); } private String resolveToken(HttpServletRequest req) { String bearer = req.getHeader("Authorization"); if (bearer != null && bearer.startsWith("Bearer ")) { return bearer.substring(7); } return null; } }

要点:

  • 利用OncePerRequestFilter保证一次请求只过滤一次;
  • 失败直接放行,后续接口用@PreAuthorize兜底,逻辑更干净。

3.3 订单状态机(back)

public enum OrderState { PENDING_PAY, PAID, SHIPPED, COMPLETED, CANCELLED; public boolean canPay() { return this == PENDING_PAY; } public boolean canShip() { return this == PAID; } public boolean canComplete() { return this == SHIPPED; } public boolean canCancel() { return this == PENDING_PAY || this == PAID; } } @Service @RequiredArgsConstructor public class OrderService { private final OrderRepo repo; @Transactional public void pay(Long orderId) { Order o = repo.findById(orderId).orElseThrow(); if (!o.getState().canPay()) throw new BizException("非法支付"); o.setState(OrderState.PAID); } @Transactional public void ship(Long orderId) { Order o = repo.findById(orderId).orElseThrow(); if (!o.getState().canShip()) throw new BizException("非法发货"); o.setState(OrderState.SHIPPED); } }

状态机把“能不能做”封装进枚举,Service 只看业务,不写if-else堆成山。

3.4 Vue 端调用示例(front)

// api/order.js import axios from '@/utils/request' export function payOrder(id) { return axios.post(`/order/${id}/pay`) } // views/Order.vue const handlePay = async () => { await payOrder(props.orderId) ElMessage.success('支付成功') emit('refresh') }

4. 让 AI 帮你写报告,但别当甩手掌柜

步骤拆解:

  1. 把“需求段落”喂给 Claude,让它先生成 300 字中文概述;
  2. 将概述粘到通义灵码“论文助手”,选“系统设计”模板,自动生成 4 级标题:架构图、时序图、类图、数据库设计;
  3. 把生成的 PlantUML 粘到 PlantUML 在线 导出高清 PNG,插回 Word;
  4. 测试用例、安全性分析同理,先给 AI 关键词“输入合法性、越权、SQL 注入、XSS”,让它按学校格式列 1.2.3.,再人工补真实数据。

这样,报告 80% 框架 AI 搞定,留下 20% 人工润色,既保证学术规范,也避免“查重”飘红。

5. 性能与安全:AI 写的代码也要过安检

  • SQL 注入:让 AI 用 JPA / MyBatis-Plus 的Example@Query写法,禁止拼接字符串;
  • XSS:Vue 默认转义,后台富文本用 Jsoup 白名单过滤;
  • 状态机幂等:在OrderState加锁版本号,AI 容易忽略,需要手动补上;
  • 性能:AI 常给出 N+1 查询,打开spring.jpa.properties.hibernate.show_sql=true,看到多余语句就加@EntityGraph
  • 敏感操作日志:AI 不记得写“谁点了发货”,在OrderService.ship()里手动加@Log("订单发货")

一句话:AI 是高速打字机,安全与性能仍是程序员的责任。

6. 避坑指南

  • 人工 Review 不可省:AI 会把别人的 GitHub 代码原样拼过来,查重系统一眼识破;
  • 逻辑一致性检查:AI 可能前端给你axios.put,后端却生成@PostMapping,跑不通还找不到原因;
  • 引用文献自己找:AI 会“编”出一篇看起来正规的论文,其实 DOI 不存在;
  • 别让 AI 决定架构:它爱用“微服务”这个词,毕业设计真拆成 5 个服务,服务器跑不动,老师也不会给你高分;
  • 每完成一个模块,git commit 写清楚“AI 生成 / 人工修改”,方便回滚,也体现过程分。

7. 交付演示:把 AI 当 Pair,而不是枪手

答辩时老师最爱问:“这段订单状态为什么要加版本号?”
如果你一句“AI 写的”甩锅,现场气氛直接零下。
正确姿势是:先让 AI 给出方案,自己再查《Java 并发实践》补理论,最后把“乐观锁防止并发修改”写在报告里——既展示工程能力,也体现你理解原理。

8. 思考题:AI 生成的毕业设计,如何体现个人工程能力?

  1. 重构一个 AI 生成的模块,比如把“一口价”改成“阶梯优惠”,用策略模式替换if-else
  2. 在报告里加“迭代记录”附录,放三张截图:AI 初版 → 你的重构 → 单元测试通过;
  3. 性能压测:把 AI 写的联表查询从 1200 ms 压到 180 ms,写清加索引、改 SQL、缓存三步曲。

动手改一行代码,比让 AI 写十页报告更能证明你是合格工程师。

祝各位毕业顺利,把 AI 当加速器,别当驾驶座。代码跑通、报告胶装那一刻,你会感谢那个“又写又改”的自己。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 0:39:34

Clawdbot低代码开发:与钉钉宜搭平台整合

Clawdbot低代码开发:与钉钉宜搭平台整合实战指南 1. 引言:低代码时代的企业自动化需求 在数字化转型浪潮中,企业面临两大核心挑战:一是业务需求快速变化,传统开发模式响应迟缓;二是技术人才短缺&#xff…

作者头像 李华
网站建设 2026/5/11 3:39:29

ChatGPT Apple客户端安装指南:AI辅助开发实战与性能优化

ChatGPT Apple客户端安装指南:AI辅助开发实战与性能优化 背景与痛点:为什么“装得上”≠“跑得快” 把 ChatGPT 装进 iPhone/iPad 听起来只是“下个 App”的事,真正动手做客户端才发现坑不少: 官方没有开源 Swift SDK&#xff…

作者头像 李华
网站建设 2026/5/11 5:03:57

SenseVoice Small模型轻量化分析:仅280MB参数量实现SOTA级中文识别

SenseVoice Small模型轻量化分析:仅280MB参数量实现SOTA级中文识别 1. 为什么是SenseVoice Small?轻量不等于将就 语音识别技术发展多年,但真正能在普通显卡甚至消费级GPU上跑得又快又准的中文模型,一直不多。很多开源方案要么体…

作者头像 李华
网站建设 2026/5/11 5:03:59

高效管理模组:新手必备的ModMaster Pro全功能指南

高效管理模组:新手必备的ModMaster Pro全功能指南 【免费下载链接】IronyModManager Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV 项目地址: https://gitcode.com/gh_mirrors/ir/IronyModManager 模组管理工具是每一位…

作者头像 李华
网站建设 2026/5/10 16:05:05

音乐流派分类实战:用ccmusic-database/music_genre打造个人音乐库

音乐流派分类实战:用ccmusic-database/music_genre打造个人音乐库 你是否曾面对硬盘里上千首未分类的MP3文件发愁?是否想快速整理出自己的爵士收藏、电子歌单或古典合集,却苦于手动打标签太耗时?又或者,你刚下载了一堆…

作者头像 李华