# 需求规格说明书(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 人场景下稳定传递。 - 消息能在弱网环境下重试并成功送达。