团队作业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 模拟高并发
posted @ 2025-04-22 18:36  hihuang  阅读(69)  评论(0)    收藏  举报