团队作业2 -《需求规格说明书》
一、🚀 需求规格说明书
1.1 项目描述
- 产品名称:MiniChat
- 开发目标:提供一种轻量化、无痕、高隐私保护的临时匿名聊天服务,适用于各类敏感话题讨论场景。
- 核心价值:
- 良好的匿名特性、安全隐私特性,数据只在服务器内存中毫秒级短暂中转不留痕
- 无需用户身份认证,彻底消除数字痕迹
- 轻量化、能做到极简部署
1.2 面向用户分析
用户类型 | 使用场景 | 核心需求 |
---|---|---|
👤普通用户 | 临时性敏感话题讨论(如商业机密、隐私交流) | 匿名性、数据安全性、操作便捷性 |
💻技术用户 | 私有化部署用于团队内部沟通 | 自定义配置、轻量化部署、服务稳定性 |
🛡️安全敏感用户 | 法律/医疗等需严格保密行业的信息传递 | 合规性、端到端隐私保护、无审计痕迹 |
1.3 功能性需求
模块 | 功能描述 |
---|---|
🔑房间管理 | - 动态房间创建/销毁 - 房间密码保护 |
📨 消息处理 | - 消息实时广播 - 消息内存队列暂存 - 消息加密传输 |
👥用户管理 | - 用户生成 - 用户进出事件通知 |
1.4 技术需求
- 前端:Vue、HTML、CSS、JavaScript
- 后端:Go、Docker
二、📊 预期用户量
作为聊天工具,我们预期用户量为10000
三、📈 核心价值分析
维度 | 关键特性 |
---|---|
✅真实性 | - 技术透明:开源代码可审计 - 隐私保护:数据只在服务器内存中毫秒级短暂中转不留痕 - 安全机制:房间密码校验 |
🔄可用性 | - 零配置部署:单文件二进制/Docker极简运行 - 自动容错:房间动态创建销毁 |
💎核心价值 | - 隐私场景:敏感讨论、临时会议 - 技术优势:内存占用小,极轻极简 |
四、👥 团队相关
4.1 Github仓库
https://github.com/lin-snow/MiniChat
4.2 项目issues截图
4.3 时间安排表
原时间表:
时间 | 事项 |
---|---|
第5周 | 1.团队组队、团队博客 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第6周 | 1.进行需求分析,编写需求文档 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
4.开发人员确立前后端接口文档 | |
第7周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.制定测试计划 | |
第8、9周 | 1. 团队项目 Alpha 任务分配计划 |
2. 连续7天的 Alpha 敏捷冲刺,7 篇 每日 Scrum Meeting 博客+代码提交 | |
第10周 | 1.用户反馈 + 测试计划改进 |
2. 团队 Alpha 阶段个人总结 | |
3. 团队项目 Alpha 博客:发布说明、测试报告、展示博客、项目管理 | |
第11周 | 1. 团队项目 Alpha 博客:事后分析 |
校正后:
时间 | 事项 |
---|---|
第6周 | 1.团队组队、团队博客 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第7周 | 1.进行需求分析,编写需求文档 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
4.开发人员确立前后端接口文档 | |
第8周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.制定测试计划 | |
第9、10周 | 1. 团队项目 Alpha 任务分配计划 |
2. 连续7天的 Alpha 敏捷冲刺,7 篇 每日 Scrum Meeting 博客+代码提交 | |
第11周 | 1.用户反馈 + 测试计划改进 |
2. 团队 Alpha 阶段个人总结 | |
3. 团队项目 Alpha 博客:发布说明、测试报告、展示博客、项目管理 | |
第12周 | 1. 团队项目 Alpha 博客:事后分析 |
矫正计算方法:调整后周数 = 原计划周数 + 延迟周数
基于团队技术栈与项目质量优先的原则,根据团队分工与技术整合、项目需求分析等实际情况综合决定延迟周数
4.4 团队分工
职责 | 参与人员 |
---|---|
🖥️前端开发 | 朱雅子、林奕宏 |
⚙️后端开发 | 连亨锴、麦凯翔 |
🐳运维 | 黄德俊 |
🔍仓库管理兼代码审查 | 林奕宏 |
📚文档管理 | 林晓楠、黄海怡 |
4.5 个人情况
林奕宏
- 完成情况:作为团队的仓库管理和前端开发负责人,我负责了项目的代码版本控制、依赖管理,并确保了代码仓库的规范性和高效性。针对前端部分,我参与了整个界面的设计与实现,确保前端与后端的有效对接,并优化了用户体验。我与团队成员紧密合作,协调了代码的合并与更新,确保项目顺利进行。
- 感想:在这次项目中,我不仅学到了如何在团队中更好地协作,尤其是在仓库管理和前端开发方面,还深入理解了前端与后端协同开发的流程。
麦凯翔
- 完成情况:设计了后端API接口,初步构建了聊天框架及其功能。
- 感想:通过这个项目,学到了web开发技能,学会了和队友合作进行项目开发。
朱雅子
- 完成情况:目前我已完成部分网页前端组件的搭建与配置工作,同时阅读了团队成员提交的代码。
- 感想:通过代码阅读,感受到大家在模块化设计和功能逻辑分层上思路清晰,部分代码规范性和复用性值得我学习。这次协作让我更深刻体会到及时沟通和代码风格统一的重要性,后续我会结合项目整体需求协助完成前后端集成工作。
连亨锴
- 完成情况:作为负责后端开发的一员,我主要参与了以下工作:
服务端接口设计:根据前后端交互的需求,设计并实现了后端API接口。
聊天功能设计:初步构建了聊天框架及其功能 - 感想:在开发过程中,我深刻体会到合作的重要性。每个人的努力和贡献都是不可或缺的。同时通过这个项目,我也学到了很多新的知识和技能,尤其是在如何高效地进行团队协作方面有了很大的提升。
黄德俊
- 完成情况:利用Docker、实现初步部署。以轻量化手段保障高并发下的安全无痕体验。
- 感想:这段时间的学习让我对Go应用的资源监控、容器网络配置等技能有了系统性提升。在团队开发合作中,这让我意识到,运维是串联产品、开发、测试的纽带。同时也深刻体会到技术协作与业务目标结合的重要性。
黄海怡
- 完成情况:完成了产品的方向确定文档并参与撰写博客。
- 感想:团队分工合作使项目推进变得清晰简单,作为pm只需要专注在产品分析设计、撰写文档上,使我对产品有了许多想法与启发
林晓楠
- 完成情况:完成了文档的排版和部分文档内容撰写,准备了文档模板
- 感想:在团队项目中,文档的标准化和协同编写让我深刻体会到沟通对齐的重要性,这与个人项目的模式截然不同。通过版本管理和模板设计,确保了信息在跨角色协作中的一致性。