团队作业3
MINICHAT
| 成员 | 学号 |
|---|---|
| 林奕宏(组长) | 3123004449 |
| 麦凯翔(组长) | 3122004018 |
| 朱雅子 | 3223004823 |
| 连亨锴 | 3122003387 |
| 黄德俊 | 3123004437 |
| 黄海怡 | 3223004296 |
| 林晓楠 | 3123004448 |
一、需求与原型改进
1. 针对课堂讨论问题的修改
问题1:匿名性是否真的可靠?是否可能被追踪?
修改1:我们在需求中新增了“数据仅在服务器内存中暂存,不写入磁盘”的设计说明,并强调所有通信基于 TLS 加密传输。同时,明确房间销毁后立即释放内存,彻底消除聊天记录。
问题2:产品的使用场景是否足够广泛?目前用户分析是否考虑了社交场景?
修改2:我们在用户分析中补充了“嵌入匿名交友APP,临时速配聊天”等社交场景,并扩展用户类型,加入“交友应用用户”,强调他们对匿名性和便捷性需求更高。
问题3:界面交互是否足够清晰?用户初次使用是否容易迷路?
修改3:我们更新了原型设计,优化了房间创建流程,增加引导动画与帮助提示。首次使用时会展示简洁的“开始聊天”引导页面。
2. 加分部分:与目标用户沟通理解需求
我们对三类目标用户进行了原型展示与访谈:
- 技术用户(软件工程专业同学):反馈“部署流程确实简单”,希望添加 WebSocket 报错提示以便调试。
- 普通用户(室友):她们认为输入昵称直接聊天的方式很方便,但希望有“换昵称”功能,避免在不同房间使用重复昵称。
- 交友APP目标用户(通过问卷调查收集):他们反馈希望“能够私聊”,但明确表示“不希望保存聊天记录”,强调隐私是第一需求。
二、修改完善需求规格说明书
1. 项目简介
- 目标:极简部署、极轻运行、高度匿名性、零数据留痕
- 使用场景:公司内部沟通、匿名交友、临时敏感讨论等
2. 典型用户与场景(User Story)
小黄是一名市场人员,她突然想到一个绝佳的点子,于是决定和公司高层共同商讨出一份私密的的推广计划。她打开 MiniChat,用“推广小组”为房间命名,并设置密码。参会人员均需通过密码才能进入群聊。聊天过程中他们畅所欲言,不担心聊天记录被泄露。会后大家退出房间,数据立即消失,一份推广计划雏形只经值得信赖的合作伙伴之手就诞生了。
3. 功能需求
| 模块 | 功能描述 |
|---|---|
| 房间管理 | 动态创建房间、销毁房间、房间密码 |
| 消息处理 | WebSocket 实时广播、消息加密、临时内存缓存 |
| 用户管理 | 昵称设置、用户进入退出提示 |
| 安全保护 | 聊天内容不保存、用户不留痕、禁止历史回溯 |
| UI设计 | Web端+手机端适配、简洁清晰、引导使用流程 |
4. 功能优先级分析(功能象限)
| 高重要性 | 低重要性 | |
|---|---|---|
| 高紧急性 | 房间管理、消息加密 | UI适配优化 |
| 低紧急性 | 用户提示 | 私聊、昵称修改功能 |
三、系统设计
1. 架构设计(后端 + 前端)
- 前端采用 Vue + WebSocket 实现实时通信与简单的 UI 控制;
- 后端采用 Go + Gorilla WebSocket 构建 API 与服务端房间逻辑;
- 使用 Docker 一键部署,支持单文件二进制运行;
- 架构分为三层:前端展示层、服务逻辑层、内存消息层。
2. 数据库设计(ER 图)


四、Alpha 阶段任务分解与迭代计划
1. 功能选取(Product Backlog)
| 功能模块 | 状态 |
|---|---|
| 房间动态创建与销毁 | 4天 |
| 消息实时广播 | 2天 |
| 房间密码功能 | 1天 |
| 私聊功能 | 延后迭代 |
2.任务分解(Sprint Backlog)
| 任务项 | 估时 | 认领人 |
|---|---|---|
| 房间后端逻辑编写 | 5h | 后端A |
| WebSocket 服务搭建 | 4h | 后端B |
| 数据库设计 | 2h | 后端B |
| 数据库连接 | 1h | 后端A |
| 实时广播后端 | 2h | 后端A |
| 前端房间界面设计 | 6h | 前端A |
| 引导界面设计 | 3h | 前端B |
| 实时广播前端B | 2h | 前端B |
3. 甘特图

五、测试计划
1. 测试内容
| 测试项 | 目标 | 负责人 |
|---|---|---|
| 1功能测试 | 房间创建、进入、消息发送 | 测试A |
| 2安全测试 | 房间密码校验、消息不保留 | 测试B |
| 3 UI测试 | 响应式界面 | 前端A |
| 4压力测试 | 支持高并发用户连接 | 后端B |
2.预计用时
- 测试1需在ALPHA阶段完成
- 测试2预计耗时2天
- 测试3预计耗时2天
- 测试4预计耗时1天
3. 测试方法与资源
- 使用 Postman 测试接口
- 使用 Chrome DevTools 模拟不同终端
- 使用 Locust 模拟高并发

浙公网安备 33010602011771号