This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
需求规格说明书(SRS)
1. 项目背景
-
项目目标:
本项目旨在实现一个类似 QQ 的即时通讯系统,提供用户注册、好友聊天、群聊、文件传输等核心功能。
- 使用场景:学习练手 + 内部小团队沟通工具。
-
项目范围:
学习项目
-
业务价值:
学习项目
2. 用户需求
- 普通用户:注册、登录、聊天、加好友
- 管理员:封禁违规账号、管理群聊
- 使用场景:1v1 聊天、群聊、发送文件、发送表情/图片等
3. 功能需求
-
3.1 账号系统
- F-1 用户注册:支持手机号/邮箱注册,需验证唯一性。
- F-2 用户登录:支持账号+密码、Token 鉴权。
- F-3 用户资料:可修改头像、昵称、个性签名。
3.2 好友系统
- F-4 添加好友:通过账号/手机号搜索并申请。
- F-5 好友请求:系统通知对方,同意/拒绝。
- F-6 删除好友、拉黑。
3.3 消息系统
- F-7 单聊:支持文本、表情、图片、文件。
- F-8 群聊:支持多人实时消息。
- F-9 消息状态:已发送、已送达、已读(暂时只在数据库层面标记已读,不显示在客户端)。
- F-10 消息管理:撤回、删除、搜索历史记录。
3.4 群聊功能
- F-11 创建群聊:指定群名称,邀请成员。
- F-12 群管理:踢人、设管理员、发布公告。
- F-13 群人数上限:本期 500 人。
3.5 系统通知
- F-14 好友申请通知。
- F-15 群邀请通知。
- F-16 新消息推送(WebSocket)。
4. 非功能需求
- 实时性:消息延迟 ≤ 1 秒
- 并发性:单群支持 ≥ 500 人在线聊天
- 安全性:消息加密传输(WebSocket + TLS)
- 可扩展性:后端支持水平扩展(分布式 IM 服务器) 此条暂不要求
5. 约束与假设
- 本期仅支持 Web 端(PC + H5),移动端后续开发
- 音视频通话仅提供基础功能,不做美颜、录屏
6.验收标准
- 两个用户能互加好友并聊天。
- 群聊消息在 500 人场景下稳定传递。
- 消息能在弱网环境下重试并成功送达。