5. 功能需求规格
5.1 核心功能模块列表
- 账户与身份认证模块
- AI 模拟面试模块
- 简历解析与优化模块
- 商品与订单支付模块
- 后台管理与数据模块
以下按模块分别描述需求、用户操作与关键流程。
5.2 账户与身份认证模块
5.2.1 功能描述
- 用户注册:手机号 + 验证码
- 用户登录:短信验证码 / 微信登录
- 个人信息维护:昵称、目标岗位、工作年限等
- 权益信息查看:剩余面试次数、简历解析次数
5.2.2 用户故事
- US-ACC-01:作为求职者,我希望通过手机号和验证码快速注册/登录,便于在不同设备上使用
- US-ACC-02:作为求职者,我希望支持微信扫码登录,简化登录流程
- US-ACC-03:作为求职者,我希望在个人中心实时看到我的权益(如剩余模拟面试次数),便于规划使用
5.2.3 业务流程图(示意)
登录流程:
用户 → 前端 → Gateway → account-service → 阿里云短信
流程说明:
用户请求验证码 → 系统调用短信服务发送 → 用户输入验证码登录 → 生成 Token 返回
5.3 AI 模拟面试模块
5.3.1 业务流程(流程步骤)
- 用户调用
/interview/start发起面试 ai-service调用account-service校验权益- 调用
aimcp-service获取题目 - 用户逐题回答,
ai-service调用大模型评分并记录 - 面试结束生成报告并返回
5.4 简历解析与优化模块
5.4.1 功能描述
- 支持上传多种格式简历文件
- 将简历内容解析为结构化信息(基本信息、教育、工作、项目、技能等)
- 对简历进行质量评分,并生成优化建议
5.4.2 用户故事
- US-RES-01:作为求职者,我希望上传现有简历,系统自动解析内容,减少重复填写
- US-RES-02:作为求职者,我希望获得简历评分和优化建议,以便针对性修改
5.4.3 业务流程图(简历解析)
用户 → 前端 ↔ Gateway ↔ ai-service ↔ OSS 存储
↕
aimcp-service ↔ 大模型服务
5.5 商品与订单支付模块
5.5.1 功能描述
- 商品管理:套餐配置、商品上架与下架
- 订单创建与支付:订单创建、支付参数生成
- 支付回调处理:支付回调、订单状态更新、权益发放
- 订单查询:订单查询与列表展示
5.5.2 用户故事
- US-PROD-01:作为求职者,我希望在商品列表中看到不同套餐的价格和可用次数,以便做出选择
- US-PROD-02:作为求职者,我希望在支付完成后,能够立即看到我的权益已经到账
5.5.3 业务流程图:下单支付
用户 → 前端 → Gateway ↔ product-service ↔ 微信支付
↓
RabbitMQ(回调/发放权益)
↕
account-service
5.6 后台管理与数据模块
5.6.1 功能描述
- 管理员账号登录
- 商品与套餐配置管理
- 用户与权益信息查看、手工调整
- 订单与营收基础报表
5.6.2 用户故事
- US-ADM-01:作为运营人员,我希望在后台配置不同的套餐和价格
- US-ADM-02:作为客服人员,我希望在用户投诉或反馈时,能查看相关订单和权益,并进行补偿操作
5.7 用例图
求职者:
- 进行模拟面试
- 上传并解析简历
- 购买套餐并支付
- 查看面试报告与历史记录
运营/管理员:
- 配置商品与价格
- 查看用户与权益信息
- 查看订单与统计报表
6. 非功能需求
6.1 性能指标
响应时间:
- 一般接口 95% 响应时间 ≤ 300ms
- AI 接口 95% 响应时间 ≤ 60s
并发支持:
- 初期目标 QPS 200(可通过水平扩展提升)
6.2 安全要求
- 统一认证与授权(JWT + Gateway)
- 敏感信息加密存储(如用户手机号、第三方密钥)
- 与第三方服务通信使用 HTTPS
- 后台管理接口需有严格权限控制和 IP/网络限制
6.3 可用性与容错
- 核心服务可用性目标 ≥ 99.5%
- 关键依赖(Redis、MQ、Nacos 等)需有故障转移或快速恢复方案
- AI 服务超时或失败时,应有友好提示和降级方案(例如返回兜底回答或建议稍后重试)
6.4 可扩展性与可维护性
- 通过 Nacos 实现服务注册发现,支持服务横向扩展
- 使用统一的
common模块降低重复代码 - 能通过日志和链路追踪(如 Zipkin/SkyWalking)快速定位问题
6.5 兼容性要求
- 前端支持 Chrome/Edge/Safari 最新版本
- 对外 API 使用 REST 风格,统一版本前缀如
/api/v1,为后续版本演进预留空间
7. 项目约束条件
7.1 技术约束
- 必须采用公司统一技术栈:Spring Boot、Spring Cloud、MyBatis-Plus、MySQL、Redis、RabbitMQ、Nacos
- 大模型接入优先使用阿里云通义千问
- 支付必须基于微信支付 API v3,需要考虑后续拓展
7.2 法规合规
- 遵守个人信息保护相关法律法规:
- 明确告知用户数据使用范围、存储周期、删除机制
- 提供账号注销和数据删除机制
- 对大模型生成内容增加免责声明,避免产生误导性或违法内容
7.3 第三方集成要求
微信开放平台:
- 完成应用注册、审核与回调地址配置
阿里云:
- 配置 OSS、短信、大模型等服务的 AK/SK 与安全策略
通用要求:
- 需要对所有第三方请求做超时控制和重试策略,避免资源浪费和链路阻塞
7.4 数据安全要求
- 数据库访问需做最小权限控制
- 关键操作(支付、发放权益等)需有审计日志
- 备份策略:数据库每天全量备份 + 关键表增量/日志备份
8. 风险评估与应对
8.1 技术风险
大模型不稳定或结果质量不佳
- 应对:增加提示词调优、缓存和兜底文案;必要时支持多模型切换
微服务复杂度提升
- 应对:引入标准化日志与链路追踪,严格控制模块边界
8.2 市场风险
用户付费意愿不足,转化率低
- 应对:增加免费体验、联合校园/培训机构推广,调整定价策略
8.3 资源风险
大模型调用与短信成本较高
- 应对:合理限流与频控,提供套餐限制,监控成本/收益比
人力资源不足导致进度延迟
- 应对:明确优先级(P0/P1/P2),首先保障核心闭环上线
9. 实施计划
9.1 开发里程碑(示例)
| 里程碑 | 时间 | 交付内容 |
|---|---|---|
| M1:需求与设计完成 | 第 1 个月末 | 需求文档与评审通过;架构设计与接口定义完成 |
| M2:核心功能开发完成 | 第 3 个月末 | 账户模块、AI 面试基础流程、简历解析基础、商品与订单支付闭环 |
| M3:后台与数据、优化迭代 | 第 4 个月末 | 后台管理、基础报表、性能与安全优化 |
| M4:联调测试与预发布 | 第 5 个月末 | 功能测试、压力测试、安全测试完成;预发布环境演练 |
| M5:灰度上线与运营试跑 | 第 6 个月内 | 灰度上线与运营试跑 |
9.2 资源需求(示例)
人力:
- 产品经理 1 名
- 全栈 AI 工程师 2-3 名
- 测试工程师 1 名(可兼职)
- 运维/DevOps 1 名(可兼职)
基础设施:
- 云服务器若干、MySQL 集群、Redis、RabbitMQ、Nacos、日志与监控组件
9.3 验收标准(整体)
功能维度:
- 本文档中列出的 P0 级核心功能全部实现,且通过测试用例验证
非功能维度:
- 性能指标达标(关键接口响应时间与 QPS)、可用性符合目标
商业与运营维度:
- 完成至少一条真实用户路径验证:注册 → 免费体验 → 购买 → 使用付费功能 → 查看报告
稳定性维度:
- 在预定的压力测试场景下运行稳定,无严重内存泄漏或接口雪崩问题