12 KiB
12 KiB
Java后台管理系统原子任务拆分
任务依赖关系图
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: 登录页面实现
✅ 任务拆分完成,满足原子化要求:任务覆盖完整需求、依赖关系无循环、每个任务都可独立验证、复杂度评估合理