团队作业3--需求改进&系统设计

  • SparrowShortLink - 麻雀短链生成系统

    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业链接
    这个作业的目标 团队协作与沟通、代码规范与项目设计管理

    一、需求 & 原型改进

    • 问题1:系统安全机制是否足够完善?是否考虑到恶意攻击(如暴力破解短链)?

      • 修改1:在短链生成逻辑中新增访问频次统计模块,结合IP地址和访问频率,加入恶意请求识别机制;在短链跳转前添加一次性校验逻辑。
    • 问题2:短链访问日志缺少浏览器类型和操作系统字段,影响用户行为分析深度

      • 修改1:在access_log表中新增browser_typeos_type字段,优化用户画像维度。

    1. 用户访谈与原型展示

    • 目标用户:学生

    • 调研手段:面对面访谈

    • 用户痛点

      • 分享链接太长,点击率低
      • 缺乏链接访问数据统计
      • 不知道哪些链接是安全可信的
    • 使用前 VS 使用后场景描述

      • 使用前:长链接转发,链接太长,视觉杂乱,没人愿意点。
      • 使用后:生成短链 sparrow.xyz/gdutopen, 点击量增加,且可追踪数据。

    2. 需求规格说明书改进

    • 增加了 用户角色描述(访客/注册用户/管理员)以及其权限边界。
    • 对于 短链统计功能 描述更加明确,统计数据维度包括:UV(唯一用户数)、设备来源、地域分布、跳转时间、浏览器类型、操作系统等。
    • 完善了 邮件验证码模块 的流程,确保邮箱验证机制完善,防止恶意注册。

    3. 功能四象限分析

    高优先级 低优先级
    高实现难度 数据分析仪表盘、恶意访问防护机制 活动自动化推荐系统
    低实现难度 短链生成、短链管理页面 深色模式、用户徽章成就系统

    4. 调整后的WBS及项目进度计划

    4.1. 后端主要模块及负责人:

    模块 负责人 时间估计
    短链管理模块 王瑞 8天
    用户模块 林梓维 6天
    安全日志模块、数据追踪模块 韩佳鑫 10天
    标签模块 李秉泉 6天
    框架搭建+项目部署+运维 张逸壕 14天

    4.2. 前端主要模块及负责人:

    模块 负责人 时间估计
    用户模块 许婉婷 13天
    框架搭建+短链管理 莫晓淇 13天

    二、系统设计

    1. 系统架构设计(10分)

    • Spring Boot 构建MVC架构,分层设计(Controller/Service/Repository)
    • React 前端nginx独立部署,与后端接口交互
    • 使用 JWT实现鉴权体系
    • 日志系统使用 ELK 堆栈集中管理访问日志与行为日志
    • 高并发处理机制:RocketMQ 消息异步、Redis 缓存处理、Nginx 负载均衡

    2. 数据库设计

    核心表包括:

    • user 用户表
    • url_relate 短链信息表
    • access_log 短链访问记录表
    • url_tag 标签表

    3. 模块划分

    模块划分:

    • 用户模块
    • 短链管理模块
    • 安全日志模块
    • 数据追踪模块
    • 标签模块

    4. 安全机制设计

    • AES 对称加密存储密码
    • JWT + Redis 实现 Session 控制
    • 自定义注解 + AOP 实现接口权限校验
    • 针对暴力请求进行IP限流(Redis + Lua 脚本)

    三、Alpha任务分配计划

    1. 功能项选择与优先级

    优先实现功能:

    • 短链生成与跳转
    • 登录注册与邮箱验证码
    • 短链列表管理
    • 数据统计展示
    • ELK 日志系统集成

    2. Sprint Backlog

    由各模块负责人认领

    2.1. 后端

    任务编号 功能项 任务描述 时间估算
    1 用户模块 用户登录接口开发 8小时
    2 用户模块 用户注册接口开发 6小时
    3 用户模块 修改密码接口开发 6小时
    4 用户模块 发送邮箱验证码接口开发 4小时
    5 用户模块 找回密码接口开发 8小时
    6 用户模块 获取用户信息接口开发 6小时
    7 短链管理模块 短链生成接口开发 8小时
    8 短链管理模块 短链列表接口开发 6小时
    9 短链管理模块 短链访问控制接口开发 6小时
    10 短链管理模块 短链私密性控制接口开发 8小时
    11 数据追踪模块 短链点击统计接口开发 8小时
    12 数据追踪模块 短链访问时段统计接口开发 6小时
    13 数据追踪模块 设备类型统计接口开发 6小时
    14 数据追踪模块 地域分布统计接口开发 8小时
    15 标签模块 创建标签接口开发 4小时
    16 标签模块 获取标签接口开发 4小时
    17 标签模块 删除标签接口开发 4小时
    18 安全日志模块 记录访问日志接口开发 6小时
    19 安全日志模块 集成ELK日志系统 8小时

    2.2. 前端

    任务编号 功能项 任务描述 时间估算
    1 用户模块 搭建用户登陆注册页面 10小时
    2 用户模块 用户信息管理 10小时
    3 标签模块 标签管理功能 8小时
    4 短链管理模块 搭建页面负责管理短链的相关功能 15小时

    四、测试计划

    测试策略:

    • 单元测试(JUnit + Mockito)
    • 接口测试
    • 前后端联调测试
    • 用户体验测试(用户任务完成率、点击反馈)
posted @ 2025-04-21 15:03  十曜  阅读(65)  评论(0)    收藏  举报