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 业务流程(流程步骤)
  1. 用户调用 /interview/start 发起面试
  2. ai-service 调用 account-service 校验权益
  3. 调用 aimcp-service 获取题目
  4. 用户逐题回答,ai-service 调用大模型评分并记录
  5. 面试结束生成报告并返回

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)、可用性符合目标

商业与运营维度:

  • 完成至少一条真实用户路径验证:注册 → 免费体验 → 购买 → 使用付费功能 → 查看报告

稳定性维度:

  • 在预定的压力测试场景下运行稳定,无严重内存泄漏或接口雪崩问题
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐