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