566 lines
12 KiB
Markdown
566 lines
12 KiB
Markdown
# Java后台管理系统原子任务拆分
|
||
|
||
## 任务依赖关系图
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[T1: 项目初始化] --> B[T2: 数据库设计]
|
||
A --> C[T3: 后端基础框架]
|
||
|
||
B --> D[T4: 用户实体和Mapper]
|
||
C --> D
|
||
|
||
D --> E[T5: Spring Security配置]
|
||
E --> F[T6: JWT工具类实现]
|
||
|
||
F --> G[T7: 认证Controller]
|
||
D --> H[T8: 用户管理Service]
|
||
|
||
G --> I[T9: 用户管理Controller]
|
||
H --> I
|
||
|
||
B --> J[T10: 角色菜单实体设计]
|
||
J --> K[T11: 角色管理功能]
|
||
J --> L[T12: 菜单管理功能]
|
||
|
||
K --> M[T13: 权限控制实现]
|
||
L --> M
|
||
|
||
M --> N[T14: 前端项目初始化]
|
||
N --> O[T15: 登录页面实现]
|
||
N --> P[T16: 主布局组件]
|
||
|
||
O --> Q[T17: 用户管理页面]
|
||
P --> Q
|
||
|
||
Q --> R[T18: 角色管理页面]
|
||
R --> S[T19: 菜单管理页面]
|
||
|
||
S --> T[T20: 系统集成测试]
|
||
```
|
||
|
||
## 原子任务详细定义
|
||
|
||
### T1: 项目初始化
|
||
**输入契约:**
|
||
- 前置依赖: 无
|
||
- 输入数据: 项目需求规范
|
||
- 环境依赖: JDK 8+, Node.js 16+, MySQL 8.0
|
||
|
||
**输出契约:**
|
||
- 输出数据: 项目骨架代码
|
||
- 交付物:
|
||
- Maven后端项目结构
|
||
- Vite前端项目结构
|
||
- 基础配置文件
|
||
- 验收标准: 项目可以启动,无编译错误
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Boot 2.7+ + Vue3 + Vite
|
||
- 接口规范: RESTful API设计
|
||
- 质量要求: 遵循项目命名规范
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T2, T3
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T2: 数据库设计
|
||
**输入契约:**
|
||
- 前置依赖: T1项目初始化
|
||
- 输入数据: 数据库表结构设计
|
||
- 环境依赖: MySQL 8.0运行环境
|
||
|
||
**输出契约:**
|
||
- 输出数据: 数据库表结构和初始数据
|
||
- 交付物:
|
||
- SQL建表脚本
|
||
- 初始化数据脚本
|
||
- 数据库连接配置
|
||
- 验收标准: 数据库创建成功,表结构符合设计,可正常连接
|
||
|
||
**实现约束:**
|
||
- 技术栈: MySQL 8.0
|
||
- 质量要求: 表结构规范,字段约束完整
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T4, T10
|
||
- 并行任务: T3
|
||
|
||
---
|
||
|
||
### T3: 后端基础框架
|
||
**输入契约:**
|
||
- 前置依赖: T1项目初始化
|
||
- 输入数据: Spring Boot项目配置
|
||
- 环境依赖: JDK 8+, Maven
|
||
|
||
**输出契约:**
|
||
- 输出数据: Spring Boot应用框架
|
||
- 交付物:
|
||
- 基础配置类
|
||
- 全局异常处理
|
||
- 通用响应格式
|
||
- CORS配置
|
||
- 验收标准: 应用可启动,基础配置生效
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Boot 2.7+, MyBatis-Plus
|
||
- 接口规范: 统一响应格式
|
||
- 质量要求: 配置合理,可扩展性好
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T4, T5
|
||
- 并行任务: T2
|
||
|
||
---
|
||
|
||
### T4: 用户实体和Mapper
|
||
**输入契约:**
|
||
- 前置依赖: T2数据库设计, T3后端框架
|
||
- 输入数据: 用户表结构定义
|
||
- 环境依赖: MyBatis-Plus依赖
|
||
|
||
**输出契约:**
|
||
- 输出数据: 用户数据访问层
|
||
- 交付物:
|
||
- User实体类
|
||
- UserMapper接口
|
||
- UserMapper.xml映射文件
|
||
- 基础CRUD方法
|
||
- 验收标准: 数据库操作正常,单元测试通过
|
||
|
||
**实现约束:**
|
||
- 技术栈: MyBatis-Plus
|
||
- 质量要求: 实体映射准确,方法命名规范
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T5, T8
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T5: Spring Security配置
|
||
**输入契约:**
|
||
- 前置依赖: T3后端框架, T4用户实体
|
||
- 输入数据: 安全配置需求
|
||
- 环境依赖: Spring Security依赖
|
||
|
||
**输出契约:**
|
||
- 输出数据: 安全配置和认证机制
|
||
- 交付物:
|
||
- SecurityConfig配置类
|
||
- UserDetailsService实现
|
||
- 密码编码器配置
|
||
- 权限访问控制
|
||
- 验收标准: 安全配置生效,认证流程正常
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Security
|
||
- 接口规范: JWT认证方式
|
||
- 质量要求: 安全性高,配置合理
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T6
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T6: JWT工具类实现
|
||
**输入契约:**
|
||
- 前置依赖: T5 Spring Security配置
|
||
- 输入数据: JWT配置参数
|
||
- 环境依赖: JWT相关依赖
|
||
|
||
**输出契约:**
|
||
- 输出数据: JWT工具类和过滤器
|
||
- 交付物:
|
||
- JwtUtils工具类
|
||
- JwtAuthenticationFilter过滤器
|
||
- Token生成和验证方法
|
||
- 验收标准: Token生成验证正常,过期机制有效
|
||
|
||
**实现约束:**
|
||
- 技术栈: jjwt库
|
||
- 质量要求: 安全性高,性能良好
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T7
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T7: 认证Controller
|
||
**输入契约:**
|
||
- 前置依赖: T6 JWT工具类
|
||
- 输入数据: 认证接口需求
|
||
- 环境依赖: Spring Web依赖
|
||
|
||
**输出契约:**
|
||
- 输出数据: 认证API接口
|
||
- 交付物:
|
||
- AuthController控制器
|
||
- 登录接口实现
|
||
- 登出接口实现
|
||
- 用户信息获取接口
|
||
- 验收标准: 接口响应正常,登录流程完整
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring MVC
|
||
- 接口规范: RESTful设计
|
||
- 质量要求: 参数验证完整,异常处理规范
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T9
|
||
- 并行任务: T8
|
||
|
||
---
|
||
|
||
### T8: 用户管理Service
|
||
**输入契约:**
|
||
- 前置依赖: T4用户实体和Mapper
|
||
- 输入数据: 业务逻辑需求
|
||
- 环境依赖: Spring容器
|
||
|
||
**输出契约:**
|
||
- 输出数据: 用户业务逻辑层
|
||
- 交付物:
|
||
- UserService接口
|
||
- UserServiceImpl实现类
|
||
- 用户CRUD业务方法
|
||
- 参数验证和业务校验
|
||
- 验收标准: 业务逻辑正确,异常处理完善
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Service
|
||
- 质量要求: 业务逻辑清晰,代码可维护
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T9
|
||
- 并行任务: T7
|
||
|
||
---
|
||
|
||
### T9: 用户管理Controller
|
||
**输入契约:**
|
||
- 前置依赖: T7认证Controller, T8用户管理Service
|
||
- 输入数据: 用户管理接口需求
|
||
- 环境依赖: Spring Security权限控制
|
||
|
||
**输出契约:**
|
||
- 输出数据: 用户管理API
|
||
- 交付物:
|
||
- UserController控制器
|
||
- 用户查询接口
|
||
- 用户新增/编辑/删除接口
|
||
- 分页查询实现
|
||
- 验收标准: 接口功能完整,权限控制有效
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring MVC
|
||
- 接口规范: RESTful API
|
||
- 质量要求: 接口设计合理,响应格式统一
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T17
|
||
- 并行任务: T10
|
||
|
||
---
|
||
|
||
### T10: 角色菜单实体设计
|
||
**输入契约:**
|
||
- 前置依赖: T2数据库设计
|
||
- 输入数据: 角色菜单表结构
|
||
- 环境依赖: MyBatis-Plus
|
||
|
||
**输出契约:**
|
||
- 输出数据: 角色菜单数据访问层
|
||
- 交付物:
|
||
- Role实体类
|
||
- Menu实体类
|
||
- RoleMapper和MenuMapper
|
||
- 关联查询方法
|
||
- 验收标准: 实体映射正确,关联查询正常
|
||
|
||
**实现约束:**
|
||
- 技术栈: MyBatis-Plus
|
||
- 质量要求: 实体关系准确,查询效率高
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T11, T12
|
||
- 并行任务: T9
|
||
|
||
---
|
||
|
||
### T11: 角色管理功能
|
||
**输入契约:**
|
||
- 前置依赖: T10角色菜单实体
|
||
- 输入数据: 角色管理业务需求
|
||
- 环境依赖: Spring框架
|
||
|
||
**输出契约:**
|
||
- 输出数据: 角色管理功能模块
|
||
- 交付物:
|
||
- RoleService业务层
|
||
- RoleController控制器
|
||
- 角色权限分配功能
|
||
- 验收标准: 角色CRUD正常,权限分配有效
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Boot
|
||
- 质量要求: 业务逻辑完整,权限控制准确
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T13
|
||
- 并行任务: T12
|
||
|
||
---
|
||
|
||
### T12: 菜单管理功能
|
||
**输入契约:**
|
||
- 前置依赖: T10角色菜单实体
|
||
- 输入数据: 菜单管理业务需求
|
||
- 环境依赖: Spring框架
|
||
|
||
**输出契约:**
|
||
- 输出数据: 菜单管理功能模块
|
||
- 交付物:
|
||
- MenuService业务层
|
||
- MenuController控制器
|
||
- 树形菜单查询功能
|
||
- 验收标准: 菜单CRUD正常,树形结构正确
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Boot
|
||
- 质量要求: 树形数据处理正确,查询效率高
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T13
|
||
- 并行任务: T11
|
||
|
||
---
|
||
|
||
### T13: 权限控制实现
|
||
**输入契约:**
|
||
- 前置依赖: T11角色管理, T12菜单管理
|
||
- 输入数据: RBAC权限模型
|
||
- 环境依赖: Spring Security
|
||
|
||
**输出契约:**
|
||
- 输出数据: 完整的权限控制系统
|
||
- 交付物:
|
||
- 权限注解支持
|
||
- 动态权限验证
|
||
- 菜单权限过滤
|
||
- 验收标准: 权限控制生效,安全验证通过
|
||
|
||
**实现约束:**
|
||
- 技术栈: Spring Security
|
||
- 质量要求: 权限控制准确,性能良好
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T14
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T14: 前端项目初始化
|
||
**输入契约:**
|
||
- 前置依赖: T13后端权限完成
|
||
- 输入数据: 前端技术栈需求
|
||
- 环境依赖: Node.js 16+
|
||
|
||
**输出契约:**
|
||
- 输出数据: Vue3项目框架
|
||
- 交付物:
|
||
- Vite项目配置
|
||
- Element Plus UI配置
|
||
- Axios HTTP配置
|
||
- 路由和状态管理配置
|
||
- 验收标准: 项目可启动,基础配置生效
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Vite + Element Plus
|
||
- 质量要求: 配置合理,项目结构清晰
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T15, T16
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T15: 登录页面实现
|
||
**输入契约:**
|
||
- 前置依赖: T14前端项目初始化
|
||
- 输入数据: 登录页面设计
|
||
- 环境依赖: Vue3组件环境
|
||
|
||
**输出契约:**
|
||
- 输出数据: 登录功能页面
|
||
- 交付物:
|
||
- 登录页面组件
|
||
- 表单验证逻辑
|
||
- 登录API调用
|
||
- 路由跳转控制
|
||
- 验收标准: 登录功能正常,用户体验良好
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Element Plus
|
||
- 质量要求: 界面美观,交互流畅
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T17
|
||
- 并行任务: T16
|
||
|
||
---
|
||
|
||
### T16: 主布局组件
|
||
**输入契约:**
|
||
- 前置依赖: T14前端项目初始化
|
||
- 输入数据: 布局设计需求
|
||
- 环境依赖: Vue3组件系统
|
||
|
||
**输出契约:**
|
||
- 输出数据: 管理系统主布局
|
||
- 交付物:
|
||
- Layout主布局组件
|
||
- 侧边栏菜单组件
|
||
- 顶部导航组件
|
||
- 面包屑组件
|
||
- 验收标准: 布局响应式,菜单展示正常
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Element Plus
|
||
- 质量要求: 响应式设计,组件复用性好
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T17
|
||
- 并行任务: T15
|
||
|
||
---
|
||
|
||
### T17: 用户管理页面
|
||
**输入契约:**
|
||
- 前置依赖: T15登录页面, T16主布局, T9后端用户API
|
||
- 输入数据: 用户管理页面需求
|
||
- 环境依赖: 完整的前后端环境
|
||
|
||
**输出契约:**
|
||
- 输出数据: 用户管理功能页面
|
||
- 交付物:
|
||
- 用户列表页面
|
||
- 用户新增/编辑表单
|
||
- 搜索和分页功能
|
||
- 数据表格组件
|
||
- 验收标准: 用户CRUD功能完整,界面交互良好
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Element Plus
|
||
- 质量要求: 功能完整,用户体验佳
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T18
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T18: 角色管理页面
|
||
**输入契约:**
|
||
- 前置依赖: T17用户管理页面, T11后端角色API
|
||
- 输入数据: 角色管理页面需求
|
||
- 环境依赖: 前端基础组件
|
||
|
||
**输出契约:**
|
||
- 输出数据: 角色管理功能页面
|
||
- 交付物:
|
||
- 角色列表页面
|
||
- 角色权限分配页面
|
||
- 权限树形选择组件
|
||
- 验收标准: 角色管理功能完整,权限分配正常
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Element Plus
|
||
- 质量要求: 权限选择界面友好
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T19
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T19: 菜单管理页面
|
||
**输入契约:**
|
||
- 前置依赖: T18角色管理页面, T12后端菜单API
|
||
- 输入数据: 菜单管理页面需求
|
||
- 环境依赖: 树形组件支持
|
||
|
||
**输出契约:**
|
||
- 输出数据: 菜单管理功能页面
|
||
- 交付物:
|
||
- 菜单树形管理页面
|
||
- 菜单新增/编辑表单
|
||
- 图标选择组件
|
||
- 验收标准: 菜单管理功能完整,树形操作流畅
|
||
|
||
**实现约束:**
|
||
- 技术栈: Vue3 + Element Plus
|
||
- 质量要求: 树形界面易用,功能完善
|
||
|
||
**依赖关系:**
|
||
- 后置任务: T20
|
||
- 并行任务: 无
|
||
|
||
---
|
||
|
||
### T20: 系统集成测试
|
||
**输入契约:**
|
||
- 前置依赖: T19所有功能页面完成
|
||
- 输入数据: 完整的系统功能
|
||
- 环境依赖: 完整的开发和测试环境
|
||
|
||
**输出契约:**
|
||
- 输出数据: 测试报告和部署包
|
||
- 交付物:
|
||
- 系统集成测试用例
|
||
- 功能测试报告
|
||
- 系统部署文档
|
||
- 可运行的系统包
|
||
- 验收标准: 所有功能测试通过,系统可稳定运行
|
||
|
||
**实现约束:**
|
||
- 质量要求: 测试覆盖完整,文档详细
|
||
|
||
**依赖关系:**
|
||
- 后置任务: 无
|
||
- 并行任务: 无
|
||
|
||
## 复杂度评估
|
||
|
||
### 高复杂度任务 (5-8小时)
|
||
- T5: Spring Security配置
|
||
- T13: 权限控制实现
|
||
- T16: 主布局组件
|
||
- T20: 系统集成测试
|
||
|
||
### 中复杂度任务 (3-5小时)
|
||
- T3: 后端基础框架
|
||
- T6: JWT工具类实现
|
||
- T11: 角色管理功能
|
||
- T12: 菜单管理功能
|
||
- T14: 前端项目初始化
|
||
- T17: 用户管理页面
|
||
- T18: 角色管理页面
|
||
- T19: 菜单管理页面
|
||
|
||
### 低复杂度任务 (1-3小时)
|
||
- T1: 项目初始化
|
||
- T2: 数据库设计
|
||
- T4: 用户实体和Mapper
|
||
- T7: 认证Controller
|
||
- T8: 用户管理Service
|
||
- T9: 用户管理Controller
|
||
- T10: 角色菜单实体设计
|
||
- T15: 登录页面实现
|
||
|
||
**✅ 任务拆分完成,满足原子化要求:任务覆盖完整需求、依赖关系无循环、每个任务都可独立验证、复杂度评估合理** |