团队作业2-《需求规格说明书》
SparrowShortLink - 麻雀短链生成系统
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业要求在哪里 | 作业链接 |
| 这个作业的目标 | 团队协作与沟通、代码规范与项目设计管理 |
1. 项目概述
SparrowShortLink —— 您的智能轻量级URL管理专家,致力于将冗长复杂的网络地址转化为优雅精炼的短链,赋予链接更多可能性。无论是提升传播效率、强化品牌形象,还是深度洞察用户行为,SparrowShortLink以极简的设计理念与强大的功能内核,重新定义链接管理的价值。
1.1. 核心特性
🔹 智能压缩引擎
一键将冗长URL转化为简洁短链(如 sparrow.cn/yourbrand),适配多场景传播需求,突破字符限制,提升用户点击意愿。
🔹 品牌化定制
支持自定义短链后缀(如 sparrow.cn/yourname),无缝融入企业VI或个人IP,让每一次跳转都成为品牌曝光的契机。
🔹 数据罗盘
实时追踪短链的点击量、地域分布、设备类型及访问时段,生成可视化报表,助您精准分析用户行为,优化运营策略。
🔹 全场景交互
零门槛控制台,无需技术背景,3分钟完成短链创建与管理。
🔹 安全与弹性
基于容器化微服务架构与多重加密策略,保障业务连续性与数据隐私,支持亿级并发访问,轻松应对流量洪峰。
1.2. 痛点直击
作为热衷技术分享的开源爱好者,您是否常陷入以下困境?
🔸 传播之困
- 技术博客、开源项目文档中的长链接在Twitter推文或技术论坛中“霸屏”,影响内容可读性与分享效率。
- 临时生成的测试链接因无法撤回,导致敏感信息长期暴露于公网,埋下安全隐患。
🔸 数据黑洞
- 分享GitHub项目或个人作品集后,无法知晓链接的实际触达效果,难以评估内容影响力。
- 推广技术课程或工具时,缺乏用户行为数据支撑,优化策略如“盲人摸象”。
1.3. 解决方案价值
SparrowShortLink专为技术社区量身打造,赋予您三大核心能力:
- 掌控力
-
- 短链生命周期可配置:支持设置访问次数上限或自动失效时间,实现“链生即控,过时即焚”。
- 紧急场景下,可一键禁用短链,阻止恶意爬取或误操作扩散。
- 洞察力
-
- 实时监控短链点击热力图,识别高价值用户群体(如硅谷工程师、开源贡献者)。
- 结合UTM参数,追踪不同渠道(如GitHub、Reddit)的转化效果,优化技术内容分发策略。
- 品牌力
-
- 为个人技术博客或开源项目定制专属短链域名(如
yourname.dev),提升专业形象。 - 通过短链跳转页嵌入技术社区入口(如Discord频道),构建开发者生态闭环。
- 为个人技术博客或开源项目定制专属短链域名(如
1.4. 技术情怀
每一位开发者都是信息的雕塑者。
SparrowShortLink不仅是一行缩短的代码,更是您技术影响力的放大器——让每一次分享可追溯、可量化、可迭代。无论是推广开源项目、沉淀技术博客,还是运营开发者社区,短链的每一次跳转,都是价值传递的见证。
您值得拥有的不止是短链,更是数据驱动的技术人生。
🚀 立即体验,让智慧链接未来!
2. 功能需求
2.1 核心功能
- 短链生成:支持一键生成短链,允许用户自定义短链别名。
- 数据追踪:记录短链访问数据,包括访问次数、来源、设备类型等。
- 安全管理:提供密码访问、有效期控制、IP 限制等安全策略。
- 高并发支持:优化存储架构和缓存策略,支持大规模短链访问。
2.2 额外功能
- 批量短链生成:支持一次性创建多个短链。
- 访问统计分析:提供可视化分析工具,支持数据导出。
3. 技术架构
3.1 后端技术栈
- Spring Boot:提供 RESTful API 服务。
- MySQL / Redis:存储短链映射关系及缓存优化。
- Spring Security + JWT:身份认证与权限管理。
- RocketMQ / Kafka:支持日志跟踪及异步任务处理。
- Docker:提供容器化部署支持
3.2 前端技术栈
- 框架:React
- UI:Antd
- 状态管理:zustand
- 远程状态管理:Tanstack query
- HTTP请求:Axios
4. 预期用户数量
预计支持 1000+ 活跃用户,优化架构以支持更大规模并发访问。
5. 系统分析
5.1 真实性
本系统的短链服务依赖于可靠的数据库存储和缓存策略,所有生成的短链均唯一且可追溯。
5.2 可用性
- 采用高可用架构,保证系统稳定运行。
- 具备良好的 UI 设计,提高用户操作体验。
5.3 价值所在
- 提供高效稳定的短链管理工具,提高链接管理效率。
- 适用于个人、企业及开发者,满足不同使用需求。
- 通过品牌化短链增强品牌影响力,优化营销推广效果。
6. 团队信息
6.1 码云项目链接
6.2 团队任务计划
所有团队任务均已创建在 Issues,包括需求拆解、开发任务、测试计划等。

6.3 团队项目时间安排
| 时间 | 安排 |
|---|---|
| 第 6 周 | 1.团队组队、团队博客 |
| 2.团队介绍、成员展示、角色分配、选题确定 | |
| 3.制定团队计划安排,团队贡献分的规定 | |
| 第7周 | 1.需求规格说明书 |
| 2.原型设计,队员估计任务难度并学习必要的技术 | |
| 3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
| 第8周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
| 2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
| 3.测试计划 | |
| 第9、10周 | 1. 团队项目Alpha任务分配计划 |
| 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
| 第11周 | 1.用户反馈+测试计划改进 |
| 2. 团队Alpha阶段个人总结 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
| 第12周 | 1. 团队项目Alpha博客:事后分析 |
7. 团队分工
| 团队成员 | 主要负责内容 |
|---|---|
| 张逸壕 | 运维、需求分析、API 设计 |
| 林梓维 | 后端开发 |
| 韩佳鑫 | 后端开发 |
| 王瑞 | 后端开发、运维 |
| 李秉泉 | 接口测试 |
| 许婉婷 | 前端开发、UI 设计 |
| 莫晓淇 | 前端开发、UI 设计 |
8. 个人完成情况及感想
- 张逸壕: 完成数据库设计、框架搭建,通过本次开发,学习了很多
- 莫晓淇: 完成部分前端页面搭建,通过本次开发,学习了如何与他人合作完成一个项目,巩固了所学前端技术栈
- 林梓维:完成用户模块和标签模块,通过本次开发,巩固了相关知识,团队协作能力得到提升
- 韩佳鑫: 完成安全和日志管理模块设计,通过本次开发,巩固了日志管理技术和安全技术的学习
- 许婉婷: 完成了前端部分页面的搭建,通过本次开发,学习巩固了相关知识,提升了我的团队沟通合作能力
- 王瑞: 构思短链重定向接口,学习了http的相关协议。
- 李秉泉: 计划测试的形式,了解相关网络传输协议用于测试所需。

浙公网安备 33010602011771号