交付清单 — Team A 需求分析师
里程碑信息
- 阶段: 需求分析
- 里程碑编号: milestone-1
- 提交时间: 2026-05-30 17:30
- 负责团队: Team A
交付产物
| 序号 |
文件路径 |
说明 |
覆盖度检查 |
核心内容摘要 |
| 1 |
deliveries/team-a-requirement/spec.md |
阶段一需求规格 |
模块数: 4/4, 功能点: 20/20 |
系统管理、用户认证、首页与行情、审核框架 |
| 2 |
deliveries/team-a-requirement/use-cases.md |
阶段一用例文档 |
用例数: 18/18, 覆盖功能点: 20/20 |
系统管理4用例、用户认证8用例、首页4用例、审核2用例 |
| 3 |
deliveries/team-a-requirement/constraints.md |
阶段一约束条件 |
约束类别: 8/8 |
技术、安全、业务、性能、兼容性、数据、接口、测试 |
| 4 |
deliveries/team-a-requirement/DELIVERY-MANIFEST.md |
本交付清单 |
- |
交付物清单、关键信息、问题反馈 |
修改文件清单
| 序号 |
文件路径 |
操作类型 |
说明 |
| 1 |
deliveries/team-a-requirement/spec.md |
新增 |
阶段一需求规格文档 |
| 2 |
deliveries/team-a-requirement/use-cases.md |
新增 |
阶段一用例文档 |
| 3 |
deliveries/team-a-requirement/constraints.md |
新增 |
阶段一约束条件文档 |
| 4 |
deliveries/team-a-requirement/DELIVERY-MANIFEST.md |
新增 |
本交付清单 |
交付说明
本次交付为阶段一(基础设施与用户体系)的需求分析成果,基于已有的需求规格说明书(requirements-specification.md)提取和细化。
核心内容
系统管理模块(6个功能点)
- 角色管理:系统预置8种角色,RBAC权限模型
- 账号管理:管理员账号增删改查,BCrypt密码加密
- 权限管理:菜单+按钮级权限控制
- 字典管理:苹果品种、工种、农资种类、行政区划
- 操作日志:管理员操作行为记录
- 数据初始化:基础字典数据导入
用户认证模块(8个功能点)
- 微信登录:code→openid→JWT token
- 后台登录:用户名+密码→JWT token
- 身份路由:根据身份数量决定跳转逻辑
- 用户信息查询:基本信息+脱敏手机号
- 用户状态管理:正常/禁用/锁定
- 手机号加密存储:AES加密+SHA256哈希
- 身份绑定:为用户绑定果农/工人/客商/农资商身份
- 管理员创建用户:后台创建用户账号
首页与行情模块(4个功能点)
- 果农首页:问候语+今日行情+金刚区
- 工人首页:推荐招工+附近招工列表
- 客商首页:今日行情+货源推荐
- 农资商首页:店铺概览+快捷入口
审核基础框架(2个功能点)
- 审核流程:通用审核框架,支持通过/驳回
- 审核列表:待审核列表查看和筛选
给下游团队的关键信息
关键决策
- 认证方案: 采用 JWT Token 认证,小程序端有效期24小时,后台端8小时
- 权限模型: RBAC(用户→角色→权限),默认拒绝,显式授权
- 手机号存储: AES加密存储明文,SHA256哈希用于查询索引
- 身份模型: 一人多职,user_identity 表关联,数据隔离通过 user_identity_id
- 字典管理: 系统内置字典不可删除,仅可扩展
隐含约束
- 数据库必须使用 MySQL 5.7+(客户环境限制)
- Spring Boot 版本固定 1.5.9(兼容性要求)
- MyBatis XML 必须使用 #{} 参数化(防SQL注入)
- 手机号接口返回必须脱敏(隐私保护)
- 审核 SLA: ≤24小时提醒,48小时升级(业务要求)
特别注意
- 身份路由逻辑: 0个身份→提示联系村委会,1个身份→直接进入,N个身份→选择页
- 密码锁定机制: 连续5次错误锁定30分钟
- 操作日志: 敏感操作(删除、权限变更、状态变更)必须记录
- 字典初始化: 系统首次启动需导入基础字典数据
对上团队的问题
无。需求规格文档(requirements-specification.md)已完整覆盖阶段一所有功能点。
待确认事项
- 行政区划数据: 洒渔镇下辖村的实际数据需要用户提供
- 超级管理员初始密码: 建议 admin/admin123,首次登录强制修改
- 天气数据接口: 果农首页天气功能是否需要接入第三方API?