当前位置: 首页 > news >正文

【Java项目-轻聊】02-AI赋能整理产品需求文档

声明:本文档为项目需求文档,内容由 AI 辅助生成、博主整理优化,仅作本项目开发参考使用。


✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🎯你正在阅读「Java项目-轻聊」系列文章🎯
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

🔥弹简特 个人主页

❄️个人专栏直通车:

  • 💻软件测试入门记
  • 📱野生测试修炼手册 | APP 专项测试笔记
  • 🔌接口测试从入门到跑路
  • 一个后端的 JavaEE 续命指南
  • 🛜网络原理续命手册
  • 🐍Python 从零摸索日记
  • Java项目-轻聊
  • Java项目-企悦抽

靠热爱去书写自己,靠勇敢去书写生活!
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨


🌟 博主简介:



文章目录:

  • 写在最前-项目同步码云
  • 轻聊 · 产品需求文档(PRD)
    • 1. 文档目的
    • 2. 项目背景
      • 2.1 市场/场景背景
      • 2.2 产品定位
      • 2.3 建设目标
      • 2.4 不在本期范围(Out of Scope)
    • 3. 用户与角色
      • 3.1 目标用户
      • 3.2 用户角色定义
      • 3.3 用户画像(简要)
    • 4. 产品信息架构
    • 5. 用户故事(User Stories)
    • 6. 功能需求
      • 6.1 认证与个人
        • FR-AUTH-001 用户注册 【P0】
        • FR-AUTH-002 用户登录 【P0】
        • FR-AUTH-003 退出登录 【P0】
        • FR-AUTH-004 登录态访问控制 【P0】
        • FR-USER-001 个人头像 【P1】
      • 6.2 好友
        • FR-FRIEND-001 好友列表 【P0】
        • FR-FRIEND-002 搜索用户 【P0】
        • FR-FRIEND-003 发送好友请求 【P0】
        • FR-FRIEND-004 处理好友请求 【P0】
      • 6.3 会话与消息
        • FR-SESSION-001 会话列表 【P0】
        • FR-SESSION-002 创建/进入会话 【P0】
        • FR-CHAT-001 实时文字消息 【P0】
        • FR-CHAT-002 历史消息 【P0】
        • FR-CHAT-003 未读提示 【P1】
      • 6.4 系统规则
        • FR-SYS-001 单点在线 【P0】
    • 7. 非功能需求(NFR)
    • 8. 界面与交互需求(UX)
      • 8.1 页面清单
      • 8.2 主界面布局要求
      • 8.3 交互原则

写在最前-项目同步码云

📦 项目源码 | 码云仓库


点击👉 点我看项目同步代码


轻聊 · 产品需求文档(PRD)

属性内容
文档编号PRD-LIGHTCHAT-v1.0
产品名称轻聊
产品版本V1.0(MVP)
文档版本V1.0
文档状态已定稿
撰写角色AI模拟产品经理
目标读者项目经理、开发、测试、UI、业务方

1. 文档目的

本文档定义「轻聊」业务目标、用户价值、功能范围与验收口径,作为研发与测试的唯一业务需求来源


2. 项目背景

2.1 市场/场景背景

即时通讯是高频刚需。网页版微信等产品验证了「浏览器即可沟通、无需安装客户端」的模式,适合JavaEE课设、内网协作、轻量社交等场景。

2.2 产品定位

轻聊是一款面向 Web 端的一对一即时文字聊天产品,交互布局参考网页版微信:左侧会话/好友,右侧聊天区,强调轻量、易部署、易二次开发

2.3 建设目标

目标编号描述衡量方式
G-01用户可完成注册、登录并在浏览器内稳定聊天核心流程通过率 100%
G-02用户可搜索并建立好友关系后再聊天加好友到首条消息 ≤3 分钟(体验)
G-03消息实时送达且刷新后可查历史双人在线互发延迟可感知为实时;历史可加载
G-04单账号避免多处同时登录造成混乱重复登录有明确提示且不影响先登录方

2.4 不在本期范围(Out of Scope)

编号说明
OOS-01群聊、聊天室广播
OOS-02语音、视频通话
OOS-03图片/文件消息(仅头像上传)
OOS-04消息撤回、编辑、@、表情商店
OOS-05服务端已读回执、多端同步策略
OOS-06手机号注册、短信验证码、第三方登录
OOS-07生产级安全(密码加密、HTTPS 强制)

3. 用户与角色

3.1 目标用户

  • 高校 JavaEE课设 / Web 实训学生(主场景)
  • 需要简易内网沟通的小团队

3.2 用户角色定义

角色 ID角色名描述权限概要
R-01访客未登录访问者仅登录页、注册页
R-02注册用户已完成注册并登录好友、会话、聊天、头像等全部 MVP 功能

3.3 用户画像(简要)

画像特征核心诉求
学生甲首次使用,无技术背景注册后能马上找到同学并聊天
学生乙多标签页、可能误开两个浏览器重复登录时有清晰提示,不丢先登录会话

4. 产品信息架构

轻聊 ├── 认证模块(注册 / 登录 / 退出) ├── 个人中心(头像、昵称展示) ├── 好友模块(列表 / 搜索 / 好友请求) ├── 会话模块(会话列表 / 创建会话) └── 消息模块(实时消息 / 历史消息 / 未读提示)

主界面入口:登录成功后进入client.html(主工作台)。


5. 用户故事(User Stories)

故事 ID作为…我希望…以便…优先级
US-01新用户注册账号使用轻聊P0
US-02注册用户登录系统进入聊天主界面P0
US-03注册用户退出登录账号可被其他设备登录P0
US-04注册用户上传头像在列表中被识别P1
US-05注册用户查看好友列表选择对象发起聊天P0
US-06注册用户搜索用户名并发送好友请求与非好友建立联系P0
US-07注册用户同意或拒绝好友请求控制我的好友关系P0
US-08注册用户查看会话列表及最后一条消息快速找到聊天对象P0
US-09注册用户与好友实时收发文字消息即时沟通P0
US-10注册用户查看历史聊天记录回顾此前内容P0
US-11注册用户看到未读消息数量知道哪些会话有新消息P1
US-12系统限制同账号重复登录避免状态错乱P0

6. 功能需求

需求编号规则FR-{模块}-{序号}
优先级:P0=必须上线,P1=重要,P2=可延后

6.1 认证与个人

FR-AUTH-001 用户注册 【P0】
说明
描述访客在注册页创建唯一用户名账号
前置条件
输入用户名、密码(均非空)
业务规则① 用户名全局唯一;② 密码本期明文存储(技术债,见 OOS-07)
成功结果提示注册成功,引导至登录页;系统创建用户记录
失败结果用户名重复时提示失败,不创建账号
异常/边界空字段由前端拦截,不允许提交
FR-AUTH-002 用户登录 【P0】
说明
描述注册用户凭用户名密码进入主界面
业务规则① 用户名+密码完全匹配方可登录;② 同一账号若已在其他浏览器保持登录或 WebSocket 在线,拒绝本次登录,提示「该账号已在其他地方登录,请勿重复登录」,不踢下线先登录方
成功结果进入主界面,保持登录态
失败结果凭证错误:提示检查用户名或密码;重复登录:展示明确文案
FR-AUTH-003 退出登录 【P0】
说明
描述用户主动退出,释放登录与实时连接
成功结果回到登录页;同账号可再次登录
FR-AUTH-004 登录态访问控制 【P0】
说明
描述未登录用户不得使用聊天主界面
规则直接打开主界面时,若未登录则跳转登录页
FR-USER-001 个人头像 【P1】
说明
描述用户可上传并展示自定义头像
业务规则① 仅支持 jpg/jpeg/png;② 单文件 ≤2MB;③ 仅能修改本人头像
成功结果主界面头像更新;好友侧可见(聊天/列表)
失败结果格式/大小/权限不符时给出明确原因

6.2 好友

FR-FRIEND-001 好友列表 【P0】
说明
描述展示当前用户已建立好友关系的用户
展示信息好友昵称、头像
交互点击好友进入聊天流程
空状态无好友时展示空列表,非报错
FR-FRIEND-002 搜索用户 【P0】
说明
描述按关键词模糊搜索用户名,用于添加好友
业务规则结果中不得包含:本人;已是好友;存在待处理好友请求(含我发出与对方发来)的用户
交互搜索关键词不可为空
FR-FRIEND-003 发送好友请求 【P0】
说明
描述向目标用户发起好友申请,可填写理由
业务规则不可添加自己;目标须存在;不可重复申请;不可向已是好友用户申请
成功结果提示已发送;对方在线时即时收到通知
失败结果返回可读失败原因(已是好友、重复请求等)
FR-FRIEND-004 处理好友请求 【P0】
说明
描述接收方对好友请求同意或拒绝
业务规则仅接收方可处理;同意后双方互为好友;拒绝则关系不建立
离线用户上线后应能看到离线期间收到的待处理请求
同意结果双方好友列表更新;双方收到「已成为好友」类通知

6.3 会话与消息

FR-SESSION-001 会话列表 【P0】
说明
描述展示用户参与的单聊会话
展示信息对方头像、昵称、最后一条消息摘要
业务规则同一好友在列表中只展示一条会话(去重)
排序有新消息的会话优先置顶(体验要求)
FR-SESSION-002 创建/进入会话 【P0】
说明
描述与好友发起或进入一对一聊天
业务规则两人之间已存在会话则复用,不重复创建
边界会话 ID 未就绪时不允许发送消息,需提示用户
FR-CHAT-001 实时文字消息 【P0】
说明
描述在会话中实时发送与接收文字消息
业务规则① 消息持久化保存;② 发送方界面即时看到自己发送内容;③ 对方在线时即时收到;④ 两人多条会话记录时,消息归入统一会话(避免分裂)
失败连接异常时提示用户刷新
FR-CHAT-002 历史消息 【P0】
说明
描述进入会话时加载历史聊天记录
业务规则单会话最多展示最近 100 条;按时间正序排列
展示自己与他人消息左右区分
FR-CHAT-003 未读提示 【P1】
说明
描述会话列表展示未读消息条数角标
业务规则① 收到他人消息且用户未正在该会话聊天界面时累计;② 用户进入该会话后清零;③ 用户停留在好友 Tab 或搜索页时仍累计
说明未读状态本期由前端维护,不要求多端同步

6.4 系统规则

FR-SYS-001 单点在线 【P0】
说明
描述同一账号在同一时刻仅允许一处有效 HTTP 登录与一条 WebSocket 连接
规则后发起的登录或 WebSocket 连接被拒绝,先登录方不受影响

7. 非功能需求(NFR)

编号类别需求描述验收口径
NFR-01性能常规局域网环境下,消息收发用户可感知为「即时」双人互发 10 条无肉眼可见分钟级延迟
NFR-02可用性核心操作有明确成功/失败反馈注册、登录、加好友、发消息均有提示
NFR-03兼容性支持 Chrome/Edge/Firefox 等现代浏览器测试矩阵内浏览器主流程通过
NFR-04可维护性后端分层清晰,便于二次开发符合 SRS 架构约束
NFR-05数据用户名≤20 字;单条消息≤2048 字超长由库表/接口约束
NFR-06安全本期为学校JavaEE课设原型,密码明文、无 HTTPS 强制文档声明,不纳入 V1.0 验收否决项

8. 界面与交互需求(UX)

8.1 页面清单

页面路径说明
登录页login.html品牌「轻聊」,用户名/密码,跳转注册
注册页register.html创建账号,返回登录
主工作台client.html左栏+右栏 IM 布局

8.2 主界面布局要求

区域要求
左栏顶部当前用户头像(可点击上传)、昵称、退出
左栏 Tab「会话」「好友」切换
左栏搜索关键词搜索用户
左栏列表会话项 / 好友项 / 好友请求项(请求置顶)
右栏聊天标题、消息区、输入框、发送按钮;或搜索结果区
弹窗好友请求:展示发起人、理由、同意/拒绝

8.3 交互原则

  • 布局与操作习惯参考网页版微信,降低学习成本。
  • 视觉风格:简洁、美观(视觉稿/CSS 可借助设计工具或 AI 辅助,由前端集成)。
  • 未读角标:红色数字,大于 0 显示。

OK,老铁们,我们知道我们项目的需求之后,后续我们开发就会参照这个需求进行有目标有方向的开发了。
那么通过这个需求文档,我们下一期将会遵照这个产品需求来制定出自己的开发需求,老铁们,咱们下一期见~

http://www.jsqmd.com/news/899772/

相关文章:

  • 拯救者 Y70 隐藏玩法!一键自定义充电样式,氛围感直接拉满
  • 逆向工程指点杆:从PTPM754DR引脚到自定义接口的实战解析
  • 告别默认安装:用RStudio 1.3.959 + R 3.0.1复现经典数据分析环境
  • 告别安装失败!手把手教你用CMD搞定Office 2016专业增强版激活(附一键转换脚本)
  • 从零搭建GD32F407 MDK工程:固件库配置与项目结构详解
  • taotokenapi密钥管理与访问控制功能实践体验
  • 6款论文降AIGC软件横评:AI率秒归安全区,学生党狂喜款 - 降AI小能手
  • 034、实例分割重叠粘连难以区分?Mask R-CNN 输出后处理与轮廓精修方案
  • 开发多智能体应用时利用Taotoken统一调度不同模型厂商
  • VM虚拟机黑苹果mac系统,解决ID登录问题
  • STM32F407驱动DHT22:从时序解析到稳定读取的嵌入式实践
  • 坐标注意力(Coordinate Attention):为轻量级网络注入精准定位能力
  • LuaJIT字节码逆向工程:专业反编译工具LJD深度解析指南
  • 时序解耦自编码器:用 β‑VAE 和 TCN 实现铣削刀具磨损的可解释异常检测
  • 0102【天尊法典】先进制程全域收敛实证:量子隧穿、漏电、发热三大死结 1.0实体范式永久无解论证
  • 大模型入门必看:小白程序员转岗AI Agent的完整学习路径,速收藏
  • QGIS新手必看:5种添加图层的方法,哪种最快?(附快捷键大全)
  • C语言程序设计作业题
  • 临近毕业4款降AI软件实测:哪个真的去ai痕迹,哪个是智商税
  • novel-downloader:全网小说下载终极方案,一站式解决离线阅读难题
  • 光伏CF-DAB转换器效率优化:最小RMS电流与ZVS的协同控制策略
  • 显著物体检测计算方法与其应用【附代码】
  • AI浪潮来袭!掌握大模型技能,小白也能月入过万,速收藏!
  • 组合导航 | 基于matlab的开源卫惯组合导航算法总结汇总
  • 2026年 硫化机厂家推荐榜单:实验型/抽真空/雨淋式冷却平板硫化机及300-600型号深度解析与实力厂家精选! - 品牌企业推荐师(官方)
  • C语言输入输出:新手必学的printf与scanf,学会就能写交互程序
  • 当Kafka遇上网络抖动:深入生产者重试、幂等与事务,如何真正实现“Exactly-Once”投递?
  • 2026年5月降AI软件避坑指南:4款工具知网维普AI率到10%以下
  • 卡梅德生物技术快报|镍柱纯化蛋白的原理:原核表达实操:融合蛋白构建与镍柱纯化蛋白的原理落地工艺
  • 别再只写测试步骤了!用CPAL这6个testcase函数,让你的自动化测试报告更专业