毕业设计项目生成器
从需求文档自动生成完整的毕业设计项目,包括设计方案和代码实现。
工作流程
code
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 1. 读取文档 │ ──▶ │ 2. 生成设计 │ ──▶ │ 3. 生成代码 │ │ Word/PDF/图片 │ │ 用户确认设计 │ │ 阿里巴巴规范 │ └─────────────────┘ └─────────────────┘ └─────────────────┘
重要原则:每个阶段完成后需用户确认,再进入下一阶段。
阶段一:读取需求文档
支持的文件格式
| 格式 | 读取方式 | 适用内容 |
|---|---|---|
| Word (.docx) | 直接读取 | 需求说明书、开题报告 |
| 直接读取 | 需求文档、参考资料 | |
| 图片 (.png/.jpg) | 直接读取 | 原型图、流程图、ER图 |
| Markdown | 直接读取 | 需求描述 |
执行步骤
- •询问用户需求文档所在目录
- •列出目录中的所有相关文件
- •依次读取每个文件
- •提取并汇总关键信息
信息提取清单
从文档中提取以下信息:
- •项目名称:系统的完整名称
- •项目背景:为什么要做这个系统
- •用户角色:系统有哪些使用者(如管理员、普通用户)
- •功能模块:系统包含哪些功能模块
- •功能需求:每个模块的具体功能点
- •业务流程:关键业务的流程描述
- •技术要求:指定的技术栈或框架
- •非功能需求:性能、安全等要求
输出格式
markdown
## 需求分析报告 ### 1. 项目概述 - 项目名称:XXX系统 - 项目背景:... ### 2. 用户角色 - 管理员:... - 普通用户:... ### 3. 功能模块 | 模块 | 功能点 | 说明 | |------|--------|------| | ... | ... | ... | ### 4. 业务流程 ... ### 5. 技术栈 - 后端:Spring Boot + MyBatis-Plus + MySQL - 前端:Vue3 + Element Plus
完成后询问用户:"需求分析是否正确?是否需要补充或修改?"
阶段二:生成项目设计
用户确认需求后,生成完整的项目设计方案。
2.1 数据库设计
根据功能需求,设计数据库表结构。
设计原则:
- •表名使用小写下划线命名
- •主键统一使用
id,类型BIGINT AUTO_INCREMENT - •外键格式:
关联表_id - •必须包含
create_time和update_time - •金额使用
DECIMAL(10,2) - •状态使用
TINYINT
输出格式:
markdown
## 数据库设计 ### 表清单 | 表名 | 说明 | 主要字段 | |------|------|----------| | user | 用户表 | id, username, password, ... | | ... | ... | ... | ### 表结构详情 #### user 用户表 | 字段 | 类型 | 说明 | |------|------|------| | id | BIGINT | 主键 | | username | VARCHAR(50) | 用户名 | | ... | ... | ... | ### ER关系图(文字描述) - user 1:N order(一个用户有多个订单) - ...
2.2 模块设计
设计系统的模块结构和分层架构。
标准分层:
code
Controller → Service → Mapper → Database
↓ ↓
VO Entity
↑
DTO
输出格式:
markdown
## 模块设计 ### 后端模块 | 模块 | 包名 | 说明 | |------|------|------| | 用户模块 | com.xxx.user | 用户注册、登录、信息管理 | | ... | ... | ... | ### 前端模块 | 模块 | 目录 | 说明 | |------|------|------| | 用户中心 | views/user | 登录、注册、个人中心 | | ... | ... | ... |
2.3 API接口设计
设计RESTful风格的API接口。
设计原则:
- •URL使用小写,单词用短横线分隔
- •使用HTTP方法表示操作:GET查询、POST创建、PUT更新、DELETE删除
- •统一响应格式:
{code, message, data}
输出格式:
markdown
## API接口设计 ### 用户模块 | 方法 | URL | 说明 | |------|-----|------| | POST | /api/user/register | 用户注册 | | POST | /api/user/login | 用户登录 | | GET | /api/user/info | 获取用户信息 | | ... | ... | ... |
设计确认
完成设计后,询问用户:
"以上是项目设计方案,包括数据库设计、模块设计和API设计。请确认:
- •数据库表结构是否满足需求?
- •模块划分是否合理?
- •API接口是否完整?
确认后我将按照阿里巴巴Java开发规范生成代码。"
阶段三:生成代码
用户确认设计后,按照阿里巴巴规范生成代码。
代码规范
遵循阿里巴巴Java开发手册,详见 references/alibaba-java.md
核心规范摘要:
命名规范
| 类型 | 规范 | 示例 |
|---|---|---|
| 类名 | 大驼峰 | UserController |
| 方法名 | 小驼峰 | getUserById |
| 常量 | 全大写下划线 | MAX_PAGE_SIZE |
| 包名 | 全小写 | com.example.user |
分层规范
| 层 | 命名规则 | 职责 |
|---|---|---|
| Controller | XxxController | 接收请求、参数校验 |
| Service | XxxService / XxxServiceImpl | 业务逻辑 |
| Mapper | XxxMapper | 数据库操作 |
| Entity | Xxx | 数据库映射 |
| DTO | XxxDTO | 接收前端参数 |
| VO | XxxVO | 返回前端数据 |
代码生成顺序
- •项目结构 - 创建目录和配置文件
- •实体类 - Entity、DTO、VO
- •数据层 - Mapper接口和XML
- •业务层 - Service接口和实现
- •控制层 - Controller
- •前端页面 - Vue组件
生成策略
- •询问用户想先生成哪个模块
- •每生成一个模块后确认是否继续
- •复杂功能分步骤生成
使用示例
示例对话
用户:帮我做毕业设计,需求文档在 /path/to/docs 目录
助手:
- •读取目录下的所有文档
- •输出需求分析报告
- •询问确认
用户:需求分析正确,继续
助手:
- •生成数据库设计
- •生成模块设计
- •生成API设计
- •询问确认
用户:设计没问题,先生成用户模块
助手:
- •生成用户模块的Entity、Mapper、Service、Controller
- •生成对应的前端页面
- •询问是否继续其他模块
技术栈默认配置
除非用户指定,默认使用以下技术栈:
后端
- •Spring Boot 2.7.x
- •MyBatis-Plus 3.5.x
- •MySQL 8.0
- •Maven
前端
- •Vue 3.x
- •Vite
- •Element Plus
- •Pinia
- •Axios
注意事项
- •循序渐进:每个阶段完成后等待用户确认
- •不要假设:需求不明确时主动询问
- •模块化生成:不要一次性生成所有代码
- •解释设计:说明为什么这样设计
- •可调整:用户可以随时要求修改设计或代码