98 lines
3.0 KiB
Markdown
98 lines
3.0 KiB
Markdown
# Java后台管理系统需求对齐文档
|
||
|
||
## 项目上下文分析
|
||
|
||
### 现有项目状态
|
||
- **项目结构**: 全新空项目,仅有CLAUDE.md配置文件
|
||
- **技术栈**: 待定(基于Java)
|
||
- **架构模式**: 待定
|
||
- **依赖关系**: 无现有依赖
|
||
|
||
### 现有代码模式
|
||
- 无现有代码,将从零开始构建
|
||
|
||
### 业务域理解
|
||
- 后台管理系统(Admin Management System)
|
||
- 通用管理功能需求
|
||
|
||
## 原始需求
|
||
**用户需求**: "用java实现一个后台管理系统"
|
||
|
||
## 边界确认(任务范围)
|
||
|
||
### 明确范围内容
|
||
- 基于Java语言开发
|
||
- 后台管理系统核心功能
|
||
- 基础的管理操作界面
|
||
|
||
### 需要明确的边界
|
||
- 具体管理什么业务对象?(用户、商品、订单等)
|
||
- 系统规模和复杂度要求
|
||
- 部署方式和环境要求
|
||
- 是否需要前端界面?
|
||
|
||
## 需求理解(技术实现)
|
||
|
||
### 推测的技术栈选择
|
||
- **后端框架**: Spring Boot (主流Java后端框架)
|
||
- **数据库**: MySQL + MyBatis/JPA
|
||
- **前端**: 可选Thymeleaf模板引擎或前后端分离
|
||
- **构建工具**: Maven
|
||
- **部署**: 可打包为jar独立运行
|
||
|
||
## 疑问澄清(存在歧义的地方)
|
||
|
||
### 高优先级问题
|
||
1. **业务领域**: 具体要管理什么?建议通用的用户和角色管理系统
|
||
2. **技术选型**: Spring Boot技术栈是否合适?
|
||
3. **前端需求**: 是否需要完整的Web界面?建议包含基础管理页面
|
||
4. **数据库**: 推荐MySQL,是否同意?
|
||
5. **认证授权**: 是否需要登录和权限控制?建议包含
|
||
|
||
### 中优先级问题
|
||
1. **系统规模**: 单体应用还是微服务?建议单体应用
|
||
2. **API设计**: RESTful API设计标准
|
||
3. **数据验证**: 表单验证和数据校验策略
|
||
4. **异常处理**: 全局异常处理机制
|
||
|
||
### 低优先级问题
|
||
1. **日志记录**: 操作日志记录方案
|
||
2. **性能优化**: 缓存和分页策略
|
||
3. **测试策略**: 单元测试覆盖范围
|
||
4. **文档生成**: API文档自动生成
|
||
|
||
## 推荐的默认决策
|
||
|
||
基于行业标准和最佳实践,建议以下默认配置:
|
||
|
||
### 核心功能模块
|
||
1. **用户管理**: 用户CRUD、状态管理
|
||
2. **角色管理**: 角色权限分配
|
||
3. **菜单管理**: 动态菜单配置
|
||
4. **系统监控**: 基础的系统状态监控
|
||
5. **操作日志**: 关键操作审计记录
|
||
|
||
### 技术栈确认
|
||
- **Spring Boot 2.7+** + **Spring Security**
|
||
- **MySQL 8.0** + **MyBatis-Plus**
|
||
- **Thymeleaf** 模板引擎(提供基础管理界面)
|
||
- **Maven** 构建管理
|
||
- **Swagger** API文档
|
||
|
||
### 项目结构
|
||
```
|
||
src/main/java/
|
||
├── controller/ # 控制器层
|
||
├── service/ # 业务逻辑层
|
||
├── mapper/ # 数据访问层
|
||
├── entity/ # 实体类
|
||
├── dto/ # 数据传输对象
|
||
├── config/ # 配置类
|
||
└── common/ # 公共工具类
|
||
|
||
src/main/resources/
|
||
├── templates/ # 页面模板
|
||
├── static/ # 静态资源
|
||
├── mapper/ # MyBatis映射文件
|
||
└── application.yml # 配置文件
|
||
``` |